Skip site navigation (1)Skip section navigation (2)
Date:      Fri,  8 Jul 2011 18:11:55 +0800 (CST)
From:      Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        girgen@FreeBSD.org
Subject:   ports/158727: [PATCH] databases/p5-postgresql-plperl: fix build with Perl 5.14
Message-ID:  <20110708101155.23AC258BD@sunpoet.net>
Resent-Message-ID: <201107081020.p68AK1Cr048253@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         158727
>Category:       ports
>Synopsis:       [PATCH] databases/p5-postgresql-plperl: fix build with Perl 5.14
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jul 08 10:20:00 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Sunpoet Po-Chuan Hsieh
>Release:        FreeBSD 8.2-STABLE amd64
>Organization:
The FreeBSD Project
>Environment:
System: FreeBSD bonjour.sunpoet.net 8.2-STABLE FreeBSD 8.2-STABLE #0: Mon Jun 20 21:52:00 CST 2011
>Description:
- Fix 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.

Port maintainer (girgen@FreeBSD.org) is cc'd.

Generated with FreeBSD Port Tools 0.99
>How-To-Repeat:
>Fix:

--- p5-postgresql-plperl.patch begins here ---
Index: ports/databases/postgresql82-server/files/patch-src-plperl-plperl
===================================================================
RCS file: ports/databases/postgresql82-server/files/patch-src-plperl-plperl
diff -N ports/databases/postgresql82-server/files/patch-src-plperl-plperl
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ports/databases/postgresql82-server/files/patch-src-plperl-plperl	8 Jul 2011 07:23:06 -0000
@@ -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);
Index: ports/databases/postgresql83-server/files/patch-src-plperl-plperl
===================================================================
RCS file: ports/databases/postgresql83-server/files/patch-src-plperl-plperl
diff -N ports/databases/postgresql83-server/files/patch-src-plperl-plperl
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ports/databases/postgresql83-server/files/patch-src-plperl-plperl	8 Jul 2011 07:23:07 -0000
@@ -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);
Index: ports/databases/postgresql84-server/files/patch-src-plperl-plperl
===================================================================
RCS file: ports/databases/postgresql84-server/files/patch-src-plperl-plperl
diff -N ports/databases/postgresql84-server/files/patch-src-plperl-plperl
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ports/databases/postgresql84-server/files/patch-src-plperl-plperl	8 Jul 2011 07:23:09 -0000
@@ -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);
Index: ports/databases/postgresql90-server/files/patch-src-plperl-plperl
===================================================================
RCS file: ports/databases/postgresql90-server/files/patch-src-plperl-plperl
diff -N ports/databases/postgresql90-server/files/patch-src-plperl-plperl
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ports/databases/postgresql90-server/files/patch-src-plperl-plperl	8 Jul 2011 07:23:10 -0000
@@ -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 *);
--- p5-postgresql-plperl.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110708101155.23AC258BD>