diff options
author | sunpoet <sunpoet@FreeBSD.org> | 2011-08-14 09:32:13 +0800 |
---|---|---|
committer | sunpoet <sunpoet@FreeBSD.org> | 2011-08-14 09:32:13 +0800 |
commit | 387ec667fc17ba9f6b90087e8dc9ba021df78139 (patch) | |
tree | a796a33855a1a07728efab1a1f5dab9d16f64f4b | |
parent | 972d01576475cf2108c8feaf27f4e873bca0cd9b (diff) | |
download | freebsd-ports-gnome-387ec667fc17ba9f6b90087e8dc9ba021df78139.tar.gz freebsd-ports-gnome-387ec667fc17ba9f6b90087e8dc9ba021df78139.tar.zst freebsd-ports-gnome-387ec667fc17ba9f6b90087e8dc9ba021df78139.zip |
- Fix databases/p5-postgresql-plperl build with Perl 5.14
This patch is for PostgreSQL 8.2, 8.3, 8.4 and 9.0.
PostgreSQL 9.1 has it already.
PR: ports/158727
Submitted by: sunpoet (myself)
Approved by: girgen (maintainer timeout, 5 weeks)
4 files changed, 112 insertions, 0 deletions
diff --git a/databases/postgresql82-server/files/patch-src-plperl-plperl b/databases/postgresql82-server/files/patch-src-plperl-plperl new file mode 100644 index 000000000000..4edb469a73d4 --- /dev/null +++ b/databases/postgresql82-server/files/patch-src-plperl-plperl @@ -0,0 +1,28 @@ +Obtained from: http://archives.postgresql.org/pgsql-hackers/2011-04/msg01283.php +Reference: http://search.cpan.org/~jesse/perl-5.14.0/pod/perldelta.pod#GvCV()_and_GvGP()_are_no_longer_lvalues + +--- src/pl/plperl/plperl.c.orig 2011-04-15 11:15:53.000000000 +0800 ++++ src/pl/plperl/plperl.c 2011-05-19 20:39:34.126713700 +0800 +@@ -687,7 +687,7 @@ + if (!isGV_with_GP(sv) || !GvCV(sv)) + continue; + SvREFCNT_dec(GvCV(sv)); /* free the CV */ +- GvCV(sv) = NULL; /* prevent call via GV */ ++ GvCV_set(sv, NULL); /* prevent call via GV */ + } + hv_clear(stash); + +--- src/pl/plperl/plperl.h.orig 2011-04-15 11:15:53.000000000 +0800 ++++ src/pl/plperl/plperl.h 2011-05-19 20:39:34.127713548 +0800 +@@ -43,6 +43,11 @@ + #undef bool + #endif + ++/* supply GvCV_set if it's missing - ppport.h doesn't supply it, unfortunately */ ++#ifndef GvCV_set ++#define GvCV_set(gv, cv) (GvCV(gv) = cv) ++#endif ++ + /* routines from spi_internal.c */ + int spi_DEBUG(void); + int spi_LOG(void); diff --git a/databases/postgresql83-server/files/patch-src-plperl-plperl b/databases/postgresql83-server/files/patch-src-plperl-plperl new file mode 100644 index 000000000000..fc67e6e82be5 --- /dev/null +++ b/databases/postgresql83-server/files/patch-src-plperl-plperl @@ -0,0 +1,28 @@ +Obtained from: http://archives.postgresql.org/pgsql-hackers/2011-04/msg01283.php +Reference: http://search.cpan.org/~jesse/perl-5.14.0/pod/perldelta.pod#GvCV()_and_GvGP()_are_no_longer_lvalues + +--- src/pl/plperl/plperl.c.orig 2011-04-15 11:15:53.000000000 +0800 ++++ src/pl/plperl/plperl.c 2011-05-19 20:39:34.126713700 +0800 +@@ -685,7 +685,7 @@ + if (!isGV_with_GP(sv) || !GvCV(sv)) + continue; + SvREFCNT_dec(GvCV(sv)); /* free the CV */ +- GvCV(sv) = NULL; /* prevent call via GV */ ++ GvCV_set(sv, NULL); /* prevent call via GV */ + } + hv_clear(stash); + +--- src/pl/plperl/plperl.h.orig 2011-04-15 11:15:53.000000000 +0800 ++++ src/pl/plperl/plperl.h 2011-05-19 20:39:34.127713548 +0800 +@@ -43,6 +43,11 @@ + #undef bool + #endif + ++/* supply GvCV_set if it's missing - ppport.h doesn't supply it, unfortunately */ ++#ifndef GvCV_set ++#define GvCV_set(gv, cv) (GvCV(gv) = cv) ++#endif ++ + /* routines from spi_internal.c */ + int spi_DEBUG(void); + int spi_LOG(void); diff --git a/databases/postgresql84-server/files/patch-src-plperl-plperl b/databases/postgresql84-server/files/patch-src-plperl-plperl new file mode 100644 index 000000000000..ea959506353a --- /dev/null +++ b/databases/postgresql84-server/files/patch-src-plperl-plperl @@ -0,0 +1,28 @@ +Obtained from: http://archives.postgresql.org/pgsql-hackers/2011-04/msg01283.php +Reference: http://search.cpan.org/~jesse/perl-5.14.0/pod/perldelta.pod#GvCV()_and_GvGP()_are_no_longer_lvalues + +--- src/pl/plperl/plperl.c.orig 2011-04-15 11:15:53.000000000 +0800 ++++ src/pl/plperl/plperl.c 2011-05-19 20:39:34.126713700 +0800 +@@ -700,7 +700,7 @@ + if (!isGV_with_GP(sv) || !GvCV(sv)) + continue; + SvREFCNT_dec(GvCV(sv)); /* free the CV */ +- GvCV(sv) = NULL; /* prevent call via GV */ ++ GvCV_set(sv, NULL); /* prevent call via GV */ + } + hv_clear(stash); + +--- src/pl/plperl/plperl.h.orig 2011-04-15 11:15:53.000000000 +0800 ++++ src/pl/plperl/plperl.h 2011-05-19 20:39:34.127713548 +0800 +@@ -43,6 +43,11 @@ + #undef bool + #endif + ++/* supply GvCV_set if it's missing - ppport.h doesn't supply it, unfortunately */ ++#ifndef GvCV_set ++#define GvCV_set(gv, cv) (GvCV(gv) = cv) ++#endif ++ + /* routines from spi_internal.c */ + int spi_DEBUG(void); + int spi_LOG(void); diff --git a/databases/postgresql90-server/files/patch-src-plperl-plperl b/databases/postgresql90-server/files/patch-src-plperl-plperl new file mode 100644 index 000000000000..6f84a60e950d --- /dev/null +++ b/databases/postgresql90-server/files/patch-src-plperl-plperl @@ -0,0 +1,28 @@ +Obtained from: http://archives.postgresql.org/pgsql-hackers/2011-04/msg01283.php +Reference: http://search.cpan.org/~jesse/perl-5.14.0/pod/perldelta.pod#GvCV()_and_GvGP()_are_no_longer_lvalues + +--- src/pl/plperl/plperl.c.orig 2011-04-15 11:15:53.000000000 +0800 ++++ src/pl/plperl/plperl.c 2011-05-19 20:39:34.126713700 +0800 +@@ -874,7 +874,7 @@ + if (!isGV_with_GP(sv) || !GvCV(sv)) + continue; + SvREFCNT_dec(GvCV(sv)); /* free the CV */ +- GvCV(sv) = NULL; /* prevent call via GV */ ++ GvCV_set(sv, NULL); /* prevent call via GV */ + } + hv_clear(stash); + +--- src/pl/plperl/plperl.h.orig 2011-04-15 11:15:53.000000000 +0800 ++++ src/pl/plperl/plperl.h 2011-05-19 20:39:34.127713548 +0800 +@@ -42,6 +42,11 @@ + #undef bool + #endif + ++/* supply GvCV_set if it's missing - ppport.h doesn't supply it, unfortunately */ ++#ifndef GvCV_set ++#define GvCV_set(gv, cv) (GvCV(gv) = cv) ++#endif ++ + /* declare routines from plperl.c for access by .xs files */ + HV *plperl_spi_exec(char *, int); + void plperl_return_next(SV *); |