View | Details | Raw Unified | Return to bug 195821 | Differences between
and this patch

Collapse All | Expand All

(-)Mk/Scripts/qa.sh (-1 / +38 lines)
Lines 206-213 Link Here
206
	fi
206
	fi
207
}
207
}
208
208
209
checks="shebang symlinks paths stripped desktopfileutils sharedmimeinfo suidfiles libtool"
209
libperl() {
210
	if [ -n "${SITE_ARCH_REL}" ]; then
211
		rc=0
212
		while read f; do
213
			# No results presents a blank line from heredoc.
214
			[ -z "${f}" ] && continue
215
			found=`readelf -d $f | awk "BEGIN {libperl=1; rpath=10; runpath=100}
216
				/NEEDED.*${LIBPERL}/  { libperl = 0 }
217
				/RPATH.*perl.*CORE/   { rpath   = 0 }
218
				/RUNPATH.*perl.*CORE/ { runpath = 0 }
219
				END {print libperl+rpath+runpath}
220
				"`
221
			# FIXME When 8.4 goes out of commission, replace the ;;
222
			# with ;& in the case below.
223
			if [ "$found" -ne "0" ]; then
224
				case "$found" in
225
					*1)
226
						rc=1
227
						err "${f} is not linked with ${LIBPERL}, not respecting lddlflags ?"
228
						;; #;&
229
					*1?)
230
						warn "${f} does not have a rpath to ${LIBPERL}, not respecting lddlflags ?"
231
						;; #;&
232
					1??)
233
						warn "${f} does not have a runpath to ${LIBPERL}, not respecting lddlflags ?"
234
						;; #;&
235
				esac
236
			fi
237
		# Use heredoc to avoid losing rc from find|while subshell
238
		done <<-EOT
239
		$(find ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL} -name '*.so')
240
		EOT
210
241
242
		return ${rc}
243
	fi
244
}
245
246
checks="shebang symlinks paths stripped desktopfileutils sharedmimeinfo suidfiles libtool libperl"
247
211
ret=0
248
ret=0
212
cd ${STAGEDIR}
249
cd ${STAGEDIR}
213
for check in ${checks}; do
250
for check in ${checks}; do
(-)Mk/Uses/perl5.mk (+2 lines)
Lines 106-111 Link Here
106
PERL=		${LOCALBASE}/bin/perl
106
PERL=		${LOCALBASE}/bin/perl
107
CONFIGURE_ENV+=	ac_cv_path_PERL=${PERL} ac_cv_path_PERL_PATH=${PERL}
107
CONFIGURE_ENV+=	ac_cv_path_PERL=${PERL} ac_cv_path_PERL_PATH=${PERL}
108
108
109
QA_ENV+=		SITE_ARCH_REL=${SITE_ARCH_REL} LIBPERL=libperl.so.${PERL_VER}
110
109
# Define the want perl first if defined
111
# Define the want perl first if defined
110
.if ${USE_PERL5:M5*}
112
.if ${USE_PERL5:M5*}
111
want_perl_sign=		${USE_PERL5:M5*:C|^[0-9.]+||}
113
want_perl_sign=		${USE_PERL5:M5*:C|^[0-9.]+||}
(-)lang/perl5.14/Makefile (-3 / +13 lines)
Lines 61-67 Link Here
61
HAS_CONFIGURE=	yes
61
HAS_CONFIGURE=	yes
62
CONFIGURE_SCRIPT=Configure
62
CONFIGURE_SCRIPT=Configure
63
CONFIGURE_ARGS=	-sde -Dprefix=${PREFIX} \
63
CONFIGURE_ARGS=	-sde -Dprefix=${PREFIX} \
64
	-Dlibperl=libperl.so.${PERL_VER} \
64
	-Dlibperl=libperl.so.${PERL_VERSION} \
65
	-Darchlib=${PREFIX}/${_ARCH_LIB} \
65
	-Darchlib=${PREFIX}/${_ARCH_LIB} \
66
	-Dprivlib=${PREFIX}/${_PRIV_LIB} \
66
	-Dprivlib=${PREFIX}/${_PRIV_LIB} \
67
	-Dman3dir=${PREFIX}/${MAN3PREFIX_REL}/man/man3 \
67
	-Dman3dir=${PREFIX}/${MAN3PREFIX_REL}/man/man3 \
