For all these ebuilds the perl herd is listed as maintainer. The following list of ebuilds in gentoo-x86 have changes compared when to the Gentoo Prefix tree. Please review the changes and raise objections, if any. Thanks. dev-perl: --- Crypt-SSLeay/Crypt-SSLeay-0.57.ebuild 2009-09-23 19:35:31 +0200 +++ Crypt-SSLeay/Crypt-SSLeay-0.57.ebuild 2009-09-26 15:56:08 +0200 @@ -26 +26 @@ -myconf="${myconf} /usr" +myconf="${myconf} --lib=${EPREFIX}/usr ${EPREFIX}/usr" --- DBD-Pg/DBD-Pg-2.15.1.ebuild 2009-10-16 16:35:34 +0200 +++ DBD-Pg/DBD-Pg-2.15.1.ebuild 2009-10-21 21:19:00 +0200 @@ -28 +28 @@ - postgres_include="$(readlink -f /usr/include/postgresql)" + postgres_include="$(readlink -f ${EPREFIX}/usr/include/postgresql)" --- Net-DNS/Net-DNS-0.65.ebuild 2009-09-27 17:06:58 +0200 +++ Net-DNS/Net-DNS-0.65.ebuild 2009-09-30 19:38:38 +0200 @@ -26,0 +27 @@ +PATCHES=( ${FILESDIR}/${PN}-0.64-ar.patch ) Net-DNS-0.64-ar.patch: The linker on Darwin/x86 needs archives with an index, so create one. --- Makefile.PL +++ Makefile.PL @@ -260,7 +260,7 @@ cover netdns$(LIB_EXT): netdns$(OBJ_EXT) - $(AR) '.($^O eq 'MSWin32' && $Config{'cc'} eq 'cl'?'/OUT:':'cr '). + $(AR) '.($^O eq 'MSWin32' && $Config{'cc'} eq 'cl'?'/OUT:':'crs '). 'netdns$(LIB_EXT) netdns$(OBJ_EXT) '; --- Net-SSLeay/Net-SSLeay-1.35.ebuild 2009-03-21 03:09:30 +0100 +++ Net-SSLeay/Net-SSLeay-1.35.ebuild 2009-11-03 11:01:30 +0100 @@ -24,0 +25,3 @@ +export OPENSSL_PREFIX=${EPREFIX}/usr + +myconf="${myconf} ${EPREFIX}/usr" --- PortageXS/PortageXS-0.02.10.ebuild 2009-04-15 21:07:08 +0200 +++ PortageXS/PortageXS-0.02.10.ebuild 2009-10-29 17:48:19 +0100 @@ -5 +5 @@ -inherit perl-module +inherit perl-module eutils prefix @@ -23,0 +24,8 @@ + cd "${S}" + epatch "${FILESDIR}"/${PN}-0.02.09-prefix.patch + eprefixify \ + lib/PortageXS/Core.pm \ + lib/PortageXS.pm \ + usr/bin/portagexs_client \ + usr/sbin/portagexsd + @@ -35 +43 @@ - cp -r "${S}"/usr "${D}" + cp -r "${S}"/usr "${ED}" @@ -37 +45 @@ - cp -r "${S}"/etc "${D}" + cp -r "${S}"/etc "${ED}" @@ -41 +49 @@ - if [ -d /etc/portagexs ]; then + if [ -d "${EPREFIX}"/etc/portagexs ]; then PortageXS-0.02.09-prefix.patch: http://overlays.gentoo.org/proj/alt/browser/trunk/prefix-overlay/dev-perl/PortageXS/files/PortageXS-0.02.09-prefix.patch --- SGMLSpm/SGMLSpm-1.03-r5.ebuild 2007-07-12 11:05:38 +0200 +++ SGMLSpm/SGMLSpm-1.03-r5.ebuild 2009-04-11 17:52:07 +0200 @@ -30 +30 @@ - sed -i -e "s:SPECDIR = \${PERL5DIR}:SPECDIR = ${D}/usr/share/SGMLS:" Makefile + sed -i -e "s:SPECDIR = \${PERL5DIR}:SPECDIR = ${ED}/usr/share/SGMLS:" Makefile @@ -32,0 +33,6 @@ + + sed -i \ + -e "s:PERL = :PERL = ${EPREFIX}:" \ + -e "s:PERL5DIR = \${D}:PERL5DIR = ${ED}:" \ + -e "s:BINDIR = \${D}:BINDIR = ${ED}:" \ + -e "s:HTMLDIR = \${D}:HTMLDIR = ${ED}:" Makefile @@ -42 +48 @@ -# cd ${D}/usr/lib/${package}/vendor_perl/${version} +# cd ${ED}/usr/lib/${package}/vendor_perl/${version} --- libwww-perl/libwww-perl-5.834.ebuild 2009-11-22 11:49:57 +0100 +++ libwww-perl/libwww-perl-5.834.ebuild 2009-11-26 21:53:05 +0100 @@ -28,3 +28,10 @@ - dosym /usr/bin/lwp-request /usr/bin/GET - dosym /usr/bin/lwp-request /usr/bin/POST - dosym /usr/bin/lwp-request /usr/bin/HEAD + + touch "${T}"/lowercase + if [[ ! -f ${T}/LOWERCASE ]] ; then + # most OSX users are on a case-INsensitive filesystem, so don't install + # these, as in particular HEAD will collide with head (coreutils) + # this also applies for interix (windows underneath) + dosym /usr/bin/lwp-request /usr/bin/GET + dosym /usr/bin/lwp-request /usr/bin/POST + dosym /usr/bin/lwp-request /usr/bin/HEAD + fi --- math-pari/math-pari-2.01080602.ebuild 2009-11-13 03:17:34 +0100 +++ math-pari/math-pari-2.01080602.ebuild 2009-11-14 18:23:39 +0100 @@ -11 +11 @@ -inherit perl-module +inherit perl-module eutils @@ -48,0 +49,2 @@ + + epatch "${FILESDIR}"/${PN}-darwin.patch @@ -57 +59,3 @@ - use sparc && myconf="${myconf} machine=none" + if use sparc ; then + myconf="${myconf} machine=none" + fi math-pari-darwin.patch: On Darwin, libm doesn't exist, its contents is included in libSystem (equivalent of libc) --- Makefile.PL +++ Makefile.PL @@ -80,7 +80,7 @@ $os = $Config{osname}; $define .= " -DPARI_VERSION_EXP=$pari_version -DDEBUG_PARI"; -$libs = "-lm"; +$libs = $os eq "darwin" ? "" : "-lm"; $libs .= " $common::parilib" if $common::parilib; $noexp2 = ''; # Should be used for generation of paricfg.h --- perl-tk/perl-tk-804.028-r2.ebuild 2009-06-11 19:35:33 +0200 +++ perl-tk/perl-tk-804.028-r2.ebuild 2009-06-12 19:25:46 +0200 @@ -33 +33,2 @@ - "${FILESDIR}"/${PN}-CVE-2008-0553.patch ) + "${FILESDIR}"/${PN}-CVE-2008-0553.patch + "${FILESDIR}"/${PN}-804.027-interix-x11.patch ) @@ -35 +36 @@ -myconf="X11ROOT=/usr XFT=1 -I/usr/include/ -l/usr/$(get_libdir)" +myconf="X11ROOT=${EPREFIX}/usr XFT=1 -I${EPREFIX}/usr/include/ -l${EPREFIX}/usr/$(get_libdir)" perl-tk-804.027-interix-x11.patch: mduft unfortunately didn't document this one --- Tk-804.027/myConfig +++ Tk-804.027/myConfig @@ -15,6 +15,8 @@ $gccopt = ""; @macro = ( macro => {} ); +$X11=$ENV{X11}; + if (defined $Config{'gccversion'}) { $ver = $Config{'gccversion'}; perl-core: --- Compress-Raw-Zlib/Compress-Raw-Zlib-2.023.ebuild 2009-11-10 11:36:59 +0100 +++ Compress-Raw-Zlib/Compress-Raw-Zlib-2.023.ebuild 2009-11-14 18:23:27 +0100 @@ -27,2 +27,2 @@ - INCLUDE = /usr/include - LIB = /usr/$(get_libdir) + INCLUDE = ${EPREFIX}/usr/include + LIB = ${EPREFIX}/usr/$(get_libdir)
1. The case-sensitive test, what if ${T} is on a different partition that IS case-sensitive and ${PREFIX}/usr is on a partition that isn't? 2. I think these should go in with revbumps, so non-prefix users can spot if they break stuff. 3. Otherwise looks ok, but tove should review too.
(In reply to comment #1) > 1. The case-sensitive test, what if ${T} is on a different partition that IS > case-sensitive and ${PREFIX}/usr is on a partition that isn't? That's a good one. I think we could try and see if "${EPREFIX}"/BIN/SH exists, and if so, assume we have a case-INsensitive filesystem. A /bin/sh should never be missing at this point, At the same time (thinking about binpkgs and permissions as mandated by PMS) it's better to rm these symlinks in pkg_preinst when we determine that the filesystem we're about to install into is case-INsensitive. I'll update the ebuild. > 2. I think these should go in with revbumps, so non-prefix users can spot if > they break stuff. All of them, or only those that add patches to the sources?
Fail, collision-protect runs before. pkg_preinst is too late it seems.
(In reply to comment #0) > --- Crypt-SSLeay/Crypt-SSLeay-0.57.ebuild 2009-09-23 19:35:31 +0200 > +++ Crypt-SSLeay/Crypt-SSLeay-0.57.ebuild 2009-09-26 15:56:08 +0200 > @@ -26 +26 @@ > -myconf="${myconf} /usr" > +myconf="${myconf} --lib=${EPREFIX}/usr ${EPREFIX}/usr" I've added the --lib part and removed the /usr. > --- Net-SSLeay/Net-SSLeay-1.35.ebuild 2009-03-21 03:09:30 +0100 > +++ Net-SSLeay/Net-SSLeay-1.35.ebuild 2009-11-03 11:01:30 +0100 > @@ -24,0 +25,3 @@ > +export OPENSSL_PREFIX=${EPREFIX}/usr > + > +myconf="${myconf} ${EPREFIX}/usr" I removed myconf. > --- PortageXS/PortageXS-0.02.10.ebuild 2009-04-15 21:07:08 +0200 > +++ PortageXS/PortageXS-0.02.10.ebuild 2009-10-29 17:48:19 +0100 > http://overlays.gentoo.org/proj/alt/browser/trunk/prefix-overlay/dev-perl/PortageXS/files/PortageXS-0.02.09-prefix.patch PortageXS is ian's. > math-pari-darwin.patch: > > On Darwin, libm doesn't exist, its contents is included in libSystem > (equivalent of libc) Are you going to bug upstream?
(In reply to comment #2) > when we determine that the filesystem we're about to install into is > case-INsensitive. I'll update the ebuild. +1 on /BIN/SH > > 2. I think these should go in with revbumps, so non-prefix users can spot if > > they break stuff. > All of them, or only those that add patches to the sources? ALL of them.
(In reply to comment #4) > (In reply to comment #0) > > --- Crypt-SSLeay/Crypt-SSLeay-0.57.ebuild 2009-09-23 19:35:31 +0200 > > +++ Crypt-SSLeay/Crypt-SSLeay-0.57.ebuild 2009-09-26 15:56:08 +0200 > > @@ -26 +26 @@ > > -myconf="${myconf} /usr" > > +myconf="${myconf} --lib=${EPREFIX}/usr ${EPREFIX}/usr" > > I've added the --lib part and removed the /usr. ebuild is fine now, thanks > > --- Net-SSLeay/Net-SSLeay-1.35.ebuild 2009-03-21 03:09:30 +0100 > > +++ Net-SSLeay/Net-SSLeay-1.35.ebuild 2009-11-03 11:01:30 +0100 > > @@ -24,0 +25,3 @@ > > +export OPENSSL_PREFIX=${EPREFIX}/usr > > + > > +myconf="${myconf} ${EPREFIX}/usr" > > I removed myconf. I only need the additional export of OPENSSL_PREFIX now. > > --- PortageXS/PortageXS-0.02.10.ebuild 2009-04-15 21:07:08 +0200 > > +++ PortageXS/PortageXS-0.02.10.ebuild 2009-10-29 17:48:19 +0100 > > > http://overlays.gentoo.org/proj/alt/browser/trunk/prefix-overlay/dev-perl/PortageXS/files/PortageXS-0.02.09-prefix.patch > > PortageXS is ian's. I'll try to get a hold of him. > > math-pari-darwin.patch: > > > > On Darwin, libm doesn't exist, its contents is included in libSystem > > (equivalent of libc) > > Are you going to bug upstream? I was it if weren't a useless patch. It is an overzealous attempt to "get things right" by the original author. Darwin systems just have a symlink libm.dylib -> libSystem.dylib, so adding -lm doesn't hurt although it isn't really useful either, hence I removed the patch, leaving no more differences for the latest version. (In reply to comment #5) > (In reply to comment #2) > > when we determine that the filesystem we're about to install into is > > case-INsensitive. I'll update the ebuild. > +1 on /BIN/SH new check looks like this: # Perform a check to see if the live filesystem is case-INsensitive # or not. If it is, the symlinks GET, POST and in particular HEAD # will collide with e.g. head from coreutils. While under Linux # having a case-INsensitive filesystem is really unusual, most Mac # OS X users are on it, and also Interix users deal with # case-INsensitivity since Windows is underneath. # bash should always be there, if we can find it in capitals, we're # on a case-INsensitive filesystem. if [[ ! -f ${EROOT}/BIN/BASH ]] ; then dosym /usr/bin/lwp-request /usr/bin/GET dosym /usr/bin/lwp-request /usr/bin/POST dosym /usr/bin/lwp-request /usr/bin/HEAD fi > > > 2. I think these should go in with revbumps, so non-prefix users can spot if > > > they break stuff. > > All of them, or only those that add patches to the sources? > ALL of them. Ok.
This bug was just brought to my attention: I had already merged the only change for perl-core that didn't simply entail adding keywords. As that change simply prefixes "${EPREFIX}" in a couple of places, and explicitly sets EPREFIX to "" when on a non-prefix system, I could not see any way in which it could break. My apologies if this causes any issues.
thanks Jonathan, does this mean entire perl-core has been moved now?
all ebuilds transferred, thanks