diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-11-02 21:07:25 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-11-02 21:07:25 +0000 |
commit | 27dfd272ae3be15b1017f733682211afa1c7c0f0 (patch) | |
tree | 1fe1c9ed5c5d79c63069bb8d541be075ccc3aac2 /dev-lang | |
parent | d950fa39dbe16d164ed0cb8e3036fd5d0d896a4c (diff) |
gentoo resync : 02.11.2017
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/moarvm/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/moarvm/moarvm-2017.10.ebuild | 58 | ||||
-rw-r--r-- | dev-lang/nqp/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/nqp/nqp-2017.10.ebuild | 159 | ||||
-rw-r--r-- | dev-lang/orc/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/orc/orc-0.4.27.ebuild | 2 | ||||
-rw-r--r-- | dev-lang/perl/Manifest | 5 | ||||
-rw-r--r-- | dev-lang/perl/perl-5.26.1-r1.ebuild | 624 | ||||
-rw-r--r-- | dev-lang/perl/perl-5.26.9999.ebuild | 1 | ||||
-rw-r--r-- | dev-lang/perl/perl-5.28.9999.ebuild | 1 | ||||
-rw-r--r-- | dev-lang/python/Manifest | 20 | ||||
-rw-r--r-- | dev-lang/python/files/3.4-getentropy-linux.patch | 40 | ||||
-rw-r--r-- | dev-lang/python/python-2.7.13.ebuild | 365 | ||||
-rw-r--r-- | dev-lang/python/python-2.7.14.ebuild | 4 | ||||
-rw-r--r-- | dev-lang/python/python-3.4.5.ebuild | 3 | ||||
-rw-r--r-- | dev-lang/python/python-3.4.6.ebuild | 3 | ||||
-rw-r--r-- | dev-lang/python/python-3.5.3.ebuild | 362 | ||||
-rw-r--r-- | dev-lang/python/python-3.5.4.ebuild | 2 | ||||
-rw-r--r-- | dev-lang/python/python-3.6.1-r1.ebuild | 343 | ||||
-rw-r--r-- | dev-lang/python/python-3.6.3.ebuild | 2 | ||||
-rw-r--r-- | dev-lang/rakudo/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/rakudo/rakudo-2017.10.ebuild | 72 |
22 files changed, 980 insertions, 1094 deletions
diff --git a/dev-lang/moarvm/Manifest b/dev-lang/moarvm/Manifest index c19f5dd31683..0402acdb6eea 100644 --- a/dev-lang/moarvm/Manifest +++ b/dev-lang/moarvm/Manifest @@ -1,9 +1,11 @@ DIST MoarVM-2017.07.tar.gz 4396077 SHA256 21c6c85464bcc012af4fa3ed5fe2a54262439f197c5141cfc71f57e2841ba67a SHA512 675633bdc97e30eb6a7a2208338b7124215a92ed1a129076b0e59f9f2f0996b903120e3aa2a915a370c637d6529fdccef0bbcc31ce91c1485df60f9ce7e9e689 WHIRLPOOL 83b38aae50904680c58970f51bb33aa2b112a0cb8b92f04900085083e3e12c0905829107759782531b301714283dfdb044508133b02e4d4a5f271d6bd5eca6bc DIST MoarVM-2017.08.1.tar.gz 4440494 SHA256 ce032fcbd3ff195825cb0c52c8844b611e63c54a57854602236e3a2a570fa643 SHA512 52331993b59fdad8d30161f3e95e8bfcf16c69e452f8fa32492fa551d225ed7eb9e0ac015049e40d119e8e7958c529b966f34a0175ae686000264eb02478a749 WHIRLPOOL 72ce60a47eea7e9588b0da3d4cc9c6bb070686f1ff8524f0f157e9a93cd2531c876457f9e23c599069a0cb6dd45e9d6f528bde437ebbf634e3dbe4b15207b94a DIST MoarVM-2017.09.1.tar.gz 4579930 SHA256 1c09b70a6b454abb48baaa9432e90c33002983cdb96328418f1be1a572e11f47 SHA512 c7b675a3894a2b58d15eefb52519b6b7e4519561525b6095327ab7621e29c3ea3c077c625bd48123cd514b4e32d2e7cbdb3861319d3e32de134d7f8475540fee WHIRLPOOL fa7e78cc0430a84395b4ffbd56adffda3220a6982e0ffc565f0357ad72b158e216ddfa1e9fe7e7c1e70c6eeff12d6d944b30112b468942ec7523bb940e9e642f +DIST MoarVM-2017.10.tar.gz 4789334 SHA256 27cddd50db65359aed82bc6a9bd0e52988a52ee89e7e353eb63185c267d22a5b SHA512 f79e60b22615cbbb5b16d4b810c864f7cbc2c36e73769b132b84edb03e0d975da6f7db153492a3101c86946d728a21af6225d61e752e36557c2c6f1bcd91859c WHIRLPOOL b02c447366d0fc94e140a0da00e50961f631a239c0d4055a24a3c18fdab53cdaafa47cb38d6baf7e507c2c6f8d4ca03e147fd5b5e14a0ae06824c5f6e84d3c34 EBUILD moarvm-2017.07.ebuild 1475 SHA256 7aec782a22af39771c5c712c0d09ab803d34a9e5a62ee4ba8094786c57aeae57 SHA512 76b99f341f78085656bc196d97ca66ff170b590f6e7e06fab95ef02244d393b6083a217463bffdf389682b823ca7af684b9bba2fcabfd1632901639beab8763f WHIRLPOOL 3c3a4bf74544bcc13766600347e435c85be2ae7e5e875047aec4d2aacf2a4efb3f28179b3bf8afadb6e9ce43a4382463a88cf415d5d366450296cb82d785afd0 EBUILD moarvm-2017.08.1.ebuild 1426 SHA256 8e5b204c44c3dda50c1533757d55a0cb2987f412070571a5c2afce6fbeb62979 SHA512 cf0f2f323900463ad479168d743d0a3a2a71615fad66cee346fb8d2db5246cdcb0db1397cbdf5abfdec6677bdc032b0842c2dec9f144cf36e8619b0232644fd9 WHIRLPOOL 87722c4528a4a1f8198c4c10838dabcafcc629d92aa12f8455e5f0a7ef0e5d80f63f64d69752e0352a9b76469a74f049b11e8877192c712acf90d95632079df1 EBUILD moarvm-2017.09.1.ebuild 1364 SHA256 322c7002f2138eaa599d328fafbeffeef67c6432f599bf8f62dc304d2c8d2370 SHA512 87012068940d3d746c3dfbe42bcda9c32d61ead0016bd0edcbe14aa1ae58e5f7365ec5a5690e4f2a5863635e3566eed986b2aa751ac6c8e3434b629df92cd044 WHIRLPOOL a6cf719fa4bc7557d10b042fd88ca7005c0bdcf79189eb9d43903b0ba2a546d347892ef13510e9190a14bf66ba667692a2d93dc857c163c99d3aa1f415d846f9 +EBUILD moarvm-2017.10.ebuild 1364 SHA256 322c7002f2138eaa599d328fafbeffeef67c6432f599bf8f62dc304d2c8d2370 SHA512 87012068940d3d746c3dfbe42bcda9c32d61ead0016bd0edcbe14aa1ae58e5f7365ec5a5690e4f2a5863635e3566eed986b2aa751ac6c8e3434b629df92cd044 WHIRLPOOL a6cf719fa4bc7557d10b042fd88ca7005c0bdcf79189eb9d43903b0ba2a546d347892ef13510e9190a14bf66ba667692a2d93dc857c163c99d3aa1f415d846f9 EBUILD moarvm-9999.ebuild 1475 SHA256 7aec782a22af39771c5c712c0d09ab803d34a9e5a62ee4ba8094786c57aeae57 SHA512 76b99f341f78085656bc196d97ca66ff170b590f6e7e06fab95ef02244d393b6083a217463bffdf389682b823ca7af684b9bba2fcabfd1632901639beab8763f WHIRLPOOL 3c3a4bf74544bcc13766600347e435c85be2ae7e5e875047aec4d2aacf2a4efb3f28179b3bf8afadb6e9ce43a4382463a88cf415d5d366450296cb82d785afd0 MISC ChangeLog 6921 SHA256 e2b30048966639138c517398a0c714521c8eefd737993c7ff7b3dfdba9b97da0 SHA512 42e01406c8379d65ec686ad0e7942fab96df3d36d8de96de7d6f2c9cd5a803ed3b9b15f3b22394cce0605fe2d5783c23199dce8dce284ae4454b53b96e5d02c1 WHIRLPOOL 54f852fbb17192681795fce561bb7145434d135a937eb45722811c616454e7057315a5f7be0ca0e3354f274e30b94ddc2b75e8e7b07072a84d8efb475c837824 MISC ChangeLog-2015 4400 SHA256 6e59f19096f30a6f33646aa8f9a1ef2ff10d978efab06fd3994a927c0b2bf6d6 SHA512 bd1c48512d42279de6a9d130cba987640b8aec313e688bfc69ab08fcdba879f0b655e51c21a0e8696399151ccdd6a74783d73aab4e732104d78bc0bab6e2f62c WHIRLPOOL d0b61997f7a901cc94d23bd1dc5de49e591313f58856f4e5ab9349646b6d70013d8e0b39e4c07d84d9f9c215d06e7eba7f9c553ced6ce458cc8d9b6c01c51b84 diff --git a/dev-lang/moarvm/moarvm-2017.10.ebuild b/dev-lang/moarvm/moarvm-2017.10.ebuild new file mode 100644 index 000000000000..9925813bdcb7 --- /dev/null +++ b/dev-lang/moarvm/moarvm-2017.10.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic + +MY_PN="MoarVM" +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" + inherit git-r3 + KEYWORDS="" + S="${WORKDIR}/${P}" +else + SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}/${MY_PN}-${PV}" +fi + +DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6" +HOMEPAGE="http://moarvm.org" +LICENSE="Artistic-2" +SLOT="0" +IUSE="asan clang debug doc +jit static-libs optimize ubsan" + +RDEPEND="dev-libs/libatomic_ops + dev-libs/libuv + dev-lang/lua:0[deprecated] + dev-lua/LuaBitOp + virtual/libffi" +DEPEND="${RDEPEND} + clang? ( >=sys-devel/clang-3.1 ) + dev-lang/perl" + +DOCS=( CREDITS README.markdown ) + +# Tests are conducted via nqp +RESTRICT=test + +src_configure() { + use doc && DOCS+=( docs/* ) + local myconfigargs=( + "--prefix=/usr" + "--has-libuv" + "--has-libatomic_ops" + "--has-libffi" + "--libdir=$(get_libdir)" + "--compiler=$(usex clang clang gcc)" + "$(usex asan --asan)" + "$(usex debug --debug --no-debug)" + "$(usex optimize --optimize= --no-optimize)" + "$(usex static-libs --static)" + "$(usex ubsan --ubsan)" + ) + use optimize && filter-flags '-O*' + + perl Configure.pl "${myconfigargs[@]}" || die +} diff --git a/dev-lang/nqp/Manifest b/dev-lang/nqp/Manifest index d08319a8e994..d1fbe0828522 100644 --- a/dev-lang/nqp/Manifest +++ b/dev-lang/nqp/Manifest @@ -1,9 +1,11 @@ DIST nqp-2017.07.tar.gz 3713517 SHA256 31fefc7fa02441b45ff0ca465b58a8b391522b7090965a85323134aa17cb1166 SHA512 55ef0827c6e013b898d8a5034d2568e787bb89b510234cd58239f13c9f8f9ff24bb3790838aeade79fe09d721c2d2384c94bc4714b24f3d602a9b4a0dbcdcafc WHIRLPOOL 71ee1e98810b32a8fe5220fb0efd5d99c393bbf1b1fd13898cf21c7ba82d5815a9136cc6965077cb58a8777c040f4578b3a50fb180b01e190d8f9f6b82366bae DIST nqp-2017.08.tar.gz 3718841 SHA256 70e202096c1ca12ccaec700633807e64c21a395ca45a581c762f3a1d417fa76a SHA512 b86e58f1465ca0baaafd3424739b3ad0da8b5b764e53afa36d77c5058015a66d6180c97e56adfa8de2892e28669b3bcc688d16009669ad995170ca6e68c8b486 WHIRLPOOL c3c737d76099d22047860b97926f4af7202d2b1e4783d926a88fd9f914d0c0d0eeb65829f7c4d0d7af4e541b7c09a380f2db9a3c87889b6f2ed06a44aaa8d365 DIST nqp-2017.09.tar.gz 3724208 SHA256 ac6e1d2cdd8239cb2636c62ee6500e9bb346c63d4934c4dca125bc714cc023c0 SHA512 a932f6d5ea24ad1857339cd5d7314f75b5bb08628df63e180c3675e0e5a8d04fe12add1cf2d04c55e0454bc4c0e5e59cfd57f793c242dfa2459f06ae8a2097cb WHIRLPOOL c015a9b6a82d07fbae86dd1195ddf5e82faecdbed83fa939f02e8a2f9748d5b6cf1e6156792a43ce40b14f58c74c9ad7190f8c319a846aee7e3bb61fb9daf73f +DIST nqp-2017.10.tar.gz 3768260 SHA256 8b244961c88a71af605e4f0b24e0bbeb36a8ab33f26e9451dffed71f27d9945b SHA512 fd43e1f7d768de58aae98afc031ad5fa5d28e767bac4f4acf913b356c107035c98c6551ad34f17f7a7a76269f96905882e348e5f821d7edf2cf7ffbee50798bc WHIRLPOOL 2050ac7bbd171167639d90eae11fcbb6d68eacd3723450b4bb0ccefd265d4b46eeec6985b5f1b06feb8b14f4ebbc42e8af523e9b67558df0c447719bd199e8fd EBUILD nqp-2017.07.ebuild 3607 SHA256 d896af5d47538495967b575d9c710c45c976b344fa6e6b0c0081393c6ea7197d SHA512 a2e2a0e191fed3ebd86c256e70c67cdb6cf037120e7b2395beaba0db55dac14f7bf830002abf32cdc71403f243f71deb345d2b921ce61302a5151e89477afcfe WHIRLPOOL 0d251bc9d837ddff70006c5ee95ddf27a992d8a1e121d40f815414a317a72129efbd75fd2e2be4173c4455f85594e21f70358257c96185af25081f6ec0234226 EBUILD nqp-2017.08.ebuild 3611 SHA256 bd1ee4d585699191e23c1e6b4658c60ccb35bd75cb1fbac9a4354f1762298045 SHA512 42f9651aa22042a571e77c13c9e5b46402cc4ff7cc71579daca171cecee7c7250eab476825693a5921e1edd66f44987b9bc096e046e570037ab2144fceab01b3 WHIRLPOOL 68296a59d785d711b997f7662ef98b545ecaf83ebb9c3c7a6fac6e4bf5f2531d8b98831a0d39d2df4d4a5bf79bb1541e7af254a268c2122b22306695efc1f823 EBUILD nqp-2017.09.ebuild 3611 SHA256 256e13cec1aeadf59563d109f51a3c9508de39850b5b541f2fa5f952c28efe03 SHA512 8271504114f3dca61e290006077957063d624b8a967c0c67a8b32fb28e217e5ccc895f1d63d4a95fc10e491962b86fd70ba7a420643a988788da2f30bb032edc WHIRLPOOL e2d64dc0f0a25066e281d2d5f3b5c16ca93fb37461a8e74ea3c1b6ca719f03b1ffb807667c512db83f8e4ea3bafe8159dd6a7a02f4503ae379338869abb4f198 +EBUILD nqp-2017.10.ebuild 3607 SHA256 d896af5d47538495967b575d9c710c45c976b344fa6e6b0c0081393c6ea7197d SHA512 a2e2a0e191fed3ebd86c256e70c67cdb6cf037120e7b2395beaba0db55dac14f7bf830002abf32cdc71403f243f71deb345d2b921ce61302a5151e89477afcfe WHIRLPOOL 0d251bc9d837ddff70006c5ee95ddf27a992d8a1e121d40f815414a317a72129efbd75fd2e2be4173c4455f85594e21f70358257c96185af25081f6ec0234226 EBUILD nqp-9999.ebuild 3607 SHA256 5d76fd34ae1be01876de55014dd84e64eaa908c6512cc7abcd7fc694a803cd59 SHA512 c0be49582eb04c3a80b4a9191ee121018adb177fbd379083231c9157eb8fb051d447f0e1c5a05214f40d52c30fabedb7d2a72dfca7625239822f1a6119dba68e WHIRLPOOL 2eb311416f57549c8f1bae2d9a161a69fb1981ab1b0c369c263af3ca85513759c553983a2da1c852f1c8d0b06791bd9e5936099b2e509d7fc49e5ede825b3674 MISC ChangeLog 6805 SHA256 24f5fd858a027e5c0d66c8070fb1190cb0c176bef6f5c7a9ef2567e92ad3e00b SHA512 c166f8ce55decf53ef46911b6fe2661368d6dbbfbc6c0b70e39e8c8b99f4bd764492f1eb2a7351362eda72b7307363a94d5f845d598f1b4b9285e6abe365405c WHIRLPOOL cd0b51b56c54e6190790a0123640270cc1f3b9fcea6dd757b3501df473aaa71b468ddc1ce9fccb6f2ed2cbf8face53ce6055fa6d7c3e2d606a041c424c7d979d MISC ChangeLog-2015 9081 SHA256 971953bf554c81aa3f83c29ba1ed70485b940ec6fa1179c13f12a3fdef70dd0c SHA512 865cdb4d3fe65c7d17cfc4e29c003d344bff9fa67743ca173522e379274bbcaa0391f7471b1b8ab334466e9048773bf7bf5fab476007d9c627b9eaf51159faa9 WHIRLPOOL 5246d66fd1ed3eb57da242dbdf0c8367835dee1188325387c6b90dd5d1d2eacf381eb53f71b5764f8aa677c7f043793b6a2f04e7111aa744d60aa2ad8c96ec87 diff --git a/dev-lang/nqp/nqp-2017.10.ebuild b/dev-lang/nqp/nqp-2017.10.ebuild new file mode 100644 index 000000000000..e2dfdc734d8e --- /dev/null +++ b/dev-lang/nqp/nqp-2017.10.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit java-pkg-opt-2 multibuild + +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/perl6/${PN}.git" + inherit git-r3 + KEYWORDS="" +else + SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz" + inherit vcs-snapshot + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler" +HOMEPAGE="http://rakudo.org/" + +LICENSE="Artistic-2" +SLOT="0" +IUSE="doc clang java +moar test" +REQUIRED_USE="|| ( java moar )" + +CDEPEND="java? ( + dev-java/asm:4 + dev-java/jline:0 + dev-java/jna:4 + ) + moar? ( ~dev-lang/moarvm-${PV}[clang=] )" +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.7 )" +DEPEND="${CDEPEND} + clang? ( sys-devel/clang ) + java? ( >=virtual/jdk-1.7 ) + dev-lang/perl" + +pkg_pretend() { + if has_version dev-lang/rakudo || has_version dev-lang/nqp; then + ewarn "NQP is known to fail compilation/installation with Rakudo and/or NQP" + ewarn "already being installed. So if it fails, try uninstalling both" + ewarn "dev-lang/nqp and dev-lang/rakudo, then do a new installation." + ewarn "(see Bug #584394)" + fi +} + +java_prepare() { + # Don't clean stage0 jars. + einfo "Cleaning upstream jars" + java-pkg_clean 3rdparty/ + + # Don't use jars we just deleted. + sed -i -r 's/(:3rdparty[^:]*)+/:${THIRDPARTY_JARS}/g' \ + src/vm/jvm/runners/nqp-j || die +} + +src_prepare() { + MULTIBUILD_VARIANTS=() + use moar && MULTIBUILD_VARIANTS+=( moar ) + use java && MULTIBUILD_VARIANTS+=( jvm ) + + multibuild_copy_sources + + # This will pull in conditional java_prepare + default +} + +nqp_configure() { + pushd "${BUILD_DIR}" > /dev/null || die + local myconfargs=( + "--backend=${MULTIBUILD_VARIANT}" + "--prefix=/usr" ) + + perl Configure.pl "${myconfargs[@]}" || die + popd || die +} + +nqp_compile() { + if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then + emake -j1 \ + -C "${BUILD_DIR}" \ + THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \ + JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then + emake -j1 \ + -C "${BUILD_DIR}" + fi +} + +nqp_test() { + emake -j1 \ + -C "${BUILD_DIR}" \ + test +} + +nqp_install() { + # This is the actual reason we need multibuild.eclass. + # We need to distinguish the install procedure for MoarVM and JVM backends. + case "${MULTIBUILD_VARIANT}" in + moar) + emake \ + DESTDIR="${ED}" \ + -C "${BUILD_DIR}" \ + install + ;; + jvm) + pushd "${BUILD_DIR}" > /dev/null || die + # Set JAVA_PKG_JARDEST early. + java-pkg_init_paths_ + + # Upstream sets the classpath to this location. Perhaps it's + # used to locate the additional libraries? + java-pkg_addcp "${JAVA_PKG_JARDEST}" + + insinto "${JAVA_PKG_JARDEST}" + local jar + + for jar in *.jar; do + if has ${jar} ${PN}.jar ${PN}-runtime.jar; then + # jars for NQP itself. + java-pkg_dojar ${jar} + else + # jars used by NQP. + doins ${jar} + fi + done + + # Upstream uses -Xbootclasspath/a, which is faster due to lack + # of verification, but gjl isn't flexible enough yet. :( + java-pkg_dolauncher ${PN}-j --main ${PN} + dosym ${PN}-j /usr/bin/${PN} + dobin tools/jvm/eval-client.pl + popd > /dev/null || die + ;; + *) + die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}." + ;; + esac +} + +src_configure() { + multibuild_foreach_variant nqp_configure +} + +src_compile() { + multibuild_foreach_variant nqp_compile +} + +src_test() { + multibuild_foreach_variant nqp_test +} + +src_install() { + multibuild_foreach_variant nqp_install + + dodoc CREDITS README.pod + use doc && dodoc -r docs/* +} diff --git a/dev-lang/orc/Manifest b/dev-lang/orc/Manifest index ba4e4c1d9d34..648a08b73cc5 100644 --- a/dev-lang/orc/Manifest +++ b/dev-lang/orc/Manifest @@ -1,7 +1,7 @@ DIST orc-0.4.26.tar.xz 465768 SHA256 7d52fa80ef84988359c3434e1eea302d077a08987abdde6905678ebcad4fa649 SHA512 c0b02d4f00b7cc45c5952a4db4f63629bbcbc4d338bbe69fd2743198f2b346bf437742a7a8e1d308f765caf1b43f7fab75add7ebf69897bc0e335a169eef7326 WHIRLPOOL 019891cc9272315666b9b68eb439002192d676794bb7b8b490353991b152a6deadb5171bf46b0e4894c2372b77935e2578b9a0221e6172a8ccfa6f7966983c8c DIST orc-0.4.27.tar.xz 465116 SHA256 51e53e58fc8158e5986a1f1a49a6d970c5b16493841cf7b9de2c2bde7ce36b93 SHA512 5ca0b4553e370ea7c95acfc8248d9d568dafc9577041d47f52c7d0945456c534e18e0e80d28df9301d6deac1ea4f8ea6a51ca373b32927c8724846d8ec1f73e8 WHIRLPOOL 6f39e17e22c2b2f515f6081432e670fc04df81f5ebd3a1da7009eef2ca69476b91c767fdae3086bb4ff9ece52668eadd2332026dc0d457f62f870d3d9b7b10af EBUILD orc-0.4.26-r1.ebuild 1832 SHA256 18083d0245d00cb636299488611c0245dd63134c1bbbeadc8d6968a0bf538fca SHA512 3a66189a789f995069dc8869fb33846306f4a0e5ff3419bae1e921c26b1187615e17ca6c6f4647eed8e4fc0ab4f5e03a6df0a3dfe762a9090aa409912cfe4497 WHIRLPOOL df7636091dd920da8a913d073861db0d32ae967c1783f512b40aa32ca29f8dbba0cf80e378dd5a2bd64a29b2827567f095b484748e6cc226c2ce5aeb15c6a77b -EBUILD orc-0.4.27.ebuild 1837 SHA256 b16a436e5b2ba9be805e1bfdabbdfdb76896d286a417ad45cd270536ac7ee706 SHA512 18a3fadc0391cac84045d2e12b5a419813c655abc2f307eee6481584bad309d34edd168e2985e0a5c557bcf95aaa3d9c8f39c176d6767465688c75f97564e24e WHIRLPOOL 56f2f7326e617b0963ffb7de359fd62b1a4af787ad1cf72c9a0f09b9f0e3f73b7434b45e74a02c55530c8b6f1b22c35785f94acfa77efef23fb7b4bce73a619a +EBUILD orc-0.4.27.ebuild 1836 SHA256 02ca83c6c8b7bd33a1af0f3e4b8831b55d69ce6fa5e6820bdef61bbcfd4c6a01 SHA512 8bf4c36b20fad1f832b264bc0e0cd5c5d9b9873f99a8e4effe2ac34a0397ac285cdcfc9e944d02ee18828943c542d862a458f4019e4c991ad7a36d4ecb70c90b WHIRLPOOL d291584759d8d23380e4773b886ab8fea8e1ef4a370466c988de6d7ef637dc1896830d9ac095261eb0010818113dc16d47e5d51d645fd55acaba81e096df50a2 MISC ChangeLog 6599 SHA256 b7bb8d0ab7ea85c55b3d7b604206fc1ee984803b0eb9bea3297dff020d5364c8 SHA512 4616cf1ef6f86c1b63b11be69f28ece29599dbf926d15c1dff85d7ac6e485c4c38690a528e9ed1188c203d44f9ba6eb347b89939b644c56ea320442ee993e6f2 WHIRLPOOL c3d349fc974efccf86cf2daab1a5f4145190c7fff172af829eb03af69afe03875db06022edd8f86d1fa37736b11e895d2d3ec0f4125899576458378eed207d30 MISC ChangeLog-2015 7513 SHA256 20c923d910ddd2cd06438c3800fa6e74e9a822d0b30f5ddf721ab19fe79a038a SHA512 249d1757e4ce2571718b044bf9f517b76675503fa67ab72140b9d3c6dfe1428a9bc86fc5ee4acc8cb540d6dda69d5a820c6ca126ba023af548f88772b7cc16c4 WHIRLPOOL 5ccca341698ac644675b09aca4a3e33bb15af7f19a22a2bf6a09a6112da0a474bcfc64441eefc49eb4c660e17e4010b10a8a3b1220c24ca8a41b93609a9e6ec0 MISC metadata.xml 354 SHA256 aef8d46e9f5a25a0382464e1cf4e0c0b9b0ad40a6aa03f60d3ea8125b4988cef SHA512 4f17c4c3faa3f2c5feaefe4727b3500360f7cc5486c794e9a34608c3e437b4e2cc266bc9e0e2b3824952a8da62421fda59e9bc5140ee88898f8f7bdde402762f WHIRLPOOL b25b9556b593f69aa57a7f510a2980054bfceb1068fc01a6f9599b71120fdb4b68698e2e6e4d3a4d0c2081fddab5065679a977147a14334ff8d6208715e15195 diff --git a/dev-lang/orc/orc-0.4.27.ebuild b/dev-lang/orc/orc-0.4.27.ebuild index 537d29d59cfe..0e897c051fa6 100644 --- a/dev-lang/orc/orc-0.4.27.ebuild +++ b/dev-lang/orc/orc-0.4.27.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz" LICENSE="BSD BSD-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ppc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="examples pax_kernel static-libs" RDEPEND="" diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest index 0770cb9db861..63ed705b3f0c 100644 --- a/dev-lang/perl/Manifest +++ b/dev-lang/perl/Manifest @@ -18,9 +18,10 @@ EBUILD perl-5.24.1-r2.ebuild 17081 SHA256 65031fd44a9009849ef7181b4a2e9c860a020d EBUILD perl-5.24.2.ebuild 17076 SHA256 04ab03a05f633a34a64eae317809ea6d84465d9c68fc3e0d88f23f3086afc087 SHA512 c6bafe77fe764ed6a318a731ee4240e31b1555afb45a416bf2e9eb650d680ea618f37b5dafdccdfd34e2676e5f1e3f1fbc8d4757d6694149a733b6f81f4251ea WHIRLPOOL 2746c2eeeb3f6ade4b72027d0e8d3e04276abe4f9495b3c3d106779367a31d21ad2ba128c74099c86a301cb81ab69d5d807e5f3dd78e27b5e1fc8625923d2694 EBUILD perl-5.24.3.ebuild 17074 SHA256 afbc638fc2b96816d1b90eb6efc5d5778becf5e27f149b50ea88302ff8acd37c SHA512 729ece15a14c7ab5c01d950d370bbf2a299c7782e39fbac9a90e911f7cff4696049284670a679b18fd0f430ecefbcfc966dbc1ad8d79628321efb8ae4ed901aa WHIRLPOOL 48d272286ceb1d0ef5224bf816514a54f10be1da3a9b02bb3f2df96bf73749c946a3c60ef64ea64ac925d766832c7727ac6d9cd5a8aba9c11730cd4037e1640d EBUILD perl-5.26.0.ebuild 17985 SHA256 fc7d20774e02c3681595bfb53772a60765746053eeaeffd58a2753b7537c9b25 SHA512 f45357a04344573edcbe589d5da44b5a915a5db8262c7bdc34c73c163a184050d4f0223106696504b8f9f1fa2297b4534313a8513d45aa12240027eef833f6a4 WHIRLPOOL 09c8a57bf356e6000c40f751be446e6d04648bd42ba18b77430ca6f9eab8d6b79b3580eb304e6c630241b573309c729d97d88347a32629e908ab1c31f1412532 +EBUILD perl-5.26.1-r1.ebuild 19106 SHA256 06b52db92357c1a05eaa0e33ed8571a5889b87cd84404f4b151e90bd7fa8c75b SHA512 c0f79b66b5087f80f13ed8aa9c59f3b9ecefc79761bab837af8ccaf490e769babcf169def8d7b4f642fbfb6a71e587bc2ad81190d011261e4244c9453e0e3b07 WHIRLPOOL 04060b57470272abef2e514e386b016e74db6e76dd0b0ba3a12ffdc244105a41715d6987838a71ec3a4c6d1d1b4283f1908621ecc7c2d0d85abcc49061930691 EBUILD perl-5.26.1.ebuild 19090 SHA256 44ac70d043d05744910f1423fd5ac52b7577616b7fd802ddb081d178c5fa3052 SHA512 dcbca9dfd36210eef3d1b57419e711b592479079c10aa212971b9778b82a777f87bead09c907c713cdde7af6292bc29bc57e472f4969830e04d6f09ae10ea453 WHIRLPOOL 462bf0e095c1ca792bb377685d0c25417335c03aaeb67374cb5d6507ab19f4cfea60c97e88f29319e378370fc7a1c3436cc199f28fd0ca9a92575badacfac6d4 -EBUILD perl-5.26.9999.ebuild 19083 SHA256 69cca61a583bc18df4511257e2def3e21465d6f31283229d564a9b7463bc48af SHA512 64e71791bb96555c0fb5a7e05a8b864509c0637dfacff099792b319d843eacc6cfeef0c4c1cf2429a5f85d89ce4cda780a264015d5ce7b0d6a09c247532a33d5 WHIRLPOOL 8bd7f1ee84beb0efa9f72782f15a9b6be323538e65ec2d34ef354828026ec4e3ac343c43177f1bc067dc43f1dd80464d5b24e1b4176797ff3534dd12c4af6dac -EBUILD perl-5.28.9999.ebuild 19069 SHA256 a32933dade9f1c05d22463edd3992f8c99af827e4e3b43301ec3a14cc54b84d8 SHA512 0558d67fe5a49080a7ecf88d5cf2f1472a63effb3952d4f65d6b719846120ee937edbb22d067e284319764e1680ddce8b49b45ab3eac2ba0646bd0d1f114ebf3 WHIRLPOOL de1f0e9067bac087852689e2c3fe3286350f4254a99798131c9ea28459b510bf6e131a22cb5a42c44f13d32bbc2b49bb53dc528e8c7da52df57070cc8bbd5bc0 +EBUILD perl-5.26.9999.ebuild 19099 SHA256 88d51668df8cd6b6e2d8493928e319dfc7efd9a214133d4a381bff50db4cb7d7 SHA512 23f2609696cd0ecdfc9e987b3f4ca16c1c9a866c8ca4a7f0713dd161884f176b991dcf2a4668b8110b411ab1efbc134f1da089f0a3edc0abca43d572a5a6e8cc WHIRLPOOL 6fe5a7fe9b0fe8340b9fec96037d5b25f7a0177bc08b0179181ce7e56502b63c1b5e2c8596fd837096e65e44dd9e912dccb2d97f6edbaf071f8eeb6438b8d880 +EBUILD perl-5.28.9999.ebuild 19085 SHA256 ea315d3244e781f08241bd18b677c930dabd51096167999f03115d597f136a83 SHA512 f2b553f12150801bbbfd433b592568cc6e35bbbf2b96e29a1246386283a8eaf9e66b8e818a299fc2f80210952d4236ce460159bc2f45ece91aadc082dd6be30a WHIRLPOOL 9caa4c665688fb89e34b3ff022f1f76c91ea02b579075643bfe4a9a3280bad4a7d1fa4a14070e262edd005023bc2c246ecd02de73285a8364b6bb511c53f567c MISC ChangeLog 13780 SHA256 57a0f6f6bc7a816ca621af65126c42eb0fe19891e9cfe8ea0eb664607ea4749e SHA512 8bd6e0673b863e40e4f3309461049c95c261c95ffaafdf7bf9a8b801f29017994f152fa0dc5eb3f09b85be832e356a9c08ed1171f7e617a5597e6456ee9d11dd WHIRLPOOL 1bdf46f12430a2a84e66841a4b38e03bacc8f0649e38ba11d7ec23504ef254012c1dc9e1ef333b98619a6dcba6c183640f7b18080831cf37f425fd63d6810eee MISC ChangeLog-2014 86908 SHA256 36afb5e482f7c0faf3cb0491c694758752f81a8037fafbf69f33f82a535463dc SHA512 87a6b79f868b97ef1f1430d9616f4f47bc526add8eab73a40065f865a1097bc393001b3457cbfcf876a51cf710fd7d67183932fccdd0a658b9ae8c8cb2e30b52 WHIRLPOOL 536b71f37a08710b083d6df5ecf231ebb6debfaae56f12a5f78b46bf2c419b74eb9f53e35fda4f11c9c95a0a9089c3558b08f575f2c8137fa8fbcf4b19ed098f MISC ChangeLog-2015 3505 SHA256 ee4e406b267916f82010b5d51d78814d3ab074cfc720fc0a61e9fcadf45508bc SHA512 6b19ce6be009f9982f2b2d10f7afbc20d7ea46b43b33d906b4a6755df80fb95e0d4175999d8e47986b11d4346bed24b4465374fd3a783e693805df8b72142efd WHIRLPOOL 319a86c0471fcbbbaadebda3a219bc564c0134704a680c21ad0e28c1bba3cc591ffe7c4e331326accc97d1e1869481aa592c56a0b89ee9ae63be12086df172d7 diff --git a/dev-lang/perl/perl-5.26.1-r1.ebuild b/dev-lang/perl/perl-5.26.1-r1.ebuild new file mode 100644 index 000000000000..cf6794475736 --- /dev/null +++ b/dev-lang/perl/perl-5.26.1-r1.ebuild @@ -0,0 +1,624 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing + +PATCH_VER=1 +CROSS_VER=1.1.7 +PATCH_BASE="perl-5.25.11-patches-${PATCH_VER}" + +DIST_AUTHOR=SHAY + +# Greatest first, don't include yourself +# Devel point-releases are not ABI-intercompatible, but stable point releases are +# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions +PERL_BIN_OLDVERSEN="5.26.0" +if [[ "${PV##*.}" == "9999" ]]; then + DIST_VERSION=5.26.1-RC1 +else + DIST_VERSION="${PV/_rc/-RC}" +fi +SHORT_PV="${DIST_VERSION%.*}" +# Even numbered major versions are ABI intercompatible +# Odd numbered major versions are not +if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then + SUBSLOT="${DIST_VERSION%-RC*}" +else + SUBSLOT="${DIST_VERSION%.*}" +fi +# Used only in tar paths +MY_P="perl-${DIST_VERSION}" +# Used in library paths +MY_PV="${DIST_VERSION%-RC*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +SRC_URI=" + mirror://cpan/src/5.0/${MY_P}.tar.xz + mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz + https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz + mirror://gentoo/${PATCH_BASE}.tar.xz + https://dev.gentoo.org/~kentnl/distfiles/${PATCH_BASE}.tar.xz + https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz +" +HOMEPAGE="https://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1+ )" +SLOT="0/${SUBSLOT}" + +if [[ "${PV##*.}" != "9999" ]]; then +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +IUSE="berkdb debug doc gdbm ithreads" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( >=sys-libs/gdbm-1.8.3 ) + app-arch/bzip2 + sys-libs/zlib +" +DEPEND="${RDEPEND} + !prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) ) +" +PDEPEND=" + >=app-admin/perl-cleaner-2.5 + >=virtual/perl-File-Temp-0.230.400-r2 + >=virtual/perl-Data-Dumper-2.154.0 + virtual/perl-Test-Harness +" +# bug 390719, bug 523624 +# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker + +S="${WORKDIR}/${MY_P}" + +dual_scripts() { + src_remove_dual perl-core/Archive-Tar 2.240.0 ptar ptardiff ptargrep + src_remove_dual perl-core/CPAN 2.180.0 cpan + src_remove_dual perl-core/Digest-SHA 5.960.0 shasum + src_remove_dual perl-core/Encode 2.880.0 enc2xs piconv + src_remove_dual perl-core/ExtUtils-MakeMaker 7.240.0 instmodsh + src_remove_dual perl-core/ExtUtils-ParseXS 3.340.0 xsubpp + src_remove_dual perl-core/IO-Compress 2.74.0 zipdetails + src_remove_dual perl-core/JSON-PP 2.274.0.200_rc json_pp + src_remove_dual perl-core/Module-CoreList 5.201.709.222.600_rc corelist + src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect + src_remove_dual perl-core/Pod-Perldoc 3.280.0 perldoc + src_remove_dual perl-core/Test-Harness 3.380.0 prove + src_remove_dual perl-core/podlators 4.90.0 pod2man pod2text + src_remove_dual_man perl-core/podlators 4.90.0 /usr/share/man/man1/perlpodstyle.1 +} + +check_rebuild() { + # Fresh install + if [[ -z "${REPLACING_VERSIONS}" ]]; then + return 0; + # Major Upgrade + # doesn't matter if there's multiple copies, it still needs a rebuild + # if the string is anything other than "5.CURRENTMAJOR" + elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then + echo "" + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl the installed Perl modules" + ewarn "have to be re-installed. In most cases, this is done automatically" + ewarn "by the package manager, but subsequent steps are still recommended" + ewarn "to ensure system consistency." + ewarn + ewarn "You should start with a depclean to remove any unused perl dependencies" + ewarn "that may confuse portage in future. Regular depcleans are also encouraged" + ewarn "as part of your regular update cycle, as that will keep perl upgrades working." + ewarn "Recommended: emerge --depclean -va" + ewarn + ewarn "You should then call perl-cleaner to clean up any old files and trigger any" + ewarn "remaining rebuilds portage may have missed." + ewarn "Use: perl-cleaner --all" + return 0; + + # Reinstall w/ USE Change + elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ + ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \ + ( use debug && ! has_version dev-lang/perl[debug] ) || \ + ( ! use debug && has_version dev-lang/perl[debug] ) ; then + echo "" + ewarn "TOGGLED USE-FLAGS WARNING:" + ewarn "You changed one of the use-flags ithreads or debug." + ewarn "You must rebuild all perl-modules installed." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + fi +} + +pkg_setup() { + case ${CHOST} in + *-freebsd*) osname="freebsd" ;; + *-dragonfly*) osname="dragonfly" ;; + *-netbsd*) osname="netbsd" ;; + *-openbsd*) osname="openbsd" ;; + *-darwin*) osname="darwin" ;; + *-interix*) osname="interix" ;; + *-aix*) osname="aix" ;; + *-cygwin*) osname="cygwin" ;; + *) osname="linux" ;; + esac + + myarch="${CHOST%%-*}-${osname}" + if use debug ; then + myarch+="-debug" + fi + if use ithreads ; then + mythreading="-multi" + myarch+="-thread" + fi + + PRIV_BASE="/usr/$(get_libdir)/perl5" + SITE_BASE="/usr/local/$(get_libdir)/perl5" + VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl" + + LIBPERL="libperl$(get_libname ${MY_PV} )" + PRIV_LIB="${PRIV_BASE}/${MY_PV}" + ARCH_LIB="${PRIV_BASE}/${MY_PV}/${myarch}${mythreading}" + SITE_LIB="${SITE_BASE}/${MY_PV}" + SITE_ARCH="${SITE_BASE}/${MY_PV}/${myarch}${mythreading}" + VENDOR_LIB="${VENDOR_BASE}/${MY_PV}" + VENDOR_ARCH="${VENDOR_BASE}/${MY_PV}/${myarch}${mythreading}" + + dual_scripts +} + +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 +} + +src_prepare_update_patchlevel_h() { + # Copied and modified from debian: + # Copyright 2011 Niko Tyni + # This program is free software; you can redistribute it and/or modify + # it under the same terms as Perl itself. + local patchdir="${WORKDIR}/patches" + local prefix + local patchoutput="patchlevel-gentoo.h" + + [[ -f ${patchdir}/series ]] || return 0 + +while read patch +do + patchname=$(echo $patch | sed 's/\.diff$//') + < $patchdir/$patch sed -e '/^Subject:/ { N; s/\n / / }' | sed -n -e ' + + # massage the patch headers + s|^Bug: .*https\?://rt\.perl\.org/.*id=\(.*\).*|[perl #\1]|; tprepend; + s|^Bug: .*https\?://rt\.cpan\.org/.*id=\(.*\).*|[rt.cpan.org #\1]|; tprepend; + s|^Bug-Gentoo: ||; tprepend; + s/^\(Subject\|Description\): //; tappend; + s|^Origin: .*http://perl5\.git\.perl\.org/perl\.git/commit\(diff\)\?/\(.......\).*|[\2]|; tprepend; + + # post-process at the end of input + $ { x; + # include the version number in the patchlevel.h description (if available) + s/List packaged patches/&'" for ${PF}(#${PATCH_VER})"'/; + + # escape any backslashes and double quotes + s|\\|\\\\|g; s|"|\\"|g; + + # add a prefix + s|^|\t,"'"$prefix$patchname"' - |; + # newlines away + s/\n/ /g; s/ */ /g; + # add a suffix + s/ *$/"/; p + }; + # stop all processing + d; + # label: append to the hold space + :append H; d; + # label: prepend to the hold space + :prepend x; H; d; + ' +done < "${WORKDIR}"/patches/series > "${S}/${patchoutput}" +echo "${patchoutput}" >> "${S}/MANIFEST" +} + +src_prepare_perlcross() { + cp -a ../perl-cross-${CROSS_VER}/* . || 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 bf9174c70a0e50ff2fee4552c7df89b37d292da1/' \ + -e 's/MM_Unix\.pm .*/MM_Unix.pm b0ec308fe2d7dcfcef5732880db0fae1f4ea80fa/' \ + cnf/diffs/perl5-${PV}/customized.patch || die + + sed -i \ + -e 's|^lib/unicore/CombiningClass.pl pod/perluniprops.pod:|lib/unicore/CombiningClass.pl pod/perluniprops.pod: $(CONFIGPM)|' \ + Makefile || die + + # bug 604072 + MAKEOPTS+=" -j1" + export MAKEOPTS +} +src_prepare_dynamic() { + ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die + ln -s ${LIBPERL} libperl$(get_libname ) || die +} + +src_prepare() { + local patch + EPATCH_OPTS+=" -p1" + einfo "Applying patches from ${PATCH_BASE} ..." + while read patch ; do + EPATCH_SINGLE_MSG=" ${patch} ..." + epatch "${WORKDIR}"/patches/${patch} + done < "${WORKDIR}"/patches/series + + src_prepare_update_patchlevel_h + + tc-is-cross-compiler && src_prepare_perlcross + + tc-is-static-only || src_prepare_dynamic + + if use gdbm; then + sed -i "s:INC => .*:INC => \"-I${EROOT}usr/include/gdbm\":g" \ + ext/NDBM_File/Makefile.PL || die + fi + + default +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +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=${EROOT}/usr/include + export BZIP2_LIB=${EROOT}/usr/$(get_libdir) + + export BUILD_ZLIB=False + export ZLIB_INCLUDE=${EROOT}/usr/include + export ZLIB_LIB=${EROOT}/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' + if use berkdb ; then + myndbm='D' + fi + 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 + + # Autodiscover all old version directories, some of them will even be newer + # if you downgrade + if [[ -z ${PERL_OLDVERSEN} ]]; then + PERL_OLDVERSEN="$( + find "${EROOT%/}${PRIV_BASE}" "${EROOT%/}${SITE_BASE}" "${EROOT%/}${VENDOR_BASE}" \ + -maxdepth 1 -mindepth 1 -type d -regex '.*/5[.][0-9]+[.][0-9]+$' \ + -printf "%f " 2>/dev/null )" + fi + # Fixup versions, removing self match, fixing order and dupes + PERL_OLDVERSEN="$( + echo "${PERL_OLDVERSEN}" |\ + tr " " "\n" |\ + grep -vF "${DIST_VERSION%-RC}" |\ + sort -u -nr -t'.' -k1,1 -k2,2 -k3,3 + )" + + # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string + if [[ -n "${PERL_OLDVERSEN// }" ]]; then + local inclist="$( + for v in ${PERL_OLDVERSEN}; do + has "${v}" ${PERL_BIN_OLDVERSEN} && echo -n "${v}/${myarch}${mythreading} "; + echo -n "${v} "; + done )" + einfo "This version of perl may partially support modules previously" + einfo "installed in any of the following paths:" + for incpath in ${inclist}; do + [[ -e "${EROOT%/}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT%/}${VENDOR_BASE}/${incpath}" + [[ -e "${EROOT%/}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROO%/T}${PRIV_BASE}/${incpath}" + [[ -e "${EROOT%/}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT%/}${SITE_BASE}/${incpath}" + done + einfo "This is a temporary measure and you should aim to cleanup these paths" + einfo "via world updates and perl-cleaner" + 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}" + + [[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly + + [[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF} + # allow fiddling via EXTRA_ECONF, bug 558070 + eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})" + + myconf \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dcc="$(tc-getCC)" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix="${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' \ + -Ud_csh \ + -Dsh="${EPREFIX}"/bin/sh \ + -Dtargetsh="${EPREFIX}"/bin/sh \ + -Uusenm \ + -Ui_xlocale \ + "${myconf[@]}" \ + "${EXTRA_ECONF[@]}" + + if tc-is-cross-compiler; then + ./configure \ + --target="${CHOST}" \ + --build="${CBUILD}" \ + -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() { + export NO_GENTOO_NETWORK_TESTS=1; + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + use elibc_uclibc && export MAKEOPTS+=" -j1" + TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed" +} + +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 + + 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 +} + +pkg_preinst() { + check_rebuild +} + +pkg_postinst() { + dual_scripts + + if [[ "${ROOT}" = "/" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done + + fi +} + +pkg_postrm(){ + dual_scripts +} diff --git a/dev-lang/perl/perl-5.26.9999.ebuild b/dev-lang/perl/perl-5.26.9999.ebuild index e55363ce2b1a..e8cc6de7891f 100644 --- a/dev-lang/perl/perl-5.26.9999.ebuild +++ b/dev-lang/perl/perl-5.26.9999.ebuild @@ -511,6 +511,7 @@ src_configure() { -Dsh="${EPREFIX}"/bin/sh \ -Dtargetsh="${EPREFIX}"/bin/sh \ -Uusenm \ + -Ui_xlocale \ "${myconf[@]}" \ "${EXTRA_ECONF[@]}" diff --git a/dev-lang/perl/perl-5.28.9999.ebuild b/dev-lang/perl/perl-5.28.9999.ebuild index e5595e4eead1..610c42927718 100644 --- a/dev-lang/perl/perl-5.28.9999.ebuild +++ b/dev-lang/perl/perl-5.28.9999.ebuild @@ -511,6 +511,7 @@ src_configure() { -Dsh="${EPREFIX}"/bin/sh \ -Dtargetsh="${EPREFIX}"/bin/sh \ -Uusenm \ + -Ui_xlocale \ "${myconf[@]}" \ "${EXTRA_ECONF[@]}" diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index 7d1679d35985..d9697c404bbb 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -1,3 +1,4 @@ +AUX 3.4-getentropy-linux.patch 1766 SHA256 8399a01f1e472ce53a51d6a0fb1d13418ad6f07a413d8793ac1ba98354b6bc87 SHA512 52e888819b3c265e0920efa00911311a2029a6a80162ca56e69892ffc49c28487852882b27e560b9f8ff1c16ee41d074423b6c565596b37c6efca2dd8eb45675 WHIRLPOOL 5375b1a180f6a94739dbbdc6eb42de477e368054199e1ac91acdae515a7364a4e4a7a9f254b4fcf790266a0d0d4f8fe3cfdfd679d1dbfc9761e24293bab72f8b AUX 3.6-blake2.patch 1335 SHA256 4e862d64326e775289b75cdd82301b38c5f1b568e4441f9496e50682c95656fc SHA512 f8f9b4424df36f58354c24b7eb571c63a7bb49a1d2fd5399562ab28371eb3a80ed829c7e4fc19f5b3d9955a83a46d09a63819e4da0dafdef0a5a3f6b1e679d71 WHIRLPOOL e5e2d43f2b3f3ed23cd1251325700b22a2a6081bd769b48b5f260240cacc5309e418e4c39f35464c3d2100b39543f5a738bf9549cd5bc4b647b6956bb66c742f AUX 3.6.1-test_socket-AEAD.patch 3501 SHA256 7fcb14190cfb840c76fb2085ac3dfbd5c71cfaceda2d94f8a624ee3e85e87ccf SHA512 7c813ea3c9eb45f50164b58fd4908e6ccf48eba7d027f252a2c13dab09662a52c4d950c4c7583d50a8752848f52e0854e6974d8c2ebbb38a38fedaa97878bc28 WHIRLPOOL d65f5deda806637b51007aa5ae1ab4f628611bfa0fe8fbe39cc2dd8aeb7235c69f9e4a91fee8629edaf7ff18d97e525bafcf5435353fa2fabbaf342cbd4e9054 AUX pydoc.conf 169 SHA256 d6da332ae6d37f5539d8fc8411884a6c251b3769953e884463a622c751aee9a9 SHA512 30d0776a4004cd641e6f283658c3c24915a21ea15fe40e506ff2c3a5f95936aa00c9490b04ab25f29e9b7ac65cd88fd54ca0b08e000e73820b13c7c57c0bf5b2 WHIRLPOOL 672dc72d60180affe13e069094a50476eaeb22a00344accb78d338cad7eaf1b995e8a0595e109cb52a317f41554b5f9cc9e88811b3e63dbd7e30538ae677376b @@ -10,32 +11,23 @@ AUX python-3.4.3-ncurses-pkg-config.patch 302 SHA256 43e704d8dc96606d96c5eee82ec AUX python-3.4.5-cross.patch 494 SHA256 d658fa5c080c5a466668f53c7f0a42cd7d33fc3dcb2318d1d9b4733d423514f8 SHA512 66c387fa873d9aec0aa7ba2d2c6468c315dd44e96434ce6519f79de5ad820928b1b926b0a2e3a94c73d919b8f2d80c3e71964dc6870d2c7e05844a9e3b1866b8 WHIRLPOOL 81f4d23f8d1d2b07219efc3ea1527d9edcb21d8b97dd5fd8a72aec620dfa4701b6df3db9cdaa4e812f11591c95acae8b9d89370562063928c1e8acfa2309800b AUX python-3.5-distutils-OO-build.patch 3667 SHA256 fc552ecaee8f2b10d96f51d60ad88d13a2593b086f54e8f8fc12766976fc5021 SHA512 5e25d46a7d11b16a7183aaecf82f914506fae552aaaa3d69aca6445c131dff39d4cf13588fa109ce16d41e43355539bee8390a2c454f3696df5a06edb6a5ca77 WHIRLPOOL 9aa810ab40c195a3f62d23439e9b2c49c0873cde6b54f934c54a59756eb4fcaceb30d7692d95f1c65691e8a7c4909b90a910f54cc04d50c859985576fe25c41c DIST Python-2.7.12.tar.xz 12390820 SHA256 d7837121dd5652a05fef807c361909d255d173280c4e1a4ded94d73d80a1f978 SHA512 6ddbbce47cc49597433d98ca05c2f62f07ed1070807b645602a8e9e9b996adc6fa66fa20a33cd7d23d4e7e925e25071d7301d288149fbe4e8c5f06d5438dda1f WHIRLPOOL fe4224f4c3dc8dc5c49005051da0069922c86f39880a0072c09fac422e1913d924ac695e22be11603a961329dd8c17b1cf7696b31b62ef93398e42745a6446d6 -DIST Python-2.7.13.tar.xz 12495628 SHA256 35d543986882f78261f97787fd3e06274bfa6df29fac9b4a94f73930ff98f731 SHA512 f37c9a28ce129d01e63c84d7db627a06402854578f62d17927334ea21ede318e04bbf66e890e3f47c85333e6b19f6e5581fb3f3e27efd24be27017d1b6529c4b WHIRLPOOL 6bb6ad867c856bcaea97d5ad85882d990f5c8169a2450685cb77645f674bead83970c67a6a689ce0807856e366f320a0230250d2239f005f2a64cc32505507a5 DIST Python-2.7.14.tar.xz 12576112 SHA256 71ffb26e09e78650e424929b2b457b9c912ac216576e6bd9e7d204ed03296a66 SHA512 78310b0be6388ffa15f29a80afb9ab3c03a572cb094e9da00cfe391afadb51696e41f592eb658d6a31a2f422fdac8a55214a382cbb8cfb43d4a127d5b35ea7f9 WHIRLPOOL c604d747daa874de926abb8ec142a7824f2706b79fd828aa189895ba0e7d4df044b9be58d49ab70a245e9e7abd5da4340abe54fa0ff9eab32a4dee7db7ee9d29 DIST Python-3.4.5.tar.xz 14516820 SHA256 ee64b1c8a47461009abf25252332d29a4e587cb4f0c1c96aa793a3732e9d898a SHA512 b548a5338d141b3086dea372fa2cc245ba5350ee9f0d1304ef6222dc45380b66d380b092e547d54206d56ca68563b95036f445f97f72bb0ef1d48f81a74a3d4c WHIRLPOOL 43e0aed0177d46148964447b4fb24475c4c736afb2ba84ec393fbf55db3da3f192308f9c8f236deaa7a608dac56946ee7755970fadaa82bf406c910a05f36883 DIST Python-3.4.6.tar.xz 14473592 SHA256 f13428bbe6aa9e3b9b6499502dc488c26096349ed7a21f7a0c1db90911115f40 SHA512 f6785cf6a99a8a27823baefe59cc20e34cbec01bb444c8600e7f49b5437159d5137f9d80fce26e219846d71bfe98f68bc6f0c87719a34db0050a4eaca95959ac WHIRLPOOL d76c18cd247a953ff836cea1ead6f9fb71637938f8bdc91376f06841069944863ac3f6fa536fd0102279e828149c3280b48a48c8d0eaca70df2941a3f38a18ed -DIST Python-3.5.3.tar.xz 15213396 SHA256 eefe2ad6575855423ab630f5b51a8ef6e5556f774584c06beab4926f930ddbb0 SHA512 bbcc20e315c63dbc8901d7e7bfa29d4dbdad9335720757d8d679730319fd1d9fcfdb55cf62d620c9b052134170f162c28d653a8af60923185b8932524d827864 WHIRLPOOL 8aecc4dd97342d23b61cbef686f8324d4e9ee970e40745f88027bca63cf144cfa454e4d88ac52d508126c26f1ddb18617d0ff37f036438f08842998ed9e06066 DIST Python-3.5.4.tar.xz 15332320 SHA256 94d93bfabb3b109f8a10365a325f920f9ec98c6e2380bf228f9700a14054c84c SHA512 dbbe2740ee1cce5404b7b6436a9b3887e15f415a1006efa22014ec7e5b1e48c43eed0ff98f6f5b365c527b8d2525be4ce72bbe404ce71c0835529fcd6f0267ff WHIRLPOOL 63bca2b7b6f5da024c30f84d7e4152a37232e3b277fc5ec58ede9a1da57a44e31bb5f2e5ee33874328526f8d7fdd05dc12df5c69fb827394d5b57907671d3dd3 -DIST Python-3.6.1.tar.xz 16872064 SHA256 a01810ddfcec216bcdb357a84bfaafdfaa0ca42bbdaa4cb7ff74f5a9961e4041 SHA512 8605fb7019386fec227d4b06d06f00ae500a8a89df289bfe6141bb56196c75483a60cc0ee553930742b31cefce68add5ccf226e0f27b7b915f5026d597e1ac29 WHIRLPOOL 94309888496431e974463c42375df5eb067321687d47e81efebd36aac322d44bb76f274c0595c7e9de2ea35ead594d0b261e1be2ec31914a812e654c71fff105 DIST Python-3.6.3.tar.xz 16974296 SHA256 cda7d967c9a4bfa52337cdf551bcc5cff026b6ac50a8834e568ce4a794ca81da SHA512 32f24a3adcb7880003c7ecdc5e53e838e774adda76b308961d8215e28db630b2fa2828097817924c76afa4212b2df3362eb64d4e10f37c0147f512ec5aa8662b WHIRLPOOL cdd04d265568d577e97ce921bef63e78c493f05426adcc8bc2bb1e5dbf02e35c3a4361ff467b7021e917e5056cd12d75cb038e5977093649881f8c2c5aabcc28 DIST python-gentoo-patches-2.7.12-0.tar.xz 13576 SHA256 cd842eec7202df57c153adc1fbb81e70b26ef651f8e9346e065d8577b93f343b SHA512 8bf530fca15c47fa5d9bc958e433b35943a12c98e4172806a45aa60dc85ec92f8ab6ffcd90f752dc5bf8ffc711414894c15820c4b6ef72dbcedc2808119fb1f6 WHIRLPOOL 54b8ca6a4371d460dadccfdffcc096c12930d58714eef95117a658d7a1337ea89c45c69553b5b993017211faaa0f8d670e09a8452e53c0fb176be3e908524ee6 -DIST python-gentoo-patches-2.7.13-0.tar.xz 13292 SHA256 271835eb36125d09cc5e904ef23a5263acd8e5f513202a8d4f8a9a0f64fc80a8 SHA512 d70f6baba1a465a752c515e33dfdee2a5cc75400fadfb8ea0bd1e82d50089abdf02d7726c697850dc47de2054aa494bbdc08de2673c260b54e609f29dab259ad WHIRLPOOL 6a6d8b099fa814839bf5b3455b3889205c649ef522b35c3a501831d63d0e916d7747b83ac9b8991f8f8c34b328478d84cf7a12a32161ce0fec37204f9c019e2d DIST python-gentoo-patches-2.7.14-0.tar.xz 13428 SHA256 3567feeb8f0c66161efaea1922bbfe4e71f6051533ef5f54a74b6ccf9e0359b6 SHA512 6da5b52065752b54e9215d0f0809c75167dc3690d0e94fa21dd7595626925bc5c1dd065d31b3bd696d7087f3986de145d3a335a29eb7bd77442637a7ec2863c1 WHIRLPOOL ab77023ac66def132d1dce72f98add3108fd7be303ef5b167a2374df3a94949c75f089dcfdd84ed05a5eb813d6c22cfecd0de03b5819817a20b04f30030f5f6d DIST python-gentoo-patches-3.4.5-0.tar.xz 12044 SHA256 84ee7630670a1dac4bbbc55fabf5f99b5b29007de4f140ad956e93d2e7aba8fa SHA512 108a4845667ecdf4001fcbeffab0cfbbac87439a449a7351428b0f3e2f159e3848ee0c0dfa45c9fba893b9f9584b33722fc8bb0bd7485a1d0909c3a35ede6ed8 WHIRLPOOL f0248faa0b4ce5679e37381bba90f8a4d361a49db792787bffc06a54a4bc82fea4d53255120f10e6dbf51b99e12417fc1b469be9624e73508fa3a212a38e7352 DIST python-gentoo-patches-3.4.6-0.tar.xz 11728 SHA256 93e7c8487deefc36c612403fb6c82e495c46846a1952f9ed85f82af41840be4a SHA512 41c22dc8f1db8800fc0b97eed2b27bf1873e5de1369bd4aecf7a7a91e609a78e45a4b56fc89d575317f33a7704c0c1cad1494e8a993415a198f256e8338f49ab WHIRLPOOL 851945e7ccea985a88bcbd71bc404bc34c27a0e335386e9ed15fa9876aab3285ff559936fb2dcadf7ac0594a7cb03ac3a9e4135b67b350c5fdf33e9a44ca0654 -DIST python-gentoo-patches-3.5.3-0.tar.xz 11740 SHA256 34e83921697c31a5470afc09b8601b4f54466ac75b3b8ed3ed71af218af10d1c SHA512 16357e49573ea6abe6f106327c0f733312653c68726c4c3f0d1ec21df6d22bc69e512a28131b3a81eb2261e32376811a839b16604e72c7fb5abb7a692840228d WHIRLPOOL 99d3eb0a132f674b998e467a5d89e73d26cf547613034938ad255ccad9d34852b6b18a3da39659c8164b196788bdc90bf2e8ebc5c8c0c4f6fb6fc45fcdd406f5 DIST python-gentoo-patches-3.5.4-0.tar.xz 11704 SHA256 30c9dbcd5c11ed025b9d8dd201da84c5b9f9756f9b6ba77ccaebc6b79a91e320 SHA512 d395a87695f700598026038d6929ea5038abd7d494294037a4dfa02d5262203dbbaa6ae258a5a7f35ff5542f6266dcf69cc0b9c3df2a047cd2f6699a87e182ec WHIRLPOOL 2191dc89805c1bc11d125005a5c5dd0e5fe635eb0a3d6698bef8b55f54741edc3b3e2588bb21f5eda517963489c15296cd5fd265c8a548d78be6093698e6b002 -DIST python-gentoo-patches-3.6.0-0.tar.xz 10680 SHA256 ecf78d292f2fef1116b41c3884f492d41ea716a14f0a21755ba2f8d76aefe1a7 SHA512 f340643cf338c693ce315fab705ba888040a2989b0887686d43886319419245c24bb46ebb71cea422644f1f3beaf64289b773e72db3377187bf11a83f9313a90 WHIRLPOOL 4a4d12ea0dbb03b5d2730db40b5aebe4c1c937cfe63341c775431dc06a3b60552b9390fdf9b7fff5e50024a93d11b269ef80a95afcf308327943f7003dd4c379 DIST python-gentoo-patches-3.6.2-0.tar.xz 10744 SHA256 56729f9848557c52361c71404e5583368f6a0e93b5b6c2e643b59cb079e253d9 SHA512 2aac1700c541202aa4f43bff4cb521b996d52ab350133318abaddb43f4b6e20548f37de472ace8024ef325ebf63fdfff0d43f8aa1f717d3c56f974b7aa1764e3 WHIRLPOOL 90d1f12bee812f350ca0330a97290ce0d5c5fa9ccd816441944f042ef561d9023f4b79239f6d559f38a486fea458e48bf11d33d5bd6fa605875b686a2a845bd1 EBUILD python-2.7.12.ebuild 10750 SHA256 097322c05e8ce3e749f15eded01b7dbcc8b198995dae192d702b86ca95e488fa SHA512 31b6427107ceaa3309b29bba84819f2e1695b5911904de0138767be78a0ee7f02234d5956b1802259ebdbbc726c6ac7de0c11ffddcecd913c2607696528430db WHIRLPOOL 4a4b7420478cdc1738bc2150f3133eddb5a0ef338de33dcbcfad3f92fac354e1adb4ec12d8f32a6015c19e63d8270880a4befeab53ebccccc4714be79755cbd3 -EBUILD python-2.7.13.ebuild 10760 SHA256 737b7816424813dc152da2026473b3b7d0d9f37afce12f635b5617129b18e202 SHA512 03ab6787b81dbe52268e75971242230263db1cb6e5d6c01f9b4e96b917d4faeedd77e087a6b7e05682b0c08a9c840fd91ffc3523bc207f14c432910e2c1cfa88 WHIRLPOOL e375c651b9b7cba5914be1e88c3201fa6acf316a765822aeb577d7009bacb19c9de7b25f4a8f2aed57be00e92015d8b5f7ba2383bb896b8d406093e91cc67955 -EBUILD python-2.7.14.ebuild 10757 SHA256 b944342a184acb9f4bdb351425b064cfe258fa649404a3fa608ba802dea70ba5 SHA512 109a015e6ee6ac37baff09a9e7e12b34c8ee08673d10d6ee539cb37e129004da896f402628db219a2c3959b030d8cd8d285eb79eb18f5e7589faaa400261876b WHIRLPOOL ec3a98768af2ff9392f90b86da008a9280d37f7c7c4ee077538cfbaa1f1bc0e74abb52e16329a0c9284ef8f45ff086bcfbbfa4024ac24aa7bfbe26f310d7abfb -EBUILD python-3.4.5.ebuild 10493 SHA256 5e4fd02ad09f1ef78176f8f897a81d65a3a375c4bdd47bf220663d97996c53e1 SHA512 77559e269f8995fc93ea68824931c07b4be566ffd4775d4d30afd48e66a5fb34191d252ad5426c6cd2fcfa3c5176f50faf370b416ded6b8f2ea3957947d69448 WHIRLPOOL f8b532976b40049a5d139f060d614f6ea7d63b3a93e6d701826fb9ce724d4a9f37f14e8695ac5493e3addfc772c94ac682caf4ff13c71f6cc0a569cb9a950349 -EBUILD python-3.4.6.ebuild 10506 SHA256 62bef130a04d9a236da5daed8815af7cf4029ef69b62b41509b550b332d2b3c3 SHA512 aa7fd91eb9f7ded16cca1704dd69c7f99ec047cf98b5f2f6d40440d3774c784fa325f0e23d293d7aa9c3cc1d2da1c4bda673e87df207511e430892cac79336b7 WHIRLPOOL 26da088583376ea9977a89fb03409a8a1692f39dcc9b2bdcf1a7a7f5545d51850461f2ab46ea045b2722e35a41e91b4b795160aaaf4b3090ad1665409708ca14 -EBUILD python-3.5.3.ebuild 10616 SHA256 845df029dde963bc6c775456a99228d3dc68274e2fc2f02db821476a61a4ec29 SHA512 5f1126b0c265bed49c154e93be42c7e9f9fa2f9f1dccec36a66563ebc04dcdd7fb1e13c97dce7abc6e8645cbb3d9a46bddf0e6c11ce02d1d6ed1ed22c7622f04 WHIRLPOOL c66db283c54d200f7e603dc2694d34d433ac98f49fd081f1eada45848d841797f5ce4dd2a614653169eeb6e5f8eec02e5bacc052eb238477815f3cdb92fd7af1 -EBUILD python-3.5.4.ebuild 10612 SHA256 eb95fecd60e08a4720e2f680503c823dd2b13f04871c85f3062a1fd74370af62 SHA512 acff8d4eb81fb1264b26e62eda25a90faf099fad3e046a7bd85c81a7926d45ba943131e0c404f88d198ae558eb29d65ef2f651483da686d56c4452a6248398fc WHIRLPOOL 8810dde1acc2df36b9e9434a77e9658c869e839d732bb795d9ad44b8ada175116255a466788f8e5bc8d31d5eac66d87cc7f57dd040d552a2068a26c1526f2e42 -EBUILD python-3.6.1-r1.ebuild 10099 SHA256 1ff374b0563ce797b936cb46169fb900023eb159f0508309fc8d1fe92165e714 SHA512 a3c0cd7ed326371124d5dbf28e53123200d7455e69d7b0d455ed5bb7a6229d5fc84f68f0307f7a1ac776770f7e920ee15e0ecba074aadc2f1f53a306efbafedd WHIRLPOOL b66f8ee06fe6f7516cd2f0008b524143cb81da424999cbfc7ee15670737969c1f28d8b782b612f6ae5fe7cb461b167fed4397424d40cc7c4403425a42145f44a -EBUILD python-3.6.3.ebuild 10048 SHA256 65923d2c2bf9e3ac0059fc2d2c8b5ca85746f6d286ea71e887ad78da4cc068a0 SHA512 7ad64bef5a87331cf9e85e0c6713953632b80ad377cc9fadb278fd615a4cd2bfd0ade8ef812fca2c64fd42eb0e2f05f344b9c3503de6b13ac30c99ef125da041 WHIRLPOOL 583c1e37f9192788f1b7739e3b244dad9acf917f3579e87eb9740bda9f2c5adf1570bd28043dff2cbb9925ec48e6bfa080354a890af53af8ee9b01ae1352c5f7 +EBUILD python-2.7.14.ebuild 10761 SHA256 ff30ecb24f5aa926d4e2ff4967a6ab7a1c52ba70e63e40612cc0f712115d2c70 SHA512 76fb1f04360dd1e481b7148dd1da0325afe38678d7188d968a3d360b35ab2b00c053e128fee9b4ccd1c919fc4f551e21b533a8ec9cce6133edbcde1d8f4b4915 WHIRLPOOL 2b1c5925056901f288caf53dc198fb32a80a11aa7309fe0edaf89304b31615e844a68999efcbad26fef0f10ca23e7892696d81aba2c00dd18b66e9da7c2dcdcf +EBUILD python-3.4.5.ebuild 10547 SHA256 1f15b603ba833f9687f1e16a3be17d5fa1a25ca618c82f2837631d83f43ef9d8 SHA512 7b988edc2b962476ec8f4c406fae0fdb0658725840b9ba261d5c1975da4cfe42472bb21d6386aa693cf376ac535b2f6a04187449fad22299a2f6d9a5f9fdb690 WHIRLPOOL 528ea8f037ce16a6d53425d3290a5bf33bc6e066c911370b0c069bcc1025815d0f1bfff2ccfd6353e7622eb717c375773d9f9f99898a86102a0ef3a1616d714d +EBUILD python-3.4.6.ebuild 10560 SHA256 d21dc79dc6e288177954ff528b0b5858b712a5eb84a27bf57f2cee7a1181bac9 SHA512 f16c395689916cc3d7b840343732de2fb4dfb62b996677e12ae8b50dbf95dd0e385c86f3a5e4049964d1ab67121556f7309bfddaad15b9e346dd3e9235813528 WHIRLPOOL 9ade13d473353932d4ee96b52ee90f10bcd4937f45625b37134723261861ff7e54d7154b2ee019934a304d14a7bbe63db2707b70712c29942bbe1bb6d15b9315 +EBUILD python-3.5.4.ebuild 10617 SHA256 d2f411319d192aa7f21ab463dee34fbb617f14f2d2a3dbe845505ccf78a5dd9c SHA512 3b2a4a97b49ff5bb91864a22db922eb73aea44bb587e6f915781acecc69805a9c4bbdf01b31a66089b50acc8e6ff3b07d9f3f1959428d4d4e0ae19960b3ae1ff WHIRLPOOL bac81ca361713675b339a3b9769a9e1f9167a136a4dc5cb73bfed4042196cf4a3d4a3180f5c16816a2a13e833d97da709fce6232f37e3bdde931c32a96898e02 +EBUILD python-3.6.3.ebuild 10053 SHA256 69b35c94423af54f242b8b7b44640ad44cae9912e724724e01373dfadd2818b9 SHA512 46550bed736276975b6651bccf3246307626d09aee9831669a0e77b24ccc2d36e5d29909d39b06785354e0a0a6083722979f201d4338bfe66f3ad266b660e59c WHIRLPOOL d7bdec875fb6273c473d58a7492cdcfb5d28931dc5d2781c7b84c61056cc764708f5c769a41f47dca9d13be66b276831b893dbdc62b544bffa88f879aa8b1995 MISC ChangeLog 26323 SHA256 942a60afe8ad4d69f054645a4220ad8dc2eae24225f3c25acb6f71dead64fb82 SHA512 77a389f32babcce473a772076c963471c07c5c6dd6587d6df9c8a24384076b384ffcc3483848a08fa34032e61845bdfc17ddd2e15073cc68a66db8563470fc76 WHIRLPOOL 89485d421006e31d992195eb23af7cf0ddb37788550741b8f38a5fef97d003b59802f55c950128c06404d777a5dbf7a87e01eabe6554e19c17ada4bb713c696b MISC ChangeLog-2011 100599 SHA256 23129cb47321b2a6b1cb9323f1815d0cd11d6f30c3893908ed51575c270a0cc8 SHA512 4181ba9d965139ba58218da5b960c87b7a611b27606a1ab1ce1b4c3c9255b4e0e2947307cbfffc531f0f8b6b545ee11e083fcb29dc7b2b7ba31c6bb40b8ab128 WHIRLPOOL 4ceebb6a6ed58b906d3a7331795748ac6e4fe2e1401bcccae9024a8e81e2c444aebc5fec610398cfe6002354ad3b10487484598da5091867874727f07e239c56 MISC ChangeLog-2015 40926 SHA256 f5d1dfa6038a588334062ea3e00e9ef9647ef13c7d667a0288a0cec4958aaa85 SHA512 36477f494cfe71e85401b97f1bf5035ebe255e4995886b74a2d535c9d77ca287d324adf239a3213e3be010793835d88f3f513b869bbeee57feb3cb2737549530 WHIRLPOOL b80dc69c8fa4666dbeb71e13c801ed332fbb80141076dc31e1e5b91f34531727f9b2004bee04b2415ad709c77e0be23318e96f4a7219c05dec79f99c22ffc853 diff --git a/dev-lang/python/files/3.4-getentropy-linux.patch b/dev-lang/python/files/3.4-getentropy-linux.patch new file mode 100644 index 000000000000..9f12389bb253 --- /dev/null +++ b/dev-lang/python/files/3.4-getentropy-linux.patch @@ -0,0 +1,40 @@ +From 5635d44079e1bbd9c495951ede8d078e7b8d67d5 Mon Sep 17 00:00:00 2001 +From: Victor Stinner <victor.stinner@gmail.com> +Date: Mon, 9 Jan 2017 11:10:41 +0100 +Subject: [PATCH] Don't use getentropy() on Linux + +Issue #29188: Support glibc 2.24 on Linux: don't use getentropy() function but +read from /dev/urandom to get random bytes, for example in os.urandom(). On +Linux, getentropy() is implemented which getrandom() is blocking mode, whereas +os.urandom() should not block. +--- + Python/random.c | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git a/Python/random.c b/Python/random.c +index af3d0bd0d5..dc6400d3b8 100644 +--- a/Python/random.c ++++ b/Python/random.c +@@ -67,9 +67,16 @@ win32_urandom(unsigned char *buffer, Py_ssize_t size, int raise) + return 0; + } + +-/* Issue #25003: Don' use getentropy() on Solaris (available since +- * Solaris 11.3), it is blocking whereas os.urandom() should not block. */ +-#elif defined(HAVE_GETENTROPY) && !defined(sun) ++/* Issue #25003: Don't use getentropy() on Solaris (available since ++ Solaris 11.3), it is blocking whereas os.urandom() should not block. ++ ++ Issue #29188: Don't use getentropy() on Linux since the glibc 2.24 ++ implements it with the getrandom() syscall which can fail with ENOSYS, ++ and this error is not supported in py_getentropy() and getrandom() is called ++ with flags=0 which blocks until system urandom is initialized, which is not ++ the desired behaviour to seed the Python hash secret nor for os.urandom(): ++ see the PEP 524 which was only implemented in Python 3.6. */ ++#elif defined(HAVE_GETENTROPY) && !defined(sun) && !defined(linux) + #define PY_GETENTROPY 1 + + /* Fill buffer with size pseudo-random bytes generated by getentropy(). +-- +2.15.0.rc2 + diff --git a/dev-lang/python/python-2.7.13.ebuild b/dev-lang/python/python-2.7.13.ebuild deleted file mode 100644 index 18e0186ada11..000000000000 --- a/dev-lang/python/python-2.7.13.ebuild +++ /dev/null @@ -1,365 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" -WANT_LIBTOOL="none" - -inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolchain-funcs multiprocessing - -MY_P="Python-${PV}" -PATCHSET_VERSION="2.7.13-0" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz - https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz" - -LICENSE="PSF-2" -SLOT="2.7" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" -IUSE="-berkdb build doc elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND="app-arch/bzip2:0= - >=sys-libs/zlib-1.1.3:0= - virtual/libffi - virtual/libintl - berkdb? ( || ( - sys-libs/db:5.3 - sys-libs/db:5.2 - sys-libs/db:5.1 - sys-libs/db:5.0 - sys-libs/db:4.8 - sys-libs/db:4.7 - sys-libs/db:4.6 - sys-libs/db:4.5 - sys-libs/db:4.4 - sys-libs/db:4.3 - sys-libs/db:4.2 - ) ) - gdbm? ( sys-libs/gdbm:0=[berkdb] ) - ncurses? ( - >=sys-libs/ncurses-5.2:0= - readline? ( >=sys-libs/readline-4.1:0= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:= ) - ) - tk? ( - >=dev-lang/tcl-8.0:0= - >=dev-lang/tk-8.0:0= - dev-tcltk/blt:0= - dev-tcltk/tix - ) - xml? ( >=dev-libs/expat-2.1 ) - !!<sys-apps/portage-2.1.9" -DEPEND="${RDEPEND} - virtual/pkgconfig - >=sys-devel/autoconf-2.65 - !sys-devel/gcc[libffi(-)]" -RDEPEND+=" !build? ( app-misc/mime-types ) - doc? ( dev-python/python-docs:${SLOT} )" -PDEPEND=">=app-eselect/eselect-python-20140125-r1" - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - if use berkdb; then - ewarn "'bsddb' module is out-of-date and no longer maintained inside" - ewarn "dev-lang/python. 'bsddb' and 'dbhash' modules have been additionally" - ewarn "removed in Python 3. A maintained alternative of 'bsddb3' module" - ewarn "is provided by dev-python/bsddb3." - else - if has_version "=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"; then - ewarn "You are migrating from =${CATEGORY}/${PN}-${PV%%.*}*[berkdb]" - ewarn "to =${CATEGORY}/${PN}-${PV%%.*}*[-berkdb]." - ewarn "You might need to migrate your databases." - fi - fi -} - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -r Modules/expat || die - rm -r Modules/_ctypes/libffi* || die - rm -r Modules/zlib || die - - if tc-is-cross-compiler; then - local EPATCH_EXCLUDE="*_regenerate_platform-specific_modules.patch" - fi - - EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches" - - # Fix for cross-compiling. - epatch "${FILESDIR}/python-2.7.5-nonfatal-compileall.patch" - epatch "${FILESDIR}/python-2.7.9-ncurses-pkg-config.patch" - epatch "${FILESDIR}/python-2.7.10-cross-compile-warn-test.patch" - epatch "${FILESDIR}/python-2.7.10-system-libffi.patch" - - epatch_user - - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ - Lib/distutils/command/install.py \ - Lib/distutils/sysconfig.py \ - Lib/site.py \ - Lib/sysconfig.py \ - Lib/test/test_site.py \ - Makefile.pre.in \ - Modules/Setup.dist \ - Modules/getpath.c \ - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" - - eautoreconf -} - -src_configure() { - # dbm module can be linked against berkdb or gdbm. - # Defaults to gdbm when both are enabled, #204343. - local disable - use berkdb || use gdbm || disable+=" dbm" - use berkdb || disable+=" _bsddb" - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - if tc-is-cross-compiler; then - # Force some tests that try to poke fs paths. - export ac_cv_file__dev_ptc=no - export ac_cv_file__dev_ptmx=yes - fi - - # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile. - tc-export CXX - # The configure script fails to use pkg-config correctly. - # http://bugs.python.org/issue15506 - export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG) - - # Set LDFLAGS so we link modules with -lpython2.7 correctly. - # Needed on FreeBSD unless Python 2.7 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - - local dbmliborder - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - if use berkdb; then - dbmliborder+="${dbmliborder:+:}bdb" - fi - - BUILD_DIR="${WORKDIR}/${CHOST}" - mkdir -p "${BUILD_DIR}" || die - cd "${BUILD_DIR}" || die - - ECONF_SOURCE="${S}" OPT="" \ - econf \ - --with-fpectl \ - --enable-shared \ - $(use_enable ipv6) \ - $(use_with threads) \ - $(use wide-unicode && echo "--enable-unicode=ucs4" || echo "--enable-unicode=ucs2") \ - --infodir='${prefix}/share/info' \ - --mandir='${prefix}/share/man' \ - --with-computed-gotos \ - --with-dbmliborder="${dbmliborder}" \ - --with-libc="" \ - --enable-loadable-sqlite-extensions \ - --with-system-expat \ - --with-system-ffi \ - --without-ensurepip - - if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi -} - -src_compile() { - # Avoid invoking pgen for cross-compiles. - touch Include/graminit.h Python/graminit.c - - cd "${BUILD_DIR}" || die - emake - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - cd "${BUILD_DIR}" || die - - # Skip failing tests. - local skipped_tests="distutils gdb" - - for test in ${skipped_tests}; do - mv "${S}"/Lib/test/test_${test}.py "${T}" - done - - # Daylight saving time problem - # https://bugs.python.org/issue22067 - # https://bugs.gentoo.org/610628 - local -x TZ=UTC - - # Rerun failed tests in verbose mode (regrtest -w). - emake test EXTRATESTOPTS="-w" < /dev/tty - local result="$?" - - for test in ${skipped_tests}; do - mv "${T}/test_${test}.py" "${S}"/Lib/test - done - - elog "The following tests have been skipped:" - for test in ${skipped_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}/usr/$(get_libdir)/python${SLOT}/test'" - elog "and run the tests separately." - - if [[ "${result}" -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - local libdir=${ED}/usr/$(get_libdir)/python${SLOT} - - cd "${BUILD_DIR}" || die - emake DESTDIR="${D}" altinstall - - sed -e "s/\(LDFLAGS=\).*/\1/" -i "${libdir}/config/Makefile" || die "sed failed" - - # Fix collisions between different slots of Python. - mv "${ED}usr/bin/2to3" "${ED}usr/bin/2to3-${SLOT}" - mv "${ED}usr/bin/pydoc" "${ED}usr/bin/pydoc${SLOT}" - mv "${ED}usr/bin/idle" "${ED}usr/bin/idle${SLOT}" - rm -f "${ED}usr/bin/smtpd.py" - - use berkdb || rm -r "${libdir}/"{bsddb,dbhash.py*,test/test_bsddb*} || die - use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die - use tk || rm -r "${ED}usr/bin/idle${SLOT}" "${libdir}/"{idlelib,lib-tk} || die - use elibc_uclibc && rm -fr "${libdir}/"{bsddb/test,test} - - use threads || rm -r "${libdir}/multiprocessing" || die - use wininst || rm -r "${libdir}/distutils/command/"wininst-*.exe || die - - dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - insinto /usr/share/doc/${PF}/examples - doins -r "${S}"/Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ - emake --no-print-directory -s -f - 2>/dev/null) - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT} - newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${SLOT/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${SLOT}:" \ - -i "${ED}etc/conf.d/pydoc-${SLOT}" "${ED}etc/init.d/pydoc-${SLOT}" || die "sed failed" - - # for python-exec - local vars=( EPYTHON PYTHON_SITEDIR PYTHON_SCRIPTDIR ) - - # if not using a cross-compiler, use the fresh binary - if ! tc-is-cross-compiler; then - local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}. - else - vars=( PYTHON "${vars[@]}" ) - fi - - python_export "python${SLOT}" "${vars[@]}" - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_domodule epython.py - - # python-exec wrapping support - local pymajor=${SLOT%.*} - mkdir -p "${D}${PYTHON_SCRIPTDIR}" || die - # python and pythonX - ln -s "../../../bin/python${SLOT}" \ - "${D}${PYTHON_SCRIPTDIR}/python${pymajor}" || die - ln -s "python${pymajor}" \ - "${D}${PYTHON_SCRIPTDIR}/python" || die - # python-config and pythonX-config - ln -s "../../../bin/python${SLOT}-config" \ - "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" \ - "${D}${PYTHON_SCRIPTDIR}/python-config" || die - # 2to3, pydoc, pyvenv - ln -s "../../../bin/2to3-${SLOT}" \ - "${D}${PYTHON_SCRIPTDIR}/2to3" || die - ln -s "../../../bin/pydoc${SLOT}" \ - "${D}${PYTHON_SCRIPTDIR}/pydoc" || die - # idle - if use tk; then - ln -s "../../../bin/idle${SLOT}" \ - "${D}${PYTHON_SCRIPTDIR}/idle" || die - fi -} - -eselect_python_update() { - if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then - eselect python update - fi - - if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then - eselect python update --python${PV%%.*} - fi -} - -pkg_postinst() { - eselect_python_update -} - -pkg_postrm() { - eselect_python_update -} diff --git a/dev-lang/python/python-2.7.14.ebuild b/dev-lang/python/python-2.7.14.ebuild index 5e5cbbf19174..587a661ce691 100644 --- a/dev-lang/python/python-2.7.14.ebuild +++ b/dev-lang/python/python-2.7.14.ebuild @@ -16,7 +16,7 @@ SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz LICENSE="PSF-2" SLOT="2.7" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" IUSE="-berkdb build doc elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml" # Do not add a dependency on dev-lang/python to this ebuild. @@ -312,7 +312,7 @@ src_install() { # if not using a cross-compiler, use the fresh binary if ! tc-is-cross-compiler; then local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}. + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} else vars=( PYTHON "${vars[@]}" ) fi diff --git a/dev-lang/python/python-3.4.5.ebuild b/dev-lang/python/python-3.4.5.ebuild index 5586215492b1..29991dd53ae7 100644 --- a/dev-lang/python/python-3.4.5.ebuild +++ b/dev-lang/python/python-3.4.5.ebuild @@ -72,6 +72,7 @@ src_prepare() { EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches" epatch "${FILESDIR}/${PN}-3.4.3-ncurses-pkg-config.patch" epatch "${FILESDIR}/${PN}-3.4.5-cross.patch" + epatch "${FILESDIR}/3.4-getentropy-linux.patch" epatch_user @@ -284,7 +285,7 @@ src_install() { # if not using a cross-compiler, use the fresh binary if ! tc-is-cross-compiler; then local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}. + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} else vars=( PYTHON "${vars[@]}" ) fi diff --git a/dev-lang/python/python-3.4.6.ebuild b/dev-lang/python/python-3.4.6.ebuild index f5d3c43753b3..4e06debaade7 100644 --- a/dev-lang/python/python-3.4.6.ebuild +++ b/dev-lang/python/python-3.4.6.ebuild @@ -72,6 +72,7 @@ src_prepare() { EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches" epatch "${FILESDIR}/${PN}-3.4.3-ncurses-pkg-config.patch" epatch "${FILESDIR}/${PN}-3.4.5-cross.patch" + epatch "${FILESDIR}/3.4-getentropy-linux.patch" epatch_user @@ -284,7 +285,7 @@ src_install() { # if not using a cross-compiler, use the fresh binary if ! tc-is-cross-compiler; then local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}. + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} else vars=( PYTHON "${vars[@]}" ) fi diff --git a/dev-lang/python/python-3.5.3.ebuild b/dev-lang/python/python-3.5.3.ebuild deleted file mode 100644 index 8d1cd2820111..000000000000 --- a/dev-lang/python/python-3.5.3.ebuild +++ /dev/null @@ -1,362 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" -WANT_LIBTOOL="none" - -inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolchain-funcs - -MY_P="Python-${PV/_/}" -PATCHSET_VERSION="3.5.3-0" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${PV%_rc*}/${MY_P}.tar.xz - https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz" - -LICENSE="PSF-2" -SLOT="3.5/3.5m" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" -IUSE="build elibc_uclibc examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl +threads tk wininst +xml" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND="app-arch/bzip2:0= - app-arch/xz-utils:0= - >=sys-libs/zlib-1.1.3:0= - virtual/libffi - virtual/libintl - gdbm? ( sys-libs/gdbm:0=[berkdb] ) - ncurses? ( - >=sys-libs/ncurses-5.2:0= - readline? ( >=sys-libs/readline-4.1:0= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:= ) - ) - tk? ( - >=dev-lang/tcl-8.0:0= - >=dev-lang/tk-8.0:0= - dev-tcltk/blt:0= - dev-tcltk/tix - ) - xml? ( >=dev-libs/expat-2.1:0= ) - !!<sys-apps/sandbox-2.6-r1" -DEPEND="${RDEPEND} - virtual/pkgconfig - !sys-devel/gcc[libffi(-)]" -RDEPEND+=" !build? ( app-misc/mime-types )" -PDEPEND=">=app-eselect/eselect-python-20140125-r1" - -S="${WORKDIR}/${MY_P}" - -PYVER=${SLOT%/*} - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -fr Modules/expat - rm -fr Modules/_ctypes/libffi* - rm -fr Modules/zlib - - if tc-is-cross-compiler; then - # Invokes BUILDPYTHON, which is built for the host arch - local EPATCH_EXCLUDE="*_regenerate_platform-specific_modules.patch" - fi - - EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches" - epatch "${FILESDIR}/${PN}-3.4.3-ncurses-pkg-config.patch" - epatch "${FILESDIR}/${PN}-3.5-distutils-OO-build.patch" - - epatch_user - - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ - configure.ac \ - Lib/distutils/command/install.py \ - Lib/distutils/sysconfig.py \ - Lib/site.py \ - Lib/sysconfig.py \ - Lib/test/test_site.py \ - Makefile.pre.in \ - Modules/getpath.c \ - Modules/Setup.dist \ - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" - - eautoreconf -} - -src_configure() { - local disable - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - tc-export CXX - - # The configure script fails to use pkg-config correctly. - # http://bugs.python.org/issue15506 - export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG) - - # Set LDFLAGS so we link modules with -lpython3.2 correctly. - # Needed on FreeBSD unless Python 3.2 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - - local dbmliborder - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - BUILD_DIR="${WORKDIR}/${CHOST}" - mkdir -p "${BUILD_DIR}" || die - cd "${BUILD_DIR}" || die - - local myeconfargs=( - --with-fpectl - --enable-shared - $(use_enable ipv6) - $(use_with threads) - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-computed-gotos - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --with-system-expat - --with-system-ffi - ) - - ECONF_SOURCE="${S}" OPT="" econf "${myeconfargs[@]}" - - if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - - cd "${BUILD_DIR}" || die - - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - cd "${BUILD_DIR}" || die - - # Skip failing tests. - local skipped_tests="gdb" - - for test in ${skipped_tests}; do - mv "${S}"/Lib/test/test_${test}.py "${T}" - done - - local -x PYTHONDONTWRITEBYTECODE= - emake test EXTRATESTOPTS="-u-network" CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local result=$? - - for test in ${skipped_tests}; do - mv "${T}/test_${test}.py" "${S}"/Lib/test - done - - elog "The following tests have been skipped:" - for test in ${skipped_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'" - elog "and run the tests separately." - - if [[ ${result} -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - local libdir=${ED}/usr/$(get_libdir)/python${PYVER} - - cd "${BUILD_DIR}" || die - - emake DESTDIR="${D}" altinstall - - sed \ - -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ - -e "s/\(PY_LDFLAGS=\).*/\1/" \ - -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" - - # Fix collisions between different slots of Python. - rm -f "${ED}usr/$(get_libdir)/libpython3.so" - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E "${ED}usr/bin/${abiver}" - else - pax-mark m "${ED}usr/bin/${abiver}" - fi - - use elibc_uclibc && rm -fr "${libdir}/test" - use sqlite || rm -fr "${libdir}/"{sqlite3,test/test_sqlite*} - use tk || rm -fr "${ED}usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} - - use threads || rm -fr "${libdir}/multiprocessing" - use wininst || rm -f "${libdir}/distutils/command/"wininst-*.exe - - dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - insinto /usr/share/doc/${PF}/examples - find "${S}"/Tools -name __pycache__ -print0 | xargs -0 rm -fr - doins -r "${S}"/Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ - emake --no-print-directory -s -f - 2>/dev/null) - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}etc/conf.d/pydoc-${PYVER}" "${ED}etc/init.d/pydoc-${PYVER}" || die "sed failed" - - # for python-exec - local vars=( EPYTHON PYTHON_SITEDIR PYTHON_SCRIPTDIR ) - - # if not using a cross-compiler, use the fresh binary - if ! tc-is-cross-compiler; then - local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}. - else - vars=( PYTHON "${vars[@]}" ) - fi - - python_export "python${PYVER}" "${vars[@]}" - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_domodule epython.py - - # python-exec wrapping support - local pymajor=${PYVER%.*} - mkdir -p "${D}${PYTHON_SCRIPTDIR}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" \ - "${D}${PYTHON_SCRIPTDIR}/python${pymajor}" || die - ln -s "python${pymajor}" \ - "${D}${PYTHON_SCRIPTDIR}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" \ - "${D}${PYTHON_SCRIPTDIR}/python-config" || die - # 2to3, pydoc, pyvenv - ln -s "../../../bin/2to3-${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/2to3" || die - ln -s "../../../bin/pydoc${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/pydoc" || die - ln -s "../../../bin/pyvenv-${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/pyvenv" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/idle" || die - fi -} - -pkg_preinst() { - if has_version "<${CATEGORY}/${PN}-${PYVER}" && ! has_version ">=${CATEGORY}/${PN}-${PYVER}_alpha"; then - python_updater_warning="1" - fi -} - -eselect_python_update() { - if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then - eselect python update - fi - - if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then - eselect python update --python${PV%%.*} - fi -} - -pkg_postinst() { - eselect_python_update - - if [[ "${python_updater_warning}" == "1" ]]; then - ewarn "You have just upgraded from an older version of Python." - ewarn - ewarn "Please adjust PYTHON_TARGETS (if so desired), and run emerge with the --newuse or --changed-use option to rebuild packages installing python modules." - fi -} - -pkg_postrm() { - eselect_python_update -} diff --git a/dev-lang/python/python-3.5.4.ebuild b/dev-lang/python/python-3.5.4.ebuild index 6c3ebff859ad..b39e0a2d1d73 100644 --- a/dev-lang/python/python-3.5.4.ebuild +++ b/dev-lang/python/python-3.5.4.ebuild @@ -290,7 +290,7 @@ src_install() { # if not using a cross-compiler, use the fresh binary if ! tc-is-cross-compiler; then local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}. + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} else vars=( PYTHON "${vars[@]}" ) fi diff --git a/dev-lang/python/python-3.6.1-r1.ebuild b/dev-lang/python/python-3.6.1-r1.ebuild deleted file mode 100644 index ef6e62034cdc..000000000000 --- a/dev-lang/python/python-3.6.1-r1.ebuild +++ /dev/null @@ -1,343 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" -WANT_LIBTOOL="none" - -inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolchain-funcs - -MY_P="Python-${PV}" -PATCHSET_VERSION="3.6.0-0" - -DESCRIPTION="An interpreted, interactive, object-oriented programming language" -HOMEPAGE="https://www.python.org/" -SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz - https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${PATCHSET_VERSION}.tar.xz" - -LICENSE="PSF-2" -SLOT="3.6/3.6m" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" -IUSE="build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl +threads tk wininst +xml" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND="app-arch/bzip2:0= - app-arch/xz-utils:0= - >=sys-libs/zlib-1.1.3:0= - virtual/libffi - virtual/libintl - gdbm? ( sys-libs/gdbm:0=[berkdb] ) - ncurses? ( - >=sys-libs/ncurses-5.2:0= - readline? ( >=sys-libs/readline-4.1:0= ) - ) - sqlite? ( >=dev-db/sqlite-3.3.8:3= ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:= ) - ) - tk? ( - >=dev-lang/tcl-8.0:0= - >=dev-lang/tk-8.0:0= - dev-tcltk/blt:0= - dev-tcltk/tix - ) - xml? ( >=dev-libs/expat-2.1:0= ) - !!<sys-apps/sandbox-2.6-r1" -DEPEND="${RDEPEND} - virtual/pkgconfig - !sys-devel/gcc[libffi(-)]" -RDEPEND+=" !build? ( app-misc/mime-types )" -PDEPEND=">=app-eselect/eselect-python-20140125-r1" - -S="${WORKDIR}/${MY_P}" -PYVER=${SLOT%/*} - -src_prepare() { - # Ensure that internal copies of expat, libffi and zlib are not used. - rm -fr Modules/expat - rm -fr Modules/_ctypes/libffi* - rm -fr Modules/zlib - - EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches" - epatch "${FILESDIR}/${PN}-3.5-distutils-OO-build.patch" - epatch "${FILESDIR}/3.6.1-test_socket-AEAD.patch" - epatch "${FILESDIR}/3.6-blake2.patch" - - epatch_user - - sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ - Lib/distutils/command/install.py \ - Lib/distutils/sysconfig.py \ - Lib/site.py \ - Lib/sysconfig.py \ - Lib/test/test_site.py \ - Makefile.pre.in \ - Modules/Setup.dist \ - Modules/getpath.c \ - configure.ac \ - setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" - - eautoreconf -} - -src_configure() { - local disable - use gdbm || disable+=" gdbm" - use ncurses || disable+=" _curses _curses_panel" - use readline || disable+=" readline" - use sqlite || disable+=" _sqlite3" - use ssl || export PYTHON_DISABLE_SSL="1" - use tk || disable+=" _tkinter" - use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. - export PYTHON_DISABLE_MODULES="${disable}" - - if ! use xml; then - ewarn "You have configured Python without XML support." - ewarn "This is NOT a recommended configuration as you" - ewarn "may face problems parsing any XML documents." - fi - - if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then - einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" - fi - - if [[ "$(gcc-major-version)" -ge 4 ]]; then - append-flags -fwrapv - fi - - filter-flags -malign-double - - # https://bugs.gentoo.org/show_bug.cgi?id=50309 - if is-flagq -O3; then - is-flagq -fstack-protector-all && replace-flags -O3 -O2 - use hardened && replace-flags -O3 -O2 - fi - - # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. - tc-export CXX - - # Set LDFLAGS so we link modules with -lpython3.2 correctly. - # Needed on FreeBSD unless Python 3.2 is already installed. - # Please query BSD team before removing this! - append-ldflags "-L." - - local dbmliborder - if use gdbm; then - dbmliborder+="${dbmliborder:+:}gdbm" - fi - - local myeconfargs=( - --with-fpectl - --enable-shared - $(use_enable ipv6) - $(use_with threads) - --infodir='${prefix}/share/info' - --mandir='${prefix}/share/man' - --with-computed-gotos - --with-dbmliborder="${dbmliborder}" - --with-libc= - --enable-loadable-sqlite-extensions - --without-ensurepip - --with-system-expat - --with-system-ffi - ) - - OPT="" econf "${myeconfargs[@]}" - - if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then - eerror "configure has detected that the sem_open function is broken." - eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." - die "Broken sem_open function (bug 496328)" - fi -} - -src_compile() { - # Ensure sed works as expected - # https://bugs.gentoo.org/594768 - local -x LC_ALL=C - - emake CPPFLAGS= CFLAGS= LDFLAGS= - - # Work around bug 329499. See also bug 413751 and 457194. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E python - else - pax-mark m python - fi -} - -src_test() { - # Tests will not work when cross compiling. - if tc-is-cross-compiler; then - elog "Disabling tests due to crosscompiling." - return - fi - - # Skip failing tests. - local skipped_tests="gdb" - - for test in ${skipped_tests}; do - mv "${S}"/Lib/test/test_${test}.py "${T}" - done - - local -x PYTHONDONTWRITEBYTECODE= - - emake test EXTRATESTOPTS="-u-network" CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty - local result=$? - - for test in ${skipped_tests}; do - mv "${T}/test_${test}.py" "${S}"/Lib/test - done - - elog "The following tests have been skipped:" - for test in ${skipped_tests}; do - elog "test_${test}.py" - done - - elog "If you would like to run them, you may:" - elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'" - elog "and run the tests separately." - - if [[ ${result} -ne 0 ]]; then - die "emake test failed" - fi -} - -src_install() { - local libdir=${ED}/usr/$(get_libdir)/python${PYVER} - - emake DESTDIR="${D}" altinstall - - sed \ - -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \ - -e "s/\(PY_LDFLAGS=\).*/\1/" \ - -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed" - - # Fix collisions between different slots of Python. - rm -f "${ED}usr/$(get_libdir)/libpython3.so" - - # Cheap hack to get version with ABIFLAGS - local abiver=$(cd "${ED}usr/include"; echo python*) - if [[ ${abiver} != python${PYVER} ]]; then - # Replace python3.X with a symlink to python3.Xm - rm "${ED}usr/bin/python${PYVER}" || die - dosym "${abiver}" "/usr/bin/python${PYVER}" - # Create python3.X-config symlink - dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" - # Create python-3.5m.pc symlink - dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" - fi - - # python seems to get rebuilt in src_install (bug 569908) - # Work around it for now. - if has_version dev-libs/libffi[pax_kernel]; then - pax-mark E "${ED}usr/bin/${abiver}" - else - pax-mark m "${ED}usr/bin/${abiver}" - fi - - use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die - use tk || rm -r "${ED}usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die - - use threads || rm -r "${libdir}/multiprocessing" || die - use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die - - dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS} - - if use examples; then - insinto /usr/share/doc/${PF}/examples - find "${S}"/Tools -name __pycache__ -print0 | xargs -0 rm -fr - doins -r "${S}"/Tools - fi - insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 - local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \ - emake --no-print-directory -s -f - 2>/dev/null) - newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py - - newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} - newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} - sed \ - -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ - -e "s:@PYDOC@:pydoc${PYVER}:" \ - -i "${ED}etc/conf.d/pydoc-${PYVER}" "${ED}etc/init.d/pydoc-${PYVER}" || die "sed failed" - - # for python-exec - local vars=( EPYTHON PYTHON_SITEDIR PYTHON_SCRIPTDIR ) - - # if not using a cross-compiler, use the fresh binary - if ! tc-is-cross-compiler; then - local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}. - else - vars=( PYTHON "${vars[@]}" ) - fi - - python_export "python${PYVER}" "${vars[@]}" - echo "EPYTHON='${EPYTHON}'" > epython.py || die - python_domodule epython.py - - # python-exec wrapping support - local pymajor=${PYVER%.*} - mkdir -p "${D}${PYTHON_SCRIPTDIR}" || die - # python and pythonX - ln -s "../../../bin/${abiver}" \ - "${D}${PYTHON_SCRIPTDIR}/python${pymajor}" || die - ln -s "python${pymajor}" \ - "${D}${PYTHON_SCRIPTDIR}/python" || die - # python-config and pythonX-config - # note: we need to create a wrapper rather than symlinking it due - # to some random dirname(argv[0]) magic performed by python-config - cat > "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" <<-EOF || die - #!/bin/sh - exec "${abiver}-config" "\${@}" - EOF - chmod +x "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die - ln -s "python${pymajor}-config" \ - "${D}${PYTHON_SCRIPTDIR}/python-config" || die - # 2to3, pydoc, pyvenv - ln -s "../../../bin/2to3-${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/2to3" || die - ln -s "../../../bin/pydoc${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/pydoc" || die - ln -s "../../../bin/pyvenv-${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/pyvenv" || die - # idle - if use tk; then - ln -s "../../../bin/idle${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/idle" || die - fi -} - -pkg_preinst() { - if has_version "<${CATEGORY}/${PN}-${PYVER}" && ! has_version ">=${CATEGORY}/${PN}-${PYVER}_alpha"; then - python_updater_warning="1" - fi -} - -eselect_python_update() { - if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then - eselect python update - fi - - if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then - eselect python update --python${PV%%.*} - fi -} - -pkg_postinst() { - eselect_python_update - - if [[ "${python_updater_warning}" == "1" ]]; then - ewarn "You have just upgraded from an older version of Python." - ewarn - ewarn "Please adjust PYTHON_TARGETS (if so desired), and run emerge with the --newuse or --changed-use option to rebuild packages installing python modules." - fi -} - -pkg_postrm() { - eselect_python_update -} diff --git a/dev-lang/python/python-3.6.3.ebuild b/dev-lang/python/python-3.6.3.ebuild index fa67a439bfa2..4cf258819ee0 100644 --- a/dev-lang/python/python-3.6.3.ebuild +++ b/dev-lang/python/python-3.6.3.ebuild @@ -270,7 +270,7 @@ src_install() { # if not using a cross-compiler, use the fresh binary if ! tc-is-cross-compiler; then local -x PYTHON=./python - local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}. + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} else vars=( PYTHON "${vars[@]}" ) fi diff --git a/dev-lang/rakudo/Manifest b/dev-lang/rakudo/Manifest index b316a7778b84..18e5feedbe46 100644 --- a/dev-lang/rakudo/Manifest +++ b/dev-lang/rakudo/Manifest @@ -2,9 +2,11 @@ AUX rakudo-2016.04-jna-lib.patch 970 SHA256 3700ede81d4ed7b5662d506ee81d232a93e3 DIST rakudo-2017.07.tar.gz 2984621 SHA256 a1d55c2bfef84c32739535e0638e87496ececf4c97a74796f97fa97edb51edea SHA512 a80fba71bce8a6537962c5728ef1b54c6bfd275b9a4b7caacc6497f12a826b293a3a2bf8c412b21e91bb29bd3a325d9da17ecd8abb0ba2ffd4b8eecf0297d39f WHIRLPOOL 6c45f3e323bae859b00a2c97d37e40e0fe1e97daf359a692de8a9fd176899805ced1b5ebc98f57f471efca9ce35061b191b85132d7945c0bd39859cf9fbe2e4b DIST rakudo-2017.08.tar.gz 2992885 SHA256 bd18bcb41e0174f3ea4a857da9e599a11d68c21535fd0bee52885ada4a3b32b5 SHA512 61091f1181bc1d95433650ecc8ee318cf7ef4ee1a67d492020654e8abd5095368d8a0e3d20647f336de5864eba5f8ef4cf1ce54d09763cf79cc1b7c5c457a300 WHIRLPOOL 4862b5b40a14754c7ef995fabe8ce4451f85836c4dfb8135e92cc0f9a8523db967c0b7a92f55c510f0c5d2f054d74fb57aa6bbd524eef2e53c6e973ada43bef6 DIST rakudo-2017.09.tar.gz 3006759 SHA256 c20be0429428a5987d8b1957554f56bc02fbd6e903bb24a8b10e9ad99d7fef08 SHA512 6ae257430436586a519cc411771c5a19c3bf6aefcb5b02cd1751184ccd8f2fe860ce33c53421ff1fd48a598f27532932a1754407fb0f6a1861da0808c5876b9b WHIRLPOOL 3d526ca03815f66686c63092a8e74af37f64d30f9e2cdd60ddf261480248846f73355c93346b485a70b7c4c1d1b986948dadae3783591fecd434b0225f03ec8d +DIST rakudo-2017.10.tar.gz 3049348 SHA256 f32bbc36c6abab220f7695d259f76f9f849d4064e461b2c7b4ad62d472086d2b SHA512 f3832a5dcd0048a7d9018c46e8430245b3d6565516d61f4dc57ff06d5dbf38afab7b9a4791a0f88ef4422899418f3ce550e5271cef668ab74804f898c8c5faaa WHIRLPOOL b2bcfd2bb25ff51a68ca8fcf2690e520287f45ce7c4eb8cb7b2a85e51261ad8ee3c0bff5f871a85bb161936807051ab9bdafb9b888eb682e5f350f06375d20ea EBUILD rakudo-2017.07.ebuild 1616 SHA256 60fea916e8e956f1a87c5874308311e401009e7beeb8ea0cb41b4e2321a0d142 SHA512 74d525ad581cc02093f6a21123b841a1cd3cfe23f176e40cbcf161e5ceefdc81791fcbbeaab3041380b882a430e5c65cc339a64b6c6d117e726137e61f683e78 WHIRLPOOL ff3947e7b50b0d7e48f7e233713a2975f0dbdf86b8ab57007c918d610315c404fa47122e02090198737217808f69e222510f2af2caa0f69f79d2a6c1e241840a EBUILD rakudo-2017.08.ebuild 1616 SHA256 60fea916e8e956f1a87c5874308311e401009e7beeb8ea0cb41b4e2321a0d142 SHA512 74d525ad581cc02093f6a21123b841a1cd3cfe23f176e40cbcf161e5ceefdc81791fcbbeaab3041380b882a430e5c65cc339a64b6c6d117e726137e61f683e78 WHIRLPOOL ff3947e7b50b0d7e48f7e233713a2975f0dbdf86b8ab57007c918d610315c404fa47122e02090198737217808f69e222510f2af2caa0f69f79d2a6c1e241840a EBUILD rakudo-2017.09.ebuild 1616 SHA256 60fea916e8e956f1a87c5874308311e401009e7beeb8ea0cb41b4e2321a0d142 SHA512 74d525ad581cc02093f6a21123b841a1cd3cfe23f176e40cbcf161e5ceefdc81791fcbbeaab3041380b882a430e5c65cc339a64b6c6d117e726137e61f683e78 WHIRLPOOL ff3947e7b50b0d7e48f7e233713a2975f0dbdf86b8ab57007c918d610315c404fa47122e02090198737217808f69e222510f2af2caa0f69f79d2a6c1e241840a +EBUILD rakudo-2017.10.ebuild 1616 SHA256 60fea916e8e956f1a87c5874308311e401009e7beeb8ea0cb41b4e2321a0d142 SHA512 74d525ad581cc02093f6a21123b841a1cd3cfe23f176e40cbcf161e5ceefdc81791fcbbeaab3041380b882a430e5c65cc339a64b6c6d117e726137e61f683e78 WHIRLPOOL ff3947e7b50b0d7e48f7e233713a2975f0dbdf86b8ab57007c918d610315c404fa47122e02090198737217808f69e222510f2af2caa0f69f79d2a6c1e241840a EBUILD rakudo-9999.ebuild 1714 SHA256 9a97b176c402e338c47f64baffe9dbae095f7929f39245d81e7a668db2117f5e SHA512 06451f51ced45674984aada066a94a268bafdb858172330a041b47196c2caae91af4263cee68171f34a8f89933f59b5517d54c456ff24a2b7e76b61e238bf56d WHIRLPOOL 88129094f4888b9bcc0c47a46af7b4fa22aba563339c7ea19c2fe19fcd0c6606b2101d1aac3325fd79fea43f721454d0554ebbcbadeecd2fd2e1380a64691502 MISC ChangeLog 7779 SHA256 49ed3c3bcb9d94137fd729c11cd1b3f82baac3b5edac5ab717c59d1ba2b4b1e7 SHA512 072435ff251446c97a585cc22578a40f440453122cf98998bd5ef333c5d1d4dc6cd8d3f3aa63063d890c40186d02622e5cfb636d0beeaa74c2f6562cd47022b4 WHIRLPOOL 317d540f1f845610193802db9f9b1abee13eeed679e67ecab5a2e408d6716847f679df395b1fe0dcd094c77620024de45db8a9edf62efaf5294ba5bdaedbcba0 MISC ChangeLog-2015 11105 SHA256 14cfecf1d8fb52e762394fe58c152186a96a43c8218bcdce3a2fd24e183dfefc SHA512 7b667a5cd7ce5f4620739f0289fced88434e7848518c1476ad7c66e946fc8645e613a468c0cbba03acc207465cb97601286897372d28d4dc53ac500fbe8d05e1 WHIRLPOOL de461c09858e8f30de8bffdeb94535479d73acac62370ade62e5ad50346cd72feec0a3bfc3ee9a12ed655111738ef22f6e2cf7f21980c5c35beca6045fb1f658 diff --git a/dev-lang/rakudo/rakudo-2017.10.ebuild b/dev-lang/rakudo/rakudo-2017.10.ebuild new file mode 100644 index 000000000000..0916271bb833 --- /dev/null +++ b/dev-lang/rakudo/rakudo-2017.10.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit java-pkg-opt-2 + +DESCRIPTION="A compiler for the Perl 6 programming language" +HOMEPAGE="http://rakudo.org" + +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" + inherit git-r3 + KEYWORDS="" +else + SRC_URI="https://rakudo.perl6.org/downloads/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="Artistic-2" +SLOT="0" +# TODO: add USE="javascript" once that's usable in nqp +IUSE="clang java +moar test" +REQUIRED_USE="|| ( java moar )" + +CDEPEND="~dev-lang/nqp-${PV}:${SLOT}=[java?,moar?,clang=]" +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.7 )" +DEPEND="${CDEPEND} + clang? ( sys-devel/clang ) + java? ( >=virtual/jdk-1.7 ) + >=dev-lang/perl-5.10" + +pkg_pretend() { + if has_version dev-lang/rakudo; then + ewarn "Rakudo is known to fail compilation/installation with Rakudo" + ewarn "already being installed. So if it fails, try unmerging dev-lang/rakudo," + ewarn "then do a new installation." + ewarn "(see Bug #584394)" + fi +} + +src_configure() { + local backends + use moar && backends+="moar," + use java && backends+="jvm" + + local myargs=( + "--prefix=/usr" + "--sysroot=/" + "--sdkroot=/" + "--backends=${backends}" + ) + + perl Configure.pl "${myargs[@]}" || die + + if use java; then + NQP=$(java-pkg_getjars --with-dependencies nqp) + fi +} + +src_compile() { + emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" +} + +src_install() { + emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" install +} + +src_test() { + RAKUDO_PRECOMP_PREFIX=$(mktemp -d) default +} |