Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 395685 | Differences between
and this patch

Collapse All | Expand All

(-)perl-5.12.3-r1.ebuild (-47 / +99 lines)
Lines 37-43 Link Here
37
	app-arch/bzip2
37
	app-arch/bzip2
38
	sys-libs/zlib"
38
	sys-libs/zlib"
39
DEPEND="${COMMON_DEPEND}
39
DEPEND="${COMMON_DEPEND}
40
	elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs )"
40
	!prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) )"
41
RDEPEND="${COMMON_DEPEND}"
41
RDEPEND="${COMMON_DEPEND}"
42
PDEPEND=">=app-admin/perl-cleaner-2.5"
42
PDEPEND=">=app-admin/perl-cleaner-2.5"
43
43
Lines 64-69 Link Here
64
		*-netbsd*)    osname="netbsd" ;;
64
		*-netbsd*)    osname="netbsd" ;;
65
		*-openbsd*)   osname="openbsd" ;;
65
		*-openbsd*)   osname="openbsd" ;;
66
		*-darwin*)    osname="darwin" ;;
66
		*-darwin*)    osname="darwin" ;;
67
		*-interix*)   osname="interix" ;;
67
		*)            osname="linux" ;;
68
		*)            osname="linux" ;;
68
	esac
69
	esac
69
70
Lines 137-144 Link Here
137
138
138
	# pod/perltoc.pod fails
139
	# pod/perltoc.pod fails
139
	# lib/ExtUtils/t/Embed.t fails
140
	# lib/ExtUtils/t/Embed.t fails
140
	ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV})
141
	if ! tc-is-static-only ; then
141
	ln -s ${LIBPERL} libperl$(get_libname )
142
		ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV})
143
		ln -s ${LIBPERL} libperl$(get_libname )
144
	fi
145
146
	epatch "${FILESDIR}"/${PN}-5.12.3-aix-soname.patch
147
	epatch "${FILESDIR}"/${PN}-5.8.8-solaris-relocation.patch
148
	epatch "${FILESDIR}"/${PN}-5.8.8-solaris11.patch
149
	epatch "${FILESDIR}"/${PN}-5.10.1-cleanup-paths.patch
150
	epatch "${FILESDIR}"/${PN}-5.8.8-usr-local.patch
151
	epatch "${FILESDIR}"/${PN}-5.10.1-hpux.patch
152
	epatch "${FILESDIR}"/${PN}-5.8.8-darwin-cc-ld.patch
153
	epatch "${FILESDIR}"/${PN}-5.12.3-mint.patch
154
	epatch "${FILESDIR}"/${PN}-5.12.3-interix.patch
155
156
	# Fix build on OSX Lion (10.7)
157
	sed -i -e '/^usenm=/s/true/false/' hints/darwin.sh
158
159
	# rest of usr-local patch
160
	sed -i \
161
		-e '/^locincpth=/c\locincpth=""' \
162
		-e '/^loclibpth=/c\loclibpth=""' \
163
		-e '/^glibpth=.*\/local\//s: /usr/local/lib.*":":' \
164
		Configure || die
