aboutsummaryrefslogtreecommitdiffstats
path: root/lang/perl5.14
diff options
context:
space:
mode:
authorskv <skv@FreeBSD.org>2009-06-08 22:35:28 +0800
committerskv <skv@FreeBSD.org>2009-06-08 22:35:28 +0800
commit8ad966f7206f08f6cd79e16802c8f11692f69cd2 (patch)
treeeb7aa6065aae70cedbb950a37cc7c3b863a83102 /lang/perl5.14
parent2c15c09769625187177917f0d434c68ab7b734d2 (diff)
downloadfreebsd-ports-gnome-8ad966f7206f08f6cd79e16802c8f11692f69cd2.tar.gz
freebsd-ports-gnome-8ad966f7206f08f6cd79e16802c8f11692f69cd2.tar.zst
freebsd-ports-gnome-8ad966f7206f08f6cd79e16802c8f11692f69cd2.zip
- Add more essential bugfixes
- Add perl-threaded-5.* to CONFLICTS [1] - Introduce PERL_VENDOR_PREFIX variable - Be really PREFIX-neutral [2} Submitted by: lth [1], rafan [2]
Diffstat (limited to 'lang/perl5.14')
-rw-r--r--lang/perl5.14/Makefile16
-rw-r--r--lang/perl5.14/files/patch-bug5163615
-rw-r--r--lang/perl5.14/files/patch-bug6456223
-rw-r--r--lang/perl5.14/files/patch-setpgrp13
4 files changed, 65 insertions, 2 deletions
diff --git a/lang/perl5.14/Makefile b/lang/perl5.14/Makefile
index 9dc3f0724c9d..429d5003a610 100644
--- a/lang/perl5.14/Makefile
+++ b/lang/perl5.14/Makefile
@@ -7,7 +7,7 @@
PORTNAME= perl
PORTVERSION= ${PERL_VERSION}
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= lang devel perl5
MASTER_SITES= CPAN \
${MASTER_SITE_LOCAL:S/$/:local/} \
@@ -21,7 +21,7 @@ DIST_SUBDIR= perl
MAINTAINER= skv@FreeBSD.org
COMMENT= Practical Extraction and Report Language
-CONFLICTS= perl-5.6.* perl-5.8.*
+CONFLICTS= perl-5.6.* perl-5.8.* perl-threaded-5.8.*
OPTIONS= DEBUGGING "Build with debugging support" off \
GDBM "Build GDBM_File extension" off \
@@ -62,6 +62,16 @@ MAKE_ENV+= ${LOCALE_CLEANUP}
.include "Makefile.man"
.include <bsd.port.pre.mk>
+.if defined(PERL_VENDOR_PREFIX)
+CONFIGURE_ARGS+= \
+ -Dvendorprefix=${PERL_VENDOR_PREFIX} \
+ -Dvendorarch=${PERL_VENDOR_PREFIX}/lib/perl5/${PERL_VERSION}/${PERL_ARCH} \
+ -Dvendorbin=${PERL_VENDOR_PREFIX}/bin \
+ -Dvendorlib=${PERL_VENDOR_PREFIX}/lib/perl5/${PERL_VERSION} \
+ -Dvendorman3dir=${PERL_VENDOR_PREFIX}/lib/perl5/${PERL_VERSION}/man/man3 \
+ -Dvendorman1dir=${PERL_VENDOR_PREFIX}/man/man1
+.endif
+
PLIST_SUB+= PERL_VERSION=${PERL_VERSION} \
PERL_VER=${PERL_VERSION} \
PERL_ARCH=${PERL_ARCH} \
@@ -156,6 +166,8 @@ post-patch:
${CP} ${WRKDIR}/use.perl ${PKGDEINSTALL}
${SED} -i '' -e 's|%%PERL_PKGNAME%%|${PKGNAME}|g; s|%%PERL_VER%%|5.10|g;' \
${BSDPAN_WRKSRC}/ExtUtils/*.pm
+ ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ ${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
.if defined(WITH_THREADS)
${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g;' \
-e 's|%%PTHREAD_CFLAGS%%|${PTHREAD_CFLAGS}|g;' \
diff --git a/lang/perl5.14/files/patch-bug51636 b/lang/perl5.14/files/patch-bug51636
new file mode 100644
index 000000000000..c4653b7a1266
--- /dev/null
+++ b/lang/perl5.14/files/patch-bug51636
@@ -0,0 +1,15 @@
+# http://rt.perl.org/rt3/Public/Bug/Display.html?id=51636
+# http://perl5.git.perl.org/perl.git/commit/b63c7c552a2e9cf2b2c5eb492358b8567fd16179
+diff --git a/av.c b/av.c
+index e6c26bc..67ffad9 100644
+--- av.c
++++ av.c
+@@ -437,7 +437,7 @@ Perl_av_clear(pTHX_ register AV *av)
+ /* Give any tie a chance to cleanup first */
+ if (SvRMAGICAL(av)) {
+ const MAGIC* const mg = SvMAGIC(av);
+- if (PL_delaymagic && mg->mg_type == PERL_MAGIC_isa)
++ if (PL_delaymagic && mg && mg->mg_type == PERL_MAGIC_isa)
+ PL_delaymagic |= DM_ARRAY;
+ else
+ mg_clear((SV*)av);
diff --git a/lang/perl5.14/files/patch-bug64562 b/lang/perl5.14/files/patch-bug64562
new file mode 100644
index 000000000000..7503887573e3
--- /dev/null
+++ b/lang/perl5.14/files/patch-bug64562
@@ -0,0 +1,23 @@
+# http://rt.perl.org/rt3/Public/Bug/Display.html?id=64562
+# http://perl5.git.perl.org/perl.git/commitdiff/ee6d2783b2d78accfac54397826acf5f6e1715e1?hp=5a8cf367090fb5d83d8e8e0ae381a3525a215928
+diff --git a/op.c b/op.c
+index 517f648..89ed522 100644
+--- op.c
++++ op.c
+@@ -6166,9 +6166,13 @@ Perl_newFORM(pTHX_ I32 floor, OP *o, OP *block)
+ const line_t oldline = CopLINE(PL_curcop);
+ if (PL_parser && PL_parser->copline != NOLINE)
+ CopLINE_set(PL_curcop, PL_parser->copline);
+- Perl_warner(aTHX_ packWARN(WARN_REDEFINE),
+- o ? "Format %"SVf" redefined"
+- : "Format STDOUT redefined", SVfARG(cSVOPo->op_sv));
++ if (o) {
++ Perl_warner(aTHX_ packWARN(WARN_REDEFINE),
++ "Format %"SVf" redefined", SVfARG(cSVOPo->op_sv));
++ } else {
++ Perl_warner(aTHX_ packWARN(WARN_REDEFINE),
++ "Format STDOUT redefined");
++ }
+ CopLINE_set(PL_curcop, oldline);
+ }
+ SvREFCNT_dec(cv);
diff --git a/lang/perl5.14/files/patch-setpgrp b/lang/perl5.14/files/patch-setpgrp
new file mode 100644
index 000000000000..e44f7aae0d5c
--- /dev/null
+++ b/lang/perl5.14/files/patch-setpgrp
@@ -0,0 +1,13 @@
+# http://perl5.git.perl.org/perl.git/commit/1f200948c4c45a9bc088451dd377e4ab8733c722
+diff --git a/pp_sys.c b/pp_sys.c
+index cfbf918..0d2c970 100644
+--- pp_sys.c
++++ pp_sys.c
+@@ -4318,6 +4318,7 @@ PP(pp_setpgrp)
+ if (MAXARG < 2) {
+ pgrp = 0;
+ pid = 0;
++ XPUSHi(-1);
+ }
+ else {
+ pgrp = POPi;