summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-04-25 11:37:10 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-04-25 11:37:10 +0100
commit38423c67c8a23f6a1bc42038193182e2da3116eb (patch)
tree04e2cf4bd43601b77daa79fe654e409187093c5e /dev-lang
parent623ee73d661e5ed8475cb264511f683407d87365 (diff)
gentoo resync : 25.04.2020
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin17320 -> 17303 bytes
-rw-r--r--dev-lang/R/Manifest2
-rw-r--r--dev-lang/R/R-3.6.3-r1.ebuild (renamed from dev-lang/R/R-3.6.3.ebuild)32
-rw-r--r--dev-lang/bff/Manifest2
-rw-r--r--dev-lang/bff/bff-1.0.5.ebuild2
-rw-r--r--dev-lang/clojure/Manifest4
-rw-r--r--dev-lang/clojure/clojure-1.10.0.ebuild20
-rw-r--r--dev-lang/clojure/clojure-1.9.0-r1.ebuild35
-rw-r--r--dev-lang/elixir/Manifest3
-rw-r--r--dev-lang/elixir/elixir-1.10.2.ebuild1
-rw-r--r--dev-lang/elixir/files/elixir-1.10.2-test-regex-fix.patch34
-rw-r--r--dev-lang/erlang/Manifest3
-rw-r--r--dev-lang/erlang/erlang-22.3.ebuild2
-rw-r--r--dev-lang/erlang/files/epmd.confd-r12
-rw-r--r--dev-lang/ghc/Manifest6
-rw-r--r--dev-lang/ghc/ghc-7.10.3.ebuild2
-rw-r--r--dev-lang/ghc/ghc-7.8.4.ebuild2
-rw-r--r--dev-lang/ghc/ghc-8.0.2.ebuild2
-rw-r--r--dev-lang/gnat-gpl/Manifest10
-rw-r--r--dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild2
-rw-r--r--dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild2
-rw-r--r--dev-lang/gnat-gpl/gnat-gpl-2018-r3.ebuild2
-rw-r--r--dev-lang/gnat-gpl/gnat-gpl-2019-r1.ebuild2
-rw-r--r--dev-lang/gnat-gpl/gnat-gpl-2019-r2.ebuild141
-rw-r--r--dev-lang/go/Manifest8
-rw-r--r--dev-lang/go/go-1.13.10.ebuild (renamed from dev-lang/go/go-1.14.1.ebuild)4
-rw-r--r--dev-lang/go/go-1.14.2.ebuild188
-rw-r--r--dev-lang/go/go-9999.ebuild21
-rw-r--r--dev-lang/mmix/Manifest2
-rw-r--r--dev-lang/mmix/mmix-20160804-r1.ebuild2
-rw-r--r--dev-lang/ocaml/Manifest2
-rw-r--r--dev-lang/ocaml/ocaml-4.09.0.ebuild2
-rw-r--r--dev-lang/perl/Manifest5
-rw-r--r--dev-lang/perl/perl-5.30.1.ebuild2
-rw-r--r--dev-lang/perl/perl-5.30.2.ebuild2
-rw-r--r--dev-lang/php/Manifest6
-rw-r--r--dev-lang/php/php-7.2.30.ebuild755
-rw-r--r--dev-lang/php/php-7.3.17.ebuild756
-rw-r--r--dev-lang/php/php-7.4.5.ebuild746
-rw-r--r--dev-lang/python-exec/Manifest2
-rw-r--r--dev-lang/python-exec/python-exec-2.4.6-r1.ebuild2
-rw-r--r--dev-lang/python/Manifest20
-rw-r--r--dev-lang/python/files/test-__all__-numpy.patch13
-rw-r--r--dev-lang/python/python-2.7.18.ebuild366
-rw-r--r--dev-lang/python/python-3.6.10-r2.ebuild357
-rw-r--r--dev-lang/python/python-3.7.7-r1.ebuild2
-rw-r--r--dev-lang/python/python-3.7.7-r2.ebuild (renamed from dev-lang/python/python-3.7.6.ebuild)38
-rw-r--r--dev-lang/python/python-3.8.2-r1.ebuild4
-rw-r--r--dev-lang/python/python-3.8.2-r2.ebuild346
-rw-r--r--dev-lang/python/python-3.9.0_alpha5-r1.ebuild327
-rw-r--r--dev-lang/python/python-3.9.0_alpha5.ebuild2
-rw-r--r--dev-lang/ruby/Manifest16
-rw-r--r--dev-lang/ruby/ruby-2.4.10.ebuild2
-rw-r--r--dev-lang/ruby/ruby-2.4.9.ebuild228
-rw-r--r--dev-lang/ruby/ruby-2.5.7.ebuild223
-rw-r--r--dev-lang/ruby/ruby-2.5.8.ebuild2
-rw-r--r--dev-lang/ruby/ruby-2.6.6-r1.ebuild (renamed from dev-lang/ruby/ruby-2.6.5.ebuild)7
-rw-r--r--dev-lang/ruby/ruby-2.6.6.ebuild2
-rw-r--r--dev-lang/ruby/ruby-2.7.1-r1.ebuild (renamed from dev-lang/ruby/ruby-2.7.0.ebuild)6
-rw-r--r--dev-lang/rust-bin/Manifest15
-rw-r--r--dev-lang/rust-bin/rust-bin-1.43.0.ebuild184
-rw-r--r--dev-lang/rust/Manifest21
-rw-r--r--dev-lang/rust/files/0012-Ignore-broken-and-non-applicable-tests.patch89
-rw-r--r--dev-lang/rust/files/1.43.0-llvm10-LLVMTimeTraceProfilerInitialize.patch26
-rw-r--r--dev-lang/rust/files/1.43.0-llvm10.patch194
-rw-r--r--dev-lang/rust/rust-1.42.0.ebuild2
-rw-r--r--dev-lang/rust/rust-1.43.0.ebuild417
-rw-r--r--dev-lang/spidermonkey/Manifest2
-rw-r--r--dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-fix-virtual-address-length.patch59
-rw-r--r--dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r4.ebuild155
-rw-r--r--dev-lang/tcl/Manifest4
-rw-r--r--dev-lang/tcl/tcl-8.5.17-r1.ebuild2
-rw-r--r--dev-lang/tcl/tcl-8.6.8.ebuild2
-rw-r--r--dev-lang/vala/Manifest20
-rw-r--r--dev-lang/vala/vala-0.40.16.ebuild54
-rw-r--r--dev-lang/vala/vala-0.40.20.ebuild2
-rw-r--r--dev-lang/vala/vala-0.40.22.ebuild (renamed from dev-lang/vala/vala-0.40.19.ebuild)0
-rw-r--r--dev-lang/vala/vala-0.44.11.ebuild2
-rw-r--r--dev-lang/vala/vala-0.46.7.ebuild2
-rw-r--r--dev-lang/vala/vala-0.46.9.ebuild (renamed from dev-lang/vala/vala-0.46.6.ebuild)0
-rw-r--r--dev-lang/vala/vala-0.48.5.ebuild (renamed from dev-lang/vala/vala-0.48.2.ebuild)0
-rw-r--r--dev-lang/yasm/Manifest4
-rw-r--r--dev-lang/yasm/yasm-1.3.0.ebuild13
-rw-r--r--dev-lang/yasm/yasm-9999.ebuild58
84 files changed, 5426 insertions, 680 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index fe56f3d8edfe..4bf5e0f29fca 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
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
}