diff options
Diffstat (limited to 'dev-lang')
84 files changed, 5426 insertions, 680 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz Binary files differindex fe56f3d8edfe..4bf5e0f29fca 100644 --- a/dev-lang/Manifest.gz +++ b/dev-lang/Manifest.gz diff --git a/dev-lang/R/Manifest b/dev-lang/R/Manifest index 6959d9c09801..557d13a53c57 100644 --- a/dev-lang/R/Manifest +++ b/dev-lang/R/Manifest @@ -6,5 +6,5 @@ DIST R-3.4.1.tar.gz 30200109 BLAKE2B 03602e9a48759caee8ce047fa6273df7a54af089de4 DIST R-3.6.3.tar.gz 33308185 BLAKE2B f82751e21d3b502132f8f27d4fc47a921fb085a50c3da3b45e08fbbdd1ab3d42e89b4fa6653a570c21176d79f492277b1d0b86c3c9f4da1386d8b6e4771d4d2c SHA512 9b1dc78922e431bd1af81e6e560b10ad04d121718f680fed32db735d561fd40ea6028759976722db11559f1a78fe684119b766f0567128cb2ee5003aa87a0931 DIST R-78d6830e28ea90a046da79a9b4f70c39594bb6d6.bash_completion 13596 BLAKE2B 53338e4a1c4f68beb69247216e553dbcac47f660fbf032bfebf7a660e32d2cff5b11ed35411c52de7e1fd6e00bbf5b5ea19369a325fa0a38bd93d63dc3288cbd SHA512 9ccd19bb1b0c18a2f13035ccd6809447429e197e298fb4d1df808ef345d723b42f75a1b91c349f6dbb46e4a82e59ef33e11300c495d79b63d670d0c0f2b16a06 EBUILD R-3.4.1.ebuild 6238 BLAKE2B 92ddb9e8d95509538d9be5048e36a4e084f22a095e77b1caffe840c54af031268819bd0b6cb4c92aa547920ab124ec8df70be7b2e9b4b9c4140256bd9adf38c1 SHA512 f0c5c8ff2c52bb948621aad27a44c9fa815380871f56ec531a645e8122e0b55a210e0e6831619237adc0a49dedec71fad4d9695c78a759e8bfe19ad2cb446c20 -EBUILD R-3.6.3.ebuild 6159 BLAKE2B 1f1dca865a438ff8fb83262b851f09c2b62ad39f2d3e4b703410df0e87dbcdfaa43494bd8b713d647aff0f79a783de25ee9350aeb45e48d8a638bdfb68c3c7ef SHA512 80566dd4e26af3ead691f71d287cafe47d9965d087bb2db0dc588ca4dd56678b354eb4d39287cadc85526d92590fd736778bbc766c2d470447304cee7f5eac4a +EBUILD R-3.6.3-r1.ebuild 7026 BLAKE2B f742cda3f12c0507574c0dfe2cc5fe91a0c235e7aeee0423281c75b61e7dca2b7aadda7f1b49bfd1c2ef67948bad8de330c74794b00249bf603b772a21480891 SHA512 715ccdca15fc79213064d6872dd4a4bcbe90ab0bf7af48228a7eeae25c28343cfc3cdf56183f07ff9d91884606f6f8f9eaa8c3ded34f155493d935032cef0af9 MISC metadata.xml 1140 BLAKE2B 774221eb531b4e80f0650b627b9ce53d9a2daf6342b1f19579d2d046e1c83aa497cc764870406b7ea3cf6cbae899cb6d460af92991d62bc6aea8da026a441822 SHA512 297c7e17998f92fb836b0599ce5221aee1ba1e7b1504edb348a602b695faf381d51f32f6118f5ef4bb353f02e92ffc5b3520b8d317d3e30a68a3cce0254fa6b1 diff --git a/dev-lang/R/R-3.6.3.ebuild b/dev-lang/R/R-3.6.3-r1.ebuild index f797705dcd70..0f45bd0490e6 100644 --- a/dev-lang/R/R-3.6.3.ebuild +++ b/dev-lang/R/R-3.6.3-r1.ebuild @@ -189,7 +189,37 @@ src_install() { done popd > /dev/null fi - docompress -x /usr/share/doc/${PF}/{BioC_mirrors.csv,CRAN_mirrors.csv,KEYWORDS.db,NEWS.rds} + + # Users are encouraged to access some of the the R documentation + # interactively, through functions like "contributors()" that + # tries to open the "AUTHORS" file. Other files can be accessed + # by name with RShowDoc(), and the documentation for e.g. license() + # and RShowDoc() suggests a few of these names. Here we try to + # collect as many names as possible that a user might actually + # try to view through R, because if we don't decompress them, + # then R doesn't know what to do with 'em. Bug #556706. + INTERACTIVE_DOCS=( + AUTHORS + COPYING + FAQ + NEWS + THANKS + ) + + # Other data sources that are shipped as "documentation," but which + # need to be accessible via their original unmolested filenames. + INTERACTIVE_DATA=( + BioC_mirrors.csv + CRAN_mirrors.csv + KEYWORDS.db + NEWS.rds + ) + + NOCOMPRESS_DOCS=( "${INTERACTIVE_DOCS[@]}" "${INTERACTIVE_DATA[@]}" ) + + for f in "${NOCOMPRESS_DOCS[@]}"; do + docompress -x "/usr/share/doc/${PF}/${f}" + done } pkg_postinst() { diff --git a/dev-lang/bff/Manifest b/dev-lang/bff/Manifest index cfb86bec94a0..2d97ee255590 100644 --- a/dev-lang/bff/Manifest +++ b/dev-lang/bff/Manifest @@ -1,3 +1,3 @@ DIST bff-1.0.5.tar.gz 4833 BLAKE2B 9e3b44da9cd001552119e25764b171c86027755583f79a13b1d1035ecbab134df0aa31234c1479370599dd56a76a7f1c67eff61d2c1189430bab6a9a22f629d8 SHA512 78e481f6f371421ce6f046041fe6d48be2e11000ddda82f60244c0100665469c4aff4f151d297bb533140d723f68d5a3844e0c29a256b022ac93cafbd2abe9fd -EBUILD bff-1.0.5.ebuild 800 BLAKE2B 70ff3947cdfedd3f3825a141220a02b493ef4f2c1b07e8a18493564cf158e03268be79afe8cc60311a53150f3e409d9cbfd55baf8bceb8aa7820cfe78203725e SHA512 820ecb9b268e147db623d478763539cedf0edb8d21afe3fed5f46737ada66599aef1a75551f10d82cd758be938392dd2682842522ecc441caeff8cddfcba5267 +EBUILD bff-1.0.5.ebuild 801 BLAKE2B fa0feb7fdcd6e28133466ca566c5d3b3995ee1cc2274fb38f2efdd365e0ca945b405f5eb02d17491f1e42c3a800d6460eb8ce2cbcb59f81354d7234833650f17 SHA512 dd1f5f7f9ae94da42bd324d2f00ed05ede0caac2a6c383d0465eccb822fbff3e0b3546eb7f75661a4a291d9d3c23f0f25436b2ea253b1196c845e9ac14bd644f MISC metadata.xml 358 BLAKE2B 475e8fa2af079096f259abc30d2f886eb2b568182394c5fa3a1c081754be7d151a3d10564315d6006232d6f2e7e68103337377db045c13a4fca1e05723d5ff0d SHA512 dc6a26609f65e38ec703c857c686e555170ad4021a994c3a39af131a9f3a38d6207a70558aae46dc5927dda8a9f735795d879a1ac4088ffeac5d09a068627f9c diff --git a/dev-lang/bff/bff-1.0.5.ebuild b/dev-lang/bff/bff-1.0.5.ebuild index a54fc9123c82..00466aa5e9c4 100644 --- a/dev-lang/bff/bff-1.0.5.ebuild +++ b/dev-lang/bff/bff-1.0.5.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://github.com/apankrat/bff" SRC_URI="https://github.com/apankrat/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 arm ~ia64 m68k ppc ppc64 s390 x86" +KEYWORDS="amd64 arm ~ia64 ~m68k ppc ppc64 s390 x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/dev-lang/clojure/Manifest b/dev-lang/clojure/Manifest index a85f7bfdea29..8822600b8ef6 100644 --- a/dev-lang/clojure/Manifest +++ b/dev-lang/clojure/Manifest @@ -1,7 +1,7 @@ DIST clojure-1.10.0.tar.gz 678715 BLAKE2B 8f69a327e94e173864b3d8b81e92ab716c70be9fa59bbd836889cb75a8d44518a3aa2a8fbec50a04f2e7d1afdb07ffef2f7069077e22ef91f321c5fb122d2bb9 SHA512 d53d2322662974d2eed97d7870f0f91822de8acb91e30b50b0dca4186ee667c46b2b5863e080d89e3bfe63d090c6ac2e25617f74d1434bae2ca1e73ae9a36012 DIST clojure-1.8.0.tar.gz 627688 BLAKE2B 7dc3029e38e574cd32c74cce1f3ae03890869023d5fb2e8138f2fdc4461b3f9e119c4b6042e2b7caee9561b664b49cbaf79378ef1fdd0fd78c4d712c3b9d95de SHA512 fa5714397e679f77260db054bdc0891a311e7bd14bfceb2dd0494480fb9cf21fc74dd295e75070105ff0cdd50842390a748d8782397c549f51d85d18d54a1231 DIST clojure-1.9.0.tar.gz 641645 BLAKE2B 767241c7f252a2977511adf257b1805f81a96594cff2b1b9837c782cfaabd49ae8e6eef30398e7e277952124e843967ac635985da97e2e7c5cc98ec177f3d79c SHA512 8877c654f6aa8ad990593e69b611388659973e5d1d46cf8f6cfae59c4033424a3c7eebd477539784cbd7974f7ff30580f76d8a4117414491f38e18ac3b4efb27 -EBUILD clojure-1.10.0.ebuild 968 BLAKE2B cd857a4c34c65daeadc8d5a793591c467b259de314ecd54e72bca834abd0644dbea8a0ad1ab383f24631c78c5ef54f3324656b0242c500f137f8e3c4f489a5ac SHA512 34199215a92da5199f1297d17d39a5b123a9f28633b521e076cae8e20ed2f833d3fe9bc88b4ccaaf044f65aa59fd6a5dd6c64c0dcb5bbee8e8a0dd986db7cc6b +EBUILD clojure-1.10.0.ebuild 1074 BLAKE2B df5abfbf48e516389c03fd3e214516bc3708b31d2fbfce55e1dc14f5e933009dbb7d947ea51244194c9e05a358b738c6e2a995427d5a673692280bfb6a2034b3 SHA512 ee9b624170f4a69221826158a5458cd5a11d329501965b4ba3f6bb4e3c897470e85693f582e2b17af070a276ccf157b8432a3bb9fda77504ce8509b95b95c7c7 EBUILD clojure-1.8.0.ebuild 779 BLAKE2B d415833f59ac76342dda84f41eab55785639c30f18ac16bf023f535563d6d6ea3b103909624fe907d718d73de94f2b199568faa85140c6239873572ba716c1e6 SHA512 2f7c5c20f310e935de6e00961f14a1cf4ab15b8645cd92fc596595aa343abe24f5979eabe3e2572f5aa0a3834c953d834f76662846686f671200904bce3e9154 -EBUILD clojure-1.9.0-r1.ebuild 1063 BLAKE2B cad11c72f38e52e491f93609e37d57246044612a0a80c21a8cb41d2010e6191dc07a5a197b55f24397188355cf7d0a33215494e16f81681fae326529bfa90f5d SHA512 fddec1f4d3f3ec275dea4bd0187e26bdc0ae447c723a1b0e7b72625b513dd414b5fdde6ba65032da7f1b83886ce10bb58f78232d7cc836024e0b76fb505b888f +EBUILD clojure-1.9.0-r1.ebuild 1073 BLAKE2B b1a614dbe91ef60efe29e0953ee7c0ac759e8fcf1b7ff155afe57283a0537a6376f13d201b354c2760e3a8291768131a09cd7e7158b3d1a4060af327b7e202e5 SHA512 449b5f10455e76631d0c99970e78c989e4cfe039b72acd86d7a0b51fe83065c8e8bf1cabe98f4efcab0d4e100d2cd297dabaf271ce57c42b44eb73c03bae89e4 MISC metadata.xml 252 BLAKE2B 738fe12dbc3869c6805e9f90ec607615f0ef13904c794e181e80fca986675cfe884cdbae333fe4837f8bec0f25235ad5d1c223ccd4f01e3355b4f261abe3767c SHA512 471e24b868f43f66916b081b0f2b7995830020f886a33f177a10556a60f824decfe63fc5128e5184b9edc2e157d3f022cb1913303b3cffe4aa9233025843b9dd diff --git a/dev-lang/clojure/clojure-1.10.0.ebuild b/dev-lang/clojure/clojure-1.10.0.ebuild index 1df71774d54e..60aef391a050 100644 --- a/dev-lang/clojure/clojure-1.10.0.ebuild +++ b/dev-lang/clojure/clojure-1.10.0.ebuild @@ -1,24 +1,27 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 JAVA_PKG_IUSE="test" inherit java-pkg-2 java-ant-2 +EGIT_REF="76b87a6" + DESCRIPTION="General-purpose programming language with an emphasis on functional programming" HOMEPAGE="https://clojure.org/" -SRC_URI="https://github.com/clojure/clojure/tarball/${P} -> ${P}.tar.gz" +SRC_URI="https://github.com/clojure/${PN}/archive/${P}.tar.gz" LICENSE="EPL-1.0 Apache-2.0 BSD" SLOT="1.10" KEYWORDS="~amd64 ~x86 ~x86-linux" -RESTRICT="test" # patches welcome to fix the test +RESTRICT="!test? ( test )" # broken due to file not found issue and more CDEPEND=" - dev-java/ant-core:0 - dev-java/maven-bin:3.6" + dev-java/spec-alpha:0.2 + dev-java/core-specs-alpha:0.2 + dev-java/ant-core:0" RDEPEND=" ${CDEPEND} @@ -28,13 +31,12 @@ DEPEND=" ${CDEPEND} >=virtual/jdk-1.8" -S="${WORKDIR}/clojure-clojure-76b87a6" +S="${WORKDIR}/clojure-${PN}-${EGIT_REF}" DOCS=( changes.md CONTRIBUTING.md readme.txt ) src_compile() { - ./antsetup.sh || die "antsetup.sh failed" - eant -f build.xml jar + eant -Dmaven.compile.classpath=$(java-pkg_getjars core-specs-alpha-0.2,spec-alpha-0.2) -f build.xml jar } src_test() { diff --git a/dev-lang/clojure/clojure-1.9.0-r1.ebuild b/dev-lang/clojure/clojure-1.9.0-r1.ebuild index 5abaab94b142..25c5659590a7 100644 --- a/dev-lang/clojure/clojure-1.9.0-r1.ebuild +++ b/dev-lang/clojure/clojure-1.9.0-r1.ebuild @@ -1,49 +1,50 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 -JAVA_PKG_IUSE="source test" +JAVA_PKG_IUSE="test" inherit java-pkg-2 java-ant-2 +EGIT_REF="e5a8cfa" + DESCRIPTION="General-purpose programming language with an emphasis on functional programming" HOMEPAGE="https://clojure.org/" -SRC_URI="https://github.com/clojure/clojure/tarball/${P} -> ${P}.tar.gz" +SRC_URI="https://github.com/clojure/${PN}/archive/${P}.tar.gz" LICENSE="EPL-1.0 Apache-2.0 BSD" SLOT="1.9" KEYWORDS="~amd64 ~x86 ~x86-linux" -RESTRICT="test" # patches welcome to fix the test +RESTRICT="!test? ( test )" # broken due to file not found issue and more + +CDEPEND=" + dev-java/spec-alpha:0.1 + dev-java/core-specs-alpha:0.1 + dev-java/ant-core:0" RDEPEND=" + ${CDEPEND} >=virtual/jre-1.8" DEPEND=" - >=virtual/jdk-1.8 - dev-java/ant-core - dev-java/maven-bin:3.6" + ${CDEPEND} + >=virtual/jdk-1.8" -S="${WORKDIR}/clojure-clojure-e5a8cfa" +S="${WORKDIR}/clojure-${PN}-${EGIT_REF}" DOCS=( changes.md CONTRIBUTING.md readme.txt ) src_compile() { - ./antsetup.sh || die "antsetup.sh failed" - eant local + eant -Dmaven.compile.classpath=$(java-pkg_getjars core-specs-alpha-0.1,spec-alpha-0.1) -f build.xml jar } src_test() { - java-pkg-2_src_test + eant -f build.xml test } src_install() { java-pkg_newjar "${PN}.jar" java-pkg_dolauncher ${PN}-${SLOT} --main clojure.main - if use source; then - mv target/${P}-sources.jar ${PN}-sources.jar - insinto /usr/share/${PN}-${SLOT}/sources - doins ${PN}-sources.jar - fi einstalldocs } diff --git a/dev-lang/elixir/Manifest b/dev-lang/elixir/Manifest index b0a99a370eca..d7fc8b472a0c 100644 --- a/dev-lang/elixir/Manifest +++ b/dev-lang/elixir/Manifest @@ -1,8 +1,9 @@ +AUX elixir-1.10.2-test-regex-fix.patch 1092 BLAKE2B 132d75468b1128dc20a51d39cd7ea53640a89e037c10781aa368e965a303d4411ab176e92ff57c5109d28ae02f0e51f621f3816eaef9a65be6f93eb7c0e43bfb SHA512 98e0a19f5e911cfd930c15615c6a651b8510bdd01bd34994f3edaa475665fe4e1d284368ad685fe6acf461dd7ff4648c140fa949b93bcb62d645920c642d75d1 AUX elixir-1.9.1-disable-network-tests.patch 569 BLAKE2B fda6b9b99f80e81883723280de31933c1740167d41ef4783dc663bad277cf58b8782326abc4a72e0d989c513afb9cdf4494e7d79754b18d62baf75255a74aa45 SHA512 465831a389891680412d51d9209497d5b750ff0a5ff72d45807a7dba6ec7757156ee96048bbc81f46c9c24a5b13cdd5161539fdeb4ffcea655c407e29f6675fc DIST elixir-1.10.1.tar.gz 2322975 BLAKE2B 875948d233a726bdf88db4d64d21d227dd5e90f762f10dcc82103e088a2ed633898489a2f0a870a6c4e09ce22e509d117f05b3b3f8b8be6c742f628d612e3baf SHA512 823a685d62b6181be9f3314c1a86b69606dd3d3528a2053060f83802a561d8e136fb32099d51cb90542ea155a0a5768d7e6fc7aa1ae18d2c9f5fd5a5a2ac9cdc DIST elixir-1.10.2.tar.gz 2323450 BLAKE2B 2d0897af98864966dabc8760d3551caeae39baddc892239c398f3aecf6b72db0ee9d3c8e03fbc8b7a7da0b0dcb08f200fa145d704b8306190eb47a9ccb862bb4 SHA512 a1d1c7847fc8135865d063c6e014bee970066ba07f979f308bec456a732f5366a9343631239965d1caeeaea5cdb644f35185fdfb23f18fcc8c6735a7e3256c0f DIST elixir-1.9.4.tar.gz 2250611 BLAKE2B adc363627dc3997684482ac022927aaa4d315afdb8fbc8981e1b88371eb13be80e01084b67288fc88fc51f0015085743d11289e932093d5608e5ac4dfa0823a8 SHA512 c97b93c7438efd7215408525a3b9f2935a1591cce3da3eb31717282d06aff94e8e3d22c405bac40c671bcfe8e73f3dd1ada315f53dee73ceef0bfe2a7c27e86d EBUILD elixir-1.10.1.ebuild 759 BLAKE2B 93e0cad090218f2e3af71225afbc654d68afee5b9612e3f03561e4c3d149079dbdcd0fdf8631182511a13e2aaa414f98b18b0619a9be96f02c507a339e5a68ce SHA512 1272bfbb83fa3c47cf5fadfff4e2d3806e4db4ba0bbc666c0ae67dad87c2cff316fa4f83b1b0e2e2847021a12c9db0986466444e40bfa84c3a2485dacfd7a9c7 -EBUILD elixir-1.10.2.ebuild 829 BLAKE2B 9805b802c6273181c809a499a12cd49a0994c83aa7cdc1b76ad71359df347512c457e0e479a58a760df9580737374eca1d8e77a14b8fde73fcdae019f6554b5c SHA512 c2c262ae9cae43be82b4e996ba8ce25ad0cf5211ad287ea85a00572a0763662ef38fbe05cf4f74854648a06069a9a8391d59f661a7a4fff5cd485e86a87d67dd +EBUILD elixir-1.10.2.ebuild 881 BLAKE2B d49f7d705ccc444e4a9b7ed1821f4184c640115d20a0e0670d9daf40a56085106e256b877c4212571970675b38989967c21bd4ec872dba0fb46cc8a544cc302d SHA512 d159ef309974512e113bac24381a70827b55008c4ea4f9350a461e8d7d983b7f8792bd42c9e5797c649ab555ada6584311fbf861f54ceb42190f66230bef0f9c EBUILD elixir-1.9.4.ebuild 756 BLAKE2B 45337b098daa503ea61e9f8f5d8e4ccb6bbd09babb2457dc85a8e96cb79f76ec31d1ef393d015d8fb878b6c4e0d9c4380f39252d8e67b6da5b5e99dc79b77c5b SHA512 97ee97a4b7aece89c3308aa9efc050562e688e491fc313afd31a6400048c1551f734e5222963b187cc7ae4006d112ace23bee093645acfa96d88839136437e8b MISC metadata.xml 790 BLAKE2B 33e4a37225c8f5bd142c5cbbe097ad3330f6c5b1115f834c1c20613281bdc0afa0927734ec3b0a2b1da595980abeec2fcf2bb20e725f5701590d1c3629972910 SHA512 5489797d3771c405edb4c9883082f780279470d7821dbdd1a4790bcdc74c0e31327c8f15286dc421bfe426d7371d6be2819e707389f425101e2d0d0577475586 diff --git a/dev-lang/elixir/elixir-1.10.2.ebuild b/dev-lang/elixir/elixir-1.10.2.ebuild index 12dc7c530fe1..6db35bebc3c2 100644 --- a/dev-lang/elixir/elixir-1.10.2.ebuild +++ b/dev-lang/elixir/elixir-1.10.2.ebuild @@ -27,6 +27,7 @@ DEPEND+=" PATCHES=( "${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch + "${FILESDIR}"/${P}-test-regex-fix.patch # backport ) src_compile() { diff --git a/dev-lang/elixir/files/elixir-1.10.2-test-regex-fix.patch b/dev-lang/elixir/files/elixir-1.10.2-test-regex-fix.patch new file mode 100644 index 000000000000..01b27a050276 --- /dev/null +++ b/dev-lang/elixir/files/elixir-1.10.2-test-regex-fix.patch @@ -0,0 +1,34 @@ +From 8491f0dc74f8bc89bb926b8130b45eaa5ba92c4b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jos=C3=A9=20Valim?= <jose.valim@dashbit.co> +Date: Sat, 28 Mar 2020 10:49:16 +0100 +Subject: [PATCH] Fix improper regex use, closes #9914 + +--- + lib/elixir/test/elixir/regex_test.exs | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +--- a/lib/elixir/test/elixir/regex_test.exs ++++ b/lib/elixir/test/elixir/regex_test.exs +@@ -91,8 +91,10 @@ defmodule RegexTest do + assert <<0xA0::utf8>> =~ ~r/[[:space:]]/u + assert <<0xA0::utf8>> =~ ~r/\s/u + ++ # Erlang/OTP 23 raises badarg on invalid UTF-8. ++ # Earlier versions simply would not match. ++ assert catch_error(if <<?<, 255, ?>>> =~ ~r/<.>/u, do: flunk("failed"), else: raise("failed")) + assert <<?<, 255, ?>>> =~ ~r/<.>/ +- refute <<?<, 255, ?>>> =~ ~r/<.>/u + end + + test "ungreedy" do +@@ -349,6 +351,6 @@ defmodule RegexTest do + end + + defp matches_escaped?(string, match) do +- Regex.match?(~r/#{Regex.escape(string)}/simxu, match) ++ Regex.match?(~r/#{Regex.escape(string)}/simx, match) + end + end +-- +2.26.1 + diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest index 582b6571f05e..82164018f1ef 100644 --- a/dev-lang/erlang/Manifest +++ b/dev-lang/erlang/Manifest @@ -1,6 +1,5 @@ AUX 18.2.1-wx3.0.patch 3849 BLAKE2B 02912cf61094d8217eab7181a4cc35aead224df7872c412db0b40b072778cfb900bf18219baf52e29f609b72305d3a11ea1079b2e873cf56a0a3bd42e3303d2f SHA512 33d8b67542266ae224ffb2bc86fbf36fff6737252810cfb445662ecc418fb30b0b00cbddd2f706ca836f1a8809c505e61edfe221d29dbe91c78c371bff6cec15 AUX 50erlang-gentoo.el 134 BLAKE2B df2da5c0c4be3e6855b51b820e3304f5c212a92d13ec48aa5d73ea3a0e801a8dddd371fd8894d49aa9d5573def56b3a864e463734d72fcf5356d39753dbda1ba SHA512 7a862e0ef1e96e88a484e80aeb92eb4465c7e8661efb0291c28abc13225eb3aa69442fe29417f5ad0d264e54399d645d9cd4713bc9869b48e87a91e50b9b2473 -AUX epmd.confd-r1 83 BLAKE2B 0056643f0530bf648b5db96c348d26d7b89a0bbe3fce451d8cdb463d4b5d6022f16f6bbc58fc7a86805184fb87f3a5e378a317b29260df11859477d12a98874b SHA512 c3fd3eba8ec4fc81bdb9bc959003008387ba1a8414d91459049263126ae4f4ec7b5ce8f18f5d64516aaefe71c5011aa7a3bbc27a1d02798890de1a40d092a724 AUX epmd.confd-r2 60 BLAKE2B 6d4c0ecc74218941281dd7235b34ef2fcca32fc26f3f282551a6d551153b53f77f42b5139dfbee2b02a966cdea03fa350270e6897a57405ca2ac256d1b7eae50 SHA512 e594ccdfef8473f9fccbdee6fe084c43a4fadd5ac47ffb98aaa223902e74290e749f28b88952aa83eb207de1393d44184f81244c233b7d6afde04fc8615dfd91 AUX epmd.init 534 BLAKE2B 34230f6c6edaed48123369df02f5fb71deb90491ebbb6d17984220dfd4615e029fa14aeb15c01ced15f98ec42aee256896a9b9680a4cce5d93e815c2a674efc3 SHA512 d11ef840a0edddd111da6a3c378756663f7337cb79713c475ccfec7e8a828fb4ef9f19f85d836ed0761cd9341d1242d687cf38ed5bbe267b4db5618c03ae6141 AUX epmd.init-r2 388 BLAKE2B cf8f1b3bfaf5c0bb1a7acebf41e1c1138b880e91a5c732cf3f8ddcaea469f0bcb32c9b3bb1fc5c923a3d7d1f77ca419ae3b4c25223d6da9499c627d2cd20b545 SHA512 110dc6575eaecf88164283042210a8580642fa5c9f49a3529bb0d5cda683f9ae024f1c7da791c0d7bfa8aabc3baf29bb821b5640804b313bb6ffee41401a8eb2 @@ -27,5 +26,5 @@ EBUILD erlang-21.1.1.ebuild 4646 BLAKE2B 50adc94870a8efc3d0762bcfd3dd21e9edb746e EBUILD erlang-22.2.8.ebuild 4676 BLAKE2B 6fd2d7ece3883151079513372855539d51edcdf82abb557c662a334d0b7e3c7e7a66b37e7efb29facb9ca8e0babf69d65eaa64d3857ed6e4c8451866615ec366 SHA512 d7e39cfb67f2633e5d759dda9ea225ff0abe153c64a938a95d49e984d0341cfd96038e4eeb644f8750ffadbb5386a0f40bc75110d6289c26082a373f3e96285b EBUILD erlang-22.3.1.ebuild 4597 BLAKE2B 8ec18ffdd47e90c2d85c77d8be0ac3102d44e9f58e4fa9f67832ce5a43d6a35f55d98116684b800ec904e4785201e6cd218ec46ccf1f1bc13a2f1f44801f62df SHA512 207fc0f0d45a5d84ec5b49f212b8d87df831650e3d426db9ce4cd84e40407c19e2574010ef09b62e8d150a4bdbf9f4ea6284be7aaf31319b155d2b4e912f303f EBUILD erlang-22.3.2.ebuild 4597 BLAKE2B 8ec18ffdd47e90c2d85c77d8be0ac3102d44e9f58e4fa9f67832ce5a43d6a35f55d98116684b800ec904e4785201e6cd218ec46ccf1f1bc13a2f1f44801f62df SHA512 207fc0f0d45a5d84ec5b49f212b8d87df831650e3d426db9ce4cd84e40407c19e2574010ef09b62e8d150a4bdbf9f4ea6284be7aaf31319b155d2b4e912f303f -EBUILD erlang-22.3.ebuild 4597 BLAKE2B 8ec18ffdd47e90c2d85c77d8be0ac3102d44e9f58e4fa9f67832ce5a43d6a35f55d98116684b800ec904e4785201e6cd218ec46ccf1f1bc13a2f1f44801f62df SHA512 207fc0f0d45a5d84ec5b49f212b8d87df831650e3d426db9ce4cd84e40407c19e2574010ef09b62e8d150a4bdbf9f4ea6284be7aaf31319b155d2b4e912f303f +EBUILD erlang-22.3.ebuild 4592 BLAKE2B 5878bb1e07cec281ed45e69d548be922dba88245f86948c24740e93c4cf5ae810e7c251fdd6960420513dae09b20fa2ed1bb82556b21385761a788305145d70f SHA512 7b2e131cf48313dbc38692ff5f4bd671347db050d85de41b9b7312ea23495b2ac5d62144810ac7f95478bfc14a3b1aeb39413b91dac2dd032fc079c8897591da MISC metadata.xml 905 BLAKE2B c1277904d14789138212ad1c83291d30301558aba707d1eb43765573c32617bfcb0eea43acc80225870cf2fbab011920b64bbecbdd28d414d73eb3c86a00937c SHA512 f79228f075fc6ac58785bc8a6c574546674b7ddd6c4f7420cb616414cf5178c2fa08284668b0d863ae3638891567184d1e8a490e31c4e093724ebff5c177a461 diff --git a/dev-lang/erlang/erlang-22.3.ebuild b/dev-lang/erlang/erlang-22.3.ebuild index 5a0f4f57d150..10e018b031dd 100644 --- a/dev-lang/erlang/erlang-22.3.ebuild +++ b/dev-lang/erlang/erlang-22.3.ebuild @@ -22,7 +22,7 @@ LICENSE="Apache-2.0" # same build of ERTS that was used when compiling the code. See # http://erlang.org/doc/system_principles/misc.html for more information. SLOT="0/${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets" RDEPEND=" diff --git a/dev-lang/erlang/files/epmd.confd-r1 b/dev-lang/erlang/files/epmd.confd-r1 deleted file mode 100644 index 3f6006e643c8..000000000000 --- a/dev-lang/erlang/files/epmd.confd-r1 +++ /dev/null @@ -1,2 +0,0 @@ -#arguments for run erlang -command_args="-relaxed_command_check -address 127.0.0.1" diff --git a/dev-lang/ghc/Manifest b/dev-lang/ghc/Manifest index b58f1ba39dce..6178bf32ebc2 100644 --- a/dev-lang/ghc/Manifest +++ b/dev-lang/ghc/Manifest @@ -108,9 +108,9 @@ DIST ghc-bin-8.8.3-i686-pc-linux-gnu.tbz2 120243899 BLAKE2B 7f932523a71dcfd4cdd4 DIST ghc-bin-8.8.3-x86_64-pc-linux-gnu.tbz2 118988294 BLAKE2B 4e5aa3844934ae2726bf9c8690acd5a887f10cd49386ffadbc536f9309d33b3894b49507964eaf0d8a052747eb33aeabbe4d2cd22493297c295cf9414fcb766c SHA512 dd656157fe744c1df1c8ed34d1129ec358b26f3042c6da68e704e0f6a45d8114789000479e28a06dc16961afb283b3c666b427025590498a3d2da9b741b435c7 DIST hoopl-3.10.2.0.tar.gz 241940 BLAKE2B 0ed7bf80486767c81415f99da8780a525401c388dea0b3f380bbecceae9cc7f66d8b5d0d7b31f8cb41796309b7a93adb113485efd14882f8af321989ce900a9b SHA512 083baa8a5eb53247aff8d5b9b2144e0f63adb9400934297bbd80bfcec607dd90a34def4301045a60472ef10b0fb90ab84692fc08f786e7f806c28afdab1ef66a DIST transformers-0.4.3.0.tar.gz 28632 BLAKE2B 92cabcb654bb11854a3bffbb1262f5cd62eda1aff447157086a61ebc451ebf2fddec53b6a2cc058174f24f0f0e32df671d3717e30a542c8dc90cb87e327d990c SHA512 c3ec0893ebba4fbd6087c3202e919552c4a9bff3350b5c0589e7ebb18751a515d98b8cac15b0a3252906ea72b5a0eb09b7fe88c8da88b09d6ce4fbf0f50b2780 -EBUILD ghc-7.10.3.ebuild 21680 BLAKE2B e66ff4c021021db67975cc979a9e66fedd8d1a06af0bb90b2d5f4bafd53aaf8ff81eed7dd8cdfab02a4dae4bba9e06859a19233423b767aa4aaf16c798407f54 SHA512 0fbe5b28cf59a5a62c9ca4637626f34ecc1c40506062c31ff077b22f4def5b89b2b63a63bdda605e3a0c08780d1ea8a863b041fcfbe10fb8a00b2af22cba968d -EBUILD ghc-7.8.4.ebuild 19813 BLAKE2B e68fa2cc887773c700082f2931e542643cea5d4e5937966df613ab6162007402a089fa8622ae716812073b10822c503992b5fe06e1212f446f21b0712650349e SHA512 60c2391f3121365dbfe38aabad3498578fa1e62e2f944700a3cc963c0ffbd5fdccc5416c00562ae9aec251586b73ed4dc137cd6ac0b252ede43adff9ed083c61 -EBUILD ghc-8.0.2.ebuild 21603 BLAKE2B ff73c59f0bda917b3697dd616a81b13a20f422e57a0f8953ff9d236bfe454e195f2a5b1c943aaa791c9fad1c1b329d62876e3793caa9633d586d504da741e22a SHA512 caf75e0f0afa2dc6cac50f9ef233eb56ee3a7ee06224f982e92af7308d81b205e5c15939fde7128e23bb340c6631ecad5791c47e8650f85446b019fa35c9f79e +EBUILD ghc-7.10.3.ebuild 21676 BLAKE2B 07de9926add128e865a8562cd5b2e785b77eabed3cca51d7733e5ca53a8613ecbb17a1bc2540b60bb2089a6225bc617d74eab4bce0fbf38b364b1f1c4b3afdb4 SHA512 1cf48e752d52a6a85d2759fc32dee61e39566df90adacd7de4b5afe506522c06b011af830f2dd6a1dc4eb33ae94276427755685dbb9dd6944cb0cc1042dae482 +EBUILD ghc-7.8.4.ebuild 19811 BLAKE2B f44309310dd4d40a550852ee65dd632834309f38f8e624be64ad8f573bd60be534052b5cbacf888ca2ba8e9bb1678e3df8f46a22adf8951cc1bf1b3bc1d501b2 SHA512 470d7fe66ee3024d8548d58d0a15540a5639e6cd2810a0638d24fabc1e747b193c0238d24acf5d59ba7c5d229d832b831b2bb8c8146706155fc0714533c8cbaf +EBUILD ghc-8.0.2.ebuild 21599 BLAKE2B 3f6913b8ad08799626b893a71afb8a824243f019fe20de46f24905bda3e855bfd71b7df239370a87095f667c92a33404f68e871a6492d5e7be3123f87282a557 SHA512 44b1148263142964aa4f4d5156174b4d5c7c22c47d8476135f8fdd505320fa5d7798ffb332b0cee4b7073a9c11e4085cdc443d2a07b30df33e7083d3aa84c19c EBUILD ghc-8.10.1.ebuild 25743 BLAKE2B a300e17111e2b010f3104b390834ce1abef7e93e1b89ec7640f6f86244bb4d8f0dffa186b82c70afd01004c5b362c7adbb5524ddb5e93531f3a45dc564cdefc9 SHA512 194a75123b31b3c325021073edc64b4e1403b9fd66b9b6413e7c49f3c4f0c28774c63ca3e2aaeed068164e4987bb30f91c7285e0b97aacd1c02c38760d17864b EBUILD ghc-8.2.1.ebuild 24832 BLAKE2B 7cc220f4b771b73699e7a1c743ffd6833c12fef94b708b8d204ce7df6ad72d309a10279f2f941f29393c096e57244a6e9f7ba9a36784b704916eacb7eff570c3 SHA512 63b3f31cd775b15409ef411004cdb7c54161a33a9c577a282e25de09dfc563d84cbfc21f800111830e1e7b297540f972f4b3e434c4aa92dd4fcc350a37bab636 EBUILD ghc-8.2.2.ebuild 24801 BLAKE2B 16cce6b61873c9800a0d3da9708617b5d36082bf730f8d7c09490f003f8a5d227ab8fe1c081e3c9803c083e7f334a0dd5bafa8066d8900defce9734df7ee905a SHA512 dbf3e47857474f59bf64f334589db3d9920b25717647cbbf7d7f29420af0f7023a2d6dad3aa91ee7eb2d023558de5758c30242901cbf9885095df4b15e38b717 diff --git a/dev-lang/ghc/ghc-7.10.3.ebuild b/dev-lang/ghc/ghc-7.10.3.ebuild index 9a351c0e7641..1b8e5de541d7 100644 --- a/dev-lang/ghc/ghc-7.10.3.ebuild +++ b/dev-lang/ghc/ghc-7.10.3.ebuild @@ -72,7 +72,7 @@ BUMP_LIBRARIES=( LICENSE="BSD" SLOT="0/${PV}" -KEYWORDS="amd64 ~ia64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" IUSE="doc ghcbootstrap ghcmakebinary +gmp" IUSE+=" binary" IUSE+=" elibc_glibc" # system stuff diff --git a/dev-lang/ghc/ghc-7.8.4.ebuild b/dev-lang/ghc/ghc-7.8.4.ebuild index bd936355ae3f..09a0b30498d4 100644 --- a/dev-lang/ghc/ghc-7.8.4.ebuild +++ b/dev-lang/ghc/ghc-7.8.4.ebuild @@ -65,7 +65,7 @@ S="${WORKDIR}"/${GHC_P} SRC_URI+=" https://dev.gentoo.org/~slyfox/distfiles/${P}-ia64-CLOSUREs-regenerated.patch.gz" LICENSE="BSD" SLOT="0/${PV}" -KEYWORDS="amd64 ~ia64 ppc ppc64 x86 ~amd64-linux ~x86-linux" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" IUSE="doc ghcbootstrap ghcmakebinary +gmp" IUSE+=" binary" IUSE+=" elibc_glibc" # system stuff diff --git a/dev-lang/ghc/ghc-8.0.2.ebuild b/dev-lang/ghc/ghc-8.0.2.ebuild index 40cc58192d97..aceb46dd71e5 100644 --- a/dev-lang/ghc/ghc-8.0.2.ebuild +++ b/dev-lang/ghc/ghc-8.0.2.ebuild @@ -71,7 +71,7 @@ BUMP_LIBRARIES=( LICENSE="BSD" SLOT="0/${PV}" -KEYWORDS="amd64 ~ia64 x86 ~amd64-linux ~x86-linux" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" IUSE="doc ghcbootstrap ghcmakebinary +gmp +profile" IUSE+=" binary" diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest index b6941504a76c..77b341585167 100644 --- a/dev-lang/gnat-gpl/Manifest +++ b/dev-lang/gnat-gpl/Manifest @@ -26,6 +26,7 @@ DIST gcc-7-gpl-2018-src.tar.gz 90302033 BLAKE2B 2f79137e176bff04c4fb17ab86330294 DIST gcc-7.3.0-patches-1.8.tar.bz2 14435 BLAKE2B 3e5c1abad56ccd6e0aa7739cb7cd651ec07ef9bf25be554343f1fa0444f251de41bde5fe6f8bb9e85e3f7a5cf8b2b83515647d93d62f338fa7843581fcaff2f8 SHA512 4d9d76b3d47f1af4f23cae15278d165b22065a3d1512323d1e31b5e0cb47e4654733dc43fa11906a3bd18e827621c9a5ec62b73563f8e5ead663c29f7d0d7345 DIST gcc-8-2019-20190517-18C94-src.tar.gz 95266904 BLAKE2B 8dc1983317517e9d7221ffd3d1c804367c98a7142b3964e6382ee037da2cfebc9e044640549c77905646727e97ba108445b00f36916a65c326e862230608a7dc SHA512 50933d7eab927a2d118e01c5cb85336203544f6fbc3f245a148e952320d6f8452fcd5d355019a144e8af03357d129bb145397506db0a62fddf1f746b6671e7fc DIST gcc-8.3.0-patches-3.tar.bz2 15944 BLAKE2B f1ae61be794123f34ca88c279bfe33abadd37eea0ca0267ac9c0c77707dc8305063a7ecc2e23511c281f7e903dff349fef016d3fbbf3237acf383fe1639d4b7b SHA512 f43d86a55c932df4a494c6b687101a2992b91b1a4e01677165ed0f04de6108150ef713762f71d0ef764dbd4bad97a99d15fcb42c23e4bb42d83a866ff2d0c614 +DIST gcc-8.3.0-patches-4.tar.bz2 17095 BLAKE2B 449d83371bf5a70020f4caad38d7b8f79bc4b3aeb13b060d28b56506fdd33e15527ab38c41baa3134dc9a25208dadfafab5992e93b2e9719dda420f830e7a8bf SHA512 0dcc5ce887b5c1dd9977ca1b1d8760563edf7ce2d39644f6212397c55c325ee441e1e02aea623bff157d95827db25528791137edc24931a88baad6499d0d15d5 DIST gcc-interface-4.9-gpl-2016-src.tar.gz 339037 BLAKE2B 8218ea3a3e3ddb11febb5f2fbcfad69ec25251d3ed6bf4f9c70dc9b3720cc2fb3310d704db40bd0c749be89b17a2b3766ddae3d6158313480073856057ad4bcf SHA512 507df314d1890c228c19f458bd51197377deaaa2d6082fe1e71b62b683252ee5fba4adfe2386246e14618b1c77288e0dcb5bf501e2daaca249b6299462c2f6bd DIST gcc-interface-6-gpl-2017-src.tar.gz 347016 BLAKE2B 934c6dac491abece9a6868d28fe9d2a6a1109238fe25c9b94abe83dfc22a1085489f0e0384626da0a3abeebe7537c5715df49a7e2d40577c96eb7ac897b84fd8 SHA512 5833303fce5bf812ccbc71f3d3726c0cb877937d75327edb15097c0b7dba58024a52688392906695ab92fb4e5d7a6623671eac9a05d17937dc0270bafcde920a DIST gcc-interface-7-gpl-2018-src.tar.gz 339461 BLAKE2B e6009c0b287b1cd8f055226e6919c12f2ba08f8ef24101608691b05b70a7fb0ca708e2ecd126499fb84a126436d3841f1a13be0b6d3442ef3bd3871391f8e1d5 SHA512 9dc942a39dd983778756be2951b4c66ac3835bf456dc389f80ffbafdacde4ebcb80720ac9eca8fef8734d6d052c061db37c88dba642d85add10940164d120381 @@ -36,8 +37,9 @@ DIST gnat-gpl-2014-x86_64-linux-bin.tar.gz 236253400 BLAKE2B c1db70db9442ba24688 DIST gnat-gpl-2016-src.tar.gz 8857249 BLAKE2B 3ff0fe247990e2a612ac989aa389e9ccae2e29c16177975c327b53ae1471030d0a70e5a2e3af219ad9a3288c241f2d18da349d0650f7fde01d439f4e4720de88 SHA512 4a5cb58ede5b4ae2887e64f0f2e12e0e06470d320796f06d02f7ddd932ff0d3b40e6d3e98a81138fff6906548a55153c2a186ff4a6e3d23b9dbe01ca582da1f8 DIST gnat-gpl-2017-src.tar.gz 8783473 BLAKE2B b0415b42f4d3a5e8675591a5602ff0a96945670104064671a232c0c12271ee141a3a5d148b8507bdab83cb8a0677c57b78e690060088308c51732bad3715964f SHA512 ae7314a2241107ed4d962dce08306eeb34c5f11e26183935bbb1ccf3a5eb011d6457c1b6fcded93dd0ee9ba31d791971ebe2a5a5a0ae04ff80d87a670325a098 DIST gnat-gpl-2018-src.tar.gz 8706578 BLAKE2B ba245fd91cc5263d5b8c159d9e75caf6bed21dcaa5fa43734af8775a4008ce5f96bfb84a8b5e6e734ff883314ab3219dacec3fe95a5baa33fb712bfb5ff8bce8 SHA512 0ff7e848ef77f7e772e2a1b01905307a91c332f32329456f5238c4b7eb46cc118709e8682a5fc826d98a7d99fd15a92c194f4a278f04bc465165cfa616cc3c2e -EBUILD gnat-gpl-2016-r4.ebuild 4316 BLAKE2B 6188e89ac12051f44e9ba487950530ff6a9015b7df36eaca8d429841ee1073d52dac113881a0922fe132328c7ce73a8cd10367bc22a7ac881a5d9690b35d8c65 SHA512 6e21b8e192db5f904712c3c939596abd9c61ba4752fbf65284019a99da11f7c26768ad883692900334a92b62d9bb2872a2a0f70b14f5abab6fdca34e4cd6e89e -EBUILD gnat-gpl-2017-r1.ebuild 3757 BLAKE2B cd57c0e594381937659b2d8d60b12022e0ffdb2aa2834011e03709c50a69fb9d9e995fab29ada2a65f81f4f548253ad664f1d6dac24f51f75f4ed10d38fdfa44 SHA512 d639e62c1d91ba72fce153acd95edba60e063204637a3df7c21adc0bc50b302c367b0f630e0aed05c41c281b78444fea986dbd4eae6b98984855eda7249805ac -EBUILD gnat-gpl-2018-r3.ebuild 3767 BLAKE2B 720479ba962055058c5177c64f3a537e0a9ef035619eafbd7257494c82664759f4ac1b9f5980e2ca4e0c206791ba9c8435fba7ccf8ca48075bbf900b43e2a1bf SHA512 01604b11e918c547fe9d3f08ecb16c305b7f13d99d0843598de1609f33544db45393e3f012c1cad2a5ee2a4751ee93200bdd373e7fc5a574611d4930eae2915a -EBUILD gnat-gpl-2019-r1.ebuild 3621 BLAKE2B c6abf8494e8b562b08c050dc16c982615c3284583a69ffe8c626a20a3911f35c2a931a7cde5b0987a4b2b3eff5148e1068607f93ed1429ab55d52d3ad251555f SHA512 a1e5407e3b0637b6c233b12129129de896344428860fa8f0de045715c243cc508f42e57cbb8ac380be0a889005081ae6a2646fac10f389e3cf2f9a9688f61191 +EBUILD gnat-gpl-2016-r4.ebuild 4309 BLAKE2B d09b887127874269dae21ef5befa8643b49702b4f7934af0c5d06dd5c0bd3bf7255fa5c63c644b696738a127bd5e602cc88ace982738af7453c3a5523a10f730 SHA512 62b8d6f9c09b600119af3d8fac1130e8f366bcf234a82c4bf4ce84ff8799889b9ca462f0b884ee2f78bc1744c9042d55111e8fe5d3b6d0613928981fb27bd5f9 +EBUILD gnat-gpl-2017-r1.ebuild 3750 BLAKE2B be2513ac0e0f9c899b6660355d9417e83ac7ac3c200012bef5b817f4ba8ae916f81438fcc7478bb096b0271a40f83ae8f2a4b5f52a627fc71fe0458127a21c4e SHA512 4626e97ee7c0841bc78c4128584a07b6a4f0f0f42e11b67aab0e569a00c6ec02a0bfb3cb78b740bd1e3430fc5bbcf80831ccadc7dfd1673594a14c51186563e2 +EBUILD gnat-gpl-2018-r3.ebuild 3760 BLAKE2B ffd8d01aecf4c70d9f00176c3d71b8c71fbe0913618e4350c77dbe4d3425376720b10e2a57e30254fb1924c9862a433c1640ab29a036b6faa0e627d3cb6c88b2 SHA512 630636ebac26b66014ffd389faff5693ec40718db7dc9649233c367bbce68d295c31fdb18c896c9b1ce51c57e064db79267c88d5a5e7f9a3f81e17a10ed28724 +EBUILD gnat-gpl-2019-r1.ebuild 3614 BLAKE2B 94e7f91af4ae1c815c42325108f0c80bbb698cd42c6511c133485c8bfbbe429a7dfc1199513ec3ebcdf0116e4e3b42669dc6b72f2e6a3771b1ae2dae90da3ab2 SHA512 eae91bca84869a1a0e4308ec8f8f35aa3e22be8d049097d00f9950d8ac07078a184ff8d9c3fcb7ef4ecbe1f849ba93b1de074652fa13570c73bb1b8fac318a2f +EBUILD gnat-gpl-2019-r2.ebuild 3616 BLAKE2B aa83e67923a2e58839e516d8f23143e9b63b6a40e882975b5c4804638bb508c2b379613d332a50559a27f2e2e419ac26a0ad4086f403df09d200c3a2752a5934 SHA512 2d0a4127993cafac7bb76810748b712f1fcb89ef0a3fc84f6af2df07416601994af6fbcb06d47b08d129dbbb0e5b84e3703ed4098468f661ed6f0dd7c075b5c7 MISC metadata.xml 2217 BLAKE2B 3862fbb5ca8625a16c4031de574ff280c9aef0522dee6a8578615d5161daefaf636c8564cb4995e0096ff74728c9bb68e61af93c799c736c1f0fb69b34a4d1d3 SHA512 5880952bc0f2de368250178859059204fc527dd8e3b178ef689e5f1cebae90dd65840658afeda3f1ac18115ef6023b9ebea45a485e56dcfec719ce091f36c274 diff --git a/dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild index b10bbb93de4e..eeeeaf2c0388 100644 --- a/dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild +++ b/dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild @@ -103,7 +103,7 @@ src_unpack() { toolchain_src_unpack if use bootstrap; then - rm ${BTSTRP}/libexec/gcc/${CHOST}/4.7.4/ld || die + rm ${BTSTRP}/libexec/gcc/*/4.7.4/ld || die fi } diff --git a/dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild index a0efa9b463c1..4e65591d29ce 100644 --- a/dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild +++ b/dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild @@ -85,7 +85,7 @@ src_unpack() { toolchain_src_unpack if use bootstrap; then - rm ${BTSTRP}/libexec/gcc/${CHOST}/4.7.4/ld || die + rm ${BTSTRP}/libexec/gcc/*/4.7.4/ld || die fi } diff --git a/dev-lang/gnat-gpl/gnat-gpl-2018-r3.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2018-r3.ebuild index 239c00d759da..7dbb27439ea7 100644 --- a/dev-lang/gnat-gpl/gnat-gpl-2018-r3.ebuild +++ b/dev-lang/gnat-gpl/gnat-gpl-2018-r3.ebuild @@ -84,7 +84,7 @@ src_unpack() { toolchain_src_unpack if use bootstrap; then - rm ${BTSTRP}/libexec/gcc/${CHOST}/4.7.4/ld || die + rm ${BTSTRP}/libexec/gcc/*/4.7.4/ld || die fi } diff --git a/dev-lang/gnat-gpl/gnat-gpl-2019-r1.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2019-r1.ebuild index 34a131541eaa..6f1e39dc569f 100644 --- a/dev-lang/gnat-gpl/gnat-gpl-2019-r1.ebuild +++ b/dev-lang/gnat-gpl/gnat-gpl-2019-r1.ebuild @@ -86,7 +86,7 @@ src_unpack() { toolchain_src_unpack if use bootstrap; then - rm ${BTSTRP}/libexec/gcc/${CHOST}/4.7.4/ld || die + rm ${BTSTRP}/libexec/gcc/*/4.7.4/ld || die fi } diff --git a/dev-lang/gnat-gpl/gnat-gpl-2019-r2.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2019-r2.ebuild new file mode 100644 index 000000000000..f6f02fcd579a --- /dev/null +++ b/dev-lang/gnat-gpl/gnat-gpl-2019-r2.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PATCH_GCC_VER=8.3.0 +PATCH_VER="4" + +TOOLCHAIN_GCC_PV=8.3.1 + +REL=8 +MYP=gcc-${REL}-${PV}-20190517-18C94-src +GNATDIR=gnat-${PV}-20190517-18C94-src +INTFDIR=gcc-interface-${REL}-${PV}-20190510-18F59-src +BTSTRP_X86=gnat-gpl-2014-x86-linux-bin +BTSTRP_AMD64=gnat-gpl-2014-x86_64-linux-bin + +# we provide own tarball below +GCC_TARBALL_SRC_URI=" + http://mirrors.cdn.adacore.com/art/5cdf865331e87aa2cdf16b49 + -> ${GNATDIR}.tar.gz + http://mirrors.cdn.adacore.com/art/5cdf8a0731e87a8f1d425049 + -> ${MYP}.tar.gz + http://mirrors.cdn.adacore.com/art/5cdf87cc31e87aa2cdf16b50 + -> ${INTFDIR}.tar.gz + bootstrap? ( + amd64? ( + http://mirrors.cdn.adacore.com/art/564b3ebec8e196b040fbe66c -> + ${BTSTRP_AMD64}.tar.gz + ) + x86? ( + http://mirrors.cdn.adacore.com/art/564b3e9dc8e196b040fbe248 -> + ${BTSTRP_X86}.tar.gz + ) + )" + +inherit toolchain-funcs toolchain + +DESCRIPTION="GNAT Ada Compiler - GPL version" +HOMEPAGE="http://libre.adacore.com/" + +LICENSE+=" GPL-2 GPL-3" +KEYWORDS="~amd64 ~x86" +IUSE="+ada +bootstrap" +RESTRICT="!test? ( test )" + +RDEPEND="!sys-devel/gcc:${TOOLCHAIN_GCC_PV}" +DEPEND="${RDEPEND} + elibc_glibc? ( >=sys-libs/glibc-2.13 ) + >=sys-devel/binutils-2.20" + +S="${WORKDIR}"/${MYP} +PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )" + +pkg_setup() { + toolchain_pkg_setup + + if use amd64; then + BTSTRP=${BTSTRP_AMD64} + else + BTSTRP=${BTSTRP_X86} + fi + + if use bootstrap; then + GCC="${WORKDIR}"/${BTSTRP}/bin/gcc + else + GCC=${ADA:-$(tc-getCC)} + fi + + gnatbase=$(basename ${GCC}) + gnatpath=$(dirname ${GCC}) + + GNATMAKE=${gnatbase/gcc/gnatmake} + if [[ ${gnatpath} != "." ]] ; then + GNATMAKE="${gnatpath}/${GNATMAKE}" + fi +} + +src_unpack() { + if ! use bootstrap && [[ -z "$(type ${GNATMAKE} 2>/dev/null)" ]] ; then + eerror "You need a gcc compiler that provides the Ada Compiler:" + eerror "1) use gcc-config to select the right compiler or" + eerror "2) set the bootstrap use flag" + die "ada compiler not available" + fi + + toolchain_src_unpack + if use bootstrap; then + rm ${BTSTRP}/libexec/gcc/*/4.7.4/ld || die + fi +} + +src_prepare() { + CC=${GCC} + CXX="${gnatbase/gcc/g++}" + GNATBIND="${gnatbase/gcc/gnatbind}" + GNATLINK="${gnatbase/gcc/gnatlink}" + GNATLS="${gnatbase/gcc/gnatls}" + if [[ ${gnatpath} != "." ]] ; then + CXX="${gnatpath}/${CXX}" + GNATBIND="${gnatpath}/${GNATBIND}" + GNATLINK="${gnatpath}/${GNATLINK}" + GNATLS="${gnatpath}/${GNATLS}" + fi + mkdir bin || die + ln -s $(which ${GCC}) bin/gcc || die + ln -s $(which ${CXX}) bin/g++ || die + ln -s $(which ${GNATMAKE}) bin/gnatmake || die + ln -s $(which ${GNATBIND}) bin/gnatbind || die + ln -s $(which ${GNATLINK}) bin/gnatlink || die + ln -s $(which ${GNATLS}) bin/gnatls || die + + cd .. + mv ${GNATDIR}/src/ada ${MYP}/gcc/ || die + mv ${INTFDIR} ${MYP}/gcc/ada/gcc-interface || die + eapply "${FILESDIR}"/${P}-gentoo.patch + rm patch/27*.patch || die + rm patch/28*.patch || die + cd - + sed -i \ + -e 's:$(P) ::g' \ + gcc/ada/gcc-interface/Makefile.in \ + || die "sed failed" + toolchain_src_prepare +} + +src_configure() { + export PATH=${PWD}/bin:${PATH} + downgrade_arch_flags "$(gcc-version)" + toolchain_src_configure +} + +pkg_postinst() { + toolchain_pkg_postinst + einfo "This provide the GNAT compiler with gcc for ada/c/c++ and more" + einfo "The compiler binary is ${CTARGET}-gcc-${TOOLCHAIN_GCC_PV}" + einfo "Even if the c/c++ compilers are using almost the same patched" + einfo "source as the sys-devel/gcc package its use is not extensively" + einfo "tested, and not supported for updating your system, except for ada" + einfo "related packages" +} diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest index 54ec2f860ae8..a464e7980a19 100644 --- a/dev-lang/go/Manifest +++ b/dev-lang/go/Manifest @@ -10,10 +10,12 @@ DIST go-linux-ppc64le-bootstrap-1.8.tbz 52211575 BLAKE2B 7a28ec5a381369c4e9415c8 DIST go-linux-s390x-bootstrap-1.8.tbz 57124869 BLAKE2B 920a176b8f4fc3a816e724324bbb30a383d599e31a0d2093d24797dbcd0e799a662a3589dbb87d2f5dd16df07c4cf8f1e444e87b540ec732746bb025dc9271f8 SHA512 d429cae870d66217ab2e07c74209d3031d97baa4f899b4d70ae6283a1a5b1434b037904c4cfca0b2bc798d5ba0b358c3739e000eccbc74809baf564c5686df5a DIST go-solaris-amd64-bootstrap-1.8.tbz 54926326 BLAKE2B 0a45312f090d81ebf46fe5950cb65c059e2801394231e715e94145d1f918eb59b10472b2385e57ebd5cfb9eca0ad7290fb118436486b665520bb540970f971ab SHA512 52b849e5b9a940e10de7ba3df0ebdf6e1c5d631de9581d936c9edf8f38e6bb3314acbc2b2d5202b0528fde2a359d52bc0c6f39acf9b1b614725e4b4a947ed10d DIST go1.12.17.src.tar.gz 20725913 BLAKE2B 2eef7374195302656268a42409619445dfeb3ede1f9218ae4eab195916876b97f7510cc62585a0bfdd9f86dddf8a74000032a84b29bc9891d84fc69db94f0274 SHA512 069f8f445d9d2268ebb14b2446fab34843d56283c04561636d122fd8b4c1ea0b63640a84437db7a7be71039440ffe170cd3f8025b03b0acf95f2a56fa2febec6 +DIST go1.13.10.src.tar.gz 21702804 BLAKE2B 586494604455594c552d25a207634d70ae7f5ad142e18e22f5ef462c6488327cc01630c0bc99a4ede9dee0d649982802cf79f34f35ad7f810ca0701c35a7d555 SHA512 9e020dd89ab6201c4cbb893caecc0b077d5fbb2e10381e1b76a29ddc18c141d8db67a1b0f607ed915b0e9c40c4fb2c65b0319472535892534a31ad962e72fe05 DIST go1.13.9.src.tar.gz 21700289 BLAKE2B 7c58dd89d164913dc85c8dc9e8b86798daad8bd58936b0ced21d3c084e0488306577273a6fa748bfee505fd38b90727a3cd9ab4ceebc1e62a0490b992cfa5bbe SHA512 0034ec394141e2c19941bf839cad93992c175476e3f3fa7b483c919aeea01fa4e0136eb8dd87a3158b911c04ded98a3c4960975a13280f1be076eb8f51464a98 -DIST go1.14.1.src.tar.gz 22451159 BLAKE2B 2b45716cdc82edb94609143bcbb79b313ff3b6b1cc9e0791236a8d968a2fc1d84015037a2cfb75e5b73dac4974b97a1e62f1fd1f5afe0dc633137b73ab15004a SHA512 f0112fbf984e2764cd90d42b2f844b986b421adf8bf68551cccefeb320db7f3490ab1532f770f20c943c68c7185ce139c8248991adb0529527358ffdc8047ad9 +DIST go1.14.2.src.tar.gz 22454649 BLAKE2B edd8a1081e7da6988532b9fefe6d6f789a7d336562d61d5e585a8b881fb45d77721bee9837ae79318295471aea138e175650c2138175a587f0b7957988e8e209 SHA512 3f6804e1a60df6a7c55c294fe4147b2d6f028c619ad4ae5b1ae8793c6be637a1e6a62721cc7ce0b28918ab3441a89fa9acda72cb5450bf5af8d7872411d28015 EBUILD go-1.12.17.ebuild 6435 BLAKE2B 3dfb8f6d0a788f56bffcee3809739da3c8cf3662962f3d3a995183c7ec79045719dabb2d9651fbcd4b54502dc676b7d1b80f9cca5b959a16c33ceddda4ff28f9 SHA512 69f0c03af4aafeb4bf2ebaaabef0f4ef663972a029c1ed7c6a4369867b3d661393062cac5a0373104a37a49684e8984ffd916336ebc510d61bb5e4005f57744e +EBUILD go-1.13.10.ebuild 4409 BLAKE2B 509b4bfa581bae39fc3bc035d381b96117bdb1d46f959cadb013418bcf422edb0d29fb6169a06b0db1451a8472c9fbb7674bb323fb72fb651ee14ba18a9b50e7 SHA512 92a3ec370e65bc40fe496be9e0fb4134dae5265d183891eabfc2ebafe9c4b21df43605ce9cce678c0d624f8eb394a946c82e7650e70415303a37e46950860c04 EBUILD go-1.13.9.ebuild 4403 BLAKE2B 32d5161a96996b1c88213e8c1422d78fb33b32f659bfde3de91b140462442adfff12d4ec2ae82cf90b6a27673b93d0836d4bee8bafdf4db7db792117b99aff84 SHA512 57d5bbfeaa99c73c3c2f7d3cdc6291c5b15957f85a081cac61d5a2ac867af21cf8aac18644e2562dc4b0ca09a5f95093345b53891a8d1f8167ed7e64705964c2 -EBUILD go-1.14.1.ebuild 4408 BLAKE2B 6d6528b9f8e3683aeb74f7231f59738f7b27cc651b0a8a2d10dab0010c34481716284f4623480fd619b242cf623e0527ad4bc273d131f4d7edecb8a5c910c6ef SHA512 72807628d3cbb06cf02fd098e911b768c248793363138445beda94192b04df383eb14a699c4657a2e40d35181fd9dd480ef3965de5adf68ff69b8436972c4f87 -EBUILD go-9999.ebuild 4408 BLAKE2B 6d6528b9f8e3683aeb74f7231f59738f7b27cc651b0a8a2d10dab0010c34481716284f4623480fd619b242cf623e0527ad4bc273d131f4d7edecb8a5c910c6ef SHA512 72807628d3cbb06cf02fd098e911b768c248793363138445beda94192b04df383eb14a699c4657a2e40d35181fd9dd480ef3965de5adf68ff69b8436972c4f87 +EBUILD go-1.14.2.ebuild 4158 BLAKE2B 6fdcaf4cbdde0e2fc0925176115ba1a33a638eed2fae715e11c9bd293a27d5a74192fb9a5fa11a235fd00a8d8d28581449dae52ca3e048ef0da6947618a8ddbe SHA512 71cc16a7e266a225cc15e766afb72df6cf956e1972836ac16357e1edc8d6b2aa0ed42f29a91e5a2f7ee939ff489e0ffdd30cf047291df5f8103535ae14a8ec19 +EBUILD go-9999.ebuild 4158 BLAKE2B 6fdcaf4cbdde0e2fc0925176115ba1a33a638eed2fae715e11c9bd293a27d5a74192fb9a5fa11a235fd00a8d8d28581449dae52ca3e048ef0da6947618a8ddbe SHA512 71cc16a7e266a225cc15e766afb72df6cf956e1972836ac16357e1edc8d6b2aa0ed42f29a91e5a2f7ee939ff489e0ffdd30cf047291df5f8103535ae14a8ec19 MISC metadata.xml 663 BLAKE2B fc92966e1b4a155b4d442842988d0404c0148b029d187ab7294d49dabad771296d63ca3184128ac27cea4e74e7d6cfc8852084ca8f1d15a1d0755586a0bf68de SHA512 f67b7e312cfb2a896552ae73e835d53ffbb0a7c71c30f0a7cb44c65e2753055e185e7a5c48e2cfff33a42609629cc3c32ee56a9d8f61d8429798c1e8424e36bf diff --git a/dev-lang/go/go-1.14.1.ebuild b/dev-lang/go/go-1.13.10.ebuild index f7c4c78376b8..cdfc817b0ceb 100644 --- a/dev-lang/go/go-1.14.1.ebuild +++ b/dev-lang/go/go-1.13.10.ebuild @@ -21,7 +21,7 @@ case ${PV} in case ${PV} in *_beta*|*_rc*) ;; *) - KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" + KEYWORDS="-* amd64 ~arm ~arm64 ~ppc64 ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" # The upstream tests fail under portage but pass if the build is # run according to their documentation [1]. # I am restricting the tests on released versions until this is @@ -151,7 +151,7 @@ src_compile() fi cd src - ./make.bash || die "build failed" + ./make.bash -v || die "build failed" } src_test() diff --git a/dev-lang/go/go-1.14.2.ebuild b/dev-lang/go/go-1.14.2.ebuild new file mode 100644 index 000000000000..3c87c2a4e5f0 --- /dev/null +++ b/dev-lang/go/go-1.14.2.ebuild @@ -0,0 +1,188 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} + +MY_PV=${PV/_/} + +inherit toolchain-funcs + +case ${PV} in +*9999*) + EGIT_REPO_URI="https://github.com/golang/go.git" + inherit git-r3 + ;; +*) + SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " + S="${WORKDIR}"/go + case ${PV} in + *_beta*|*_rc*) ;; + *) + KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" + ;; + esac +esac + +DESCRIPTION="A concurrent garbage collected and typesafe programming language" +HOMEPAGE="https://golang.org" + +LICENSE="BSD" +SLOT="0/${PV}" + +BDEPEND="|| ( + dev-lang/go + dev-lang/go-bootstrap )" +RDEPEND="!<dev-go/go-tools-0_pre20150902" + +# Do not complain about CFLAGS, etc, since Go doesn't use them. +QA_FLAGS_IGNORED='.*' + +# The tools in /usr/lib/go should not cause the multilib-strict check to fail. +QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" + +# Do not strip this package. Stripping is unsupported upstream and may +# fail. +RESTRICT+=" strip" + +DOCS=( +AUTHORS +CONTRIBUTING.md +CONTRIBUTORS +PATENTS +README.md +) + +go_arch() +{ + # By chance most portage arch names match Go + local portage_arch=$(tc-arch $@) + case "${portage_arch}" in + x86) echo 386;; + x64-*) echo amd64;; + ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; + s390) echo s390x ;; + *) echo "${portage_arch}";; + esac +} + +go_arm() +{ + case "${1:-${CHOST}}" in + armv5*) echo 5;; + armv6*) echo 6;; + armv7*) echo 7;; + *) + die "unknown GOARM for ${1:-${CHOST}}" + ;; + esac +} + +go_os() +{ + case "${1:-${CHOST}}" in + *-linux*) echo linux;; + *-darwin*) echo darwin;; + *-freebsd*) echo freebsd;; + *-netbsd*) echo netbsd;; + *-openbsd*) echo openbsd;; + *-solaris*) echo solaris;; + *-cygwin*|*-interix*|*-winnt*) + echo windows + ;; + *) + die "unknown GOOS for ${1:-${CHOST}}" + ;; + esac +} + +go_tuple() +{ + echo "$(go_os $@)_$(go_arch $@)" +} + +go_cross_compile() +{ + [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] +} + +src_compile() +{ + if has_version -b dev-lang/go; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" + elif has_version -b dev-lang/go-bootstrap; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" + else + eerror "Go cannot be built without go or go-bootstrap installed" + die "Should not be here, please report a bug" + fi + + export GOROOT_FINAL="${EPREFIX}"/usr/lib/go + export GOROOT="$(pwd)" + export GOBIN="${GOROOT}/bin" + + # Go's build script does not use BUILD/HOST/TARGET consistently. :( + export GOHOSTARCH=$(go_arch ${CBUILD}) + export GOHOSTOS=$(go_os ${CBUILD}) + export CC=$(tc-getBUILD_CC) + + export GOARCH=$(go_arch) + export GOOS=$(go_os) + export CC_FOR_TARGET=$(tc-getCC) + export CXX_FOR_TARGET=$(tc-getCXX) + if [[ ${ARCH} == arm ]]; then + export GOARM=$(go_arm) + fi + + cd src + ./make.bash -v || die "build failed" +} + +src_test() +{ + go_cross_compile && return 0 + + cd src + PATH="${GOBIN}:${PATH}" \ + ./run.bash -no-rebuild || die "tests failed" + cd .. + rm -fr pkg/*_race || die + rm -fr pkg/obj/go-build || die +} + +src_install() +{ + local bin_path f x + + dodir /usr/lib/go + + # There is a known issue which requires the source tree to be installed [1]. + # Once this is fixed, we can consider using the doc use flag to control + # installing the doc and src directories. + # [1] https://golang.org/issue/2775 + # + # deliberately use cp to retain permissions + cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go + # testdata directories are not needed on the installed system + rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) + if go_cross_compile; then + bin_path="bin/$(go_tuple)" + else + bin_path=bin + fi + for x in ${bin_path}/*; do + f=${x##*/} + dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} + done + einstalldocs + + if [[ ${CHOST} == *-darwin* ]] ; then + # fix install_name for test object (binutils_test) on Darwin, it + # is never used in real circumstances + local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/ + libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64 + install_name_tool -id "${libmac64}" "${D}${libmac64}" + fi +} diff --git a/dev-lang/go/go-9999.ebuild b/dev-lang/go/go-9999.ebuild index f7c4c78376b8..3c87c2a4e5f0 100644 --- a/dev-lang/go/go-9999.ebuild +++ b/dev-lang/go/go-9999.ebuild @@ -22,12 +22,6 @@ case ${PV} in *_beta*|*_rc*) ;; *) KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" - # The upstream tests fail under portage but pass if the build is - # run according to their documentation [1]. - # I am restricting the tests on released versions until this is - # solved. - # [1] https://golang.org/issues/18442 - RESTRICT="test" ;; esac esac @@ -43,17 +37,9 @@ BDEPEND="|| ( dev-lang/go-bootstrap )" RDEPEND="!<dev-go/go-tools-0_pre20150902" -# These test data objects have writable/executable stacks. -QA_EXECSTACK=" - usr/lib/go/src/debug/elf/testdata/*.obj - usr/lib/go/src/*.gox - " - # Do not complain about CFLAGS, etc, since Go doesn't use them. QA_FLAGS_IGNORED='.*' -REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*" - # The tools in /usr/lib/go should not cause the multilib-strict check to fail. QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" @@ -151,7 +137,7 @@ src_compile() fi cd src - ./make.bash || die "build failed" + ./make.bash -v || die "build failed" } src_test() @@ -161,6 +147,9 @@ src_test() cd src PATH="${GOBIN}:${PATH}" \ ./run.bash -no-rebuild || die "tests failed" + cd .. + rm -fr pkg/*_race || die + rm -fr pkg/obj/go-build || die } src_install() @@ -176,6 +165,8 @@ src_install() # # deliberately use cp to retain permissions cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go + # testdata directories are not needed on the installed system + rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) if go_cross_compile; then bin_path="bin/$(go_tuple)" else diff --git a/dev-lang/mmix/Manifest b/dev-lang/mmix/Manifest index 92a234c71b65..e9bbb7fa651d 100644 --- a/dev-lang/mmix/Manifest +++ b/dev-lang/mmix/Manifest @@ -2,6 +2,6 @@ AUX mmix-20110420-makefile.patch 1636 BLAKE2B f4acfc952dea9671ec5507f4d86a146213 AUX mmix-20131017-format-security.patch 2256 BLAKE2B 2481c33c024d84af03b289ec9f22c9b98cb27537c32ea9ef020943aa424efac5267d81326241b2d764eb292f373ed51cc30c3ddbdb55f8fa444154cf6cc5fe0d SHA512 e77cdf3d196356cc0cb09f322cc979e4c603592c8f9421764d6830df27fe627958badbd6726021f97bc42a0d9551e4d3b39ca7b1d677b44a543ffcc04028eaea AUX mmix-20160804-gcc-10.patch 822 BLAKE2B 182ff974d458e06ac5c90aa44f0255f20a97c7702a49f3b36ba541c6414f63f8d2c1d3f56e6abe624e06be198b963d018ba3403baac0773b114946d96fa9272c SHA512 65fb04add6fa1441f9cc699af09cc84b67701113db1406d7ec582ac2023221f02dd1972393c3114fa0801a9f686b24d8e5daededa469e155da33aaafee72a22c DIST mmix-20160804.tgz 308410 BLAKE2B 8bbde51921fe23f016e35bd51346e6445d530815e5e87bff44cf17e081c6b8e55dd6bd24f1ce1621851d2eac309fa44d71aa33d93d3ddfce5213c6643181d38c SHA512 35c518227a4ee40d0aa3be02eda2ab8b2a27696fa789f5007a978419d07b3deebb7f391895e63e3556aeb38dc1ded3bddf2b860125ebf8f7848375e90dc7af75 -EBUILD mmix-20160804-r1.ebuild 982 BLAKE2B 5f24dcb5085469727e7f4263ef508921b2783c3b26d206ebf4ec846c7243ea4ee3b083d9c5544b3e92ca32920d07ebedefdc58eb90d83a45e5e6c3d5a6d1e6a6 SHA512 c3a61fea330889a586160691ea5be3e235b6b536a6f811712d4333abf3bea24ab02646438db9353cc146fe57d101eabf79efe5b3f95b08cfd786b333ec0159b5 +EBUILD mmix-20160804-r1.ebuild 980 BLAKE2B 1aa11e3529d9d7d17bf367d8cd60601373d3b079e0daded4a7fb61daae0b608b38801db235832c8a6565d3af72962ad80e94589a0d3d9d12eb10069eebdaddfe SHA512 6a1603509b1865ead60840a42cb14abd08d56c03dc799befd9343b6899f21a8fc018dedb6d2a2e5a562151814996b00576201e45c50569ca3d49268dbfa9faf8 EBUILD mmix-20160804.ebuild 849 BLAKE2B daece24ae69bacf4b32692af7fdce7f1c19f676534aecfb10b770e83c34a2055ad6cd5b2a3d7f6d1fa5a902b7c396694160784b02d0645f93865c4f94891ccdf SHA512 3c213ff93e7ebfc1daf96d1313423248e88367f5eb466d1f4dde89109b94a1a222ef65b84f7740a2328182764290b966d91b2dd5121bb7348ae791c46d27e66e MISC metadata.xml 359 BLAKE2B 8e1746961e93d5df12f25907921a6186e3ae082de593f976cc4a253a0fbe9f33e78b6538b4a33e958f73bab2d20179eca1b54301240d83d16471c4acee95426c SHA512 70c8cf6e10f42baf6d223ef0f622465a8f196b2935276c793d5961e6304478c0f03231ade7c3e776e9bffb70bf53c550aa23c8a65ddfac1562c71314d85fb622 diff --git a/dev-lang/mmix/mmix-20160804-r1.ebuild b/dev-lang/mmix/mmix-20160804-r1.ebuild index 15e84fef8c3a..620b0c7c3b42 100644 --- a/dev-lang/mmix/mmix-20160804-r1.ebuild +++ b/dev-lang/mmix/mmix-20160804-r1.ebuild @@ -16,7 +16,7 @@ RDEPEND="!!media-sound/mmix" SLOT="0" LICENSE="${PN}" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="doc" S="${WORKDIR}" diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest index d632b7e1d4fe..8f953e5adb6d 100644 --- a/dev-lang/ocaml/Manifest +++ b/dev-lang/ocaml/Manifest @@ -9,5 +9,5 @@ DIST ocaml-patches-8.tar.bz2 1803 BLAKE2B 5e76a198c2f5ca9f231d4e80499d784cf061ec DIST ocaml-patches-9.tar.bz2 1700 BLAKE2B 4e46b8fb490db28f815414e285f54e251394ea53e1d25c529bbea9f03e426fd19132b1e2c7c2be7d14983fceb4cad073d191b001f6da522fee4226371d4a2eca SHA512 cc19f9104fac69aecc5effa8cb772342e1fb61cdcd38ba0176efe04cf3d710b1c56d5178748f3bd29099af91fa684da432a8ef8d42de76dbd1b6954a255ea6c0 EBUILD ocaml-4.04.2-r1.ebuild 3536 BLAKE2B 9d4803fbe13957a479de356815b64d9fa704b49f46895d6404bed6e73849fc88b07dcd5bd5dc5d8e07bb7c3c695c86a6f7c7b218682f297454cc5d7ae622400c SHA512 d34ec5986f048346f2d530de5aae4c28fb03a565b50a56013783fb37be6bfffd20e67c31231c93f7a33f18e266c3852041937240b2408d0447a76c33e0d9ebd1 EBUILD ocaml-4.05.0-r1.ebuild 3692 BLAKE2B f8f81b2c8127e5e3b8fc4b37ce9e0e01bf63e4b09c0727d20dfe36dd038ff4261f3383d7f63710eb73405d5eb6b6ab348bd88bc62665b8be7aee34b9a89c1802 SHA512 ab7bc8419507ff59eed35628183a0ea79319648adee66ec42313ad74df8b5a0c1e87db273cbe87d9e67b19a900eba0c473d3e167afc9c97490cb496b4c529cb4 -EBUILD ocaml-4.09.0.ebuild 2188 BLAKE2B 873a6e24bc71241a8b32840d7adda1d5421af80fc42de8fe7e3df956df71681a33ec992377a6bfb6c8bc3a160531f9f48f8d1e1ad4b6136a040c2c70c8192cee SHA512 b52143929817b4f8f6d43ec17fca59c5c61140ab76c77aca4e33675f26dd9de233ec133c67d6d51e476d62333fc13e26565743bf4d5abb8631c6ad24091c9b6c +EBUILD ocaml-4.09.0.ebuild 2187 BLAKE2B bab2debf40d10d188d81f0c1d3da311fbd9462b70343d7143b14c493d3a95461aa0d8e2faa6315fd75cafcae9231f49af9530986ae76ee1cdc30a78405307072 SHA512 cea3b19a513b0db6153ccbc6c501768a797866705dbb09f8738de28965a20d5bba13367bd26b829cb7f8a6d4ccf8a9464c0b1c2149aa458f121f90ed66daab15 MISC metadata.xml 605 BLAKE2B 30bf74c9300280f432ca8ae675b756e9b95a8e683c56eebae7fab890071c616bcc2a2fae516e31c593c0e626061aba603909b073ff6c3fea4d09e7fce40f3f83 SHA512 298d96d5685b1e79e1baab1e393ef083fa270d147a24ae2a35fa424b311dbf45931673dbf44974a946cd3423d62ce66df6d36017dcf6cb3275770c1cf6215c10 diff --git a/dev-lang/ocaml/ocaml-4.09.0.ebuild b/dev-lang/ocaml/ocaml-4.09.0.ebuild index 1a0af05410e4..e0b47a997813 100644 --- a/dev-lang/ocaml/ocaml-4.09.0.ebuild +++ b/dev-lang/ocaml/ocaml-4.09.0.ebuild @@ -9,7 +9,7 @@ DESCRIPTION="Programming language supporting functional, imperative & object-ori LICENSE="LGPL-2.1" SLOT="0/${PV}" -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" IUSE="emacs flambda latex +ocamlopt spacetime xemacs" RDEPEND="sys-libs/binutils-libs:= diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest index b1b14dc79ad0..735a8592915e 100644 --- a/dev-lang/perl/Manifest +++ b/dev-lang/perl/Manifest @@ -5,6 +5,7 @@ DIST perl-5.30.0-patches-1.tar.xz 17352 BLAKE2B 67eb1c4ce6ada27e05962d06fa9c5675 DIST perl-5.30.1.tar.xz 12367844 BLAKE2B 7e5dafb218a993301b986d198c02179d2d93d7418b910f813c7e5bc44ca4d22f004d4d768273ab5d4b6f16103d8a1896237ee14e195d2644fc4c05f5ade5404b SHA512 8f3339efdcd1bb58fa58a90042181bef86bb09e4598c737e446ed43b56d2ab23d67eced5e36fb08fc61e076acfdb572a12e46a1277f5299a3f412054df0b88bf DIST perl-5.30.2.tar.xz 12373480 BLAKE2B b34344221409fad8aad5c24a9851a95521720bfd85ff150fec02a70d78188cd3a4d6327931b955323c86eab6b16979128dd323f78b797cf3244518df840f70b0 SHA512 b945c95f44a58b9cc920c926e23017c4270c0dc8daf0bf8169cd7c8f6b8f980f1780bee4fbd525df518edc50f08364ba65988cb17e72a1667f50226459b65087 DIST perl-cross-1.3.1.tar.gz 106723 BLAKE2B 473d90dbfe5d69e17d088664c365190982db400b0617d951fb7a4ccb84dd269fd9e861a6255c0469fbf288125db67ed9fc692251f14c31181f6e9dd1dba447bb SHA512 4715c1f65e39a7d0c605558b345a0a037e61afa992b3f723d66277d5ff7f1c7368ff1dfdb726895d75c4afdb6f710743708fdd9e79569a7d14a2d7002cc9f3b2 -EBUILD perl-5.30.1.ebuild 20270 BLAKE2B 623565778c4dfeb1ad6f88dfd3ea2d6a394fc2b03ea34ef675759a71225557ffd082cb117d21a551daa94a7971d7d4e3c080a33b795119820139beaafa44fdff SHA512 2ebe6740f32a2454badf3fb279487416a81dda33d503d0d2218ae84a0a2003ced4003c6aaa316e6cf164b7c0137a59b1bf1c2e6d8aa65fd0066e1a9efc9480d2 -EBUILD perl-5.30.2.ebuild 20226 BLAKE2B 7668e596761d8ff81003b8df5c55b7098bff476706a0ed7373e96e66e7324e2eed0487451cc761d76e6e8c71003603d0b806a323feaf5c58d0f75b7d33d8f05a SHA512 303f3d6658fb4e89a275474640d3bc69685392718fb597dc127a23ab991b85c13248ccfaaed1e578c6906b7e428bf4ed5c486b7e1f433150524674db240db1b5 +DIST perl-cross-1.3.2.tar.gz 108350 BLAKE2B ddb352fdbec66a04de62425f5cae1aaa3bc7251b9d6f4837b66a0bd79c53c60212fad3997dad4c38055774a2769d45b5b83927bf48b0fb00a130fee429eba702 SHA512 d61d25066a8d87c34aeacc5b9bd86fab964b33c4c65e84a89e4077fe1d8011c0bdf810a304631af44fae32edcffd6c99fc17b0c584ea83d1ce5ce492aaedfea5 +EBUILD perl-5.30.1.ebuild 20271 BLAKE2B 1b412c3ab85bd682e054d80fb09de739b686cef20c8ba64471da2d884326e4d7e82de3eb9333873370b6cc815d11d68209506fb4cb913f9e468e4bfe8190b92f SHA512 6cf2c92b23c4d45becea1a9a68123ee0f087bd8cafc06d0602074f5d8bbd1f6a0259bc8859b8e8d2b6c443d633de01aecc428d3599dd7637b8667ff71c9ef724 +EBUILD perl-5.30.2.ebuild 20226 BLAKE2B 06fe835beba602f173b0077b6993f886d25ecf6e7d6e3e2587a4a2b89d451cc51d105a4c124c23084c8b635e366396f11e0b64643b992bf4710fb138b4dde273 SHA512 7b17273a2691a45d03133d44c651092fe5ba8e644762dc162d3c2325e4296e72a9be3e35640e8d07f23edf0f1a996d6788afaccfac24edfeb3d410ed275fc7c9 MISC metadata.xml 430 BLAKE2B 8625fd07f63a7943a85c3919d6ae6db622b752caa2803c56c72a22b270244261331fbab8b760e6d00acb8480770c9ef1d1beaaa22cc6044660821687c0cd8c33 SHA512 ca4c43e2016b7df707894713465700a90d2b8551b57fc4d660cff75edb1e8cc2456f9ae10431839ad6738f290d4f5911fae360eaa1d4670859d855de3d568583 diff --git a/dev-lang/perl/perl-5.30.1.ebuild b/dev-lang/perl/perl-5.30.1.ebuild index db30557ad787..cdd7bc5e790b 100644 --- a/dev-lang/perl/perl-5.30.1.ebuild +++ b/dev-lang/perl/perl-5.30.1.ebuild @@ -51,7 +51,7 @@ LICENSE="|| ( Artistic GPL-1+ )" SLOT="0/${SUBSLOT}" if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~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" diff --git a/dev-lang/perl/perl-5.30.2.ebuild b/dev-lang/perl/perl-5.30.2.ebuild index a5e31a8753c8..197507f1294c 100644 --- a/dev-lang/perl/perl-5.30.2.ebuild +++ b/dev-lang/perl/perl-5.30.2.ebuild @@ -6,7 +6,7 @@ EAPI=6 inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing PATCH_VER=1 -CROSS_VER=1.3.1 +CROSS_VER=1.3.2 PATCH_BASE="perl-5.30.0-patches-${PATCH_VER}" PATCH_DEV=dilfridge diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index eb4df58d770a..19bd003fcb0f 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -5,9 +5,15 @@ AUX php-fpm_at.service 317 BLAKE2B f13fc38fcc0575a8517ee8d07b120efda37eabd235506 AUX php-freetype-2.9.1.patch 7667 BLAKE2B efc8f829bbad11b3e7b654d0882213ecb9aae766060d51f93446a6293a2f607339faba484c7b0b2f9318a5c5442da3c09e25aeda20dbc5e3258bf1009f8625b4 SHA512 0a06189f6fb3513cd2dcf9ddb590360475e2dd9a7aa8b13ab66c389c1ed40ce2361681f017cd3c6219f5b40a0a9d4978e57ca3ee4bacb7657db3285136fd2875 AUX php-iodbc-header-location.patch 481 BLAKE2B 9ea6a5d529dc7a8c78eeee800900372bc14309a05e352b2838da32e1384b61b507fdb623c9400094aa5b637eb1a87da92c72600eff79b18b8989ef90af56a0fa SHA512 86469f657d8807f005c28fd2149770c881add8f243fdfea087956c7987277597fe400a7af23f624f26da270356604717ed9cd04771154d7cf2ffe7237972372b DIST php-7.2.29.tar.xz 12308380 BLAKE2B dfb2f6081b6e0e87166037914eef21e3a386b2b7d7c1103588b0edaf37058e4fa711a4b277cf45ac9850c9063bcdcb0727a85cfe503764a55dbfc41414a1292e SHA512 16e516b5aa22e18b31f1a988149035c4a405dffd9ebe78dfddc39b8d3b2e096dbbf5162f402dc4a0eb7a4a3376b11073b8c5ade13ff08e1e4ea828ee78756c20 +DIST php-7.2.30.tar.xz 12283804 BLAKE2B f5d5c9bc56e3c3f32ebc0d830b826d98cd06992573c9cffa2c9bff35c161273079d0d08c1b289129cd8bd5d1f1da106bfee2d0e1c40c3d64b0e12b2452d3512a SHA512 92e79cdd0e8b925012235375ebece19038b42f3751e9623beda5807e3a07484d0faaabb58227c67abb515c188c09c215c9b00cc8dadffc90f0dd09f8f5dd126f DIST php-7.3.16.tar.xz 12113688 BLAKE2B 84e26b1906a1385a6db2d78c6a776bff3c3049b1933f55db0a36147a8447708f447fd1a6787736a4300715e79409bf4c99ce2aa2db042671934a01d9e5602f47 SHA512 4e3cfffc429bcbfbabc1267e73d9a0e46f363c3dd1674931852d1ae7f2b1713f1d5a04ef1900c7240bf6db088ffa7d3af024461a21733d55ecf1a213b69c81c3 +DIST php-7.3.17.tar.xz 12116072 BLAKE2B 5f8a0b1a3de9b7e750d249593be0a3eb9e62040691ebe4549da74d8c321dcd88e970d92285f49a924ef0f38118779d540a94810c08ece2df7dbd8584a8f83c56 SHA512 ac99a645a7442c322b8334cb4d091474bb0486b5efe11f8ffc16e4a2c0ecf8dbb5d958206372617350ec70b579dd4756f4d166c2863f3892db480e9bfbd14837 DIST php-7.4.4.tar.xz 10267308 BLAKE2B 6802d4c0649b72a697d8a2c271010394a537e5be903cd3162d67696efd924ed1402244cd6881a535039ed15ca7d380e0860ef38dcfab5866fa58e178b99ee481 SHA512 61cceb16f56740840aa22a93254629302a167f7c3c748c3713b7b60e8b592731e64d9cf75b5f8ee2b6aa5156b6c46434ffab27b12daf576b72946fd1a3c9aaab +DIST php-7.4.5.tar.xz 10271296 BLAKE2B 396044265c810732fe7012375602faeb3477b8405d2264a17b29ac0783c0734c2fc1070b1532ea75a716a62c0dfcb01b861a22ebc6fb2e13efef20c40b62530d SHA512 c40070a91d5cab44df9b33d7259dcfb9824efb305a659d075b68695b3c5cebb915f43ce3edc45c9ee8b17a5c558e154842a1a63ac594438ce7adce48c58430fe EBUILD php-7.2.29.ebuild 22602 BLAKE2B 8ab0172db7ae2ee926440ace9c4a4424dd3fa3bf87624ee7d7761a679b01d8b4eafed1b2b84ab5f649c8cce47d4686417257ad90135c05249e5d445c236f5ee9 SHA512 0bbcd9bb943212f56a205ad2a804455067bc98971b0094d998b37f0f4f35e53ab5f3641f6dd366a40e4bdeafdabfac953b98203e8cdd0989a9e0e075b3b1b99e +EBUILD php-7.2.30.ebuild 22602 BLAKE2B 8ab0172db7ae2ee926440ace9c4a4424dd3fa3bf87624ee7d7761a679b01d8b4eafed1b2b84ab5f649c8cce47d4686417257ad90135c05249e5d445c236f5ee9 SHA512 0bbcd9bb943212f56a205ad2a804455067bc98971b0094d998b37f0f4f35e53ab5f3641f6dd366a40e4bdeafdabfac953b98203e8cdd0989a9e0e075b3b1b99e EBUILD php-7.3.16.ebuild 22614 BLAKE2B 16359fe1ad955aab8f5cda62bbc7bf7f9abd4005052cfad897a0c94d525176c8f6a39b97e9454f254cf09e4ac4c24bbab6cb476089957d168e280c1429113e74 SHA512 f5e50aae8785d9fa4d22fa4538d1d00ab50dfff8df3a7a236e668bdb161f2061c7116b7605935fdc176dffbf05b6bc02796c50e203b5ab5af310d4ae5ebed34d +EBUILD php-7.3.17.ebuild 22614 BLAKE2B 16359fe1ad955aab8f5cda62bbc7bf7f9abd4005052cfad897a0c94d525176c8f6a39b97e9454f254cf09e4ac4c24bbab6cb476089957d168e280c1429113e74 SHA512 f5e50aae8785d9fa4d22fa4538d1d00ab50dfff8df3a7a236e668bdb161f2061c7116b7605935fdc176dffbf05b6bc02796c50e203b5ab5af310d4ae5ebed34d EBUILD php-7.4.4.ebuild 21325 BLAKE2B c08260ef1caa815db6ed08a139d335b8f71cbeca9aa01cb16b3d94ff5de29c6f3d3a351c35170ed885d5e590518d1810e88ec77016271d181a8b2e6cb9e56dda SHA512 ab032a908942ed61c5ea5a1e96338790364b2516e93ab999c703b3b49b023acd790214c41dcb3476712a19f0f1abf5f3170383bc5803ff670394af9caa620474 +EBUILD php-7.4.5.ebuild 21325 BLAKE2B c08260ef1caa815db6ed08a139d335b8f71cbeca9aa01cb16b3d94ff5de29c6f3d3a351c35170ed885d5e590518d1810e88ec77016271d181a8b2e6cb9e56dda SHA512 ab032a908942ed61c5ea5a1e96338790364b2516e93ab999c703b3b49b023acd790214c41dcb3476712a19f0f1abf5f3170383bc5803ff670394af9caa620474 MISC metadata.xml 3216 BLAKE2B 6118c94f2ac3a2f283eb035cbbacb12343476b4ce22594a00cb7ebf063abb106a0ed5557d311127b8c1e2a53263103ded790cd12d20c6b410ab6f7d218d95ed8 SHA512 ffb0b46b30b1add0fc166e3afe1317e70041a0fe849d4c05ceee011c1b5e130fbde3b86eaf876a4c8a2d23fbd7824f95299642b4f60e129436befb00f4b124cc diff --git a/dev-lang/php/php-7.2.30.ebuild b/dev-lang/php/php-7.2.30.ebuild new file mode 100644 index 000000000000..51d7692ef88e --- /dev/null +++ b/dev-lang/php/php-7.2.30.ebuild @@ -0,0 +1,755 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit flag-o-matic systemd autotools + +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://www.php.net/" +SRC_URI="https://www.php.net/distributions/${P}.tar.xz" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2 phpdbg" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk + coverage +ctype curl debug + enchant exif +fileinfo +filter firebird + +flatfile ftp gd gdbm gmp +hash +iconv imap inifile + intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb + mhash mssql mysql mysqli nls + oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm + readline recode selinux +session session-mm sharedmem + +simplexml snmp soap sockets sodium spell sqlite ssl + sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp + +xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib" + +# The supported (that is, autodetected) versions of BDB are listed in +# the ./configure script. Other versions *work*, but we need to stick to +# the ones that can be detected to avoid a repeat of bug #564824. +COMMON_DEPEND=" + >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] + >=dev-libs/libpcre-8.32[unicode] + fpm? ( acl? ( sys-apps/acl ) ) + apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) + argon2? ( app-crypt/argon2:= ) + berkdb? ( || ( sys-libs/db:5.3 + sys-libs/db:5.1 + sys-libs/db:4.8 + sys-libs/db:4.7 + sys-libs/db:4.6 + sys-libs/db:4.5 ) ) + bzip2? ( app-arch/bzip2:0= ) + cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) + coverage? ( dev-util/lcov ) + curl? ( >=net-misc/curl-7.10.5 ) + enchant? ( <app-text/enchant-2.0:0 ) + firebird? ( dev-db/firebird ) + gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= sys-libs/zlib ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] ) + intl? ( dev-libs/icu:= ) + iodbc? ( dev-db/libiodbc ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-1.2.11 ) + ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) + libedit? ( dev-libs/libedit ) + lmdb? ( dev-db/lmdb:= ) + mssql? ( dev-db/freetds[mssql] ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient-basic ) + odbc? ( >=dev-db/unixODBC-1.8.13 ) + postgres? ( dev-db/postgresql:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + recode? ( app-text/recode ) + session-mm? ( dev-libs/mm ) + simplexml? ( >=dev-libs/libxml2-2.6.8 ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + soap? ( >=dev-libs/libxml2-2.6.8 ) + sodium? ( dev-libs/libsodium:= ) + spell? ( >=app-text/aspell-0.50 ) + sqlite? ( >=dev-db/sqlite-3.7.6.3 ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) ) + tokyocabinet? ( dev-db/tokyocabinet ) + truetype? ( =media-libs/freetype-2* ) + unicode? ( dev-libs/oniguruma:= ) + wddx? ( >=dev-libs/libxml2-2.6.8 ) + webp? ( media-libs/libwebp:0= ) + xml? ( >=dev-libs/libxml2-2.6.8 ) + xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) + xmlreader? ( >=dev-libs/libxml2-2.6.8 ) + xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) + xpm? ( x11-libs/libXpm ) + xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) + zip? ( sys-libs/zlib:0= ) + zip-encryption? ( >=dev-libs/libzip-1.2.0:= ) + zlib? ( sys-libs/zlib:0= ) +" + +RDEPEND="${COMMON_DEPEND} + virtual/mta + fpm? ( + selinux? ( sec-policy/selinux-phpfpm ) + systemd? ( sys-apps/systemd ) )" + +# Bison isn't actually needed when building from a release tarball +# However, the configure script will warn if it's absent or if you +# have an incompatible version installed. See bug 593278. +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + >=sys-devel/bison-3.0.1" + +BDEPEND="virtual/pkgconfig" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed phpdbg ) + cli? ( ^^ ( readline libedit ) ) + truetype? ( gd zlib ) + webp? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + wddx? ( xml ) + xmlrpc? ( || ( xml iconv ) ) + xmlreader? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + mhash? ( hash ) + phar? ( hash ) + qdbm? ( !gdbm ) + readline? ( !libedit ) + recode? ( !imap !mysqli !mysql ) + session-mm? ( session !threads ) + mysql? ( hash || ( mysqli pdo ) ) + mysqli? ( hash ) + zip-encryption? ( zip ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/php-freetype-2.9.1.patch" + "${FILESDIR}/php-7.2.13-intl-use-icu-namespace.patch" +) + +PHP_MV="$(ver_cut 1)" + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + insinto "${PHP_INI_DIR#${EPREFIX}}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" + elog + + dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "../ext/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config files php-fpm.conf and www.conf" + insinto "${PHP_INI_DIR#${EPREFIX}}" + doins sapi/fpm/php-fpm.conf + insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" + doins sapi/fpm/www.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + default + + # In php-7.x, the FPM pool configuration files have been split off + # of the main config. By default the pool config files go in + # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the + # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later + # we'll install the pool configuration file "www.conf" there. + php_set_ini_dir fpm + sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ + sapi/fpm/php-fpm.conf.in \ + || die 'failed to move the include directory in php-fpm.conf' + + # Bug 669566 - necessary so that build tools are updated for commands like pecl + # Force rebuilding aclocal.m4 + rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare" + eautoreconf +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + $(use_enable threads maintainer-zts) + ) + + our_conf+=( + $(use_with argon2 password-argon2 "${EPREFIX}/usr") + $(use_enable bcmath bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar calendar) + $(use_enable coverage gcov) + $(use_enable ctype ctype) + $(use_with curl curl "${EPREFIX}/usr") + $(use_enable xml dom) + $(use_with enchant enchant "${EPREFIX}/usr") + $(use_enable exif exif) + $(use_enable fileinfo fileinfo) + $(use_enable filter filter) + $(use_enable ftp ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_enable hash hash) + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl intl) + $(use_enable ipv6 ipv6) + $(use_enable json json) + $(use_with kerberos kerberos "${EPREFIX}/usr") + $(use_enable xml libxml) + $(use_with xml libxml-dir "${EPREFIX}/usr") + $(use_enable unicode mbstring) + $(use_with unicode onig "${EPREFIX}/usr") + $(use_with ssl openssl "${EPREFIX}/usr") + $(use_with ssl openssl-dir "${EPREFIX}/usr") + $(use_enable pcntl pcntl) + $(use_enable phar phar) + $(use_enable pdo pdo) + $(use_enable opcache opcache) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix posix) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_with recode recode "${EPREFIX}/usr") + $(use_enable simplexml simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap soap) + $(use_enable sockets sockets) + $(use_with sodium sodium "${EPREFIX}/usr") + $(use_with sqlite sqlite3 "${EPREFIX}/usr") + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer tokenizer) + $(use_enable wddx wddx) + $(use_enable xml xml) + $(use_enable xmlreader xmlreader) + $(use_enable xmlwriter xmlwriter) + $(use_with xmlrpc xmlrpc) + $(use_with xslt xsl "${EPREFIX}/usr") + $(use_enable zip zip) + $(use_with zip-encryption libzip "${EPREFIX}/usr") + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug debug) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm || use lmdb || use tokyocabinet ; then + our_conf+=( "--enable-dba${shared}" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + $(use_with lmdb lmdb "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype-dir "${EPREFIX}/usr") + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg-dir "${EPREFIX}/usr") + $(use_with gd png-dir "${EPREFIX}/usr") + $(use_with xpm xpm-dir "${EPREFIX}/usr") + ) + if use webp; then + our_conf+=( --with-webp-dir="${EPREFIX}/usr" ) + fi + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_with gd gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # Interbase/firebird support + our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") + ) + fi + + # MySQL support + local mysqllib="mysqlnd" + local mysqlilib="mysqlnd" + + our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + our_conf+=( + $(use_with odbc unixODBC "${EPREFIX}/usr") + $(use_with iodbc iodbc "${EPREFIX}/usr") + ) + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib "${EPREFIX}/usr") + $(use_with mysql pdo-mysql "${mysqllib}") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit libedit "${EPREFIX}/usr") + ) + + # Session support + if use session ; then + our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-pcre-regex affects ext/pcre + # --with-pcre-dir affects ext/filter and ext/zip + # --with-pcre-valgrind cannot be enabled with system pcre + # Many arches don't support pcre-jit + our_conf+=( + --with-pcre-regex="${EPREFIX}/usr" + --with-pcre-dir="${EPREFIX}/usr" + --without-pcre-valgrind + --without-pcre-jit + ) + + # Catch CFLAGS problems + # Fixes bug #14067. + # Changed order to run it in reverse for bug #32022 and #12021. + replace-cpu-flags "k6*" "i586" + + # Cache the ./configure test results between SAPIs. + our_conf+=( --cache-file="${T}/config.cache" ) + + # Support user-passed configuration parameters + our_conf+=( ${EXTRA_ECONF:-} ) + + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + + mkdir -p "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + cd "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm|phpdbg) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + for sapi in ${SAPIS} ; do + if use "${sapi}"; then + cd "${WORKDIR}/sapis-build/$sapi" || \ + die "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake + fi + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#${EPREFIX}}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local sapi="", file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" + newins ".libs/libphp${PHP_MV}$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#${EPREFIX}}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + # Install the "phar" archive utility. + if use phar ; then + emake INSTALL_ROOT="${D}" install-pharcmd + dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" + fi + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp${PHP_MV}$(get_libname)" + ;; + phpdbg) + source="sapi/phpdbg/phpdbg" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#${EPREFIX}}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + echo ">>> Test phase [test]: ${CATEGORY}/${PF}" + PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" + if [[ ! -x "${PHP_BIN}" ]] ; then + ewarn "Test phase requires USE=cli, skipping" + return + else + export TEST_PHP_EXECUTABLE="${PHP_BIN}" + fi + + if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" + fi + + if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then + export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" + fi + + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ + "session.save_path=${T}" + + for name in ${EXPECTED_TEST_FAILURES}; do + mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + done + + local failed="$(find -name '*.out')" + if [[ ${failed} != "" ]] ; then + ewarn "The following test cases failed unexpectedly:" + for name in ${failed}; do + ewarn " ${name/.out/}" + done + else + einfo "No unexpected test failures, all fine" + fi + + if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then + local passed="" + for name in ${EXPECTED_TEST_FAILURES}; do + [[ -f "${name}.diff" ]] && continue + passed="${passed} ${name}" + done + if [[ ${passed} != "" ]] ; then + einfo "The following test cases passed unexpectedly:" + for name in ${passed}; do + ewarn " ${passed}" + done + else + einfo "None of the known-to-fail tests passed, all fine" + fi + fi +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/php/php-7.3.17.ebuild b/dev-lang/php/php-7.3.17.ebuild new file mode 100644 index 000000000000..87f5048b172d --- /dev/null +++ b/dev-lang/php/php-7.3.17.ebuild @@ -0,0 +1,756 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit flag-o-matic systemd autotools + +MY_PV=${PV/_rc/RC} +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://www.php.net/" +SRC_URI="https://www.php.net/distributions/${P}.tar.xz" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + +S="${WORKDIR}/${PN}-${MY_PV}" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2 phpdbg" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk + coverage +ctype curl debug + enchant exif +fileinfo +filter firebird + +flatfile ftp gd gdbm gmp +hash +iconv imap inifile + intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb + mhash mssql mysql mysqli nls + oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm + readline recode selinux +session session-mm sharedmem + +simplexml snmp soap sockets sodium spell sqlite ssl + sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp + +xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib" + +# The supported (that is, autodetected) versions of BDB are listed in +# the ./configure script. Other versions *work*, but we need to stick to +# the ones that can be detected to avoid a repeat of bug #564824. +COMMON_DEPEND=" + >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] + >=dev-libs/libpcre2-10.30[unicode] + fpm? ( acl? ( sys-apps/acl ) ) + apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) + argon2? ( app-crypt/argon2:= ) + berkdb? ( || ( sys-libs/db:5.3 + sys-libs/db:5.1 + sys-libs/db:4.8 + sys-libs/db:4.7 + sys-libs/db:4.6 + sys-libs/db:4.5 ) ) + bzip2? ( app-arch/bzip2:0= ) + cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) + coverage? ( dev-util/lcov ) + curl? ( >=net-misc/curl-7.10.5 ) + enchant? ( <app-text/enchant-2.0:0 ) + firebird? ( dev-db/firebird ) + gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] ) + intl? ( dev-libs/icu:= ) + iodbc? ( dev-db/libiodbc ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-1.2.11 ) + ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 ) + libedit? ( dev-libs/libedit ) + lmdb? ( dev-db/lmdb:= ) + mssql? ( dev-db/freetds[mssql] ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient-basic ) + odbc? ( >=dev-db/unixODBC-1.8.13 ) + postgres? ( dev-db/postgresql:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + recode? ( app-text/recode ) + session-mm? ( dev-libs/mm ) + simplexml? ( >=dev-libs/libxml2-2.6.8 ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + soap? ( >=dev-libs/libxml2-2.6.8 ) + sodium? ( dev-libs/libsodium:= ) + spell? ( >=app-text/aspell-0.50 ) + sqlite? ( >=dev-db/sqlite-3.7.6.3 ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) ) + tokyocabinet? ( dev-db/tokyocabinet ) + truetype? ( =media-libs/freetype-2* ) + unicode? ( dev-libs/oniguruma:= ) + wddx? ( >=dev-libs/libxml2-2.6.8 ) + webp? ( media-libs/libwebp:0= ) + xml? ( >=dev-libs/libxml2-2.6.8 ) + xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv ) + xmlreader? ( >=dev-libs/libxml2-2.6.8 ) + xmlwriter? ( >=dev-libs/libxml2-2.6.8 ) + xpm? ( x11-libs/libXpm ) + xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 ) + zip? ( >=sys-libs/zlib-1.2.0.4:0= ) + zip-encryption? ( >=dev-libs/libzip-1.2.0:= ) + zlib? ( >=sys-libs/zlib-1.2.0.4:0= ) +" + +RDEPEND="${COMMON_DEPEND} + virtual/mta + fpm? ( + selinux? ( sec-policy/selinux-phpfpm ) + systemd? ( sys-apps/systemd ) )" + +# Bison isn't actually needed when building from a release tarball +# However, the configure script will warn if it's absent or if you +# have an incompatible version installed. See bug 593278. +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + >=sys-devel/bison-3.0.1" + +BDEPEND="virtual/pkgconfig" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed phpdbg ) + cli? ( ^^ ( readline libedit ) ) + truetype? ( gd zlib ) + webp? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + wddx? ( xml ) + xmlrpc? ( || ( xml iconv ) ) + xmlreader? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + mhash? ( hash ) + phar? ( hash ) + qdbm? ( !gdbm ) + readline? ( !libedit ) + recode? ( !imap !mysqli !mysql ) + session-mm? ( session !threads ) + mysql? ( || ( mysqli pdo ) ) + zip-encryption? ( zip ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/php-freetype-2.9.1.patch" +) + +PHP_MV="$(ver_cut 1)" + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + insinto "${PHP_INI_DIR#${EPREFIX}}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" + elog + + dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "../ext/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config files php-fpm.conf and www.conf" + insinto "${PHP_INI_DIR#${EPREFIX}}" + doins sapi/fpm/php-fpm.conf + insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" + doins sapi/fpm/www.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + default + + # In php-7.x, the FPM pool configuration files have been split off + # of the main config. By default the pool config files go in + # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the + # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later + # we'll install the pool configuration file "www.conf" there. + php_set_ini_dir fpm + sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ + sapi/fpm/php-fpm.conf.in \ + || die 'failed to move the include directory in php-fpm.conf' + + # Bug 669566 - necessary so that build tools are updated for commands like pecl + # Force rebuilding aclocal.m4 + rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare" + eautoreconf +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + $(use_enable threads maintainer-zts) + ) + + our_conf+=( + $(use_with argon2 password-argon2 "${EPREFIX}/usr") + $(use_enable bcmath bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar calendar) + $(use_enable coverage gcov) + $(use_enable ctype ctype) + $(use_with curl curl "${EPREFIX}/usr") + $(use_enable xml dom) + $(use_with enchant enchant "${EPREFIX}/usr") + $(use_enable exif exif) + $(use_enable fileinfo fileinfo) + $(use_enable filter filter) + $(use_enable ftp ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_enable hash hash) + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl intl) + $(use_enable ipv6 ipv6) + $(use_enable json json) + $(use_with kerberos kerberos "${EPREFIX}/usr") + $(use_enable xml libxml) + $(use_with xml libxml-dir "${EPREFIX}/usr") + $(use_enable unicode mbstring) + $(use_with unicode onig "${EPREFIX}/usr") + $(use_with ssl openssl "${EPREFIX}/usr") + $(use_with ssl openssl-dir "${EPREFIX}/usr") + $(use_enable pcntl pcntl) + $(use_enable phar phar) + $(use_enable pdo pdo) + $(use_enable opcache opcache) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix posix) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_with recode recode "${EPREFIX}/usr") + $(use_enable simplexml simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap soap) + $(use_enable sockets sockets) + $(use_with sodium sodium "${EPREFIX}/usr") + $(use_with sqlite sqlite3 "${EPREFIX}/usr") + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer tokenizer) + $(use_enable wddx wddx) + $(use_enable xml xml) + $(use_enable xmlreader xmlreader) + $(use_enable xmlwriter xmlwriter) + $(use_with xmlrpc xmlrpc) + $(use_with xslt xsl "${EPREFIX}/usr") + $(use_enable zip zip) + $(use_with zip-encryption libzip "${EPREFIX}/usr") + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug debug) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm || use lmdb || use tokyocabinet ; then + our_conf+=( "--enable-dba${shared}" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + $(use_with lmdb lmdb "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype-dir "${EPREFIX}/usr") + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg-dir "${EPREFIX}/usr") + $(use_with gd png-dir "${EPREFIX}/usr") + $(use_with xpm xpm-dir "${EPREFIX}/usr") + ) + if use webp; then + our_conf+=( --with-webp-dir="${EPREFIX}/usr" ) + fi + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_with gd gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # Interbase/firebird support + our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") ) + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr") + ) + fi + + # MySQL support + local mysqllib="mysqlnd" + local mysqlilib="mysqlnd" + + our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + our_conf+=( + $(use_with odbc unixODBC "${EPREFIX}/usr") + $(use_with iodbc iodbc "${EPREFIX}/usr") + ) + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib "${EPREFIX}/usr") + $(use_with mysql pdo-mysql "${mysqllib}") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite "${EPREFIX}/usr") + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit libedit "${EPREFIX}/usr") + ) + + # Session support + if use session ; then + our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-pcre-regex affects ext/pcre + # --with-pcre-dir affects ext/filter and ext/zip + # --with-pcre-valgrind cannot be enabled with system pcre + # Many arches don't support pcre-jit + our_conf+=( + --with-pcre-regex="${EPREFIX}/usr" + --with-pcre-dir="${EPREFIX}/usr" + --without-pcre-valgrind + --without-pcre-jit + ) + + # Catch CFLAGS problems + # Fixes bug #14067. + # Changed order to run it in reverse for bug #32022 and #12021. + replace-cpu-flags "k6*" "i586" + + # Cache the ./configure test results between SAPIs. + our_conf+=( --cache-file="${T}/config.cache" ) + + # Support user-passed configuration parameters + our_conf+=( ${EXTRA_ECONF:-} ) + + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + + mkdir -p "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + cd "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm|phpdbg) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + for sapi in ${SAPIS} ; do + if use "${sapi}"; then + cd "${WORKDIR}/sapis-build/$sapi" || \ + die "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake + fi + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#${EPREFIX}}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local sapi="", file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" + newins ".libs/libphp${PHP_MV}$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#${EPREFIX}}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + # Install the "phar" archive utility. + if use phar ; then + emake INSTALL_ROOT="${D}" install-pharcmd + dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" + fi + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp${PHP_MV}$(get_libname)" + ;; + phpdbg) + source="sapi/phpdbg/phpdbg" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#${EPREFIX}}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + echo ">>> Test phase [test]: ${CATEGORY}/${PF}" + PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" + if [[ ! -x "${PHP_BIN}" ]] ; then + ewarn "Test phase requires USE=cli, skipping" + return + else + export TEST_PHP_EXECUTABLE="${PHP_BIN}" + fi + + if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" + fi + + if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then + export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" + fi + + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ + "session.save_path=${T}" + + for name in ${EXPECTED_TEST_FAILURES}; do + mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + done + + local failed="$(find -name '*.out')" + if [[ ${failed} != "" ]] ; then + ewarn "The following test cases failed unexpectedly:" + for name in ${failed}; do + ewarn " ${name/.out/}" + done + else + einfo "No unexpected test failures, all fine" + fi + + if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then + local passed="" + for name in ${EXPECTED_TEST_FAILURES}; do + [[ -f "${name}.diff" ]] && continue + passed="${passed} ${name}" + done + if [[ ${passed} != "" ]] ; then + einfo "The following test cases passed unexpectedly:" + for name in ${passed}; do + ewarn " ${passed}" + done + else + einfo "None of the known-to-fail tests passed, all fine" + fi + fi +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/php/php-7.4.5.ebuild b/dev-lang/php/php-7.4.5.ebuild new file mode 100644 index 000000000000..69a5ee62f926 --- /dev/null +++ b/dev-lang/php/php-7.4.5.ebuild @@ -0,0 +1,746 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +WANT_AUTOMAKE="none" + +inherit flag-o-matic systemd autotools + +MY_PV=${PV/_rc/RC} +DESCRIPTION="The PHP language runtime engine" +HOMEPAGE="https://www.php.net/" +SRC_URI="https://www.php.net/distributions/${P}.tar.xz" + +LICENSE="PHP-3.01 + BSD + Zend-2.0 + bcmath? ( LGPL-2.1+ ) + fpm? ( BSD-2 ) + gd? ( gd ) + unicode? ( BSD-2 LGPL-2.1 )" + +SLOT="$(ver_cut 1-2)" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + +S="${WORKDIR}/${PN}-${MY_PV}" + +# We can build the following SAPIs in the given order +SAPIS="embed cli cgi fpm apache2 phpdbg" + +# SAPIs and SAPI-specific USE flags (cli SAPI is default on): +IUSE="${IUSE} + ${SAPIS/cli/+cli} + threads" + +IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk + coverage +ctype curl debug + enchant exif ffi +fileinfo +filter firebird + +flatfile ftp gd gdbm gmp +iconv imap inifile + intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb + mhash mssql mysql mysqli nls + oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm + readline selinux +session session-mm sharedmem + +simplexml snmp soap sockets sodium spell sqlite ssl + sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp + +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" + +# Without USE=readline or libedit, the interactive "php -a" CLI will hang. +REQUIRED_USE=" + || ( cli cgi fpm apache2 embed phpdbg ) + cli? ( ^^ ( readline libedit ) ) + !cli? ( ?? ( readline libedit ) ) + truetype? ( gd zlib ) + webp? ( gd zlib ) + cjk? ( gd zlib ) + exif? ( gd zlib ) + xpm? ( gd zlib ) + gd? ( zlib ) + simplexml? ( xml ) + soap? ( xml ) + xmlrpc? ( xml iconv ) + xmlreader? ( xml ) + xmlwriter? ( xml ) + xslt? ( xml ) + ldap-sasl? ( ldap ) + qdbm? ( !gdbm ) + session-mm? ( session !threads ) + mysql? ( || ( mysqli pdo ) ) + firebird? ( pdo ) + mssql? ( pdo ) +" + +RESTRICT="!test? ( test )" + +# The supported (that is, autodetected) versions of BDB are listed in +# the ./configure script. Other versions *work*, but we need to stick to +# the ones that can be detected to avoid a repeat of bug #564824. +COMMON_DEPEND=" + >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] + >=dev-libs/libpcre2-10.30[unicode] + fpm? ( acl? ( sys-apps/acl ) ) + apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) + argon2? ( app-crypt/argon2:= ) + berkdb? ( || ( sys-libs/db:5.3 + sys-libs/db:5.1 + sys-libs/db:4.8 + sys-libs/db:4.7 + sys-libs/db:4.6 + sys-libs/db:4.5 ) ) + bzip2? ( app-arch/bzip2:0= ) + cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) + coverage? ( dev-util/lcov ) + curl? ( >=net-misc/curl-7.10.5 ) + enchant? ( <app-text/enchant-2.0:0 ) + ffi? ( >=dev-libs/libffi-3.0.11 ) + firebird? ( dev-db/firebird ) + gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] ) + intl? ( dev-libs/icu:= ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-1.2.11 ) + ldap-sasl? ( dev-libs/cyrus-sasl ) + libedit? ( dev-libs/libedit ) + lmdb? ( dev-db/lmdb:= ) + mssql? ( dev-db/freetds[mssql] ) + nls? ( sys-devel/gettext ) + oci8-instant-client? ( dev-db/oracle-instantclient-basic ) + odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) ) + postgres? ( dev-db/postgresql:* ) + qdbm? ( dev-db/qdbm ) + readline? ( sys-libs/readline:0= ) + session-mm? ( dev-libs/mm ) + snmp? ( >=net-analyzer/net-snmp-5.2 ) + sodium? ( dev-libs/libsodium:= ) + spell? ( >=app-text/aspell-0.50 ) + sqlite? ( >=dev-db/sqlite-3.7.6.3 ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) ) + tokyocabinet? ( dev-db/tokyocabinet ) + truetype? ( =media-libs/freetype-2* ) + unicode? ( dev-libs/oniguruma:= ) + webp? ( media-libs/libwebp:0= ) + xml? ( >=dev-libs/libxml2-2.7.6 ) + xpm? ( x11-libs/libXpm ) + xslt? ( dev-libs/libxslt ) + zip? ( >=dev-libs/libzip-1.2.0:= ) + zlib? ( >=sys-libs/zlib-1.2.0.4:0= ) +" + +RDEPEND="${COMMON_DEPEND} + virtual/mta + fpm? ( + selinux? ( sec-policy/selinux-phpfpm ) + systemd? ( sys-apps/systemd ) )" + +# Bison isn't actually needed when building from a release tarball +# However, the configure script will warn if it's absent or if you +# have an incompatible version installed. See bug 593278. +DEPEND="${COMMON_DEPEND} + app-arch/xz-utils + >=sys-devel/bison-3.0.1" + +BDEPEND="virtual/pkgconfig" + +PHP_MV="$(ver_cut 1)" + +PATCHES=( "${FILESDIR}/php-iodbc-header-location.patch" ) + +php_install_ini() { + local phpsapi="${1}" + + # work out where we are installing the ini file + php_set_ini_dir "${phpsapi}" + + # Always install the production INI file, bug 611214. + local phpinisrc="php.ini-production-${phpsapi}" + cp php.ini-production "${phpinisrc}" || die + + # default to /tmp for save_path, bug #282768 + sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die + + # Set the extension dir + sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ + -i "${phpinisrc}" || die + + # Set the include path to point to where we want to find PEAR packages + sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die + + insinto "${PHP_INI_DIR#${EPREFIX}}" + newins "${phpinisrc}" php.ini + + elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" + elog + + dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" + dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" + + if use opcache; then + elog "Adding opcache to $PHP_EXT_INI_DIR" + echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ + "${D}/${PHP_EXT_INI_DIR}"/opcache.ini + dosym "../ext/opcache.ini" \ + "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" + fi + + # SAPI-specific handling + if [[ "${sapi}" == "fpm" ]] ; then + einfo "Installing FPM config files php-fpm.conf and www.conf" + insinto "${PHP_INI_DIR#${EPREFIX}}" + doins sapi/fpm/php-fpm.conf + insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" + doins sapi/fpm/www.conf + fi + + dodoc php.ini-{development,production} +} + +php_set_ini_dir() { + PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" + PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" + PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" +} + +src_prepare() { + default + + # In php-7.x, the FPM pool configuration files have been split off + # of the main config. By default the pool config files go in + # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the + # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later + # we'll install the pool configuration file "www.conf" there. + php_set_ini_dir fpm + sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ + sapi/fpm/php-fpm.conf.in \ + || die 'failed to move the include directory in php-fpm.conf' + + # Emulate buildconf to support cross-compilation + rm -fr aclocal.m4 autom4te.cache config.cache \ + configure main/php_config.h.in || die + eautoconf --force + eautoheader +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # The php-fpm config file wants localstatedir to be ${EPREFIX}/var + # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. + local our_conf=( + --prefix="${PHP_DESTDIR}" + --mandir="${PHP_DESTDIR}/man" + --infodir="${PHP_DESTDIR}/info" + --libdir="${PHP_DESTDIR}/lib" + --with-libdir="$(get_libdir)" + --localstatedir="${EPREFIX}/var" + --without-pear + $(use_enable threads maintainer-zts) + ) + + our_conf+=( + $(use_with argon2 password-argon2 "${EPREFIX}/usr") + $(use_enable bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar) + $(use_enable coverage gcov) + $(use_enable ctype) + $(use_with curl) + $(use_enable xml dom) + $(use_with enchant) + $(use_enable exif) + $(use_with ffi) + $(use_enable fileinfo) + $(use_enable filter) + $(use_enable ftp) + $(use_with nls gettext "${EPREFIX}/usr") + $(use_with gmp gmp "${EPREFIX}/usr") + $(use_with mhash mhash "${EPREFIX}/usr") + $(use_with iconv iconv \ + $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr")) + $(use_enable intl) + $(use_enable ipv6) + $(use_enable json) + $(use_with kerberos) + $(use_with xml libxml) + $(use_enable unicode mbstring) + $(use_with ssl openssl) + $(use_enable pcntl) + $(use_enable phar) + $(use_enable pdo) + $(use_enable opcache) + $(use_with postgres pgsql "${EPREFIX}/usr") + $(use_enable posix) + $(use_with spell pspell "${EPREFIX}/usr") + $(use_enable simplexml) + $(use_enable sharedmem shmop) + $(use_with snmp snmp "${EPREFIX}/usr") + $(use_enable soap) + $(use_enable sockets) + $(use_with sodium) + $(use_with sqlite sqlite3) + $(use_enable sysvipc sysvmsg) + $(use_enable sysvipc sysvsem) + $(use_enable sysvipc sysvshm) + $(use_with tidy tidy "${EPREFIX}/usr") + $(use_enable tokenizer) + $(use_enable xml) + $(use_enable xmlreader) + $(use_enable xmlwriter) + $(use_with xmlrpc) + $(use_with xslt xsl) + $(use_with zip) + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug) + ) + + # DBA support + if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ + || use qdbm || use lmdb || use tokyocabinet ; then + our_conf+=( "--enable-dba" ) + fi + + # DBA drivers support + our_conf+=( + $(use_with cdb) + $(use_with berkdb db4 "${EPREFIX}/usr") + $(use_enable flatfile) + $(use_with gdbm gdbm "${EPREFIX}/usr") + $(use_enable inifile) + $(use_with qdbm qdbm "${EPREFIX}/usr") + $(use_with tokyocabinet tcadb "${EPREFIX}/usr") + $(use_with lmdb lmdb "${EPREFIX}/usr") + ) + + # Support for the GD graphics library + our_conf+=( + $(use_with truetype freetype) + $(use_enable cjk gd-jis-conv) + $(use_with gd jpeg) + $(use_with xpm) + $(use_with webp) + ) + # enable gd last, so configure can pick up the previous settings + our_conf+=( $(use_enable gd) ) + + # IMAP support + if use imap ; then + our_conf+=( + $(use_with imap imap "${EPREFIX}/usr") + $(use_with ssl imap-ssl "${EPREFIX}/usr") + ) + fi + + # LDAP support + if use ldap ; then + our_conf+=( + $(use_with ldap ldap "${EPREFIX}/usr") + $(use_with ldap-sasl) + ) + fi + + # MySQL support + local mysqllib="mysqlnd" + local mysqlilib="mysqlnd" + + our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) + + local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" + if use mysql || use mysqli ; then + our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) + fi + + # ODBC support + if use odbc && use iodbc ; then + our_conf+=( + --without-unixODBC + --with-iodbc + $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr") + ) + elif use odbc ; then + our_conf+=( + --with-unixODBC="${EPREFIX}/usr" + --without-iodbc + $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr") + ) + else + our_conf+=( + --without-unixODBC + --without-iodbc + --without-pdo-odbc + ) + fi + + # Oracle support + our_conf+=( $(use_with oci8-instant-client oci8) ) + + # PDO support + if use pdo ; then + our_conf+=( + $(use_with mssql pdo-dblib "${EPREFIX}/usr") + $(use_with mysql pdo-mysql "${mysqllib}") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite) + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # readline/libedit support + our_conf+=( + $(use_with readline readline "${EPREFIX}/usr") + $(use_with libedit) + ) + + # Session support + if use session ; then + our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) + else + our_conf+=( $(use_enable session) ) + fi + + # Use pic for shared modules such as apache2's mod_php + our_conf+=( --with-pic ) + + # we use the system copy of pcre + # --with-external-pcre affects ext/pcre + # Many arches don't support pcre-jit + our_conf+=( + --with-external-pcre + --without-pcre-jit + ) + + # Catch CFLAGS problems + # Fixes bug #14067. + # Changed order to run it in reverse for bug #32022 and #12021. + replace-cpu-flags "k6*" "i586" + + # Cache the ./configure test results between SAPIs. + our_conf+=( --cache-file="${T}/config.cache" ) + + # Support user-passed configuration parameters + our_conf+=( ${EXTRA_ECONF:-} ) + + # Support the Apache2 extras, they must be set globally for all + # SAPIs to work correctly, especially for external PHP extensions + + mkdir -p "${WORKDIR}/sapis-build" || die + for one_sapi in $SAPIS ; do + use "${one_sapi}" || continue + php_set_ini_dir "${one_sapi}" + + # The BUILD_DIR variable is used to determine where to output + # the files that autotools creates. This was all originally + # based on the autotools-utils eclass. + BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" + cp -a "${S}" "${BUILD_DIR}" || die + cd "${BUILD_DIR}" || die + + local sapi_conf=( + --with-config-file-path="${PHP_INI_DIR}" + --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" + ) + + for sapi in $SAPIS ; do + case "$sapi" in + cli|cgi|embed|fpm|phpdbg) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( "--enable-${sapi}" ) + if [[ "fpm" == "${sapi}" ]] ; then + sapi_conf+=( + $(use_with acl fpm-acl) + $(use_with systemd fpm-systemd) + ) + fi + else + sapi_conf+=( "--disable-${sapi}" ) + fi + ;; + + apache2) + if [[ "${one_sapi}" == "${sapi}" ]] ; then + sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) + else + sapi_conf+=( --without-apxs2 ) + fi + ;; + esac + done + + # Construct the $myeconfargs array by concatenating $our_conf + # (the common args) and $sapi_conf (the SAPI-specific args). + local myeconfargs=( "${our_conf[@]}" ) + myeconfargs+=( "${sapi_conf[@]}" ) + + pushd "${BUILD_DIR}" > /dev/null || die + econf "${myeconfargs[@]}" + popd > /dev/null || die + done +} + +src_compile() { + # snmp seems to run during src_compile, too (bug #324739) + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + for sapi in ${SAPIS} ; do + if use "${sapi}"; then + cd "${WORKDIR}/sapis-build/$sapi" || \ + die "Failed to change dir to ${WORKDIR}/sapis-build/$1" + emake + fi + done +} + +src_install() { + # see bug #324739 for what happens when we don't have that + addpredict /usr/share/snmp/mibs/.index #nowarn + + # grab the first SAPI that got built and install common files from there + local first_sapi="" + for sapi in $SAPIS ; do + if use $sapi ; then + first_sapi=$sapi + break + fi + done + + # Makefile forgets to create this before trying to write to it... + dodir "${PHP_DESTDIR#${EPREFIX}}/bin" + + # Install php environment (without any sapis) + cd "${WORKDIR}/sapis-build/$first_sapi" || die + emake INSTALL_ROOT="${D}" \ + install-build install-headers install-programs + + local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" + + # Create the directory where we'll put version-specific php scripts + keepdir "/usr/share/php${PHP_MV}" + + local sapi="", file="" + local sapi_list="" + + for sapi in ${SAPIS}; do + if use "${sapi}" ; then + einfo "Installing SAPI: ${sapi}" + cd "${WORKDIR}/sapis-build/${sapi}" || die + + if [[ "${sapi}" == "apache2" ]] ; then + # We're specifically not using emake install-sapi as libtool + # may cause unnecessary relink failures (see bug #351266) + insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" + newins ".libs/libphp${PHP_MV}$(get_libname)" \ + "libphp${PHP_MV}$(get_libname)" + keepdir "/usr/$(get_libdir)/apache2/modules" + else + # needed each time, php_install_ini would reset it + local dest="${PHP_DESTDIR#${EPREFIX}}" + into "${dest}" + case "$sapi" in + cli) + source="sapi/cli/php" + # Install the "phar" archive utility. + if use phar ; then + emake INSTALL_ROOT="${D}" install-pharcmd + dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" + fi + ;; + cgi) + source="sapi/cgi/php-cgi" + ;; + fpm) + source="sapi/fpm/php-fpm" + ;; + embed) + source="libs/libphp${PHP_MV}$(get_libname)" + ;; + phpdbg) + source="sapi/phpdbg/phpdbg" + ;; + *) + die "unhandled sapi in src_install" + ;; + esac + + if [[ "${source}" == *"$(get_libname)" ]]; then + dolib.so "${source}" + else + dobin "${source}" + local name="$(basename ${source})" + dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}" + fi + fi + + php_install_ini "${sapi}" + + # construct correct SAPI string for php-config + # thanks to ferringb for the bash voodoo + if [[ "${sapi}" == "apache2" ]]; then + sapi_list="${sapi_list:+${sapi_list} }apache2handler" + else + sapi_list="${sapi_list:+${sapi_list} }${sapi}" + fi + fi + done + + # Installing opcache module + if use opcache ; then + into "${PHP_DESTDIR#${EPREFIX}}" + dolib.so "modules/opcache$(get_libname)" + fi + + # Install env.d files + newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" + sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die + + # set php-config variable correctly (bug #278439) + sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ + "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die + + if use fpm ; then + if use systemd; then + systemd_newunit "${FILESDIR}/php-fpm_at.service" \ + "php-fpm@${SLOT}.service" + else + systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ + "php-fpm@${SLOT}.service" + fi + fi +} + +src_test() { + echo ">>> Test phase [test]: ${CATEGORY}/${PF}" + PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" + if [[ ! -x "${PHP_BIN}" ]] ; then + ewarn "Test phase requires USE=cli, skipping" + return + else + export TEST_PHP_EXECUTABLE="${PHP_BIN}" + fi + + if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then + export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" + fi + + if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then + export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" + fi + + REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + "session.save_path=${T}" \ + "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ + "session.save_path=${T}" + + for name in ${EXPECTED_TEST_FAILURES}; do + mv "${name}.out" "${name}.out.orig" 2>/dev/null || die + done + + local failed="$(find -name '*.out')" + if [[ ${failed} != "" ]] ; then + ewarn "The following test cases failed unexpectedly:" + for name in ${failed}; do + ewarn " ${name/.out/}" + done + else + einfo "No unexpected test failures, all fine" + fi + + if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then + local passed="" + for name in ${EXPECTED_TEST_FAILURES}; do + [[ -f "${name}.diff" ]] && continue + passed="${passed} ${name}" + done + if [[ ${passed} != "" ]] ; then + einfo "The following test cases passed unexpectedly:" + for name in ${passed}; do + ewarn " ${passed}" + done + else + einfo "None of the known-to-fail tests passed, all fine" + fi + fi +} + +pkg_postinst() { + # Output some general info to the user + if use apache2 ; then + elog + elog "To enable PHP in apache, you will need to add \"-D PHP\" to" + elog "your apache2 command. OpenRC users can append that string to" + elog "APACHE2_OPTS in /etc/conf.d/apache2." + elog + elog "The apache module configuration file 70_mod_php.conf is" + elog "provided (and maintained) by eselect-php." + elog + fi + + # Create the symlinks for php + for m in ${SAPIS}; do + [[ ${m} == 'embed' ]] && continue; + if use $m ; then + local ci=$(eselect php show $m) + if [[ -z $ci ]]; then + eselect php set $m php${SLOT} || die + einfo "Switched ${m} to use php:${SLOT}" + einfo + elif [[ $ci != "php${SLOT}" ]] ; then + elog "To switch $m to use php:${SLOT}, run" + elog " eselect php set $m php${SLOT}" + elog + fi + fi + done + + # Remove dead symlinks for SAPIs that were just disabled. For + # example, if the user has the cgi SAPI enabled, then he has an + # eselect-php symlink for it. If he later reinstalls PHP with + # USE="-cgi", that symlink will break. This call to eselect is + # supposed to remove that dead link per bug 572436. + eselect php cleanup || die + + if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then + elog "To build extensions for this version of PHP, you will need to" + elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." + elog + fi + + # Warn about the removal of PHP_INI_VERSION if the user has it set. + if [[ -n "${PHP_INI_VERSION}" ]]; then + ewarn 'The PHP_INI_VERSION variable has been phased out. You may' + ewarn 'remove it from your configuration at your convenience. See' + ewarn + ewarn ' https://bugs.gentoo.org/611214' + ewarn + ewarn 'for more information.' + fi + + elog "For details on how version slotting works, please see" + elog "the wiki:" + elog + elog " https://wiki.gentoo.org/wiki/PHP" + elog +} + +pkg_postrm() { + # This serves two purposes. First, if we have just removed the last + # installed version of PHP, then this will remove any dead symlinks + # belonging to eselect-php. Second, if a user upgrades slots from + # (say) 5.6 to 7.0 and depcleans the old slot, then this will update + # his existing symlinks to point to the new 7.0 installation. The + # latter is bug 432962. + # + # Note: the eselect-php package may not be installed at this point, + # so we can't die() if this command fails. + eselect php cleanup +} diff --git a/dev-lang/python-exec/Manifest b/dev-lang/python-exec/Manifest index 38610cb58412..1b83d750fea5 100644 --- a/dev-lang/python-exec/Manifest +++ b/dev-lang/python-exec/Manifest @@ -1,4 +1,4 @@ DIST python-exec-2.4.6.tar.bz2 87634 BLAKE2B 7b6de8ad0e0603fafd3284e6e3c5247ad83f145ab4db6728914318ae8e6f5aaa3c0247f4e01238fca11519ef72fb1b11436aea7e2b8c988b8717b3f6a2a43c37 SHA512 e05eaf01b83de196a10933636ab6b1a5489a421592df49b8b58eabd0e732de970f902744cd3a06b5ab530a6d69fe6dfa8f270fbb09b9fe3df4ae04d516828050 -EBUILD python-exec-2.4.6-r1.ebuild 4376 BLAKE2B eb58565c04dde8c19ef846423bedbb606d5f47d0abe45458b694feebfaa54ff995f4df6ee3c9a330bf2488a2eae5a60f139dfd740cf42b2ee768cfd2cf3f54e9 SHA512 ae6aeba6d54d43476cf4a520d2fa5277072c6b97fc99b9998eb856c338451923d8721b302aa1a628aff2390f388de2a26186d731f8250827d2d4dbab242c2875 +EBUILD python-exec-2.4.6-r1.ebuild 4377 BLAKE2B 9d0e53dc01475a153a40b9240667491facf3b5b6c04ab2dcda53b9cbc57463e2f334e05f1f609450519f084e9ba85738ae43f3521e23a7f31ab55680fa482d45 SHA512 af7b72f4baf40906112042b6fbd36dbd329cff2c280cb2355e8ed1143d8c2ce9be1ca9f893ae1f6d6a75a3aedd76bf1e01474174e31b01770008270368126cef EBUILD python-exec-9999.ebuild 4194 BLAKE2B 1e26b4721983a44f89fa9e0e924573437a0aef49281bc20f76280ba32c5ca4e49e59c3073ee9eb5f0b564c27d130123f6c92f15a15b7c25532502d3dc42c0d2c SHA512 be43da3820f9d82f0fff4b12a344d6cf05bd46a8d2dc563c13182517c0fe29be31ab7a2fa811f5ff727d295e6c6ed0d8375078a9d47d453a85fb730a68bb4b9b MISC metadata.xml 589 BLAKE2B 7f9fa9750915db8b546b52a560a7fd8d9a63c4f310e423ebdc0508fe9b14363001b30f3c3db26f6d05eec8a44176d62a9335153dff2d55a41a31d3b428cc9ca6 SHA512 2ac0223af0a2cf95d2b18ef415eadb325af0094e4ec361a414b0d68b203dc1c937d3d680af96bdad1e8a48cb5786683bdbbd451f47a0f3a777c075e1690ccf7a diff --git a/dev-lang/python-exec/python-exec-2.4.6-r1.ebuild b/dev-lang/python-exec/python-exec-2.4.6-r1.ebuild index 5ae280f2517b..07538b12ef43 100644 --- a/dev-lang/python-exec/python-exec-2.4.6-r1.ebuild +++ b/dev-lang/python-exec/python-exec-2.4.6-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/mgorny/python-exec/releases/download/v${PV}/${P}.tar LICENSE="BSD-2" SLOT="2" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" # Internal Python project hack. Do not copy it. Ever. IUSE="${_PYTHON_ALL_IMPLS[@]/#/python_targets_}" diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index 48ed6b5a3d7d..dca85386b75f 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -1,24 +1,34 @@ AUX pydoc.conf 169 BLAKE2B ce40bb3d5f858bd7a8d9ef5bf215a8ab592568a724f0e08aea219da014dac12fdfcbcf5fb168bb9aa57be110f74d656aed46179ffe11e3c992d84a647e442b7b SHA512 30d0776a4004cd641e6f283658c3c24915a21ea15fe40e506ff2c3a5f95936aa00c9490b04ab25f29e9b7ac65cd88fd54ca0b08e000e73820b13c7c57c0bf5b2 AUX pydoc.init 600 BLAKE2B fb8775a6663483e5112ec283627610b746020d88494e772b92bb718a9493a52606e565c6c2fa4917a5cb963f166283d09883bd26903f2f3ced6c240d4e292a7f SHA512 9e71ad53486b6882a8441b24225c602195ee33d29dd1b60df27febbc6b752e79929be356152a489f893dcfb11f9c066b999787bc27a8ac61062c86e67a69e87a +AUX test-__all__-numpy.patch 495 BLAKE2B d022d775036d29db017c20c3ba8e8e44efcdbd02003f82165a170799a4ab1d4c056f962ab2f711716ac4ee700375a20603feb33ea7c0d675f493314fe40f491a SHA512 516ede07cb2a9b2790fed10c1302070594447262fbc4a24d54f41228acbc03a2a32f5548832c94026ba8b25218486a4af0b463bc858282f0b6c79828a6524538 AUX test.support.unlink-ignore-EACCES.patch 872 BLAKE2B 823828aec1c5a76708904c2d3e6e49744f4619820f86e6328a95374d0567d2be2b5f3cf3707ac654dec925ff12215877ca619485873dab91817a966080eb8b33 SHA512 aa5482f0a3bcc6c021bc7c1fe08e61345af41eb6b331c25d7c124b3390319430e6cf19fabb6699621ece32e3085171f61c0ee4a192f5a7b34077478827664397 AUX test.support.unlink-ignore-PermissionError.patch 844 BLAKE2B e2ff43852303a1485b79ba8e91044873948d320990d55c77b3fcb679594f8c6f12a7443a1e4b521f8a7f5923913bfb62b5beab990fc78b6a09f48af45a0a5480 SHA512 24cd25c8844dd31937833ca5ff7e886a982e643befb058475ee68eb48e24d81d74e72dd3f01631cae5434ac03fdfaf10e7b46fd4258bb11ae5dbec4ec77ec9d1 DIST Python-2.7.17.tar.xz 12855568 BLAKE2B 6d09214a51d6595fe5253a279ee556d7510dcb9a0e8ad71e9cf73b4fb00c3abd3680e2429f4f87d9387d1fc16d4887f5f33fc600b24b0ca2c70f36bf34df2157 SHA512 2dc19a0b0d818c71429dae94783e58b2aac0fa31f5faa1e840cac06245a59932ecc4658d913515736601bcf70a78c9ec60367aed75f4567d1e41ff3bb104da9a +DIST Python-2.7.18.tar.xz 12854736 BLAKE2B 060a621c91dd8e3d321aec99d44c17aa67381998256a1a002d316b38288349884d5960de35c49352d03129ed0bae599e641ec2225898158ebce50a7a2fd74d2c SHA512 a7bb62b51f48ff0b6df0b18f5b0312a523e3110f49c3237936bfe56ed0e26838c0274ff5401bda6fc21bf24337477ccac49e8026c5d651e4b4cafb5eb5086f6c DIST Python-3.6.10.tar.xz 17212220 BLAKE2B 822e231cf2755e6477e49e9128a983185a4f1e30e9d6c221f1b5720891c0de345e8c5402af458d3627eba124e75fea4b5daa94e01b0eaddc116dc3281263ecbe SHA512 26147099e1f1a0ffc85febad26e18e991f019599a150887ea0b925e34663fad8e03b3c2a941e2770c1a63960695e173ef32709572c9361e7f2cb862ccf75b28a -DIST Python-3.7.6.tar.xz 17246360 BLAKE2B b83a440a1ad5b1a2210e03be0522d39f53778774ea725fa41aaaab28cccfcdf007996f1a1d3cb95f8040b71b692189e28db67ba6ec136af82158363a1aadbba6 SHA512 5be022c384728b0c6709d165486f66226d126c521b466ed24d0c4c3c5910ec786a734f4c2c916ac409213c54a492b9fb230fb721c41e3de281676a7e9d8f3171 DIST Python-3.7.7.tar.xz 17268888 BLAKE2B 5f16c9559249470a9e6c0aa686965e7d78ce0f7364b5d03fc9590613c7a5456f92835340e49bf9becbec18b18d1e5a6fc318b6e30f2349da3246a918cf8b05ff SHA512 ddc838a7b0c442c2e465616f20231f2b703ed6b69ed2dc17858aac8760814fdf7cff43d350d359300e47b6bb1f0bd38c31126b855e423a3a65ed06a8fa16d136 DIST Python-3.8.2.tar.xz 17869888 BLAKE2B f42b35bea5e65f1f0a3fa6f1fd3d749fba3fa46d958608a314c1a98d0e3ca890e856da4d40ee489fe546fc02ce0fc9fa2daaaba96a8928d92ae7eb3d2dda3fe4 SHA512 ca37ad0e7c5845f5f228566aa8ff654a8f428c7d4a5aaabff29baebb0ca3219b31ba8bb2607f89e37cf3fc564f023b8407e53a4f2c47bd99122c1cc222613e37 DIST Python-3.9.0a4.tar.xz 18032300 BLAKE2B 1c9ad55c7c055c3a704c4062e092d44b8d778e334e05589e7166777da328df54ef257aeb2e203416710bb9f9f1571d7700c2c12aed5b8e63adf7a1b3aedb08b5 SHA512 8f7ca0a891fb7e7868dfe5f040e9ceb7ce14d036bc5d9eae1493570c5a9631832e796a1972590c444d2347c585b0c8216345375dd1476b4da7bd47e187591afc DIST Python-3.9.0a5.tar.xz 18039660 BLAKE2B 2d8e273ef577ea3f19cb3f64c89f2229d68bd647112fc61753487b53f8efd78a9797ceaf68fecbd9d13483e825f79f20a7b01be2e0aeca2ee2e978108467b77f SHA512 b2f884a492eeb9fa7347c664bb6fd1dc3c25f663ebb4f9455b66540e12ce8da845c2ad4960999d5475625bc64c834f3cff28f61cd37881bdf53efa349c44bff3 DIST python-gentoo-patches-2.7.17-r1.tar.xz 14708 BLAKE2B f6e25236a471649de122d0f29506f7a4f34044a568ead47a68980411d9722b761fe1f9d653d5edccb6978b65c8c1eecbef55f403b94f32b37c0ad68e061505a8 SHA512 ecdde5e38c6fe5e69691fb3a68c8f4f43da7857d4abaff763d3cf6ad864ba43c769c03b186b60f2736a1ffb1e3e4c9982715d1b8a99ff3f5740096153bb8a90f +DIST python-gentoo-patches-2.7.18.tar.xz 15012 BLAKE2B f691e231c793bb8f11fb64c89b90e022af8e0fe0e28839822c2ae6214fdab6c6fd9c07466c4b5797d3964b7db09fd979597774fb7872dc674e8df59321b6bf95 SHA512 a2952b27bfc0a52f322b2f3e177cbe09fa288c9ca5967c13fb9c2d45d3e81033407e30e86bdaaaa258f0b3cfa2cef6eda5502bddb6390f9512a493d145d34e03 +DIST python-gentoo-patches-3.6.10-r1.tar.xz 15556 BLAKE2B 3d4755a083172fc878d3454797a4a7fa809c7767b7f2ba0919b95076b8ecba62ac604a7db349d8dd71f83aa44d4580d0c433ae6cd2027078e7779cec79185ba2 SHA512 b361ff3fe9545bb59a7e85f179a094d58219be35d20cef83db02672d0a9a58fccfda62fbe8c2bf64250c4043b8517cbc2091380611c5f1e63bfac9ca7c4e47b0 DIST python-gentoo-patches-3.6.10.tar.xz 10964 BLAKE2B e32c8cb3050c7324ee234f585be7fc40cfacc6ad87759eaa300e57289e6dc6cbaed3913f33ad632b8754638e8d71983d8364ceeaad8ef325cfa6d4d2dfb56df0 SHA512 71fea7306c876c63888c4547eaf14dc2e0413dec343609d748cd1b5888e4605d47888758ebc5120a287ce833b69dd538073f91989460da7c40462b53eefca7ce DIST python-gentoo-patches-3.7.6.tar.xz 10084 BLAKE2B 220869e85bdaf9c21b1b05e13803bdb6ecc22ac0f69da77e57fd7c1cd93ef45ec43401b62732842e1bb3467feb6d65c8204120e2741e9eb6f4cab673fd3a8d62 SHA512 4c04b0cf7da55fa7973ab178e3ac2c59bc2142924bdced5954c058053280b6c663d7c39912286d10fe0e82ca30af6a0dd6a56fa85433f836217ca3dcbb284def +DIST python-gentoo-patches-3.7.7.tar.xz 14644 BLAKE2B 1a377eac945310082ec9fa257bcb406c7eaf24b5e80469dd49e82a1bc0554b75394678609cae447cb0fc7a19059b29166bf110b6ed99a89a9919b3a56a323f87 SHA512 2c7fbcefd6f4d1674b78f3b67f2be3f1b168e08c318fefe8d4757f2d30c22477f5010ad6f2c0abb265d819ee667617f21f93e002242e216b4ee570200b0ddf74 DIST python-gentoo-patches-3.8.1-r2.tar.xz 10108 BLAKE2B 02d3e2ae95b5cfa67c0ba4ff618fbee51d2342955d0a064b80575beda73902bd72462e4f6dba63743bf9fc031d92c69153ef8bd8a0ab5d6e17bfdf8ed0152da5 SHA512 757f7cf6b0cb6c1493d8ed8e5780780efcb32860a9aeba4f933a3a3fb22c412bebde8854e34609465d8a12cb9545a7b19e5d5dbe87d772bb83acd9fe829b75cc +DIST python-gentoo-patches-3.8.2.tar.xz 16156 BLAKE2B a0b7bf78731e82da38e638f2984689d350aacd9560df8a05db45ebbdae967d6c1fbf7fc52adc57e715eb52081f46b8fe29342e55c8f2bbb2e1d9ad0afa50d8b0 SHA512 0a54b51a9c672c3fafa5507829b826ebce08aa8d0542d04008ff1743366a7abd18a6df93a1b2d61cc31bb9a555681f67f176e48c061e8d6d825cabf2411c9f8c DIST python-gentoo-patches-3.9.0_alpha2.tar.xz 8340 BLAKE2B b93edca01fa46c8eb4e18e0d92c72a3e4ef8dcebf26c0e1c0fab4c82201645ed4c358cf2311c9eb454f6a261ab514985302f81fc86284d3714d662037928963c SHA512 58b0a64d8747f187e6cc4749dc660a443c066e43f509ecc2976b6406bbfb3851a03f686adc36bd58c7c3142a707a387ac25431ca078980914d2219c49a0f2202 +DIST python-gentoo-patches-3.9.0_alpha5.tar.xz 13452 BLAKE2B 58f1c0451ca511aeead1056bfb61f260041b2d73c022da56c970315233d9df66de4e8edc483a906953ae77a9797d556c7d2434c26b7830d984d9483af4d022e2 SHA512 8d148e136ad69685cb40f55d6b2a471cd5c79613cf0d490dfffabc44e8a29c598dc496f507310592b4018008f74a2aea6e3be797c30364010d088785f82c1a58 EBUILD python-2.7.17-r2.ebuild 10766 BLAKE2B c74dbef430e0078769e09c3641a705771d150d23777cee7f84b38abe1422c2be16520f131b59b97b9377c57acad12fb9051900ed0baf63287f173e4057735324 SHA512 a9bfe80ce8cc52a5147fe69e52d0bb86e8828bd8bd99fda3549302020c6f4496a69f0e5b9d1fffb2882b84d0fc1b947e83751b315de3119a320b52dcf2d580f6 +EBUILD python-2.7.18.ebuild 10602 BLAKE2B af4278cde9c5eaa0c31cd2ded1af4f4d0f8cd508e12c91a8ff8ece6f0a834979d6264c2463444ab479fb8523e9f3ba535a698050c8ba5cd4030a4968a478bbac SHA512 feb788dae2fcac2cbcaf05c4d9f22795e164ff68e2674d8fbdca97e50dee74aa93512ba5269d79ab4af680773449189bd909242e89694de36e2727b7388ee9f2 EBUILD python-3.6.10-r1.ebuild 10531 BLAKE2B 435191d126961bb25602dfcbce27e8de9fa61235c2b17e57c04f4e48ba9d149d2836288a5fb68638bd3cbd3a9003a507de57244a27ace2e066ca4d7862e992cc SHA512 f4ab89f202fde399188abb56df1d07a2e9f33829e2bc0b0635ac940612c662e6907d9cb898f23ae6f35eb05667409f69d3d25cbedfe118e5e2af8d0a0fa1f101 -EBUILD python-3.7.6.ebuild 9872 BLAKE2B e44650e60a414c40df1c1e9459f7563c6e7deef58d5789c916a921246f1a63820ad53f81deff9086f4eb36ee3933d1f72bb52892d5db5902cf209faf8de01bb1 SHA512 72776c5f8f0e6dd37f323f15f06c7f5cb7b4b34e1c87e672d4008f7ee1e5b1cc03817b9359875f913aa9b904e576dce9d817a4264509fa77c7ea177ac5cd1976 -EBUILD python-3.7.7-r1.ebuild 10080 BLAKE2B 40cad2ed8989f57c90af1184d5bc4477b407674a0936f30ff1246910775068b54c4a840fc87e642c24473eea8d8bc3c659a04b2bf5edd33ee73c7c0af47c13a4 SHA512 d5d829fb062805e8cea85bc767dabbd561fe17107e0aed79b09337908a8799c34418f36a7950ad654625f1c7257cc9488e4653b1c54c3f32ac732ddbcdc5d00f -EBUILD python-3.8.2-r1.ebuild 10127 BLAKE2B 5f131538a4c5de926d23830845e02c6c830de510f35be2ca10db51cf8e89902658faef08c52fb82ef61c3f697634f00675d3a0c235a7b9c734f9bc690708987c SHA512 80f83d139ab6941d654b386e0e9a7bbfb55bb1f04a351403e12c23fe09ad3f2239c865122e448d094586f4ab4ec0dc6711905361870f675ef79ab692ae0196e1 +EBUILD python-3.6.10-r2.ebuild 10342 BLAKE2B c7e46dfe4fb7e309a6428b8a9e15155bf4310f6a8520eff41563e4a185b6a98cb50d65e623845f230f9ace15094dd0d7e7631f2690138160d6e745cfcfb49767 SHA512 119cc65a189e9997d7b3ba2213d3473fbfc80bd842d4ba67b8d39534d8f9a9637f75b51932010613733e3648df8a72fbea788a54b261af6238b2acfe1bfef9e8 +EBUILD python-3.7.7-r1.ebuild 10078 BLAKE2B d696122aedb2f0200242d4c3510fc83daf7d376af507cc83e6d03704988dff5d81c36e9a95eca73d6e6f0a65d125eba38d3b516e4ecb58d288748b5e3b9a90ee SHA512 cbe4ec9db8c13ff906c309cba99ad5aa669807a60da604a083061420ca35455e3f4518427497da33ec17affe3a972b6b06f837427c5b5cc4908306abc110f511 +EBUILD python-3.7.7-r2.ebuild 9886 BLAKE2B 2227446a59dc14d24ecf795dd48edfefa29d1866719b2ea332f9f32558f6b033f878c4178637f4c5b36e3de4bd16ea63469442423f8b57a6c53c1fc9e75dead1 SHA512 b5749ecf5ce7286639c1d3a6ce1e240554ec1834892abb2f29943825113a12252f477efdab24c2021efe8db323c540502867da1774bb4dc0c31eb666dee39ef5 +EBUILD python-3.8.2-r1.ebuild 10206 BLAKE2B ea5c774f23813cea83a720bc0cf66e6f538954a8a734727695117cdeae656a6760483c10537e90369f7493dbe157f850e1bfb031b68b377f14a686587efb9660 SHA512 6731f18667e3554379ceb7b17bc3c9fd04cd1a83dbdb023286f93e0f89f0a92ccae6346e5bfebf174bd8c96ad02d9029bc6898d404e236c9d43219144a026f63 +EBUILD python-3.8.2-r2.ebuild 9934 BLAKE2B edaf2e961e48895c5f0664a7fcc45f7a9954b7b21d48a1ae9318b533eca5dd3dee14efa5dff70a4aa90b4b15e5f8ac9475b3065e07c009ffdbf3b87b1091e228 SHA512 9624079a04659180aa1ed5be1cfb77aeeb21060d57a9fcbce67400403f749ff8c70793d823fb9efbc11103f0f3227353f20d8856f8b8584042a8eddd1c45587c EBUILD python-3.9.0_alpha4.ebuild 9628 BLAKE2B 080fc6b286ed6d39399a5d2106344331358b9eb5dbb2ae604180c9258b327f4c58cdae46914fd2bf99b05b995ea14ab88d785ad26ddacf9538c20cbc992bb31b SHA512 ef73d611ea23c463192b742a853e01f8d834f8db6b80125b86778bcfbe5e816004e6335ff984f79c843683d86bc429b61bf74c87fd08f5ceda94d1395905a296 -EBUILD python-3.9.0_alpha5.ebuild 9628 BLAKE2B 080fc6b286ed6d39399a5d2106344331358b9eb5dbb2ae604180c9258b327f4c58cdae46914fd2bf99b05b995ea14ab88d785ad26ddacf9538c20cbc992bb31b SHA512 ef73d611ea23c463192b742a853e01f8d834f8db6b80125b86778bcfbe5e816004e6335ff984f79c843683d86bc429b61bf74c87fd08f5ceda94d1395905a296 +EBUILD python-3.9.0_alpha5-r1.ebuild 9438 BLAKE2B 3138ea37082e3d9700ce9f9eed2632afe86810844a2d7445eb3b1fce0ae4d89da86391250226ba03811456ea722678b698b293c96275a9e9aa3d5700ef3851a7 SHA512 d016414280c691df4443dcdefd6b488d7419472cb173371c48e23a21529e1636ae2457c3ce3af0dddf470ab334207127ef90cdea62e377e3a2a2ee7c36d41f07 +EBUILD python-3.9.0_alpha5.ebuild 9713 BLAKE2B 30e0b172437b4d88523f3b71fbb2c14e331f7be139ebe3350d53fba740460bdf26a89f1970de88c749e59788fa69a71e3017ad16caf33324ef86c89af74d3023 SHA512 18ef52b7b7f9b6cbca9c275ce6fd24858bf3de4d5b53b9732f11d4f5d0f259cf56e7c4c4a3dde9afbb3078ea57930b164e8ee0f290d2a730e164459d53abdaff MISC metadata.xml 819 BLAKE2B 120c7c65d77488e726c5a0f4aa19469867ea6900e747169fae2f9cf8f14ec2936089d5edfe1935ce610bec26387273e261b1cc4b023680c8c4b229f2141a7223 SHA512 08f45707e5490067a21951b9d37c8ae67064ab67cccc5b8d8c204eab8d4a004fb910627b62989c67b849b89d301618f8f8f7996e99e1ef5bab38a239c49c124d diff --git a/dev-lang/python/files/test-__all__-numpy.patch b/dev-lang/python/files/test-__all__-numpy.patch new file mode 100644 index 000000000000..1b91abbf6f60 --- /dev/null +++ b/dev-lang/python/files/test-__all__-numpy.patch @@ -0,0 +1,13 @@ +diff --git a/Lib/test/test___all__.py b/Lib/test/test___all__.py +index c077881511..0728bef6c4 100644 +--- a/Lib/test/test___all__.py ++++ b/Lib/test/test___all__.py +@@ -71,6 +71,8 @@ class AllTest(unittest.TestCase): + blacklist = set([ + # Will raise a SyntaxError when compiling the exec statement + '__future__', ++ # imports numpy which causes warnings ++ 'test.test_pickletools', + ]) + + if not sys.platform.startswith('java'): diff --git a/dev-lang/python/python-2.7.18.ebuild b/dev-lang/python/python-2.7.18.ebuild new file mode 100644 index 000000000000..44ee796141c5 --- /dev/null +++ b/dev-lang/python/python-2.7.18.ebuild @@ -0,0 +1,366 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs + +MY_P="Python-${PV}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-2.7.18" + +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/~mgorny/dist/python/${PATCHSET}.tar.xz" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="-berkdb bluetooth build 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:= + dev-libs/libffi:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + berkdb? ( || ( + sys-libs/db:5.3 + sys-libs/db:5.1 + 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:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( + !libressl? ( dev-libs/openssl:= ) + libressl? ( dev-libs/libressl:= ) + ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + virtual/pkgconfig + !sys-devel/gcc[libffi(-)]" +RDEPEND+=" !build? ( app-misc/mime-types )" +PDEPEND=">=app-eselect/eselect-python-20140125-r1" + +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 -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + 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" + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + 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 + + local myeconfargs=( + # The check is broken on clang, and gives false positive: + # https://bugs.gentoo.org/596798 + # (upstream dropped this flag in 3.2a4 anyway) + ac_cv_opt_olimit_ok=no + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --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 + ) + + 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 + + # Avoid invoking pgen for cross-compiles. + touch Include/graminit.h Python/graminit.c + + 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 + + # Skip failing tests. + local skipped_tests="distutils gdb" + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + + # 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${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/\(LDFLAGS=\).*/\1/" -i "${libdir}/config/Makefile" || die + + # Fix collisions between different slots of Python. + mv "${ED}/usr/bin/2to3" "${ED}/usr/bin/2to3-${PYVER}" || die + mv "${ED}/usr/bin/pydoc" "${ED}/usr/bin/pydoc${PYVER}" || die + mv "${ED}/usr/bin/idle" "${ED}/usr/bin/idle${PYVER}" || die + rm "${ED}/usr/bin/smtpd.py" || die + + 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${PYVER}" "${libdir}/"{idlelib,lib-tk} || die + use elibc_uclibc && rm -fr "${libdir}/"{bsddb/test,test} + + use threads || rm -r "${libdir}/multiprocessing" || die + use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + dodoc -r 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" + + local -x EPYTHON=python${PYVER} + # 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}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/python${PYVER}" \ + "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + ln -s "../../../bin/python${PYVER}-config" \ + "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" \ + "${scriptdir}/python-config" || die + # 2to3, pydoc, pyvenv + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${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-3.6.10-r2.ebuild b/dev-lang/python/python-3.6.10-r2.ebuild new file mode 100644 index 000000000000..2dd7f7dd1dd9 --- /dev/null +++ b/dev-lang/python/python-3.6.10-r2.ebuild @@ -0,0 +1,357 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs + +MY_P="Python-${PV}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-3.6.10-r1" + +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/~mgorny/dist/python/${PATCHSET}.tar.xz" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}/${PYVER}m" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test +threads tk wininst +xml" +RESTRICT="!test? ( test )" + +# 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:= + app-arch/xz-utils:= + dev-libs/libffi:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( + !libressl? ( dev-libs/openssl:= ) + libressl? ( dev-libs/libressl:= ) + ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] ) + virtual/pkgconfig + !sys-devel/gcc[libffi(-)]" +RDEPEND+=" !build? ( app-misc/mime-types )" +PDEPEND=">=app-eselect/eselect-python-20140125-r1" + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + 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 + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + 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=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --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 + + # bug 660358 + local -x COLUMNS=80 + + 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 + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + 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 "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # 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 Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r 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" + + local -x EPYTHON=python${PYVER} + # 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}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" \ + "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${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 > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" \ + "${scriptdir}/python-config" || die + # 2to3, pydoc, pyvenv + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + ln -s "../../../bin/pyvenv-${PYVER}" \ + "${scriptdir}/pyvenv" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${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.7.7-r1.ebuild b/dev-lang/python/python-3.7.7-r1.ebuild index cd23f61e64d8..e56bc4bd7cc6 100644 --- a/dev-lang/python/python-3.7.7-r1.ebuild +++ b/dev-lang/python/python-3.7.7-r1.ebuild @@ -18,7 +18,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}/${PYVER}m" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86" IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" RESTRICT="!test? ( test )" diff --git a/dev-lang/python/python-3.7.6.ebuild b/dev-lang/python/python-3.7.7-r2.ebuild index bf8db8cb3de8..e7611e9ad047 100644 --- a/dev-lang/python/python-3.7.6.ebuild +++ b/dev-lang/python/python-3.7.7-r2.ebuild @@ -8,7 +8,7 @@ inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs MY_P="Python-${PV}" PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-3.7.6" +PATCHSET="python-gentoo-patches-3.7.7" DESCRIPTION="An interpreted, interactive, object-oriented programming language" HOMEPAGE="https://www.python.org/" @@ -18,7 +18,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}/${PYVER}m" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" RESTRICT="!test? ( test )" @@ -66,7 +66,6 @@ src_prepare() { local PATCHES=( "${WORKDIR}/${PATCHSET}" - "${FILESDIR}/test.support.unlink-ignore-PermissionError.patch" ) default @@ -129,6 +128,11 @@ src_configure() { fi local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + --enable-shared $(use_enable ipv6) --infodir='${prefix}/share/info' @@ -261,49 +265,47 @@ src_install() { -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 ) - + local -x EPYTHON=python${PYVER} # 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}:}${PWD} else - vars=( PYTHON "${vars[@]}" ) + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} 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 + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die # python and pythonX ln -s "../../../bin/${abiver}" \ - "${D}${PYTHON_SCRIPTDIR}/python${pymajor}" || die - ln -s "python${pymajor}" "${D}${PYTHON_SCRIPTDIR}/python" || die + "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${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 + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die #!/bin/sh exec "${abiver}-config" "\${@}" EOF - chmod +x "${D}${PYTHON_SCRIPTDIR}/python${pymajor}-config" || die + chmod +x "${scriptdir}/python${pymajor}-config" || die ln -s "python${pymajor}-config" \ - "${D}${PYTHON_SCRIPTDIR}/python-config" || die + "${scriptdir}/python-config" || die # 2to3, pydoc, pyvenv ln -s "../../../bin/2to3-${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/2to3" || die + "${scriptdir}/2to3" || die ln -s "../../../bin/pydoc${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/pydoc" || die + "${scriptdir}/pydoc" || die ln -s "../../../bin/pyvenv-${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/pyvenv" || die + "${scriptdir}/pyvenv" || die # idle if use tk; then ln -s "../../../bin/idle${PYVER}" \ - "${D}${PYTHON_SCRIPTDIR}/idle" || die + "${scriptdir}/idle" || die fi } diff --git a/dev-lang/python/python-3.8.2-r1.ebuild b/dev-lang/python/python-3.8.2-r1.ebuild index 35d435345995..22fab4254618 100644 --- a/dev-lang/python/python-3.8.2-r1.ebuild +++ b/dev-lang/python/python-3.8.2-r1.ebuild @@ -18,7 +18,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86" IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" RESTRICT="!test? ( test )" @@ -67,6 +67,8 @@ src_prepare() { local PATCHES=( "${WORKDIR}/${PATCHSET}" "${FILESDIR}/test.support.unlink-ignore-PermissionError.patch" + # add module importing numpy to blacklist + "${FILESDIR}/test-__all__-numpy.patch" ) default diff --git a/dev-lang/python/python-3.8.2-r2.ebuild b/dev-lang/python/python-3.8.2-r2.ebuild new file mode 100644 index 000000000000..c453f0eb07d8 --- /dev/null +++ b/dev-lang/python/python-3.8.2-r2.ebuild @@ -0,0 +1,346 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs + +MY_P="Python-${PV}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-3.8.2" + +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/~mgorny/dist/python/${PATCHSET}.tar.xz" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" +RESTRICT="!test? ( test )" + +# 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:= + app-arch/xz-utils:= + dev-libs/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( + !libressl? ( dev-libs/openssl:= ) + libressl? ( dev-libs/libressl:= ) + ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] ) + virtual/pkgconfig + !sys-devel/gcc[libffi(-)]" +RDEPEND+=" !build? ( app-misc/mime-types )" +PDEPEND=">=app-eselect/eselect-python-20140125-r1" + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + 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 + + # https://bugs.gentoo.org/700012 + if is-flagq -flto || is-flagq '-flto=*'; then + append-cflags $(test-flags-CC -ffat-lto-objects) + 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." + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + $(use_enable ipv6) + --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[@]}" +} + +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 + + # bug 660358 + local -x COLUMNS=80 + + 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/lib/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/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + 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 "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # 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 wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r 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" + + local -x EPYTHON=python${PYVER} + # 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}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" \ + "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${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 > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" \ + "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${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.9.0_alpha5-r1.ebuild b/dev-lang/python/python-3.9.0_alpha5-r1.ebuild new file mode 100644 index 000000000000..12c8b78e873d --- /dev/null +++ b/dev-lang/python/python-3.9.0_alpha5-r1.ebuild @@ -0,0 +1,327 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic pax-utils python-utils-r1 \ + toolchain-funcs + +MY_P="Python-${PV/_alpha/a}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-3.9.0_alpha5" + +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/~mgorny/dist/python/${PATCHSET}.tar.xz" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml" +RESTRICT="!test? ( test )" + +# 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:= + app-arch/xz-utils:= + dev-libs/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( + !libressl? ( dev-libs/openssl:= ) + libressl? ( dev-libs/libressl:= ) + ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] ) + virtual/pkgconfig + !sys-devel/gcc[libffi(-)]" +RDEPEND+=" !build? ( app-misc/mime-types )" +PDEPEND=">=app-eselect/eselect-python-20140125-r1" + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +pkg_pretend() { + use test && check-reqs_pkg_pretend + + ewarn "This is an early developer preview of Python 3.9. New features" + ewarn "can still be added up to 2020-05-18. It's not suitable for production" + ewarn "use, and it is not supported for Gentoo packages." +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + 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 + + # https://bugs.gentoo.org/700012 + if is-flagq -flto || is-flagq '-flto=*'; then + append-cflags $(test-flags-CC -ffat-lto-objects) + 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." + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + $(use_enable ipv6) + --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[@]}" +} + +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 + + # bug 660358 + local -x COLUMNS=80 + + 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/lib/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/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + 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 "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # 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 + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r 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" + + local -x EPYTHON=python${PYVER} + # 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}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" \ + "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${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 > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" \ + "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.9.0_alpha5.ebuild b/dev-lang/python/python-3.9.0_alpha5.ebuild index 49d4c9d5f877..2e9353ebaf6d 100644 --- a/dev-lang/python/python-3.9.0_alpha5.ebuild +++ b/dev-lang/python/python-3.9.0_alpha5.ebuild @@ -83,6 +83,8 @@ src_prepare() { local PATCHES=( "${WORKDIR}/${PATCHSET}" "${FILESDIR}/test.support.unlink-ignore-PermissionError.patch" + # add module importing numpy to blacklist + "${FILESDIR}/test-__all__-numpy.patch" ) default diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest index 503c0824f400..31650b5de957 100644 --- a/dev-lang/ruby/Manifest +++ b/dev-lang/ruby/Manifest @@ -14,19 +14,13 @@ AUX 2.6/009_no-gems.patch 1261 BLAKE2B 359d0a73c374e5c464eb0343d33272244bb88ba20 AUX 2.6/010-default-gem-location.patch 688 BLAKE2B 4c2074d69b9fe5258a2fe0e38bb501a39f34ad1fa08ef338224edba1f06073138cbe3d831ecdf9910c989a7f0a1c6c6b73ced0d8ff212207a3a3df5f4d90b5de SHA512 65206a6ca42ade0413ae1467f41082f4a93b3166644d2504cff3d280d23da02fd41aea5aca69dd43f6081b436db90a5b1e98725d8fa51519ca302c02ec526ad7 AUX 2.7/010-default-gem-location.patch 688 BLAKE2B 4c2074d69b9fe5258a2fe0e38bb501a39f34ad1fa08ef338224edba1f06073138cbe3d831ecdf9910c989a7f0a1c6c6b73ced0d8ff212207a3a3df5f4d90b5de SHA512 65206a6ca42ade0413ae1467f41082f4a93b3166644d2504cff3d280d23da02fd41aea5aca69dd43f6081b436db90a5b1e98725d8fa51519ca302c02ec526ad7 DIST ruby-2.4.10.tar.xz 10100664 BLAKE2B 7301f34b94bb6d88c0d049eed4220ddb290c877b130e90c822226bc454b3e72c90ae151db0e828068c8fe02b21cd41c8f3cd43d4e95ab688d2cd6f3f3840ea9d SHA512 11c7a9ea1353f752763b189815ac34674cc8ebf7141517838b7f040823e892780d94ec3091c1f5d1415f9bc1b838b7f6f9de13a706df7bef80ce3b146a7d6660 -DIST ruby-2.4.9.tar.xz 10078316 BLAKE2B ad83adf6b884a9a36e83cc754077f706afa221a9e8b81d92f6b6a1b829dc0350bdacd67b0b4e1e196a17e3f7d1c65f1e9b38e245aeddf089576eaca7d051701b SHA512 9046575315c29c789427c2d00c832f0c0970e47fd158bbe8e4f2df5cff2ea9c06c65c3493adb4656e5b32ebfdc546092911f98a8ad7f698bc001c290db5888c7 -DIST ruby-2.5.7.tar.xz 11296440 BLAKE2B 6f3590f30c7b196145a83490abed24b0059521374a03086646186b20670bfed548ea744c910c8eda0d11607d8673644d7fb23ff9091dd2f6dfcbc43080fe0f97 SHA512 63b7c75fab44cd1bd22f22ddec00c740cf379ac7240da0dfafcec54347766695faef47428ce1c433fd77fa96992e976c984697067fa526236d383b12adc9ce75 DIST ruby-2.5.8.tar.xz 11298404 BLAKE2B 3256c0448e72b63c0bd89f89a27fa9c09c8feed54d42cd79899b7d5cfe9dbc29ca708d12c630b3f52ff85b0c6a4011ae7ff0483d64b2fd445700a72a91028035 SHA512 2886be764a454425c5beef2777c64a70ee0d048b07896b327633d904f5077fea4299526689f9e2ac4dcd2fc4811cf9a6c8ce75367ed35d29dfe1a54222872e0d -DIST ruby-2.6.5.tar.xz 11553580 BLAKE2B 07739a92ff17467fe6d31bb4dce56ae35fd9c67bb697ebc00b4845474c75d8377c77916e6e129512cfffcf76bd60e6327e818e899b6160f3222912654d5eb118 SHA512 e8ae3b5d4d23a93d0ef6057235ad0e573665a8b4b6544e1c70b4cce9c4d2fb9094e5c8fe8a9ab7b9996efe3ada603f9b4ef1fd08fb5a83253c1ae2b5e3f202db DIST ruby-2.6.6.tar.xz 11567284 BLAKE2B 45e910dd9b128c46bff3003834c4fdcbbc2e2e4d3e44f298ff4356a285de2c375d6b6021a3aa28d89336b32a1655fa4a7c086d07f4a0f6bcd578a11dd4a894da SHA512 86caf93dbf61d03781767ab5375a7edf4761f13ba08ccfefe16c0a7550499237e7390c2f72a95d42670d4fe76b2401b4218936187c62ec1572799e9e04c50d62 -DIST ruby-2.7.0.tar.xz 11990900 BLAKE2B 0f4969780618979190a92ca317963f825d854ecb437e7031cb7848b04bc9cb9532145968e33f5b8022449bccd1b0828b87a0ed0c0a09b182e2484d0811975a0d SHA512 dd5690c631bf3a2b76cdc06902bcd76a89713a045e136debab9b8a81ff8c433bbb254aa09e4014ca1cf85a69ff4bcb13de11da5e40c224e7268be43ef2194af7 DIST ruby-2.7.1.tar.xz 12003684 BLAKE2B 90a35c3e246cfe982a146be29a3d121d6e2c251ed96703dbc46b98c21e0e43e5445132e6119e584ae35f7193f063ff1b14822f947a4e07037c37fbba5e4038da SHA512 79f98b1ea98e0b10ec79da1883e8fc84d48ffe5c09ae945cbebde94365e35a589d919aac965f74d70ca7e21370ecee631ac5a8f9c4eac61d62f5aa629f27bf31 -EBUILD ruby-2.4.10.ebuild 6464 BLAKE2B a0684f0767c1fca52e64d5fda442ba458ab64f18905d211576d1492da4558fc929579ae9a2ed4f81c99139e55349ce3e6100f40852317a3187e902a00e8514a9 SHA512 ff951a88dc96fe9837b05418eca4a532b98c8be77ec9de5fd8ee2ea2c1df627033b7525814e0cd8e386136c8a772eb175a04744e4e16ac0454738cd99247e7f0 -EBUILD ruby-2.4.9.ebuild 6493 BLAKE2B 1920731de9309020c35e2a25a7735c36b468a5e77ada96eacfbd7737c69edc644e9a570babe4f0d9bf026f297622970e9af07e01c69c51cf82ce8d9388a9a743 SHA512 588fabe5d559356e0cf214077b506b4a87d9fae70d157520252a448520d7e7c3226e299c16ef84f202f0915faec02936299c23ecf72d28ae353651e194c9c933 -EBUILD ruby-2.5.7.ebuild 6280 BLAKE2B b3c045eea20ee9babefce7b1d862810eae122a166c4248bdeb0e05d0e28357f86d20c3b5489b074c3508cef329883b723282c8d86c7c6febf6746541b94938fc SHA512 5d0e752aef676809990fbd2b2ae695b36618b1d250164371ef4fcaf327b6131d5a1ba9bd09a7d31704a42c1b93ec17af841196f79b9ace3ce40a4e04d4d05bc6 -EBUILD ruby-2.5.8.ebuild 6247 BLAKE2B ef3ab8259e24b3a37114f19603721d8212cc0629f3b0f95064dc37cddb59c27602bd798f56cbdcd07112ef5a201e167daad9187b8be37058cbe87eb53f12e438 SHA512 4f804b105878a139a9c3df5923cc496853388932df7281fb857160eeb3517a77a62c0f382074bb07ee6a313927cc75cea4a7e16ce0c2ccd2d9e33c699ebd59a7 -EBUILD ruby-2.6.5.ebuild 6703 BLAKE2B ae236583399c0d6d3ed2be4454e072823bbc47cf82d6ed0a0c1a7edee9a554d244a12c8626c5aef1e199465e11011f22b2e00dc85881b13fee7ec86fe8901dee SHA512 bce90a3b29a2c5d3a14aa123bb98d8daf3073ab730d7bfcce020512d6eeb21c49b776940eba4124fa2584020a70d5cf14cf29bd578648d838cd4d6721adac702 -EBUILD ruby-2.6.6.ebuild 6672 BLAKE2B 36cae200abeaf9494a34a6319afc2a9c2725ecfe847582a18b2ee422a93df86f9b39e18c8857826ab55da1e5df76d464ab14803c97f0d3b1209c08831d05f6a0 SHA512 252f9eadf9e776652658802a0b95b4baef1a7f1cd6c0d1d786d854a42962a0343051f4f435e08926953b3510c7d0a29894276c05adcce6d1eb877c217dcf14b3 -EBUILD ruby-2.7.0.ebuild 6829 BLAKE2B fa2815e75695a33a0cac53f605c5c5c01badbc80b00fdfc342719257f8dc5242a311c3fa2c5833c41ad50788008636168ffccd659a30116413584bacaebcec7a SHA512 7a2540e65e608119faf521eb2c3435f9b57974a5edca9a246ba12f7f851992da429cbc4618aaa0c396801e9fa9beb7ffc1b5165d03d7739319bf315278f7c2af +EBUILD ruby-2.4.10.ebuild 6445 BLAKE2B 50e33957fe3894368da9d23aa28c1fe4230f053107372fba55d45a19d9933a1c67555353b66705207a00bd57aad46da501976e6c0ee0cf9ab441ad87cc571b10 SHA512 b0a9d8325fe49fb718d45240b31b97b21392c3aac13137276cd279f263a1cbe313237c598f8ceb748f0664afb62c898cf33a7d9a29d55e6cff67a5bfecee56b9 +EBUILD ruby-2.5.8.ebuild 6241 BLAKE2B 4837e144f5192b4878e15c69942687f2d9c155be85aa29247c270b0cf14b3d56b0c700affab27ab3b5f28835ec88f8ad7e030781645f1407dc978fa773193030 SHA512 702593e2fd389df453a08ad620d3151f2e1acfa7412f8832335602c58e228acaf9e013949d88920250fd6ef6d03ae8bb93382b59336a3559d7ed42c5281bd9cc +EBUILD ruby-2.6.6-r1.ebuild 6666 BLAKE2B 6a7f27dd9ed283990238379d619cdb32fcd8c50285c177e47ca9e9ce12de24a9c8dae9d934230ac825e82df8f7f290266cb2939587a8744c03cbfb2beb8c4530 SHA512 7ff00dda01c1e948c0508bdbb9e6f50146781b4b56c4bfc13fa2a3ba24d8cbeeaf1c63dbf8b0b760ba97d675777df9f8956ea07201d106f43e7984726fd7aedc +EBUILD ruby-2.6.6.ebuild 6666 BLAKE2B 29ee003ceed3463775bd53e1413376122e5924765fbfe8fefcf5a984b36943ebf3ae628a22eeea43e3321b913fbf94f46c5390f1bdc3afe919c15afe982ff6ee SHA512 ea5c016b4f6ff13a4d8746734d01fd88440ee953f61cd533cd7f53f8ebec71d09a5db39e3e7c34f40430480fffb4b9f883983f3880178c2be4d44211db92b72a +EBUILD ruby-2.7.1-r1.ebuild 6829 BLAKE2B ea0c450a2a8888fe928837e24b45714410252bbd19f6d417e5d1369c0e896e750a3bf5eb60688ddc5e40be65585f27fc86b53e6883ee836c485b16ccb6ca23e0 SHA512 2a3db05c31b04bcd137938112ccca978e8714c55c99057b177e288eae87b611eb85f739581a26143dcede234b808b913a0288f5005172635ddf69420e7667577 EBUILD ruby-2.7.1.ebuild 6829 BLAKE2B db48628ec9177b4693d7e6f1bbec93725117b0dc3a2d3c73340ea1b8ea851652403dafe03dc526dc112ba7e9e578044d48af4cfe1f273efd279b10f9b33be967 SHA512 d80080fb8258fdcd7645ea4a1f7a86f373b73fdf2021e976e8dc4dc9d84d85feae3e2f0b11e47cd17a77ca0242bc736dd5c8df18164563bc246f0a0c401b30c8 MISC metadata.xml 445 BLAKE2B c3b5fae44894da3c78d024a376522aa2ef486cd9435351ddd7fa8b7c9afdc36969251a3b043d5890a368616f0736ae80e2a65a7342b327f30eb3497c5c02d28a SHA512 3818ac938dd6f8a05e18662f83af542fb29af00a476362592afa86bc537a74ddd0abe275784340539b2cd38f97ad1fce8b8c427c65d61c05a90b2118f2d16a91 diff --git a/dev-lang/ruby/ruby-2.4.10.ebuild b/dev-lang/ruby/ruby-2.4.10.ebuild index c9c2530eda52..0d4a2f3a9dcc 100644 --- a/dev-lang/ruby/ruby-2.4.10.ebuild +++ b/dev-lang/ruby/ruby-2.4.10.ebuild @@ -17,7 +17,7 @@ HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" LICENSE="|| ( Ruby-BSD BSD-2 )" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 ~mips ppc ppc64 s390 x86" IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs" RDEPEND=" diff --git a/dev-lang/ruby/ruby-2.4.9.ebuild b/dev-lang/ruby/ruby-2.4.9.ebuild deleted file mode 100644 index 9eb0e862bd9f..000000000000 --- a/dev-lang/ruby/ruby-2.4.9.ebuild +++ /dev/null @@ -1,228 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools flag-o-matic multilib - -MY_P="${PN}-$(ver_cut 1-3)" -S=${WORKDIR}/${MY_P} - -SLOT=$(ver_cut 1-2) -MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) -RUBYVERSION=${SLOT}.0 - -DESCRIPTION="An object-oriented scripting language" -HOMEPAGE="https://www.ruby-lang.org/" -SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" - -LICENSE="|| ( Ruby-BSD BSD-2 )" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86" -IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs" - -RDEPEND=" - berkdb? ( sys-libs/db:= ) - gdbm? ( sys-libs/gdbm:= ) - jemalloc? ( dev-libs/jemalloc ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl ) - ) - socks5? ( >=net-proxy/dante-1.1.13 ) - tk? ( - dev-lang/tcl:0=[threads] - dev-lang/tk:0=[threads] - ) - dev-libs/libyaml - dev-libs/libffi:= - sys-libs/readline:0= - sys-libs/zlib - >=app-eselect/eselect-ruby-20161226 - !<dev-ruby/rdoc-3.9.4 - !<dev-ruby/rubygems-1.8.10-r1" - -DEPEND="${RDEPEND}" - -BUNDLED_GEMS=" - >=dev-ruby/did_you_mean-1.1.0:2.4[ruby_targets_ruby24] - >=dev-ruby/minitest-5.10.1[ruby_targets_ruby24] - >=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby24] - >=dev-ruby/power_assert-0.4.1[ruby_targets_ruby24] - >=dev-ruby/rake-12.0.0[ruby_targets_ruby24] - >=dev-ruby/test-unit-3.2.3[ruby_targets_ruby24] - >=dev-ruby/xmlrpc-0.2.1[ruby_targets_ruby24] -" - -PDEPEND=" - ${BUNDLED_GEMS} - virtual/rubygems[ruby_targets_ruby24] - >=dev-ruby/json-2.0.2[ruby_targets_ruby24] - rdoc? ( >=dev-ruby/rdoc-5.1.0-r1[ruby_targets_ruby24] ) - xemacs? ( app-xemacs/ruby-modes )" - -src_prepare() { - eapply "${FILESDIR}"/${SLOT}/{002,005,009,012}*.patch - - einfo "Unbundling gems..." - cd "$S" - # Remove bundled gems that we will install via PDEPEND, bug - # 539700. Use explicit version numbers to ensure rm fails when they - # change so we can update dependencies accordingly. - rm -f gems/{did_you_mean-1.1.0,minitest-5.10.1,net-telnet-0.1.1,power_assert-0.4.1,rake-12.0.0,test-unit-3.2.3,xmlrpc-0.2.1}.gem || die - - einfo "Removing bundled libraries..." - rm -fr ext/fiddle/libffi-3.2.1 || die - - # Fix a hardcoded lib path in configure script - sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \ - configure.in || die "sed failed" - - eapply_user - - eautoreconf -} - -src_configure() { - local modules= myconf= - - # -fomit-frame-pointer makes ruby segfault, see bug #150413. - filter-flags -fomit-frame-pointer - # In many places aliasing rules are broken; play it safe - # as it's risky with newer compilers to leave it as it is. - append-flags -fno-strict-aliasing - # SuperH needs this - use sh && append-flags -mieee - - # Socks support via dante - if use socks5 ; then - # Socks support can't be disabled as long as SOCKS_SERVER is - # set and socks library is present, so need to unset - # SOCKS_SERVER in that case. - unset SOCKS_SERVER - fi - - # Increase GC_MALLOC_LIMIT if set (default is 8000000) - if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then - append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" - fi - - # ipv6 hack, bug 168939. Needs --enable-ipv6. - use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET" - - # Determine which modules *not* to build depending in the USE flags. - if ! use berkdb ; then - modules="${modules},dbm" - fi - if ! use gdbm ; then - modules="${modules},gdbm" - fi - if ! use ssl ; then - modules="${modules},openssl" - fi - if ! use tk ; then - modules="${modules},tk" - fi - - # Provide an empty LIBPATHENV because we disable rpath but we do not - # need LD_LIBRARY_PATH by default since that breaks USE=multitarget - # #564272 - INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \ - --program-suffix=${MY_SUFFIX} \ - --with-soname=ruby${MY_SUFFIX} \ - --enable-shared \ - --enable-pthread \ - --disable-rpath \ - --with-out-ext="${modules}" \ - $(use_with jemalloc jemalloc) \ - $(use_enable socks5 socks) \ - $(use_enable doc install-doc) \ - --enable-ipv6 \ - $(use_enable static-libs static) \ - $(use_enable static-libs install-static-library) \ - $(use_with static-libs static-linked-ext) \ - $(use_enable debug) \ - ${myconf} \ - --enable-option-checking=no -} - -src_compile() { - emake V=1 EXTLDFLAGS="${LDFLAGS}" -} - -src_test() { - emake -j1 V=1 test - - elog "Ruby's make test has been run. Ruby also ships with a make check" - elog "that cannot be run until after ruby has been installed." - elog - if use rubytests; then - elog "You have enabled rubytests, so they will be installed to" - elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other" - elog "than root, and you must place them into a writeable directory." - elog "Then call: " - elog - elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb" - else - elog "Enable the rubytests USE flag to install the make check tests" - fi -} - -src_install() { - # Remove the remaining bundled gems. We do this late in the process - # since they are used during the build to e.g. create the - # documentation. - rm -rf ext/json || die - - # Ruby is involved in the install process, we don't want interference here. - unset RUBYOPT - - local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) - - LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" - for d in $(find "${S}/ext" -type d) ; do - RUBYLIB="${RUBYLIB}:$d" - done - export LD_LIBRARY_PATH RUBYLIB - - emake V=1 DESTDIR="${D}" install - - # Remove installed rubygems and rdoc copy - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" - rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" - rm -rf "${ED}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" - - if use doc; then - make DESTDIR="${D}" install-doc || die "make install-doc failed" - fi - - if use examples; then - insinto /usr/share/doc/${PF} - doins -r sample - fi - - dodoc ChangeLog NEWS doc/NEWS* README* - - if use rubytests; then - pushd test - insinto /usr/share/${PN}-${SLOT}/test - doins -r . - popd - fi -} - -pkg_postinst() { - if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then - eselect ruby set ruby${MY_SUFFIX} - fi - - elog - elog "To switch between available Ruby profiles, execute as root:" - elog "\teselect ruby set ruby(23|24|...)" - elog -} - -pkg_postrm() { - eselect ruby cleanup -} diff --git a/dev-lang/ruby/ruby-2.5.7.ebuild b/dev-lang/ruby/ruby-2.5.7.ebuild deleted file mode 100644 index 51940695a409..000000000000 --- a/dev-lang/ruby/ruby-2.5.7.ebuild +++ /dev/null @@ -1,223 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools flag-o-matic multilib - -MY_P="${PN}-$(ver_cut 1-3)" -S=${WORKDIR}/${MY_P} - -SLOT=$(ver_cut 1-2) -MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) -RUBYVERSION=${SLOT}.0 - -DESCRIPTION="An object-oriented scripting language" -HOMEPAGE="https://www.ruby-lang.org/" -SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" - -LICENSE="|| ( Ruby-BSD BSD-2 )" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 s390 sparc x86" -IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs" - -RDEPEND=" - berkdb? ( sys-libs/db:= ) - gdbm? ( sys-libs/gdbm:= ) - jemalloc? ( dev-libs/jemalloc ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl ) - ) - socks5? ( >=net-proxy/dante-1.1.13 ) - tk? ( - dev-lang/tcl:0=[threads] - dev-lang/tk:0=[threads] - ) - dev-libs/libyaml - dev-libs/libffi:= - sys-libs/readline:0= - sys-libs/zlib - >=app-eselect/eselect-ruby-20171225 -" - -DEPEND="${RDEPEND}" - -BUNDLED_GEMS=" - >=dev-ruby/did_you_mean-1.2.0:2.5[ruby_targets_ruby25] - >=dev-ruby/minitest-5.10.3[ruby_targets_ruby25] - >=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby25] - >=dev-ruby/power_assert-1.1.1[ruby_targets_ruby25] - >=dev-ruby/rake-12.3.0[ruby_targets_ruby25] - >=dev-ruby/test-unit-3.2.7[ruby_targets_ruby25] - >=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby25] -" - -PDEPEND=" - ${BUNDLED_GEMS} - virtual/rubygems[ruby_targets_ruby25] - >=dev-ruby/json-2.0.2[ruby_targets_ruby25] - rdoc? ( >=dev-ruby/rdoc-6.1.2[ruby_targets_ruby25] ) - xemacs? ( app-xemacs/ruby-modes )" - -src_prepare() { - eapply "${FILESDIR}"/${SLOT}/{001,005,011}*.patch - - einfo "Unbundling gems..." - cd "$S" - # Remove bundled gems that we will install via PDEPEND, bug - # 539700. Use explicit version numbers to ensure rm fails when they - # change so we can update dependencies accordingly. - rm -f gems/{did_you_mean-1.2.0,minitest-5.10.3,net-telnet-0.1.1,power_assert-1.1.1,rake-12.3.0,test-unit-3.2.7,xmlrpc-0.3.0}.gem || die - - einfo "Removing bundled libraries..." - rm -fr ext/fiddle/libffi-3.2.1 || die - - eapply_user - - eautoreconf -} - -src_configure() { - local modules= myconf= - - # -fomit-frame-pointer makes ruby segfault, see bug #150413. - filter-flags -fomit-frame-pointer - # In many places aliasing rules are broken; play it safe - # as it's risky with newer compilers to leave it as it is. - append-flags -fno-strict-aliasing - # SuperH needs this - use sh && append-flags -mieee - - # Socks support via dante - if use socks5 ; then - # Socks support can't be disabled as long as SOCKS_SERVER is - # set and socks library is present, so need to unset - # SOCKS_SERVER in that case. - unset SOCKS_SERVER - fi - - # Increase GC_MALLOC_LIMIT if set (default is 8000000) - if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then - append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" - fi - - # ipv6 hack, bug 168939. Needs --enable-ipv6. - use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET" - - # Determine which modules *not* to build depending in the USE flags. - if ! use berkdb ; then - modules="${modules},dbm" - fi - if ! use gdbm ; then - modules="${modules},gdbm" - fi - if ! use ssl ; then - modules="${modules},openssl" - fi - if ! use tk ; then - modules="${modules},tk" - fi - - # Provide an empty LIBPATHENV because we disable rpath but we do not - # need LD_LIBRARY_PATH by default since that breaks USE=multitarget - # #564272 - INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \ - --program-suffix=${MY_SUFFIX} \ - --with-soname=ruby${MY_SUFFIX} \ - --enable-shared \ - --enable-pthread \ - --disable-rpath \ - --with-out-ext="${modules}" \ - $(use_with jemalloc jemalloc) \ - $(use_enable socks5 socks) \ - $(use_enable doc install-doc) \ - --enable-ipv6 \ - $(use_enable static-libs static) \ - $(use_enable static-libs install-static-library) \ - $(use_with static-libs static-linked-ext) \ - $(use_enable debug) \ - ${myconf} \ - --enable-option-checking=no -} - -src_compile() { - emake V=1 EXTLDFLAGS="${LDFLAGS}" -} - -src_test() { - emake -j1 V=1 test - - elog "Ruby's make test has been run. Ruby also ships with a make check" - elog "that cannot be run until after ruby has been installed." - elog - if use rubytests; then - elog "You have enabled rubytests, so they will be installed to" - elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other" - elog "than root, and you must place them into a writeable directory." - elog "Then call: " - elog - elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb" - else - elog "Enable the rubytests USE flag to install the make check tests" - fi -} - -src_install() { - # Remove the remaining bundled gems. We do this late in the process - # since they are used during the build to e.g. create the - # documentation. - rm -rf ext/json || die - - # Ruby is involved in the install process, we don't want interference here. - unset RUBYOPT - - local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) - - LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" - for d in $(find "${S}/ext" -type d) ; do - RUBYLIB="${RUBYLIB}:$d" - done - export LD_LIBRARY_PATH RUBYLIB - - emake V=1 DESTDIR="${D}" install - - # Remove installed rubygems and rdoc copy - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" - rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" - rm -rf "${ED}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" - - if use doc; then - make DESTDIR="${D}" install-doc || die "make install-doc failed" - fi - - if use examples; then - insinto /usr/share/doc/${PF} - doins -r sample - fi - - dodoc ChangeLog NEWS doc/NEWS* README* - - if use rubytests; then - pushd test - insinto /usr/share/${PN}-${SLOT}/test - doins -r . - popd - fi -} - -pkg_postinst() { - if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then - eselect ruby set ruby${MY_SUFFIX} - fi - - elog - elog "To switch between available Ruby profiles, execute as root:" - elog "\teselect ruby set ruby(23|24|...)" - elog -} - -pkg_postrm() { - eselect ruby cleanup -} diff --git a/dev-lang/ruby/ruby-2.5.8.ebuild b/dev-lang/ruby/ruby-2.5.8.ebuild index 6271cf363ed5..f74498bf13c4 100644 --- a/dev-lang/ruby/ruby-2.5.8.ebuild +++ b/dev-lang/ruby/ruby-2.5.8.ebuild @@ -17,7 +17,7 @@ HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" LICENSE="|| ( Ruby-BSD BSD-2 )" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~mips ppc ppc64 s390 sparc x86" IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs" RDEPEND=" diff --git a/dev-lang/ruby/ruby-2.6.5.ebuild b/dev-lang/ruby/ruby-2.6.6-r1.ebuild index d8c52f1d99a3..6a89a6a0f4b5 100644 --- a/dev-lang/ruby/ruby-2.6.5.ebuild +++ b/dev-lang/ruby/ruby-2.6.6-r1.ebuild @@ -17,7 +17,7 @@ HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" LICENSE="|| ( Ruby-BSD BSD-2 )" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs" RDEPEND=" @@ -38,7 +38,7 @@ RDEPEND=" dev-libs/libffi:= sys-libs/readline:0= sys-libs/zlib - >=app-eselect/eselect-ruby-20171225 + >=app-eselect/eselect-ruby-20181225 " DEPEND="${RDEPEND}" @@ -205,8 +205,7 @@ src_install() { fi if use examples; then - insinto /usr/share/doc/${PF} - doins -r sample + dodoc -r sample fi dodoc ChangeLog NEWS doc/NEWS* README* diff --git a/dev-lang/ruby/ruby-2.6.6.ebuild b/dev-lang/ruby/ruby-2.6.6.ebuild index 964dc3f416e5..921aad60f88c 100644 --- a/dev-lang/ruby/ruby-2.6.6.ebuild +++ b/dev-lang/ruby/ruby-2.6.6.ebuild @@ -17,7 +17,7 @@ HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" LICENSE="|| ( Ruby-BSD BSD-2 )" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs" RDEPEND=" diff --git a/dev-lang/ruby/ruby-2.7.0.ebuild b/dev-lang/ruby/ruby-2.7.1-r1.ebuild index 79b2785eb9fc..1c5b95241d8f 100644 --- a/dev-lang/ruby/ruby-2.7.0.ebuild +++ b/dev-lang/ruby/ruby-2.7.1-r1.ebuild @@ -38,7 +38,7 @@ RDEPEND=" dev-libs/libffi:= sys-libs/readline:0= sys-libs/zlib - >=app-eselect/eselect-ruby-20171225 + >=app-eselect/eselect-ruby-20191222 " DEPEND="${RDEPEND}" @@ -46,7 +46,7 @@ DEPEND="${RDEPEND}" BUNDLED_GEMS=" >=dev-ruby/minitest-5.13.0[ruby_targets_ruby27] >=dev-ruby/net-telnet-0.2.0[ruby_targets_ruby27] - >=dev-ruby/power_assert-1.1.5[ruby_targets_ruby27] + >=dev-ruby/power_assert-1.1.7[ruby_targets_ruby27] >=dev-ruby/rake-13.0.1[ruby_targets_ruby27] >=dev-ruby/test-unit-3.3.4[ruby_targets_ruby27] >=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby27] @@ -55,7 +55,7 @@ BUNDLED_GEMS=" PDEPEND=" ${BUNDLED_GEMS} virtual/rubygems[ruby_targets_ruby27] - >=dev-ruby/bundler-2.1.0[ruby_targets_ruby27] + >=dev-ruby/bundler-2.1.4[ruby_targets_ruby27] >=dev-ruby/did_you_mean-1.3.1[ruby_targets_ruby27] >=dev-ruby/json-2.0.2[ruby_targets_ruby27] rdoc? ( >=dev-ruby/rdoc-6.1.2[ruby_targets_ruby27] ) diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest index 28f076ee976c..d8630e0a775b 100644 --- a/dev-lang/rust-bin/Manifest +++ b/dev-lang/rust-bin/Manifest @@ -26,6 +26,21 @@ DIST rust-1.42.0-powerpc64le-unknown-linux-gnu.tar.xz 109926880 BLAKE2B 92a9067f DIST rust-1.42.0-s390x-unknown-linux-gnu.tar.xz 116937084 BLAKE2B 4d68801c7c40aa0aca24d19d25e80614b5b40aa2715aacddb6b9f5441b1c7e19e7b0d396caea860607df1dc580deadc43d9cd1f988cbe654b3132b665f9032af SHA512 85b1331a9a71cc43a2fa628b8510590ff072e409c2c38ebfd9089ab7a245182e23b52f6221b25c63f6048e1bf4ada0f561dd8f3f810680c9727040bc8a0d8d46 DIST rust-1.42.0-x86_64-unknown-linux-gnu.tar.xz 110826392 BLAKE2B 8c90bacc9b350d64c4084edf104e9004461d681e19f8e8179ff6eb0b2bc50e25d95e3ed13c83f77224cc60f374f3961f0069dfe20512c844598b8eb2393300b0 SHA512 87c06d4503e7ba12bd3dfc8dd279a3bdf33a24d2c22eec1378b79b2c17ccdad9b4c8dbd0d4704eae1f3476aec5639d3ba143e8c74a296d631b17b57da7447e70 DIST rust-1.42.0-x86_64-unknown-linux-musl.tar.xz 97471188 BLAKE2B 29e7089a33a20e5c57a68c171e6b049e5dbc97d4c940106bbf7116c970e7ddb2271b1cf33162b4141d89b0b59049e09ca49c848a326036eefbc03e369f3ab18e SHA512 d804a08e38fa6735ce57067a3c39c59e2932943aa8baf43419815e9c743f50e198d88ef80d87fc193b8bcba011c685471146c0741954095eed74e41f86de38c8 +DIST rust-1.43.0-aarch64-unknown-linux-gnu.tar.xz 103995164 BLAKE2B 176c7fe79ab9bc28acae5836bd1af024320e89debe31713f611fe9338656a1357e7538035a8d9da8c2258715ea4724cabfca60af67df2c521e5a92c48f0b6daf SHA512 99cc7913d49c58a6a5f5b065afaff58ecf6cb00f5a83b8047944d2bde94eed9a33a7edc88373c52a371bad4f1b5f8d8742ac22ac9c05911223e76f13ffece70a +DIST rust-1.43.0-arm-unknown-linux-gnueabi.tar.xz 103463680 BLAKE2B 32c158b7e36ee311a920db1e46bfd6463f9700c55332b0daee507e52fbca5733045efb5a0d14de07eabf1c311d5e23e2cbd3946731b4658b9e6e335970e94042 SHA512 63d8a68f227b64247dd2592dc249dbca2317a769035210147d507d836ed1f729474fbb38f8057064779052a78904ae6a378ffcb92ef652e818aa618ae8d971ac +DIST rust-1.43.0-arm-unknown-linux-gnueabihf.tar.xz 104566108 BLAKE2B c2c12f3e81972bc7e00088ec05aeb6a3cdd9e7bdad75f7444829fe5212c1d9540373331e3b67bcc3985985c3c26c9a159a1558bf0dcb4d6c1cc93255fc5de715 SHA512 5c4aaf87d9a320d146c9698751ad7ca6ea4f0db1de1add70271133c2d412268955932a014e97962f82b32529f6e9845a392a622b4cdf5905f93444d56483645f +DIST rust-1.43.0-armv7-unknown-linux-gnueabihf.tar.xz 108910044 BLAKE2B 7d9e6528caacd4deea26e2f61b499ac64407c2993f91c80f490d6b90a6c7463186de73b2cfdcda6b9d9cbe7ca46163eda91392daaf3ba5df6b7e0bd9053627f0 SHA512 728ed2d12079989f4547b1756e9e5b9fdf551f54626b02141346e8e42df1b2a4039b16131864021ab95b6011084e00e3edc2c072a4917a3a4fde965c0a0e2c15 +DIST rust-1.43.0-i686-unknown-linux-gnu.tar.xz 126712424 BLAKE2B 4803c58374bc9a6a415f34560b54137d0470b6dcebc874baaa630e3a924b25a656c156cd52e0770c7beca57e0836080299d8ff6cb3de45fa22d5d6839a38b309 SHA512 25fa8203874cac4f0c57da77c0ee9d2750b595f43590b666ad609ad1fe85fdc2604658be5fe7059aff6d0d567be0c6ae01e1e9d7fceb22bd602f1548201aa0eb +DIST rust-1.43.0-mips-unknown-linux-gnu.tar.xz 95888196 BLAKE2B 36d85527e56181575061172d73c3d81a8978587bc2586fa7d41159601ac81ac00f9cc5ca582086a1a5564f5284caf297dc7bf703884d1206d86ecfff951c5f15 SHA512 bd94d3a64eeb22a720b04ee3ad0d5b488ba6f981fff5e93b5a140d6a68cbf6489eaba1f4c9f9f028f34b12623f89b72ff07a0cf03c611ba4b97a715459d6f4d0 +DIST rust-1.43.0-mips64-unknown-linux-gnuabi64.tar.xz 100772304 BLAKE2B 5d958d5c16b36eff4138edf5d1cdd6852b17ee05c804ad7896c17dcf68b2417a1cb5dad530c6c8e51612b3e229e19e78505798506317da63148b7f3e7bd45426 SHA512 f3c87264f5585c6b8d6d76de298b9585e9b5700c0a4246b2eefcb773466ae9a0958a83c4f7b8460186f89f4d0f73cb43719a8d6b985c65bdbd69746bd6fd7bb1 +DIST rust-1.43.0-mipsel-unknown-linux-gnu.tar.xz 97727252 BLAKE2B 19054f41e6278cfc419dec3a3a8b59101611de1e55699f63974898a14197fecece5fc78f3fb431fb610d062b8d082e652183f511135afcaa4ee2e4b1cd7e18e1 SHA512 808f2ce7afd5f6464d53fdece7f3f54e5bafc2c6757b6472e8070c3418b17daaef34d980e435c086c86fa228c8f11349ac7902eae73cf3bd4fd57ce552ccc192 +DIST rust-1.43.0-powerpc-unknown-linux-gnu.tar.xz 102103936 BLAKE2B 7cc4919d4e197aff4d24f9f8ad9c8230f8cc132b56469d6c39543141b4538bd74f5f80668fbd3eec2a8e60a3f7c6a9934f648312dfc84f21e0fafbc14377877d SHA512 6255171dd035278daf304812ce57c32553db59494bc40dbb610afae26fe889239e724511bef5197d28412279aded2d36cb5733c2e2fc42fae1a795405e635a6b +DIST rust-1.43.0-powerpc64-unknown-linux-gnu.tar.xz 109310784 BLAKE2B 397dc8a29d2c8ddf3fcbbe540cd1197edfd64e5156b10a36d15d9c64e37a116e92323dd2fa3d929d27d98d6a4089ed6693519d8c64c6c3f0698a7981601db3e6 SHA512 d67193607cb78ed0284553d014e3faea059c7ac7e6d76c54dcc5affdc70f54a88c9d084589a3ccd91cd39fe07f0dd5920e65cfdcb7aba3ea0dcc75bab941f7b5 +DIST rust-1.43.0-powerpc64le-unknown-linux-gnu.tar.xz 111611976 BLAKE2B c3a730fc97ea17ced8f6de2ab4d291feeee567343d766ea52456455950b5b0aed5a8ddc0ff6b0604850b95fe2ffe85f8a7a927ca3ae65a90c53cd5156a9395e1 SHA512 800df0c10cd188f6aa9c4f16a61a33e51de091781c463e64409f79d9f16b8de0e49f93c0185ea27355724cc032ef6469c020163ef27357287d091cce9e57635d +DIST rust-1.43.0-s390x-unknown-linux-gnu.tar.xz 119622236 BLAKE2B 358ba8387bf19d0d2338a17ff8364b63a99f35de30e754af6279c9edf26d011cf0c833f4b24a7c715d4524f60dcf53721339c1c5ad7b3dc2a9f35bf38a82b33f SHA512 9202c0cca2feb03fec26c3fd1367f7f5ace3194c7f668753cffa23f7ced7f53291c64873de7dcc6d813ef2986f907191ee24e8a027cc83da36006f590660ffe1 +DIST rust-1.43.0-x86_64-unknown-linux-gnu.tar.xz 112598556 BLAKE2B 4c5ca5dee24b5a3f48ade89c80e1fd0180d7dac5c8040b034a72bd165001b59f3da15d7ac6c234ca199240638c797e4d31e52e52cff9170ec5cc53f0959b1acd SHA512 3fb0630e76f78565cafa9882d1c09a2bb31d0de145748ba4506d7b6a5ea508c4fb533ac3f60df8335d9c4944ba8f028752441d3c3443e3990fe3cc4e676c1670 +DIST rust-1.43.0-x86_64-unknown-linux-musl.tar.xz 100659284 BLAKE2B 4dbfcbf3526e3ec0a51eadb410876c27c110b59f18a54db30b358b5b2b61edaed907a4584bb0678e5754364f5fca6ca0f9f11f6a2099e9440f70731ddf31f251 SHA512 f1b449a8f0d585c648ec04723126865ddbcc1b101a2f38d53832e8f2bae0fbe3ab1751074511f5a053404bee06646cec5d32937cf6c32f9ccc022d04bd021cf0 EBUILD rust-bin-1.41.1.ebuild 5383 BLAKE2B 866e2af12cc6c37e6df7393bd53f84f269bb9b73400d1669a06cfc64c2d98dd60c0889f58e0463876cabf44db012598957eed6a2fa4d65eb8c6a080d5df8eb17 SHA512 c8da3bfcb3b7358428df06eadb7f60aabe6344c8803d1bfb2923a6b02d20f4ad600288b33658a51a91a957cedc95ecbd9b102bf3e41a8bd026acf2b4bf5767fd EBUILD rust-bin-1.42.0.ebuild 5387 BLAKE2B 62fcf3605d748d3c2dca31e0a1abb00abb5f2ae03761f8818d06c77a4228cd0a9cedf90611c4580d89f2acfdcb9197fa7a60f4400fe35c9c46c8a1ab94ed1742 SHA512 790d6acb4936dfb453e32d5cb704579a0cca66e316c179e9e969af9aaec6aa0233b0bf2b001000ccce4920b382402bd1d3a8cc14e8458fbbdccec970f0090147 +EBUILD rust-bin-1.43.0.ebuild 5846 BLAKE2B 93c94893d96abc74d93ec29411eaa75af9dac4183d04326de0d52280305e213e9df54d93d80a0cdbadcb4083fc8708e4ddbdbadd6cbbf7863fbc433543cff5d2 SHA512 b8f63e6fb760272adac9934386ec05037722cb6f6edd860af58ae8e7055930b0e6c67276fa22f4a7e3c7ab56f8202cda564c45554c6d901f7c3de67d2e5384e4 MISC metadata.xml 400 BLAKE2B 0d1b68fd1959b1ca32f5e61356ceddfae623872d0fdc4f514922820260df46dec79349c6cb9b0aa36aa38fc790851307f70634a4bf39520dcd50d5c6048c7cc2 SHA512 517ec5f36df802c8299a6957cfddc17af8265b69ab86f46fe762193848bec042d369a2885ceeb61b1725d98c3022ea10202d9cc79f5eb32db2fef2667047f28d diff --git a/dev-lang/rust-bin/rust-bin-1.43.0.ebuild b/dev-lang/rust-bin/rust-bin-1.43.0.ebuild new file mode 100644 index 000000000000..2eced9c11b7a --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.43.0.ebuild @@ -0,0 +1,184 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MULTILIB_COMPAT=( abi_x86_{32,64} ) + +inherit bash-completion-r1 rust-toolchain toolchain-funcs multilib-minimal + +MY_P="rust-${PV}" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P})" + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" +SLOT="stable" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="clippy cpu_flags_x86_sse2 doc libressl rustfmt" + +DEPEND="" +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + sys-libs/zlib + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + net-libs/libssh2 + net-misc/curl[ssl] +" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +QA_PREBUILT=" + opt/${P}/bin/*-${PV} + opt/${P}/lib/*.so + opt/${P}/lib/rustlib/*/bin/* + opt/${P}/lib/rustlib/*/lib/*.so + opt/${P}/lib/rustlib/*/lib/*.rlib* +" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + default + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die +} + +multilib_src_install() { + if multilib_is_native_abi; then + + # start native abi install + pushd ${S} >/dev/null || die + local std + std="$(grep 'std' ./components)" + local components="rustc,cargo,${std}" + use doc && components="${components},rust-docs" + use clippy && components="${components},clippy-preview" + use rustfmt && components="${components},rustfmt-preview" + ./install.sh \ + --components="${components}" \ + --disable-verify \ + --prefix="${ED}/opt/${P}" \ + --mandir="${ED}/opt/${P}/man" \ + --disable-ldconfig \ + || die + + local rustc=rustc-bin-${PV} + local rustdoc=rustdoc-bin-${PV} + local rustgdb=rust-gdb-bin-${PV} + local rustgdbgui=rust-gdbgui-bin-${PV} + local rustlldb=rust-lldb-bin-${PV} + + mv "${ED}/opt/${P}/bin/rustc" "${ED}/opt/${P}/bin/${rustc}" || die + mv "${ED}/opt/${P}/bin/rustdoc" "${ED}/opt/${P}/bin/${rustdoc}" || die + mv "${ED}/opt/${P}/bin/rust-gdb" "${ED}/opt/${P}/bin/${rustgdb}" || die + mv "${ED}/opt/${P}/bin/rust-gdbgui" "${ED}/opt/${P}/bin/${rustgdbgui}" || die + mv "${ED}/opt/${P}/bin/rust-lldb" "${ED}/opt/${P}/bin/${rustlldb}" || die + + dosym "${rustc}" "/opt/${P}/bin/rustc" + dosym "${rustdoc}" "/opt/${P}/bin/rustdoc" + dosym "${rustgdb}" "/opt/${P}/bin/rust-gdb" + dosym "${rustgdbgui}" "/opt/${P}/bin/rust-gdbgui" + dosym "${rustlldb}" "/opt/${P}/bin/rust-lldb" + + dosym "../../opt/${P}/bin/${rustc}" "/usr/bin/${rustc}" + dosym "../../opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}" + dosym "../../opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}" + dosym "../../opt/${P}/bin/${rustgdbgui}" "/usr/bin/${rustgdbgui}" + dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}" + + local cargo=cargo-bin-${PV} + mv "${ED}/opt/${P}/bin/cargo" "${ED}/opt/${P}/bin/${cargo}" || die + dosym "${cargo}" "/opt/${P}/bin/cargo" + dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}" + + if use clippy; then + local clippy_driver=clippy-driver-bin-${PV} + local cargo_clippy=cargo-clippy-bin-${PV} + mv "${ED}/opt/${P}/bin/clippy-driver" "${ED}/opt/${P}/bin/${clippy_driver}" || die + mv "${ED}/opt/${P}/bin/cargo-clippy" "${ED}/opt/${P}/bin/${cargo_clippy}" || die + dosym "${clippy_driver}" "/opt/${P}/bin/clippy-driver" + dosym "${cargo_clippy}" "/opt/${P}/bin/cargo-clippy" + dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}" + dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}" + fi + if use rustfmt; then + local rustfmt=rustfmt-bin-${PV} + local cargo_fmt=cargo-fmt-bin-${PV} + mv "${ED}/opt/${P}/bin/rustfmt" "${ED}/opt/${P}/bin/${rustfmt}" || die + mv "${ED}/opt/${P}/bin/cargo-fmt" "${ED}/opt/${P}/bin/${cargo_fmt}" || die + dosym "${rustfmt}" "/opt/${P}/bin/rustfmt" + dosym "${cargo_fmt}" "/opt/${P}/bin/cargo-fmt" + dosym "../../opt/${P}/bin/${rustfmt}" "/usr/bin/${rustfmt}" + dosym "../../opt/${P}/bin/${cargo_fmt}" "/usr/bin/${cargo_fmt}" + fi + + cat <<-EOF > "${T}"/50${P} + LDPATH="/opt/${P}/lib" + MANPATH="/opt/${P}/man" + EOF + doenvd "${T}"/50${P} + + # note: eselect-rust adds EROOT to all paths below + cat <<-EOF > "${T}/provider-${P}" + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + EOF + echo /usr/bin/cargo >> "${T}/provider-${P}" + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + popd >/dev/null || die + #end native abi install + + else + local rust_target + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" + dodir "/opt/${P}/lib/rustlib" + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ + "${ED}/opt/${P}/lib/rustlib" || die + fi +} + +pkg_postinst() { + eselect rust update --if-unset + + elog "Rust installs a helper script for calling GDB now," + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}," + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi + + if use elibc_musl; then + ewarn "${PN} on *-musl targets is configured with crt-static" + ewarn "" + ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf" + ewarn "to use it with portage, otherwise you may see failures like" + ewarn "error: cannot produce proc-macro for serde_derive as the target " + ewarn "x86_64-unknown-linux-musl does not support these crate types" + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest index d4e79dc091d6..ca0cd6113057 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -1,6 +1,9 @@ +AUX 0012-Ignore-broken-and-non-applicable-tests.patch 3387 BLAKE2B 6809f3d5c2cf5698d516ccd74dbbf66cc4265200f75567fa197743672895ddee418367751ac3d99a263ff3417ed89718cd3602c609d0dfac7ba2fd5ac18dce76 SHA512 0c41c238dc0b5a7130398d8c1d6bb6987c9bff704c89875830e9d6ad28d49d9b300c1fe7c982ef9be9a92ed0057f6fc04a604d189d1aec2dc2b014d6d50a7d8d AUX 1.40.0-add-soname.patch 1690 BLAKE2B 87708762c1870789462cbcff2d66aae1321c4a7a2a3442536b497c824132082c260d59a47c74242bd954f6ef174784d73352188077899927b62fa71707cb7aec SHA512 d835699769f5f68d5f92507c03460a6aa84d0c93b03f71b0a5fdf9efbc4cf4761d1e10135ae8240b91f97fa158424fdb5c30b7aea96672c754f1091e80511902 AUX 1.42.0-fix-bootstrap.patch 17104 BLAKE2B 21b7f7730e32da7dcfc5cbb2ae73d3e3dab59770151e3ff39073a023fd0826b82a1c52bbb2f5d6c2a1d8b4d9eef40aba399dd56e200aea91e4ed8ababcb3b8aa SHA512 47541c5da1f3cf2d92386ed36c4370475cd045ea7797234de6b6ca5f81b28fe786dc6cc5d476aa1c1b61a470c07b5353c419e69a8e55a2a0a1f303af9e141502 AUX 1.42.0-libressl.patch 8882 BLAKE2B 8edea3054fa1f88b1ea7fd3712c7aceb0ba79b865f091f0ea0005605947f4c30facdff58a8ffa8915b19fa405d263b7c9491664f24e543f428cbb463780bb3d2 SHA512 c92ee1c174461bc79b32fd87d45ea0d1fc978369f656b78c565d4922499ff9fa3a875f73d032b0b0aeeb9187e07be8a975f6e25576f3cad457bf62ebca9aed82 +AUX 1.43.0-llvm10-LLVMTimeTraceProfilerInitialize.patch 839 BLAKE2B 65143b5a6ba56549c05c366e28c334610ff1ef35dbfb41afc6cef38b32a08ac47b50a7eb3bdb1760395fdb8eaf7af38cf752fff0340edd07e35ac0d0288c20cb SHA512 62a1402e998620dec576950f5f6701ec432a02a8ef882bb636e63eee1b12a729c01304394cca27f3a78ef42152350e39afb9d8ef0bcb844c92b87a4b6ba2588e +AUX 1.43.0-llvm10.patch 8747 BLAKE2B a34b7b671bd2554a6f5e854f76f3242ab30b38c8d77d5965ab39bd24825ec37ef4980e0078cb3dc058037089dda8d6f51ce284b8fc786bcd4af77ec511a9d967 SHA512 b004d0c8945fcd5c10342086ff5643af615419abddf20f04ebeb8d470b450cda1fbc74aac1609f9f3bcc1ca04db23f704d75ee03d6b1f706ad9d1e4e1c0a367a AUX llvm-gcc10.patch 1086 BLAKE2B 92e4eb43f6b65d01fd0de1b51bf027e2ca874aa3f07b3b56f22c8e9a36a523625259bc850103fff36f99dd6a866c47d751752e95116ecfcd5281eea3d0475c1f SHA512 2e6edf3b10003ee873cfa7b2e6f25a58699df41a26b51a85472a19373bb2145d1259c26128584ebd56470e53c5f5624495f1848624c7819436846f3ad67cb18f DIST rust-1.40.0-aarch64-unknown-linux-gnu.tar.xz 80285104 BLAKE2B 857a3148337833a216912b732c017827d0ee2869af41d114f3a743fbc8bd0ad851c4c42dca63cbcb8f15c816a8c45bd60049fb60ea80a85faec23000140acab6 SHA512 f601e4251e08a6d66edb0489b6ab840b57622b506547e81036e6dfe08eb71005a22a2777a0b8b2d07a6f88286d58f513482b863116311a6f43c7284769af6e7f DIST rust-1.40.0-arm-unknown-linux-gnueabi.tar.xz 82051152 BLAKE2B 33c62780b3f228298217f7a16e00348cf3c29c504f59de414a0e8a3c506c801d87f460a7bf6107bb7856249c5a5b8fad94499f7f059602b99252ef85dc5b973c SHA512 2098ff12393dd99004ce94f49d445dad03184a108ea8249b70e51abd44bd510f8a4ee43eba3b32967b1a543951e8eec5b06c85692312821b5c855c1d5f034e94 @@ -30,8 +33,24 @@ DIST rust-1.41.1-powerpc64le-unknown-linux-gnu.tar.xz 110594504 BLAKE2B eaf9c92e DIST rust-1.41.1-s390x-unknown-linux-gnu.tar.xz 114814112 BLAKE2B ef22c377e1d89ef4ebe78df19d91bcf042e2e1d8997be80d7d40998b18f6b44f8bb1232b1f72e42e3ffb6d1ff235f3cd2f04854e996bbf7be8f6d5d7299e8514 SHA512 f809adc626876df5c6e050362d59189ede5e3991ac41fd129922540abeb728f618e1a3f3925cee34895de5e037141aabb1f8c2b94d4069945d174e38446e8153 DIST rust-1.41.1-x86_64-unknown-linux-gnu.tar.xz 111202140 BLAKE2B 226c68b1e97cc9be82e81f6c9e065e08514166a65a57159c2f63527063ae5f514650afc2591e0c4854ecd0239dc82cbc9a97b99412608645aca879a71354d857 SHA512 c75d4a18cf9300c6ab480d34c5e4b41be971535931455239330cb2a0e927bcf9cf102498cad5dd1d5d802fd1d9c9d214b80e8ff15aa6be68d3e7f41420cad666 DIST rust-1.41.1-x86_64-unknown-linux-musl.tar.xz 96076684 BLAKE2B 3672e24a83c1e4c97a0844f9522a9fced19d5ef01c89d44e54bba8683514a86f7a14ea2e8c2f28d03c65b7e2e0358ff3cea2f85de1e69eb5334c55e18a8c8e4f SHA512 29e7b2aae35017d7f4313e0a482712390ffec752e62d8b1bda95d56a1f93ba882a8f610b469b5d2d7fa3d6d35c2cdc4e45d219ad85b8a3f71ba6ce04b1add48b +DIST rust-1.42.0-aarch64-unknown-linux-gnu.tar.xz 99903344 BLAKE2B 77e64c56c2f3ab505af9d9003d127b8beb3b2204344985faa6de92905c96d92342485e062e0ff1228baf51a67c8c2274078a60cc86e0c67ba99481a5c01d4d0d SHA512 691a11e279efdcafa6bdafacb7fb48ccf653e180e0e85909b6031105a297d47538efb36d63216f6185427f818483a51aa827f351ca2123840d72caf60079fe13 +DIST rust-1.42.0-arm-unknown-linux-gnueabi.tar.xz 102380528 BLAKE2B 5df9a33fa2b1414c9986f01d8dbd85fab2a705818336e1b2c94ca63136be7be63d25a2586efa956cf31aa604106b3c92857e2133169c7f3062da22006f1896bf SHA512 8e1b5351a3289441823ed0ce12f2fb0cedc267efe5c504966aefbc9a74f37ed11f4da1086295d7351c58c2d0bf59c4b7b54b23d5ec0dec4750bd7e38500afeb0 +DIST rust-1.42.0-arm-unknown-linux-gnueabihf.tar.xz 100300920 BLAKE2B eb90db613230e44f5002388d83460b635f33ceee349b094ca2472171d54ce3d459b6a2143a66705ef7ea89dcb0fc9b21e6d2f2f53479098ca8559f7c84ee0697 SHA512 d58c1820f39abfdf74569e26ba4f13347dde16632415d4ec0b54cc99c3b04563ed551ed1ba717b33e9b1a9b13e2502008203472f8ed712e302d1db66909e7ccf +DIST rust-1.42.0-armv7-unknown-linux-gnueabihf.tar.xz 105021972 BLAKE2B 5a04715582193138344ef05700af4ccc90074a1b7d6ed8109993b6c59315e6fd6bc947504fcde36b869da8db4b7b8d8240f908387c8b2d78e21e35f6c27fdef7 SHA512 26768ec530506e20fed8f9ef2c1ca85eec155fc90949f2063836b6109b296a976c8430a698971a8b1c11e8f6ad043d854a36e9f0e849417178411dc5cbd30e59 +DIST rust-1.42.0-i686-unknown-linux-gnu.tar.xz 124258356 BLAKE2B 3e2e0c11e792943be65c989d4b9ba98cc92b2a1dfec7b8506f00d20e439050faf744b991e7e4fa91f0c8a52f7a4e5fb8dc5d383fd0430fa46c4e35dfa5bb26e7 SHA512 7376be5abed573bbf68f73ed5609fa8e22dfa3ead19a3f3d78d553347e3ae01604ab9906f5317f1687a8ab3f9ad9c38cde44ef6f56d7da65a788a74aee9df057 +DIST rust-1.42.0-mips-unknown-linux-gnu.tar.xz 95265764 BLAKE2B b02a340c7689812f7e13286f3dcde893933869c9becb071e9b0455eb68130d74fd67babdf85859ff7b4ef449261be6e09f230a4cf6196041c199d717324c8b21 SHA512 cc19b383ac3dde62750cd247e7fdec9ca4b4ee16880b9b00c42e62c57b46c522950983b500bf8fc70b8198469a18ab92c1ca382e8a07abf8bc937d8f17208d5d +DIST rust-1.42.0-mips64-unknown-linux-gnuabi64.tar.xz 99814476 BLAKE2B 405fa7426a8d21648be97f6b93065b20878419a2c0aa5889ea6a66b9c0f5804d2673a23932a2462965f04e320c4e78f4c79d5b0a6f9877dfe9909d4b4b8864be SHA512 e8933af6290f2cb881fdfc7d2ba3da1c47ef67d847c8a3e659f8f626b7154f202f071ccd4e90555333a3f3dc2bf4101a645b5665dd00a6d72b5acacd6ad317a2 +DIST rust-1.42.0-mipsel-unknown-linux-gnu.tar.xz 95248132 BLAKE2B 875597ba699281d7160ba2f36fe03f3a234d19e5c6e91ce1291ab2369799349a42e1e7e6dcdf524980548a8c499693d6b48967913d4280776da7a921dfd18ab1 SHA512 733307eec1f938385a43b38aadcd84b7d4c1cfc084e070333d955d8b36f3192a7f7e6c05c5c07d782b945acbb261e48db94f2f9f7d3a09e8669055a577c90528 +DIST rust-1.42.0-powerpc-unknown-linux-gnu.tar.xz 100228400 BLAKE2B e05749ab974ffb0dbae332d4f59c8f71047f86c5e33a368555d996ccf14d229b0cda2cfbcf7f05902746fcf9b18a9a1ba4cd8d8cfeb51d3128f04914e8bc062d SHA512 ad2c9d3ebae5ccffd1f70d0a732a3e6cf793b203a8ab7bea3b90d45b63dac84cd513fcc494c7401a6dedcc1e4c3b6fa4ba95a4d3c10411dce5c2a06b84ef934a +DIST rust-1.42.0-powerpc64-unknown-linux-gnu.tar.xz 106116524 BLAKE2B bfa533d3fdeaba4c539f18f205ddaa99c6a6be8f4213cf2d02090cc576ee17c721295262c78d84ec01bc286b59f6a30bf32e7c44e435205908fec03de1a8d60a SHA512 668d1d353bdaf676043ab7f4baad464b202e8ae1be7713e3481b8e9fb5fabd1020e10e178d69d099541cb1b23362b50b826790740156f1c96efa3d2a7457e404 +DIST rust-1.42.0-powerpc64le-unknown-linux-gnu.tar.xz 109926880 BLAKE2B 92a9067ff95bf2293eb5dc3f055275646f9f9764a59ea5dc772b1d8da78c28acfbd93e7a9076dd7ddfb36255cecda0646a7e5cc4ef4767cdb320aaf046f77162 SHA512 e1db9bbef45e88e7d1d5b905379c04786a015c90d0d9de6a6c16276a3e91c342a8231dda7a4d46ecc7adc969d07fd7dd8595975647b9ab69f8997fee74401219 +DIST rust-1.42.0-s390x-unknown-linux-gnu.tar.xz 116937084 BLAKE2B 4d68801c7c40aa0aca24d19d25e80614b5b40aa2715aacddb6b9f5441b1c7e19e7b0d396caea860607df1dc580deadc43d9cd1f988cbe654b3132b665f9032af SHA512 85b1331a9a71cc43a2fa628b8510590ff072e409c2c38ebfd9089ab7a245182e23b52f6221b25c63f6048e1bf4ada0f561dd8f3f810680c9727040bc8a0d8d46 +DIST rust-1.42.0-x86_64-unknown-linux-gnu.tar.xz 110826392 BLAKE2B 8c90bacc9b350d64c4084edf104e9004461d681e19f8e8179ff6eb0b2bc50e25d95e3ed13c83f77224cc60f374f3961f0069dfe20512c844598b8eb2393300b0 SHA512 87c06d4503e7ba12bd3dfc8dd279a3bdf33a24d2c22eec1378b79b2c17ccdad9b4c8dbd0d4704eae1f3476aec5639d3ba143e8c74a296d631b17b57da7447e70 +DIST rust-1.42.0-x86_64-unknown-linux-musl.tar.xz 97471188 BLAKE2B 29e7089a33a20e5c57a68c171e6b049e5dbc97d4c940106bbf7116c970e7ddb2271b1cf33162b4141d89b0b59049e09ca49c848a326036eefbc03e369f3ab18e SHA512 d804a08e38fa6735ce57067a3c39c59e2932943aa8baf43419815e9c743f50e198d88ef80d87fc193b8bcba011c685471146c0741954095eed74e41f86de38c8 DIST rustc-1.41.1-src.tar.xz 93754192 BLAKE2B 235ece650d0c75e1c8700ce73d3811997cd0d827b850a6dd435a269f3f86d85849d54755ea346c5ddcbe0d1224836fd78213f6abeab4a9a8c4c3e2d8a05ff7b4 SHA512 ef33565c9cf4e27ca279072bfed3301e0276c09407d49727640746ba78d289de285278d64b1cce8708461fd6c97c7ab2ea8d56e7a4c4a23b2e66e2d164c35fc9 DIST rustc-1.42.0-src.tar.xz 94186592 BLAKE2B 82298ef3da44188546bb945bcbfc1af630e6a4466b643667da08a04a33c6417afd68fc86302bdd22ab36c208fdb13cbc479e762d1217c05507bbfeb13bfbef7e SHA512 589bfdc92deedd33b8ea0df7f7c64c2a9a085fbea64936eff92f81e812309c060ed7a7adc96f6010d7adf62a68434a230da0f6c5b3540df4e0a5c6de05a31b16 +DIST rustc-1.43.0-src.tar.xz 94354332 BLAKE2B 845b52b6e447b3c9bf3256256f0215056989334d99dc17d196fd088b4c515928602632ce8882316dff6dee462c22aebf5bc7f21da0b4b206ec88bc178ff69163 SHA512 dbff18567f2971da4eb13c670c30b136757692df1bc5024cdc0406f3c30574d3485fd616724987bcc765bc5f64c8ed5026f0e96f11eacb035e00256ed190b4f3 EBUILD rust-1.41.1.ebuild 10125 BLAKE2B 827edb1028a2d81d5c583f476f62fb1f7c4add7385edf720754202e3fc8f19126fb39ed2212ea99b65d5f285b22c8155a38e752a8f8404ebf3f825bd3531277a SHA512 92690ce3696ac7c0e3d224f5be25dcb5f7313e3035b95144bf734de8a7d96b98073423586af021f700206c8063f41bb3c11efc9f201d1a33743491932ff073d2 -EBUILD rust-1.42.0.ebuild 10585 BLAKE2B a762346e53e954be7e79c12446ecd1f2749bc73aa14e24d998644b761fad1c1ced7ef400f7582c16fd28ac49e6287edae34977a673e6365f91f7ca38034ee79c SHA512 27d4ee278494e3ca2697acd9da5a6e053fcdcbbe419c344034c19c4813aa419c4cca64e5801264f7cf324d0c2c5e71f33bdf2b7fc0a93404f557424289f5e189 +EBUILD rust-1.42.0.ebuild 10587 BLAKE2B d676f08d08c81b0dd876bece70e66c99979df6a011d09daf1c93d58fc9f6b8bec25a8a5ad8084eaa69f59f07b1b3a22bdd92ff5226bf4af1cc9f872130c051a5 SHA512 06e3e9b74283ae30fbd1ed7747ecb7a77c2f7af6a8f8a56c1ba42499c7d939d0df6e1bd79d6dc25e9b423f4464d899209606fe5d3d4e0fc0e6d4d2308ebec53b +EBUILD rust-1.43.0.ebuild 11345 BLAKE2B 90a78574cd155d7e22158082038bb350889eaa6d399ddd419a813b4d4e4e7b6e75da77b445c73a5abedf3cac64d2f1440b1cc46de536ff9ee98c6ca4c76c04f9 SHA512 20eab53ef99e961f1e78c2d1693e729a0906ab7fa9ff08e3cb1daace89352089ec86a6a41fbac33ead2532c1177f55e992330a9cd6c128430335d31a5d065dc8 MISC metadata.xml 1083 BLAKE2B 7a7b093c22dcaef58bd67f9c2fd84a000696b234d2bc27315999bf6751cfd2a79441fd22efc284a542ecc84ce1a12ff9ca3495d249eaffa5bc1722b385c6109e SHA512 bfe8c140753e93db67244c92e9a7d193691ceb67de796c30a851966a1262bc5c897ead6e13d728775fa524215b6851609dcbee582022d9d75bb8d1e6fabc4ef4 diff --git a/dev-lang/rust/files/0012-Ignore-broken-and-non-applicable-tests.patch b/dev-lang/rust/files/0012-Ignore-broken-and-non-applicable-tests.patch new file mode 100644 index 000000000000..45fda8aeaf8f --- /dev/null +++ b/dev-lang/rust/files/0012-Ignore-broken-and-non-applicable-tests.patch @@ -0,0 +1,89 @@ +From 1879d1d1a284bf51c752e47db284ce22701ed5d0 Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 16 Sep 2018 16:38:48 +0000 +Subject: [PATCH 12/15] Ignore broken and non-applicable tests + +c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475 +env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox) +long-linker-command-lines: takes >10 minutes to run (but still passes) +simd-intrinsic-generic-bitmask.rs: broken on BE, #59356 +sparc-struct-abi: no sparc target +sysroot-crates-are-unstable: can't run rustc without RPATH +--- + src/test/codegen/sparc-struct-abi.rs | 1 + + src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile | 2 ++ + src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 2 ++ + src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 ++ + src/test/ui/env-funky-keys.rs | 1 + + src/test/ui/simd/simd-intrinsic-generic-bitmask.rs | 2 ++ + 6 files changed, 10 insertions(+) + +diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs +index 78e5b14a212..6f93e93286b 100644 +--- a/src/test/codegen/sparc-struct-abi.rs ++++ b/src/test/codegen/sparc-struct-abi.rs +@@ -4,6 +4,7 @@ + + // only-sparc64 + // compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib ++// ignore-test + #![feature(no_core, lang_items)] + #![no_core] + +diff --git a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile +index f124ca2ab61..363b18f0985 100644 +--- a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile ++++ b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile +@@ -1,3 +1,5 @@ ++# ignore-aarch64 ++ + -include ../tools.mk + + all: +diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile +index 5876fbc94bc..5f167ece1a2 100644 +--- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile ++++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile +@@ -1,3 +1,5 @@ ++# ignore-test ++ + -include ../tools.mk + + all: +diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile +index 9e770706857..6d92ec5cec8 100644 +--- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile ++++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile +@@ -1,1 +1,3 @@ ++# ignore-test ++ + all: + python2.7 test.py +diff --git a/src/test/ui/env-funky-keys.rs b/src/test/ui/env-funky-keys.rs +index c5c824ac58d..f3fe047a79c 100644 +--- a/src/test/ui/env-funky-keys.rs ++++ b/src/test/ui/env-funky-keys.rs +@@ -1,6 +1,7 @@ + // run-pass + // Ignore this test on Android, because it segfaults there. + ++// ignore-test + // ignore-android + // ignore-windows + // ignore-cloudabi no execve +diff --git a/src/test/ui/simd/simd-intrinsic-generic-bitmask.rs b/src/test/ui/simd/simd-intrinsic-generic-bitmask.rs +index b28f742a92e..3ee4ccce731 100644 +--- a/src/test/ui/simd/simd-intrinsic-generic-bitmask.rs ++++ b/src/test/ui/simd/simd-intrinsic-generic-bitmask.rs +@@ -2,6 +2,8 @@ + #![allow(non_camel_case_types)] + + // ignore-emscripten ++// ignore-powerpc ++// ignore-powerpc64 + + // Test that the simd_bitmask intrinsic produces correct results. + +-- +2.24.1 + diff --git a/dev-lang/rust/files/1.43.0-llvm10-LLVMTimeTraceProfilerInitialize.patch b/dev-lang/rust/files/1.43.0-llvm10-LLVMTimeTraceProfilerInitialize.patch new file mode 100644 index 000000000000..552edddd4571 --- /dev/null +++ b/dev-lang/rust/files/1.43.0-llvm10-LLVMTimeTraceProfilerInitialize.patch @@ -0,0 +1,26 @@ +From 724b7ee92f3e83af2a451b726ad990fe7db54528 Mon Sep 17 00:00:00 2001 +From: Nikita Popov <nikita.ppv@gmail.com> +Date: Tue, 4 Feb 2020 20:35:50 +0100 +Subject: [PATCH] Fix timeTraceProfilerInitialize for LLVM 10 + +--- + src/rustllvm/PassWrapper.cpp | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp +index 65071c3ed86e0..ebf4d4017a813 100644 +--- a/src/rustllvm/PassWrapper.cpp ++++ b/src/rustllvm/PassWrapper.cpp +@@ -67,7 +67,11 @@ extern "C" void LLVMInitializePasses() { + } + + extern "C" void LLVMTimeTraceProfilerInitialize() { +-#if LLVM_VERSION_GE(9, 0) ++#if LLVM_VERSION_GE(10, 0) ++ timeTraceProfilerInitialize( ++ /* TimeTraceGranularity */ 0, ++ /* ProcName */ "rustc"); ++#elif LLVM_VERSION_GE(9, 0) + timeTraceProfilerInitialize(); + #endif + } diff --git a/dev-lang/rust/files/1.43.0-llvm10.patch b/dev-lang/rust/files/1.43.0-llvm10.patch new file mode 100644 index 000000000000..14940716abf6 --- /dev/null +++ b/dev-lang/rust/files/1.43.0-llvm10.patch @@ -0,0 +1,194 @@ +From fe83c6cd5922fd6f964fa40ca704fb7f92426202 Mon Sep 17 00:00:00 2001 +From: Nikita Popov <nikita.ppv@gmail.com> +Date: Tue, 4 Feb 2020 19:23:45 +0100 +Subject: [PATCH 2/7] Remove trailing newline from llvm-config output + +--- + src/bootstrap/test.rs | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs +index 4cfda606c4bc8..aaec10ff10b38 100644 +--- a/src/bootstrap/test.rs ++++ b/src/bootstrap/test.rs +@@ -1142,6 +1142,8 @@ impl Step for Compiletest { + let llvm_config = builder.ensure(native::Llvm { target: builder.config.build }); + if !builder.config.dry_run { + let llvm_version = output(Command::new(&llvm_config).arg("--version")); ++ // Remove trailing newline from llvm-config output. ++ let llvm_version = llvm_version.trim_end(); + cmd.arg("--llvm-version").arg(llvm_version); + } + if !builder.is_rust_llvm(target) { + +From 545f18e8f1c2227b74091fbca5c73595f65eeeed Mon Sep 17 00:00:00 2001 +From: Nikita Popov <nikita.ppv@gmail.com> +Date: Sat, 18 Jan 2020 23:00:30 +0100 +Subject: [PATCH 3/7] Fix LLVM version handling in compiletest + +Convert version string to integer before comparing. Otherwise +we get into trouble with double digit versions ;) +--- + src/tools/compiletest/src/header.rs | 27 +++++++++++++++++++++------ + 1 file changed, 21 insertions(+), 6 deletions(-) + +diff --git a/src/tools/compiletest/src/header.rs b/src/tools/compiletest/src/header.rs +index 2a24a8c3c9485..cb648db8830ef 100644 +--- a/src/tools/compiletest/src/header.rs ++++ b/src/tools/compiletest/src/header.rs +@@ -191,6 +191,7 @@ impl EarlyProps { + return true; + } + if let Some(ref actual_version) = config.llvm_version { ++ let actual_version = version_to_int(actual_version); + if line.starts_with("min-llvm-version") { + let min_version = line + .trim_end() +@@ -199,7 +200,7 @@ impl EarlyProps { + .expect("Malformed llvm version directive"); + // Ignore if actual version is smaller the minimum required + // version +- &actual_version[..] < min_version ++ actual_version < version_to_int(min_version) + } else if line.starts_with("min-system-llvm-version") { + let min_version = line + .trim_end() +@@ -208,7 +209,7 @@ impl EarlyProps { + .expect("Malformed llvm version directive"); + // Ignore if using system LLVM and actual version + // is smaller the minimum required version +- config.system_llvm && &actual_version[..] < min_version ++ config.system_llvm && actual_version < version_to_int(min_version) + } else if line.starts_with("ignore-llvm-version") { + // Syntax is: "ignore-llvm-version <version1> [- <version2>]" + let range_components = line +@@ -219,15 +220,15 @@ impl EarlyProps { + .take(3) // 3 or more = invalid, so take at most 3. + .collect::<Vec<&str>>(); + match range_components.len() { +- 1 => &actual_version[..] == range_components[0], ++ 1 => actual_version == version_to_int(range_components[0]), + 2 => { +- let v_min = range_components[0]; +- let v_max = range_components[1]; ++ let v_min = version_to_int(range_components[0]); ++ let v_max = version_to_int(range_components[1]); + if v_max < v_min { + panic!("Malformed LLVM version range: max < min") + } + // Ignore if version lies inside of range. +- &actual_version[..] >= v_min && &actual_version[..] <= v_max ++ actual_version >= v_min && actual_version <= v_max + } + _ => panic!("Malformed LLVM version directive"), + } +@@ -238,6 +239,20 @@ impl EarlyProps { + false + } + } ++ ++ fn version_to_int(version: &str) -> u32 { ++ let version_without_suffix = version.split('-').next().unwrap(); ++ let components: Vec<u32> = version_without_suffix ++ .split('.') ++ .map(|s| s.parse().expect("Malformed version component")) ++ .collect(); ++ match components.len() { ++ 1 => components[0] * 10000, ++ 2 => components[0] * 10000 + components[1] * 100, ++ 3 => components[0] * 10000 + components[1] * 100 + components[2], ++ _ => panic!("Malformed version"), ++ } ++ } + } + } + + +From e06fff0609fedf95b826d82ff32ff836b0e3f3da Mon Sep 17 00:00:00 2001 +From: Nikita Popov <nikita.ppv@gmail.com> +Date: Sun, 19 Jan 2020 22:47:45 +0100 +Subject: [PATCH 4/7] Adjust data layout in test + +--- + .../run-make-fulldeps/target-specs/my-awesome-platform.json | 2 +- + .../target-specs/my-x86_64-unknown-linux-gnu-platform.json | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json b/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json +index 8d028280a8da7..00de3de05f07a 100644 +--- a/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json ++++ b/src/test/run-make-fulldeps/target-specs/my-awesome-platform.json +@@ -1,5 +1,5 @@ + { +- "data-layout": "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128", ++ "data-layout": "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-f64:32:64-f80:32-n8:16:32-S128", + "linker-flavor": "gcc", + "llvm-target": "i686-unknown-linux-gnu", + "target-endian": "little", +diff --git a/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json b/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json +index 48040ae3da0ef..6d5e964ed4fee 100644 +--- a/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json ++++ b/src/test/run-make-fulldeps/target-specs/my-x86_64-unknown-linux-gnu-platform.json +@@ -1,6 +1,6 @@ + { + "pre-link-args": {"gcc": ["-m64"]}, +- "data-layout": "e-m:e-i64:64-f80:128-n8:16:32:64-S128", ++ "data-layout": "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128", + "linker-flavor": "gcc", + "llvm-target": "x86_64-unknown-linux-gnu", + "target-endian": "little", + +From 724b7ee92f3e83af2a451b726ad990fe7db54528 Mon Sep 17 00:00:00 2001 +From: Nikita Popov <nikita.ppv@gmail.com> +Date: Tue, 4 Feb 2020 20:35:50 +0100 +Subject: [PATCH 5/7] Fix timeTraceProfilerInitialize for LLVM 10 + +--- + src/rustllvm/PassWrapper.cpp | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp +index 65071c3ed86e0..ebf4d4017a813 100644 +--- a/src/rustllvm/PassWrapper.cpp ++++ b/src/rustllvm/PassWrapper.cpp +@@ -67,7 +67,11 @@ extern "C" void LLVMInitializePasses() { + } + + extern "C" void LLVMTimeTraceProfilerInitialize() { +-#if LLVM_VERSION_GE(9, 0) ++#if LLVM_VERSION_GE(10, 0) ++ timeTraceProfilerInitialize( ++ /* TimeTraceGranularity */ 0, ++ /* ProcName */ "rustc"); ++#elif LLVM_VERSION_GE(9, 0) + timeTraceProfilerInitialize(); + #endif + } + +From aed9cf36bb4b9c6b357e395552dbb5e1802feec9 Mon Sep 17 00:00:00 2001 +From: Nikita Popov <nikita.ppv@gmail.com> +Date: Mon, 2 Mar 2020 22:37:55 +0100 +Subject: [PATCH 6/7] Update CreateMemSet() usage for LLVM 10 + +--- + src/rustllvm/RustWrapper.cpp | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp +index 49b6e1bfec38d..002eb031dac64 100644 +--- a/src/rustllvm/RustWrapper.cpp ++++ b/src/rustllvm/RustWrapper.cpp +@@ -1300,8 +1300,13 @@ extern "C" LLVMValueRef LLVMRustBuildMemSet(LLVMBuilderRef B, + LLVMValueRef Dst, unsigned DstAlign, + LLVMValueRef Val, + LLVMValueRef Size, bool IsVolatile) { ++#if LLVM_VERSION_GE(10, 0) ++ return wrap(unwrap(B)->CreateMemSet( ++ unwrap(Dst), unwrap(Val), unwrap(Size), MaybeAlign(DstAlign), IsVolatile)); ++#else + return wrap(unwrap(B)->CreateMemSet( + unwrap(Dst), unwrap(Val), unwrap(Size), DstAlign, IsVolatile)); ++#endif + } + + extern "C" LLVMValueRef diff --git a/dev-lang/rust/rust-1.42.0.ebuild b/dev-lang/rust/rust-1.42.0.ebuild index d61ae45fa31c..769cc360926b 100644 --- a/dev-lang/rust/rust-1.42.0.ebuild +++ b/dev-lang/rust/rust-1.42.0.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( python3_{6,7} ) +PYTHON_COMPAT=( python3_{6,7,8} ) inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs diff --git a/dev-lang/rust/rust-1.43.0.ebuild b/dev-lang/rust/rust-1.43.0.ebuild new file mode 100644 index 000000000000..ab176763421d --- /dev/null +++ b/dev-lang/rust/rust-1.43.0.ebuild @@ -0,0 +1,417 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8} ) + +inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SLOT="beta/${PV}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz" +else + ABI_VER="$(ver_cut 1-2)" + SLOT="stable/${ABI_VER}" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" + +ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 + NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" + +IUSE="clippy cpu_flags_x86_sse2 debug doc libressl miri nightly parallel-compiler rls rustfmt system-bootstrap system-llvm wasm ${ALL_LLVM_TARGETS[*]}" + +# Please keep the LLVM dependency block separate. Since LLVM is slotted, +# we need to *really* make sure we're not pulling more than one slot +# simultaneously. + +# How to use it: +# 1. List all the working slots (with min versions) in ||, newest first. +# 2. Update the := to specify *max* version, e.g. < 11. +# 3. Specify LLVM_MAX_SLOT, e.g. 10. +LLVM_DEPEND=" + || ( + sys-devel/llvm:10[${LLVM_TARGET_USEDEPS// /,}] + sys-devel/llvm:9[${LLVM_TARGET_USEDEPS// /,}] + ) + <sys-devel/llvm-11:= + wasm? ( sys-devel/lld ) +" +LLVM_MAX_SLOT=10 + +BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)) >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )" + +# libgit2 should be at least same as bungled into libgit-sys #707746 +COMMON_DEPEND=" + >=dev-libs/libgit2-0.99:= + net-libs/libssh2:= + net-libs/http-parser:= + net-misc/curl:=[ssl] + sys-libs/zlib:= + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + elibc_musl? ( sys-libs/libunwind ) + system-llvm? ( + ${LLVM_DEPEND} + ) +" + +DEPEND="${COMMON_DEPEND} + ${PYTHON_DEPS} + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + dev-util/cmake + dev-util/ninja + ) +" + +RDEPEND="${COMMON_DEPEND} + >=app-eselect/eselect-rust-20190311 +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +QA_FLAGS_IGNORED=" + usr/bin/.*-${PV} + usr/lib.*/lib.*.so + usr/lib/rustlib/.*/codegen-backends/librustc_codegen_llvm-llvm.so + usr/lib/rustlib/.*/lib/lib.*.so +" + +# tests need a bit more work, currently they are causing multiple +# re-compilations and somewhat fragile. +RESTRICT="test" + +QA_SONAME="usr/lib.*/librustc_macros.*.so" + +PATCHES=( + "${FILESDIR}"/1.40.0-add-soname.patch + "${FILESDIR}"/0012-Ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.43.0-llvm10.patch + "${FILESDIR}"/1.42.0-libressl.patch +) + +S="${WORKDIR}/${MY_P}-src" + +toml_usex() { + usex "$1" true false +} + +pre_build_checks() { + CHECKREQS_DISK_BUILD="9G" + eshopts_push -s extglob + if is-flagq '-g?(gdb)?([1-9])'; then + CHECKREQS_DISK_BUILD="15G" + fi + eshopts_pop + check-reqs_pkg_setup +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_SYS_USE_PKG_CONFIG=1 + export LIBSSH2_SYS_USE_PKG_CONFIG=1 + export PKG_CONFIG_ALLOW_CROSS=1 + + if use system-llvm; then + llvm_pkg_setup + + local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config" + + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_prepare() { + if ! use system-bootstrap; then + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + local rust_target="" rust_targets="" arch_cflags + + # Collect rust target names to compile standard libs for all ABIs. + for v in $(multilib_get_enabled_abi_pairs); do + rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + rust_targets="${rust_targets},\"wasm32-unknown-unknown\"" + fi + rust_targets="${rust_targets#,}" + + local tools="\"cargo\"," + if use clippy; then + tools="\"clippy\",$tools" + fi + if use miri; then + tools="\"miri\",$tools" + fi + if use rls; then + tools="\"rls\",\"analysis\",\"src\",$tools" + fi + if use rustfmt; then + tools="\"rustfmt\",$tools" + fi + + local rust_stage0_root + if use system-bootstrap; then + rust_stage0_root="$(rustc --print sysroot)" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + + rust_target="$(rust_abi)" + + cat <<- EOF > "${S}"/config.toml + [llvm] + optimize = $(toml_usex !debug) + release-debuginfo = $(toml_usex debug) + assertions = $(toml_usex debug) + ninja = true + targets = "${LLVM_TARGETS// /;}" + experimental-targets = "" + link-shared = $(toml_usex system-llvm) + [build] + build = "${rust_target}" + host = ["${rust_target}"] + target = [${rust_targets}] + cargo = "${rust_stage0_root}/bin/cargo" + rustc = "${rust_stage0_root}/bin/rustc" + docs = $(toml_usex doc) + compiler-docs = $(toml_usex doc) + submodules = false + python = "${EPYTHON}" + locked-deps = true + vendor = true + extended = true + tools = [${tools}] + verbose = 2 + sanitizers = false + profiler = false + cargo-native-static = false + [install] + prefix = "${EPREFIX}/usr" + libdir = "lib" + docdir = "share/doc/${PF}" + mandir = "share/man" + [rust] + optimize = true + debug = $(toml_usex debug) + debug-assertions = $(toml_usex debug) + debuginfo-level-rustc = 0 + backtrace = true + incremental = false + default-linker = "$(tc-getCC)" + parallel-compiler = $(toml_usex parallel-compiler) + channel = "$(usex nightly nightly stable)" + rpath = false + verbose-tests = true + optimize-tests = $(toml_usex !debug) + codegen-tests = true + dist-src = false + lld = $(usex system-llvm false $(toml_usex wasm)) + backtrace-on-ice = true + jemalloc = false + [dist] + src-tarball = false + EOF + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + cat <<- EOF >> "${S}"/config.env + CFLAGS_${rust_target}=${arch_cflags} + EOF + + cat <<- EOF >> "${S}"/config.toml + [target.${rust_target}] + cc = "$(tc-getBUILD_CC)" + cxx = "$(tc-getBUILD_CXX)" + linker = "$(tc-getCC)" + ar = "$(tc-getAR)" + EOF + # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + if use elibc_musl; then + cat <<- EOF >> "${S}"/config.toml + crt-static = false + EOF + fi + if use system-llvm; then + cat <<- EOF >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + EOF + fi + done + if use wasm; then + cat <<- EOF >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + EOF + fi + + einfo "Rust configured with the following settings:" + cat "${S}"/config.toml || die +} + +src_compile() { + env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ + "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die +} + +src_test() { + env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ + "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml -j$(makeopts_jobs) --no-doc --no-fail-fast \ + src/test/codegen \ + src/test/codegen-units \ + src/test/compile-fail \ + src/test/incremental \ + src/test/mir-opt \ + src/test/pretty \ + src/test/run-fail \ + src/test/run-make \ + src/test/run-make-fulldeps \ + src/test/ui \ + src/test/ui-fulldeps || die +} + +src_install() { + env $(cat "${S}"/config.env) DESTDIR="${D}" \ + "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die + + # bug #689562, #689160 + rm "${D}/etc/bash_completion.d/cargo" || die + rmdir "${D}"/etc{/bash_completion.d,} || die + dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo + + mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die + mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die + mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die + mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die + mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die + mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die + if use clippy; then + mv "${ED}/usr/bin/clippy-driver" "${ED}/usr/bin/clippy-driver-${PV}" || die + mv "${ED}/usr/bin/cargo-clippy" "${ED}/usr/bin/cargo-clippy-${PV}" || die + fi + if use miri; then + mv "${ED}/usr/bin/miri" "${ED}/usr/bin/miri-${PV}" || die + mv "${ED}/usr/bin/cargo-miri" "${ED}/usr/bin/cargo-miri-${PV}" || die + fi + if use rls; then + mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die + fi + if use rustfmt; then + mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die + mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || die + fi + + # Move public shared libs to abi specific libdir + # Private and target specific libs MUST stay in /usr/lib/rustlib/${rust_target}/lib + if [[ $(get_libdir) != lib ]]; then + dodir /usr/$(get_libdir) + mv "${ED}/usr/lib"/*.so "${ED}/usr/$(get_libdir)/" || die + fi + + dodoc COPYRIGHT + rm "${ED}/usr/share/doc/${P}"/*.old || die + rm "${ED}/usr/share/doc/${P}/LICENSE-APACHE" || die + rm "${ED}/usr/share/doc/${P}/LICENSE-MIT" || die + + # note: eselect-rust adds EROOT to all paths below + cat <<-EOF > "${T}/provider-${P}" + /usr/bin/cargo + /usr/bin/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + EOF + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use miri; then + echo /usr/bin/miri >> "${T}/provider-${P}" + echo /usr/bin/cargo-miri >> "${T}/provider-${P}" + fi + if use rls; then + echo /usr/bin/rls >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" +} + +pkg_postinst() { + eselect rust update --if-unset + + elog "Rust installs a helper script for calling GDB and LLDB," + elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." + + if has_version app-editors/emacs; then + elog "install app-emacs/rust-mode to get emacs support for rust." + fi + + if has_version app-editors/gvim || has_version app-editors/vim; then + elog "install app-vim/rust-vim to get vim support for rust." + fi + + if use elibc_musl; then + ewarn "${PN} on *-musl targets is configured with crt-static" + ewarn "" + ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf" + ewarn "to use it with portage, otherwise you may see failures like" + ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target " + ewarn "x86_64-unknown-linux-musl does not support these crate types" + fi +} + +pkg_postrm() { + eselect rust cleanup +} diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest index e765fd872b1d..648d621d831a 100644 --- a/dev-lang/spidermonkey/Manifest +++ b/dev-lang/spidermonkey/Manifest @@ -2,6 +2,7 @@ AUX moz38-dont-hardcode-libc-soname.patch 637 BLAKE2B d78f53814955c3e0842040f473 AUX spidermonkey-1.8.5-LTO.patch 1886 BLAKE2B 28559662306681570ed7b910190da9042a7724a5d9fda0960ebe36039e994b56b65f103095381a8838db54e2ebdd5b8bc3f0f7d500f338907624ca448695a2f1 SHA512 8c44683370f7a919a930dc505278240164b1bea35cd0408ce7d880f56603abde9799aea3bf35f05bd080b214d5d0b944dd004ef5e157607bbb3e679f3ff2c574 AUX spidermonkey-52.0-fix-alpha-bitness.patch 836 BLAKE2B bf89aadfdceab9d1460c31b496618dc19d2461d27e0713887d8c59b7a565a70d38cbaa2ca099b50555417beba54c2b207f80cf13ba633da35be7fab6b3c41faf SHA512 67ccafd8e2b84d59d13ff93bd12930b4804f8cf64cc896a4edf99c962481f583866ea6c4f84b3fd9d1093ad8ca7d23712615470dfadb57d293258754dd612484 AUX spidermonkey-52.0-gcc9-overflow.patch 821 BLAKE2B c35c5a37b40e86d1a23588aebd9b53e81e0a70b01e969bc54c24c68a8adef567d03833e1afa8a02d1659f373226958b8ef3ce84982a8ba24d18fa28a96aa6e40 SHA512 6173486c4d28cb727096a470b22b6b98c675ee355934bf134882a5d068ef492e4cd3519e7da293eae756d5b9cb9950ffd4b1723c6a47de6493491a4bc3573f3b +AUX spidermonkey-60.5.2-ia64-fix-virtual-address-length.patch 2554 BLAKE2B d5759da22c521e389b8633aa2aa75e0a300af76f431a53c0bd445781002b0b7dd93543657cdf53afb12d87e4be1464584d5c3ccb30a2c9acc608aaeb1b2eb34f SHA512 d767cb00988772a0e5789d5b27aaaf0c0cc0124f4dd78ba67d2c4b4587c26346b01fc5b3d29f346e931dcd037ecefc8cec0d5c48510726a1841a6b6396c5507c AUX spidermonkey-60.5.2-ia64-support.patch 1615 BLAKE2B bd2ae36194bdb6a17638ec500e5211abb9700f2b7c5056b5be51e8e54d59326a5c9f0cb6d2d6fa56dd946dba264635e6d75e9b4ed52103c7904df19d33257c7d SHA512 71f2a0f27910ae086910f6599985a32ad2fdedeffc9c4c6baa446f4856dee74051fa158cc0552a3f21210098e0d006a0b5d781437fded80969e1edf23c04b9e0 AUX spidermonkey-perl-defined-array-check.patch 341 BLAKE2B e11a74cc2afbea5e39ec5f3fb4c108278a8b71b57ce71644184bc4e19188059f6cb9c164ab87877605028241ed0b68a1447414f1aa0f5453fa26a603ecd4f6a6 SHA512 5d178b68cf0744da874624da79cd31555bd882aed205e697a3f0bfc3cb91a149d74da79b7af5883ea5a23e1d1692753ebfda0d83e7a25ac000105849db5c1548 DIST firefox-68.0-patches-12.tar.xz 17476 BLAKE2B bd788e24820f902f4ca908b0cf7a49a4c57e058915af1eb87233d19d91271092676c1ee4c67e88df2411ecccea47c4e735efdf95945954f2d9aac5cc2f9051f2 SHA512 8033a3c445eaddd28188b338534da16a4130b679a5f6673b3094524e47435890e6d454d7b67f81bbe21f80ef1b65fa7e6c27d71191ba70dd8ea87fc68463f9a7 @@ -32,5 +33,6 @@ EBUILD spidermonkey-52.9.1_pre1-r1.ebuild 4464 BLAKE2B 087b47427dc3bfe0703ef5e57 EBUILD spidermonkey-52.9.1_pre1.ebuild 4292 BLAKE2B 36bb6fb32b838f11a18ec536be7f09f45bb1d05cd18a3312eb38512c4c895a17bb2a92721b28eb2e8e937f6112531c3647de1d2dc62637291206367c26350757 SHA512 782df8fdff08dc0f6a984e46be564609fb189014353d18b0f0673000beaded9c5cdba1e63f484ae19f5f6571e66a70b55270adea8876cbcfb1e3d36e5cde285c EBUILD spidermonkey-60.5.2_p0-r2.ebuild 3865 BLAKE2B 81729b277561984a49c27c16c099c105863a6a61198cebe65686787ad180c0b03684398f2f3df31e44edce3e8d35723cc12bb89494ca4f76f76367964af040d7 SHA512 c6dec2360c7faf810b0235f7017a306e9f5a6c935ba081f9646e8195ed3b4aed67d26e8445187c5c3889c858a0ef56abaeecace1894733e589eba11f4769df01 EBUILD spidermonkey-60.5.2_p0-r3.ebuild 4045 BLAKE2B 23dcfb6f020e0b832fb8cb30455d6f2c9be52663961b7ffad74265064a09157dd6c39d2c8957ea57a937c94e3c9bc5623ba6e4d4d7a75073a482c357d4304a0f SHA512 6f7e821c23696220d67ae66a6e06f19b86eef30885909c0c7b6c817bfe412898825db7265b817d06b4d181c2ead503e710142728a1bc7fcdf741a073d94f2c2c +EBUILD spidermonkey-60.5.2_p0-r4.ebuild 4112 BLAKE2B 43f7b3cee1e47339d192fce4f74bac7cf3918ca7b9a0c5f4e2f5012ea43f7ed7faa24e8e69bbf2e4c323d191ed942d7ecd484180cafdde387048d0443a0ed2a0 SHA512 4ed6984e311863907d1af6c709bdd41542a52e2a6624a5dc630fb08f38e45cbf628acb16e465c2c73c95164cd399d410b993a22a3248a3d6ad7776a989068864 EBUILD spidermonkey-68.7.0.ebuild 5764 BLAKE2B 10992198135286158221c8c0c17b8247a9c21c26f5b1e4f8ee03f986ccd739186fa081d334bd5a9564e8e16c8d2bf829dbbb2674641c2fcdc0f92ccf72e28111 SHA512 d414774437072efd89fb70735ea5c6401ad16121ab2fa797948ee9e50b2bf3d22698a9105d47bb8a27454d8dd9d10327f906a1774c68954ce67fff90dd530e92 MISC metadata.xml 820 BLAKE2B a0f072d469695cbe2ed23e529104ba5871c9bdd17a64c741df8f9a7dc515a2c229982d8565aad8e8ce6189a8eae1ac84dbf396cacc552e3733b7cedf49171021 SHA512 ae5656ac496ce63a89adb716bc3b324cb91d64ecb4b9c0a2dfb38ec1447253313e7e92e3209faa2b8631c23ce9a7273cc383ab2654b9fba638358f54c34a2b00 diff --git a/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-fix-virtual-address-length.patch b/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-fix-virtual-address-length.patch new file mode 100644 index 000000000000..8b2245f1e353 --- /dev/null +++ b/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-fix-virtual-address-length.patch @@ -0,0 +1,59 @@ +From 8099213b51180254b322332ecd573239da4212c4 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyfox@gentoo.org> +Date: Thu, 23 Jan 2020 22:57:53 +0000 +Subject: [PATCH] ProcessExecutableMemory.cpp: fix virtual address length on + ia64 + +ia64's usable virtual address space is page dependent. For 16K +pages with 3 levels of page tables de can address only 44 bits +of virtual memory, not default 47. + +The change makes page size detection dynamic and adapts to +addressable bits. On ia64 it is '4 * log2(page_size/8)'. + +Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> +--- + js/src/jit/ProcessExecutableMemory.cpp | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + +diff --git a/js/src/jit/ProcessExecutableMemory.cpp b/js/src/jit/ProcessExecutableMemory.cpp +index 9e55c262..8581c150 100644 +--- a/js/src/jit/ProcessExecutableMemory.cpp ++++ b/js/src/jit/ProcessExecutableMemory.cpp + +@@ -248,7 +248,32 @@ static void* ComputeRandomAllocationAddress() { + // x64 CPUs have a 48-bit address space and on some platforms the OS will + // give us access to 47 bits, so to be safe we right shift by 18 to leave + // 46 bits. ++# ifdef __ia64__ ++ // On ia64 virtual address space looks like one of: ++ // virt_addr_64 = [ <63..61> | <unimplemented> | L3 | L2 | L1 | offset ] ++ // virt_addr_64 = [ <63..61> | <unimplemented> | L4 | L3 | L2 | L1 | offset ] ++ // where L{1..L4} are page tables. Each page table (except top-level L3 or L4) ++ // is itself a page-size entry and can store PageSize / 8 entries. Top-level ++ // entry is 1/8 of of L1/L2 (as 3 upper bits are part of <63..61> address part). ++ // Note: that makes addressable size directly depend on page size. ++ // ++ // We conservatively assume 3 levels of page tables here. This makes the ++ // following formula: ++ // L3 = log2(PAGE / 8 / 8) = log2(PAGE / 8) - 3 ++ // L2 = log2(PAGE / 8) ++ // L1 = log2(PAGE / 8) ++ // offset = log2(PAGE) = log2(PAGE / 8) + 3 ++ // thus ++ // L3 + L2 + L1 + offset = 4 * log2(PAGE / 8) ++ // For more details see http://www.ia64-linux.org/doc/IA64linuxkernel.PDF ++ // (slide 19: "user regions"). ++ static uint64_t ia64_virt_bits = std::min<uint64_t>( ++ 4 * (mozilla::FloorLog2(gc::SystemPageSize() / 8)), ++ 46); ++ rand >>= (64 - ia64_virt_bits); ++# else + rand >>= 18; ++# endif + #else + // On 32-bit, right shift by 34 to leave 30 bits, range [0, 1GiB). Then add + // 512MiB to get range [512MiB, 1.5GiB), or [0x20000000, 0x60000000). This +-- +2.25.0 + diff --git a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r4.ebuild b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r4.ebuild new file mode 100644 index 000000000000..74eadbfe98ab --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r4.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WANT_AUTOCONF="2.1" +inherit autotools check-reqs toolchain-funcs pax-utils mozcoreconf-v5 + +MY_PN="mozjs" +MY_P="${MY_PN}-${PV/_rc/.rc}" +MY_P="${MY_P/_pre/pre}" +MY_P="${MY_P%_p[0-9]*}" +DESCRIPTION="Stand-alone JavaScript C++ library" +HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" +#SRC_URI="https://archive.mozilla.org/pub/spidermonkey/prereleases/60/pre3/${MY_P}.tar.bz2 +SRC_URI="https://dev.gentoo.org/~axs/distfiles/${MY_P}.tar.bz2 + https://dev.gentoo.org/~anarchy/mozilla/patchsets/${PN}-60.0-patches-04.tar.xz" + +LICENSE="NPL-1.1" +SLOT="60" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86" +IUSE="debug +jit minimal +system-icu test" + +RESTRICT="!test? ( test ) ia64? ( test )" + +S="${WORKDIR}/${MY_P%.rc*}" + +BUILDDIR="${S}/jsobj" + +RDEPEND=">=dev-libs/nspr-4.13.1 + virtual/libffi + sys-libs/readline:0= + >=sys-libs/zlib-1.2.3:= + system-icu? ( >=dev-libs/icu-59.1:= )" +DEPEND="${RDEPEND}" + +pkg_pretend() { + CHECKREQS_DISK_BUILD="2G" + + check-reqs_pkg_setup +} +pkg_setup() { + [[ ${MERGE_TYPE} == "binary" ]] || \ + moz_pkgsetup + export SHELL="${EPREFIX}/bin/bash" +} + +src_prepare() { + eapply "${WORKDIR}/${PN}" + eapply "${FILESDIR}/${PN}-60.5.2-ia64-support.patch" + eapply "${FILESDIR}/${PN}-60.5.2-ia64-fix-virtual-address-length.patch" + + eapply_user + + if [[ ${CHOST} == *-freebsd* ]]; then + # Don't try to be smart, this does not work in cross-compile anyway + ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die + fi + + cd "${S}/js/src" || die + eautoconf old-configure.in + eautoconf + + # remove options that are not correct from js-config + sed '/lib-filenames/d' -i "${S}"/js/src/build/js-config.in || die "failed to remove invalid option from js-config" + + # there is a default config.cache that messes everything up + rm -f "${S}/js/src"/config.cache || die + + mkdir -p "${BUILDDIR}" || die +} + +src_configure() { + cd "${BUILDDIR}" || die + + ECONF_SOURCE="${S}/js/src" \ + econf \ + --disable-jemalloc \ + --enable-readline \ + --with-system-nspr \ + --with-system-zlib \ + --disable-optimize \ + --with-intl-api \ + $(use_with system-icu) \ + $(use_enable debug) \ + $(use_enable jit ion) \ + $(use_enable test tests) \ + XARGS="/usr/bin/xargs" \ + CONFIG_SHELL="${EPREFIX}/bin/bash" \ + CC="${CC}" CXX="${CXX}" LD="${LD}" AR="${AR}" RANLIB="${RANLIB}" +} + +cross_make() { + emake \ + CFLAGS="${BUILD_CFLAGS}" \ + CXXFLAGS="${BUILD_CXXFLAGS}" \ + AR="${BUILD_AR}" \ + CC="${BUILD_CC}" \ + CXX="${BUILD_CXX}" \ + RANLIB="${BUILD_RANLIB}" \ + "$@" +} +src_compile() { + cd "${BUILDDIR}" || die + if tc-is-cross-compiler; then + tc-export_build_env BUILD_{AR,CC,CXX,RANLIB} + cross_make \ + MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \ + HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \ + MOZ_PGO_OPTIMIZE_FLAGS="" \ + host_jsoplengen host_jskwgen + cross_make \ + MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \ + -C config nsinstall + mv {,native-}host_jskwgen || die + mv {,native-}host_jsoplengen || die + mv config/{,native-}nsinstall || die + sed -i \ + -e 's@./host_jskwgen@./native-host_jskwgen@' \ + -e 's@./host_jsoplengen@./native-host_jsoplengen@' \ + Makefile || die + sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die + rm -f config/host_nsinstall.o \ + config/host_pathsub.o \ + host_jskwgen.o \ + host_jsoplengen.o || die + fi + + MOZ_MAKE_FLAGS="${MAKEOPTS}" \ + emake \ + MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \ + HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \ + MOZ_PGO_OPTIMIZE_FLAGS="" +} + +src_test() { + cd "${BUILDDIR}/js/src/jsapi-tests" || die + ./jsapi-tests || die +} + +src_install() { + cd "${BUILDDIR}" || die + emake DESTDIR="${D}" install + + if ! use minimal; then + if use jit; then + pax-mark m "${ED}"usr/bin/js${SLOT} + fi + else + rm -f "${ED}"usr/bin/js${SLOT} + fi + + # We can't actually disable building of static libraries + # They're used by the tests and in a few other places + find "${D}" -iname '*.a' -o -iname '*.ajs' -delete || die +} diff --git a/dev-lang/tcl/Manifest b/dev-lang/tcl/Manifest index 159635f823a2..6f65d923b30a 100644 --- a/dev-lang/tcl/Manifest +++ b/dev-lang/tcl/Manifest @@ -5,7 +5,7 @@ AUX tcl-8.6.8-libieee.patch 708 BLAKE2B ec8422ce98c68f2dd347bea807059fd8ee94fcd4 DIST tcl-core8.6.8-src.tar.gz 5887483 BLAKE2B 2b8428652e451b817fe63a811f910001929cdcbc8a8361cdf4f7df8e13cbf9b18c94a91c22c0f09cc46dc0174a66c44774b485539a8f24c14faee6658547b6b8 SHA512 36e6079b582c205e8c89435b361ef96550541357f473aea2ca4e6f01bd84e50ebd1474a75a1ae90640b9a5b392fb01ddfa71f0fa28e409b3569d88c32b4ddb69 DIST tcl-core8.6.9-src.tar.gz 5932010 BLAKE2B ddc0cff12aeeebbf8d1c799db9e154a9ecbe2a2e2afce97c6f15c408301b7a40119bd1c861aa724c178bd9abfe0616c7bcafd9cf6714ed49cf882c9085222cf3 SHA512 306a38a27729b764bae2eae6c4cdd8cd6aee5de6bd924d6a487c8691ee874e4459abc1fa785183c2f6ff4d2d57be98093dd7460c5a668cf994e8f1c31516ae67 DIST tcl8.5.17-src.tar.gz 4546317 BLAKE2B 27031dd3bd5790d03692e77edf91eb7fae8a40d8d193d8c8ce4e79b21f90e683bfc9d5b71764760223987fb163be844e6096d0aea1058b8ce255731d97e2a0ea SHA512 ad5ddb4cd6378fd6bbea8cd85ceb1cf90392b2e8c49fbfb3e4b35c81d3ae3e3f087697c41fcba8c8e06de1d9e7539397e26d58b864dc01ba65abe4ba4efa9568 -EBUILD tcl-8.5.17-r1.ebuild 3743 BLAKE2B 769d8351aa839895e15144f5b9108fc5783f2309099694b1c4dac6c6d3040c8ea85587303662efbb5a440c7ab0fb4ce907e0572ef897f1d3d2ec469733646132 SHA512 06e8568935278c551b325d482111ac5d050613e7bda057214824e7a8cb19b975829272fb49127596f46207755bf6e86ba79596022213f49cdf61db60ad9f8ac1 -EBUILD tcl-8.6.8.ebuild 3963 BLAKE2B e39a09b4c8ff54144917f7eea5bc1b16bcafba6d34bbe7c195a7f650607a175dc765ee7848667362fac1ca4c9660f0b1bf0a84f31e031ecf8050b86e7a9256e4 SHA512 31108187a85f0e1fd9b171e731c77dd21b6f28944e3a7a8ad7d8411326c3a8643614f7106be088b7da341fbfd80c580e52262e78fd10d250fee71d98b77e8958 +EBUILD tcl-8.5.17-r1.ebuild 3744 BLAKE2B 29003c3f0cfa65053f5d5cf1edc0efdb715999bd9fd7bac626ed1c48a5d509a9d4f92b638ba7d9b6641d60420c0811a0183fcf60845c9c382e7954b4ae0aff68 SHA512 c7e8b858cbd6aa63d018cf6e7806c166524b32e8fc57ec43688329e8c803546a084d265f681360afd31aa4eebb5e71b47d5459b8beb0f1a643b1dd5960d4320d +EBUILD tcl-8.6.8.ebuild 3964 BLAKE2B d8c006d3404047dcb9f9ee120085bbe34889a5bf76dc38ba2ae511d353800ab06f93305d9f95426f3a4af2ab82dab2e15c25d95b81ed655a01790611496b1030 SHA512 715a16e0c5d846007e360fb67ed2168e5fa94411cd696c5ea55a59811499aefd3ec955406aba68447acb6f4f2ad4c64c9c80a80c77c92ae486356dbaab543a5e EBUILD tcl-8.6.9.ebuild 3883 BLAKE2B 69646211e8b0b956a07d6e055508b66c7d40978e98d565efc70ff1c36483124928695af43280f7f220188da52597c0f59b2b632560a01d07cfd5500f60b8ebdb SHA512 3229f3d64dfc8504af5efc91fe178098a19a8e8b56029c92e499ae94eb4a5a880a6704075e6188fa0933d8348639a1004bbafbe5cb5a53f6fc37e1fe2c8c0b1a MISC metadata.xml 318 BLAKE2B 7ea8e51656c255c3aea3bee8849423604a164efff556974f6032de44d33e38bb0378b69c18821cc76f0284064bc84a1a56e79f522f8d7fb0adc50e2e191b5fca SHA512 61f3feb8311f1babb8a4df8c9fcddaab009ffc6d69248f18cb9e001a1659dfcf47f2699008ab83fb563b3417f6ead8113af20db7e3893f488e8d75bb2a3483cf diff --git a/dev-lang/tcl/tcl-8.5.17-r1.ebuild b/dev-lang/tcl/tcl-8.5.17-r1.ebuild index 90c6a31616ba..c1959907d8b0 100644 --- a/dev-lang/tcl/tcl-8.5.17-r1.ebuild +++ b/dev-lang/tcl/tcl-8.5.17-r1.ebuild @@ -13,7 +13,7 @@ SRC_URI="mirror://sourceforge/tcl/${MY_P}-src.tar.gz" LICENSE="tcltk" SLOT="0/8.5" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 m68k ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x86-solaris" IUSE="debug threads" RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]" diff --git a/dev-lang/tcl/tcl-8.6.8.ebuild b/dev-lang/tcl/tcl-8.6.8.ebuild index 1500025cd3fe..6cf0541e416e 100644 --- a/dev-lang/tcl/tcl-8.6.8.ebuild +++ b/dev-lang/tcl/tcl-8.6.8.ebuild @@ -13,7 +13,7 @@ SRC_URI="mirror://sourceforge/tcl/${PN}-core${PV}-src.tar.gz" LICENSE="tcltk" SLOT="0/8.6" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 m68k ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="debug +threads" RDEPEND=">=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]" diff --git a/dev-lang/vala/Manifest b/dev-lang/vala/Manifest index fe240aabb488..3350556784f9 100644 --- a/dev-lang/vala/Manifest +++ b/dev-lang/vala/Manifest @@ -2,25 +2,23 @@ AUX 0.40-Allow-disabling-the-build-of-valadoc.patch 4585 BLAKE2B 4f0ee3cb4a47f44 AUX 0.40-valadoc-doclets-data-parallel-installable.patch 6105 BLAKE2B 24f3a2c44125da3dfc93c6c7426d85de59ef79baa3e96b898b0c01f8e46b8939e6f5ec1ab3ef1f84052ccef6a3bb61d3c86329aba228f3356b879ee6d867f045 SHA512 87d810c135844ebdbc011bccb66ac58ad77b773ed0513d96cd465b3a34103e308c9fc134c9701ec0df56d49644ecfe73ceafd2fde02699347253bbaabffbbb0f AUX 0.44-valadoc-doclets-data-parallel-installable.patch 6063 BLAKE2B d27b69ab82a789f73e9ba02ef10d3865452a5d5532215e44533012be29d36d40496346a0557ee90831fbe2cf1da9e77e56b30c3f1e988c051b97142d12952931 SHA512 d5174b6dbc887f25f90e400ae569152a998da3df3e9ca4ea5f450240b1982b7a118ddbce7814b98e966e384b956c02389b34200b6a1ecbf4e634fdc07421809a DIST vala-0.36.20.tar.xz 2918672 BLAKE2B 9c2c46992444fafd173f767a4a10ac185b0c49db0ede3cb52dec10da08ab3370adb4445087b24c91c9126e8586418a149ac783b3de92cac6c4badd488f3dc56f SHA512 21ca0573a2f9d945a362f7f15da7db25532fd7b19a0aa0442243b95df0568b7a88ae94d0659af44f6f57e364f4370de361102e7e46a070487985e7cb5d81277c -DIST vala-0.40.16.tar.xz 3412776 BLAKE2B 0cfe072ce3dfd8b95e804582899ff002869bc005b93ad1ba68e9b085e12444a3ef967c6282d65bab7f8302018edc075077ae8de65182b9123f8f74a91ea062bf SHA512 e37c8573fe6104c0ad6f29748cd28564638d62ebe499ce084481c74d2601a19334c431575904fbbed490b44ea117246516580a5d658dfba30c63de7e7c3fa3e0 DIST vala-0.40.18.tar.xz 3429060 BLAKE2B 113cebedfefec3a510085e6562012cefedcc6879f4a21eed835e779d850c39ea0c5d9ce5e5e036fa5d849c28f803fd80f1b4e55d4eb3db0fb0fa8f2706824823 SHA512 a58afc4ecf5a7c5c35d3f32d06947ed656f66672fd496d4963b5267d8be9ffecbbc0415af8ef15d35c92f986cb7861dc09d2ec35c2b6f77f3decc4adba24ced2 -DIST vala-0.40.19.tar.xz 3435688 BLAKE2B caacacd0ed33a5a1fd465c7494d326941225f4cca052cdeda103430a6313d1f5bf30f254d1f7451663988b1303dc564923ab5717d796673b0af71912c49196ff SHA512 a1ef798ed754192da8677d9dd9627b24c0addd658d38e217ace6889c462a70d1d19c029cd7f660c82b97a48f77eba3b03758ab625ad6ccf4fe20dfd627ecd30a DIST vala-0.40.20.tar.xz 3443256 BLAKE2B 4cb53448ffabd29ea2c1411d019aa3749be113371e411d90803aa77a5ba19790d3766dae43af58a107680acc04870b30670fd53d4ce239de8d15dd79571cadfb SHA512 767f156c85bd901e6e672439c2bf7fdfe60e4f7b088ca89f8787179e57b42904c92749ca8bd79c1e4319ec998e0e3f6bd6f13ed679be1f5240041f797657eb36 +DIST vala-0.40.22.tar.xz 3458916 BLAKE2B 3a9516ea22f550ad4ee0bacb15c77be1f8fa971725cad30fb97ec6939c604406881ca6b2e981e6ed99a8cf6218bd55f54aff6b06e074bc09089d01c554ab817f SHA512 913af4725ff56f330815fc76ac4bf7f7fb28182fe2764db1b9da5d2452dd264df071f84f62eef6c56719ef4abe595d88ba5d89c0fea15d9e1835e0fdb23668ce DIST vala-0.44.11.tar.xz 3370248 BLAKE2B c111b6175e6339148e30bedc77f62a9ef3ec912ad0621c9303fc5dba31694173b49ccc433d3681303d64a1e442ed9b7b064f27931369cb13fa028bfc25ffa3c9 SHA512 6111699039ed37084426d7603b82dfa9bd497c66ba7353ee22e8541bf15a2cbb634d315593c093f18c20bac877ae34884e5b570cd25237ce12aa73e941c4c540 DIST vala-0.44.9.tar.xz 3363004 BLAKE2B b87f8f7d9cda5a77486720b8c542c42ed448cfbb6a1bae899591a799dcf25882a0539c3acef282d0ba42a7ea78d68e7a5d99aa4daa306a70afe6938732d03c25 SHA512 9af559a6cb1680013886a4d425e619503d60394f2c7b1ab897cc7830ee566f8122dcd4380b78b551fbf556cead623c245adc1f7f3357b8315be8c120412a3e9f -DIST vala-0.46.6.tar.xz 3383032 BLAKE2B c7f38cf617f3a0d5a5915ebedd320ef6a5c3714e21618e95756529e1fb09abc12417f31aeefc0111e828da5c2dabd6195b07bb1cc69c6e74f73d72fe7403637a SHA512 ab24c3ad37af62e38289fd085a33f72e178e0b58c1f24c27c58c1010270a4b0e5cb4cc510b6147c51e5796a7ae63aed3a4ac219b24ff985f2546e25c9ad48992 DIST vala-0.46.7.tar.xz 3402828 BLAKE2B c028875e2c6036a6657244bff62d3a2eec2104c06ec3c993f4d59371f2ec7947cfd36f577d41a2c4ba52f6dd7fb03251cad989e3b2787e2817bd988cc16030ca SHA512 609694c2b773abdd8f47d0e9dd8e1dabac2053f7e0321eac7232b3931b15df30e095541dbb02965fc74f3a29b7562b7a326c56ce7c570e6528f8cfa480363c76 -DIST vala-0.48.2.tar.xz 3433912 BLAKE2B 25b10235b81b34e0baf6a3cceed660affca9d226ca4f04e96d0dbf4d2ba10635452806bca4f9a82387778bbf813f8ee43c36cf476ab81c524cefaba0febcbad0 SHA512 0ea2d2c56d6d01007fe41e13bc51faa5e780259bc55f34a2d84270a5b6a0a46d59cce5eb195f81c78f1acbfb118cc3c5882edf0d187788791ee3ce865faece89 +DIST vala-0.46.9.tar.xz 3413264 BLAKE2B 6bc14f9316b3d5a2c81b0fbaed48ca85ffec37c616746b1bf432c883838097938e13931d06efc1e4abd027441e31fe73b2e76ba9b578ea33948f4dbe38a18bf2 SHA512 64ce902a15de9a477d50e3b0a0f64007c1acea7ad620ad224ed49cecbb029ebf8c9fcd79df6f0c64f46c0fd25cbf34f94be145a937460329dc9c38087073f240 DIST vala-0.48.3.tar.xz 3438824 BLAKE2B 4d743a158e12134f31f2e9850713594e3bd668b2a5e74d05df2d828b10a2272dc2cb228bc0041a394dc08633db3e2497eb095c5526763d69225388198995e470 SHA512 e73eade8b0cfa312d896c81b76e045bc9b8b71bd89298c0f8d78b2f596eebf64dc0eea8d1e266b2c17a774105560ed47590fbe00d65b1fda8db6823ac3ba4bb4 +DIST vala-0.48.5.tar.xz 3445096 BLAKE2B a41fd6b5b06526eb1a743c2e8681b4e3891b19a24213669f28407f9e8e29c3aa1a077458558491e0af05aed5659a7a6d4a0a18d711465d9c936e719245b944b1 SHA512 129097880c0dbe40cb84dc60a0af454b247759131ce29e9b5cbf74ca9dae35917e1ba973eff1d5ee025e54afe5a0881eb37d11ab433346e5e4c9a7625952b2d3 EBUILD vala-0.36.20.ebuild 801 BLAKE2B 28a0b45feb749184a38652c09c10e4e10fa89e13ae613394fc89395244249783d5d66e63b9a808a3d2b6d0585f6f03c70d418874ab103032502df7830e64ef0f SHA512 fb5d44393b0ecb62098873f25f16ee9f9f2b268faa5524268923ba88258ada9b6e9d74f3ab4d0d9c11d1972d869ae1e97bae848f4005ebbe29069219a4078d47 -EBUILD vala-0.40.16.ebuild 1188 BLAKE2B 9754e3990f8b9d97a9db2d475a8338dbad1ac0daa74118a4966d08709bbb8d713817ae4a163bdc79ef2ce26aad00e633418734a2333a4e2c72b8a10b6a53d814 SHA512 d55a8a950eda084f4d527d090fa768436808922b4adafbd756cdaed73fb7214d9a1f74c77fc1c0d232e3dc6bd7548ded04ff3fbe566c609c7c2677404e757636 EBUILD vala-0.40.18.ebuild 1189 BLAKE2B 42ec55f24d20afeb5c3e268c5491be25084e9cd6f94e306568e9a0377c0e2a3197b4a5da9ec5108ce39433d31a339075a26485546d59ce9bc5a845f6efc40500 SHA512 18066dadbb427a8f494fd28402bb3dc71752209f47432e29fa9935c82e8a9f417eeea6fdb5b6e63a2f95ffdf6fae8bc133aa1ac1e79f1bd8ba9a2cb3cf97ffab -EBUILD vala-0.40.19.ebuild 1196 BLAKE2B e2c6de7f13f532e577c26db204f440ee0d9256844618ab02d1f4761646f1cb74f1f268fadb5d043701aa64f014464bc9b6c9116856ef7c96abde436f10c5d62f SHA512 a4bbd7dfdcf4e6351f7abb0a4ffe7fbfe09846e883152c9e178f78f108c22e8cc9c3d2d340eb409f60fe923c97805fe503254b16e3a3e7f6779a32c48188c3f3 -EBUILD vala-0.40.20.ebuild 1196 BLAKE2B e2c6de7f13f532e577c26db204f440ee0d9256844618ab02d1f4761646f1cb74f1f268fadb5d043701aa64f014464bc9b6c9116856ef7c96abde436f10c5d62f SHA512 a4bbd7dfdcf4e6351f7abb0a4ffe7fbfe09846e883152c9e178f78f108c22e8cc9c3d2d340eb409f60fe923c97805fe503254b16e3a3e7f6779a32c48188c3f3 -EBUILD vala-0.44.11.ebuild 1112 BLAKE2B 0b5033ba7cbf3477620511bb979a7909d04b81e5c2f621f13596cbded541638acac9e6618be883fd95bc932f29ab9a971038548e09e9fde8c65a006a5f028059 SHA512 ae7334bfb1b17961cf8b4f8c8fd9e5e1755b8dadaa8b4de01c7bb01b9e80e1b42bf9e7ad47e732910df0099ef4a246d200b4cb88f365a446feaebaa6f3f5dc63 +EBUILD vala-0.40.20.ebuild 1190 BLAKE2B f582ea54de4fbd9c7312c391a03653333647b16dcd1d6f0acf85a2edba10acbc5c3f68ceae6538cab89013e3687bb3c979dd0ec06b03122f800e52e3c4ab34d1 SHA512 7095087ece36b71a29965bbd313902f9e743c97f4b9bebac70d28e92fe179cbbe9d6ea9efd0162612c2646daa52de6549d484d3e7588dcc8e79b5589f38b8699 +EBUILD vala-0.40.22.ebuild 1196 BLAKE2B e2c6de7f13f532e577c26db204f440ee0d9256844618ab02d1f4761646f1cb74f1f268fadb5d043701aa64f014464bc9b6c9116856ef7c96abde436f10c5d62f SHA512 a4bbd7dfdcf4e6351f7abb0a4ffe7fbfe09846e883152c9e178f78f108c22e8cc9c3d2d340eb409f60fe923c97805fe503254b16e3a3e7f6779a32c48188c3f3 +EBUILD vala-0.44.11.ebuild 1111 BLAKE2B f56f507c90c54d73057db87d175b86f6940f49c12655d73267b21412659a47e9c4791ccc6357e91aebc862d8a3068dd467532b1bfb6988529385d61bcc8f3f3d SHA512 407839aa616355e1455da7c42965f1961ec0c022e2449e68a847f0b2164364bb89f30495d1ed62c9f9281de705147a2b880033857cabe0fb3fe7cc5a338ebf22 EBUILD vala-0.44.9.ebuild 1110 BLAKE2B caa359b186daa04e09b9f3c2185280dfedabd8428ad060304e78cad7fe106ec00c1ec023dcd2f0a7f4239ab5be705413667cfa9683fc30ac88ee2b0b1389e588 SHA512 e14b37221c39f2b50c788c31c28b929251db44e944bae83cb81907c2d304e4b6a9838c7173fc5c74f2ffdecc89d8d0f1ee3cb8d6ffea023491e8f7f92e25c79f -EBUILD vala-0.46.6.ebuild 1312 BLAKE2B 4419e7f83b6eff1279058671fbe8ff62e2d1cf562a07f10d22d09e41c5dccf2b3a4b9694c7be6ce2c671efbb258d0e5caa66c5ce5b30edbc04ae534acc4d27b7 SHA512 3edde48c1cef97c1ef17b3c4587bf26763f14ca300017acb178e32fdf40b7dd25ba462b93b870859ec584e3a1ae1bbf935570c0f783df5871194d8ca033c5ae2 -EBUILD vala-0.46.7.ebuild 1312 BLAKE2B 4419e7f83b6eff1279058671fbe8ff62e2d1cf562a07f10d22d09e41c5dccf2b3a4b9694c7be6ce2c671efbb258d0e5caa66c5ce5b30edbc04ae534acc4d27b7 SHA512 3edde48c1cef97c1ef17b3c4587bf26763f14ca300017acb178e32fdf40b7dd25ba462b93b870859ec584e3a1ae1bbf935570c0f783df5871194d8ca033c5ae2 -EBUILD vala-0.48.2.ebuild 1312 BLAKE2B 2a5c969f40a6f1ec8869e5de0e41e16ee78db748069bc0016e9b5b5ecb1dbc2be307995939134fe36a37b94e4a89284478d4704c04f32db9ae9c0a2786b875b8 SHA512 7354b9ffa72a263f0035b6803d6ab4071c7870cc90a1c9a57355ca637392420e78be6d5bedb866f327a522c0f852f1c78ea798ba66c62f8b5753fac9ec21a969 +EBUILD vala-0.46.7.ebuild 1306 BLAKE2B de180bd964bd9bcaf9c924123da874efded2a8f9d17187009b23c5d3a5c12badd6a2a31da8767a1507c87dba0b3d372d537a5becddd38a5c3990d40f8195a839 SHA512 912f2813d6685faead82a3957221bd5a1a19d5a85d900257bab06e89d2c916f87610ab24f75c12a9be97ac1f5c4c936895a3f2ac61d0353511fefe191f8458db +EBUILD vala-0.46.9.ebuild 1312 BLAKE2B 4419e7f83b6eff1279058671fbe8ff62e2d1cf562a07f10d22d09e41c5dccf2b3a4b9694c7be6ce2c671efbb258d0e5caa66c5ce5b30edbc04ae534acc4d27b7 SHA512 3edde48c1cef97c1ef17b3c4587bf26763f14ca300017acb178e32fdf40b7dd25ba462b93b870859ec584e3a1ae1bbf935570c0f783df5871194d8ca033c5ae2 EBUILD vala-0.48.3.ebuild 1312 BLAKE2B 2a5c969f40a6f1ec8869e5de0e41e16ee78db748069bc0016e9b5b5ecb1dbc2be307995939134fe36a37b94e4a89284478d4704c04f32db9ae9c0a2786b875b8 SHA512 7354b9ffa72a263f0035b6803d6ab4071c7870cc90a1c9a57355ca637392420e78be6d5bedb866f327a522c0f852f1c78ea798ba66c62f8b5753fac9ec21a969 +EBUILD vala-0.48.5.ebuild 1312 BLAKE2B 2a5c969f40a6f1ec8869e5de0e41e16ee78db748069bc0016e9b5b5ecb1dbc2be307995939134fe36a37b94e4a89284478d4704c04f32db9ae9c0a2786b875b8 SHA512 7354b9ffa72a263f0035b6803d6ab4071c7870cc90a1c9a57355ca637392420e78be6d5bedb866f327a522c0f852f1c78ea798ba66c62f8b5753fac9ec21a969 MISC metadata.xml 345 BLAKE2B de3110ae281a87f8cb8f6c10d93705f56f0cfed972cd893a063e66c2629150d491498a29b35b4efe19fa5b6baa740f1d989bad440924befc60ef56423096f108 SHA512 163aa55430a075974d504a5bbb71ad9a249cb215de12a82b3141de18bb05f1e0c2078c02c617cf7d98a97c7f8dd407077183754d8c82c77e80dd0d7b2ec38283 diff --git a/dev-lang/vala/vala-0.40.16.ebuild b/dev-lang/vala/vala-0.40.16.ebuild deleted file mode 100644 index e38c24e44f45..000000000000 --- a/dev-lang/vala/vala-0.40.16.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -GNOME2_EAUTORECONF="yes" - -inherit gnome2 - -DESCRIPTION="Compiler for the GObject type system" -HOMEPAGE="https://wiki.gnome.org/Projects/Vala" - -LICENSE="LGPL-2.1" -SLOT="0.40" -KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux" -IUSE="test valadoc" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=dev-libs/glib-2.40.0:2 - >=dev-libs/vala-common-${PV} - valadoc? ( >=media-gfx/graphviz-2.16 ) -" -DEPEND="${RDEPEND} - !${CATEGORY}/${PN}:0 - dev-libs/libxslt - sys-devel/flex - virtual/pkgconfig - virtual/yacc - test? ( - dev-libs/dbus-glib - >=dev-libs/glib-2.26:2 - dev-libs/gobject-introspection ) -" - -PATCHES=( - # From master - "${FILESDIR}"/0.40-Allow-disabling-the-build-of-valadoc.patch - # Add missing bits to make valadoc parallel installable - "${FILESDIR}"/0.40-valadoc-doclets-data-parallel-installable.patch -) - -src_configure() { - # weasyprint enables generation of PDF from HTML - gnome2_src_configure \ - --disable-unversioned \ - $(use_enable valadoc) \ - VALAC=: \ - WEASYPRINT=: -} - -src_install() { - default - find "${D}" -name "*.la" -delete || die -} diff --git a/dev-lang/vala/vala-0.40.20.ebuild b/dev-lang/vala/vala-0.40.20.ebuild index 661aaba47561..180ce75cb5bb 100644 --- a/dev-lang/vala/vala-0.40.20.ebuild +++ b/dev-lang/vala/vala-0.40.20.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala" LICENSE="LGPL-2.1" SLOT="0.40" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~x86-linux" IUSE="test valadoc" RESTRICT="!test? ( test )" diff --git a/dev-lang/vala/vala-0.40.19.ebuild b/dev-lang/vala/vala-0.40.22.ebuild index 661aaba47561..661aaba47561 100644 --- a/dev-lang/vala/vala-0.40.19.ebuild +++ b/dev-lang/vala/vala-0.40.22.ebuild diff --git a/dev-lang/vala/vala-0.44.11.ebuild b/dev-lang/vala/vala-0.44.11.ebuild index 3d959d892617..3ce44d41fe7b 100644 --- a/dev-lang/vala/vala-0.44.11.ebuild +++ b/dev-lang/vala/vala-0.44.11.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala" LICENSE="LGPL-2.1+" SLOT="0.44" -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~x86-linux" IUSE="test valadoc" RESTRICT="!test? ( test )" diff --git a/dev-lang/vala/vala-0.46.7.ebuild b/dev-lang/vala/vala-0.46.7.ebuild index afe20bbc8ab5..a8bc7608a7e4 100644 --- a/dev-lang/vala/vala-0.46.7.ebuild +++ b/dev-lang/vala/vala-0.46.7.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Vala" LICENSE="LGPL-2.1+" SLOT="0.46" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-linux" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~x86-linux" IUSE="test valadoc" RESTRICT="!test? ( test )" diff --git a/dev-lang/vala/vala-0.46.6.ebuild b/dev-lang/vala/vala-0.46.9.ebuild index afe20bbc8ab5..afe20bbc8ab5 100644 --- a/dev-lang/vala/vala-0.46.6.ebuild +++ b/dev-lang/vala/vala-0.46.9.ebuild diff --git a/dev-lang/vala/vala-0.48.2.ebuild b/dev-lang/vala/vala-0.48.5.ebuild index 1f7c05bd15c1..1f7c05bd15c1 100644 --- a/dev-lang/vala/vala-0.48.2.ebuild +++ b/dev-lang/vala/vala-0.48.5.ebuild diff --git a/dev-lang/yasm/Manifest b/dev-lang/yasm/Manifest index cd12b86d8af6..c8d5c15b02d3 100644 --- a/dev-lang/yasm/Manifest +++ b/dev-lang/yasm/Manifest @@ -3,6 +3,6 @@ DIST yasm-1.2.0-x32.patch.xz 9656 BLAKE2B 61971f72941269e6f9eb30fe58978bdae546ee DIST yasm-1.2.0.tar.gz 1436502 BLAKE2B 7be4f0cb5bd687868451fa6051ce9a621847c4ec87281af2e8e9673a61653f1625b17d41c213b7559b947c3173f29c94c0e397e037e1b339055e06c19ee21fea SHA512 e80ace766e145f6486e76da1a5a9819221b7f406745a02529b4ad220ef7f51ddd67f23d0d8b187bffc9725d9f9742ae5f3a0bb23ee5b2a61153332fb3e286b77 DIST yasm-1.3.0.tar.gz 1492156 BLAKE2B e419a4f9912eb244e9503462dbf0c5e5c95bdfa49583ee205dc4708b42710df8dd2056b2e36e04de04474f4af900916cb64c14a623db1346c3e1cb46a8cc34a5 SHA512 572d3b45568b10f58e48f1188c2d6bcbdd16429c8afaccc8c6d37859b45635e106885d679e41d0bee78c23822108c7ae75aa7475eed5ba58057e0a6fe1b68645 EBUILD yasm-1.2.0-r1.ebuild 1297 BLAKE2B 58304a9a89220672a1bbee4bf1dbc5e9a06d224aadfd57c6d8a6d76c4a8f446f1525c0e99fd028d1e89dcdf0e349a0105a59da6d41a50717a9c4c62adb55df79 SHA512 d2b6f99c3daae13679c27a5cac1d247b55d233edfb6b9e2105659f2f83ae688425c6b2454532c219b29fbe54bbdb5158d6c0b0f97967aaa58723d1317a7154da -EBUILD yasm-1.3.0.ebuild 918 BLAKE2B 58da4ac81e4eee2ecbdaf82c85cb09dbb60d77c0de6a8c6ac2a8fdb00b636e578d171213d190df0fce6c3d309ef004d2455e29959eda7f1ff642f37f5fd7013e SHA512 9c9f525cd726b1aa6b85ff4e6399d322e6621e94e8953572f8a0320de56261812b9e58438c772daf18de34e8a3a238dccbbea01fae92156476525ae76409f89c -EBUILD yasm-9999.ebuild 1527 BLAKE2B 8951e684d2d24b9689df80bf132418e0bf4a51c1780462839824779bedffc1fb92aa47fb517ec376ac3dc42374296abcc17a4b3816f0badad787cc2103f30e73 SHA512 2aba50b8db7dc4f0a09e7679ee6cc2c4db7562efcbd022ac68ec5258e4f2e6fb4ee6165cd01cc449001e0f8025b51fa0c37dd0fbc25b3d97b79018150aa5db2d +EBUILD yasm-1.3.0.ebuild 1040 BLAKE2B 9f3fac954020ac8c4c04e49f38bacda09e44566f41b906befb3a81aa1e02128554d114acda6d21e75b20b5a53341ed9e7e9f2ca1c436ba38401156681645c271 SHA512 a77af8925e65478ed791a98b36c3d673f2d4109bf25c10044b735d53f93d1458c7be345bd6aad99e26170b8b7998a1d5ca439490e9972ef72e934dc0d4c3c1b7 +EBUILD yasm-9999.ebuild 1645 BLAKE2B 72b9dcd4960fb779dbf206e7b75a7e0280a148e8e0acabdf130e0d4a41200cdab3335097cba2c024097467e0c0f705431fcb0e2741e6a39eb24e8f744a3e8b93 SHA512 67c02a85e172a296e386603f38496b2105ae5ac11de3edda0f2a17b4a227d58c7d9a51261cdcde7cab61a3a69c802258bc5e275248aea1c42eb612fae38659e0 MISC metadata.xml 261 BLAKE2B c5880d50c9def415b65cade7de2e9f4d5f46c98e4d60cde4c85b45cd0c2b1c65b695b85c6533fb018dc545fbc562284485818cf0b2db3109b088310dc7be53f7 SHA512 d37f5f4f82ac36f200f1df58e8caf7e8bcad7f4d479ad37e0c059d657c50984f44463e765e9cb867c04a2081928f3d603d362930de1f9d326ed4c237a1b0bb0c diff --git a/dev-lang/yasm/yasm-1.3.0.ebuild b/dev-lang/yasm/yasm-1.3.0.ebuild index e1ef59791ee0..fab7341fef10 100644 --- a/dev-lang/yasm/yasm-1.3.0.ebuild +++ b/dev-lang/yasm/yasm-1.3.0.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=5 PYTHON_COMPAT=( python2_7 ) -inherit python-r1 +inherit python-single-r1 DESCRIPTION="An assembler for x86 and x86_64 instruction sets" HOMEPAGE="http://yasm.tortall.net/" @@ -23,7 +23,11 @@ RDEPEND=" DEPEND=" ${RDEPEND} nls? ( sys-devel/gettext ) - python? ( >=dev-python/cython-0.14[${PYTHON_USEDEP}] )" + python? ( $(python_gen_cond_dep '>=dev-python/cython-0.14[${PYTHON_USEDEP}]') )" + +pkg_setup() { + : # Avoid python-single-r1_pkg_setup +} src_configure() { use python && python_setup @@ -36,5 +40,6 @@ src_configure() { } src_test() { - emake check + # https://bugs.gentoo.org/718870 + emake -j1 check } diff --git a/dev-lang/yasm/yasm-9999.ebuild b/dev-lang/yasm/yasm-9999.ebuild index 1dc81bc993d4..5be4c7a9719b 100644 --- a/dev-lang/yasm/yasm-9999.ebuild +++ b/dev-lang/yasm/yasm-9999.ebuild @@ -1,11 +1,10 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 - +EAPI=7 PYTHON_COMPAT=( python2_7 ) -inherit autotools eutils python-r1 +inherit autotools eutils python-single-r1 if [[ ${PV} == 9999* ]] ; then EGIT_REPO_URI="https://github.com/yasm/yasm.git" @@ -23,24 +22,41 @@ SLOT="0" IUSE="nls python" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" -RDEPEND=" - nls? ( virtual/libintl ) - python? ( ${PYTHON_DEPS} )" -DEPEND=" - ${RDEPEND} +BDEPEND=" nls? ( sys-devel/gettext ) - python? ( >=dev-python/cython-0.14[${PYTHON_USEDEP}] )" + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep '>=dev-python/cython-0.14[${PYTHON_USEDEP}]') + ) +" +DEPEND=" + nls? ( virtual/libintl ) +" +RDEPEND="${DEPEND} + python? ( ${PYTHON_DEPS} ) +" if [[ ${PV} == 9999* ]]; then - DEPEND="${DEPEND} ${PYTHON_DEPS} app-text/xmlto app-text/docbook-xml-dtd:4.1.2" + BDEPEND+=" + app-text/xmlto + app-text/docbook-xml-dtd:4.1.2 + " fi +pkg_setup() { + : # Avoid python-single-r1_pkg_setup +} + src_prepare() { + default + if ! [[ ${PV} == 9999* ]]; then sed -i -e 's:xmlto:&dIsAbLe:' configure.ac || die #459940 fi + # ksh doesn't grok $(xxx), makes aclocal fail sed -i -e '1c\#!/usr/bin/env sh' YASM-VERSION-GEN.sh || die + eautoreconf if [[ ${PV} == 9999* ]]; then @@ -49,19 +65,19 @@ src_prepare() { } src_configure() { - if [[ ${PV} == 9999* ]]; then - python_setup - else - use python && python_setup - fi + use python && python_setup - econf \ - --disable-warnerror \ - $(use_enable python) \ - $(use_enable python python-bindings) \ + local myconf=( + --disable-warnerror + $(use_enable python) + $(use_enable python python-bindings) $(use_enable nls) + ) + + econf "${myconf[@]}" } src_test() { - emake check + # https://bugs.gentoo.org/718870 + emake -j1 check } |