142
}
165
}
143
166
144
myconf() {
167
myconf() {
Lines 171-182 Link Here
171
194
172
	# 266337
195
	# 266337
173
	export BUILD_BZIP2=0
196
	export BUILD_BZIP2=0
174
	export BZIP2_INCLUDE=/usr/include
197
	export BZIP2_INCLUDE=${EPREFIX}/usr/include
175
	export BZIP2_LIB=/usr/$(get_libdir)
198
	export BZIP2_LIB=${EPREFIX}/usr/$(get_libdir)
176
	cat <<-EOF > "${S}/cpan/Compress-Raw-Zlib/config.in"
199
	cat <<-EOF > "${S}/cpan/Compress-Raw-Zlib/config.in"
177
		BUILD_ZLIB = False
200
		BUILD_ZLIB = False
178
		INCLUDE = /usr/include
201
		INCLUDE = ${EPREFIX}/usr/include
179
		LIB = /usr/$(get_libdir)
202
		LIB = ${EPREFIX}/usr/$(get_libdir)
180
203
181
		OLD_ZLIB = False
204
		OLD_ZLIB = False
182
		GZIP_OS_CODE = AUTO_DETECT
205
		GZIP_OS_CODE = AUTO_DETECT
Lines 222-232 Link Here
222
245
223
	[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
246
	[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
224
247
225
	if [[ $(get_libdir) != "lib" ]] ; then
248
	# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
249
	# Prefix itself we don't do multilib either, so make sure perl can find
250
	# something compatible.
251
	if use prefix ; then
252
		local ldir
253
		local llib
254
		local paths=""
255
		echo "int main() {}" > "${T}"/t.c
256
		# need to ensure dirs contain compatible libs, bug #358875
257
		for ldir in /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib ; do
258
			[[ -d ${ldir} ]] || continue
259
			# look for libc, which should be somewhere
260
			llib=${ldir}/libc$(get_libname)
261
			[[ -e ${llib} ]] || continue
262
			if $(tc-getCC) -o "${T}"/t "${T}"/t.c ${llib} >& /dev/null ; then
263
				ldir=${ldir#/usr}
264
				paths="${ldir} /usr${ldir}"
265
				break
266
			fi
267
		done
268
		myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths:-/lib /usr/lib}"
269
	elif [[ $(get_libdir) != "lib" ]] ; then
226
		# We need to use " and not ', as the written config.sh use ' ...
270
		# We need to use " and not ', as the written config.sh use ' ...
227
		myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
271
		myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
228
	fi
272
	fi
229
273
274
	# don't try building ODBM, bug #354453
275
	myconf -Dnoextensions=ODBM_File
276
230
	sh Configure \
277
	sh Configure \
231
		-des \
278
		-des \
232
		-Duseshrplib \
279
		-Duseshrplib \
Lines 234-264 Link Here
234
		-Dcc="$(tc-getCC)" \
281
		-Dcc="$(tc-getCC)" \
235
		-Doptimize="${CFLAGS}" \
282
		-Doptimize="${CFLAGS}" \
236
		-Dldflags="${LDFLAGS}" \
283
		-Dldflags="${LDFLAGS}" \
237
		-Dprefix='/usr' \
284
		-Dprefix="${EPREFIX}"'/usr' \
238
		-Dsiteprefix='/usr' \
285
		-Dinstallprefix="${EPREFIX}"'/usr' \
239
		-Dvendorprefix='/usr' \
286
		-Dsiteprefix="${EPREFIX}"'/usr' \
240
		-Dscriptdir='/usr/bin' \
287
		-Dvendorprefix="${EPREFIX}"'/usr' \
241
		-Dprivlib="${PRIV_LIB}" \
288
		-Dscriptdir="${EPREFIX}"'/usr/bin' \
242
		-Darchlib="${ARCH_LIB}" \
289
		-Dprivlib="${EPREFIX}/usr/$(get_libdir)/perl5/${MY_PV}" \
243
		-Dsitelib="${SITE_LIB}" \
290
		-Darchlib="${EPREFIX}/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" \
244
		-Dsitearch="${SITE_ARCH}" \
291
		-Dsitelib="${EPREFIX}/usr/$(get_libdir)/perl5/site_perl/${MY_PV}" \
245
		-Dvendorlib="${VENDOR_LIB}" \
292
		-Dsitearch="${EPREFIX}/usr/$(get_libdir)/perl5/site_perl/${MY_PV}/${myarch}${mythreading}" \
246
		-Dvendorarch="${VENDOR_ARCH}" \
293
		-Dvendorlib="${EPREFIX}/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}" \
247
		-Dman1dir=/usr/share/man/man1 \
294
		-Dvendorarch="${EPREFIX}/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}" \
248
		-Dman3dir=/usr/share/man/man3 \
295
		-Dman1dir="${EPREFIX}"/usr/share/man/man1 \
249
		-Dsiteman1dir=/usr/share/man/man1 \
296
		-Dman3dir="${EPREFIX}"/usr/share/man/man3 \
250
		-Dsiteman3dir=/usr/share/man/man3 \
297
		-Dsiteman1dir="${EPREFIX}"/usr/share/man/man1 \
251
		-Dvendorman1dir=/usr/share/man/man1 \
298
		-Dsiteman3dir="${EPREFIX}"/usr/share/man/man3 \
252
		-Dvendorman3dir=/usr/share/man/man3 \
299
		-Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
300
		-Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
253
		-Dman1ext='1' \
301
		-Dman1ext='1' \
254
		-Dman3ext='3pm' \
302
		-Dman3ext='3pm' \
255
		-Dlibperl="${LIBPERL}" \
303
		-Dlibperl="${LIBPERL}" \
256
		-Dlocincpth=' ' \
304
		-Dlocincpth="${EPREFIX}"'/usr/include ' \
305
		-Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
257
		-Duselargefiles \
306
		-Duselargefiles \
258
		-Dd_semctl_semun \
307
		-Dd_semctl_semun \
259
		-Dcf_by='Gentoo' \
308
		-Dcf_by='Gentoo' \
260
		-Dmyhostname='localhost' \
309
		-Dmyhostname='localhost' \
261
		-Dperladmin='root@localhost' \
310
		-Dperladmin="${PORTAGE_ROOT_USER:-root}@localhost" \
262
		-Dinstallusrbinperl='n' \
311
		-Dinstallusrbinperl='n' \
263
		-Ud_csh \
312
		-Ud_csh \
264
		-Uusenm \
313
		-Uusenm \
Lines 294-311 Link Here
294
	fi
343
	fi
295
	make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}"
344
	make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}"
296
345
297
	rm -f "${D}"/usr/bin/perl
346
	rm -f "${ED}"/usr/bin/perl
298
	ln -s perl${MY_PV} "${D}"/usr/bin/perl
347
	ln -s perl${MY_PV} "${ED}"/usr/bin/perl
299
348
300
	dolib.so "${D}"/${coredir}/${LIBPERL} || die
349
	if ! tc-is-static-only ; then
301
	dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
350
		dolib.so "${ED}"/${coredir}/${LIBPERL} || die
302
	dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname) || die
351
		dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
303
	rm -f "${D}"/${coredir}/${LIBPERL}
352
		dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname) || die
