Thu Jan 17 13:29:59 2013 UTC ()
Work around a NULL dereference (bug report was submitted upstream)


(manu)
diff -r1.193 -r1.194 pkgsrc/lang/perl5/Makefile
diff -r1.90 -r1.91 pkgsrc/lang/perl5/distinfo
diff -r0 -r1.1 pkgsrc/lang/perl5/patches/patch-hv.c

cvs diff -r1.193 -r1.194 pkgsrc/lang/perl5/Makefile (switch to unified diff)

--- pkgsrc/lang/perl5/Makefile 2013/01/03 10:11:34 1.193
+++ pkgsrc/lang/perl5/Makefile 2013/01/17 13:29:59 1.194
@@ -1,242 +1,242 @@ @@ -1,242 +1,242 @@
1# $NetBSD: Makefile,v 1.193 2013/01/03 10:11:34 dholland Exp $ 1# $NetBSD: Makefile,v 1.194 2013/01/17 13:29:59 manu Exp $
2 2
3.include "license.mk" 3.include "license.mk"
4.include "Makefile.common" 4.include "Makefile.common"
5 5
6COMMENT= Practical Extraction and Report Language 6COMMENT= Practical Extraction and Report Language
7PKGREVISION= 2 7PKGREVISION= 3
8 8
9CONFLICTS= perl-base-[0-9]* perl-thread-[0-9]* \ 9CONFLICTS= perl-base-[0-9]* perl-thread-[0-9]* \
10 p5-CGI-2.66{,nb*} p5-CGI-2.75{,nb*} p5-CGI-2.75.[0-2] \ 10 p5-CGI-2.66{,nb*} p5-CGI-2.75{,nb*} p5-CGI-2.75.[0-2] \
11 p5-Tie-File-0.96{,nb*} \ 11 p5-Tie-File-0.96{,nb*} \
12 p5-Memoize-1.01{,nb*} \ 12 p5-Memoize-1.01{,nb*} \
13 p5-I18N-LangTags<0.35 \ 13 p5-I18N-LangTags<0.35 \
14 p5-Locale-Maketext-1.[0-9]*{,nb*} \ 14 p5-Locale-Maketext-1.[0-9]*{,nb*} \
15 p5-Locale-Maketext-Simple<0.21 \ 15 p5-Locale-Maketext-Simple<0.21 \
16 p5-Digest<=1.16 \ 16 p5-Digest<=1.16 \
17 p5-Digest-MD5<=2.39 \ 17 p5-Digest-MD5<=2.39 \
18 p5-Digest-SHA<2.48 18 p5-Digest-SHA<2.48
19 19
20SUPERSEDES+= p5-Tie-File<0.97 20SUPERSEDES+= p5-Tie-File<0.97
21SUPERSEDES+= p5-Memoize<1.02 21SUPERSEDES+= p5-Memoize<1.02
22SUPERSEDES+= p5-I18N-LangTags<=0.35 22SUPERSEDES+= p5-I18N-LangTags<=0.35
23SUPERSEDES+= p5-Locale-Maketext<=1.15 23SUPERSEDES+= p5-Locale-Maketext<=1.15
24 24
25.include "../../mk/bsd.prefs.mk" 25.include "../../mk/bsd.prefs.mk"
26 26
27# Determine the Perl API version from the patchlevel.h file from the 27# Determine the Perl API version from the patchlevel.h file from the
28# source distribution. 28# source distribution.
29# 29#
30PERL5_API_VERS= ${PERL5_API_VERS_cmd:sh} 30PERL5_API_VERS= ${PERL5_API_VERS_cmd:sh}
31PERL5_API_VERS_cmd= \ 31PERL5_API_VERS_cmd= \
32 if ${TEST} -f ${WRKSRC}/patchlevel.h; then \ 32 if ${TEST} -f ${WRKSRC}/patchlevel.h; then \
33 ${AWK} '/\#define[ ]*PERL_API_REVISION/ { R = $$3 }\ 33 ${AWK} '/\#define[ ]*PERL_API_REVISION/ { R = $$3 }\
34 /\#define[ ]*PERL_API_VERSION/ { r = "."$$3 } \ 34 /\#define[ ]*PERL_API_VERSION/ { r = "."$$3 } \
35 /\#define[ ]*PERL_API_SUBVERSION/ { s = "."$$3 } \ 35 /\#define[ ]*PERL_API_SUBVERSION/ { s = "."$$3 } \
36 END { printf "%s%s%s\n", R, r, s }' \ 36 END { printf "%s%s%s\n", R, r, s }' \
37 ${WRKSRC}/patchlevel.h; \ 37 ${WRKSRC}/patchlevel.h; \
38 else \ 38 else \
39 ${ECHO} "unknown"; \ 39 ${ECHO} "unknown"; \
40 fi 40 fi
41 41
42.include "dirs.mk" 42.include "dirs.mk"
43 43
44.include "../../mk/compiler.mk" 44.include "../../mk/compiler.mk"
45 45
46HAS_CONFIGURE= yes 46HAS_CONFIGURE= yes
47CONFIGURE_SCRIPT= ./Configure 47CONFIGURE_SCRIPT= ./Configure
48CONFIGURE_ARGS+= -sde 48CONFIGURE_ARGS+= -sde
49MAKE_ENV+= LC_ALL="C" 49MAKE_ENV+= LC_ALL="C"
50 50
51TEST_TARGET= test 51TEST_TARGET= test
52 52
53# Policy.sh generation 53# Policy.sh generation
54# (see comments in files/Policy.sh) 54# (see comments in files/Policy.sh)
55SUBST_CLASSES+= policysh 55SUBST_CLASSES+= policysh
56SUBST_STAGE.policysh= pre-configure 56SUBST_STAGE.policysh= pre-configure
57SUBST_FILES.policysh= Policy.sh 57SUBST_FILES.policysh= Policy.sh
58SUBST_VARS.policysh+= MACHINE_ARCH 58SUBST_VARS.policysh+= MACHINE_ARCH
59SUBST_VARS.policysh+= LOWER_OPSYS 59SUBST_VARS.policysh+= LOWER_OPSYS
60SUBST_VARS.policysh+= OBJECT_FMT 60SUBST_VARS.policysh+= OBJECT_FMT
61SUBST_VARS.policysh+= CC 61SUBST_VARS.policysh+= CC
62SUBST_VARS.policysh+= CFLAGS 62SUBST_VARS.policysh+= CFLAGS
63SUBST_VARS.policysh+= LDFLAGS 63SUBST_VARS.policysh+= LDFLAGS
64SUBST_VARS.policysh+= COMPILER_RPATH_FLAG 64SUBST_VARS.policysh+= COMPILER_RPATH_FLAG
65SUBST_VARS.policysh+= PERL5_PREFIX 65SUBST_VARS.policysh+= PERL5_PREFIX
66SUBST_VARS.policysh+= PERL5_SITEPREFIX 66SUBST_VARS.policysh+= PERL5_SITEPREFIX
67SUBST_VARS.policysh+= PERL5_VENDORPREFIX 67SUBST_VARS.policysh+= PERL5_VENDORPREFIX
68SUBST_VARS.policysh+= PERL5_PERLBASE 68SUBST_VARS.policysh+= PERL5_PERLBASE
69SUBST_VARS.policysh+= PERL5_SITEBASE 69SUBST_VARS.policysh+= PERL5_SITEBASE
70SUBST_VARS.policysh+= PERL5_SITEBIN 70SUBST_VARS.policysh+= PERL5_SITEBIN
71SUBST_VARS.policysh+= PERL5_VENDORBASE 71SUBST_VARS.policysh+= PERL5_VENDORBASE
72SUBST_VARS.policysh+= PERL5_PRIVLIB 72SUBST_VARS.policysh+= PERL5_PRIVLIB
73SUBST_VARS.policysh+= PERL5_SITELIB 73SUBST_VARS.policysh+= PERL5_SITELIB
74SUBST_VARS.policysh+= PERL5_VENDORLIB 74SUBST_VARS.policysh+= PERL5_VENDORLIB
75SUBST_VARS.policysh+= PKGMANDIR 75SUBST_VARS.policysh+= PKGMANDIR
76SUBST_VARS.policysh+= LOCALBASE 76SUBST_VARS.policysh+= LOCALBASE
77SUBST_VARS.policysh+= PTHREAD_LDFLAGS 77SUBST_VARS.policysh+= PTHREAD_LDFLAGS
78 78
79.if ${OPSYS} == "Darwin" 79.if ${OPSYS} == "Darwin"
80# 80#
81# The Perl build attempts to work around case-insensitivity problems on 81# The Perl build attempts to work around case-insensitivity problems on
82# HFS filesystems by using GNUmakefiles, so we need to use GNU make. 82# HFS filesystems by using GNUmakefiles, so we need to use GNU make.
83# 83#
84USE_TOOLS+= gmake 84USE_TOOLS+= gmake
85.endif 85.endif
86 86
87# 87#
88# For the moment disable the building of a shared libperl.dylib on Darwin 88# For the moment disable the building of a shared libperl.dylib on Darwin
89# => 9.0 as it breaks the build. This should just be considered a temporary 89# => 9.0 as it breaks the build. This should just be considered a temporary
90# work around until the actual problem can be fixed as this worked for 90# work around until the actual problem can be fixed as this worked for
91# Darwin < 9.0. 91# Darwin < 9.0.
92# 92#
93.if empty(MACHINE_PLATFORM:MDarwin-9.*-*) 93.if empty(MACHINE_PLATFORM:MDarwin-9.*-*)
94CONFIGURE_ARGS+= -Duseshrplib 94CONFIGURE_ARGS+= -Duseshrplib
95.endif 95.endif
96 96
97# Perl embeds the full paths to the following tools in several installed 97# Perl embeds the full paths to the following tools in several installed
98# files, so make sure the paths to the ones in ${TOOLS_DIR} aren't used. 98# files, so make sure the paths to the ones in ${TOOLS_DIR} aren't used.
99# 99#
100USE_TOOLS+= hostname ln sed test 100USE_TOOLS+= hostname ln sed test
101SUBST_VARS.policysh+= TOOLS_HOSTNAME_CMD 101SUBST_VARS.policysh+= TOOLS_HOSTNAME_CMD
102SUBST_VARS.policysh+= TOOLS_LN 102SUBST_VARS.policysh+= TOOLS_LN
103TOOLS_ALIASES.sed+= ${TOOLS_SED:T} 103TOOLS_ALIASES.sed+= ${TOOLS_SED:T}
104SUBST_VARS.policysh+= TOOLS_SED 104SUBST_VARS.policysh+= TOOLS_SED
105SUBST_VARS.policysh+= TOOLS_SH 105SUBST_VARS.policysh+= TOOLS_SH
106SUBST_VARS.policysh+= TOOLS_TEST 106SUBST_VARS.policysh+= TOOLS_TEST
107SUBST_VARS.policysh+= FALSE 107SUBST_VARS.policysh+= FALSE
108 108
109# Nail down the needed libraries for each platform here to avoid hidden 109# Nail down the needed libraries for each platform here to avoid hidden
110# dependencies. If this isn't defined, then use the perl defaults for the 110# dependencies. If this isn't defined, then use the perl defaults for the
111# particular operating system. 111# particular operating system.
112# 112#
113LIBSWANTED.Darwin= m c 113LIBSWANTED.Darwin= m c
114LIBSWANTED.DragonFly= m crypt 114LIBSWANTED.DragonFly= m crypt
115LIBSWANTED.FreeBSD= m crypt 115LIBSWANTED.FreeBSD= m crypt
116LIBSWANTED.HPUX= cl pthread $$libswanted # see Perl's README.hpux 116LIBSWANTED.HPUX= cl pthread $$libswanted # see Perl's README.hpux
117LIBSWANTED.IRIX= m crypt 117LIBSWANTED.IRIX= m crypt
118LIBSWANTED.Interix= m dl 118LIBSWANTED.Interix= m dl
119LIBSWANTED.Linux= m crypt dl nsl 119LIBSWANTED.Linux= m crypt dl nsl
120LIBSWANTED.MirBSD= m crypt 120LIBSWANTED.MirBSD= m crypt
121LIBSWANTED.NetBSD= m crypt 121LIBSWANTED.NetBSD= m crypt
122LIBSWANTED.OpenBSD= m crypt 122LIBSWANTED.OpenBSD= m crypt
123LIBSWANTED.SunOS= m crypt dl socket nsl 123LIBSWANTED.SunOS= m crypt dl socket nsl
124LIBSWANTED.AIX= m crypt dl socket nsl bind c 124LIBSWANTED.AIX= m crypt dl socket nsl bind c
125LIBSWANTED= ${LIBSWANTED.${OPSYS}} 125LIBSWANTED= ${LIBSWANTED.${OPSYS}}
126SUBST_VARS.policysh+= LIBSWANTED 126SUBST_VARS.policysh+= LIBSWANTED
127 127
128# Nail down the directories in which the system libraries may be found. 128# Nail down the directories in which the system libraries may be found.
129# If this isn't defined, then use the perl defaults for the particular 129# If this isn't defined, then use the perl defaults for the particular
130# operating system. 130# operating system.
131# 131#
132SYSLIBPATH.Darwin= /usr/lib 132SYSLIBPATH.Darwin= /usr/lib
133SYSLIBPATH.DragonFly= /usr/lib 133SYSLIBPATH.DragonFly= /usr/lib
134SYSLIBPATH.FreeBSD= /usr/lib 134SYSLIBPATH.FreeBSD= /usr/lib
135SYSLIBPATH.Interix= /usr/lib 135SYSLIBPATH.Interix= /usr/lib
136SYSLIBPATH.MirBSD= /usr/lib 136SYSLIBPATH.MirBSD= /usr/lib
137SYSLIBPATH.NetBSD= /usr/lib 137SYSLIBPATH.NetBSD= /usr/lib
138SYSLIBPATH.OpenBSD= /usr/lib 138SYSLIBPATH.OpenBSD= /usr/lib
139SYSLIBPATH.SunOS= /usr/lib 139SYSLIBPATH.SunOS= /usr/lib
140SYSLIBPATH.AIX= /usr/lib 140SYSLIBPATH.AIX= /usr/lib
141SYSLIBPATH= ${SYSLIBPATH.${OPSYS}} 141SYSLIBPATH= ${SYSLIBPATH.${OPSYS}}
142SUBST_VARS.policysh+= SYSLIBPATH 142SUBST_VARS.policysh+= SYSLIBPATH
143 143
144.include "../../mk/dlopen.buildlink3.mk" 144.include "../../mk/dlopen.buildlink3.mk"
145.include "options.mk" 145.include "options.mk"
146 146
147.if !empty(MACHINE_PLATFORM:MMirBSD*) 147.if !empty(MACHINE_PLATFORM:MMirBSD*)
148SUBST_CLASSES+= mirbsd-paths 148SUBST_CLASSES+= mirbsd-paths
149SUBST_STAGE.mirbsd-paths= pre-configure 149SUBST_STAGE.mirbsd-paths= pre-configure
150SUBST_FILES.mirbsd-paths= hints/mirbsd.sh 150SUBST_FILES.mirbsd-paths= hints/mirbsd.sh
151SUBST_SED.mirbsd-paths= -e 's,/usr/mpkg,${PREFIX},g' 151SUBST_SED.mirbsd-paths= -e 's,/usr/mpkg,${PREFIX},g'
152SUBST_MESSAGE.mirbsd-paths= Do not use non-pkgsrc paths on MirBSD. 152SUBST_MESSAGE.mirbsd-paths= Do not use non-pkgsrc paths on MirBSD.
153.endif 153.endif
154 154
155# Remove a spurious workdir reference 155# Remove a spurious workdir reference
156SUBST_CLASSES+= rm 156SUBST_CLASSES+= rm
157SUBST_STAGE.rm= pre-install 157SUBST_STAGE.rm= pre-install
158SUBST_FILES.rm= lib/Config_heavy.pl 158SUBST_FILES.rm= lib/Config_heavy.pl
159SUBST_MESSAGE.rm= Do not use tools version of rm. 159SUBST_MESSAGE.rm= Do not use tools version of rm.
160SUBST_SED.rm= -e "s!^rm_try='/.*/\\.tools/bin/rm -f!rm_try='/bin/rm -f!" 160SUBST_SED.rm= -e "s!^rm_try='/.*/\\.tools/bin/rm -f!rm_try='/bin/rm -f!"
161 161
162# Replace our perl as the interpreter 162# Replace our perl as the interpreter
163REPLACE_PERL+= lib/File/DosGlob.pm 163REPLACE_PERL+= lib/File/DosGlob.pm
164REPLACE_PERL+= lib/unicore/mktables 164REPLACE_PERL+= lib/unicore/mktables
165REPLACE_PERL+= lib/version.pm 165REPLACE_PERL+= lib/version.pm
166REPLACE_PERL+= dist/bignum/lib/Math/BigFloat/Trace.pm 166REPLACE_PERL+= dist/bignum/lib/Math/BigFloat/Trace.pm
167REPLACE_PERL+= dist/bignum/lib/Math/BigInt/Trace.pm 167REPLACE_PERL+= dist/bignum/lib/Math/BigInt/Trace.pm
168REPLACE_PERL+= dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp 168REPLACE_PERL+= dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp
169 169
170# And replace a perl interpreter during the pre-install stage 170# And replace a perl interpreter during the pre-install stage
171# I think this may be a bootstrap script, so can't use REPLACE_PERL 171# I think this may be a bootstrap script, so can't use REPLACE_PERL
172# because that is acted upon already in the pre-configure stage 172# because that is acted upon already in the pre-configure stage
173SUBST_CLASSES+= miniperl 173SUBST_CLASSES+= miniperl
174SUBST_STAGE.miniperl= pre-install 174SUBST_STAGE.miniperl= pre-install
175SUBST_FILES.miniperl= lib/ExtUtils/xsubpp 175SUBST_FILES.miniperl= lib/ExtUtils/xsubpp
176SUBST_SED.miniperl= -e "1s:\#!./miniperl:\#!${PERL5}:" 176SUBST_SED.miniperl= -e "1s:\#!./miniperl:\#!${PERL5}:"
177 177
178.if ${PKGSRC_COMPILER} == "xlc" 178.if ${PKGSRC_COMPILER} == "xlc"
179SUBST_CLASSES+= cpprun 179SUBST_CLASSES+= cpprun
180SUBST_STAGE.cpprun= pre-install 180SUBST_STAGE.cpprun= pre-install
181SUBST_FILES.cpprun= lib/Config_heavy.pl 181SUBST_FILES.cpprun= lib/Config_heavy.pl
182. if !empty(PKG_OPTIONS:Mthreads) 182. if !empty(PKG_OPTIONS:Mthreads)
183SUBST_SED.cpprun= -e "s/cpprun=''/cpprun='cc_r -E'/" 183SUBST_SED.cpprun= -e "s/cpprun=''/cpprun='cc_r -E'/"
184. else 184. else
185SUBST_SED.cpprun= -e "s/cpprun=''/cpprun='cc -E'/" 185SUBST_SED.cpprun= -e "s/cpprun=''/cpprun='cc -E'/"
186. endif 186. endif
187.endif 187.endif
188 188
189# Some platforms may want the directory mode not to be 0755. This 189# Some platforms may want the directory mode not to be 0755. This
190# is, unfortunately, hardcoded in quite a few places in Perl, so 190# is, unfortunately, hardcoded in quite a few places in Perl, so
191# let's substitute what pkgsrc says instead. 191# let's substitute what pkgsrc says instead.
192# 192#
193SUBST_CLASSES+= dirmode 193SUBST_CLASSES+= dirmode
194SUBST_STAGE.dirmode= post-patch 194SUBST_STAGE.dirmode= post-patch
195SUBST_FILES.dirmode= installhtml install_lib.pl \ 195SUBST_FILES.dirmode= installhtml install_lib.pl \
196 dist/ExtUtils-Install/lib/ExtUtils/Install.pm 196 dist/ExtUtils-Install/lib/ExtUtils/Install.pm
197SUBST_SED.dirmode= -e "s/755/${PKGDIRMODE}/g;/umask(/d" 197SUBST_SED.dirmode= -e "s/755/${PKGDIRMODE}/g;/umask(/d"
198 198
199post-extract: 199post-extract:
200 cp ${FILESDIR}/Policy.sh ${WRKSRC}/Policy.sh 200 cp ${FILESDIR}/Policy.sh ${WRKSRC}/Policy.sh
201 cp ${FILESDIR}/cpan-DB_File-hints-netbsd.pl \ 201 cp ${FILESDIR}/cpan-DB_File-hints-netbsd.pl \
202 ${WRKSRC}/cpan/DB_File/hints/netbsd.pl 202 ${WRKSRC}/cpan/DB_File/hints/netbsd.pl
203 203
204pre-configure: 204pre-configure:
205 cd ${WRKSRC} && find `pwd` -name "*.orig" -type f -exec ${RM} -f {} \; 205 cd ${WRKSRC} && find `pwd` -name "*.orig" -type f -exec ${RM} -f {} \;
206 206
207post-build: 207post-build:
208 ${SED} -e "s,@PERL5@,"${PERL5:Q}",g" \ 208 ${SED} -e "s,@PERL5@,"${PERL5:Q}",g" \
209 -e "s,@SH@,"${SH:Q}",g" \ 209 -e "s,@SH@,"${SH:Q}",g" \
210 -e "s,@PKGMANDIR@,"${PKGMANDIR}",g" \ 210 -e "s,@PKGMANDIR@,"${PKGMANDIR}",g" \
211 ${FILESDIR}/perllink.in > ${WRKDIR}/perllink.sh 211 ${FILESDIR}/perllink.in > ${WRKDIR}/perllink.sh
212 212
213INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 213INSTALLATION_DIRS= bin ${PKGMANDIR}/man1
214PERL5_PACKLIST_DIR_cmd= . ${WRKSRC}/config.sh; echo $$installarchlib 214PERL5_PACKLIST_DIR_cmd= . ${WRKSRC}/config.sh; echo $$installarchlib
215PERL5_PACKLIST_DIR= ${PERL5_PACKLIST_DIR_cmd:sh} 215PERL5_PACKLIST_DIR= ${PERL5_PACKLIST_DIR_cmd:sh}
216PERL5_PACKLIST= .packlist 216PERL5_PACKLIST= .packlist
217PERL5_PACKLIST_DESTDIR= no 217PERL5_PACKLIST_DESTDIR= no
218FILES_SUBST+= PERL5_COMMENT=\# 218FILES_SUBST+= PERL5_COMMENT=\#
219FILES_SUBST+= PERL5_PACKLIST= 219FILES_SUBST+= PERL5_PACKLIST=
220 220
221post-install: perl5-post-install 221post-install: perl5-post-install
222 222
223perl5-post-install: 223perl5-post-install:
224 ${RUN}if ${TEST} -x ${DESTDIR}${PREFIX}/bin/a2p; then \ 224 ${RUN}if ${TEST} -x ${DESTDIR}${PREFIX}/bin/a2p; then \
225 strip ${DESTDIR}${PREFIX}/bin/a2p; \ 225 strip ${DESTDIR}${PREFIX}/bin/a2p; \
226 fi 226 fi
227 ${INSTALL_SCRIPT} ${WRKDIR}/perllink.sh \ 227 ${INSTALL_SCRIPT} ${WRKDIR}/perllink.sh \
228 ${DESTDIR}${PERL5_PERLBASE}/bin/perllink 228 ${DESTDIR}${PERL5_PERLBASE}/bin/perllink
229 ${INSTALL_MAN} ${FILESDIR}/perllink.1 \ 229 ${INSTALL_MAN} ${FILESDIR}/perllink.1 \
230 ${DESTDIR}${PERL5_PERLBASE}/${PKGMANDIR}/man1/perllink.1 230 ${DESTDIR}${PERL5_PERLBASE}/${PKGMANDIR}/man1/perllink.1
231 ${RM} -f ${DESTDIR}${PREFIX}/bin/perllink \ 231 ${RM} -f ${DESTDIR}${PREFIX}/bin/perllink \
232 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/perllink.1 232 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/perllink.1
233 ${LN} -s ${PERL5_PERLBASE}/bin/perllink \ 233 ${LN} -s ${PERL5_PERLBASE}/bin/perllink \
234 ${DESTDIR}${PREFIX}/bin/perllink 234 ${DESTDIR}${PREFIX}/bin/perllink
235 ${LN} -s ${PERL5_PERLBASE}/${PKGMANDIR}/man1/perllink.1 \ 235 ${LN} -s ${PERL5_PERLBASE}/${PKGMANDIR}/man1/perllink.1 \
236 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/perllink.1 236 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/perllink.1
237.if ${OPSYS} == "Haiku" 237.if ${OPSYS} == "Haiku"
238 ${CHMOD} a+x ${DESTDIR}${PREFIX}/bin/perl 238 ${CHMOD} a+x ${DESTDIR}${PREFIX}/bin/perl
239.endif 239.endif
240 240
241.include "packlist.mk" 241.include "packlist.mk"
242.include "../../mk/bsd.pkg.mk" 242.include "../../mk/bsd.pkg.mk"

