commit:     6cfbc5442acc3a68dea7e4639cfee164c88cb85a
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sun May 15 21:44:26 2016 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sun May 15 21:45:07 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6cfbc544

dev-lang/perl: Add some missing files to fix the eblit logic

Package-Manager: portage-2.2.28

 dev-lang/perl/files/eblits/common-v50240001.eblit  |  71 ++++++++
 .../files/eblits/src_configure-v50240001.eblit     | 188 +++++++++++++++++++++
 .../perl/files/eblits/src_install-v50240001.eblit  |  51 ++++++
 dev-lang/perl/perl-5.24.0.ebuild                   |   4 +-
 4 files changed, 312 insertions(+), 2 deletions(-)

diff --git a/dev-lang/perl/files/eblits/common-v50240001.eblit 
b/dev-lang/perl/files/eblits/common-v50240001.eblit
new file mode 100644
index 0000000..2a8d815
--- /dev/null
+++ b/dev-lang/perl/files/eblits/common-v50240001.eblit
@@ -0,0 +1,71 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+src_remove_dual_file() {
+       local i pkg ver
+       pkg="$1"
+       ver="$2"
+       shift 2
+       case "${EBUILD_PHASE:-none}" in
+               postinst|postrm)
+                       for i in "$@" ; do
+                               alternatives_auto_makesym "${i}" "${i}-[0-9]*"
+                       done
+                       ;;
+               setup)
+                       for i in "$@" ; do
+                               if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; 
then
+                                       has_version ${pkg} && ewarn "You must 
reinstall ${pkg} !"
+                                       break
+                               fi
+                       done
+                       ;;
+               install)
+                       for i in "$@" ; do
+                               if ! [[ -f "${ED}"${i} ]] ; then
+                                       ewarn "${i} does not exist!"
+                                       continue
+                               fi
+                               mv "${ED}"${i}{,-${ver}-${P}} || die
+                       done
+                       ;;
+       esac
+}
+
+src_remove_dual_man() {
+       local i pkg ver ff
+       pkg="$1"
+       ver="$2"
+       shift 2
+       case "${EBUILD_PHASE:-none}" in
+               postinst|postrm)
+                       for i in "$@" ; do
+                               ff=`echo 
"${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
+                               ff=${ff##*${i#${i%.[0-9]}}}
+                               alternatives_auto_makesym "${i}${ff}" 
"${i%.[0-9]}-[0-9]*"
+                       done
+                       ;;
+               install)
+                       for i in "$@" ; do
+                               if ! [[ -f "${ED}"${i} ]] ; then
+                                       ewarn "${i} does not exist!"
+                                       continue
+                               fi
+                               mv "${ED}"${i} 
"${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
+                       done
+                       ;;
+       esac
+}
+
+src_remove_dual() {
+       local i pkg ver
+       pkg="$1"
+       ver="$2"
+       shift 2
+       for i in "$@" ; do
+               src_remove_dual_file  "${pkg}" "${ver}" "/usr/bin/${i}"
+               src_remove_dual_man   "${pkg}" "${ver}" 
"/usr/share/man/man1/${i}.1"
+       done
+}
+

diff --git a/dev-lang/perl/files/eblits/src_configure-v50240001.eblit 
b/dev-lang/perl/files/eblits/src_configure-v50240001.eblit
new file mode 100644
index 0000000..05fa86b
--- /dev/null
+++ b/dev-lang/perl/files/eblits/src_configure-v50240001.eblit
@@ -0,0 +1,188 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+myconf() {
+       # the myconf array is declared in src_configure
+       myconf=( "${myconf[@]}" "$@" )
+}
+
+eblit-perl-src_configure() {
+       declare -a myconf
+
+       export LC_ALL="C"
+       [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
+
+       # some arches and -O do not mix :)
+       use ppc && replace-flags -O? -O1
+       # Perl has problems compiling with -Os in your flags with glibc
+       use elibc_uclibc || replace-flags "-Os" "-O2"
+       # This flag makes compiling crash in interesting ways
+       filter-flags "-malign-double"
+       # Fixes bug #97645
+       use ppc && filter-flags "-mpowerpc-gpopt"
+       # Fixes bug #143895 on gcc-4.1.1
+       filter-flags "-fsched2-use-superblocks"
+
+       use sparc && myconf -Ud_longdbl
+
+       export BUILD_BZIP2=0
+       export BZIP2_INCLUDE=${EPREFIX}/usr/include
+       export BZIP2_LIB=${EPREFIX}/usr/$(get_libdir)
+
+       export BUILD_ZLIB=False
+       export ZLIB_INCLUDE=${EPREFIX}/usr/include
+       export ZLIB_LIB=${EPREFIX}/usr/$(get_libdir)
+
+       # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
+
+       myndbm='U'
+       mygdbm='U'
+       mydb='U'
+
+       if use gdbm ; then
+               mygdbm='D'
+               myndbm='D'
+       fi
+       if use berkdb ; then
+               mydb='D'
+               has_version '=sys-libs/db-1*' && myndbm='D'
+       fi
+
+       myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
+
+       if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
+               ewarn "Perl will not be built with berkdb support, use gcc if 
you needed it..."
+               myconf -Ui_db -Ui_ndbm
+       fi
+
+       use ithreads && myconf -Dusethreads
+
+       if use debug ; then
+               append-cflags "-g"
+               myconf -DDEBUGGING
+       elif [[ ${CFLAGS} == *-g* ]] ; then
+               myconf -DDEBUGGING=-g
+       else
+               myconf -DDEBUGGING=none
+       fi
+
+       if [[ -n ${PERL_OLDVERSEN} ]] ; then
+               local inclist=$(for v in ${PERL_OLDVERSEN}; do echo -n 
"${v}/${myarch}${mythreading} ${v} "; done )
+               myconf -Dinc_version_list="${inclist}"
+       fi
+
+       [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
+
+       # Make sure we can do the final link #523730, need to set deployment
+       # target to override hardcoded 10.3 which breaks on modern OSX
+       [[ ${CHOST} == *-darwin* ]] && \
+               myconf "-Dld=env 
MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
+
+       # 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
+               # Set a hook to check for each detected library whether it 
actually works.
+               export libscheck="
+                       ( echo 'main(){}' > '${T}'/conftest.c &&
+                         $(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c 
-l\$thislib >/dev/null 2>/dev/null
+                       ) || xxx=/dev/null"
+
+               # Use all host paths that might contain useful stuff, the hook 
above will filter out bad choices.
+               local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 
/lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
+               myconf "-Dlibpth=${EPREFIX}/$(get_libdir) 
${EPREFIX}/usr/$(get_libdir) ${paths}"
+       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
+       disabled_extensions="ODBM_File"
+
+       if ! use gdbm ; then
+               # workaround for bug #157774: don't try building GDBM related 
stuff with USE="-gdbm"
+               disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
+       fi
+
+       myconf -Dnoextensions="${disabled_extensions}"
+
+       echo Configuring Perl as follows:
+       echo sh Configure \
+               -des \
+               -Duseshrplib \
+               -Darchname="${myarch}" \
+               -Dcc="$(tc-getCC)" \
+               -Doptimize="${CFLAGS}" \
+               -Dldflags="${LDFLAGS}" \
+               -Dprefix="${EPREFIX}"'/usr' \
+               -Dinstallprefix="${EPREFIX}"'/usr' \
+               -Dsiteprefix="${EPREFIX}"'/usr/local' \
+               -Dvendorprefix="${EPREFIX}"'/usr' \
+               -Dscriptdir="${EPREFIX}"'/usr/bin' \
+               -Dprivlib="${EPREFIX}${PRIV_LIB}" \
+               -Darchlib="${EPREFIX}${ARCH_LIB}" \
+               -Dsitelib="${EPREFIX}${SITE_LIB}" \
+               -Dsitearch="${EPREFIX}${SITE_ARCH}" \
+               -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
+               -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
+               -Dman1dir="${EPREFIX}"/usr/share/man/man1 \
+               -Dman3dir="${EPREFIX}"/usr/share/man/man3 \
+               -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
+               -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
+               -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
+               -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
+               -Dman1ext='1' \
+               -Dman3ext='3pm' \
+               -Dlibperl="${LIBPERL}" \
+               -Dlocincpth="${EPREFIX}"'/usr/include ' \
+               -Dglibpth="${EPREFIX}/$(get_libdir) 
${EPREFIX}/usr/$(get_libdir)"' ' \
+               -Duselargefiles \
+               -Dd_semctl_semun \
+               -Dcf_by='Gentoo' \
+               -Dmyhostname='localhost' \
+               -Dperladmin='root@localhost' \
+               -Dinstallusrbinperl='n' \
+               -Ud_csh \
+               -Uusenm \
+               "${myconf[@]}"
+
+       sh Configure \
+               -des \
+               -Duseshrplib \
+               -Darchname="${myarch}" \
+               -Dcc="$(tc-getCC)" \
+               -Doptimize="${CFLAGS}" \
+               -Dldflags="${LDFLAGS}" \
+               -Dprefix="${EPREFIX}"'/usr' \
+               -Dinstallprefix="${EPREFIX}"'/usr' \
+               -Dsiteprefix="${EPREFIX}"'/usr/local' \
+               -Dvendorprefix="${EPREFIX}"'/usr' \
+               -Dscriptdir="${EPREFIX}"'/usr/bin' \
+               -Dprivlib="${EPREFIX}${PRIV_LIB}" \
+               -Darchlib="${EPREFIX}${ARCH_LIB}" \
+               -Dsitelib="${EPREFIX}${SITE_LIB}" \
+               -Dsitearch="${EPREFIX}${SITE_ARCH}" \
+               -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
+               -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
+               -Dman1dir="${EPREFIX}"/usr/share/man/man1 \
+               -Dman3dir="${EPREFIX}"/usr/share/man/man3 \
+               -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
+               -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
+               -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
+               -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
+               -Dman1ext='1' \
+               -Dman3ext='3pm' \
+               -Dlibperl="${LIBPERL}" \
+               -Dlocincpth="${EPREFIX}"'/usr/include ' \
+               -Dglibpth="${EPREFIX}/$(get_libdir) 
${EPREFIX}/usr/$(get_libdir)"' ' \
+               -Duselargefiles \
+               -Dd_semctl_semun \
+               -Dcf_by='Gentoo' \
+               -Dmyhostname='localhost' \
+               -Dperladmin='root@localhost' \
+               -Dinstallusrbinperl='n' \
+               -Ud_csh \
+               -Uusenm \
+               "${myconf[@]}" || die "Unable to configure"
+}

diff --git a/dev-lang/perl/files/eblits/src_install-v50240001.eblit 
b/dev-lang/perl/files/eblits/src_install-v50240001.eblit
new file mode 100644
index 0000000..fafff82
--- /dev/null
+++ b/dev-lang/perl/files/eblits/src_install-v50240001.eblit
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+eblit-perl-src_install() {
+       local i
+       local coredir="${ARCH_LIB}/CORE"
+
+       emake DESTDIR="${D}" install
+
+       rm -f "${ED}/usr/bin/perl${MY_PV}"
+       ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
+
+       if ! tc-is-static-only ; then
+               dolib.so "${ED}"${coredir}/${LIBPERL}
+               rm -f "${ED}"${coredir}/${LIBPERL}
+               ln -sf ${LIBPERL} 
"${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
+               ln -sf ${LIBPERL} 
"${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
+               ln -sf ../../../../../$(get_libdir)/${LIBPERL} 
"${ED}"${coredir}/${LIBPERL} || die
+               ln -sf ../../../../../$(get_libdir)/${LIBPERL} 
"${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
+               ln -sf ../../../../../$(get_libdir)/${LIBPERL} 
"${ED}"${coredir}/libperl$(get_libname) || die
+       fi
+
+       rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man 
pages"
+
+       # This removes ${D} from Config.pm
+       for i in $(find "${D}" -iname "Config.pm" ) ; do
+               einfo "Removing ${D} from ${i}..."
+               sed -i -e "s:${D}::" "${i}" || die "Sed failed"
+       done
+
+       find "${ED}" -type f -name .packlist -delete || die
+
+       dodoc Changes* README AUTHORS
+
+       if use doc ; then
+               # HTML Documentation
+               # We expect errors, warnings, and such with the following.
+
+               dodir /usr/share/doc/${PF}/html
+               LD_LIBRARY_PATH=. ./perl installhtml \
+                       --podroot='.' \
+                       --podpath='lib:ext:pod:vms' \
+                       --recurse \
+                       --htmldir="${ED}/usr/share/doc/${PF}/html"
+       fi
+
+       [[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
+
+       dual_scripts
+}

diff --git a/dev-lang/perl/perl-5.24.0.ebuild b/dev-lang/perl/perl-5.24.0.ebuild
index 61cb52f..53bf104 100644
--- a/dev-lang/perl/perl-5.24.0.ebuild
+++ b/dev-lang/perl/perl-5.24.0.ebuild
@@ -104,7 +104,7 @@ eblit-run() {
 
 src_prepare()  { eblit-run src_prepare   v50240001 ; }
 
-src_configure()        { eblit-run src_configure v50180002 ; }
+src_configure()        { eblit-run src_configure v50240001 ; }
 
 #src_compile() { eblit-run src_compile   v50160001 ; }
 
@@ -113,7 +113,7 @@ src_test()          {
        eblit-run src_test      v50160001 ;
 }
 
-src_install()  { eblit-run src_install   v50200001 ; }
+src_install()  { eblit-run src_install   v50240001 ; }
 
 # FILESDIR might not be available during binpkg install
 # FIXME: version passing

Reply via email to