diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest index 51927ea..95b687f 100644 --- a/dev-lang/perl/Manifest +++ b/dev-lang/perl/Manifest @@ -9,3 +9,4 @@ DIST perl-5.22.2-patches-1.tar.xz 19920 SHA256 c128b4d1575f3bcf1952a1526b5725fab DIST perl-5.22.2.tar.bz2 13717881 SHA256 f2322b9b04fe0cdbca9fe755360da04892cb6483d44959457cfebc0bcddc8058 SHA512 1acb77ead47955ef6e8d84903e86cb584ee9415742fb99eb2f1f30772087e8ed0def5f643ce4ee7693df5a1dfe154b108aa85df232d81107f98820bb84a0d71a WHIRLPOOL bdfd1035728619abafeb679cdd3181269a91fad5c30f4995e91d5ae16cb65210ce2c4c47afe85eb192ebde88c0bbc4cd0ed77939acdfd09760b11b57eeace2a6 DIST perl-5.24.0-patches-2.tar.xz 17760 SHA256 8f9ce8895b85d6195cfa10690a28a9b8dbac683cb159ed3f3103e7b5f2bbf18d SHA512 1159dd53d40641f71c301e4be95c8964e6787cdc446578e66e8c97238fc99558c98b1fbc9e89b2d38206364e598ff1544ca1291c14a422d95089f0eea8926cc2 WHIRLPOOL e18ecf63532609dc36c7252f03a1a4d28529b9804dbb9c0d70cc1418a243ff9168a621cadeee52f69919a70312c83232c0857f907f991886cfae870ed4590286 DIST perl-5.24.0.tar.bz2 14155784 SHA256 62328a53d157e8153b33e137594155f6f8b64418f7f9238210feb809585290e0 SHA512 05ecc6774da475d14f426a850be7adf754fcb17a2fa85a67aeaf8ddb9c86ae8b1ee654e803ebae5ccdaa73ad3e35188e3254ac9452b47cd4f8ffe47e67d15f53 WHIRLPOOL 84c98ddb19a5c6d32f40b427ba1f82656f88cfe5b7d3f416fb92579436890af52299f05301a81692dfdae65594b1866081e1fee067623256d796855d87d532ad +DIST perl-cross-1.1.1.tar.gz 88283 SHA256 8ee72f39119b342f3b911266e5c965914a44a484fd18d9c444d106aca4dd7abc SHA512 8ad958d08d8e7ff2b80333959544aaf0e83a74f2e34c9e8aca543052d039c0f4b00cda694ee940874b192b0d83656a9f6854ebbf2c444b212ba9d4417c576591 WHIRLPOOL e6739ca8fc4dcafa14a20585d75931cf6b6a98fad9c732312d15507b29b926452668afc4f27f2b6c5bb6faa623fc506538a53ed9d303d21897f42d47c26e4924 diff --git a/dev-lang/perl/perl-5.24.0-r1.ebuild b/dev-lang/perl/perl-5.24.0-r1.ebuild index 8b84e6e..39eff4a 100644 --- a/dev-lang/perl/perl-5.24.0-r1.ebuild +++ b/dev-lang/perl/perl-5.24.0-r1.ebuild @@ -7,6 +7,7 @@ EAPI=6 inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing PATCH_VER=2 +CROSS_VER=1.1.1 PERL_OLDVERSEN="" MODULE_AUTHOR=RJBS @@ -22,6 +23,7 @@ SRC_URI=" mirror://cpan/authors/id/${MODULE_AUTHOR:0:1}/${MODULE_AUTHOR:0:2}/${MODULE_AUTHOR}/${MY_P}.tar.bz2 mirror://gentoo/${MY_P}-patches-${PATCH_VER}.tar.xz https://dev.gentoo.org/~dilfridge/distfiles/${MY_P}-patches-${PATCH_VER}.tar.xz + https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz " HOMEPAGE="http://www.perl.org/" @@ -265,11 +267,30 @@ src_prepare() { src_prepare_update_patchlevel_h + if tc-is-cross-compiler; then + cp -a ../perl-cross-${CROSS_VER}/* . || die + touch cpan/CPANPLUS/lib/CPANPLUS.pm || die + + sed -i \ + -e 's/(15 + $CLEANUP)/(13 + $CLEANUP)/' \ + cnf/diffs/perl5-${PV}/makemaker-test.patch || die + + sed -i \ + -e 's/MakeMaker\.pm .*/MakeMaker.pm effd272b3c9224af6fd0f6cae7183f33ec4b1106/' \ + -e 's/MM_Unix\.pm .*/MM_Unix.pm 648f834524bcdef67c3b6bae28e8c1ef443d0fc1/' \ + cnf/diffs/perl5-${PV}/customized.patch || die + fi + if ! tc-is-static-only ; then ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die ln -s ${LIBPERL} libperl$(get_libname ) || die fi + if use gdbm; then + sed -i "s:INC => .*:INC => \"-I${EROOT}usr/include/gdbm\":g" \ + ext/NDBM_File/Makefile.PL || die + fi + default } @@ -302,12 +323,12 @@ src_configure() { use sparc && myconf -Ud_longdbl export BUILD_BZIP2=0 - export BZIP2_INCLUDE=${EPREFIX}/usr/include - export BZIP2_LIB=${EPREFIX}/usr/$(get_libdir) + export BZIP2_INCLUDE=${EROOT}/usr/include + export BZIP2_LIB=${EROOT}/usr/$(get_libdir) export BUILD_ZLIB=False - export ZLIB_INCLUDE=${EPREFIX}/usr/include - export ZLIB_LIB=${EPREFIX}/usr/$(get_libdir) + export ZLIB_INCLUDE=${EROOT}/usr/include + export ZLIB_LIB=${EROOT}/usr/$(get_libdir) # allow either gdbm to provide ndbm (in ) or db1 myndbm='U' @@ -384,15 +405,13 @@ src_configure() { # allow fiddling via EXTRA_ECONF, bug 558070 eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})" - sh Configure \ - -des \ + myconf \ -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' \ @@ -418,13 +437,29 @@ src_configure() { -Dcf_by='Gentoo' \ -Dmyhostname='localhost' \ -Dperladmin='root@localhost' \ - -Dinstallusrbinperl='n' \ -Ud_csh \ -Dsh="${EPREFIX}"/bin/sh \ -Dtargetsh="${EPREFIX}"/bin/sh \ -Uusenm \ "${myconf[@]}" \ - "${EXTRA_ECONF[@]}" || die "Unable to configure" + "${EXTRA_ECONF[@]}" + + if tc-is-cross-compiler; then + ./configure \ + --target="${CHOST}" \ + -Dinstallprefix='' \ + -Dinstallusrbinperl='undef' \ + -Dusevendorprefix='define' \ + "${myconf[@]}" \ + || die "Unable to configure" + else + sh Configure \ + -des \ + -Dinstallprefix="${EPREFIX}"'/usr' \ + -Dinstallusrbinperl='n' \ + "${myconf[@]}" \ + || die "Unable to configure" + fi } src_test() {