cvs diff -r1.90 -r1.91 pkgsrc/lang/perl5/distinfo (switch to unified diff)

--- pkgsrc/lang/perl5/distinfo 2013/01/03 10:11:34 1.90
+++ pkgsrc/lang/perl5/distinfo 2013/01/17 13:29:59 1.91
@@ -1,22 +1,23 @@ @@ -1,22 +1,23 @@
1$NetBSD: distinfo,v 1.90 2013/01/03 10:11:34 dholland Exp $ 1$NetBSD: distinfo,v 1.91 2013/01/17 13:29:59 manu Exp $
2 2
3SHA1 (perl-5.16.2.tar.gz) = 9e20e38e3460ebbac895341fd70a02189d03a490 3SHA1 (perl-5.16.2.tar.gz) = 9e20e38e3460ebbac895341fd70a02189d03a490
4RMD160 (perl-5.16.2.tar.gz) = 84f0233ac48059b4636661b023dd8a3389f9ae64 4RMD160 (perl-5.16.2.tar.gz) = 84f0233ac48059b4636661b023dd8a3389f9ae64
5Size (perl-5.16.2.tar.gz) = 16933974 bytes 5Size (perl-5.16.2.tar.gz) = 16933974 bytes
6SHA1 (patch-aa) = 9066746c6e6ed0d58962f52de1ae773e210cfcb5 6SHA1 (patch-aa) = 9066746c6e6ed0d58962f52de1ae773e210cfcb5
7SHA1 (patch-ab) = a9c674c5b09700d13fa885f11a3525d6d54899b5 7SHA1 (patch-ab) = a9c674c5b09700d13fa885f11a3525d6d54899b5
8SHA1 (patch-ac) = cd918ae7aedddfcd3d555a1d1388c4c8719ccd12 8SHA1 (patch-ac) = cd918ae7aedddfcd3d555a1d1388c4c8719ccd12
9SHA1 (patch-ah) = f66b496ba8f7b7d3e5a1f0c6f03d051a652f426e 9SHA1 (patch-ah) = f66b496ba8f7b7d3e5a1f0c6f03d051a652f426e
10SHA1 (patch-aq) = 4bf5a76f0277b0939b2ca7720f4bb045a788b5cc 10SHA1 (patch-aq) = 4bf5a76f0277b0939b2ca7720f4bb045a788b5cc
11SHA1 (patch-ca) = 30450f739f51a07825442744d6c38b27b58ddd87 11SHA1 (patch-ca) = 30450f739f51a07825442744d6c38b27b58ddd87
12SHA1 (patch-ch) = 5b6a89c82e158bab0a5f06add48c28e600678099 12SHA1 (patch-ch) = 5b6a89c82e158bab0a5f06add48c28e600678099
13SHA1 (patch-ck) = 5c381db130cdf4c315678e2d65380eaaa3065fee 13SHA1 (patch-ck) = 5c381db130cdf4c315678e2d65380eaaa3065fee
14SHA1 (patch-cn) = d1877383e213a414562b5bb4c1e8aa785926fab7 14SHA1 (patch-cn) = d1877383e213a414562b5bb4c1e8aa785926fab7
15SHA1 (patch-cp) = 0b22d334df24d128142855464bf6dd61d4d82975 15SHA1 (patch-cp) = 0b22d334df24d128142855464bf6dd61d4d82975
16SHA1 (patch-cpan_Sys-Syslog_Syslog.xs) = 4413010d0b55a0ae636bca8ff3ace2ebc99e90ba 16SHA1 (patch-cpan_Sys-Syslog_Syslog.xs) = 4413010d0b55a0ae636bca8ff3ace2ebc99e90ba
17SHA1 (patch-dist_Locale-Maketext_lib_Locale_Maketext.pm) = d44647f32d356030c8c2cd6346559f613a7fe459 17SHA1 (patch-dist_Locale-Maketext_lib_Locale_Maketext.pm) = d44647f32d356030c8c2cd6346559f613a7fe459
18SHA1 (patch-hints_netbsd.sh) = 8a0656a72e81461f461757712b7fc27ad8928028 18SHA1 (patch-hints_netbsd.sh) = 8a0656a72e81461f461757712b7fc27ad8928028
19SHA1 (patch-hints_solaris_2.sh) = 26f804234c07da04ebd6c33ce7ad54d94c746f1e 19SHA1 (patch-hints_solaris_2.sh) = 26f804234c07da04ebd6c33ce7ad54d94c746f1e
 20SHA1 (patch-hv.c) = eaea29e1c59bf3b698478ba8ec3f1b25c4ed6cc8