304
	dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL}
353
		rm -f "${ED}"/${coredir}/${LIBPERL}
305
	dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${SHORT_PV})
354
		dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL}
306
	dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname)
355
		dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${SHORT_PV})
356
		dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname)
357
	fi
307
358
308
	rm -rf "${D}"/usr/share/man/man3 || die "Unable to remove module man pages"
359
	rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
309
360
310
#	# A poor fix for the miniperl issues
361
#	# A poor fix for the miniperl issues
311
#	dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp
362
#	dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp
Lines 319-329 Link Here
319
		sed -i -e "s:${D}::" "${i}" || die "Sed failed"
370
		sed -i -e "s:${D}::" "${i}" || die "Sed failed"
320
	done
371
	done
321
372
322
	find "${D}" -type f -name .packlist -delete || die
373
	find "${ED}" -type f -name .packlist -delete || die
323
374
324
	# Note: find out from psm why we would need/want this.
375
	# Note: find out from psm why we would need/want this.
325
	# ( use berkdb && has_version '=sys-libs/db-1*' ) ||
376
	# ( use berkdb && has_version '=sys-libs/db-1*' ) ||
326
	#	find "${D}" -name "*NDBM*" | xargs rm -f
377
	#	find "${ED}" -name "*NDBM*" | xargs rm -f
327
378
328
	dodoc Changes* README AUTHORS || die
379
	dodoc Changes* README AUTHORS || die
329
380
Lines 336-342 Link Here
336
			--podroot='.' \
387
			--podroot='.' \
337
			--podpath='lib:ext:pod:vms' \
388
			--podpath='lib:ext:pod:vms' \
338
			--recurse \
389
			--recurse \
339
			--htmldir="${D}/usr/share/doc/${PF}/html" \
390
			--htmldir="${ED}/usr/share/doc/${PF}/html" \
340
			--libpods='perlfunc:perlguts:perlvar:perlrun:perlop'
391
			--libpods='perlfunc:perlguts:perlvar:perlrun:perlop'
