ports/databases/postgresql84-server/files/patch-src-plperl-plperl
Sunpoet Po-Chuan Hsieh 3903a44e88 - 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)
2011-08-14 01:32:13 +00:00

28 lines
973 B
Text

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);