20SHA1 (patch-ta) = 51a3e02148e78eaab882125f859e59add39a4fbe 21SHA1 (patch-ta) = 51a3e02148e78eaab882125f859e59add39a4fbe
21SHA1 (patch-zd) = 469602bc04b217f2d9929f5caeab43f77a74076f 22SHA1 (patch-zd) = 469602bc04b217f2d9929f5caeab43f77a74076f
22SHA1 (patch-ze) = a719797ccf8bb09e75aacc1609408fb4afe6aa60 23SHA1 (patch-ze) = a719797ccf8bb09e75aacc1609408fb4afe6aa60

File Added: pkgsrc/lang/perl5/patches/Attic/patch-hv.c
$NetBSD: patch-hv.c,v 1.1 2013/01/17 13:29:59 manu Exp $

Work around a crash with apaache-1.3.42 and mod_perl-1.31:

Program received signal SIGSEGV, Segmentation fault.
[Switching to LWP 1]
Perl_hv_undef_flags (my_perl=0xbb537800, hv=0x0, flags=0) at hv.c:1788
1788        const bool save = !!SvREFCNT(hv);
(gdb) bt
#0  Perl_hv_undef_flags (my_perl=0xbb537800, hv=0x0, flags=0) at hv.c:1788
#1  0xbb646f8e in perl_util_cleanup () from /usr/pkg/lib/httpd/mod_perl.so
#2  0xbb639b10 in perl_shutdown () from /usr/pkg/lib/httpd/mod_perl.so
#3  0xbb639ec3 in mp_dso_unload () from /usr/pkg/lib/httpd/mod_perl.so
#4  0x08073524 in ap_clear_pool ()
#5  0x08081956 in main ()


--- hv.c.orig	2013-01-17 08:54:13.000000000 +0100
+++ hv.c	2013-01-17 08:55:42.000000000 +0100
@@ -1784,14 +1784,16 @@
 {
     dVAR;
     register XPVHV* xhv;
     const char *name;
-    const bool save = !!SvREFCNT(hv);
+    bool save;
 
     if (!hv)
 	return;
+
     DEBUG_A(Perl_hv_assert(aTHX_ hv));
     xhv = (XPVHV*)SvANY(hv);
+    save = !!SvREFCNT(hv);
 
     /* The name must be deleted before the call to hfreeeeentries so that
        CVs are anonymised properly. But the effective name must be pre-
        served until after that call (and only deleted afterwards if the