341
	fi
392
	fi
342
393
Lines 374-381 Link Here
374
		fi
425
		fi
375
426
376
		einfo "Converting C header files to the corresponding Perl format (ignore any error)"
427
		einfo "Converting C header files to the corresponding Perl format (ignore any error)"
428
		# unprefixed as this is all kernel/libc stuff that we never provide
377
		pushd /usr/include >/dev/null
429
		pushd /usr/include >/dev/null
378
			h2ph -Q -a -d ${ARCH_LIB} \
430
			h2ph -Q -a -d "${EPREFIX}${ARCH_LIB}" \
379
				asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \
431
				asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \
380
				sys/socket.h sys/time.h wait.h sysexits.h
432
				sys/socket.h sys/time.h wait.h sysexits.h
381
		popd >/dev/null
433
		popd >/dev/null
Lines 430-456 Link Here
430
		for i in "$@" ; do
482
		for i in "$@" ; do
431
			alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*"
483
			alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*"
432
			if [[ ${i} != cpanp-run-perl ]] ; then
484
			if [[ ${i} != cpanp-run-perl ]] ; then
433
				ff=`echo ${ROOT}/usr/share/man/man1/${i}-${ver}-${P}.1*`
485
				ff=`echo ${EROOT}/usr/share/man/man1/${i}-${ver}-${P}.1*`
434
				ff=${ff##*.1}
486
				ff=${ff##*.1}
435
				alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*"
487
				alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*"
436
			fi
488
			fi
437
		done
489
		done
438
	elif has "${EBUILD_PHASE:-none}" "setup" ; then
490
	elif has "${EBUILD_PHASE:-none}" "setup" ; then
439
		for i in "$@" ; do
491
		for i in "$@" ; do
440
			if [[ -f ${ROOT}/usr/bin/${i} && ! -h ${ROOT}/usr/bin/${i} ]] ; then
492
			if [[ -f ${EROOT}/usr/bin/${i} && ! -h ${EROOT}/usr/bin/${i} ]] ; then
441
				has_version ${pkg} && ewarn "You must reinstall $pkg !"
493
				has_version ${pkg} && ewarn "You must reinstall $pkg !"
442
				break
494
				break
443
			fi
495
			fi
444
		done
496
		done
445
	else
497
	else
446
		for i in "$@" ; do
498
		for i in "$@" ; do
447
			if ! [[ -f "${D}"/usr/bin/${i} ]] ; then
499
			if ! [[ -f "${ED}"/usr/bin/${i} ]] ; then
448
				use build || ewarn "/usr/bin/${i} does not exist!"
500
				use build || ewarn "/usr/bin/${i} does not exist!"
449
				continue
501
				continue
450
			fi
502
			fi
451
			mv "${D}"/usr/bin/${i}{,-${ver}-${P}} || die
503
			mv "${ED}"/usr/bin/${i}{,-${ver}-${P}} || die
452
			if [[ -f ${D}/usr/share/man/man1/${i}.1 ]] ; then
504
			if [[ -f ${ED}/usr/share/man/man1/${i}.1 ]] ; then
453
				mv "${D}"/usr/share/man/man1/${i}{.1,-${ver}-${P}.1} || die
505
				mv "${ED}"/usr/share/man/man1/${i}{.1,-${ver}-${P}.1} || die
454
			else
506
			else
455
				echo "/usr/share/man/man1/${i}.1 does not exist!"
507
				echo "/usr/share/man/man1/${i}.1 does not exist!"
456
			fi
508
			fi
Lines 621-627 Link Here
621
	.${ARCH_LIB}/threads.pm
673
	.${ARCH_LIB}/threads.pm
622
"
674
"
623
675
624
	pushd "${D}" > /dev/null
676
	pushd "${ED}" > /dev/null
625
	# Remove cruft
677
	# Remove cruft
626
	einfo "Removing files that are not in the minimal install"
678
	einfo "Removing files that are not in the minimal install"
627
	echo "${MINIMAL_PERL_INSTALL}"
679
	echo "${MINIMAL_PERL_INSTALL}"

Return to bug 395685