Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 296655 Details for
Bug 395685
Please review Prefix changes for dev-lang/perl
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
perl-5.12.3-r1 patch
perl-5.12.3-r1.patch (text/plain), 9.47 KB, created by
Fabian Groffen
on 2011-12-22 13:14:19 UTC
(
hide
)
Description:
perl-5.12.3-r1 patch
Filename:
MIME Type:
Creator:
Fabian Groffen
Created:
2011-12-22 13:14:19 UTC
Size:
9.47 KB
patch
obsolete
>--- perl-5.12.3-r1.ebuild 2011-05-07 18:36:19.000000000 +0200 >+++ perl-5.12.3-r1.ebuild 2011-12-22 14:08:20.363477000 +0100 >@@ -37,7 +37,7 @@ > app-arch/bzip2 > sys-libs/zlib" > DEPEND="${COMMON_DEPEND} >- elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs )" >+ !prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) )" > RDEPEND="${COMMON_DEPEND}" > PDEPEND=">=app-admin/perl-cleaner-2.5" > >@@ -64,6 +64,7 @@ > *-netbsd*) osname="netbsd" ;; > *-openbsd*) osname="openbsd" ;; > *-darwin*) osname="darwin" ;; >+ *-interix*) osname="interix" ;; > *) osname="linux" ;; > esac > >@@ -137,8 +138,30 @@ > > # pod/perltoc.pod fails > # lib/ExtUtils/t/Embed.t fails >- ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) >- ln -s ${LIBPERL} libperl$(get_libname ) >+ if ! tc-is-static-only ; then >+ ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) >+ ln -s ${LIBPERL} libperl$(get_libname ) >+ fi >+ >+ epatch "${FILESDIR}"/${PN}-5.12.3-aix-soname.patch >+ epatch "${FILESDIR}"/${PN}-5.8.8-solaris-relocation.patch >+ epatch "${FILESDIR}"/${PN}-5.8.8-solaris11.patch >+ epatch "${FILESDIR}"/${PN}-5.10.1-cleanup-paths.patch >+ epatch "${FILESDIR}"/${PN}-5.8.8-usr-local.patch >+ epatch "${FILESDIR}"/${PN}-5.10.1-hpux.patch >+ epatch "${FILESDIR}"/${PN}-5.8.8-darwin-cc-ld.patch >+ epatch "${FILESDIR}"/${PN}-5.12.3-mint.patch >+ epatch "${FILESDIR}"/${PN}-5.12.3-interix.patch >+ >+ # Fix build on OSX Lion (10.7) >+ sed -i -e '/^usenm=/s/true/false/' hints/darwin.sh >+ >+ # rest of usr-local patch >+ sed -i \ >+ -e '/^locincpth=/c\locincpth=""' \ >+ -e '/^loclibpth=/c\loclibpth=""' \ >+ -e '/^glibpth=.*\/local\//s: /usr/local/lib.*":":' \ >+ Configure || die > } > > myconf() { >@@ -171,12 +194,12 @@ > > # 266337 > export BUILD_BZIP2=0 >- export BZIP2_INCLUDE=/usr/include >- export BZIP2_LIB=/usr/$(get_libdir) >+ export BZIP2_INCLUDE=${EPREFIX}/usr/include >+ export BZIP2_LIB=${EPREFIX}/usr/$(get_libdir) > cat <<-EOF > "${S}/cpan/Compress-Raw-Zlib/config.in" > BUILD_ZLIB = False >- INCLUDE = /usr/include >- LIB = /usr/$(get_libdir) >+ INCLUDE = ${EPREFIX}/usr/include >+ LIB = ${EPREFIX}/usr/$(get_libdir) > > OLD_ZLIB = False > GZIP_OS_CODE = AUTO_DETECT >@@ -222,11 +245,35 @@ > > [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" > >- if [[ $(get_libdir) != "lib" ]] ; then >+ # Prefix: the host system needs not to follow Gentoo multilib stuff, and in >+ # Prefix itself we don't do multilib either, so make sure perl can find >+ # something compatible. >+ if use prefix ; then >+ local ldir >+ local llib >+ local paths="" >+ echo "int main() {}" > "${T}"/t.c >+ # need to ensure dirs contain compatible libs, bug #358875 >+ for ldir in /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib ; do >+ [[ -d ${ldir} ]] || continue >+ # look for libc, which should be somewhere >+ llib=${ldir}/libc$(get_libname) >+ [[ -e ${llib} ]] || continue >+ if $(tc-getCC) -o "${T}"/t "${T}"/t.c ${llib} >& /dev/null ; then >+ ldir=${ldir#/usr} >+ paths="${ldir} /usr${ldir}" >+ break >+ fi >+ done >+ myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths:-/lib /usr/lib}" >+ elif [[ $(get_libdir) != "lib" ]] ; then > # We need to use " and not ', as the written config.sh use ' ... > myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" > fi > >+ # don't try building ODBM, bug #354453 >+ myconf -Dnoextensions=ODBM_File >+ > sh Configure \ > -des \ > -Duseshrplib \ >@@ -234,31 +281,33 @@ > -Dcc="$(tc-getCC)" \ > -Doptimize="${CFLAGS}" \ > -Dldflags="${LDFLAGS}" \ >- -Dprefix='/usr' \ >- -Dsiteprefix='/usr' \ >- -Dvendorprefix='/usr' \ >- -Dscriptdir='/usr/bin' \ >- -Dprivlib="${PRIV_LIB}" \ >- -Darchlib="${ARCH_LIB}" \ >- -Dsitelib="${SITE_LIB}" \ >- -Dsitearch="${SITE_ARCH}" \ >- -Dvendorlib="${VENDOR_LIB}" \ >- -Dvendorarch="${VENDOR_ARCH}" \ >- -Dman1dir=/usr/share/man/man1 \ >- -Dman3dir=/usr/share/man/man3 \ >- -Dsiteman1dir=/usr/share/man/man1 \ >- -Dsiteman3dir=/usr/share/man/man3 \ >- -Dvendorman1dir=/usr/share/man/man1 \ >- -Dvendorman3dir=/usr/share/man/man3 \ >+ -Dprefix="${EPREFIX}"'/usr' \ >+ -Dinstallprefix="${EPREFIX}"'/usr' \ >+ -Dsiteprefix="${EPREFIX}"'/usr' \ >+ -Dvendorprefix="${EPREFIX}"'/usr' \ >+ -Dscriptdir="${EPREFIX}"'/usr/bin' \ >+ -Dprivlib="${EPREFIX}/usr/$(get_libdir)/perl5/${MY_PV}" \ >+ -Darchlib="${EPREFIX}/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" \ >+ -Dsitelib="${EPREFIX}/usr/$(get_libdir)/perl5/site_perl/${MY_PV}" \ >+ -Dsitearch="${EPREFIX}/usr/$(get_libdir)/perl5/site_perl/${MY_PV}/${myarch}${mythreading}" \ >+ -Dvendorlib="${EPREFIX}/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}" \ >+ -Dvendorarch="${EPREFIX}/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}" \ >+ -Dman1dir="${EPREFIX}"/usr/share/man/man1 \ >+ -Dman3dir="${EPREFIX}"/usr/share/man/man3 \ >+ -Dsiteman1dir="${EPREFIX}"/usr/share/man/man1 \ >+ -Dsiteman3dir="${EPREFIX}"/usr/share/man/man3 \ >+ -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \ >+ -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \ > -Dman1ext='1' \ > -Dman3ext='3pm' \ > -Dlibperl="${LIBPERL}" \ >- -Dlocincpth=' ' \ >+ -Dlocincpth="${EPREFIX}"'/usr/include ' \ >+ -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \ > -Duselargefiles \ > -Dd_semctl_semun \ > -Dcf_by='Gentoo' \ > -Dmyhostname='localhost' \ >- -Dperladmin='root@localhost' \ >+ -Dperladmin="${PORTAGE_ROOT_USER:-root}@localhost" \ > -Dinstallusrbinperl='n' \ > -Ud_csh \ > -Uusenm \ >@@ -294,18 +343,20 @@ > fi > make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}" > >- rm -f "${D}"/usr/bin/perl >- ln -s perl${MY_PV} "${D}"/usr/bin/perl >+ rm -f "${ED}"/usr/bin/perl >+ ln -s perl${MY_PV} "${ED}"/usr/bin/perl > >- dolib.so "${D}"/${coredir}/${LIBPERL} || die >- dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die >- dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname) || die >- rm -f "${D}"/${coredir}/${LIBPERL} >- dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} >- dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${SHORT_PV}) >- dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname) >+ if ! tc-is-static-only ; then >+ dolib.so "${ED}"/${coredir}/${LIBPERL} || die >+ dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die >+ dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname) || die >+ rm -f "${ED}"/${coredir}/${LIBPERL} >+ dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} >+ dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${SHORT_PV}) >+ dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname) >+ fi > >- rm -rf "${D}"/usr/share/man/man3 || die "Unable to remove module man pages" >+ rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages" > > # # A poor fix for the miniperl issues > # dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp >@@ -319,11 +370,11 @@ > sed -i -e "s:${D}::" "${i}" || die "Sed failed" > done > >- find "${D}" -type f -name .packlist -delete || die >+ find "${ED}" -type f -name .packlist -delete || die > > # Note: find out from psm why we would need/want this. > # ( use berkdb && has_version '=sys-libs/db-1*' ) || >- # find "${D}" -name "*NDBM*" | xargs rm -f >+ # find "${ED}" -name "*NDBM*" | xargs rm -f > > dodoc Changes* README AUTHORS || die > >@@ -336,7 +387,7 @@ > --podroot='.' \ > --podpath='lib:ext:pod:vms' \ > --recurse \ >- --htmldir="${D}/usr/share/doc/${PF}/html" \ >+ --htmldir="${ED}/usr/share/doc/${PF}/html" \ > --libpods='perlfunc:perlguts:perlvar:perlrun:perlop' > fi > >@@ -374,8 +425,9 @@ > fi > > einfo "Converting C header files to the corresponding Perl format (ignore any error)" >+ # unprefixed as this is all kernel/libc stuff that we never provide > pushd /usr/include >/dev/null >- h2ph -Q -a -d ${ARCH_LIB} \ >+ h2ph -Q -a -d "${EPREFIX}${ARCH_LIB}" \ > asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \ > sys/socket.h sys/time.h wait.h sysexits.h > popd >/dev/null >@@ -430,27 +482,27 @@ > for i in "$@" ; do > alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*" > if [[ ${i} != cpanp-run-perl ]] ; then >- ff=`echo ${ROOT}/usr/share/man/man1/${i}-${ver}-${P}.1*` >+ ff=`echo ${EROOT}/usr/share/man/man1/${i}-${ver}-${P}.1*` > ff=${ff##*.1} > alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*" > fi > done > elif has "${EBUILD_PHASE:-none}" "setup" ; then > for i in "$@" ; do >- if [[ -f ${ROOT}/usr/bin/${i} && ! -h ${ROOT}/usr/bin/${i} ]] ; then >+ if [[ -f ${EROOT}/usr/bin/${i} && ! -h ${EROOT}/usr/bin/${i} ]] ; then > has_version ${pkg} && ewarn "You must reinstall $pkg !" > break > fi > done > else > for i in "$@" ; do >- if ! [[ -f "${D}"/usr/bin/${i} ]] ; then >+ if ! [[ -f "${ED}"/usr/bin/${i} ]] ; then > use build || ewarn "/usr/bin/${i} does not exist!" > continue > fi >- mv "${D}"/usr/bin/${i}{,-${ver}-${P}} || die >- if [[ -f ${D}/usr/share/man/man1/${i}.1 ]] ; then >- mv "${D}"/usr/share/man/man1/${i}{.1,-${ver}-${P}.1} || die >+ mv "${ED}"/usr/bin/${i}{,-${ver}-${P}} || die >+ if [[ -f ${ED}/usr/share/man/man1/${i}.1 ]] ; then >+ mv "${ED}"/usr/share/man/man1/${i}{.1,-${ver}-${P}.1} || die > else > echo "/usr/share/man/man1/${i}.1 does not exist!" > fi >@@ -621,7 +673,7 @@ > .${ARCH_LIB}/threads.pm > " > >- pushd "${D}" > /dev/null >+ pushd "${ED}" > /dev/null > # Remove cruft > einfo "Removing files that are not in the minimal install" > echo "${MINIMAL_PERL_INSTALL}"
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 395685
: 296655 |
296657