Lines 209-214 Link Here
209
BSDPAN_VERSION=	20111107
209
BSDPAN_VERSION=	20111107
210
BSDPAN_WRKSRC=	${WRKDIR}/BSDPAN-${BSDPAN_VERSION}
210
BSDPAN_WRKSRC=	${WRKDIR}/BSDPAN-${BSDPAN_VERSION}
211
211
212
# Put a symlink to the future libperl.so.x.yy so that -lperl works.
213
post-extract:
214
	${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so
215
	${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so.${PERL_VER}
216
212
post-patch:
217
post-patch:
213
	${SED} -i '' -e 's|%%PERL_PKGNAME%%|${PKGNAME}|g; s|%%PERL_VER%%|${PERL_VER}|g;' \
218
	${SED} -i '' -e 's|%%PERL_PKGNAME%%|${PKGNAME}|g; s|%%PERL_VER%%|${PERL_VER}|g;' \
214
		-e 's!%%BSDPAN_VERSION%%!${BSDPAN_VERSION}!g;' \
219
		-e 's!%%BSDPAN_VERSION%%!${BSDPAN_VERSION}!g;' \
Lines 215-220 Link Here
215
		${BSDPAN_WRKSRC}/ExtUtils/*.pm
220
		${BSDPAN_WRKSRC}/ExtUtils/*.pm
216
	${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
221
	${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
217
		${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
222
		${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
223
	# Keep the following two sync'ed
224
	${REINPLACE_CMD} -e 's|lddlflags="-shared "|lddlflags="-shared -L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE -lperl "|' \
225
		${WRKSRC}/hints/freebsd.sh
226
	${REINPLACE_CMD} -e 's|%%HOLDER%%|:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE:N-lperl|' \
227
		${WRKSRC}/Makefile.SH
218
.if ${PORT_OPTIONS:MPTHREAD}
228
.if ${PORT_OPTIONS:MPTHREAD}
219
	${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g;' \
229
	${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g;' \
220
		-e 's|%%PTHREAD_CFLAGS%%|${PTHREAD_CFLAGS}|g;' \
230
		-e 's|%%PTHREAD_CFLAGS%%|${PTHREAD_CFLAGS}|g;' \
Lines 230-237 Link Here
230
	${MKDIR} ${STAGEDIR}${SITE_ARCH}/auto
240
	${MKDIR} ${STAGEDIR}${SITE_ARCH}/auto
231
	${MKDIR} ${STAGEDIR}${SITE_PERL}/auto
241
	${MKDIR} ${STAGEDIR}${SITE_PERL}/auto
232
	${LN} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION} ${STAGEDIR}${PREFIX}/bin/perl5
242
	${LN} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION} ${STAGEDIR}${PREFIX}/bin/perl5
233
	${LN} -s libperl.so.${PERL_VER} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so
243
	${LN} -sf libperl.so.${PERL_VERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so
234
	${LN} -s libperl.so.${PERL_VER} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so.${PERL_VERSION}
244
	${LN} -sf libperl.so.${PERL_VERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so.${PERL_VER}
235
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION}
245
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION}
236
	${INSTALL_DATA} ${WRKDIR}/perl5_version ${STAGEDIR}${PREFIX}/etc
246
	${INSTALL_DATA} ${WRKDIR}/perl5_version ${STAGEDIR}${PREFIX}/etc
237
	${FIND} ${STAGEDIR} -name '*.bs' -size 0 -delete
247
	${FIND} ${STAGEDIR} -name '*.bs' -size 0 -delete
(-)lang/perl5.14/files/patch-Makefile.SH (-1 / +1 lines)
Lines 5-11 Link Here
5
 		$spitshell >>$Makefile <<'!NO!SUBS!'
5
 		$spitshell >>$Makefile <<'!NO!SUBS!'
6
 	rm -f $@
6
 	rm -f $@
7
-	$(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs)
7
-	$(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs)
8
+	$(LD) -o $@ $(SHRPLDFLAGS) -Wl,-soname,$(LIBPERL) $(obj) $(DYNALOADER) $(libs)
8
+	$(LD) -o $@ $(SHRPLDFLAGS%%HOLDER%%) -Wl,-soname,$(LIBPERL:R) $(obj) $(DYNALOADER) $(libs)
9
 !NO!SUBS!
9
 !NO!SUBS!
10
 		case "$osname" in
10
 		case "$osname" in
11
 		aix)
11
 		aix)
(-)lang/perl5.16/Makefile (-3 / +13 lines)
Lines 61-67 Link Here
61
HAS_CONFIGURE=	yes
61
HAS_CONFIGURE=	yes
62
CONFIGURE_SCRIPT=Configure
62
CONFIGURE_SCRIPT=Configure
63
CONFIGURE_ARGS=	-sde -Dprefix=${PREFIX} \
63
CONFIGURE_ARGS=	-sde -Dprefix=${PREFIX} \
64
	-Dlibperl=libperl.so.${PERL_VER} \
64
	-Dlibperl=libperl.so.${PERL_VERSION} \
65
	-Darchlib=${PREFIX}/${_ARCH_LIB} \
65
	-Darchlib=${PREFIX}/${_ARCH_LIB} \
66
	-Dprivlib=${PREFIX}/${_PRIV_LIB} \
66
	-Dprivlib=${PREFIX}/${_PRIV_LIB} \
67
	-Dman3dir=${PREFIX}/${MAN3PREFIX_REL}/man/man3 \
67
	-Dman3dir=${PREFIX}/${MAN3PREFIX_REL}/man/man3 \
Lines 209-214 Link Here
209
BSDPAN_VERSION=	20111107
209
BSDPAN_VERSION=	20111107
210
BSDPAN_WRKSRC=	${WRKDIR}/BSDPAN-${BSDPAN_VERSION}
210
BSDPAN_WRKSRC=	${WRKDIR}/BSDPAN-${BSDPAN_VERSION}
211
211
212
# Put a symlink to the future libperl.so.x.yy so that -lperl works.
213
post-extract:
214
	${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so
215
	${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so.${PERL_VER}
216
212
post-patch:
217
post-patch:
213
	${SED} -i '' -e 's|%%PERL_PKGNAME%%|${PKGNAME}|g; s|%%PERL_VER%%|${PERL_VER}|g;' \
218
	${SED} -i '' -e 's|%%PERL_PKGNAME%%|${PKGNAME}|g; s|%%PERL_VER%%|${PERL_VER}|g;' \
214
		-e 's!%%BSDPAN_VERSION%%!${BSDPAN_VERSION}!g;' \
219
		-e 's!%%BSDPAN_VERSION%%!${BSDPAN_VERSION}!g;' \
Lines 215-220 Link Here
215
		${BSDPAN_WRKSRC}/ExtUtils/*.pm
220
		${BSDPAN_WRKSRC}/ExtUtils/*.pm
216
	${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
221
	${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
217
		${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
222
		${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
223
	# Keep the following two sync'ed
224
	${REINPLACE_CMD} -e 's|lddlflags="-shared "|lddlflags="-shared -L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE -lperl "|' \
225
		${WRKSRC}/hints/freebsd.sh
226
	${REINPLACE_CMD} -e 's|%%HOLDER%%|:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE:N-lperl|' \
227
		${WRKSRC}/Makefile.SH
218
.if ${PORT_OPTIONS:MPTHREAD}
228
.if ${PORT_OPTIONS:MPTHREAD}
219
	${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g;' \
229
	${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g;' \
220
		-e 's|%%PTHREAD_CFLAGS%%|${PTHREAD_CFLAGS}|g;' \
230
		-e 's|%%PTHREAD_CFLAGS%%|${PTHREAD_CFLAGS}|g;' \
Lines 230-237 Link Here
230
	${MKDIR} ${STAGEDIR}${SITE_ARCH}/auto
240
	${MKDIR} ${STAGEDIR}${SITE_ARCH}/auto
231
	${MKDIR} ${STAGEDIR}${SITE_PERL}/auto
241
	${MKDIR} ${STAGEDIR}${SITE_PERL}/auto
232
	${LN} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION} ${STAGEDIR}${PREFIX}/bin/perl5
242
	${LN} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION} ${STAGEDIR}${PREFIX}/bin/perl5
233
	${LN} -s libperl.so.${PERL_VER} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so
243
	${LN} -sf libperl.so.${PERL_VERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so
234
	${LN} -s libperl.so.${PERL_VER} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so.${PERL_VERSION}
244
	${LN} -sf libperl.so.${PERL_VERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so.${PERL_VER}
235
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION}
245
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION}
236
	${INSTALL_DATA} ${WRKDIR}/perl5_version ${STAGEDIR}${PREFIX}/etc
246
	${INSTALL_DATA} ${WRKDIR}/perl5_version ${STAGEDIR}${PREFIX}/etc
237
	${FIND} ${STAGEDIR} -name '*.bs' -size 0 -delete
247
	${FIND} ${STAGEDIR} -name '*.bs' -size 0 -delete
(-)lang/perl5.16/files/patch-Makefile.SH (-1 / +1 lines)
Lines 5-11 Link Here
5
 		$spitshell >>$Makefile <<'!NO!SUBS!'
5
 		$spitshell >>$Makefile <<'!NO!SUBS!'
6
 	rm -f $@
6
 	rm -f $@
7
-	$(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs)
7
-	$(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs)
8
+	$(LD) -o $@ $(SHRPLDFLAGS) -Wl,-soname,$(LIBPERL) $(obj) $(DYNALOADER) $(libs)
8
+	$(LD) -o $@ $(SHRPLDFLAGS%%HOLDER%%) -Wl,-soname,$(LIBPERL:R) $(obj) $(DYNALOADER) $(libs)
9
 !NO!SUBS!
9
 !NO!SUBS!
10
 		case "$osname" in
10
 		case "$osname" in
11
 		aix)
11
 		aix)
(-)lang/perl5.18/Makefile (-3 / +13 lines)
Lines 78-84 Link Here
78
HAS_CONFIGURE=	yes
78
HAS_CONFIGURE=	yes
79
CONFIGURE_SCRIPT=Configure
79
CONFIGURE_SCRIPT=Configure
80
CONFIGURE_ARGS=	-sde -Dprefix=${PREFIX} \
80
CONFIGURE_ARGS=	-sde -Dprefix=${PREFIX} \
81
	-Dlibperl=libperl.so.${PERL_VER} \
81
	-Dlibperl=libperl.so.${PERL_VERSION} \
82
	-Darchlib=${PREFIX}/${_ARCH_LIB} \
82
	-Darchlib=${PREFIX}/${_ARCH_LIB} \
83
	-Dprivlib=${PREFIX}/${_PRIV_LIB} \
83
	-Dprivlib=${PREFIX}/${_PRIV_LIB} \
84
	-Dman3dir=${PREFIX}/${MAN3PREFIX_REL}/man/man3 \
84
	-Dman3dir=${PREFIX}/${MAN3PREFIX_REL}/man/man3 \
Lines 187-192 Link Here
187
BSDPAN_VERSION=	20111107
187
BSDPAN_VERSION=	20111107
188
BSDPAN_WRKSRC=	${WRKDIR}/BSDPAN-${BSDPAN_VERSION}
188
BSDPAN_WRKSRC=	${WRKDIR}/BSDPAN-${BSDPAN_VERSION}
189
189
190
# Put a symlink to the future libperl.so.x.yy so that -lperl works.
191
post-extract:
192
	${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so
193
	${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so.${PERL_VER}
194
190
post-patch:
195
post-patch:
191
	${SED} -i '' -e 's|%%PERL_PKGNAME%%|${PKGNAME}|g; s|%%PERL_VER%%|${PERL_VER}|g;' \
196
	${SED} -i '' -e 's|%%PERL_PKGNAME%%|${PKGNAME}|g; s|%%PERL_VER%%|${PERL_VER}|g;' \
192
		-e 's!%%BSDPAN_VERSION%%!${BSDPAN_VERSION}!g;' \
197
		-e 's!%%BSDPAN_VERSION%%!${BSDPAN_VERSION}!g;' \
Lines 193-198 Link Here
193
		${BSDPAN_WRKSRC}/ExtUtils/*.pm
198
		${BSDPAN_WRKSRC}/ExtUtils/*.pm
194
	${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
199
	${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
195
		${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
200
		${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
201
	# Keep the following two sync'ed
202
	${REINPLACE_CMD} -e 's|lddlflags="-shared "|lddlflags="-shared -L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE -lperl "|' \
203
		${WRKSRC}/hints/freebsd.sh
204
	${REINPLACE_CMD} -e 's|%%HOLDER%%|:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE:N-lperl|' \
205
		${WRKSRC}/Makefile.SH
196
.if ${PORT_OPTIONS:MPTHREAD}
206
.if ${PORT_OPTIONS:MPTHREAD}
197
	${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g;' \
207
	${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g;' \
198
		-e 's|%%PTHREAD_CFLAGS%%|${PTHREAD_CFLAGS}|g;' \
208
		-e 's|%%PTHREAD_CFLAGS%%|${PTHREAD_CFLAGS}|g;' \
Lines 208-215 Link Here
208
	${MKDIR} ${STAGEDIR}${SITE_ARCH}/auto
218
	${MKDIR} ${STAGEDIR}${SITE_ARCH}/auto
209
	${MKDIR} ${STAGEDIR}${SITE_PERL}/auto
219
	${MKDIR} ${STAGEDIR}${SITE_PERL}/auto
210
	${LN} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION} ${STAGEDIR}${PREFIX}/bin/perl5
220
	${LN} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION} ${STAGEDIR}${PREFIX}/bin/perl5
211
	${LN} -s libperl.so.${PERL_VER} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so
221
	${LN} -sf libperl.so.${PERL_VERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so
212
	${LN} -s libperl.so.${PERL_VER} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so.${PERL_VERSION}
222
	${LN} -sf libperl.so.${PERL_VERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so.${PERL_VER}
213
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION}
223
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION}
214
	${INSTALL_DATA} ${WRKDIR}/perl5_version ${STAGEDIR}${PREFIX}/etc
224
	${INSTALL_DATA} ${WRKDIR}/perl5_version ${STAGEDIR}${PREFIX}/etc
215
	${FIND} ${STAGEDIR} -name '*.bs' -size 0 -delete
225
	${FIND} ${STAGEDIR} -name '*.bs' -size 0 -delete
(-)lang/perl5.18/files/patch-Makefile.SH (-2 / +2 lines)
Lines 1-11 Link Here
1
--- Makefile.SH.orig	2014-10-01 15:23:34 UTC
1
--- Makefile.SH.orig	2014-10-01 15:23:34 UTC
2
+++ Makefile.SH
2
+++ Makefile.SH
3
@@ -805,7 +808,7 @@ $(LIBPERL): $& $(obj) $(DYNALOADER) $(LI
3
@@ -805,7 +805,7 @@ $(LIBPERL): $& $(obj) $(DYNALOADER) $(LI
4
 	true)
4
 	true)
5
 		$spitshell >>$Makefile <<'!NO!SUBS!'
5
 		$spitshell >>$Makefile <<'!NO!SUBS!'
6
 	rm -f $@
6
 	rm -f $@
7
-	$(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs)
7
-	$(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs)
8
+	$(LD) -o $@ $(SHRPLDFLAGS) -Wl,-soname,$(LIBPERL) $(obj) $(DYNALOADER) $(libs)
8
+	$(LD) -o $@ $(SHRPLDFLAGS%%HOLDER%%) -Wl,-soname,$(LIBPERL:R) $(obj) $(DYNALOADER) $(libs)
9
 !NO!SUBS!
9
 !NO!SUBS!
10
 		case "$osname" in
10
 		case "$osname" in
11
 		aix)
11
 		aix)
(-)lang/perl5.20/Makefile (-3 / +13 lines)
Lines 79-85 Link Here
79
HAS_CONFIGURE=	yes
79
HAS_CONFIGURE=	yes
80
CONFIGURE_SCRIPT=Configure
80
CONFIGURE_SCRIPT=Configure
81
CONFIGURE_ARGS=	-sde -Dprefix=${PREFIX} \
81
CONFIGURE_ARGS=	-sde -Dprefix=${PREFIX} \
82
	-Dlibperl=libperl.so.${PERL_VER} \
82
	-Dlibperl=libperl.so.${PERL_VERSION} \
83
	-Darchlib=${PREFIX}/${_ARCH_LIB} \
83
	-Darchlib=${PREFIX}/${_ARCH_LIB} \
84
	-Dprivlib=${PREFIX}/${_PRIV_LIB} \
84
	-Dprivlib=${PREFIX}/${_PRIV_LIB} \
85
	-Dman3dir=${PREFIX}/${MAN3PREFIX_REL}/man/man3 \
85
	-Dman3dir=${PREFIX}/${MAN3PREFIX_REL}/man/man3 \
Lines 184-189 Link Here
184
BSDPAN_VERSION=	20111107
184
BSDPAN_VERSION=	20111107
185
BSDPAN_WRKSRC=	${WRKDIR}/BSDPAN-${BSDPAN_VERSION}
185
BSDPAN_WRKSRC=	${WRKDIR}/BSDPAN-${BSDPAN_VERSION}
186
186
187
# Put a symlink to the future libperl.so.x.yy so that -lperl works.
188
post-extract:
189
	${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so
190
	${LN} -s libperl.so.${PERL_VERSION} ${WRKSRC}/libperl.so.${PERL_VER}
191
187
post-patch:
192
post-patch:
188
	${SED} -i '' -e 's|%%PERL_PKGNAME%%|${PKGNAME}|g; s|%%PERL_VER%%|${PERL_VER}|g;' \
193
	${SED} -i '' -e 's|%%PERL_PKGNAME%%|${PKGNAME}|g; s|%%PERL_VER%%|${PERL_VER}|g;' \
189
		-e 's!%%BSDPAN_VERSION%%!${BSDPAN_VERSION}!g;' \
194
		-e 's!%%BSDPAN_VERSION%%!${BSDPAN_VERSION}!g;' \
Lines 190-195 Link Here
190
		${BSDPAN_WRKSRC}/ExtUtils/*.pm
195
		${BSDPAN_WRKSRC}/ExtUtils/*.pm
191
	${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
196
	${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
192
		${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
197
		${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
198
	# Keep the following two sync'ed
199
	${REINPLACE_CMD} -e 's|lddlflags="-shared "|lddlflags="-shared -L${WRKSRC} -L${PREFIX}/${_ARCH_LIB}/CORE -Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE -lperl "|' \
200
		${WRKSRC}/hints/freebsd.sh
201
	${REINPLACE_CMD} -e 's|%%HOLDER%%|:N-L${WRKSRC}:N-L${PREFIX}/${_ARCH_LIB}/CORE:N-Wl,-rpath=${PREFIX}/${_ARCH_LIB}/CORE:N-lperl|' \
202
		${WRKSRC}/Makefile.SH
193
.if ${PORT_OPTIONS:MPTHREAD}
203
.if ${PORT_OPTIONS:MPTHREAD}
194
	${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g;' \
204
	${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g;' \
195
		-e 's|%%PTHREAD_CFLAGS%%|${PTHREAD_CFLAGS}|g;' \
205
		-e 's|%%PTHREAD_CFLAGS%%|${PTHREAD_CFLAGS}|g;' \
Lines 205-212 Link Here
205
	${MKDIR} ${STAGEDIR}${SITE_ARCH}/auto
215
	${MKDIR} ${STAGEDIR}${SITE_ARCH}/auto
206
	${MKDIR} ${STAGEDIR}${SITE_PERL}/auto
216
	${MKDIR} ${STAGEDIR}${SITE_PERL}/auto
207
	${LN} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION} ${STAGEDIR}${PREFIX}/bin/perl5
217
	${LN} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION} ${STAGEDIR}${PREFIX}/bin/perl5
208
	${LN} -s libperl.so.${PERL_VER} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so
218
	${LN} -sf libperl.so.${PERL_VERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so
209
	${LN} -s libperl.so.${PERL_VER} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so.${PERL_VERSION}
219
	${LN} -sf libperl.so.${PERL_VERSION} ${STAGEDIR}${PREFIX}/${_ARCH_LIB}/CORE/libperl.so.${PERL_VER}
210
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION}
220
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/perl${PERL_VERSION}
211
	${INSTALL_DATA} ${WRKDIR}/perl5_version ${STAGEDIR}${PREFIX}/etc
221
	${INSTALL_DATA} ${WRKDIR}/perl5_version ${STAGEDIR}${PREFIX}/etc
212
	${MKDIR} ${STAGEDIR}${SITE_ARCH}/machine
222
	${MKDIR} ${STAGEDIR}${SITE_ARCH}/machine
(-)lang/perl5.20/files/patch-Makefile.SH (-1 / +1 lines)
Lines 5-11 Link Here
5
 		$spitshell >>$Makefile <<'!NO!SUBS!'
5
 		$spitshell >>$Makefile <<'!NO!SUBS!'
6
 	rm -f $@
6
 	rm -f $@
7
-	$(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs)
7
-	$(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs)
8
+	$(LD) -o $@ $(SHRPLDFLAGS) -Wl,-soname,$(LIBPERL) $(obj) $(DYNALOADER) $(libs)
8
+	$(LD) -o $@ $(SHRPLDFLAGS%%HOLDER%%) -Wl,-soname,$(LIBPERL:R) $(obj) $(DYNALOADER) $(libs)
9
 !NO!SUBS!
9
 !NO!SUBS!
10
 		case "$osname" in
10
 		case "$osname" in
11
 		aix)
11
 		aix)

Return to bug 195821