diff --git a/postgresql-perl-5.14.patch b/postgresql-perl-5.14.patch new file mode 100644 index 0000000..c205c1d --- /dev/null +++ b/postgresql-perl-5.14.patch @@ -0,0 +1,41 @@ +Back-patch upstream patch to cope with perl 5.14. This will be present +in PG 9.0.5 and later, but we want to build rawhide with 5.14 now. + + +commit cb252c2acd415d304e3254e99f82058d11a69e04 +Author: Andrew Dunstan +Date: Sat Jun 4 19:35:04 2011 -0400 + + Allow building with perl 5.14. + + Patch from Alex Hunsaker. + +diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c +index 72c4dc2..1754489 100644 +--- a/src/pl/plperl/plperl.c ++++ b/src/pl/plperl/plperl.c +@@ -874,7 +874,7 @@ plperl_trusted_init(void) + 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); + +diff --git a/src/pl/plperl/plperl.h b/src/pl/plperl/plperl.h +index 6d58f11..1d38d9e 100644 +--- a/src/pl/plperl/plperl.h ++++ b/src/pl/plperl/plperl.h +@@ -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 *); diff --git a/postgresql.spec b/postgresql.spec index 951d4e9..afb93a8 100644 --- a/postgresql.spec +++ b/postgresql.spec @@ -86,6 +86,7 @@ Patch1: rpm-pgsql.patch Patch2: postgresql-logging.patch Patch3: postgresql-perl-rpath.patch Patch4: postgresql-gcc-workaround.patch +Patch5: postgresql-perl-5.14.patch BuildRequires: perl(ExtUtils::MakeMaker) glibc-devel bison flex gawk BuildRequires: perl(ExtUtils::Embed), perl-devel @@ -304,6 +305,7 @@ system, including regression tests and benchmarks. %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 # We used to run autoconf here, but there's no longer any real need to, # since Postgres ships with a reasonably modern configure script. @@ -822,8 +824,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog -* Fri Jun 17 2011 Marcela Mašláňová - 9.0.4-4 +* Fri Jun 17 2011 Marcela Mašláňová 9.0.4-4 - Perl mass rebuild +- incorporate upstream patch to make it build with Perl 5.14 * Fri Jun 10 2011 Tom Lane 9.0.4-3 - Work around gcc 4.6.0 bug (temporary backport from next upstream release)