summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin17160 -> 17005 bytes
-rw-r--r--dev-lang/R/Manifest6
-rw-r--r--dev-lang/R/R-3.4.1.ebuild2
-rw-r--r--dev-lang/R/R-3.6.3-r1.ebuild2
-rw-r--r--dev-lang/R/R-4.0.2.ebuild2
-rw-r--r--dev-lang/elixir/Manifest3
-rw-r--r--dev-lang/elixir/elixir-1.11.2.ebuild3
-rw-r--r--dev-lang/elixir/files/elixir-1.11.2-mksh.patch81
-rw-r--r--dev-lang/erlang/Manifest2
-rw-r--r--dev-lang/erlang/erlang-23.1.5.ebuild159
-rw-r--r--dev-lang/fpc/Manifest24
-rw-r--r--dev-lang/fpc/fpc-2.6.4.ebuild174
-rw-r--r--dev-lang/fpc/fpc-3.0.0.ebuild161
-rw-r--r--dev-lang/fpc/fpc-3.0.2-r1.ebuild165
-rw-r--r--dev-lang/fpc/fpc-3.0.2.ebuild161
-rw-r--r--dev-lang/go/Manifest7
-rw-r--r--dev-lang/go/files/go-sets.conf7
-rw-r--r--dev-lang/go/go-1.14.13-r1.ebuild205
-rw-r--r--dev-lang/go/go-1.15.6-r1.ebuild205
-rw-r--r--dev-lang/go/go-9999.ebuild24
-rw-r--r--dev-lang/helium/Manifest4
-rw-r--r--dev-lang/helium/files/helium-1.8.1-ghc-7.10.patch55
-rw-r--r--dev-lang/helium/helium-1.8.1.ebuild35
-rw-r--r--dev-lang/helium/metadata.xml11
-rw-r--r--dev-lang/ispc/Manifest4
-rw-r--r--dev-lang/ispc/ispc-1.14.1.ebuild14
-rw-r--r--dev-lang/ispc/ispc-9999.ebuild13
-rw-r--r--dev-lang/jsonnet/Manifest2
-rw-r--r--dev-lang/jsonnet/jsonnet-0.17.0-r1.ebuild (renamed from dev-lang/jsonnet/jsonnet-0.17.0.ebuild)27
-rw-r--r--dev-lang/julia/Manifest8
-rw-r--r--dev-lang/julia/julia-1.3.0.ebuild1
-rw-r--r--dev-lang/julia/julia-1.4.0-r1.ebuild1
-rw-r--r--dev-lang/julia/julia-1.4.0-r2.ebuild1
-rw-r--r--dev-lang/julia/julia-1.5.2.ebuild1
-rw-r--r--dev-lang/lfe/Manifest6
-rw-r--r--dev-lang/lfe/lfe-0.10.1.ebuild36
-rw-r--r--dev-lang/lfe/lfe-0.7.ebuild31
-rw-r--r--dev-lang/lfe/lfe-1.0.ebuild36
-rw-r--r--dev-lang/lua/Manifest18
-rw-r--r--dev-lang/lua/files/lua-5.1.4-test.patch4
-rw-r--r--dev-lang/lua/files/lua-5.2-make-r1.patch4
-rw-r--r--dev-lang/lua/files/lua-5.3-make-r1.patch4
-rw-r--r--dev-lang/lua/lua-5.1.5-r103.ebuild145
-rw-r--r--dev-lang/lua/lua-5.1.5-r104.ebuild146
-rw-r--r--dev-lang/lua/lua-5.1.5-r105.ebuild47
-rw-r--r--dev-lang/lua/lua-5.2.4-r2.ebuild36
-rw-r--r--dev-lang/lua/lua-5.3.6-r1.ebuild (renamed from dev-lang/lua/lua-5.3.5-r2.ebuild)40
-rw-r--r--dev-lang/lua/lua-5.3.6.ebuild194
-rw-r--r--dev-lang/lua/lua-5.4.1-r1.ebuild (renamed from dev-lang/lua/lua-5.4.1.ebuild)7
-rw-r--r--dev-lang/luajit/Manifest6
-rw-r--r--dev-lang/luajit/luajit-2.0.5-r3.ebuild (renamed from dev-lang/luajit/luajit-2.0.5-r2.ebuild)25
-rw-r--r--dev-lang/luajit/luajit-2.1.0_beta3-r2.ebuild (renamed from dev-lang/luajit/luajit-2.1.0_beta3-r1.ebuild)21
-rw-r--r--dev-lang/luajit/metadata.xml4
-rw-r--r--dev-lang/moarvm/Manifest16
-rw-r--r--dev-lang/moarvm/moarvm-2020.05.ebuild2
-rw-r--r--dev-lang/moarvm/moarvm-2020.06.ebuild2
-rw-r--r--dev-lang/moarvm/moarvm-2020.07.ebuild2
-rw-r--r--dev-lang/moarvm/moarvm-2020.08.ebuild2
-rw-r--r--dev-lang/moarvm/moarvm-2020.09.ebuild2
-rw-r--r--dev-lang/moarvm/moarvm-2020.10.ebuild2
-rw-r--r--dev-lang/moarvm/moarvm-2020.11.ebuild61
-rw-r--r--dev-lang/moarvm/moarvm-9999.ebuild1
-rw-r--r--dev-lang/nim/Manifest4
-rw-r--r--dev-lang/nim/nim-1.4.2.ebuild (renamed from dev-lang/nim/nim-1.4.0.ebuild)13
-rw-r--r--dev-lang/nqp/Manifest2
-rw-r--r--dev-lang/nqp/nqp-2020.11.ebuild160
-rw-r--r--dev-lang/nwcc/Manifest2
-rw-r--r--dev-lang/nwcc/nwcc-0.8.2.ebuild24
-rw-r--r--dev-lang/parrot/Manifest7
-rw-r--r--dev-lang/parrot/parrot-7.1.0-r1.ebuild83
-rw-r--r--dev-lang/parrot/parrot-7.11.0-r1.ebuild83
-rw-r--r--dev-lang/parrot/parrot-7.5.0-r1.ebuild83
-rw-r--r--dev-lang/parrot/parrot-8.1.0-r1.ebuild84
-rw-r--r--dev-lang/php/Manifest7
-rw-r--r--dev-lang/php/files/php-7.4.13-issue80368.patch17
-rw-r--r--dev-lang/php/php-7.3.25.ebuild2
-rw-r--r--dev-lang/php/php-7.4.13.ebuild7
-rw-r--r--dev-lang/php/php-8.0.0.ebuild747
-rw-r--r--dev-lang/python-exec/Manifest6
-rw-r--r--dev-lang/python-exec/metadata.xml7
-rw-r--r--dev-lang/python-exec/python-exec-2.4.6-r2.ebuild2
-rw-r--r--dev-lang/python-exec/python-exec-2.4.6-r3.ebuild (renamed from dev-lang/python-exec/python-exec-2.4.6-r1.ebuild)49
-rw-r--r--dev-lang/python/Manifest26
-rw-r--r--dev-lang/python/python-2.7.18-r5.ebuild369
-rw-r--r--dev-lang/python/python-3.10.0_alpha3.ebuild331
-rw-r--r--dev-lang/python/python-3.6.12-r1.ebuild365
-rw-r--r--dev-lang/python/python-3.6.12.ebuild2
-rw-r--r--dev-lang/python/python-3.7.9-r1.ebuild351
-rw-r--r--dev-lang/python/python-3.7.9.ebuild2
-rw-r--r--dev-lang/python/python-3.8.5.ebuild2
-rw-r--r--dev-lang/python/python-3.8.6-r1.ebuild355
-rw-r--r--dev-lang/python/python-3.8.6.ebuild2
-rw-r--r--dev-lang/python/python-3.8.7_rc1.ebuild355
-rw-r--r--dev-lang/python/python-3.9.0-r1.ebuild331
-rw-r--r--dev-lang/python/python-3.9.0.ebuild2
-rw-r--r--dev-lang/python/python-3.9.1.ebuild331
-rw-r--r--dev-lang/rakudo/Manifest2
-rw-r--r--dev-lang/rakudo/rakudo-2020.11.ebuild73
-rw-r--r--dev-lang/ruby/Manifest6
-rw-r--r--dev-lang/ruby/ruby-2.5.8-r1.ebuild26
-rw-r--r--dev-lang/ruby/ruby-2.6.6-r2.ebuild26
-rw-r--r--dev-lang/ruby/ruby-2.7.2.ebuild26
-rw-r--r--dev-lang/rust/Manifest2
-rw-r--r--dev-lang/rust/files/1.47.0-libressl.patch32
-rw-r--r--dev-lang/spidermonkey/Manifest2
-rw-r--r--dev-lang/spidermonkey/spidermonkey-78.5.0.ebuild2
-rw-r--r--dev-lang/srf/Manifest3
-rw-r--r--dev-lang/srf/files/srf-1.0-fno-common.patch8
-rw-r--r--dev-lang/srf/srf-1.0-r2.ebuild9
-rw-r--r--dev-lang/swi-prolog/Manifest10
-rw-r--r--dev-lang/swi-prolog/swi-prolog-8.2.2.ebuild104
-rw-r--r--dev-lang/swi-prolog/swi-prolog-8.3.10.ebuild (renamed from dev-lang/swi-prolog/swi-prolog-8.3.8.ebuild)0
-rw-r--r--dev-lang/swi-prolog/swi-prolog-8.3.11.ebuild (renamed from dev-lang/swi-prolog/swi-prolog-8.3.9.ebuild)0
113 files changed, 5012 insertions, 2002 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 8ae915b493e8..d3421dc4ff80 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 f2cd0a7a72bc..789225e69301 100644
--- a/dev-lang/R/Manifest
+++ b/dev-lang/R/Manifest
@@ -6,7 +6,7 @@ DIST R-3.4.1.tar.gz 30200109 BLAKE2B 03602e9a48759caee8ce047fa6273df7a54af089de4
DIST R-3.6.3.tar.gz 33308185 BLAKE2B f82751e21d3b502132f8f27d4fc47a921fb085a50c3da3b45e08fbbdd1ab3d42e89b4fa6653a570c21176d79f492277b1d0b86c3c9f4da1386d8b6e4771d4d2c SHA512 9b1dc78922e431bd1af81e6e560b10ad04d121718f680fed32db735d561fd40ea6028759976722db11559f1a78fe684119b766f0567128cb2ee5003aa87a0931
DIST R-4.0.2.tar.gz 33191186 BLAKE2B 2d5b99c17a9df48a36871f18701efacfaa1e6bb89c0e5c6516fc20966547f34f9079dc52ab18ac7816e0fed25d6230076246e83dc648501553fa2d0cad67b8e4 SHA512 b7330613ee9795f54cde3dd9f7509be83d9156fb8577c17179727ee01450db27704249f68bd48e0331e2df09c2d9833d8bb019c4f9ce9ba669df74650ff2e842
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-r1.ebuild 7188 BLAKE2B d79f440aa388348bcf4deb7bb34b9b16e16f5877486c71c3373f0b9698baf135d296e141e88dffaef61914a92943805543eb97ffd996128bda821e6a49de3420 SHA512 b6a232374b8f17c1d94b65c37aefd32aefb2d53e699fd09af9f02aa81ce06acd6a3932f0e1b9b2f9ddb1207ae23f16406b0d114b234c2043c6b1db4f6f774bf2
-EBUILD R-4.0.2.ebuild 7342 BLAKE2B 0d4dafa01c0a42076feddc4c23518f180fdebadfec6ff59893680d87bbcf646586b831eb4d943ea526dc431f2719cdb211ccdddfce50737bbb6b46dc26d47eff SHA512 e0173d2b15fc9b1905ef3d0d56712d3c5e42779a863dc73de5ff94f1deed687bac01d95cde149f7a002126206b0e01ece1c22662f71d6a502a32e19bba8ece60
+EBUILD R-3.4.1.ebuild 6227 BLAKE2B c9c50a779452d2689119c1de9fd9b6b14dd915fb6ee263c655e998a0a690fe98d1a68f138ef82bf6e70b3ca58ecb02a9f8638a1a7b0f95fe474c37efb78be492 SHA512 b3d1e0f0a92c9f31c8a091736c507f0618ed0a5534b13905017715fc7ea114310a03baf963e0cc961a49cc0fc34e70d46c10eb886d170a74e462bace3465b702
+EBUILD R-3.6.3-r1.ebuild 7177 BLAKE2B 81e09b4946c208068077008d711858f49b799245ef2097b0e3c984b2261d79fa707be0d892991bc8ce0c3f5bf3c592c8e81ff4492a97f2da41ca903d4ca67351 SHA512 f1a41aae1e951fd48af91b92e76efb569d0cc4d1d5f7d34d010d5882e90a0bdc3b26997c22fa8f1725d739fde61cf189f5032c15a4b6be913958b597727b9ad8
+EBUILD R-4.0.2.ebuild 7331 BLAKE2B f170e5884f52ca8f1fa7a53c6a37487c35331b1464da87e2371ad73989870838ab6a2f1acc3d2e59b7e0cbbb48ebb42954df7aec2062407f6026276e0bd90cbf SHA512 d1bd84790276a6a8804e29373c534b75ed41bd4b2e0084aae990016e8d8918e58612a777aad246a44769b97515c6f5a1afb18ba7e2b13db782c46fadb130b389
MISC metadata.xml 1140 BLAKE2B 774221eb531b4e80f0650b627b9ce53d9a2daf6342b1f19579d2d046e1c83aa497cc764870406b7ea3cf6cbae899cb6d460af92991d62bc6aea8da026a441822 SHA512 297c7e17998f92fb836b0599ce5221aee1ba1e7b1504edb348a602b695faf381d51f32f6118f5ef4bb353f02e92ffc5b3520b8d317d3e30a68a3cce0254fa6b1
diff --git a/dev-lang/R/R-3.4.1.ebuild b/dev-lang/R/R-3.4.1.ebuild
index b54064371149..39b6d57442c8 100644
--- a/dev-lang/R/R-3.4.1.ebuild
+++ b/dev-lang/R/R-3.4.1.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1"
SLOT="0"
-KEYWORDS="amd64 arm64 ~hppa ~ia64 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="amd64 arm64 ~hppa ~ia64 sparc x86 ~amd64-linux ~x86-linux"
IUSE="cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs tiff tk X"
REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )"
diff --git a/dev-lang/R/R-3.6.3-r1.ebuild b/dev-lang/R/R-3.6.3-r1.ebuild
index 274948dece15..bd149544e480 100644
--- a/dev-lang/R/R-3.6.3-r1.ebuild
+++ b/dev-lang/R/R-3.6.3-r1.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs test tiff tk X"
REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )"
diff --git a/dev-lang/R/R-4.0.2.ebuild b/dev-lang/R/R-4.0.2.ebuild
index 83d1ecd9385a..f900a51189f9 100644
--- a/dev-lang/R/R-4.0.2.ebuild
+++ b/dev-lang/R/R-4.0.2.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs test tiff tk X"
# One test required profiling in v4.0.2, check the upstream bug:
diff --git a/dev-lang/elixir/Manifest b/dev-lang/elixir/Manifest
index 43faa6b70806..153367c5dbbb 100644
--- a/dev-lang/elixir/Manifest
+++ b/dev-lang/elixir/Manifest
@@ -1,8 +1,9 @@
AUX elixir-1.10.3-epmd-daemon.patch 512 BLAKE2B c767cf4336214396d953efe568f0302d6852ec5332575202c167f38553deb9878b69d0744ed8a4062bbcb996df840f759f390ddc0c5e467aeab99250dee5a72e SHA512 dfe12ca0b47529a29d87871c9b31728099f816a0bd416512dd2409686fe6ceeb0e80e9da322ff38df27600da3235d174b365c80b8cae0e55eaee328b1260bc0d
AUX elixir-1.10.3-no-Q.patch 355 BLAKE2B 903e5a7149f6e7f7030a533ae437b0e40b97c82c6baa7f90c1dff37fedf96c2e821e98529007e2300a92b8b3e9284428d91d6ee45888da7d79b18d35dfd89e58 SHA512 21d28b63fee2877337c0df095cfa200ae11ec2f0c76556e971957bb92e2b8e9d811c939b1efa458c633b61d3525f47a8b04d1b6f23df04e50ffb3ed5225f7c18
+AUX elixir-1.11.2-mksh.patch 2058 BLAKE2B 45e14921fc59f5707ee9bc2aaebea5f090a5995d07e1aa773d3751690230ded1abade17179f643e787ae3b53661c8ad7bafdf295fd1eb21d534c0b38a0083a1b SHA512 a888b73638873a5b7a6c5f2576c81d58e8df854e2ab3ecfbcf547da5aeea4eee0f43798a1c1308bc7f3515af2d28e78740c4016fde0f5e0eea2114dac7d98de6
AUX elixir-1.9.1-disable-network-tests.patch 569 BLAKE2B fda6b9b99f80e81883723280de31933c1740167d41ef4783dc663bad277cf58b8782326abc4a72e0d989c513afb9cdf4494e7d79754b18d62baf75255a74aa45 SHA512 465831a389891680412d51d9209497d5b750ff0a5ff72d45807a7dba6ec7757156ee96048bbc81f46c9c24a5b13cdd5161539fdeb4ffcea655c407e29f6675fc
DIST elixir-1.10.4.tar.gz 2331003 BLAKE2B 8cb54bcb16762ae345ad9d36a25c28696fd5bb57cf97c5037c21458671e001cfe51a722287243c6a70fe3cea65c9c219e759c8312fc168e93974ac5f0870b47a SHA512 844e405cf344539a9d32dc7f1ead0dc1dfb0d70a9ab718269f4e25e5262f611f96346f5be93cf8e34a75c58c6aabb12e8a796c5cb182955922510c270ef169e7
DIST elixir-1.11.2.tar.gz 2391833 BLAKE2B 1c11e96830c8719e05e5bc832d4e1d9ca5bb8036803360568fbf4a06a11bb8eb4656aaf1e57a7e04669ddc240d1c04c6a15475e98fcf613ea8bf52b15723fe7f SHA512 472a531353d5f393b0223008ac95ae67b0dc6708143df59a4dd359fdb631329f8a8bded886f53be232e076d194e14a76325fab51a59ec2451706f4f35836bc70
EBUILD elixir-1.10.4.ebuild 883 BLAKE2B c8945f6c84ce2ba4ef99b42f5f0f3c262cfb6d743cd418f66113cab8a9a90caf1ddc71441d96b3755e9025974688909d8306b63ded24d871733d263c54df1d56 SHA512 a3581664d0fe5c49bd7c4ed2b6f2fba7c4b402944daf7c79e79acbd7ffbb463c17e559d961f7abd3c54c5ca5e6d23520e379a5712d7d232439b5c878291cb3d7
-EBUILD elixir-1.11.2.ebuild 886 BLAKE2B 5b16a1aa4a73de92f058640cbba02d044eccd23e5b95383abf03ef8a903e4a41337f14c5547638745bc73f304cff946ef7ff4e99186e1607c7a2fbcaa0058e4b SHA512 c74b4b3bc7ea0416a524701ad9e2a02924491fe8e3d92b3e99e133d9504e0a61a339374de62b78837fe3249a076cf3c05fb281c729a279c1bda9b023650e5050
+EBUILD elixir-1.11.2.ebuild 922 BLAKE2B 773047d4ae299c28923d5a7bae9b69a6cc07a3d0da07fda1bf65aa5ff8cbf29a310a0ede370595a2a643599f04dd98124b6e19ee85d2612c7d9876803959cffe SHA512 219f489574303f44a76d4608bcad5593ca6852fd93f6fff1e19dba3d83160762c8d7052e858017c4096b9bb44a7337c4c5141b09d8b70ac57d9ad1e5bb233b72
MISC metadata.xml 790 BLAKE2B 33e4a37225c8f5bd142c5cbbe097ad3330f6c5b1115f834c1c20613281bdc0afa0927734ec3b0a2b1da595980abeec2fcf2bb20e725f5701590d1c3629972910 SHA512 5489797d3771c405edb4c9883082f780279470d7821dbdd1a4790bcdc74c0e31327c8f15286dc421bfe426d7371d6be2819e707389f425101e2d0d0577475586
diff --git a/dev-lang/elixir/elixir-1.11.2.ebuild b/dev-lang/elixir/elixir-1.11.2.ebuild
index 74f24bfac275..00e05b4cf117 100644
--- a/dev-lang/elixir/elixir-1.11.2.ebuild
+++ b/dev-lang/elixir/elixir-1.11.2.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar
LICENSE="Apache-2.0 ErlPL-1.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~sparc ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ~sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -29,6 +29,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch
"${FILESDIR}"/${PN}-1.10.3-no-Q.patch
"${FILESDIR}"/${PN}-1.10.3-epmd-daemon.patch
+ "${FILESDIR}"/${PN}-1.11.2-mksh.patch
)
src_install() {
diff --git a/dev-lang/elixir/files/elixir-1.11.2-mksh.patch b/dev-lang/elixir/files/elixir-1.11.2-mksh.patch
new file mode 100644
index 000000000000..3fda43156890
--- /dev/null
+++ b/dev-lang/elixir/files/elixir-1.11.2-mksh.patch
@@ -0,0 +1,81 @@
+From 69bb81635a77afb28419103bdb02867b48994d4a Mon Sep 17 00:00:00 2001
+From: "Haelwenn (lanodan) Monnier" <contact@hacktivis.me>
+Date: Wed, 9 Dec 2020 18:21:34 +0100
+Subject: [PATCH] bin/elixir: Rename erl() function to erl_set()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It conflicted with the erl executable for Korn-derived shells where a function
+can be used in `exec command`.
+
+It isn't clear which behavior is expected from reading the POSIX specification
+but "Shell Command Language § 2.9.1 Simple Commands" clears the usage of
+the term `command` quite well.
+And even with excluding functions from the `command` operand of `exec`,
+why are aliases accepted? (in most if not all shells)
+
+See: https://bugs.gentoo.org/729964
+---
+ bin/elixir | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+--- a/bin/elixir
++++ b/bin/elixir
+@@ -70,7 +70,7 @@ readlink_f () {
+ ERL=""
+
+ # Stores erl arguments preserving spaces/quotes (mimics an array)
+-erl () {
++erl_set () {
+ eval "E${E}=\$1"
+ E=$((E + 1))
+ }
+@@ -137,34 +137,34 @@ while [ $I -le $LENGTH ]; do
+ ;;
+ --cookie)
+ S=2
+- erl "-setcookie"
+- erl "$2"
++ erl_set "-setcookie"
++ erl_set "$2"
+ ;;
+ --sname|--name)
+ S=2
+- erl "$(echo "$1" | cut -c 2-)"
+- erl "$2"
++ erl_set "$(echo "$1" | cut -c 2-)"
++ erl_set "$2"
+ ;;
+ --erl-config)
+ S=2
+- erl "-config"
+- erl "$2"
++ erl_set "-config"
++ erl_set "$2"
+ ;;
+ --vm-args)
+ S=2
+- erl "-args_file"
+- erl "$2"
++ erl_set "-args_file"
++ erl_set "$2"
+ ;;
+ --boot)
+ S=2
+- erl "-boot"
+- erl "$2"
++ erl_set "-boot"
++ erl_set "$2"
+ ;;
+ --boot-var)
+ S=3
+- erl "-boot_var"
+- erl "$2"
+- erl "$3"
++ erl_set "-boot_var"
++ erl_set "$2"
++ erl_set "$3"
+ ;;
+ --pipe-to)
+ S=3
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index 06dc0a1e2994..e6594a176b19 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -10,6 +10,7 @@ AUX erlang-23.1.2-ac2.70.patch 2596 BLAKE2B 740d4e2f30f5a1426fc4511512ae73337150
DIST erlang-23.0.4.tar.gz 56394805 BLAKE2B 10a4e9e3084ad2d1bb10fa736d86eb03fa6b249f83b9d06bfef4c37f99ad86dd1415c2fbaa1524cddaf57dd228d25f388fa9fe9f5b4a03ba7477080e11020fb1 SHA512 53d4b7a5e76113bb3a9695a266e58dbebb57887b1eea4e8acb56bb85d194295231d739719d526dfc6d1f0bf745d7f059fdf5ec9dc79859f5b16a75c4d0a6b348
DIST erlang-23.1.1.tar.gz 56498218 BLAKE2B cd513a2d45aecc12503df8765e0f4170001373c0e6b35b4c01d7471906408558a3b6bbf9c189858fce3cb8fd7020270813550e2099f04c8094afc49dcd070016 SHA512 572164e601796bc7b0df3818c859b23872f148dcc72f44f611d9d5684b0c9974b00496aa0fd521dc01d0d3481556b6641d3cbd859bd7bfadefd15115728d16d9
DIST erlang-23.1.4.tar.gz 56503340 BLAKE2B f4b26aa5882bb3d2218897706734798a80cbb5113008be70b2a0c793a5cc1eb01eb1ace17ae525e19f176e47ffc85b108240b7fec71cf8eedb4d67860ecaa98b SHA512 864b69fc69f3843dfe839faf1c1e86ec505282ec4d86ed1add445998ba28bcc623522471d8d8636a9cf1e24e84f99d5cae3880a4b1171abab9651ef242a55367
+DIST erlang-23.1.5.tar.gz 56508089 BLAKE2B 7784cbed8df68d449cbace6d84b37208b739a3b12fbed1117f05c765883d348e877001f5eba15ffdec5acc47725bf69d06a7f02b48766efa5496a8326fb8eb8c SHA512 dccb863ace1f3c3fd17c848bf21c982338546e2be2a3b81ade35bcefeb4ff75afff28ebe2363ccf7f4680417f83bbeaa51c74274a23621139b5a4be6bb824955
DIST erlang_doc_html_23.0.tar.gz 36238699 BLAKE2B bce5fb1d766d3a795728cf7c00529129690f52e5dbe7363095cb7e63d5331a4dfc05c2042d24f10c7f3facbd187284aa323a92c0ed7515c1750aee4cd890fbd4 SHA512 bd0b1adf8639674d31152024e1351105249c6e6f93f28362e9e4b66ce6daadbe5eef5917a5889c926130e81bd000cfc44895ebaa309bf9a0c1c125713b715927
DIST erlang_doc_html_23.1.tar.gz 36285075 BLAKE2B e2e24ac4cecfc9c10853fd3718e8e332579a91bf25eaaf9e0fc2044d89bcd6d03fd251d6a8ab64a86439f1244e275ef398701b47933a741d4e64016838db48aa SHA512 c8fecb08344c9c7a4c7b911ac4f73e2d8c0c3778d665098c3377e055346a7ecfcc378bca28dff768c36dc7bf7447308f4fb58273875c22f2d6cd896fd6232656
DIST erlang_doc_man_23.0.tar.gz 1383486 BLAKE2B 63a9989c26797fe07fbd0ccca0d8425d94bc60a86fa93b5332c8d1f3e12a0071d9e6d4759be73bf44bf35dd14723b9e6707a84ba834e1775bc28aeec1edbe168 SHA512 81575ce7b267f5bb48bd844808e8edd4e373640bbc481372b288602eb9d3c9917e6c7c040c035b63a2f6edf437c3d826d6afdf5801765b51d9edd4a3b2a5b16f
@@ -17,4 +18,5 @@ DIST erlang_doc_man_23.1.tar.gz 1384042 BLAKE2B 914f64d9317e45e22dc0a3025306d36f
EBUILD erlang-23.0.4.ebuild 4574 BLAKE2B 09f50e6cd3bb9d1066e76b7642b758ae980158303472efd97ad3306a4d7ac64000eee51f126cbc28d2e5daa967081492d97f937d240673f9899413ac438dcbb8 SHA512 faf0daa84d3641e09c8fba82ad632ac08b8335b94b5e812dc66a3849508f8bd062698fc3dc9ee90927eb72f21f87d59c99f7da841d196f70e4ed15873ddfdbf8
EBUILD erlang-23.1.1.ebuild 4574 BLAKE2B 09f50e6cd3bb9d1066e76b7642b758ae980158303472efd97ad3306a4d7ac64000eee51f126cbc28d2e5daa967081492d97f937d240673f9899413ac438dcbb8 SHA512 faf0daa84d3641e09c8fba82ad632ac08b8335b94b5e812dc66a3849508f8bd062698fc3dc9ee90927eb72f21f87d59c99f7da841d196f70e4ed15873ddfdbf8
EBUILD erlang-23.1.4.ebuild 4620 BLAKE2B dddab89d8d76d58b1f1906dd1031ec7a9edebac6f1924532fd4c1b6c36aebcad03d6864c0d3c89913996d5974abecf9f43a34edea5e6e6042d1f356fe958f483 SHA512 3bc2d2b400241421d30c885c5cc114c11505be5118767484669a87bc397859d20d4bf7976cea03015c198f6da6d9bc9aebc5e7cbf8de9b63d6253e64a38b4167
+EBUILD erlang-23.1.5.ebuild 4620 BLAKE2B dddab89d8d76d58b1f1906dd1031ec7a9edebac6f1924532fd4c1b6c36aebcad03d6864c0d3c89913996d5974abecf9f43a34edea5e6e6042d1f356fe958f483 SHA512 3bc2d2b400241421d30c885c5cc114c11505be5118767484669a87bc397859d20d4bf7976cea03015c198f6da6d9bc9aebc5e7cbf8de9b63d6253e64a38b4167
MISC metadata.xml 834 BLAKE2B 1f394278eed4a3ac5e1c04f4ffced7042cc910d9e84ed4ad955cf91240446410f0ffbf1c138cc76cfa55d40c0eb0f110da98cd49c59df2b12ae70c13afd45a06 SHA512 7c067d233ffae83e4b1b55ba9e8adffe125d27f5f81401a4e4262d9b713b08bdaa4dd927570b2d32591092ca387372ee206e25e0b939ca721c96317fcd3d2be2
diff --git a/dev-lang/erlang/erlang-23.1.5.ebuild b/dev-lang/erlang/erlang-23.1.5.ebuild
new file mode 100644
index 000000000000..a809e52a684b
--- /dev/null
+++ b/dev-lang/erlang/erlang-23.1.5.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+WX_GTK_VER="3.0-gtk3"
+
+inherit elisp-common java-pkg-opt-2 systemd wxwidgets
+
+# NOTE: If you need symlinks for binaries please tell maintainers or
+# open up a bug to let it be created.
+
+UPSTREAM_V="$(ver_cut 1-2)"
+
+DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
+HOMEPAGE="https://www.erlang.org/"
+SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
+ http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
+ doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
+
+LICENSE="Apache-2.0"
+# We use this subslot because Compiled HiPE Code can be loaded on the exact
+# 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"
+IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets"
+
+RDEPEND="
+ acct-group/epmd
+ acct-user/epmd
+ sys-libs/ncurses:0
+ sys-libs/zlib
+ emacs? ( >=app-editors/emacs-23.1:* )
+ java? ( >=virtual/jdk-1.8:* )
+ odbc? ( dev-db/unixODBC )
+ sctp? ( net-misc/lksctp-tools )
+ ssl? (
+ !libressl? ( >=dev-libs/openssl-0.9.7d:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ systemd? ( sys-apps/systemd )
+ wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
+"
+DEPEND="${RDEPEND}
+ dev-lang/perl
+"
+
+S="${WORKDIR}/otp-OTP-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/18.2.1-wx3.0.patch
+ "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch
+ "${FILESDIR}"/${PN}-23.1.2-ac2.70.patch
+)
+
+SITEFILE=50"${PN}"-gentoo.el
+
+src_prepare() {
+ default
+
+ ./otp_build autoconf || die
+}
+
+src_configure() {
+ use wxwidgets && setup-wxwidgets
+
+ local myconf=(
+ --disable-builtin-zlib
+ $(use_enable hipe)
+ $(use_enable kpoll kernel-poll)
+ $(use_with java javac)
+ $(use_enable sctp)
+ $(use_with ssl ssl "${EPREFIX}"/usr)
+ $(use_enable ssl dynamic-ssl-lib)
+ $(use_enable systemd)
+ $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null")
+ )
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake
+
+ if use emacs ; then
+ pushd lib/tools/emacs &>/dev/null || die
+ elisp-compile *.el
+ popd &>/dev/null || die
+ fi
+}
+
+extract_version() {
+ local path="$1"
+ local var_name="$2"
+ sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed"
+}
+
+src_install() {
+ local erl_libdir_rel="$(get_libdir)/erlang"
+ local erl_libdir="/usr/${erl_libdir_rel}"
+ local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)"
+ local erl_erts_ver="$(extract_version erts VSN)"
+ local my_manpath="/usr/share/${PN}/man"
+
+ [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version"
+ [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version"
+
+ emake INSTALL_PREFIX="${D}" install
+
+ if use doc ; then
+ # Note: we explicitly install docs into:
+ # /usr/share/doc/${PF}/{doc,lib,erts-*}
+ # To maintain that layout we gather everything in 'html-docs'.
+ # See bug #684376.
+ mkdir html-docs || die
+ mv "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* html-docs/ || die
+ local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" html-docs/. )
+ docompress -x /usr/share/doc/${PF}
+ else
+ local DOCS=("README.md")
+ fi
+
+ einstalldocs
+
+ dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl
+ dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc
+ dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript
+ dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call
+ dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp
+
+ ## Clean up the no longer needed files
+ rm "${ED}/${erl_libdir}/Install" || die
+
+ insinto "${my_manpath}"
+ doins -r "${WORKDIR}"/man/*
+ # extend MANPATH, so the normal man command can find it
+ # see bug 189639
+ newenvd - "90erlang" <<-_EOF_
+ MANPATH="${my_manpath}"
+ _EOF_
+
+ if use emacs ; then
+ elisp-install erlang lib/tools/emacs/*.{el,elc}
+ sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \
+ "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die
+ elisp-site-file-install "${T}/${SITEFILE}"
+ fi
+
+ newinitd "${FILESDIR}"/epmd.init-r2 epmd
+ newconfd "${FILESDIR}"/epmd.confd-r2 epmd
+ use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-lang/fpc/Manifest b/dev-lang/fpc/Manifest
index 207c1c162d34..7b0352c5fad8 100644
--- a/dev-lang/fpc/Manifest
+++ b/dev-lang/fpc/Manifest
@@ -1,31 +1,7 @@
-DIST fpc-2.6.2.sparc-linux.tar 33843200 BLAKE2B 1ed51f70e940da9151b2c3fa072a61469b36356fcf3f200a787c44ff468074ad25596afcc3864537f9d31b68827ff7d6d6888715421a570e0a0d107368a41de5 SHA512 9f6ba30680bd51ccb6b627935ce2cc10dfa8671f621d5ef7d7e047b036c48934829e165c3f9bbac61bbccda8b679ee132fc26e41c4f9b66cf30966481eb81f09
-DIST fpc-2.6.4-doc-html.tar.gz 4864530 BLAKE2B 7b0138336709403aee1647a04561e797771eb43a0633a0e23d15feeabd7848891443d550c43bb26a146d421e4bc1a8e095df628b0bade5d065caa03705d00e7f SHA512 c76b15c3c9c47d687bb4760753f605a169c7e76b8b8478dc4e557d0a172f9e7ce7abb24fc1512f7eaa305807a1f4cb0a1305bb02e983f932b02aa9683026e54d
-DIST fpc-2.6.4-fpctoc.htx.bz2 125626 BLAKE2B dca08aa9e0bf0cc62a5966eb886057afcb38e3b0174f277a2e30fe41f8c4aca350dc8b35aa0341d6ce6ed50f9db02b3d91778095941d9e13f52f6617a38d486d SHA512 12fdc2755adfabbda74257b058e00072e5e11925b8e62cf7959b2acab90b3e226b8f51544a127f88fc3cd473ba9794e6c9da4e73c04ced2a0d41994b520cd33d
-DIST fpc-2.6.4.arm-linux.tar 38440960 BLAKE2B 07695cff655e25087654ec1b2e556d43ea2b8ebe262954bef26f11a2d1e6f40469bbaa08c82209279eef4e9807441d58aa6211bcec9248a5070657158bab67a0 SHA512 3a11ebed39f37021201cac8a7e435d7ef3b1110d6893de7faf33651ff9b5a9aa13b6b529b0011132850386048483a55754ed8b1dba7de2e7ba9b2e881e7f0203
-DIST fpc-2.6.4.i386-linux.tar 47718400 BLAKE2B 005014a798457bc4f4f1b6035e36a907ee43dec5949e537e919600806fce0927ad1ec53b8ee77eb66f3c6e089a24896af9b3a1d4ff35fe6449d1f3f313ce9506 SHA512 2c1c33c80553d8a331f4fb35e1b136ab195de9fa03ab566b218a265a64cc75447a697a34472fa9cceeedf1e3acd664fada2cd36d60b319ea43eed7e1f9e57615
-DIST fpc-2.6.4.powerpc-linux.tar 48220160 BLAKE2B 1695c5267bef715994e6dcb14f085d49f83e9ae2976f4d5763df4a8c45bb24fa5ca142841521ee9af1dd7a1b38c7bcb3d1fb3b35bb4c800f5e63878d184bbc36 SHA512 a78b416a6dd59a10ad50c3549956f15fae5962b64d43be1f1d605befd035732cf860146970dcb410080f9ceb2af1a4f798434fceb11be550cb87d41c72be1810
-DIST fpc-2.6.4.powerpc64-linux.tar 53975040 BLAKE2B 2cbbe4756833c66f6889198497356c124b06f6ef89158bef22253d1465cb70356efcac8b35d0ad38c30c14a831efc36e15d01bb653dfc6d455fe0bd19546aa3f SHA512 0e978f68e339f12e2c53c8641c4f0918604b6b970949159dd20c49d65dabb5253d338d180da144eea3c6102a0110c401d03efbd634885220a320fce5fc686b16
-DIST fpc-2.6.4.source.tar.gz 29904088 BLAKE2B c126a76ea656a776a94237803db27a2319b0d93309175465ee2b4a06e4271b83a2079b7864ff642fb150fe8f57f4073034bf863f51c9f3512bbbab3d4e1f1d7d SHA512 653968786b40c69c3703f67cddfe7c501686cc8b3524a045498c247dc36b66a6619e9cdb5bb5ca002fb700ddc0b653f2a4298e92527df46fc09c8a69e8e9c3a5
-DIST fpc-2.6.4.x86_64-linux.tar 50350080 BLAKE2B b678cdd5d89c5f18eee1aaeba7e1d2285f70c9bd97ca9cdcce96302016f40bbc32699bf6bf8d22cab01c6ebfa3714ed7cbb9662fed4eccbd4cbd39d6a8d8fdb6 SHA512 3a993d1f978353a1d68d8ce2cd62748a875b0d0589ed8daf71ebba545b51879b09173e26245e02ac327b5d64932153a7695975c02f3f266642b4ef68e8ff48dc
-DIST fpc-3.0.0-doc-html.tar.gz 5253600 BLAKE2B e7128f5475ac57e82dbd1873ca3978572623dc1d674c05f0c9255e903f77f9cadb0cf1e56d7c4d89cdcf84786fef9c28b6c0dc143950c7a67cc3e21709087c09 SHA512 8a6fb405330eb5d4faa6bc892c7cd8b757b2e7b437e3ce19d85d5b98f702df936e1111e0ba9aac24099d20f6366a3bc8c674e087adbd463e62c2b5c615136486
-DIST fpc-3.0.0.i386-linux.tar 44892160 BLAKE2B 49329eab8765e934c5e0925e533e5bca2f942f179050f18ae06169303ee0284f0b3c72d45fd090290f52c31390865c5dc5974b06f74ffe978fec57ba6247294d SHA512 6d409aaa3827018f27813d7965f2d820e36b725ad8ec3257b89688b0bbf722b41e44ab99495050422b91db71323a081bd60c68f3919d04f17b1922264ec10e13
-DIST fpc-3.0.0.source.tar.gz 38311370 BLAKE2B 77a09431074c9df64ca2de3192966a22654a5d5f344a96351889af75951d1d6f8558dbd8642951ea25dbccf7ef74e320adde3ad5af2d9a5c6e64af30d49b3d83 SHA512 18b91a10320b0c52d0486aa241dbfeb5777eebe040f393f9b3661e8ab27a338b5a8d84c9461d40c6d11b362af2deb014f7c3fc273fc11fee1fc9badf19e18b88
-DIST fpc-3.0.0.x86_64-linux.tar 46571520 BLAKE2B 12e82ac9aebc2ecca1097c6d32baf3108e00a6fa6fc6297220a878d6523086731bb6739c2858114b3352001acb91147550cdb94f35fd6df0def30097fe9a3d7a SHA512 26502cf1dfd2bb83fe860e41cb064ccc5b971d112bf05f95e92089ea71bf0e3aafe659ef4cfc4967dd62271b5ecd3468fedf63dc351944b9e8cb52d662d4a3bb
-DIST fpc-3.0.2-doc-html.tar.gz 5534720 BLAKE2B 0d0dfcd1486dd3627242f008face430d80d74db326b0e67f0876a561be3736092ca4397812c8d382a03a0f7e7b4b77abbcdb5ccde25831bfeda36380f6ad5ff4 SHA512 1334e0bd5fbcc5d06513c9f9b1cd99b9a79782cca6224761d18ea314ba88da79517fac46c7135316f00bbaefd779080406f1b9e6c33ffb1e7b228f0c11618669
-DIST fpc-3.0.2.i386-linux.tar 55019520 BLAKE2B b15c99de6b5341d2e41b0ca2644c67808845c0fcaba6e4b3e2efe8d3f8975268491fa4339d4b2aa244e9c71809860c44dad4a6a5609953cb0182144e5648b28e SHA512 adeba89838eceec899edf54a7655a57551319c59eda9f437aa0b6a76bcce1d3cce691a69f40a9fa57ad5c9064abf514c07b879cf40e87cf55c6e10768deb1b7d
-DIST fpc-3.0.2.source.tar.gz 39841597 BLAKE2B 0c5b51051e478a03edd689a74d759752d11664706e7c117cee68919758ba0bc074b0c288bcd6ba66bfd5895d1e72f2f0c03df3df600d02c1a3b66fc79b58070a SHA512 8b2540af910c31c96c4bf6bc546f7824b2acd9509fea76b5884370d8ebecd836c167a6ef98fac46b16278027cc15aa6a9f63fb72919e3a103408dc16416e43ae
-DIST fpc-3.0.2.x86_64-linux.tar 57190400 BLAKE2B 2d38ad274b51efaf8d07431607c0d4184af6d76628771535c16f9466f1d5619dbce1a6ddc5fb3249c7c2fa7b314435d111c3397a4759c094d51438b0e33c7d88 SHA512 fac103f3bf7fad5af9a435831f456c5dd7b546729f56c4b51b2a6dedceea27b331edf48024b4ec7993e50432332e8404ae63d64913d793e787756413c8d95417
DIST fpc-3.0.4-doc-html.tar.gz 5658315 BLAKE2B 49f9e6f3848ad1aaad8b1621ffd5d2026590b3eed515b9bebe09c489cdf2d7170fcf7413794daebf3465190f5588317325b81d9723d824ab49c81db796f2f48f SHA512 1ebc8c5c5f213568dd24d50667c7939e00c33796c131db174ee93a4dc36122383e7d803cd280896c603eccfadc5bc3474b1831fa7f3e457a58fb3a045b8c33b1
DIST fpc-3.0.4.i386-linux.tar 54691840 BLAKE2B c0951c85a3916c29e8e7391408da09abd86898a42159bfd7e637410ecf3e3a3f266a33edb5eb5ad458be92cf1fc7741eb249a512fe817a73a13207e216e0c0d2 SHA512 eee7528a69d5c745981efc90f571542047a5e6b4f1b391ad5341460035da5feffdfc4c38229134d23513239ccb33dcbc95354559e45746f1f6665541c60d0ca7
DIST fpc-3.0.4.source.tar.gz 40347617 BLAKE2B 0764c92cc379d6e70a3f33368d96244ea0203b3395a5dbcadebe6ef51b508cbc7c112f9bc7bce69ae6dae1fde03bc9e45a1a8ad70ca154cc4dd51bc93cab82f9 SHA512 fc64fd94c39f220bd7531126d6281fa2141aed61c218595a7906a025660b46629a305ff7eb023f5e1359eafdec2dba69aa5405f1bbc3c1182414968689cbb52e
DIST fpc-3.0.4.x86_64-linux.tar 56842240 BLAKE2B fda488466f409d4f50501ad17edcce2740f0a7e60ac86bbfec235ccc27c619d62d2aab01aa7878ba3e174c35fd46aab98e43eda4528e98fdf3e098330eea9b26 SHA512 085110d0fade11c4e6e79c002522080eb070cebb8ebbed48ca35e3a2dc025df678516e36c7cba5f951e20c0da57dd261d673dda6839ecdf5d88aa8dfe15a56e5
-DIST fpcbuild-2.6.4.tar.gz 55604643 BLAKE2B 5aa9aca60c98c68fd629479fb7e13cd16f3a080f67a2687fa81e7d3daee958f41c6935fec45568dcd9fc03317bc94e99867b9c9cdac9d80e8c25386f08b03a55 SHA512 7c48fb48a3742ffe533a8a172758071c0a1129ffac09231e6969aa1d31bac346dc764598b6ae78dc9d25585a788f6ed4f2b4c39502774d4d3620f09185b807de
-DIST fpcbuild-3.0.0.tar.gz 66934428 BLAKE2B f73e224ccd6229bc4872df09cf776443f262006a73d78151c4ac352d3f1f011885a4b82bceaf64d90ff901f425bfad94fa40f6a1da1a9bd298632ff5acffe7fc SHA512 d010cdc2dd2d4c6efe67cf005d0babb00c2a8ae70942c8b838bb690153ad72e52c0d7198eded7bbde8c77e64d28b2d7f5a220fdcd6117e5991cd11a24369d1f1
-DIST fpcbuild-3.0.2.tar.gz 68407379 BLAKE2B 7cc4ed1e629ae4d078aca9589ab7c8b600856818b92391045601b32c9ab8fc9017ec4715b5bcfb059948337f6fc96447ecef00ba8fabbe8eb656ef9393fcc3b7 SHA512 dfa4865d8166b7903914ac101e48bae9761671a77e37cbfd54c2ee8eb6b2ba0e5f3ac4b55867a2ead79499dbae68cc785db531385c5b77d533945c644a2f6fe6
DIST fpcbuild-3.0.4.tar.gz 68908523 BLAKE2B b5c3936cf0b803aa2cc71f9c25ded470f207c540a1691cf3c2a9876c9e4eefd5c04f45b9f1f3ca17917b14ba4a90e0f16cc890b27024ff225d9d6bb25649862b SHA512 eedfeb4d25b3f4cb30ae9c8f30e0fec2405ef806fa565933cef7904d512f781730e3f023aea2f908c21250e3ced4f74fa780abad77b560728a88cedf591505b6
-EBUILD fpc-2.6.4.ebuild 4818 BLAKE2B fec6c01db8abe861604d94f66ca4cc33b3ddc39f888614f9fe77c3307e5cf8d751396fcbe839bf1bd12eb00498e69d3bea712de0cbd3f492f25c184cbb144f2c SHA512 a156ae004007332291a50847ec02ad3bd398da21571401ad8fbbc3ec164dc66411ca77edf109de90ce9f3cb6325fde171c522879ea6cb3f251eb9a0747c39903
-EBUILD fpc-3.0.0.ebuild 4228 BLAKE2B a182496b5445f605b00855d0b0da1f9a7f9280b0b8f5cdb9bb25eebadfe4839ca488ed6fc260bafb8d1c2542721cc2922e3be5fce66a1a9476ee191f01ae2bbd SHA512 557e48b626a1845231584e19aa55dd935c889630663416f29f133520bf5e1ae22504c8213eee86dc61d42a676a711b686aca9865100a440295654986f2d6dd5b
-EBUILD fpc-3.0.2-r1.ebuild 4464 BLAKE2B a7db8ce21cfe1c777498e754b276751c4910d87812c0497752d4a305dea3a4dd6ea28c7c8514e711497bc1fc1a6270d28c27bbb2815128f8ab2ed1e39b6f730e SHA512 7ee63fa4801074005b248a192f0905e8d146ab06cc43b797460dce60c1418aac4ac1600bb055c428766c36ee1f28db3ab18ea45ca1313684f2a275ec86b20fa5
-EBUILD fpc-3.0.2.ebuild 4251 BLAKE2B e9139fca9cf0628dde9b7a14da2f1ccae262b7e7486a8d77d1b06381ddb5d0582a89d9dc0e71edda29c30f4a3f9de81192364d130e3f2b2245d14341d354cf39 SHA512 b791aaaf9af69e00559de87f48f3c358ff3772dff3fdabc94c02b57d84265ad5df19b069ccb25a2cf58ef68408668f6720480ca697911f9faf1fd45b7687eef6
EBUILD fpc-3.0.4.ebuild 4459 BLAKE2B 4e02e29ec7411fd966bd7048ad236d9910a7a137ef3b252673ca3d823780b628832bc926c9462eb88711c3c3a3a919b1fb2b399b01d5d00d6a6f1291e98a859e SHA512 b353563e68ebf3524938f1d9cf4f710067443177051d89de73f97aad729a282134859c5811129c88d7a7e516d4a6169c11c691d3300901a0fc5d8cee387b5a88
MISC metadata.xml 385 BLAKE2B 0e0d050ec7539e841469fd1b2dd9b834e274c5acf63c6f5b38923271cac205d8680229e08dbcb931ed0b136f45800843ee21df6c7b670346b81ea988f1ba11b4 SHA512 1d1ec643e71bbaf3f38dd0f817aeba74f8871071a429b203b3b3397b114ef09e89cb5f166a08e7027e834f4f2ef6ad26049063a2d633ecbd65754945d0be1c46
diff --git a/dev-lang/fpc/fpc-2.6.4.ebuild b/dev-lang/fpc/fpc-2.6.4.ebuild
deleted file mode 100644
index c257c55db1da..000000000000
--- a/dev-lang/fpc/fpc-2.6.4.ebuild
+++ /dev/null
@@ -1,174 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit toolchain-funcs
-
-HOMEPAGE="https://www.freepascal.org/"
-DESCRIPTION="Free Pascal Compiler"
-SRC_URI="mirror://sourceforge/freepascal/fpcbuild-${PV}.tar.gz
- mirror://sourceforge/freepascal/fpc-${PV}.source.tar.gz
- amd64? ( mirror://sourceforge/freepascal/${P}.x86_64-linux.tar )
- arm? ( mirror://sourceforge/freepascal/${P}.arm-linux.tar )
- ppc? ( mirror://sourceforge/freepascal/${P}.powerpc-linux.tar )
- ppc64? ( mirror://sourceforge/freepascal/${P}.powerpc64-linux.tar )
- sparc? ( mirror://sourceforge/freepascal/${PN}-2.6.2.sparc-linux.tar )
- x86? ( mirror://sourceforge/freepascal/${P}.i386-linux.tar )
- doc? ( mirror://sourceforge/freepascal/Documentation/${PV}/doc-html.tar.gz -> ${P}-doc-html.tar.gz
- https://dev.gentoo.org/~radhermit/distfiles/${P}-fpctoc.htx.bz2 )"
-
-SLOT="0"
-LICENSE="GPL-2 LGPL-2.1-with-linking-exception"
-KEYWORDS="amd64 ~arm x86"
-IUSE="doc ide source"
-
-RDEPEND="ide? ( !dev-lang/fpc-ide )"
-
-RESTRICT="strip" #269221
-
-S=${WORKDIR}/fpcbuild-${PV}/fpcsrc
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # Bug 475210
- if $(tc-getLD) --version | grep -q "GNU gold"; then
- eerror "fpc does not function correctly when built with the gold linker."
- eerror "Please select the bfd linker with binutils-config."
- die "GNU gold detected"
- fi
- fi
-}
-
-src_unpack() {
- case ${ARCH} in
- amd64) FPC_ARCH="x86_64" PV_BIN=${PV} ;;
- arm) FPC_ARCH="arm" PV_BIN=${PV} ;;
- ppc) FPC_ARCH="powerpc" PV_BIN=${PV} ;;
- ppc64) FPC_ARCH="powerpc64" PV_BIN=${PV} ;;
- sparc) FPC_ARCH="sparc" PV_BIN=2.6.2 ;;
- x86) FPC_ARCH="i386" PV_BIN=${PV} ;;
- *) die "This ebuild doesn't support ${ARCH}." ;;
- esac
-
- unpack ${A}
-
- tar -xf ${PN}-${PV_BIN}.${FPC_ARCH}-linux/binary.${FPC_ARCH}-linux.tar || die "Unpacking binary.${FPC_ARCH}-linux.tar failed!"
- tar -xzf base.${FPC_ARCH}-linux.tar.gz || die "Unpacking base.${FPC_ARCH}-linux.tar.gz failed!"
-}
-
-src_prepare() {
- find "${WORKDIR}" -name Makefile -exec sed -i -e 's/ -Xs / /g' {} + || die
-
- # let the pkg manager compress man files
- sed -i '/find man.* gzip /d' "${WORKDIR}"/fpcbuild-${PV}/install/man/Makefile || die
-}
-
-set_pp() {
- case ${ARCH} in
- amd64) FPC_ARCH="x64" ;;
- arm) FPC_ARCH="arm" ;;
- ppc) FPC_ARCH="ppc" ;;
- ppc64) FPC_ARCH="ppc64" ;;
- sparc) FPC_ARCH="sparc" ;;
- x86) FPC_ARCH="386" ;;
- *) die "This ebuild doesn't support ${ARCH}." ;;
- esac
-
- case ${1} in
- bootstrap) pp="${WORKDIR}"/lib/fpc/${PV_BIN}/ppc${FPC_ARCH} ;;
- new) pp="${S}"/compiler/ppc${FPC_ARCH} ;;
- *) die "set_pp: unknown argument: ${1}" ;;
- esac
-}
-
-src_compile() {
- local pp
-
- # Using the bootstrap compiler.
- set_pp bootstrap
-
- emake -j1 PP="${pp}" compiler_cycle AS="$(tc-getAS)"
-
- # Save new compiler from cleaning...
- cp "${S}"/compiler/ppc${FPC_ARCH} "${S}"/ppc${FPC_ARCH}.new || die
-
- # ...rebuild with current version...
- emake -j1 PP="${S}"/ppc${FPC_ARCH}.new AS="$(tc-getAS)" compiler_cycle
-
- # ..and clean up afterwards
- rm "${S}"/ppc${FPC_ARCH}.new || die
-
- # Using the new compiler.
- set_pp new
-
- emake -j1 PP="${pp}" AS="$(tc-getAS)" rtl_clean
-
- emake -j1 PP="${pp}" AS="$(tc-getAS)" rtl packages_all utils
-
- if use ide ; then
- cd "${S}"/ide || die
- emake -j1 PP="${pp}" AS="$(tc-getAS)"
- fi
-}
-
-src_install() {
- local pp
- set_pp new
-
- set -- PP="${pp}" FPCMAKE="${S}/utils/fpcm/fpcmake" \
- INSTALL_PREFIX="${D}"/usr \
- INSTALL_DOCDIR="${D}"/usr/share/doc/${PF} \
- INSTALL_MANDIR="${D}"/usr/share/man \
- INSTALL_SOURCEDIR="${D}"/usr/lib/fpc/${PV}/source
-
- emake -j1 "$@" compiler_install rtl_install packages_install utils_install
-
- dosym ../lib/fpc/${PV}/ppc${FPC_ARCH} /usr/bin/ppc${FPC_ARCH}
-
- cd "${S}"/../install/doc || die
- emake -j1 "$@" installdoc
-
- cd "${S}"/../install/man || die
- emake -j1 "$@" installman
-
- if use doc ; then
- cd "${S}"/../../doc || die
- dodoc -r *
- newdoc "${WORKDIR}"/${P}-fpctoc.htx fpctoc.htx
- docompress -x /usr/share/doc/${PF}/fpctoc.htx
- fi
-
- if use ide ; then
- cd "${S}"/ide
- emake -j1 "$@" install
- fi
-
- if use source ; then
- cd "${S}" || die
- shift
- emake -j1 PP="${D}"/usr/bin/ppc${FPC_ARCH} "$@" sourceinstall
- find "${D}"/usr/lib/fpc/${PV}/source -name '*.o' -exec rm {} \;
- fi
-
- "${D}"/usr/lib/fpc/${PV}/samplecfg "${D}"/usr/lib/fpc/${PV} "${D}"/etc || die
-
- sed -i "s:${D}::g" "${D}"/etc/fpc.cfg || die
-
- if use ide ; then
- sed -e "s:${D}::g" \
- -i "${D}"/etc/fppkg.cfg \
- -i "${D}"/etc/fppkg/* \
- -i "${D}"/usr/lib/fpc/${PV}/ide/text/fp*.cfg \
- || die
- fi
-
- rm -r "${D}"/usr/lib/fpc/lexyacc || die
-}
-
-pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]] && use ide; then
- einfo "To read the documentation in the fpc IDE, enable the doc USE flag"
- einfo "and add /usr/share/doc/${PF}/fpctoc.htx to the Help Files list."
- fi
-}
diff --git a/dev-lang/fpc/fpc-3.0.0.ebuild b/dev-lang/fpc/fpc-3.0.0.ebuild
deleted file mode 100644
index 8e703c097ba0..000000000000
--- a/dev-lang/fpc/fpc-3.0.0.ebuild
+++ /dev/null
@@ -1,161 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit toolchain-funcs
-
-HOMEPAGE="https://www.freepascal.org/"
-DESCRIPTION="Free Pascal Compiler"
-SRC_URI="mirror://sourceforge/freepascal/fpcbuild-${PV}.tar.gz
- mirror://sourceforge/freepascal/fpc-${PV}.source.tar.gz
- amd64? ( mirror://sourceforge/freepascal/${P}.x86_64-linux.tar )
- x86? ( mirror://sourceforge/freepascal/${P}.i386-linux.tar )
- doc? ( mirror://sourceforge/freepascal/Documentation/${PV}/doc-html.tar.gz -> ${P}-doc-html.tar.gz )"
-
-SLOT="0"
-LICENSE="GPL-2 LGPL-2.1-with-linking-exception"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc ide source"
-
-RDEPEND="ide? ( !dev-lang/fpc-ide )"
-
-RESTRICT="strip" #269221
-
-S=${WORKDIR}/fpcbuild-${PV}/fpcsrc
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # Bug 475210
- if $(tc-getLD) --version | grep -q "GNU gold"; then
- eerror "fpc does not function correctly when built with the gold linker."
- eerror "Please select the bfd linker with binutils-config."
- die "GNU gold detected"
- fi
- fi
-}
-
-src_unpack() {
- case ${ARCH} in
- amd64) FPC_ARCH="x86_64" PV_BIN=${PV} ;;
- x86) FPC_ARCH="i386" PV_BIN=${PV} ;;
- *) die "This ebuild doesn't support ${ARCH}." ;;
- esac
-
- unpack ${A}
-
- tar -xf ${PN}-${PV_BIN}.${FPC_ARCH}-linux/binary.${FPC_ARCH}-linux.tar || die "Unpacking binary.${FPC_ARCH}-linux.tar failed!"
- tar -xzf base.${FPC_ARCH}-linux.tar.gz || die "Unpacking base.${FPC_ARCH}-linux.tar.gz failed!"
-}
-
-src_prepare() {
- find "${WORKDIR}" -name Makefile -exec sed -i -e 's/ -Xs / /g' {} + || die
-
- # let the pkg manager compress man files
- sed -i '/find man.* gzip /d' "${WORKDIR}"/fpcbuild-${PV}/install/man/Makefile || die
-}
-
-set_pp() {
- case ${ARCH} in
- amd64) FPC_ARCH="x64" FPC_PARCH="x86_64" ;;
- x86) FPC_ARCH="386" FPC_PARCH="i386" ;;
- *) die "This ebuild doesn't support ${ARCH}." ;;
- esac
-
- case ${1} in
- bootstrap) pp="${WORKDIR}"/lib/fpc/${PV_BIN}/ppc${FPC_ARCH} ;;
- new) pp="${S}"/compiler/ppc${FPC_ARCH} ;;
- *) die "set_pp: unknown argument: ${1}" ;;
- esac
-}
-
-src_compile() {
- local pp
-
- # Using the bootstrap compiler.
- set_pp bootstrap
-
- emake -j1 PP="${pp}" compiler_cycle AS="$(tc-getAS)"
-
- # Save new compiler from cleaning...
- cp "${S}"/compiler/ppc${FPC_ARCH} "${S}"/ppc${FPC_ARCH}.new || die
-
- # ...rebuild with current version...
- emake -j1 PP="${S}"/ppc${FPC_ARCH}.new AS="$(tc-getAS)" compiler_cycle
-
- # ..and clean up afterwards
- rm "${S}"/ppc${FPC_ARCH}.new || die
-
- # Using the new compiler.
- set_pp new
-
- emake -j1 PP="${pp}" AS="$(tc-getAS)" rtl_clean
-
- emake -j1 PP="${pp}" AS="$(tc-getAS)" rtl packages_all utils
-
- if use ide ; then
- cd "${S}"/ide || die
- emake -j1 PP="${pp}" AS="$(tc-getAS)"
- fi
-}
-
-src_install() {
- local pp
- set_pp new
-
- #fpcbuild-3.0.0/utils/fpcm/fpcmake
- #${WORKDIR}/${PN}build-${PV}/utils/fpcm/fpcmake"
- #fpcbuild-3.0.0/fpcsrc/utils/fpcm/bin/x86_64-linux/fpcmake
- set -- PP="${pp}" FPCMAKE="${S}/utils/fpcm/bin/${FPC_PARCH}-linux/fpcmake" \
- INSTALL_PREFIX="${D}"/usr \
- INSTALL_DOCDIR="${D}"/usr/share/doc/${PF} \
- INSTALL_MANDIR="${D}"/usr/share/man \
- INSTALL_SOURCEDIR="${D}"/usr/lib/fpc/${PV}/source
-
- emake -j1 "$@" compiler_install rtl_install packages_install utils_install
-
- dosym ../lib/fpc/${PV}/ppc${FPC_ARCH} /usr/bin/ppc${FPC_ARCH}
-
- cd "${S}"/../install/doc || die
- emake -j1 "$@" installdoc
-
- cd "${S}"/../install/man || die
- emake -j1 "$@" installman
-
- if use doc ; then
- cd "${S}"/../../doc || die
- dodoc -r *
- fi
-
- if use ide ; then
- cd "${S}"/ide
- emake -j1 "$@" install
- fi
-
- if use source ; then
- cd "${S}" || die
- shift
- emake -j1 PP="${D}"/usr/bin/ppc${FPC_ARCH} "$@" sourceinstall
- find "${D}"/usr/lib/fpc/${PV}/source -name '*.o' -exec rm {} \;
- fi
-
- "${D}"/usr/lib/fpc/${PV}/samplecfg "${D}"/usr/lib/fpc/${PV} "${D}"/etc || die
-
- sed -i "s:${D}::g" "${D}"/etc/fpc.cfg || die
-
- if use ide ; then
- sed -e "s:${D}::g" \
- -i "${D}"/etc/fppkg.cfg \
- -i "${D}"/etc/fppkg/* \
- -i "${D}"/usr/lib/fpc/${PV}/ide/text/fp*.cfg \
- || die
- fi
-
- rm -r "${D}"/usr/lib/fpc/lexyacc || die
-}
-
-pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]] && use ide; then
- einfo "To read the documentation in the fpc IDE, enable the doc USE flag"
- fi
-}
diff --git a/dev-lang/fpc/fpc-3.0.2-r1.ebuild b/dev-lang/fpc/fpc-3.0.2-r1.ebuild
deleted file mode 100644
index 38a17395ed74..000000000000
--- a/dev-lang/fpc/fpc-3.0.2-r1.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit prefix toolchain-funcs
-
-HOMEPAGE="https://www.freepascal.org/"
-DESCRIPTION="Free Pascal Compiler"
-SRC_URI="mirror://sourceforge/freepascal/fpcbuild-${PV}.tar.gz
- mirror://sourceforge/freepascal/fpc-${PV}.source.tar.gz
- amd64? ( mirror://sourceforge/freepascal/${P}.x86_64-linux.tar )
- x86? ( mirror://sourceforge/freepascal/${P}.i386-linux.tar )
- doc? ( mirror://sourceforge/freepascal/Documentation/${PV}/doc-html.tar.gz -> ${P}-doc-html.tar.gz )"
-
-SLOT="0"
-LICENSE="GPL-2 LGPL-2.1-with-linking-exception"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc ide source"
-
-RDEPEND="ide? ( !dev-lang/fpc-ide )"
-
-RESTRICT="strip" #269221
-
-S=${WORKDIR}/fpcbuild-${PV}/fpcsrc
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # Bug 475210
- if $(tc-getLD) --version | grep -q "GNU gold"; then
- eerror "fpc does not function correctly when built with the gold linker."
- eerror "Please select the bfd linker with binutils-config."
- die "GNU gold detected"
- fi
- fi
-}
-
-src_unpack() {
- case ${ARCH} in
- amd64) FPC_ARCH="x86_64" PV_BIN=${PV} ;;
- x86) FPC_ARCH="i386" PV_BIN=${PV} ;;
- *) die "This ebuild doesn't support ${ARCH}." ;;
- esac
-
- unpack ${A}
-
- tar -xf ${PN}-${PV_BIN}.${FPC_ARCH}-linux/binary.${FPC_ARCH}-linux.tar || die "Unpacking binary.${FPC_ARCH}-linux.tar failed!"
- tar -xzf base.${FPC_ARCH}-linux.tar.gz || die "Unpacking base.${FPC_ARCH}-linux.tar.gz failed!"
-}
-
-src_prepare() {
- find "${WORKDIR}" -name Makefile -exec sed -i -e 's/ -Xs / /g' {} + || die
-
- # let the pkg manager compress man files
- sed -i '/find man.* gzip /d' "${WORKDIR}"/fpcbuild-${PV}/install/man/Makefile || die
-
- # make the compiled binary check for fpc.cfg under the prefixed /etc/ path
- hprefixify "${WORKDIR}"/fpcbuild-${PV}/fpcsrc/compiler/options.pas
-}
-
-set_pp() {
- case ${ARCH} in
- amd64) FPC_ARCH="x64" FPC_PARCH="x86_64" ;;
- x86) FPC_ARCH="386" FPC_PARCH="i386" ;;
- *) die "This ebuild doesn't support ${ARCH}." ;;
- esac
-
- case ${1} in
- bootstrap) pp="${WORKDIR}"/lib/fpc/${PV_BIN}/ppc${FPC_ARCH} ;;
- new) pp="${S}"/compiler/ppc${FPC_ARCH} ;;
- *) die "set_pp: unknown argument: ${1}" ;;
- esac
-}
-
-src_compile() {
- local pp
-
- # Using the bootstrap compiler.
- set_pp bootstrap
-
- emake -j1 PP="${pp}" compiler_cycle AS="$(tc-getAS)"
-
- # Save new compiler from cleaning...
- cp "${S}"/compiler/ppc${FPC_ARCH} "${S}"/ppc${FPC_ARCH}.new || die
-
- # ...rebuild with current version...
- emake -j1 PP="${S}"/ppc${FPC_ARCH}.new AS="$(tc-getAS)" compiler_cycle
-
- # ..and clean up afterwards
- rm "${S}"/ppc${FPC_ARCH}.new || die
-
- # Using the new compiler.
- set_pp new
-
- emake -j1 PP="${pp}" AS="$(tc-getAS)" rtl_clean
-
- emake -j1 PP="${pp}" AS="$(tc-getAS)" rtl packages_all utils
-
- if use ide ; then
- cd "${S}"/ide || die
- emake -j1 PP="${pp}" AS="$(tc-getAS)"
- fi
-}
-
-src_install() {
- local pp
- set_pp new
-
- #fpcbuild-3.0.0/utils/fpcm/fpcmake
- #${WORKDIR}/${PN}build-${PV}/utils/fpcm/fpcmake"
- #fpcbuild-3.0.0/fpcsrc/utils/fpcm/bin/x86_64-linux/fpcmake
- set -- PP="${pp}" FPCMAKE="${S}/utils/fpcm/bin/${FPC_PARCH}-linux/fpcmake" \
- INSTALL_PREFIX="${ED}"/usr \
- INSTALL_DOCDIR="${ED}"/usr/share/doc/${PF} \
- INSTALL_MANDIR="${ED}"/usr/share/man \
- INSTALL_SOURCEDIR="${ED}"/usr/lib/fpc/${PV}/source
-
- emake -j1 "$@" compiler_install rtl_install packages_install utils_install
-
- dosym ../lib/fpc/${PV}/ppc${FPC_ARCH} /usr/bin/ppc${FPC_ARCH}
-
- cd "${S}"/../install/doc || die
- emake -j1 "$@" installdoc
-
- cd "${S}"/../install/man || die
- emake -j1 "$@" installman
-
- if use doc ; then
- cd "${S}"/../../doc || die
- dodoc -r *
- fi
-
- if use ide ; then
- cd "${S}"/ide || die
- emake -j1 "$@" install
- fi
-
- if use source ; then
- cd "${S}" || die
- shift
- emake -j1 PP="${ED}"/usr/bin/ppc${FPC_ARCH} "$@" sourceinstall
- find "${ED}"/usr/lib/fpc/${PV}/source -name '*.o' -exec rm {} \;
- fi
-
- "${ED}"/usr/lib/fpc/${PV}/samplecfg "${ED}"/usr/lib/fpc/${PV} "${ED}"/etc || die
-
- # set correct (prefixed) path for e.g. unit files
- sed -i "s:${ED}:${EPREFIX}:g" "${ED}"/etc/fpc.cfg || die
-
- if use ide ; then
- sed -e "s:${ED}::g" \
- -i "${ED}"/etc/fppkg.cfg \
- -i "${ED}"/etc/fppkg/* \
- -i "${ED}"/usr/lib/fpc/${PV}/ide/text/fp*.cfg \
- || die
- fi
-
- rm -r "${ED}"/usr/lib/fpc/lexyacc || die
-}
-
-pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]] && use ide; then
- einfo "To read the documentation in the fpc IDE, enable the doc USE flag"
- fi
-}
diff --git a/dev-lang/fpc/fpc-3.0.2.ebuild b/dev-lang/fpc/fpc-3.0.2.ebuild
deleted file mode 100644
index f8ea1b5b8b4c..000000000000
--- a/dev-lang/fpc/fpc-3.0.2.ebuild
+++ /dev/null
@@ -1,161 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit toolchain-funcs
-
-HOMEPAGE="https://www.freepascal.org/"
-DESCRIPTION="Free Pascal Compiler"
-SRC_URI="mirror://sourceforge/freepascal/fpcbuild-${PV}.tar.gz
- mirror://sourceforge/freepascal/fpc-${PV}.source.tar.gz
- amd64? ( mirror://sourceforge/freepascal/${P}.x86_64-linux.tar )
- x86? ( mirror://sourceforge/freepascal/${P}.i386-linux.tar )
- doc? ( mirror://sourceforge/freepascal/Documentation/${PV}/doc-html.tar.gz -> ${P}-doc-html.tar.gz )"
-
-SLOT="0"
-LICENSE="GPL-2 LGPL-2.1-with-linking-exception"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc ide source"
-
-RDEPEND="ide? ( !dev-lang/fpc-ide )"
-
-RESTRICT="strip" #269221
-
-S=${WORKDIR}/fpcbuild-${PV}/fpcsrc
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # Bug 475210
- if $(tc-getLD) --version | grep -q "GNU gold"; then
- eerror "fpc does not function correctly when built with the gold linker."
- eerror "Please select the bfd linker with binutils-config."
- die "GNU gold detected"
- fi
- fi
-}
-
-src_unpack() {
- case ${ARCH} in
- amd64) FPC_ARCH="x86_64" PV_BIN=${PV} ;;
- x86) FPC_ARCH="i386" PV_BIN=${PV} ;;
- *) die "This ebuild doesn't support ${ARCH}." ;;
- esac
-
- unpack ${A}
-
- tar -xf ${PN}-${PV_BIN}.${FPC_ARCH}-linux/binary.${FPC_ARCH}-linux.tar || die "Unpacking binary.${FPC_ARCH}-linux.tar failed!"
- tar -xzf base.${FPC_ARCH}-linux.tar.gz || die "Unpacking base.${FPC_ARCH}-linux.tar.gz failed!"
-}
-
-src_prepare() {
- find "${WORKDIR}" -name Makefile -exec sed -i -e 's/ -Xs / /g' {} + || die
-
- # let the pkg manager compress man files
- sed -i '/find man.* gzip /d' "${WORKDIR}"/fpcbuild-${PV}/install/man/Makefile || die
-}
-
-set_pp() {
- case ${ARCH} in
- amd64) FPC_ARCH="x64" FPC_PARCH="x86_64" ;;
- x86) FPC_ARCH="386" FPC_PARCH="i386" ;;
- *) die "This ebuild doesn't support ${ARCH}." ;;
- esac
-
- case ${1} in
- bootstrap) pp="${WORKDIR}"/lib/fpc/${PV_BIN}/ppc${FPC_ARCH} ;;
- new) pp="${S}"/compiler/ppc${FPC_ARCH} ;;
- *) die "set_pp: unknown argument: ${1}" ;;
- esac
-}
-
-src_compile() {
- local pp
-
- # Using the bootstrap compiler.
- set_pp bootstrap
-
- emake -j1 PP="${pp}" compiler_cycle AS="$(tc-getAS)"
-
- # Save new compiler from cleaning...
- cp "${S}"/compiler/ppc${FPC_ARCH} "${S}"/ppc${FPC_ARCH}.new || die
-
- # ...rebuild with current version...
- emake -j1 PP="${S}"/ppc${FPC_ARCH}.new AS="$(tc-getAS)" compiler_cycle
-
- # ..and clean up afterwards
- rm "${S}"/ppc${FPC_ARCH}.new || die
-
- # Using the new compiler.
- set_pp new
-
- emake -j1 PP="${pp}" AS="$(tc-getAS)" rtl_clean
-
- emake -j1 PP="${pp}" AS="$(tc-getAS)" rtl packages_all utils
-
- if use ide ; then
- cd "${S}"/ide || die
- emake -j1 PP="${pp}" AS="$(tc-getAS)"
- fi
-}
-
-src_install() {
- local pp
- set_pp new
-
- #fpcbuild-3.0.0/utils/fpcm/fpcmake
- #${WORKDIR}/${PN}build-${PV}/utils/fpcm/fpcmake"
- #fpcbuild-3.0.0/fpcsrc/utils/fpcm/bin/x86_64-linux/fpcmake
- set -- PP="${pp}" FPCMAKE="${S}/utils/fpcm/bin/${FPC_PARCH}-linux/fpcmake" \
- INSTALL_PREFIX="${ED}"/usr \
- INSTALL_DOCDIR="${ED}"/usr/share/doc/${PF} \
- INSTALL_MANDIR="${ED}"/usr/share/man \
- INSTALL_SOURCEDIR="${ED}"/usr/lib/fpc/${PV}/source
-
- emake -j1 "$@" compiler_install rtl_install packages_install utils_install
-
- dosym ../lib/fpc/${PV}/ppc${FPC_ARCH} /usr/bin/ppc${FPC_ARCH}
-
- cd "${S}"/../install/doc || die
- emake -j1 "$@" installdoc
-
- cd "${S}"/../install/man || die
- emake -j1 "$@" installman
-
- if use doc ; then
- cd "${S}"/../../doc || die
- dodoc -r *
- fi
-
- if use ide ; then
- cd "${S}"/ide || die
- emake -j1 "$@" install
- fi
-
- if use source ; then
- cd "${S}" || die
- shift
- emake -j1 PP="${ED}"/usr/bin/ppc${FPC_ARCH} "$@" sourceinstall
- find "${ED}"/usr/lib/fpc/${PV}/source -name '*.o' -exec rm {} \;
- fi
-
- "${ED}"/usr/lib/fpc/${PV}/samplecfg "${ED}"/usr/lib/fpc/${PV} "${ED}"/etc || die
-
- sed -i "s:${ED}::g" "${ED}"/etc/fpc.cfg || die
-
- if use ide ; then
- sed -e "s:${ED}::g" \
- -i "${ED}"/etc/fppkg.cfg \
- -i "${ED}"/etc/fppkg/* \
- -i "${ED}"/usr/lib/fpc/${PV}/ide/text/fp*.cfg \
- || die
- fi
-
- rm -r "${ED}"/usr/lib/fpc/lexyacc || die
-}
-
-pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]] && use ide; then
- einfo "To read the documentation in the fpc IDE, enable the doc USE flag"
- fi
-}
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
index aae551ac62ba..ba9d7e8efa32 100644
--- a/dev-lang/go/Manifest
+++ b/dev-lang/go/Manifest
@@ -1,6 +1,11 @@
+AUX go-sets.conf 313 BLAKE2B 03e94776e317d34b72bfb8385b8b0dfa6a599a6086e4d0c9214e7b49293768947c21d9afb323ffcc7fd85ba0af72d9cb243dbb571eee9eb81de9400fd5f5e79c SHA512 7d01b98bc8d1b609183682dd942bd4c9fa757a98243c7de3cf6c497c7bc20b8cdbe59dd669ce4bb11f914a0e9b6d100e65cea2dffd99f38be50b18e0ecf66315
DIST go1.14.12.src.tar.gz 22553834 BLAKE2B f2b3f750cc451c00376846962a5337c8e57aa9f4f737c7a8ab826772547ca0677bb3c6e52d004259f7e53d49efb013f645ce5223241fd29b35121149dc09a76c SHA512 cba26b97878d5bd57d75bd1541932786779ddb7e9fa0bfb7bf003c7ae9e7bee8318c0d2108ce918453b863892b8f562e481bd0ed6cfc44e43d901522603adff2
+DIST go1.14.13.src.tar.gz 22553900 BLAKE2B 35aed1c43a59e06c1d5feaa91a6c4120c586958257cb3e4f83ab4e767159e20ae953d70bc0debabd80722bca0965d1b129531a2bd89f558df0a8700cadc09edc SHA512 b54a0bc3b85809a78d4704fe2e97ad7417a2027608ec0f90c2784e2ddb28b505df3cda862dc6f1b99af2d136363cbb9b120e2fd6ed985cb300c43f8e539a5e28
DIST go1.15.5.src.tar.gz 23019303 BLAKE2B 549f0e9c4e22432db7a1c6e06724d6ada0ac90c09c0886d3053296390d85686df89bcaff86c703e8a2789119f670ffb2c6c11f4bf7e186c14a75896e8e6b8c6e SHA512 8e1d71f628d364b949b1e124af8950a563bbe9d9ae73b94c66af6ce029f67c26e2654556c0c118d0bc8566af52a7e9ed736b4667bbef7ccdab2bd338c43e6eb4
+DIST go1.15.6.src.tar.gz 23019337 BLAKE2B d328401af9843f4a099dee7d82433ad2a0b349add0f2ecb609635814cca610e17a6fc50215e9928b8cb0d8ea8dd6ae9d84ffca125e1362dfb18ba08783bb4264 SHA512 f20e495204f32170d6554e8f4b64763dae8302a7859005020f650d1d53a5b15de3afbaff28e0b6418287396166c67bdc4c6bee7a0fd7ba8a87bb79b6c1d38326
EBUILD go-1.14.12.ebuild 4816 BLAKE2B fdef3a598cfb56afcea723bf4be7fe2e2603273631ffc3add513902f6e171f090a7154870ef7e0e9c937e96c6a17bba03b2c26fc7aafb715468f13f65b6c64d5 SHA512 558e7511ab18d58cf026dd841f5ce37b4fcc6a99a6eb4dadd0a0d32eda9eb00d5404de9f5bbba321763cd5ee2abb027137fe74e39ce6a874f3c4036b86621c08
+EBUILD go-1.14.13-r1.ebuild 4921 BLAKE2B d70f9c7cc9d4c2c43db62dfd59bb0f60a75dc056f552f406210011bd96e602397bcc6bb683b7f5fb39ece2c1ec7088e02a8e39fa01da1e279cb178682429523e SHA512 81b2653ac9499ac418bbb0daa4fd11bae0afa7bffa11f129aee7a78aac4ed0837f099f0ce14b51ea0a512419b5b337450b890fff542ad5e1a2068af3b95fd759
EBUILD go-1.15.5.ebuild 4816 BLAKE2B fdef3a598cfb56afcea723bf4be7fe2e2603273631ffc3add513902f6e171f090a7154870ef7e0e9c937e96c6a17bba03b2c26fc7aafb715468f13f65b6c64d5 SHA512 558e7511ab18d58cf026dd841f5ce37b4fcc6a99a6eb4dadd0a0d32eda9eb00d5404de9f5bbba321763cd5ee2abb027137fe74e39ce6a874f3c4036b86621c08
-EBUILD go-9999.ebuild 4821 BLAKE2B 63fd63fd21ffea3a628968d4e9f4a4217dc5e69033e085786502a5e26161b64be579f6b9d0fa4b494acae162e3e32f5ef2a0384b3af36096fe4ca95752daae15 SHA512 f48a17a589725a12ff1e337d9e1248d37d942c8abc96c58612a48559380598ef63e135fcae72d20fa3c2bbfc056e286fe2324c631a508709d25551acae494c5d
+EBUILD go-1.15.6-r1.ebuild 4921 BLAKE2B d70f9c7cc9d4c2c43db62dfd59bb0f60a75dc056f552f406210011bd96e602397bcc6bb683b7f5fb39ece2c1ec7088e02a8e39fa01da1e279cb178682429523e SHA512 81b2653ac9499ac418bbb0daa4fd11bae0afa7bffa11f129aee7a78aac4ed0837f099f0ce14b51ea0a512419b5b337450b890fff542ad5e1a2068af3b95fd759
+EBUILD go-9999.ebuild 4921 BLAKE2B d70f9c7cc9d4c2c43db62dfd59bb0f60a75dc056f552f406210011bd96e602397bcc6bb683b7f5fb39ece2c1ec7088e02a8e39fa01da1e279cb178682429523e SHA512 81b2653ac9499ac418bbb0daa4fd11bae0afa7bffa11f129aee7a78aac4ed0837f099f0ce14b51ea0a512419b5b337450b890fff542ad5e1a2068af3b95fd759
MISC metadata.xml 462 BLAKE2B d9d4280e921286791a55619a7e5557c7041b0de157aa0f8bf6f17cf5041f802df4037270eeb3e8d37263f9fc17939c619a0dd3bce449c5f247279884da10bf67 SHA512 26fa7bfe26f00e8e1766cc0a1052fb8b5352799a33c9eb8f0c4f4523601d3eb5d1da8adc4b731f0d778039788734a9ad483f22e58e4bf1551ec8e9dccbcb87ba
diff --git a/dev-lang/go/files/go-sets.conf b/dev-lang/go/files/go-sets.conf
new file mode 100644
index 000000000000..01ad4a8b3d4f
--- /dev/null
+++ b/dev-lang/go/files/go-sets.conf
@@ -0,0 +1,7 @@
+# Installed packages that inherit from known Go related eclasses.
+# This is useful after a dev-lang/go version change to rebuild all
+# software written in Go.
+[golang-rebuild]
+class = portage.sets.dbapi.VariableSet
+variable = INHERITED
+includes = golang-base golang-build golang-vcs golang-vcs-snapshot go-module
diff --git a/dev-lang/go/go-1.14.13-r1.ebuild b/dev-lang/go/go-1.14.13-r1.ebuild
new file mode 100644
index 000000000000..6bb792691ce1
--- /dev/null
+++ b/dev-lang/go/go-1.14.13-r1.ebuild
@@ -0,0 +1,205 @@
+# 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
+ bash -x ./make.bash || 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()
+{
+ # 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.
+ # The use of cp is deliberate in order to retain permissions
+ # [1] https://golang.org/issue/2775
+ dodir /usr/lib/go
+ cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
+ einstalldocs
+
+ # testdata directories are not needed on the installed system
+ rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print)
+
+ local bin_path
+ if go_cross_compile; then
+ bin_path="bin/$(go_tuple)"
+ else
+ bin_path=bin
+ fi
+ local f x
+ for x in ${bin_path}/*; do
+ f=${x##*/}
+ dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
+ done
+
+ # install the @golang-rebuild set for Portage
+ insinto /usr/share/portage/config/sets
+ newins "${FILESDIR}"/go-sets.conf go.conf
+
+ # fix install_name for test object (binutils_test) on Darwin, it
+ # is never used in real circumstances
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ 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
+}
+
+pkg_postinst() {
+ [[ -z ${REPLACING_VERSIONS} ]] && return
+ einfo "After ${CATEGORY}/${PN} is updated it is recommended to rebuild"
+ einfo "all packages compiled with previous versions of ${CATEGORY}/${PN}"
+ einfo "due to the static linking nature of go."
+ einfo "If this is not done, the packages compiled with the older"
+ einfo "version of the compiler will not be updated until they are"
+ einfo "updated individually, which could mean they will have"
+ einfo "vulnerabilities."
+ einfo "Run 'emerge @golang-rebuild' to rebuild all 'go' packages"
+ einfo "See https://bugs.gentoo.org/752153 for more info"
+}
diff --git a/dev-lang/go/go-1.15.6-r1.ebuild b/dev-lang/go/go-1.15.6-r1.ebuild
new file mode 100644
index 000000000000..6bb792691ce1
--- /dev/null
+++ b/dev-lang/go/go-1.15.6-r1.ebuild
@@ -0,0 +1,205 @@
+# 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
+ bash -x ./make.bash || 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()
+{
+ # 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.
+ # The use of cp is deliberate in order to retain permissions
+ # [1] https://golang.org/issue/2775
+ dodir /usr/lib/go
+ cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
+ einstalldocs
+
+ # testdata directories are not needed on the installed system
+ rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print)
+
+ local bin_path
+ if go_cross_compile; then
+ bin_path="bin/$(go_tuple)"
+ else
+ bin_path=bin
+ fi
+ local f x
+ for x in ${bin_path}/*; do
+ f=${x##*/}
+ dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
+ done
+
+ # install the @golang-rebuild set for Portage
+ insinto /usr/share/portage/config/sets
+ newins "${FILESDIR}"/go-sets.conf go.conf
+
+ # fix install_name for test object (binutils_test) on Darwin, it
+ # is never used in real circumstances
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ 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
+}
+
+pkg_postinst() {
+ [[ -z ${REPLACING_VERSIONS} ]] && return
+ einfo "After ${CATEGORY}/${PN} is updated it is recommended to rebuild"
+ einfo "all packages compiled with previous versions of ${CATEGORY}/${PN}"
+ einfo "due to the static linking nature of go."
+ einfo "If this is not done, the packages compiled with the older"
+ einfo "version of the compiler will not be updated until they are"
+ einfo "updated individually, which could mean they will have"
+ einfo "vulnerabilities."
+ einfo "Run 'emerge @golang-rebuild' to rebuild all 'go' packages"
+ einfo "See https://bugs.gentoo.org/752153 for more info"
+}
diff --git a/dev-lang/go/go-9999.ebuild b/dev-lang/go/go-9999.ebuild
index c81e94e12355..6bb792691ce1 100644
--- a/dev-lang/go/go-9999.ebuild
+++ b/dev-lang/go/go-9999.ebuild
@@ -154,33 +154,37 @@ src_test()
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.
+ # The use of cp is deliberate in order to retain permissions
# [1] https://golang.org/issue/2775
- #
- # deliberately use cp to retain permissions
+ dodir /usr/lib/go
cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
+ einstalldocs
+
# testdata directories are not needed on the installed system
rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print)
+
+ local bin_path
if go_cross_compile; then
bin_path="bin/$(go_tuple)"
else
bin_path=bin
fi
+ local f x
for x in ${bin_path}/*; do
f=${x##*/}
dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
done
- einstalldocs
+ # install the @golang-rebuild set for Portage
+ insinto /usr/share/portage/config/sets
+ newins "${FILESDIR}"/go-sets.conf go.conf
+
+ # fix install_name for test object (binutils_test) on Darwin, it
+ # is never used in real circumstances
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}"
@@ -189,8 +193,6 @@ src_install()
pkg_postinst() {
[[ -z ${REPLACING_VERSIONS} ]] && return
- has_version "<sys-apps/portage-3.0.9" && return
-
einfo "After ${CATEGORY}/${PN} is updated it is recommended to rebuild"
einfo "all packages compiled with previous versions of ${CATEGORY}/${PN}"
einfo "due to the static linking nature of go."
diff --git a/dev-lang/helium/Manifest b/dev-lang/helium/Manifest
deleted file mode 100644
index b66888f74878..000000000000
--- a/dev-lang/helium/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-AUX helium-1.8.1-ghc-7.10.patch 2459 BLAKE2B 0719a5f5308c6eac8a86a4b8c060da15d8fed9530504597b3a1cb427f95626fc2277ac689cc0626aee4851481946827e13e8eb645ce5d09c4ab33b02dff10e06 SHA512 fd63893965fefce259d01a464e95ee081dd1d46d36a2ae2901b541e14fc5a5eca9f44fb96de58775e0ca2d4b758d40bfb4f6acc746f6a8c98e3c552c04513531
-DIST helium-1.8.1.tar.gz 774509 BLAKE2B 05e28d1140cd48925a2c4d06c5c152e06879389d666d54b0c5d7592453489f8e2bbaa8e7c20dbd9d72fe57a3f9651bffa05d156a32e0208e41ef0e78599353fa SHA512 4523d7323251354ea9f4fd0f6f5a112659119bef2fc0c790bb139cdcdf25e7f740ae4c7d584d0c93aabc3baaace8be49931808c59ad9133b81a64ae115e0f9b9
-EBUILD helium-1.8.1.ebuild 842 BLAKE2B 3d9f5ccfa8e9b824b021ce025e5b326cf41c9bb338603594cfd0e6c24910d0ebb72586efc937412151d7ad506cba07fc4418422eebb994f3dd72236ebed29ec0 SHA512 d5a641ae94db4c7f1157a433ce36b3f57e05056e803d8581a82edccef62f14b79578e3a046ec299006b27efd8b750ff17f5f44dba1224b0b6c47fb622c524c3f
-MISC metadata.xml 335 BLAKE2B 580c038ef02e919f05c44bd88f47536d878f86cf2e96746c03821d098e1e6e6fff1b8dbdd646026f011cc397b02f58ec3fd3e72a7e6fff6627e34c4015ef7c57 SHA512 df03893e771bad584ee6374bdef22799b039850c413fd7475224c77398f5a218097eec64908273db7326bd6312487b9cc50611e0da687b4a7b5c0070594309cc
diff --git a/dev-lang/helium/files/helium-1.8.1-ghc-7.10.patch b/dev-lang/helium/files/helium-1.8.1-ghc-7.10.patch
deleted file mode 100644
index 43af33ecac89..000000000000
--- a/dev-lang/helium/files/helium-1.8.1-ghc-7.10.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-diff --git a/src/Helium/Parser/LexerMonad.hs b/src/Helium/Parser/LexerMonad.hs
-index 75ac077..af35093 100644
---- a/src/Helium/Parser/LexerMonad.hs
-+++ b/src/Helium/Parser/LexerMonad.hs
-@@ -20,2 +20,4 @@ import Helium.Parser.LexerMessage
- import Text.ParserCombinators.Parsec.Pos
-+import Control.Applicative
-+import Control.Monad
-
-@@ -47,2 +49,9 @@ returnLM x = LM (\_ pos brackets -> Right (x, [], pos, brackets))
-
-+instance Functor LexerMonad where
-+ fmap = liftM
-+
-+instance Applicative LexerMonad where
-+ pure = return
-+ (<*>) = ap -- defined in Control.Monad
-+
- instance Monad LexerMonad where
-diff --git a/src/Helium/StaticAnalysis/Heuristics/OnlyResultHeuristics.hs b/src/Helium/StaticAnalysis/Heuristics/OnlyResultHeuristics.hs
-index 880ac0b..90574f0 100644
---- a/src/Helium/StaticAnalysis/Heuristics/OnlyResultHeuristics.hs
-+++ b/src/Helium/StaticAnalysis/Heuristics/OnlyResultHeuristics.hs
-@@ -1 +1,2 @@
-+{-# LANGUAGE FlexibleContexts #-}
- {-| Module : OnlyResultHeuristics
-diff --git a/src/Helium/StaticAnalysis/Heuristics/RepairHeuristics.hs b/src/Helium/StaticAnalysis/Heuristics/RepairHeuristics.hs
-index 89e43f2..251406f 100644
---- a/src/Helium/StaticAnalysis/Heuristics/RepairHeuristics.hs
-+++ b/src/Helium/StaticAnalysis/Heuristics/RepairHeuristics.hs
-@@ -1 +1,2 @@
-+{-# LANGUAGE FlexibleContexts #-}
- {-| Module : RepairHeuristics
-diff --git a/src/Helium/StaticAnalysis/Heuristics/TieBreakerHeuristics.hs b/src/Helium/StaticAnalysis/Heuristics/TieBreakerHeuristics.hs
-index d0b01a3..ba7ca19 100644
---- a/src/Helium/StaticAnalysis/Heuristics/TieBreakerHeuristics.hs
-+++ b/src/Helium/StaticAnalysis/Heuristics/TieBreakerHeuristics.hs
-@@ -1 +1,2 @@
-+{-# LANGUAGE FlexibleContexts #-}
- {-| Module : TieBreakerHeuristics
-diff --git a/src/Helium/StaticAnalysis/Heuristics/UnifierHeuristics.hs b/src/Helium/StaticAnalysis/Heuristics/UnifierHeuristics.hs
-index c2e91f5..493c882 100644
---- a/src/Helium/StaticAnalysis/Heuristics/UnifierHeuristics.hs
-+++ b/src/Helium/StaticAnalysis/Heuristics/UnifierHeuristics.hs
-@@ -1 +1,2 @@
-+{-# LANGUAGE FlexibleContexts #-}
- {-| Module : UnifierHeuristics
-diff --git a/src/Helium/Syntax/UHA_Pretty.hs b/src/Helium/Syntax/UHA_Pretty.hs
-index af970dc..ee42a48 100644
---- a/src/Helium/Syntax/UHA_Pretty.hs
-+++ b/src/Helium/Syntax/UHA_Pretty.hs
-@@ -17,2 +17,3 @@ import Control.Monad.Identity (Identity)
- import qualified Control.Monad.Identity
-+import Prelude hiding ((<$>))
-
diff --git a/dev-lang/helium/helium-1.8.1.ebuild b/dev-lang/helium/helium-1.8.1.ebuild
deleted file mode 100644
index 2a9fb0d552d9..000000000000
--- a/dev-lang/helium/helium-1.8.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-# ebuild generated by hackport 0.4.5.9999
-
-CABAL_FEATURES="bin lib profile haddock hoogle hscolour"
-inherit haskell-cabal
-
-DESCRIPTION="The Helium Compiler"
-HOMEPAGE="https://github.com/Helium4Haskell/helium"
-SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND=">=dev-haskell/lvmlib-1.1:=[profile?]
- dev-haskell/mtl:=[profile?]
- dev-haskell/network:=[profile?]
- dev-haskell/parsec:=[profile?]
- >=dev-haskell/top-1.7:=[profile?]
- dev-haskell/transformers:=[profile?]
- dev-haskell/wl-pprint:=[profile?]
- >=dev-lang/ghc-7.4.1:=
-"
-DEPEND="${RDEPEND}
- >=dev-haskell/cabal-1.10.1.0
-"
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-1.8.1-ghc-7.10.patch
-}
diff --git a/dev-lang/helium/metadata.xml b/dev-lang/helium/metadata.xml
deleted file mode 100644
index e43c5ea15819..000000000000
--- a/dev-lang/helium/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>haskell@gentoo.org</email>
- <name>Gentoo Haskell</name>
- </maintainer>
- <upstream>
- <remote-id type="github">Helium4Haskell/helium</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-lang/ispc/Manifest b/dev-lang/ispc/Manifest
index 50ca379ce051..8fe1206821ad 100644
--- a/dev-lang/ispc/Manifest
+++ b/dev-lang/ispc/Manifest
@@ -2,6 +2,6 @@ AUX ispc-1.13.0-cmake-gentoo-release.patch 507 BLAKE2B e67be17f40dce55895ce307bd
AUX ispc-1.13.0-werror.patch 737 BLAKE2B 13ac7eb6f9db4a7379d5acd1f0fa8f44ddca7290329c1231c1b515b374438f5119d9e129c8b5326cfd084956a4ba005549bd30b67a9f64034e0ade8218b8f50c SHA512 254e0e21db59f2b8768d0953c9b0950bb7d860ea9eab7c4d450b3b006382959ab60eb650df9c1ddd4fda7628d5040f7b4779369cf67a99012d5fc2c4b9ef2f7b
AUX ispc-1.14.0-llvm-10.patch 4695 BLAKE2B 91488c154a2034487c61df07467414ab83f0a15073332dc8261d619a5dab9ad9c0a6708918bce6491d2a88ca83a5ec8b9edf3c90634b8b91233175e1f41f5163 SHA512 0ee052711aacb01dafd182b3bf95f6d88e2124a7d5beb38bb2173acdcb23eb3f04fc0514c0edf6e286091bc2f855ccc192e38c2f1c4e38fb631bb5fd6a9b223f
DIST ispc-1.14.1.tar.gz 19454189 BLAKE2B 615698e64ffbd2c82808d6ddd0b5b90f7c52bb8c202a04364d63af26f0e062631f4a8ad01895c1a4f1a8f11e7f91aec381354ddd873d0a4f2908431dcaabe383 SHA512 468e8a44408047ba7b43dc4baf05c2659093b986e131ebe973954ff3b9cf707a4ed22c705b6e01a9abc9a3911669ab31cd191449442c4ac73112a1297da32c5e
-EBUILD ispc-1.14.1.ebuild 1691 BLAKE2B e469218deb026d7a37bfa5372f8445afc7f4a9e28f74ec12f2c330aaf70e7abd18659ddeba43a75c0d3dd0f63b449ed6037438a6ef8ffeda90e433a50d7417c5 SHA512 efef7a6f82e949be60cadcafc11e1262c424867e496d501f30ffeac6058fde28b5737597a6f91d1e794d8fd29c0a52d654fa1a4281ddfea42e0b005c193209ca
-EBUILD ispc-9999.ebuild 1680 BLAKE2B d7f46e2d3d6e17460ca0c5d8351a1e1806376b8e3a8f0b00e0d5ccdaa438b92a252d2e3451408f8f411243ad9f63b4310ebdd2baf3f906620cad349efc5b9a04 SHA512 18c9a416596d2c4803889b64d9b8e5fd015fed2fbdc9501e6f505b44176fadd4e7afbec43e5a98dfe8f4701389c65dd4633426519b2105f7bfbca127bc6b28f1
+EBUILD ispc-1.14.1.ebuild 1755 BLAKE2B ca13deefa92dbe10c57cbca6b5f26ad56b5bf5f8cb1456ddad11e5ebd6f2a842dd882d07ad7e9029718f1c31a6da05a49d016fa7ca5cc95cf1bfef80a04eb12e SHA512 7e21f802971a30d0e4775151daaee8dc13350641cccb95fdbe8521399fb6e68a0f4647c69f5ab8d9b78751e1f6c76a9b0f89a29aba2631b3dca2213e7b77bbca
+EBUILD ispc-9999.ebuild 1743 BLAKE2B fa8d13b4f6a20a924ca32b1e4226c2bc8245ab5756e73ad20c9e9b3bb04f28a53fa22121a184db5e44dd3c5f41b407135b6eefd82311e78a7c81a0dc6e58d6d7 SHA512 c9f8eb634639d94ff2b260eb1c70a94426c9c60a506b884c48b46772e0cbe5b09c95dac6c38903cada094432059f0b788295f5c69bd4e9b14f5fd1a21a1e7bd1
MISC metadata.xml 241 BLAKE2B 26c98e9f68d20d2275e5a9aef2d4c1cf74bd65e331e2e4869297a0a4d2b4dccab2e7709ad9ff844b973a97da0ee6eaae4fe17c6446ca06ed63f46804c8af5a82 SHA512 b9bb777e446879d214fab1adfa4b9dca1d3bd11c4084dfa449fb16d1896da27b85e11b869ed76b7b492814a1899b5fb00dbbeded579a0ed00666d4b204ddee14
diff --git a/dev-lang/ispc/ispc-1.14.1.ebuild b/dev-lang/ispc/ispc-1.14.1.ebuild
index 58c0534cc5bf..0dd7a8767786 100644
--- a/dev-lang/ispc/ispc-1.14.1.ebuild
+++ b/dev-lang/ispc/ispc-1.14.1.ebuild
@@ -5,7 +5,9 @@ EAPI=7
PYTHON_COMPAT=( python3_{6,7,8,9} )
-inherit cmake toolchain-funcs python-any-r1
+inherit cmake toolchain-funcs python-any-r1 llvm
+
+LLVM_MAX_SLOT=10
DESCRIPTION="Intel SPMD Program Compiler"
HOMEPAGE="https://ispc.github.com/"
@@ -22,10 +24,8 @@ LICENSE="BSD BSD-2 UoI-NCSA"
SLOT="0"
IUSE="examples"
-RDEPEND="
- >=sys-devel/clang-3.0:*
- >=sys-devel/llvm-3.0:*
- "
+RDEPEND="<sys-devel/clang-11:="
+
DEPEND="
${RDEPEND}
${PYTHON_DEPS}
@@ -41,6 +41,10 @@ PATCHES=(
"${FILESDIR}/${PN}-1.13.0-werror.patch"
)
+llvm_check_deps() {
+ has_version -d "sys-devel/clang:${LLVM_SLOT}"
+}
+
src_prepare() {
if use amd64; then
# On amd64 systems, build system enables x86/i686 build too.
diff --git a/dev-lang/ispc/ispc-9999.ebuild b/dev-lang/ispc/ispc-9999.ebuild
index 07b62cdb24d2..6ccd5fef40af 100644
--- a/dev-lang/ispc/ispc-9999.ebuild
+++ b/dev-lang/ispc/ispc-9999.ebuild
@@ -5,7 +5,9 @@ EAPI=7
PYTHON_COMPAT=( python3_{6,7,8,9} )
-inherit cmake toolchain-funcs python-any-r1
+inherit cmake toolchain-funcs python-any-r1 llvm
+
+LLVM_MAX_SLOT=10
DESCRIPTION="Intel SPMD Program Compiler"
HOMEPAGE="https://ispc.github.com/"
@@ -22,10 +24,7 @@ LICENSE="BSD BSD-2 UoI-NCSA"
SLOT="0"
IUSE="examples"
-RDEPEND="
- >=sys-devel/clang-3.0:*
- >=sys-devel/llvm-3.0:*
- "
+RDEPEND="<sys-devel/clang-11:="
DEPEND="
${RDEPEND}
${PYTHON_DEPS}
@@ -41,6 +40,10 @@ PATCHES=(
"${FILESDIR}/${PN}-1.13.0-werror.patch"
)
+llvm_check_deps() {
+ has_version -d "sys-devel/clang:${LLVM_SLOT}"
+}
+
src_prepare() {
if use amd64; then
# On amd64 systems, build system enables x86/i686 build too.
diff --git a/dev-lang/jsonnet/Manifest b/dev-lang/jsonnet/Manifest
index 69933f5f4adc..b21c33589fa1 100644
--- a/dev-lang/jsonnet/Manifest
+++ b/dev-lang/jsonnet/Manifest
@@ -8,5 +8,5 @@ DIST jsonnet-0.17.0.tar.gz 21854054 BLAKE2B 91561f2cffb5c711d4ba58aceef90bbcd654
EBUILD jsonnet-0.15.0.ebuild 1362 BLAKE2B c964f25e046778eebe7b12a3a9f72e057849c33a61b2bdfbc8e188000b4ecd81529000cc88abe04a69b440ced1ab9453bb1db462e5ae4ed7a72426e4d4f0ad3b SHA512 a4a3610b032b23d3a1344813233f174d90096a26d2fc13742b9509899267038bef5833b7c8f74ac4da7756e40378ca2def4fccde72144971b4edb63dea2f9f55
EBUILD jsonnet-0.16.0-r2.ebuild 1602 BLAKE2B d7ba07b9662666004038acb58c03c0d28363d9d6d97696b264660e4f1e447b17cde2a9e5a55745a6b27d1885fc8be653db971bb80404ef72dc2c388ab3ce0614 SHA512 4ef957e74620e6e8aed5ca5e02fc08bfc6bfd28d8ac091fe37a15790546f048a2eb5f2585958ea3672c2961bea22787349fdf53b4120f1e1a75ac5b040d95e6c
EBUILD jsonnet-0.16.0.ebuild 1378 BLAKE2B e8fc96ff886b9a5dc5897aa16217db15db8f1af1aeb53d14dbd0c2fb41f9dfa4dbb73ce3b1713a449d50b3118a15118fa3ce2b6a6b238e2eab437ff7189bf474 SHA512 e8756691fd5cfaff0f81cf499f909fe98eeb05a9951bb2a237cc4afad5d530042de88f914a0e971a44f17bfa3dcf733d77520b3a7760482a739026e43375b1dc
-EBUILD jsonnet-0.17.0.ebuild 1489 BLAKE2B 1b7074b2d42f0ffd14e09d07fe8964a48b631f443f5b9da3626060730e76ee19697502051c60c4f9acf12fe9d9331cac4bbcb95256ceddd0c71a273a6680f80a SHA512 b5aebc387ef33682fff935bc70ec99373fa59db490ef69e688a1aea4aa95610185955876adf27f1c455170d1edfd1701b739eacddadd392dddb40e22883cf58d
+EBUILD jsonnet-0.17.0-r1.ebuild 1753 BLAKE2B 8926b856d4206e4e6e877b3f93e393d8c456336e7f01ad99a3fc486e18c3cf8dbc52121440e3d6a686c251d890a11b78c86ee8ceabe16374be320c0351126faf SHA512 7166f16f6297ca3a8e96cd2e8c125797f93b9b63e7c25df554869efc2ac479e96a7a1d0269b97915c131e0b8fa228a612f453f0bc56db23d116b8f8e6f6f6cc5
MISC metadata.xml 621 BLAKE2B cf9e06f9981b454578c1769425dc15a7a271063b2a95c296db1326c4b4ce0f93ff96a2df42143d9d6fb8e1e196039a26119c35a4881c7d6b2241b58b01cdc948 SHA512 ea583ea6df7d0994e13bf01fff4b99b65ac288e734d41f52bffa4ae8a83d27196622074a6a29bfbbf190125a9cf29e6602f5b4a55ccec76c6324f3ac0b1f50ef
diff --git a/dev-lang/jsonnet/jsonnet-0.17.0.ebuild b/dev-lang/jsonnet/jsonnet-0.17.0-r1.ebuild
index 67a0000cab80..3faabad2b33b 100644
--- a/dev-lang/jsonnet/jsonnet-0.17.0.ebuild
+++ b/dev-lang/jsonnet/jsonnet-0.17.0-r1.ebuild
@@ -4,14 +4,14 @@
EAPI=7
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{6..9} )
+PYTHON_COMPAT=( pypy3 python3_{6..9} )
inherit toolchain-funcs flag-o-matic distutils-r1
DESCRIPTION="A data templating language for app and tool developers "
HOMEPAGE="https://jsonnet.org/"
SRC_URI="https://github.com/google/jsonnet/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-IUSE="custom-optimization python"
+IUSE="custom-optimization doc examples python"
LICENSE="Apache-2.0"
SLOT="0"
@@ -34,6 +34,8 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
PATCHES=(
"${FILESDIR}/jsonnet-0.14.0-makefile.patch"
"${FILESDIR}/jsonnet-0.12.1-dont-call-make-from-setuppy.patch"
+ "${FILESDIR}/jsonnet-0.16.0-libdir.patch"
+ "${FILESDIR}/jsonnet-0.16.0-cp-var.patch"
)
distutils_enable_tests unittest
@@ -45,15 +47,12 @@ src_prepare() {
src_configure() {
use custom-optimization || replace-flags '-O*' -O3
+ tc-export CC CXX
default
}
src_compile() {
- emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
- jsonnet \
- libjsonnet.so \
- libjsonnet++.so
-
+ emake bins libs
use python && distutils-r1_src_compile
}
@@ -68,8 +67,16 @@ python_test() {
}
src_install() {
- dolib.so libjsonnet*.so
- dobin jsonnet
-
+ emake PREFIX="${EPREFIX}/usr" DESTDIR="${D}" \
+ CP="cp -d" LIBDIR="$(get_libdir)" install
use python && distutils-r1_src_install
+ if use doc; then
+ find doc -name '.gitignore' -delete || die
+ docinto html
+ dodoc -r doc/.
+ fi
+ if use examples; then
+ docinto examples
+ dodoc -r examples/.
+ fi
}
diff --git a/dev-lang/julia/Manifest b/dev-lang/julia/Manifest
index 6c804cf9eeff..2afce8570b24 100644
--- a/dev-lang/julia/Manifest
+++ b/dev-lang/julia/Manifest
@@ -20,8 +20,8 @@ DIST llvm-6.0.1.src.tar.xz 25306628 BLAKE2B 60232d4d22f8096b565cc8d81fea0639f24f
DIST llvm-8.0.1.src.tar.xz 30477608 BLAKE2B 4319c837b36111401e3b0f9659b8d875c89463bcc7816df1aefe1e3ff989860bbaa92504718f8e15416cfd9f3491c13777cd5cb661877b237b342b0e515b93f5 SHA512 82e120be5cabdfd5111aebbea68a663fe229c8861d73802d6ab09a3bf48f60de333e07e61f8fb61beaa14ac2bea24fcd74fa6f761acaf62469f536b79fcb1e16
DIST llvm-9.0.1.src.tar.xz 33035112 BLAKE2B 5ae7ac42507cb14983eec0785dfc9b9c788cae75d5493ddf6734da55d3733cc90e35634aa39aa536654d4b68c3ccb7c2f989746f21c634c8989a57d9d32a15b2 SHA512 bfb6960a4dd1e18f4005f324f478a781c69e8ec7c20569d9b243fcb9372dc7733b254f26c683373537990cc9c109c78eaf0f65449629ee17caca1bce9b9ccccd
EBUILD julia-1.2.0.ebuild 5338 BLAKE2B 60f77129192f392a3abf31556de86df1bf16564e7c1597bacffe601edc231715db077903b32d244504e7672b9971d19cf22d735808e51983fa0793666aa4b6f4 SHA512 727270ae0b4c99c2da7cdf9f877f194bb2976be6b633aefde56381657bef6521dee6ca047bcdf9a7ebe736fe44871e23a45c7c81ad592759e604c58a20836744
-EBUILD julia-1.3.0.ebuild 5334 BLAKE2B 0b0f07c68075f5418348fc980ea810bad34f100c3c29414347f4c4b9d9f78c943e22bd677c3686deb8846f22c29b7cfcfee3f226550b3fc08827f208fd17c98a SHA512 ed1a6e6f9413e3eb5b7bd1f4d5381a4473fe5ddb2f6a275914e2ab070a03fc3e5cfda60d199cb9f14e5ccfc136ed91fac43ace8416e46692555836b1dd6c2f93
-EBUILD julia-1.4.0-r1.ebuild 5240 BLAKE2B ecf34fe8db9778f2b092ec1db23314ef24f8e3f209129a796bc74b665b3fbacddc0da942f25d26eaf422cfa4a4235d824d81a508ff5b58e56f89ba87d138cf2a SHA512 92722ea1d525b1ce6c92b8bafac1b2436915cbb24243b79f837c65671e4baf0ddfe9d02bc2fbc5567957e70d514b19471fdc80c0d5cc98dd320ea195caaaecc0
-EBUILD julia-1.4.0-r2.ebuild 5753 BLAKE2B 141096300807d4bd4e7483ccb531c8dd347b7ce3557fdf63202b53810004c22ad7305e0438aaab2b9dc9c88c1350977ba74a622d070cd5371616a1948f1600d2 SHA512 e6fca80e199b639db0f7e8ac4f710f524dad1b627b47570b90dd38f0e7deb8b8fea05a7433277fb18ed27dea7ec7efd84fd024b7d9a5dc5130aacd1556d6fc85
-EBUILD julia-1.5.2.ebuild 5751 BLAKE2B d20c87c5815f4be066c479cd809262d0a6ecc0f8bdc93bf792a3e38335a6173635019259612ef09dd626fce51a64b9727724ddcf15bcbbd661e901bd510eb09a SHA512 d5dd81f1746addce76253ccef8c305462959ac6347ce703baa11bbdb7aaec5467e09130f8e6429d90ebf6c2bb093105a63e1317b08f2eb1245607c1b165ecd8f
+EBUILD julia-1.3.0.ebuild 5352 BLAKE2B a1d48a441ab61c2f0e55e8f3bc1d58568553360c6f3c91b05e0a718af40285625ab4b334ea5d80fb0e5806ffe56adf709744526af18f8bcdadcb010d403c00be SHA512 ce44a6606975e98b2be9d32db4d9d4badb9701f8512055f38f43dbbfe99057a4951fc7633a82ebce6d2d431595553c7c1d4358cd1627174d03b0f1dc3f58c2b1
+EBUILD julia-1.4.0-r1.ebuild 5258 BLAKE2B cf21aaaf7695742795dfaf1dbfb1d8b3cabd76335c0e5a770b66783ce9150769a0db89fcbb95812b30920a40e7d49246e300952768621c3810d6584271f73865 SHA512 5fd13e8da396a9c355a00f3fe13abfa219d48b663b5fdfb2b4c94c3b858e6dbfd308b55357fef551f6f48170fa3fbbf9851c1e7aa4b5821dc7c42994cee76da7
+EBUILD julia-1.4.0-r2.ebuild 5771 BLAKE2B c7b03606cde5f9414172128a16041122e7d2f154dd8fc1f6f0d7f63135556bdad1b215bfc9672d867156134d7b9870cae495bb906bf4a9e582c32efdd236863a SHA512 8d629496f63cd7dfa2f8a42354b8170adddc1ee6c0a5f6679c3aa23902c56cc61732bddeca720698ff0919c1b23382e6770fb579bd0347bc6253e7038b55aea2
+EBUILD julia-1.5.2.ebuild 5769 BLAKE2B 54c790de6e2fa9ff3a168e2facabb70da5aa2a2696fc752002b63ba4f875079e8758892b7219dd231028723f15a0743536375460dca955d1744364556834cd12 SHA512 824f64802d16b05837eec6ef1d4ce56ad3dac20035bdc03c579c418d25ab5e2f2b36d629cd695eb5940b8347c05d089ca424d19025228fff5d787b0158eb4880
MISC metadata.xml 1388 BLAKE2B b58f320281f3b56151e4f647b3124b2bd915c9194041c7aa3e228cceb56f1d4d6625b9b86394a39c1fb7c0bb524e792cd60576ec76a766dba41204297d792ddd SHA512 91835d230909a2d10ac26280e49d3538e57fc708f141ce366d55d21dc66b588e551aa4e054e76a44695c065a82e6aa09962b84e86eb1f4f12b87ecd90ca256b5
diff --git a/dev-lang/julia/julia-1.3.0.ebuild b/dev-lang/julia/julia-1.3.0.ebuild
index 86daa027e057..8f63c97d7e5f 100644
--- a/dev-lang/julia/julia-1.3.0.ebuild
+++ b/dev-lang/julia/julia-1.3.0.ebuild
@@ -38,6 +38,7 @@ RDEPEND+="
dev-libs/mpfr:0=
dev-libs/openspecfun
>=net-libs/mbedtls-2.2
+ net-libs/libssh2
sci-libs/amd:0=
sci-libs/arpack:0=
sci-libs/camd:0=
diff --git a/dev-lang/julia/julia-1.4.0-r1.ebuild b/dev-lang/julia/julia-1.4.0-r1.ebuild
index 24fd97a071c1..5be70d02402f 100644
--- a/dev-lang/julia/julia-1.4.0-r1.ebuild
+++ b/dev-lang/julia/julia-1.4.0-r1.ebuild
@@ -46,6 +46,7 @@ RDEPEND+="
dev-libs/mpfr:0=
dev-libs/openspecfun
>=net-libs/mbedtls-2.2
+ net-libs/libssh2
sci-libs/amd:0=
sci-libs/arpack:0=
sci-libs/camd:0=
diff --git a/dev-lang/julia/julia-1.4.0-r2.ebuild b/dev-lang/julia/julia-1.4.0-r2.ebuild
index 6529f36eb263..6041c13573d6 100644
--- a/dev-lang/julia/julia-1.4.0-r2.ebuild
+++ b/dev-lang/julia/julia-1.4.0-r2.ebuild
@@ -48,6 +48,7 @@ RDEPEND+="
dev-libs/mpfr:0=
dev-libs/openspecfun
>=net-libs/mbedtls-2.2
+ net-libs/libssh2
sci-libs/amd:0=
sci-libs/arpack:0=
sci-libs/camd:0=
diff --git a/dev-lang/julia/julia-1.5.2.ebuild b/dev-lang/julia/julia-1.5.2.ebuild
index 20bdb3501e7c..04e4922a411a 100644
--- a/dev-lang/julia/julia-1.5.2.ebuild
+++ b/dev-lang/julia/julia-1.5.2.ebuild
@@ -49,6 +49,7 @@ RDEPEND+="
dev-libs/mpfr:0=
dev-libs/openspecfun
>=net-libs/mbedtls-2.2
+ net-libs/libssh2
sci-libs/amd:0=
sci-libs/arpack:0=
sci-libs/camd:0=
diff --git a/dev-lang/lfe/Manifest b/dev-lang/lfe/Manifest
index 77e499f848f5..9411e0523d44 100644
--- a/dev-lang/lfe/Manifest
+++ b/dev-lang/lfe/Manifest
@@ -1,9 +1,3 @@
-DIST lfe-0.10.1.zip 296228 BLAKE2B 2700f13ad186cf32162dce496b65d4333f66b847790f55a2be16deffbf0cb721736f251621c55104e180e9d6b0dcc03a2eacc2f76afa0c53bb719c6e5588248a SHA512 94719b42ecf6dc5505ea649df00b255b1e901d6104426192f34692e2f7bc85940b96b39fd1bfa00577b63c17e10d8fd51d3de743c02d8ac2263abe2fb47d4498
-DIST lfe-0.7a.zip 216133 BLAKE2B 9cd09684046f932e4ac3c0bfb6c1c7491eeb8586eef09672c5f782cf3fe9e5e6b692f6f63f3667756f5240fc07fd84d94755fae696de3e7ed71d2ccf24984b3a SHA512 f8e8dd080142aed77109deed7627bcd6c9a90d4bddcc2207b5e3ffa0e744c889ac4890d18040e7bde239e1c69c6251819723637a8b9ad9c0cce01787c6e0e1b0
-DIST lfe-1.0.zip 303894 BLAKE2B dca1014664235b959710a1e535e96e496c90170e82dbb810b9715aa11b796ab7f13590f655f1b41e30be5cd9ee1d6b0e78054386958a9aea6a2a96f510b1ff3a SHA512 752ac6b142db95f63ba88ee92de28f846f3a7ccd605eea0da73da24ed0b7b4f0a06fb48697ea6064ccc28dda225ecd01843386085629b6b5465b09df66722bce
DIST lfe-1.1.1.zip 386864 BLAKE2B d966e483c0490d7c6e48ae53819a0f1f30ea0edd7dcc6c7c3fe82c79ed0e4013d66dde4e74d4369e72fc46076723612f00ccb8d33d912d46dfdbf8e38940f72b SHA512 8660716a73126615bd0cde161a780cc49ba57718afd820dbe891da5e1d9ec2f52cc1864159dcedba1c674ccfef42b9662ec8e0bbfe82c10798527ae0979b8f8e
-EBUILD lfe-0.10.1.ebuild 754 BLAKE2B 90aac540ca4b644e3478e733bc6aae9145b8d7a013e53de059af8d200b1700c6d2227cf88214e75c5c4434087d3afc42a1f621072a684230cf28a1409e1e06b0 SHA512 977c9a701d8b36467684803cbbe13c3fb5997dea92c5de7e432da52af43e6fcf6cfb755ef61f5e5991ea9d4e3668ad7d1af2f114997658f231ce375c043c1340
-EBUILD lfe-0.7.ebuild 647 BLAKE2B c1795a6dd1c21c4d3b5b5dad8ea4c3036f771e56f1e12a17c3a42cd265686b4b6a8f950f8f69c75db714e30e91b9cec4563cf58b5d130d2c65b2f521826b1e48 SHA512 4c55bd5dbea59bd98e544b89f10ac3676ce6d95b088a45b845e59d4487900f780adf8805e4e57c7322297337d4fb7f2fc454bd7b7e1f76caa99868067f1393de
-EBUILD lfe-1.0.ebuild 754 BLAKE2B da0fd9924571e0cc62f2ee927eb26373eaec47ae1f5305930f2ba073287c19931de5839845bdba3e07ea7ab22030451425882a2bbc40aac7cfc97d4065d562d4 SHA512 77a131455692ceefb6310ace009525eeac0469f8105b16885e1a7a6bb8af2386104391774d44ce23d2d6ee9aa6635a882a1fe9ceaecc00da4ee312e3061e3741
EBUILD lfe-1.1.1.ebuild 754 BLAKE2B da0fd9924571e0cc62f2ee927eb26373eaec47ae1f5305930f2ba073287c19931de5839845bdba3e07ea7ab22030451425882a2bbc40aac7cfc97d4065d562d4 SHA512 77a131455692ceefb6310ace009525eeac0469f8105b16885e1a7a6bb8af2386104391774d44ce23d2d6ee9aa6635a882a1fe9ceaecc00da4ee312e3061e3741
MISC metadata.xml 334 BLAKE2B 796f5cf618b8a2de81896af38e068a8c26e4681e4034214c713c5b1b450e119f76a1961b1a5097d81a8aeee446b0ffce124908757e59812ab2db0a93f1d8aefc SHA512 ef130013e56ca5d9df4312b106383b5d3d8d889f767ea24125e1a9ab11f555cab661c73ad190c7c0b4d7afd10a1e6d3569282233b4da4a76c7fbf1fc6052c8be
diff --git a/dev-lang/lfe/lfe-0.10.1.ebuild b/dev-lang/lfe/lfe-0.10.1.ebuild
deleted file mode 100644
index f4254db02323..000000000000
--- a/dev-lang/lfe/lfe-0.10.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit multilib
-
-DESCRIPTION="Lisp-flavoured Erlang"
-HOMEPAGE="http://lfe.github.io/"
-SRC_URI="https://github.com/rvirding/lfe/archive/v${PV}.zip -> ${P}.zip"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND="dev-lang/erlang"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- export PATH="${S}/bin:$PATH"
-}
-
-src_compile() {
- emake compile -j1
-}
-
-src_install() {
- dobin bin/lfe
- dobin bin/lfec
- dobin bin/lfescript
- dodir /usr/$(get_libdir)/erlang/lib/lfe/ebin/
- dodir /usr/$(get_libdir)/erlang/lib/lfe/emacs/
- cp -R "${S}/ebin" "${D}/usr/$(get_libdir)/erlang/lib/lfe/"
- cp -R "${S}/emacs" "${D}/usr/$(get_libdir)/erlang/lib/lfe/"
-}
diff --git a/dev-lang/lfe/lfe-0.7.ebuild b/dev-lang/lfe/lfe-0.7.ebuild
deleted file mode 100644
index 6982d4eefd2d..000000000000
--- a/dev-lang/lfe/lfe-0.7.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit multilib
-
-DESCRIPTION="Lisp-flavoured Erlang"
-HOMEPAGE="http://lfe.github.io/"
-SRC_URI="https://github.com/rvirding/lfe/archive/v0.7a.zip -> ${P}a.zip"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND="dev-lang/erlang"
-DEPEND="${RDEPEND}"
-
-#eh?
-S=${WORKDIR}/${P}a
-
-src_prepare() {
- sed -i -e 's/cp -pPR $(INCDIR) $(INSTALLDIR); \\/echo " "; \\/' Makefile || die
-}
-
-src_install() {
- ERL_LIBS="${D}/usr/$(get_libdir)/erlang/lib/" make install DESTDIR="${D}"
- mkdir -p "${D}"/usr/bin
- cp lfe "${D}"/usr/bin
-}
diff --git a/dev-lang/lfe/lfe-1.0.ebuild b/dev-lang/lfe/lfe-1.0.ebuild
deleted file mode 100644
index bfb8337090ea..000000000000
--- a/dev-lang/lfe/lfe-1.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit multilib
-
-DESCRIPTION="Lisp-flavoured Erlang"
-HOMEPAGE="http://lfe.github.io/"
-SRC_URI="https://github.com/rvirding/lfe/archive/v${PV}.zip -> ${P}.zip"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND="dev-lang/erlang"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- export PATH="${S}/bin:$PATH"
-}
-
-src_compile() {
- emake compile -j1
-}
-
-src_install() {
- dobin bin/lfe
- dobin bin/lfec
- dobin bin/lfescript
- dodir /usr/$(get_libdir)/erlang/lib/lfe/ebin/
- dodir /usr/$(get_libdir)/erlang/lib/lfe/emacs/
- cp -R "${S}/ebin" "${D}/usr/$(get_libdir)/erlang/lib/lfe/"
- cp -R "${S}/emacs" "${D}/usr/$(get_libdir)/erlang/lib/lfe/"
-}
diff --git a/dev-lang/lua/Manifest b/dev-lang/lua/Manifest
index b3e248e9364a..9ec5817eefd5 100644
--- a/dev-lang/lua/Manifest
+++ b/dev-lang/lua/Manifest
@@ -16,30 +16,26 @@ AUX lua-5.1-make_static-r1.patch 644 BLAKE2B e1615d2779814f7f5baf8d7257f132d812d
AUX lua-5.1-module_paths.patch 1078 BLAKE2B c8c6def6f3099f61cc750657df1609a0a26b9201db7ae9d07b792a1eebb50be8a7bbb3a6ef6201ec4927a199c116304edaef0b9c9ab0fc833df4d7e56e92332a SHA512 123b115389d01d383af8698d2ed66c75bb7c3e2d33de57b8539ae56a9478930a0a72fa5657e78cc1c5b6bef00d07ec3a51e19ec0e419647e84eb158fb5c4795a
AUX lua-5.1-readline.patch 360 BLAKE2B b528a3566aa59fb1cccb22417b01e86ee0cd3b77a3e278a20d5b476949daf47f0a656c7493a137594f1cf3136d327530ac97833cf584956b35b6a88a808535b9 SHA512 a99154258419dc2e582804eae97517687e5b8b5f731dc91722193d1ff470b8522af6ff4e7142c9258afe4734cd52e6987d3c2108ac52b1487a262f1e89f2f332
AUX lua-5.1.4-deprecated.patch 1417 BLAKE2B 993dd3169ebeaf8abbf5bf34e39f85b5d429c49bb534cbb0351c217705f36d7048d847241e05b3181c0cf0d4e54d449351b27947cea45b7bb880f4f62d8ebaeb SHA512 5b82058ece2cde2a720f9cdae727be0a68895438f90e24f2e37adb1cd79cf637ce20bb283918e44f4f561aa87a9b4f19d3305d71537671f61438962d48970f39
-AUX lua-5.1.4-test.patch 340 BLAKE2B fb1e93293d60d85e6ba6ef1d07c34d329a1db4368e7e1e7307822cabf3082c802a5d7c3449caaf0e71759d09b6e41d4b8a04220b54dbb980991a10d0d64c77b6 SHA512 720135cc9d4c224717c2718b5709b43a1d66340fbdc3826037db672ef92014b6145f50263198d7641525194e6f9f9fdf16b78bdc6fb832dd7d13a89f06af67d9
+AUX lua-5.1.4-test.patch 271 BLAKE2B 1b8d2fd524d34fce99315d03232984a3cd1ad74fb23a7794a9886613bc96cdd1d48c82913c5b1ebf0765b3e51d5fcba2dfedd8eb9cf62e63e6998036447319fd SHA512 963bd2c53714eb067a55ee4d84b465ee96b2d3de71498bc83ecb4f8de70d59d6574703b36c621b9969d3f595a2c794095aae0d9c59cc02d5778ce0e7a1da8247
AUX lua-5.1.5-disable-deprecated.patch 1823 BLAKE2B 82d9e7c12d98606b29960182d8e069704683e136e06f422d6109a3c2ade165bc12e151d9e1c7933c65be3b441f1363db4f054866c0c7a894e9282a82b01a435d SHA512 1dc8f8a789bc8374137adce70c6614afe383255b5a2e59e36fdddf5a8fb9c7458b42e7b4483f09635d0ec38f8ed7925f8d1f12ce0fe0fdf0373a8e59b6f84322
AUX lua-5.1.5-fix_vararg_calls.patch 470 BLAKE2B fa5863445dbca630dbe00fd03a09f752dc27d0106cb7a5cc8bddf51dc9bd01ae843ad29219ed2ba29dd3088b933bcbf91fc87d5c58a972f4bac99fe112f05aff SHA512 630e8537bd80771fecc4c8216ec96e243654bd0b7bd006b6867baca4effab90bab4a922951661d4fc3ac2700c3bd7c0c40227b9eeee7dd5a87c07a6382055b04
AUX lua-5.1.5-gentoo-build.patch 3108 BLAKE2B fae72673638387311749949840ce3df6f56763af6f5027c9f71c2262abdf3ed1cc2fe49fccb3ceef110584ac5034b1dceef03c773b68c12558b30c33ea6a10d4 SHA512 85165a0cae5f951d53741a7a07bc291bf16a4e575d82262b744ba177dfee54a91acc37000e17299f4f6a13acf8b611aac618e257b45e4f65012a9cf632ab4ab7
AUX lua-5.1.5-readline.patch 638 BLAKE2B 9f15fc99ae7abaa6b99ed0e1daf45bc6c8d2980159e3f721d3ec415108c0b612091822c56177804a333dc0abe038229d5adcd8982e50712dcee4b493d8ff04e1 SHA512 0167466adde2827455587001c02ab1cedd3845b6646cd3ce58f85d808157c0d9320106a8055319c338640b4494152e0b494fe92943070d4cdbdfcc1cfd44c82e
-AUX lua-5.2-make-r1.patch 2442 BLAKE2B 7f281a96b602b992099869648cc7229312578890644e9241f249c7335e04dd70573df6673a2baf19a7d985bc0c30d0821af4cb830bbed55cf7d2a8f83037add2 SHA512 e51b6fd7c77906a918f3987379e134d7423cc9683efdf6cdd2992b187ab0fed99732523b0f2819816a8789e4ed176c6f62774237f036e09e0c9d56582e0c3be0
-AUX lua-5.3-make-r1.patch 2854 BLAKE2B d60d1656a5f411b218b4f1f861f150759e6331ffadf28fde50cf219cbe01b5f1e6be4a3872b3c27a9ed561e80f91983e024124ca5c5871c6c63252cf0ac1c11d SHA512 80c2930bbd204551545cdd6793ec8dcd7d753fffc29710786b3662dde13b1af3a9825c95118e23bc98149f316f12f008223b675df929a244ef29c8a2a773560a
+AUX lua-5.2-make-r1.patch 2410 BLAKE2B e2c8607c96dcc89ee130aa2a24eb8ca3c0191902528fab1563f40f2c26a5c12c40b5c41679df6a5997821c0cf08ea87e12bbfe2ac09470ab93285255935eba14 SHA512 e34b41740e672ba3511569884fe053a2d71e197f6738f1c22f74f7ffc657cb7b91e6efe97374730a5f8f6e82419a30d3b96e9af0b3a66caf78c523a4493492b8
+AUX lua-5.3-make-r1.patch 2822 BLAKE2B 4b12793d85e28d69a871c946f48a4f7e3b326dc78167e7ed1c207fab77883bb47f845c24a08ababa69c146e60f548f0f6eb2ae8b70b670b540124ca4d3628485 SHA512 40692d71a7ca59d495f8af7969ccc295373e5b0993b67142c43dcb216d57893da41fcf7d1bc49382fc89986eedaaa0f7da6fe62b42e41ac450c30dfa6d4bcdec
AUX lua-5.4-makefiles.patch 3187 BLAKE2B 22911f5fd5d26753e952cd435350cc120f7736a3a1fe4301d58265965c36a0d64a98af731f186b0374f7fb29f8a2ddcf3a95fc6746b3955295dc8e8a5425b62c SHA512 5df57cf6379f245f855423d6fee33d9e42f4100aa69d19bc9b608db7e7001ef3c9e74c81f97b9e74e8decd78c149bc4689d56008a1704054c6e416c892c362f3
AUX lua.pc 658 BLAKE2B 580504c8162c9cbde35b4a817c688b955cad1a35b1c21ed527488eda6e7cf78dfa81fa8b100737cf9ad620d34d94eceec01ba09e4fab0b121c5e4c673677cd3f SHA512 cb476ea6dd004a9aa0094cfc219d1888c5f578b44968a960acf1f2f32783a8e4d770bb033fb1ab4851f225188bbdd434b5d239718cae2c2c35f5b5f124a722ca
DIST lua-5.1.5.tar.gz 221213 BLAKE2B 915eb8e8c9d7e460eacf1d7a59309c60dfc0f5d9d3d76fbc9764e7cae85920b95096db1c27b69ac53378a145c29efde403e88166a1332a67150d9d3a897aba02 SHA512 0142fefcbd13afcd9b201403592aa60620011cc8e8559d4d2db2f92739d18186860989f48caa45830ff4f99bfc7483287fd3ff3a16d4dec928e2767ce4d542a9
DIST lua-5.2.2-tests.tar.gz 76629 BLAKE2B 323eaae02ee61cfde2535d606ed704d964461c32627cb3ad4097afdc95a16a0921b9b05677c5b9b26cbff0d7d8270045e7df32a2cea0fd99a82e6aa613a0bdae SHA512 699d5703dd1d03312f1e947ca4c68d8808bb226ae01337202c2bfb3d854a9b7d9ef9746630afd1f67e9ffe2868907ce3d600a6f5324a2c798540c5373a24aac8
DIST lua-5.2.4.tar.gz 252651 BLAKE2B 6f20308d8413438f8446040e8de16274837cb55e626b98a0ae8cfe279dc8610fa2e032a2ce53ef3acda4b96a7198123cbc18eff16775f952e6dc0355fdf331b0 SHA512 cd77148aba4b707b6c159758b5e8444e04f968092eb98f6b4c405b2fb647e709370d5a8dcf604176101d3407e196a7433b5dcdce4fe9605c76191d3649d61a8c
DIST lua-5.3.4-tests.tar.gz 103438 BLAKE2B ac82708022e7729039111c3df4fe24302c8d0efb224afb4828871ac085a3d64c41d674a6f9369035de01ed1f7f75a3d2ce16917f37e774e923216aac0be03e09 SHA512 79575d100a2efabc8243f55b55d912443e09ef7e8b0219cb93541d85c2ba802fb9538015e1228703f09ca57bdb28a640a8f1fa0735716ba1e4bca2179c712dfb
-DIST lua-5.3.5.tar.gz 303543 BLAKE2B 8890fa70fcfb869296bc74c754dc30621a3786d4b38dd35ef9e57ca46ee4b3df12dac1b86109be0823847499ff6b0d95de11f446c4c22de440ae3bb704e5068b SHA512 4f9516acc4659dfd0a9e911bfa00c0788f0ad9348e5724fe8fb17aac59e9c0060a64378f82be86f8534e49c6c013e7488ad17321bafcc787831d3d67406bd0f4
DIST lua-5.3.6.tar.gz 303770 BLAKE2B 07c37c56f43095a4f6ca8eb8b3adf19afd53107c02b62b2bcb3619565cb2100d5f823493eef93092d5e312b30fc28885a6d9e8f0ba5a23b5bed86dc4515a5d61 SHA512 ccc380d5e114d54504de0bfb0321ca25ec325d6ff1bfee44b11870b660762d1a9bf120490c027a0088128b58bb6b5271bbc648400cab84d2dc22b512c4841681
DIST lua-5.4.1-tests.tar.gz 128646 BLAKE2B 2dae666e89bacf986228a33fc665bbc510e738d9f8791933f5048e4bbecaf6cd59c5e70e488d332b16960225aac3b9fae46e500f3b54856bb6aabe8cd3a5c932 SHA512 ac7cf113d96f8fe2af4f104297a70debd3bede5997627fc18db6b5d9c78ff49e05a165f5855894def5656c6dcc2d7d9ccce741c90da17698a5c714a33828f49a
DIST lua-5.4.1.tar.gz 353965 BLAKE2B e5b46fcf2eb2ea9bd235793cefec2bf19f185ed51b11bc6133bda4e3639f09194378b2fd55544972ee32576751e80bba87b3b61ec3d4a0910592d6e5cb4a4c77 SHA512 49ffbe814ec41e515fc8502b6958151c6c56aa171412f0b211ad9de934be2c958c3709d49435885ddea0fa6765ed511dafb3537558950ff3b4261338214f1571
-EBUILD lua-5.1.5-r103.ebuild 4044 BLAKE2B 01ad9ea468e84b362e29df4bc4ba6fbf01099b773af9d3b365abf32c666b819e9c89e9e9c3748725ea0eb385191b648b1875ea90ce53c34821fdabdeaddbd742 SHA512 56b61061b8be6f432ae261d0d532f3e3a95fc424fd456dd8b8292535955dd3b7826144b20634252697bf657b1d9431e3211d0e8a194c76b9bd96b186f27c7f61
-EBUILD lua-5.1.5-r104.ebuild 4096 BLAKE2B 0e5d35da5d31f7db4cc6c82aed5119b609b5f323c1b1f4a45da4850499b8cc39e30770d734c0d4f5f454841e09879d0846a0d0122fc35666280292bffef388f3 SHA512 cc39e505bf2a2a97061350c969297366fd0a98da1998a8ef2e410679f7bbbef40d0171cc7671590f034793fd42e386fd9a5c06c06460c95f5aa86905e5b0f610
-EBUILD lua-5.1.5-r105.ebuild 4033 BLAKE2B ce9c1050aa61036db152844a3fe4b1cd9ba1348d38e54ba1bc502728d900289184cb0d7d0cd7c83660ddbbb2fd3b43e45cd8989114548caa4f8cbf1b7d2efc95 SHA512 a191d7b99a87ff5b639e88f585b011cf335d34527aabd43e81936c7ed4532a027a8a4314345146ab97e83b6849febd39de9b45a26ce6e3efa7f03b6f23a413d1
+EBUILD lua-5.1.5-r105.ebuild 3999 BLAKE2B 69d5c5489393d7df3932d5b8fdbe6879ae860642b6827b30adca280c5780ec932db977286b1001e015da6e31f6bd37dd0d9ebbf7611f076f417ca24eabc99416 SHA512 4348b4976ddc1635d9478a1e869641431e1838aff1b28cc047ad4a8ac5780ba1ece2e96aa8304580c73c5bf434b5a14273da61e2b1a71fe64dc217c31b8f24b0
EBUILD lua-5.1.5-r4.ebuild 3626 BLAKE2B b8940a7010239a29ad1920fe7d9e9f799ac1472c10ec92f4b24f122afbc9dce6bc807e93b4e1f4f0c4413661dc28d5205a2e53c5228a34e2e26b26d184e2d24e SHA512 89721d186390aae36b3b64f0c12ddbd14f8dec843e4f46b0ac6e384c39f6c70d657827ac0af24db51733f8fc534168859391178804c0c06920071f66c2e14235
EBUILD lua-5.1.5-r5.ebuild 3181 BLAKE2B 190ef3d7da2eaada3c3eb25e5d524e4b3efb81d77d7ae566b25713b50cad8f2c7822eb490a4ebdf0ab6eb3f6f6d9a5ac0c6bc813f7d0329905b9f98e6ca04213 SHA512 7497bf82661f2c17c4cf07ff6511b8595f06336defbad1feb2ac483ef024ae6473bec3cdcb925b9d18eaa5091980f1c10c21ea1d48418af1d0cd5ced4cc3b349
-EBUILD lua-5.2.4-r2.ebuild 5815 BLAKE2B 3cca6a8cfb62eb47819b0c415caaaac569d1158d129df5e4de2b0041d4f048ef84284353caafccb3f19f6ff982145fe9b8d60e47798319065fac310019811785 SHA512 347d95124e3881687c0b82502561d22d37c2be3b5002432079b8e5d4fc854d963e9bd7aa9c577c9d30f043ec901d7e31b223b42e6e8e9afcfd4709fea7832d62
-EBUILD lua-5.3.5-r2.ebuild 5815 BLAKE2B 9f11080202c539e78e1ff27f9e7819573ead4bb9c52672a982bb6f581fcee649e4923ec43d424754ee29355e128a0aa9ae55e899dbde8983bb2450040dfda449 SHA512 562b61119aee91ca8b61279bfcbd6a1c884f67322f10d9850aa3b5d12082e472f25f7eab16fe204516d0da53d0e6959803aabe2cd212c7b532e7aa17dadbffe1
-EBUILD lua-5.3.6.ebuild 5815 BLAKE2B 9f11080202c539e78e1ff27f9e7819573ead4bb9c52672a982bb6f581fcee649e4923ec43d424754ee29355e128a0aa9ae55e899dbde8983bb2450040dfda449 SHA512 562b61119aee91ca8b61279bfcbd6a1c884f67322f10d9850aa3b5d12082e472f25f7eab16fe204516d0da53d0e6959803aabe2cd212c7b532e7aa17dadbffe1
-EBUILD lua-5.4.1.ebuild 5764 BLAKE2B ca0b8b286234314ffda122c5af32c06973fc640e29976a2a847f7d637646ed95cfd3430645978df9ae4a65a4d2e04853dde5e40c7e65fac50c01c4a9e6bfc277 SHA512 aef2ad5ad9353d636b3d78349c760bc191341c57b740e611ac4e3b4c6a891a9c82d317d5306d6ab364193d8f9a42fac5f398b08a61df077e0dea0ddabb9bc704
+EBUILD lua-5.2.4-r2.ebuild 5767 BLAKE2B 420ac64f300c1aee86945bcd06cf214cae6cf696129a5cd9a697f1dab8440e6870d4601ddea39829a4b053cd3119aa3bfdbdc9b4c2110468e708b1cb6581f50f SHA512 7eedb9aeedb966acaa2512c98b50617e849b61693c1622617d0d2e2f1db79832fa64d03cff62e234f92ce4810f67674e988f0ca81610b04eea90553b22315dd3
+EBUILD lua-5.3.6-r1.ebuild 5752 BLAKE2B 09377d6f44d647adcc820e26448cf9020885020bd4501f458add142d50f31584a31e12e2c111c06dcf894b75521e1c6c94214da7bc388fefd66bc1b097b59b5d SHA512 526a6bf723702f02f4e079ecd0eba98e7a26be5b57f01861efe5b5d83ff0a8193c0280e80847323529e329b97ef6d9d0b957c2dcfeeaa3b16c9e4e5027cc5040
+EBUILD lua-5.4.1-r1.ebuild 5715 BLAKE2B ccb7a8033e1c10a9e341435c9a5e9bd334057ec64449e4b7179a7fa7fc5ee975497f1400536ec9486c6b94e3367205103dab707fd0fa66d28edd46120ed57df5 SHA512 4b7e180cdd830dac7a7886fbd3703f6296d97046b0ee898dd82eda97df9459d5e586f60bc5535f5ff383c4e54e653cb850fafa7bd4137d161d96d94101177153
MISC metadata.xml 524 BLAKE2B 688341a9dfa433bbc2e3fc1edb8a44d53dcee036afeb5b2c7c8fbfa0f81d1e53a6c7910b32bec637ad1cd518e48afdd0806a286dadbb6c7a88853a93aa7f3545 SHA512 92ee6e13c3fcc5ba1d2cf3ec58a54b051f1fae8646b64fae25923108a78abc77b05992abbed5a04afbc2043ea0b47749544e348506ab554d57b19bcf3b435e52
diff --git a/dev-lang/lua/files/lua-5.1.4-test.patch b/dev-lang/lua/files/lua-5.1.4-test.patch
index 99b4ad648cc7..4dcfbb9d6969 100644
--- a/dev-lang/lua/files/lua-5.1.4-test.patch
+++ b/dev-lang/lua/files/lua-5.1.4-test.patch
@@ -1,5 +1,5 @@
---- test/sieve.lua~ 2002-10-31 03:52:58.000000000 +0100
-+++ test/sieve.lua 2008-02-20 17:44:22.468281121 +0100
+--- a/test/sieve.lua
++++ b/test/sieve.lua
@@ -14,7 +14,7 @@
while 1 do
local n = g()
diff --git a/dev-lang/lua/files/lua-5.2-make-r1.patch b/dev-lang/lua/files/lua-5.2-make-r1.patch
index a0624af9cc33..c65f799c0dcc 100644
--- a/dev-lang/lua/files/lua-5.2-make-r1.patch
+++ b/dev-lang/lua/files/lua-5.2-make-r1.patch
@@ -17,7 +17,7 @@
+# Use libtool for binary installs, etc.
+
+export V
-+export LIBTOOL = $(EROOT)usr/bin/libtool --quiet --tag=CC
++export LIBTOOL = libtool --quiet --tag=CC
+# See libtool manual about how to set this
+
+gentoo_clean:
@@ -47,7 +47,7 @@
lzio.h
+
-+export LIBTOOL = $(EROOT)usr/bin/libtool --quiet --tag=CC
++export LIBTOOL = libtool --quiet --tag=CC
+export LIB_VERSION = 6:1:1
+
+# The following rules use libtool for compiling and linking in order to
diff --git a/dev-lang/lua/files/lua-5.3-make-r1.patch b/dev-lang/lua/files/lua-5.3-make-r1.patch
index b9e9051462c4..d27eb9938ea0 100644
--- a/dev-lang/lua/files/lua-5.3-make-r1.patch
+++ b/dev-lang/lua/files/lua-5.3-make-r1.patch
@@ -18,7 +18,7 @@ diff -uNr lua-5.3.3.orig/Makefile lua-5.3.3/Makefile
+# Use libtool for binary installs, etc.
+
+export V
-+export LIBTOOL = $(EROOT)usr/bin/libtool --quiet --tag=CC
++export LIBTOOL = libtool --quiet --tag=CC
+# See libtool manual about how to set this
+
+gentoo_clean:
@@ -63,7 +63,7 @@ diff -uNr lua-5.3.3.orig/src/Makefile lua-5.3.3/src/Makefile
# (end of Makefile)
+
-+export LIBTOOL = $(EROOT)usr/bin/libtool --quiet --tag=CC
++export LIBTOOL = libtool --quiet --tag=CC
+export LIB_VERSION = 6:1:1
+
+# The following rules use libtool for compiling and linking in order to
diff --git a/dev-lang/lua/lua-5.1.5-r103.ebuild b/dev-lang/lua/lua-5.1.5-r103.ebuild
deleted file mode 100644
index fcdaba404b5c..000000000000
--- a/dev-lang/lua/lua-5.1.5-r103.ebuild
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib multilib-minimal portability toolchain-funcs versionator
-
-DESCRIPTION="A powerful light-weight programming language designed for extending applications"
-HOMEPAGE="http://www.lua.org/"
-SRC_URI="http://www.lua.org/ftp/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="5.1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+deprecated emacs readline static"
-
-RDEPEND="readline? ( >=sys-libs/readline-6.2_p5-r1:0=[${MULTILIB_USEDEP}] )
- app-eselect/eselect-lua
- !dev-lang/lua:0"
-DEPEND="${RDEPEND}
- sys-devel/libtool"
-PDEPEND="emacs? ( app-emacs/lua-mode )"
-
-SAN_SLOT="${SLOT//.}"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/lua${SLOT}/luaconf.h
-)
-
-src_prepare() {
- local PATCH_PV=$(get_version_component_range 1-2)
-
- epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r2.patch
- epatch "${FILESDIR}"/${PN}-${PATCH_PV}-module_paths.patch
-
- # use glibtool on Darwin (versus Apple libtool)
- if [[ ${CHOST} == *-darwin* ]] ; then
- sed -i -e '/LIBTOOL = /s:libtool:glibtool:' \
- Makefile src/Makefile || die
- fi
-
- #EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch
-
- # correct lua versioning
- sed -i -e 's/\(LIB_VERSION = \)6:1:1/\16:5:1/' src/Makefile
-
- sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html
-
- if ! use deprecated ; then
- # patches from 5.1.4 still apply
- epatch "${FILESDIR}"/${PN}-5.1.4-deprecated.patch
- epatch "${FILESDIR}"/${PN}-5.1.4-test.patch
- fi
-
- if ! use readline ; then
- epatch "${FILESDIR}"/${PN}-${PATCH_PV}-readline.patch
- fi
-
- # Using dynamic linked lua is not recommended for performance
- # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
- # Mainly, this is of concern if your arch is poor with GPRs, like x86
- # Note that this only affects the interpreter binary (named lua), not the lua
- # compiler (built statically) nor the lua libraries (both shared and static
- # are installed)
- if use static ; then
- epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make_static-r1.patch
- fi
-
- # A slotted Lua uses different directories for headers & names for
- # libraries, and pkgconfig should reflect that.
- sed -r -i \
- -e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
- -e "/^Libs:/s,((-llua)($| )),\2${SLOT}\3," \
- -e "/^Cflags:/s,((-I..includedir.)($| )),\2/lua${SLOT}\3," \
- "${S}"/etc/lua.pc
-
- # custom Makefiles
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- # We want packages to find our things...
- sed -i \
- -e 's:/usr/local:'${EPREFIX}'/usr:' \
- -e "s:\([/\"]\)\<lib\>:\1$(get_libdir):g" \
- etc/lua.pc src/luaconf.h || die
-}
-
-multilib_src_compile() {
- tc-export CC
- myflags=
- # what to link to liblua
- liblibs="-lm"
- liblibs="${liblibs} $(dlopen_lib)"
-
- # what to link to the executables
- mylibs=
- if use readline; then
- mylibs="-lreadline"
- fi
-
- cd src
- emake CC="${CC}" CFLAGS="-DLUA_USE_LINUX ${CFLAGS}" \
- RPATH="${EPREFIX}/usr/$(get_libdir)/" \
- LUA_LIBS="${mylibs}" \
- LIB_LIBS="${liblibs}" \
- V=$(get_version_component_range 1-2) \
- gentoo_all
-
- mv lua_test ../test/lua.static
-}
-
-multilib_src_install() {
- emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
- V=${SLOT} gentoo_install
-
- insinto /usr/$(get_libdir)/pkgconfig
- newins etc/lua.pc lua${SLOT}.pc
-}
-
-multilib_src_install_all() {
- dodoc HISTORY README
- dohtml doc/*.html doc/*.png doc/*.css doc/*.gif
-
- doicon etc/lua.ico
-
- newman doc/lua.1 lua${SLOT}.1
- newman doc/luac.1 luac${SLOT}.1
-}
-
-multilib_src_test() {
- local positive="bisect cf echo env factorial fib fibfor hello printf sieve
- sort trace-calls trace-globals"
- local negative="readonly"
- local test
-
- cd "${BUILD_DIR}" || die
- for test in ${positive}; do
- test/lua.static test/${test}.lua || die "test $test failed"
- done
-
- for test in ${negative}; do
- test/lua.static test/${test}.lua && die "test $test failed"
- done
-}
diff --git a/dev-lang/lua/lua-5.1.5-r104.ebuild b/dev-lang/lua/lua-5.1.5-r104.ebuild
deleted file mode 100644
index ee260fdac855..000000000000
--- a/dev-lang/lua/lua-5.1.5-r104.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib multilib-minimal portability toolchain-funcs versionator
-
-DESCRIPTION="A powerful light-weight programming language designed for extending applications"
-HOMEPAGE="http://www.lua.org/"
-SRC_URI="http://www.lua.org/ftp/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="5.1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+deprecated emacs readline static"
-
-RDEPEND="readline? ( >=sys-libs/readline-6.2_p5-r1:0=[${MULTILIB_USEDEP}] )
- app-eselect/eselect-lua
- !dev-lang/lua:0"
-DEPEND="${RDEPEND}
- sys-devel/libtool"
-PDEPEND="emacs? ( app-emacs/lua-mode )"
-
-SAN_SLOT="${SLOT//.}"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/lua${SLOT}/luaconf.h
-)
-
-src_prepare() {
- local PATCH_PV=$(get_version_component_range 1-2)
-
- epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r2.patch
- epatch "${FILESDIR}"/${PN}-${PATCH_PV}-module_paths.patch
-
- # use glibtool on Darwin (versus Apple libtool)
- if [[ ${CHOST} == *-darwin* ]] ; then
- sed -i -e '/LIBTOOL = /s:libtool:glibtool:' \
- Makefile src/Makefile || die
- fi
-
- #EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch
-
- # correct lua versioning
- sed -i -e 's/\(LIB_VERSION = \)6:1:1/\16:5:1/' src/Makefile
-
- sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html
-
- if ! use deprecated ; then
- # patches from 5.1.4 still apply
- epatch "${FILESDIR}"/${PN}-5.1.4-deprecated.patch
- epatch "${FILESDIR}"/${PN}-5.1.4-test.patch
- fi
-
- if ! use readline ; then
- epatch "${FILESDIR}"/${PN}-${PATCH_PV}-readline.patch
- fi
-
- # Using dynamic linked lua is not recommended for performance
- # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
- # Mainly, this is of concern if your arch is poor with GPRs, like x86
- # Note that this only affects the interpreter binary (named lua), not the lua
- # compiler (built statically) nor the lua libraries (both shared and static
- # are installed)
- if use static ; then
- epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make_static-r1.patch
- fi
-
- # A slotted Lua uses different directories for headers & names for
- # libraries, and pkgconfig should reflect that.
- sed -r -i \
- -e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
- -e "/^includedir=/s,(/include)$,\1/lua${SLOT}," \
- -e "/^Libs:/s,((-llua)($| )),\2${SLOT}\3," \
- -e "/^Cflags:/s,((-I..includedir.)($| )),\2/lua${SLOT}\3," \
- "${S}"/etc/lua.pc
-
- # custom Makefiles
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- # We want packages to find our things...
- sed -i \
- -e 's:/usr/local:'${EPREFIX}'/usr:' \
- -e "s:\([/\"]\)\<lib\>:\1$(get_libdir):g" \
- etc/lua.pc src/luaconf.h || die
-}
-
-multilib_src_compile() {
- tc-export CC
- myflags=
- # what to link to liblua
- liblibs="-lm"
- liblibs="${liblibs} $(dlopen_lib)"
-
- # what to link to the executables
- mylibs=
- if use readline; then
- mylibs="-lreadline"
- fi
-
- cd src
- emake CC="${CC}" CFLAGS="-DLUA_USE_LINUX ${CFLAGS}" \
- RPATH="${EPREFIX}/usr/$(get_libdir)/" \
- LUA_LIBS="${mylibs}" \
- LIB_LIBS="${liblibs}" \
- V=$(get_version_component_range 1-2) \
- gentoo_all
-
- mv lua_test ../test/lua.static
-}
-
-multilib_src_install() {
- emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
- V=${SLOT} gentoo_install
-
- insinto /usr/$(get_libdir)/pkgconfig
- newins etc/lua.pc lua${SLOT}.pc
-}
-
-multilib_src_install_all() {
- dodoc HISTORY README
- dohtml doc/*.html doc/*.png doc/*.css doc/*.gif
-
- doicon etc/lua.ico
-
- newman doc/lua.1 lua${SLOT}.1
- newman doc/luac.1 luac${SLOT}.1
-}
-
-multilib_src_test() {
- local positive="bisect cf echo env factorial fib fibfor hello printf sieve
- sort trace-calls trace-globals"
- local negative="readonly"
- local test
-
- cd "${BUILD_DIR}" || die
- for test in ${positive}; do
- test/lua.static test/${test}.lua || die "test $test failed"
- done
-
- for test in ${negative}; do
- test/lua.static test/${test}.lua && die "test $test failed"
- done
-}
diff --git a/dev-lang/lua/lua-5.1.5-r105.ebuild b/dev-lang/lua/lua-5.1.5-r105.ebuild
index abdd584d449f..b3446900028f 100644
--- a/dev-lang/lua/lua-5.1.5-r105.ebuild
+++ b/dev-lang/lua/lua-5.1.5-r105.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-inherit eutils multilib multilib-minimal portability toolchain-funcs versionator
+inherit multilib multilib-minimal portability toolchain-funcs
DESCRIPTION="A powerful light-weight programming language designed for extending applications"
HOMEPAGE="http://www.lua.org/"
@@ -12,26 +12,25 @@ SRC_URI="http://www.lua.org/ftp/${P}.tar.gz"
LICENSE="MIT"
SLOT="5.1"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+deprecated emacs readline static"
+IUSE="+deprecated readline static"
RDEPEND="readline? ( >=sys-libs/readline-6.2_p5-r1:0=[${MULTILIB_USEDEP}] )
app-eselect/eselect-lua
!dev-lang/lua:0"
DEPEND="${RDEPEND}
sys-devel/libtool"
-PDEPEND="emacs? ( app-emacs/lua-mode )"
-
-SAN_SLOT="${SLOT//.}"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/lua${SLOT}/luaconf.h
)
-src_prepare() {
- local PATCH_PV=$(get_version_component_range 1-2)
+PATCHES=(
+ "${FILESDIR}/${PN}-$(ver_cut 1-2)-make-r2.patch"
+ "${FILESDIR}/${PN}-$(ver_cut 1-2)-module_paths.patch"
+)
- epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r2.patch
- epatch "${FILESDIR}"/${PN}-${PATCH_PV}-module_paths.patch
+src_prepare() {
+ default
# use glibtool on Darwin (versus Apple libtool)
if [[ ${CHOST} == *-darwin* ]] ; then
@@ -39,8 +38,6 @@ src_prepare() {
Makefile src/Makefile || die
fi
- #EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch
-
# correct lua versioning
sed -i -e 's/\(LIB_VERSION = \)6:1:1/\16:5:1/' src/Makefile
@@ -48,12 +45,12 @@ src_prepare() {
if ! use deprecated ; then
# patches from 5.1.4 still apply
- epatch "${FILESDIR}"/${PN}-5.1.4-deprecated.patch
- epatch "${FILESDIR}"/${PN}-5.1.4-test.patch
+ eapply "${FILESDIR}"/${PN}-5.1.4-deprecated.patch
+ eapply "${FILESDIR}"/${PN}-5.1.4-test.patch
fi
if ! use readline ; then
- epatch "${FILESDIR}"/${PN}-${PATCH_PV}-readline.patch
+ eapply "${FILESDIR}"/${PN}-$(ver_cut 1-2)-readline.patch
fi
# Using dynamic linked lua is not recommended for performance
@@ -63,7 +60,7 @@ src_prepare() {
# compiler (built statically) nor the lua libraries (both shared and static
# are installed)
if use static ; then
- epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make_static-r1.patch
+ sed -i -e 's:\(-export-dynamic\):-static \1:' src/Makefile || die
fi
# A slotted Lua uses different directories for headers & names for
@@ -104,7 +101,7 @@ multilib_src_compile() {
RPATH="${EPREFIX}/usr/$(get_libdir)/" \
LUA_LIBS="${mylibs}" \
LIB_LIBS="${liblibs}" \
- V=$(get_version_component_range 1-2) \
+ V=$(ver_cut 1-2) \
gentoo_all
mv lua_test ../test/lua.static
@@ -119,11 +116,9 @@ multilib_src_install() {
}
multilib_src_install_all() {
- dodoc HISTORY README
- dohtml doc/*.html doc/*.png doc/*.css doc/*.gif
-
- doicon etc/lua.ico
-
+ DOCS="HISTORY README"
+ HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif"
+ einstalldocs
newman doc/lua.1 lua${SLOT}.1
newman doc/luac.1 luac${SLOT}.1
}
@@ -143,3 +138,11 @@ multilib_src_test() {
test/lua.static test/${test}.lua && die "test $test failed"
done
}
+
+pkg_postinst() {
+ if has_version "app-editor/emacs"; then
+ if ! has_version "app-emacs/lua-mode"; then
+ einfo "Install app-emacs/lua-mode for lua support for emacs"
+ fi
+ fi
+}
diff --git a/dev-lang/lua/lua-5.2.4-r2.ebuild b/dev-lang/lua/lua-5.2.4-r2.ebuild
index af89f22a59cb..e9de80efdfb9 100644
--- a/dev-lang/lua/lua-5.2.4-r2.ebuild
+++ b/dev-lang/lua/lua-5.2.4-r2.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-inherit eutils autotools multilib multilib-minimal portability toolchain-funcs versionator
+inherit autotools multilib multilib-minimal portability toolchain-funcs
DESCRIPTION="A powerful light-weight programming language designed for extending applications"
HOMEPAGE="http://www.lua.org/"
@@ -17,7 +17,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="5.2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+deprecated emacs readline static test test-complete"
+IUSE="+deprecated readline static test test-complete"
RESTRICT="!test? ( test )"
RDEPEND="readline? ( sys-libs/readline:0= )
@@ -25,16 +25,17 @@ RDEPEND="readline? ( sys-libs/readline:0= )
!dev-lang/lua:0"
DEPEND="${RDEPEND}
sys-devel/libtool"
-PDEPEND="emacs? ( app-emacs/lua-mode )"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/lua${SLOT}/luaconf.h
)
-src_prepare() {
- local PATCH_PV=$(get_version_component_range 1-2)
+PATCHES=(
+ "${FILESDIR}/${PN}-$(ver_cut 1-2)-make-r1.patch"
+)
- epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r1.patch
+src_prepare() {
+ default
# use glibtool on Darwin (versus Apple libtool)
if [[ ${CHOST} == *-darwin* ]] ; then
@@ -42,9 +43,6 @@ src_prepare() {
Makefile src/Makefile || die
fi
- [ -d "${FILESDIR}/${PV}" ] && \
- EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch
-
# correct lua versioning
sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die
@@ -108,7 +106,7 @@ multilib_src_compile() {
RPATH="${EPREFIX}/usr/$(get_libdir)/" \
LUA_LIBS="${mylibs}" \
LIB_LIBS="${liblibs}" \
- V=$(get_version_component_range 1-2) \
+ V=$(ver_cut 1-2) \
gentoo_all
}
@@ -129,7 +127,7 @@ multilib_src_install() {
# We want packages to find our things...
# A slotted Lua uses different directories for headers & names for
# libraries, and pkgconfig should reflect that.
- local PATCH_PV=$(get_version_component_range 1-2)
+ local PATCH_PV=$(ver_cut 1-2)
cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die
sed -r -i \
-e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
@@ -152,9 +150,9 @@ multilib_src_install() {
}
multilib_src_install_all() {
- dodoc README
- dohtml doc/*.html doc/*.png doc/*.css doc/*.gif
-
+ DOCS="README"
+ HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif"
+ einstalldocs
newman doc/lua.1 lua${SLOT}.1
newman doc/luac.1 luac${SLOT}.1
}
@@ -192,3 +190,11 @@ src_test() {
die "Tests failed"
fi
}
+
+pkg_postinst() {
+ if has_version "app-editor/emacs"; then
+ if ! has_version "app-emacs/lua-mode"; then
+ einfo "Install app-emacs/lua-mode for lua support for emacs"
+ fi
+ fi
+}
diff --git a/dev-lang/lua/lua-5.3.5-r2.ebuild b/dev-lang/lua/lua-5.3.6-r1.ebuild
index 954451da521b..a65d701dcd53 100644
--- a/dev-lang/lua/lua-5.3.5-r2.ebuild
+++ b/dev-lang/lua/lua-5.3.6-r1.ebuild
@@ -1,13 +1,13 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-inherit eutils autotools multilib multilib-minimal portability toolchain-funcs versionator
+inherit autotools multilib multilib-minimal portability toolchain-funcs
DESCRIPTION="A powerful light-weight programming language designed for extending applications"
HOMEPAGE="http://www.lua.org/"
-TEST_PV="5.3.4" # no 5.3.5-specific release yet
+TEST_PV="5.3.4"
TEST_A="${PN}-${TEST_PV}-tests.tar.gz"
PKG_A="${P}.tar.gz"
SRC_URI="
@@ -17,7 +17,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="5.3"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+deprecated emacs readline static test test-complete"
+IUSE="+deprecated readline static test test-complete"
RESTRICT="!test? ( test )"
RDEPEND="readline? ( sys-libs/readline:0= )
@@ -25,16 +25,17 @@ RDEPEND="readline? ( sys-libs/readline:0= )
!dev-lang/lua:0"
DEPEND="${RDEPEND}
sys-devel/libtool"
-PDEPEND="emacs? ( app-emacs/lua-mode )"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/lua${SLOT}/luaconf.h
)
-src_prepare() {
- local PATCH_PV=$(get_version_component_range 1-2)
+PATCHES=(
+ "${FILESDIR}/${PN}-$(ver_cut 1-2)-make-r1.patch"
+)
- epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r1.patch
+src_prepare() {
+ default
# use glibtool on Darwin (versus Apple libtool)
if [[ ${CHOST} == *-darwin* ]] ; then
@@ -42,9 +43,6 @@ src_prepare() {
Makefile src/Makefile || die
fi
- [ -d "${FILESDIR}/${PV}" ] && \
- EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch
-
# correct lua versioning
sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die
@@ -96,7 +94,7 @@ multilib_src_compile() {
cd src
local myCFLAGS=""
- use deprecated && myCFLAGS="-DLUA_COMPAT_ALL"
+ use deprecated && myCFLAGS="-DLUA_COMPAT_5_1 -DLUA_COMPAT_5_2"
case "${CHOST}" in
*-mingw*) : ;;
@@ -108,7 +106,7 @@ multilib_src_compile() {
RPATH="${EPREFIX}/usr/$(get_libdir)/" \
LUA_LIBS="${mylibs}" \
LIB_LIBS="${liblibs}" \
- V=$(get_version_component_range 1-2) \
+ V=$(ver_cut 1-2) \
gentoo_all
}
@@ -129,7 +127,7 @@ multilib_src_install() {
# We want packages to find our things...
# A slotted Lua uses different directories for headers & names for
# libraries, and pkgconfig should reflect that.
- local PATCH_PV=$(get_version_component_range 1-2)
+ local PATCH_PV=$(ver_cut 1-2)
cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die
sed -r -i \
-e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
@@ -152,9 +150,9 @@ multilib_src_install() {
}
multilib_src_install_all() {
- dodoc README
- dohtml doc/*.html doc/*.png doc/*.css doc/*.gif
-
+ DOCS="README"
+ HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif"
+ einstalldocs
newman doc/lua.1 lua${SLOT}.1
newman doc/luac.1 luac${SLOT}.1
}
@@ -192,3 +190,11 @@ src_test() {
die "Tests failed"
fi
}
+
+pkg_postinst() {
+ if has_version "app-editor/emacs"; then
+ if ! has_version "app-emacs/lua-mode"; then
+ einfo "Install app-emacs/lua-mode for lua support for emacs"
+ fi
+ fi
+}
diff --git a/dev-lang/lua/lua-5.3.6.ebuild b/dev-lang/lua/lua-5.3.6.ebuild
deleted file mode 100644
index 954451da521b..000000000000
--- a/dev-lang/lua/lua-5.3.6.ebuild
+++ /dev/null
@@ -1,194 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils autotools multilib multilib-minimal portability toolchain-funcs versionator
-
-DESCRIPTION="A powerful light-weight programming language designed for extending applications"
-HOMEPAGE="http://www.lua.org/"
-TEST_PV="5.3.4" # no 5.3.5-specific release yet
-TEST_A="${PN}-${TEST_PV}-tests.tar.gz"
-PKG_A="${P}.tar.gz"
-SRC_URI="
- http://www.lua.org/ftp/${PKG_A}
- test? ( https://www.lua.org/tests/${TEST_A} )"
-
-LICENSE="MIT"
-SLOT="5.3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="+deprecated emacs readline static test test-complete"
-RESTRICT="!test? ( test )"
-
-RDEPEND="readline? ( sys-libs/readline:0= )
- app-eselect/eselect-lua
- !dev-lang/lua:0"
-DEPEND="${RDEPEND}
- sys-devel/libtool"
-PDEPEND="emacs? ( app-emacs/lua-mode )"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/lua${SLOT}/luaconf.h
-)
-
-src_prepare() {
- local PATCH_PV=$(get_version_component_range 1-2)
-
- epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r1.patch
-
- # use glibtool on Darwin (versus Apple libtool)
- if [[ ${CHOST} == *-darwin* ]] ; then
- sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \
- Makefile src/Makefile || die
- fi
-
- [ -d "${FILESDIR}/${PV}" ] && \
- EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch
-
- # correct lua versioning
- sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die
-
- sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die
-
- if ! use readline ; then
- sed -i -e '/#define LUA_USE_READLINE/d' src/luaconf.h || die
- fi
-
- # Using dynamic linked lua is not recommended for performance
- # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
- # Mainly, this is of concern if your arch is poor with GPRs, like x86
- # Note that this only affects the interpreter binary (named lua), not the lua
- # compiler (built statically) nor the lua libraries (both shared and static
- # are installed)
- if use static ; then
- sed -i -e 's:\(-export-dynamic\):-static \1:' src/Makefile || die
- fi
-
- # upstream does not use libtool, but we do (see bug #336167)
- cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die
- eautoreconf
-
- # custom Makefiles
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- sed -i \
- -e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \
- -e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \
- src/luaconf.h \
- || die "failed patching luaconf.h"
-
- econf
-}
-
-multilib_src_compile() {
- tc-export CC
-
- # what to link to liblua
- liblibs="-lm"
- liblibs="${liblibs} $(dlopen_lib)"
-
- # what to link to the executables
- mylibs=
- use readline && mylibs="-lreadline"
-
- cd src
-
- local myCFLAGS=""
- use deprecated && myCFLAGS="-DLUA_COMPAT_ALL"
-
- case "${CHOST}" in
- *-mingw*) : ;;
- *) myCFLAGS+=" -DLUA_USE_LINUX" ;;
- esac
-
- emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \
- SYSLDFLAGS="${LDFLAGS}" \
- RPATH="${EPREFIX}/usr/$(get_libdir)/" \
- LUA_LIBS="${mylibs}" \
- LIB_LIBS="${liblibs}" \
- V=$(get_version_component_range 1-2) \
- gentoo_all
-}
-
-multilib_src_install() {
- emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
- V=${SLOT} gentoo_install
-
- case $SLOT in
- 0)
- LIBNAME="lua"
- INCLUDEDIR_SUFFIX=''
- ;;
- *) LIBNAME="lua${SLOT}"
- INCLUDEDIR_SUFFIX="/lua${SLOT}"
- ;;
- esac
-
- # We want packages to find our things...
- # A slotted Lua uses different directories for headers & names for
- # libraries, and pkgconfig should reflect that.
- local PATCH_PV=$(get_version_component_range 1-2)
- cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die
- sed -r -i \
- -e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
- -e "s:^prefix= :prefix= ${EPREFIX}:" \
- -e "s:^V=.*:V= ${PATCH_PV}:" \
- -e "s:^R=.*:R= ${PV}:" \
- -e "s:/,lib,:/$(get_libdir):g" \
- -e "/^Libs:/s:( )(-llua)($| ):\1-l${LIBNAME}\3:" \
- -e "/^includedir=/s:include$:include${INCLUDEDIR_SUFFIX}:" \
- "${WORKDIR}/lua.pc" || die
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc"
- # Copy Debian's symlink support:
- # https://salsa.debian.org/lua-team/lua5.3/blob/master/debian/rules#L19
- # FreeBSD calls the pkgconfig 'lua-5.3.pc'
- # Older systems called it 'lua53.pc'
- dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua-${SLOT}.pc"
- dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua${SLOT/.}.pc"
-}
-
-multilib_src_install_all() {
- dodoc README
- dohtml doc/*.html doc/*.png doc/*.css doc/*.gif
-
- newman doc/lua.1 lua${SLOT}.1
- newman doc/luac.1 luac${SLOT}.1
-}
-
-# Makefile contains a dummy target that doesn't do tests
-# but causes issues with slotted lua (bug #510360)
-src_test() {
- debug-print-function ${FUNCNAME} "$@"
- cd "${WORKDIR}/lua-${TEST_PV}-tests" || die
- # https://www.lua.org/tests/
- # There are two sets:
- # basic
- # complete.
- #
- # The basic subset is selected by passing -e'_U=true'
- # The complete set is noted to contain tests that may consume too much memory or have non-portable tests.
- # attrib.lua for example needs some multilib customization (have to compile the stuff in libs/ for each ABI)
- use test-complete || TEST_OPTS="-e_U=true"
- TEST_MARKER="${T}/test.failed"
- rm -f "${TEST_MARKER}"
-
- # If we are failing, set the marker file, and only check it after done all ABIs
- abi_src_test() {
- debug-print-function ${FUNCNAME} "$@"
- TEST_LOG="${T}/test.${MULTIBUILD_ID}.log"
- eval "${BUILD_DIR}"/src/lua${SLOT} ${TEST_OPTS} all.lua 2>&1 | tee "${TEST_LOG}" || die
- grep -sq -e "final OK" "${TEST_LOG}" || echo "FAIL ${MULTIBUILD_ID}" >>"${TEST_MARKER}"
- return 0
- }
-
- multilib_foreach_abi abi_src_test
-
- if [ -e "${TEST_MARKER}" ]; then
- cat "${TEST_MARKER}"
- die "Tests failed"
- fi
-}
diff --git a/dev-lang/lua/lua-5.4.1.ebuild b/dev-lang/lua/lua-5.4.1-r1.ebuild
index d20880d9c820..898ba67e1e45 100644
--- a/dev-lang/lua/lua-5.4.1.ebuild
+++ b/dev-lang/lua/lua-5.4.1-r1.ebuild
@@ -48,10 +48,6 @@ src_prepare() {
sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die
- if ! use readline ; then
- sed -i -e '/#define LUA_USE_READLINE/d' src/luaconf.h || die
- fi
-
# Using dynamic linked lua is not recommended for performance
# reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
# Mainly, this is of concern if your arch is poor with GPRs, like x86
@@ -95,6 +91,7 @@ multilib_src_compile() {
local myCFLAGS=""
use deprecated && myCFLAGS="-DLUA_COMPAT_5_3"
+ use readline && myCFLAGS="-DLUA_USE_READLINE"
case "${CHOST}" in
*-mingw*) : ;;
@@ -193,7 +190,7 @@ src_test() {
pkg_postinst() {
if has_version "app-editor/emacs"; then
- if ! has_version "app-emacs/emacs-mode"; then
+ if ! has_version "app-emacs/lua-mode"; then
einfo "Install app-emacs/lua-mode for lua support for emacs"
fi
fi
diff --git a/dev-lang/luajit/Manifest b/dev-lang/luajit/Manifest
index 81fdf0181a28..bfd9c5c3b5b7 100644
--- a/dev-lang/luajit/Manifest
+++ b/dev-lang/luajit/Manifest
@@ -2,6 +2,6 @@ AUX CVE-2020-15890.patch 660 BLAKE2B ac615accba8c2d914ff9db2bd2306e1f37df6b35f95
AUX luajit-2-ldconfig.patch 1099 BLAKE2B f18beb00b703aa4fd5c6d959b72469c34fb67ba9dd1513831c36d5bdd21144457d70a58948bfc47660eadb130bb4f77d55858cd4e4b7c33860df749b22b727bd SHA512 a86be88b8cf65c5a11defeeb16dab92c7d3fe774b2ecd289d9485342236e14c99b78700082c024b703179b55aedeee98bef43d624af23673cfa7ac68a492c6b1
DIST LuaJIT-2.0.5.tar.gz 849845 BLAKE2B 961c8622e19b0e66a76a875cb46ad149cb2559b5af41f360dc41dd0d6bb924583e6477dd1329f67c2ac6ea4b8dc42c5e2f4d63ea49400aba4d9e7c7e85e4b085 SHA512 2636675602b4a060b0571c05220db2061dd2f38568e35b2be346a0f5e3128d87057d11d3d0d7567d8cc4e0817b5e4cf2c52a17a48065520962b157816465a9fe
DIST LuaJIT-2.1.0-beta3.tar.gz 1025180 BLAKE2B ac3d12e25bd9946ba41aed6672c66884e7256e6be99d7ee8d1260d697453c966b24d60387f278f47233bad44cda61085c9059e6f62c0bc7cfdaaefde282346c5 SHA512 c44e967a0f671ed32b55aee810bc8b3b63737a2d7363b8984ae1949b24f98dbb3f9be7c1e10239fdeb96a3e3c836f606342cbd61838cf9bcadb077443eb5bc12
-EBUILD luajit-2.0.5-r2.ebuild 1503 BLAKE2B ae88e870209a2887ec07b67f6494d9ef35df9bb1e03f4dab7df2fe6dbac1403d3db022427d8d51d24db86e4a89f3eccc3bb42e61fbf976029353fdff4ca3b395 SHA512 5efb5f0fb79c2ad3caa627c5b98916b8d572deed99ecaa34e41e7a257dd13e5bd5708f8499358b409e1d096dec3b1adc5fd3899a36195cd638934d6dc8bcf496
-EBUILD luajit-2.1.0_beta3-r1.ebuild 1247 BLAKE2B a6ce90048bcfd990ed3ae385fd49af67a34c841a76b060b01e35a8ead21331f61200621deb60beb95114872057ae2ca915e48f27bd439f9ec9cd3ea3a3b3c5d2 SHA512 bf77bf3c715357fe6bddc32f37c3f3dacc453dca53c245446aaab88f9afd5748e498f32d238004592bcff9e38f13b03a2cbcaadf3333e1c1bc2da0938282fc79
-MISC metadata.xml 429 BLAKE2B 548e36b00c4acfa2ec05cc3b07b59deaa3b0de8424813656333ff2c0113afb4f888bf95e4605f6a42c01926c6dcd0eeefc1b8815483fe479073aa1d231a98541 SHA512 2535c6675adae6718977d183375412d1504e6c299f4157f3a1dbeb36b1f68aa7352271223e9c631bbd8e3e9906d8f43cbcce2e694a4a44c62c3686bd0526317e
+EBUILD luajit-2.0.5-r3.ebuild 1665 BLAKE2B 940b2f3dfcf1c3de8cdec27cbae98ab6ac00c63a96adbf4cbc3e5834c0a8e061e6ef6ca215e64d8743b73c46909c46c58ca20ffc91f11639dcd7ebc1b704a7c6 SHA512 86f5092ba5c47d34fd94d6906bfefe1a5d5d5b322a29897eda81ddc92eeb330366fbbf6faa16b2c3368aa301a25995bc830e2d81493141970266276cfae1be4d
+EBUILD luajit-2.1.0_beta3-r2.ebuild 1428 BLAKE2B 1df90f99244388196d226cfa25a8e2e293815513c79d49347a38df92566c00721548a04dc915201bfbe902fa3bcebf83784056e58a25953f7f8bb0f424364631 SHA512 07775875628ae30756cf79a440fed219dda30058ebc4e2277926b20606da37f752a9802f4a6ecfa7493ae776e0860745b03d004af58573f011d6985b6fac72c4
+MISC metadata.xml 420 BLAKE2B f15c26c6e5888598c830aaae0e038cd8cc7c2188d51d0094f237df1c59fe6f19774aa97ecccc0e3d117f7be6476f60caf35858d5fa62a9fb4da343aa0b134ad3 SHA512 0fb1a4a107458096448a75298bbb36f0af16f302633dd290b2dbee5f0363a17d4157c3af311724ce1a982f6423d20e5fd0583eb9ccdb91ecf7b11f76b5d29a6e
diff --git a/dev-lang/luajit/luajit-2.0.5-r2.ebuild b/dev-lang/luajit/luajit-2.0.5-r3.ebuild
index d9fa1d7fbc36..5816d1feccfe 100644
--- a/dev-lang/luajit/luajit-2.0.5-r2.ebuild
+++ b/dev-lang/luajit/luajit-2.0.5-r3.ebuild
@@ -1,21 +1,21 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit pax-utils toolchain-funcs versionator
+inherit pax-utils toolchain-funcs
-MY_PV="$(get_version_component_range 1-3)"
+MY_PV="$(ver_cut 1-3)"
MY_P="LuaJIT-${MY_PV}"
-if [[ -n $(get_version_component_range 4) ]]; then
+if [[ -n $(ver_cut 4) ]]; then
HOTFIX="v${PV}"
HOTFIX="${HOTFIX/_p/_hotfix}.patch"
fi
DESCRIPTION="Just-In-Time Compiler for the Lua programming language"
-HOMEPAGE="http://luajit.org/"
-SRC_URI="http://luajit.org/download/${MY_P}.tar.gz
- ${HOTFIX:+http://luajit.org/download/${HOTFIX}}"
+HOMEPAGE="https://luajit.org/"
+SRC_URI="https://luajit.org/download/${MY_P}.tar.gz
+ ${HOTFIX:+https://luajit.org/download/${HOTFIX}}"
LICENSE="MIT"
# this should probably be pkgmoved to 2.0 for sake of consistency.
@@ -43,25 +43,32 @@ _emake() {
PREFIX="${EPREFIX}/usr" \
MULTILIB="$(get_libdir)" \
DESTDIR="${D}" \
+ CFLAGS="" \
+ LDFLAGS="" \
HOST_CC="$(tc-getBUILD_CC)" \
+ HOST_CFLAGS="${BUILD_CPPFLAGS} ${BUILD_CFLAGS}" \
+ HOST_LDFLAGS="${BUILD_LDFLAGS}" \
STATIC_CC="$(tc-getCC)" \
DYNAMIC_CC="$(tc-getCC) -fPIC" \
TARGET_LD="$(tc-getCC)" \
+ TARGET_CFLAGS="${CPPFLAGS} ${CFLAGS}" \
+ TARGET_LDFLAGS="${LDFLAGS}" \
TARGET_AR="$(tc-getAR) rcus" \
BUILDMODE="$(usex static-libs mixed dynamic)" \
TARGET_STRIP="true" \
- INSTALL_LIB="${ED%/}/usr/$(get_libdir)" \
+ INSTALL_LIB="${ED}/usr/$(get_libdir)" \
"$@"
}
src_compile() {
+ tc-export_build_env
_emake XCFLAGS="$(usex lua52compat "-DLUAJIT_ENABLE_LUA52COMPAT" "")"
}
src_install() {
_emake install
- pax-mark m "${ED}usr/bin/luajit-${MY_PV}"
+ pax-mark m "${ED}/usr/bin/luajit-${MY_PV}"
HTML_DOCS="doc/." einstalldocs
}
diff --git a/dev-lang/luajit/luajit-2.1.0_beta3-r1.ebuild b/dev-lang/luajit/luajit-2.1.0_beta3-r2.ebuild
index 104a81af7aae..ebfafe94fabf 100644
--- a/dev-lang/luajit/luajit-2.1.0_beta3-r1.ebuild
+++ b/dev-lang/luajit/luajit-2.1.0_beta3-r2.ebuild
@@ -1,17 +1,17 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit pax-utils toolchain-funcs versionator
+inherit pax-utils toolchain-funcs
-MY_PV="$(get_version_component_range 1-4)"
+MY_PV="$(ver_cut 1-5)"
MY_PV="${MY_PV/_beta/-beta}"
MY_P="LuaJIT-${MY_PV}"
DESCRIPTION="Just-In-Time Compiler for the Lua programming language"
-HOMEPAGE="http://luajit.org/"
-SRC_URI="http://luajit.org/download/${MY_P}.tar.gz"
+HOMEPAGE="https://luajit.org/"
+SRC_URI="https://luajit.org/download/${MY_P}.tar.gz"
LICENSE="MIT"
# this should probably be pkgmoved to 2.0 for sake of consistency.
@@ -32,25 +32,32 @@ _emake() {
PREFIX="${EPREFIX}/usr" \
MULTILIB="$(get_libdir)" \
DESTDIR="${D}" \
+ CFLAGS="" \
+ LDFLAGS="" \
HOST_CC="$(tc-getBUILD_CC)" \
+ HOST_CFLAGS="${BUILD_CPPFLAGS} ${BUILD_CFLAGS}" \
+ HOST_LDFLAGS="${BUILD_LDFLAGS}" \
STATIC_CC="$(tc-getCC)" \
DYNAMIC_CC="$(tc-getCC) -fPIC" \
TARGET_LD="$(tc-getCC)" \
+ TARGET_CFLAGS="${CPPFLAGS} ${CFLAGS}" \
+ TARGET_LDFLAGS="${LDFLAGS}" \
TARGET_AR="$(tc-getAR) rcus" \
BUILDMODE="$(usex static-libs mixed dynamic)" \
TARGET_STRIP="true" \
- INSTALL_LIB="${ED%/}/usr/$(get_libdir)" \
+ INSTALL_LIB="${ED}/usr/$(get_libdir)" \
"$@"
}
src_compile() {
+ tc-export_build_env
_emake XCFLAGS="$(usex lua52compat "-DLUAJIT_ENABLE_LUA52COMPAT" "")"
}
src_install() {
_emake install
- pax-mark m "${ED}usr/bin/luajit-${MY_PV}"
+ pax-mark m "${ED}/usr/bin/luajit-${MY_PV}"
HTML_DOCS="doc/." einstalldocs
}
diff --git a/dev-lang/luajit/metadata.xml b/dev-lang/luajit/metadata.xml
index 29897b942522..ef8e19ce5906 100644
--- a/dev-lang/luajit/metadata.xml
+++ b/dev-lang/luajit/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>rafaelmartins@gentoo.org</email>
- <name>Rafael G. Martins</name>
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
</maintainer>
<use>
<flag name="lua52compat">
diff --git a/dev-lang/moarvm/Manifest b/dev-lang/moarvm/Manifest
index 5ca34b1d6205..aae61005c157 100644
--- a/dev-lang/moarvm/Manifest
+++ b/dev-lang/moarvm/Manifest
@@ -4,11 +4,13 @@ DIST MoarVM-2020.07.tar.gz 5329508 BLAKE2B a761234baf88bfb5d8bc87e621822cd4cc1c1
DIST MoarVM-2020.08.tar.gz 5333410 BLAKE2B 4590576148d26c96eda390c9b66966b10205616b1920d6a7e259fa055240a5627fceb00399942eee512278dfd23cec90c5a1e79ee3f94cdad89e526b83c2888f SHA512 610ac56df2cd0da7b284e967fb2f626fa10583f66ef06d8c4368048883bea0627b5029c56e64fd7281e6e70c3f63ac26dcfa463d2145be83433a8e76226fcb3b
DIST MoarVM-2020.09.tar.gz 5361349 BLAKE2B 4846f7b44a238f6f2b40e829999c4939cb6cd6988ff11ae68dd2381db3144f2c7b7ec37dd71fa6749b4a0147e20224a801342e3ea8bf03dbd758012723468861 SHA512 3859e96e6861dc7bf3f64708db33bb9a761b7a7bc3a05655424d6c27010cf6f01e73066e26bff7256f58ed4044f9aee2f186c886a419c3d6aff23f75102f6c48
DIST MoarVM-2020.10.tar.gz 5362845 BLAKE2B 1486fbbe5407aaf010a2b929458750989820e62d9baadcf66ae97df55c93914639bc988ffe30055fee0a0b0f88f73d9de8d253e138b6d594581160d976831280 SHA512 5251d564909313ca7a660d462370e899d415cbd0b493da189abde952d80992c3e04525b2d8ae5066c9c4ea2c99860e38f9a8beaee4ea0d53d9b32973104fa7d3
-EBUILD moarvm-2020.05.ebuild 1449 BLAKE2B 3dcc1944336a20e4b6e8b18d98637fdd622e97f412b919bb5a1b776888343d640e0cd65ba27a2d7625b98a57bd9e16b68ed842fbe6f183274ac836a2615ffdda SHA512 fc8dfcfc740d3405afb1d314801bde022214bceecf455abce6bf6f845e1c6b24dc8f4012b169194fb0b75619f7a584f3323b797a2ad5d631a0b6bf52570dc454
-EBUILD moarvm-2020.06.ebuild 1479 BLAKE2B 0747e04c59b54236accef01241145daaf003eb635a1284c4388582e474a5ef115b7c41d3f4dac624270f76f652b0db9c42507f5518c93dcb30340ea00faa4248 SHA512 01b215366f478a759569b7bc020b68896fb0c575a464d933759a7a6851972647408872f241f4c120c21cdab28487798e9247d3c3d62ab1cf1ee409d51438a38c
-EBUILD moarvm-2020.07.ebuild 1479 BLAKE2B 0747e04c59b54236accef01241145daaf003eb635a1284c4388582e474a5ef115b7c41d3f4dac624270f76f652b0db9c42507f5518c93dcb30340ea00faa4248 SHA512 01b215366f478a759569b7bc020b68896fb0c575a464d933759a7a6851972647408872f241f4c120c21cdab28487798e9247d3c3d62ab1cf1ee409d51438a38c
-EBUILD moarvm-2020.08.ebuild 1479 BLAKE2B 0747e04c59b54236accef01241145daaf003eb635a1284c4388582e474a5ef115b7c41d3f4dac624270f76f652b0db9c42507f5518c93dcb30340ea00faa4248 SHA512 01b215366f478a759569b7bc020b68896fb0c575a464d933759a7a6851972647408872f241f4c120c21cdab28487798e9247d3c3d62ab1cf1ee409d51438a38c
-EBUILD moarvm-2020.09.ebuild 1479 BLAKE2B 0747e04c59b54236accef01241145daaf003eb635a1284c4388582e474a5ef115b7c41d3f4dac624270f76f652b0db9c42507f5518c93dcb30340ea00faa4248 SHA512 01b215366f478a759569b7bc020b68896fb0c575a464d933759a7a6851972647408872f241f4c120c21cdab28487798e9247d3c3d62ab1cf1ee409d51438a38c
-EBUILD moarvm-2020.10.ebuild 1479 BLAKE2B 0747e04c59b54236accef01241145daaf003eb635a1284c4388582e474a5ef115b7c41d3f4dac624270f76f652b0db9c42507f5518c93dcb30340ea00faa4248 SHA512 01b215366f478a759569b7bc020b68896fb0c575a464d933759a7a6851972647408872f241f4c120c21cdab28487798e9247d3c3d62ab1cf1ee409d51438a38c
-EBUILD moarvm-9999.ebuild 1766 BLAKE2B 98e959ef48122c6755807357cdc94121fdfa9a74589c22184fef8d1e38c390f40c8b1f829261f725c098def769387f719ef107cb3a60e9b0cb64f22678ff2eed SHA512 b9597b327311db5499a6dfd0ec8ed54acf09c07f75c2701c4d6265b2594ac325b2bc77c0396cc786f92b9322d513d7b3f32244cc57d5478ab4becef0c093e191
+DIST MoarVM-2020.11.tar.gz 5402860 BLAKE2B f29ec4a8f4979fd65adb24cbfbbed586b69d47dd1176770e1e0e46a8bc35ef90146bae468fd6e088cd19201ba7e43d43d486d569970a81a695d6b642f57c2417 SHA512 c3ffe128db43316f93ad19f2804cd963cd2613dc46ffd29b099a165f122f6e7fdf28ce0b6c226a31f44abaeca72468f6774c39ceac3cea992596e8ce042ae7a5
+EBUILD moarvm-2020.05.ebuild 1450 BLAKE2B 69eeacc8b1d00926b0091abca819dd1ddd0671b68932948229bb514e72d9162ddcd63caf60ad0ca04890a20f20c1a23f5e17c434c52f4905c9630b13013d9c8d SHA512 4c997a6e6ffcf5cc283a052c9f290d89792ddd4afd01da670d7f96f81d3b01ece1086a7586f8bf01b271e81bdb0dbc8d5718be8dab0472181f2bb1867d8e47d4
+EBUILD moarvm-2020.06.ebuild 1480 BLAKE2B cb4e8d2acb1a6f227e23be81e18b8085b6745bbe532878129f7a2f75a9ace9fe9f039bc9dbc80114b97fa91b44de5c6de52fbb63f1baeafb32f072b4ff1735ac SHA512 77513898ad1a24638b79fddc9d3b5439c7bdf809430cc355a1e0075111d2024e75935779f1daf878b41d717c3956ebcb52a8320c884939392c95f880ff9a6c00
+EBUILD moarvm-2020.07.ebuild 1480 BLAKE2B cb4e8d2acb1a6f227e23be81e18b8085b6745bbe532878129f7a2f75a9ace9fe9f039bc9dbc80114b97fa91b44de5c6de52fbb63f1baeafb32f072b4ff1735ac SHA512 77513898ad1a24638b79fddc9d3b5439c7bdf809430cc355a1e0075111d2024e75935779f1daf878b41d717c3956ebcb52a8320c884939392c95f880ff9a6c00
+EBUILD moarvm-2020.08.ebuild 1480 BLAKE2B cb4e8d2acb1a6f227e23be81e18b8085b6745bbe532878129f7a2f75a9ace9fe9f039bc9dbc80114b97fa91b44de5c6de52fbb63f1baeafb32f072b4ff1735ac SHA512 77513898ad1a24638b79fddc9d3b5439c7bdf809430cc355a1e0075111d2024e75935779f1daf878b41d717c3956ebcb52a8320c884939392c95f880ff9a6c00
+EBUILD moarvm-2020.09.ebuild 1480 BLAKE2B cb4e8d2acb1a6f227e23be81e18b8085b6745bbe532878129f7a2f75a9ace9fe9f039bc9dbc80114b97fa91b44de5c6de52fbb63f1baeafb32f072b4ff1735ac SHA512 77513898ad1a24638b79fddc9d3b5439c7bdf809430cc355a1e0075111d2024e75935779f1daf878b41d717c3956ebcb52a8320c884939392c95f880ff9a6c00
+EBUILD moarvm-2020.10.ebuild 1480 BLAKE2B cb4e8d2acb1a6f227e23be81e18b8085b6745bbe532878129f7a2f75a9ace9fe9f039bc9dbc80114b97fa91b44de5c6de52fbb63f1baeafb32f072b4ff1735ac SHA512 77513898ad1a24638b79fddc9d3b5439c7bdf809430cc355a1e0075111d2024e75935779f1daf878b41d717c3956ebcb52a8320c884939392c95f880ff9a6c00
+EBUILD moarvm-2020.11.ebuild 1462 BLAKE2B edad2d56a35cbee9eed5d56be143c5adfcdccf0a3f8a79ccbb27a9cebaf13600d382e2ec33cbd6b9b6ca977da900e2534c07a6f9817289d37eee703a5a85933b SHA512 7dc335cdb837c879c5348a03b295ef02d2794cdbfb8b152536ec2c31e0504d476894d8a2b96fb60711d2595e011c198d928b53bea407edec356c69bc55066b7b
+EBUILD moarvm-9999.ebuild 1749 BLAKE2B 397154f5112030d9ee7a68a4334cec1d87df77b646da23ef92cfee881579aad59494d439beae2f0908159eb4fe20c1435e85815b87c71879c0ce1dccb800f0d1 SHA512 50a456d4e358784a13ffe62361c5394d946880b48d43d9acc8e5bc25d9d7f8a2795fabd49f15c057601433789438a4652bb616acb18c932dfff866be100887b2
MISC metadata.xml 920 BLAKE2B dc15290595649a4f4c514f26cd219c3d8a97bb589fedac8cca202b64abe49f6851fe50d24f95f82c0dd61d183ed1f4091a4fb0f500e8f89a9b91dd7e932cc1ff SHA512 9250682955318d688f59e27b740e1b04095a85f036578d8fe2a2eeb31e159e34845a191734ba4997034dca80a32e29c8f4a0658b9a76ea78ff5fb4479124696b
diff --git a/dev-lang/moarvm/moarvm-2020.05.ebuild b/dev-lang/moarvm/moarvm-2020.05.ebuild
index f49f317b161e..02948c1eaebd 100644
--- a/dev-lang/moarvm/moarvm-2020.05.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.05.ebuild
@@ -27,7 +27,7 @@ IUSE="asan clang debug doc +jit static-libs ubsan"
RDEPEND="dev-libs/libatomic_ops
>=dev-libs/libuv-1.26
- dev-lang/lua:=
+ dev-lang/lua:0=
dev-libs/libffi"
DEPEND="${RDEPEND}
clang? ( >=sys-devel/clang-3.1 )
diff --git a/dev-lang/moarvm/moarvm-2020.06.ebuild b/dev-lang/moarvm/moarvm-2020.06.ebuild
index 96e569caebe5..8e60e5d5cdcc 100644
--- a/dev-lang/moarvm/moarvm-2020.06.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.06.ebuild
@@ -26,7 +26,7 @@ IUSE="asan clang debug doc +jit optimize static-libs ubsan"
RDEPEND="dev-libs/libatomic_ops
>=dev-libs/libuv-1.26
- dev-lang/lua:=
+ dev-lang/lua:0=
dev-libs/libffi"
DEPEND="${RDEPEND}
clang? ( >=sys-devel/clang-3.1 )
diff --git a/dev-lang/moarvm/moarvm-2020.07.ebuild b/dev-lang/moarvm/moarvm-2020.07.ebuild
index 96e569caebe5..8e60e5d5cdcc 100644
--- a/dev-lang/moarvm/moarvm-2020.07.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.07.ebuild
@@ -26,7 +26,7 @@ IUSE="asan clang debug doc +jit optimize static-libs ubsan"
RDEPEND="dev-libs/libatomic_ops
>=dev-libs/libuv-1.26
- dev-lang/lua:=
+ dev-lang/lua:0=
dev-libs/libffi"
DEPEND="${RDEPEND}
clang? ( >=sys-devel/clang-3.1 )
diff --git a/dev-lang/moarvm/moarvm-2020.08.ebuild b/dev-lang/moarvm/moarvm-2020.08.ebuild
index 96e569caebe5..8e60e5d5cdcc 100644
--- a/dev-lang/moarvm/moarvm-2020.08.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.08.ebuild
@@ -26,7 +26,7 @@ IUSE="asan clang debug doc +jit optimize static-libs ubsan"
RDEPEND="dev-libs/libatomic_ops
>=dev-libs/libuv-1.26
- dev-lang/lua:=
+ dev-lang/lua:0=
dev-libs/libffi"
DEPEND="${RDEPEND}
clang? ( >=sys-devel/clang-3.1 )
diff --git a/dev-lang/moarvm/moarvm-2020.09.ebuild b/dev-lang/moarvm/moarvm-2020.09.ebuild
index 96e569caebe5..8e60e5d5cdcc 100644
--- a/dev-lang/moarvm/moarvm-2020.09.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.09.ebuild
@@ -26,7 +26,7 @@ IUSE="asan clang debug doc +jit optimize static-libs ubsan"
RDEPEND="dev-libs/libatomic_ops
>=dev-libs/libuv-1.26
- dev-lang/lua:=
+ dev-lang/lua:0=
dev-libs/libffi"
DEPEND="${RDEPEND}
clang? ( >=sys-devel/clang-3.1 )
diff --git a/dev-lang/moarvm/moarvm-2020.10.ebuild b/dev-lang/moarvm/moarvm-2020.10.ebuild
index 96e569caebe5..8e60e5d5cdcc 100644
--- a/dev-lang/moarvm/moarvm-2020.10.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.10.ebuild
@@ -26,7 +26,7 @@ IUSE="asan clang debug doc +jit optimize static-libs ubsan"
RDEPEND="dev-libs/libatomic_ops
>=dev-libs/libuv-1.26
- dev-lang/lua:=
+ dev-lang/lua:0=
dev-libs/libffi"
DEPEND="${RDEPEND}
clang? ( >=sys-devel/clang-3.1 )
diff --git a/dev-lang/moarvm/moarvm-2020.11.ebuild b/dev-lang/moarvm/moarvm-2020.11.ebuild
new file mode 100644
index 000000000000..05561a98ca21
--- /dev/null
+++ b/dev-lang/moarvm/moarvm-2020.11.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic
+
+MY_PN="MoarVM"
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+ S="${WORKDIR}/${P}"
+else
+ SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${MY_PN}-${PV}"
+fi
+
+DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
+HOMEPAGE="http://moarvm.org"
+LICENSE="Artistic-2"
+SLOT="0"
+
+IUSE="asan clang debug doc +jit optimize static-libs ubsan"
+
+RDEPEND="dev-libs/libatomic_ops
+ >=dev-libs/libuv-1.26
+ dev-libs/libffi"
+DEPEND="${RDEPEND}
+ clang? ( >=sys-devel/clang-3.1 )
+ dev-lang/perl"
+
+DOCS=( CREDITS README.markdown )
+
+# Tests are conducted via nqp
+RESTRICT=test
+
+src_configure() {
+ MAKEOPTS+=" NOISY=1"
+ use doc && DOCS+=( docs/* )
+ local prefix="${EPREFIX}/usr"
+ local libdir="${EPREFIX}/usr/$(get_libdir)"
+ einfo "--prefix '${prefix}'"
+ einfo "--libdir '${libdir}'"
+ local myconfigargs=(
+ "--prefix" "${prefix}"
+ "--has-libuv"
+ "--has-libatomic_ops"
+ "--has-libffi"
+ "--libdir" "${libdir}"
+ "--compiler" "$(usex clang clang gcc)"
+ "$(usex asan --asan)"
+ "$(usex debug --debug --no-debug)"
+ "$(usex optimize --optimize= --no-optimize)"
+ "$(usex static-libs --static)"
+ "$(usex ubsan --ubsan)"
+ )
+
+ perl Configure.pl "${myconfigargs[@]}" moarshared || die
+}
diff --git a/dev-lang/moarvm/moarvm-9999.ebuild b/dev-lang/moarvm/moarvm-9999.ebuild
index 7aedf165b1ac..cd8b0916bf63 100644
--- a/dev-lang/moarvm/moarvm-9999.ebuild
+++ b/dev-lang/moarvm/moarvm-9999.ebuild
@@ -26,7 +26,6 @@ IUSE="asan clang debug doc static-libs optimize ubsan"
RDEPEND="dev-libs/libatomic_ops
>=dev-libs/libuv-1.26
- dev-lang/lua:=
dev-libs/libffi"
DEPEND="${RDEPEND}"
BDEPEND="${RDEPEND}
diff --git a/dev-lang/nim/Manifest b/dev-lang/nim/Manifest
index 2543737eb878..0290f01ab40f 100644
--- a/dev-lang/nim/Manifest
+++ b/dev-lang/nim/Manifest
@@ -1,4 +1,4 @@
AUX nim-0.20.0-paths.patch 934 BLAKE2B 6a4e44c5656cde6d5127bf6a6b8db92cdf8aada0892c27d536d0c1030ed7da8dc97138a8941030101918021f2a301fa683169c8a656fefc6fb7d0fcdb24029d4 SHA512 bf8dbc3e3861ec3ea2718092b981e495194ead5b547e69d01d5d842d128dc4b96b0ba3e95c78afd8fd822d594199315a01de370851ed8f594c091231b9a10ee9
-DIST nim-1.4.0.tar.xz 4626604 BLAKE2B 09417508b840d4cb522006f0dddd8799cb235db5f4e2f18fdf970ffa4d845998e498c005843cc994e15f8bea992b5341c8bce667208c68bf81ce3f5e650627bc SHA512 aa0cd5aef16ad5e793dc2c021404c1f0b89b35829f155ada4c0795d980de722493fb4e3da45373e6f2597b5af71140f5ecdfd5b06aa26e9afd2eb5d3f2cab8df
-EBUILD nim-1.4.0.ebuild 2051 BLAKE2B 01ee582270224a4e85a4aa59c3a79e46dabb7368c4799d7f30238d39e04748d00e0dbb6caaae21df6a211596255ce0435656c1daa4c29cf12a66af78face2171 SHA512 c25b103507232c08e575f317379c23cfa68370dd008d87c3c2890497cafd0413e32a1f9734defaebae6d1a2541c03a0263a51056932a28a11a651b9fe8ed7fd9
+DIST nim-1.4.2.tar.xz 4770616 BLAKE2B 95561a22fedaa1eb42f099589b7b13e6833d1804d1d9bf8c4ec6514a4db89622d7f678b19ce9bed1c3ac5dffa3956b73e6b12fa6335f8e39a8b0dee90ae50457 SHA512 a357eaa5ef6c71b296fe6c53ed25be8b864a2895871a4ef6f23f2d31ce1c17d6dfb12eaf2bb8e71d122b7cf46746873109f424388ac2b6e84826699c1c5493fe
+EBUILD nim-1.4.2.ebuild 1908 BLAKE2B ec603e5a6a5a5f7d9e4ae9ea515433f9a9f797429a77fb7d36931b47c02aafac13def0fc3f449b6d55eb8b39e1a20deff824ed676002384d34c326c800ade5c7 SHA512 40d49629410af196234b94334cffde8e4ca54ddc6dc385c844d56630bbb215f504b3dff8f395d329aca124e7861d206f0d51e81924a336d47e5c86e64db15bfa
MISC metadata.xml 328 BLAKE2B 9205920d8c9b12118456bd186f2e882b3e6f75b7cc3f766def1e79e2e4f7ac695370409ff1555e379516606568f181f4ba3625322f70e41bfffd21d319b0035f SHA512 bf02bc0a8c25d6e157b7ab1ef87c2eac3241d42bc4cf0632a159dcb5d429051018848be81d0cbce228124660ced8694f5de48d64fe10bc7ff5b536b7e7579e49
diff --git a/dev-lang/nim/nim-1.4.0.ebuild b/dev-lang/nim/nim-1.4.2.ebuild
index 61c6fc1c860f..9a273afb6271 100644
--- a/dev-lang/nim/nim-1.4.0.ebuild
+++ b/dev-lang/nim/nim-1.4.2.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://nim-lang.org/download/${P}.tar.xz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
-IUSE="doc +readline test"
+IUSE="+readline test"
RESTRICT=test # need to sort out depends and numerous failures
@@ -45,6 +45,8 @@ src_configure() {
# Override default CC=gcc.
echo "gcc.exe = \"$(tc-getCC)\"" >> config/nim.cfg || die
echo "gcc.linkerexe = \"$(tc-getCC)\"" >> config/nim.cfg || die
+ echo "gcc.cpp.exe = \"$(tc-getCXX)\"" >> config/nim.cfg || die
+ echo "gcc.cpp.linkerexe = \"$(tc-getCXX)\"" >> config/nim.cfg || die
}
src_compile() {
@@ -53,13 +55,7 @@ src_compile() {
_run ./bin/nim --parallelBuild:$(makeopts_jobs) c koch
_run ./koch boot --parallelBuild:$(makeopts_jobs) -d:release $(nim_use_enable readline useGnuReadline)
- # --stable to avoid pulling HEAD, toolsNoExternal to avoid pulling nimble from git
- PATH="./bin:$PATH" _run ./koch --stable toolsNoExternal --parallelBuild:$(makeopts_jobs)
-
- if use doc; then
- # TODO: '--parallelBuild:' does ont seem to work
- PATH="./bin:$PATH" _run ./koch doc --parallelBuild:$(makeopts_jobs)
- fi
+ PATH="./bin:$PATH" _run ./koch tools --parallelBuild:$(makeopts_jobs)
}
src_test() {
@@ -80,6 +76,5 @@ src_install() {
doexe "${bin_exe}"
done
- use doc && dodoc doc/html/*.html
newbashcomp tools/nim.bash-completion ${PN}
}
diff --git a/dev-lang/nqp/Manifest b/dev-lang/nqp/Manifest
index 34439982c839..1022d15d16ea 100644
--- a/dev-lang/nqp/Manifest
+++ b/dev-lang/nqp/Manifest
@@ -4,11 +4,13 @@ DIST nqp-2020.07.tar.gz 3949070 BLAKE2B 194cd52dabe307dab41bec8508a28d00f05c043c
DIST nqp-2020.08.tar.gz 3951313 BLAKE2B 0eda6b50268cd4faf49a7311e4d94d9846e223072a54d0ce5c4b2095abe47645924ce6a256edafd6301380ca99b8268a97551cbc6013210e9058713d5a8b1321 SHA512 6acc8d4b443b67a2731d30b4ed81c3ff654189dc51c463d7e4f30ca1a2ac4791b3393238b6370f8bc915278ecdb1bbc403427eb2292b41717ec7d01605a3de4b
DIST nqp-2020.09.tar.gz 3951646 BLAKE2B 9ec1d121f9dc276ad52ea22d43fb24fefeda009f648b64f330669d7f9aaaef599522cca708b3671f982969cba0a1346cc078c55c98247545408b3a929899edd1 SHA512 dcebf63ea062c0fec95d701b1f20c492c845060599f4524fa87758ce5f8e52f6eae9a409c31b238783285f30a497acffd97242dc2ca7fbe4b8dd20291104b261
DIST nqp-2020.10.tar.gz 3954398 BLAKE2B 5c44a20c3696bb596bd1d3088fba8db8c63ce6e612f00c2d24456dc7d908b12a214b4bde7e4e79505c39f6237a6f91578de47778185fa6cc3b6287c90e6c370e SHA512 279715fa0b2012852cc31b9e7898092510a1ba76005576a3ffe38f9dc8e9c002a4161be8f0b66e38c501e656a8124a320dbf2c90c89f53e57d0950e1baa1ea2b
+DIST nqp-2020.11.tar.gz 3954688 BLAKE2B d273c78c8f2083908b2815dc10787fec31404eb13c1e64253e7e5ae896d27a3755cf5c8045d47c4f465178568731e0d74951db6e45d103cf3ee18470124e97e0 SHA512 51b5e7f9d290bca7ada24cf9c12c61608be92269fc848976cada49f7445694e0f26929b5f9e90a9153eb379f0d74a6bb8068cd5ebf383d4501f75535b70e7605
EBUILD nqp-2020.05.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
EBUILD nqp-2020.06.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
EBUILD nqp-2020.07.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
EBUILD nqp-2020.08.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
EBUILD nqp-2020.09.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
EBUILD nqp-2020.10.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
+EBUILD nqp-2020.11.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
EBUILD nqp-9999.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
MISC metadata.xml 634 BLAKE2B 1ef5daf7c995ddad1df4b2c7d33ecfc7a4cd146cb518314f88d58e370ede9e986bb47747b10952cf0ee6d587fe5925ba5b0086006182f3e16bd114d49e1a0f3a SHA512 a093877d22e76bbbced97c7752ed76d6aa110eb8d0676f97ae3d38ad79ab7b8ba770243b64e618b588faebf179713813fe6fc8ec7371c695c9f0979f6bce3dc0
diff --git a/dev-lang/nqp/nqp-2020.11.ebuild b/dev-lang/nqp/nqp-2020.11.ebuild
new file mode 100644
index 000000000000..c41412d388c5
--- /dev/null
+++ b/dev-lang/nqp/nqp-2020.11.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit java-pkg-opt-2 multibuild
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/perl6/${PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
+HOMEPAGE="https://rakudo.org"
+
+LICENSE="Artistic-2"
+SLOT="0"
+IUSE="doc clang java +moar test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="|| ( java moar )"
+
+CDEPEND="java? (
+ dev-java/asm:4
+ dev-java/jline:0
+ dev-java/jna:4
+ )
+ moar? ( ~dev-lang/moarvm-${PV}[clang=] )"
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.8 )"
+DEPEND="${CDEPEND}"
+BDEPEND="${CDEPEND}
+ clang? ( sys-devel/clang )
+ java? ( >=virtual/jdk-1.8 )
+ dev-lang/perl"
+
+pkg_pretend() {
+ if has_version dev-lang/rakudo || has_version dev-lang/nqp; then
+ ewarn "NQP is known to fail compilation/installation with Rakudo and/or NQP"
+ ewarn "already being installed. So if it fails, try uninstalling both"
+ ewarn "dev-lang/nqp and dev-lang/rakudo, then do a new installation."
+ ewarn "(see Bug #584394)"
+ fi
+}
+
+java_prepare() {
+ # Don't clean stage0 jars.
+ einfo "Cleaning upstream jars"
+ java-pkg_clean 3rdparty/
+
+ # Don't use jars we just deleted.
+ sed -i -r 's/(:3rdparty[^:]*)+/:${THIRDPARTY_JARS}/g' \
+ src/vm/jvm/runners/nqp-j || die
+}
+
+src_prepare() {
+ MULTIBUILD_VARIANTS=()
+ use moar && MULTIBUILD_VARIANTS+=( moar )
+ use java && MULTIBUILD_VARIANTS+=( jvm )
+
+ multibuild_copy_sources
+
+ # This will pull in conditional java_prepare
+ default
+}
+
+nqp_configure() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+ local myconfargs=(
+ "--backend=${MULTIBUILD_VARIANT}"
+ "--prefix=${EPREFIX}/usr" )
+
+ perl Configure.pl "${myconfargs[@]}" || die
+ popd || die
+}
+
+nqp_compile() {
+ if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then
+ emake -j1 \
+ -C "${BUILD_DIR}" \
+ THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \
+ JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
+ elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then
+ emake -j1 \
+ -C "${BUILD_DIR}"
+ fi
+}
+
+nqp_test() {
+ emake -j1 \
+ -C "${BUILD_DIR}" \
+ test
+}
+
+nqp_install() {
+ # This is the actual reason we need multibuild.eclass.
+ # We need to distinguish the install procedure for MoarVM and JVM backends.
+ case "${MULTIBUILD_VARIANT}" in
+ moar)
+ emake \
+ DESTDIR="${ED}" \
+ -C "${BUILD_DIR}" \
+ install
+ ;;
+ jvm)
+ pushd "${BUILD_DIR}" > /dev/null || die
+ # Set JAVA_PKG_JARDEST early.
+ java-pkg_init_paths_
+
+ # Upstream sets the classpath to this location. Perhaps it's
+ # used to locate the additional libraries?
+ java-pkg_addcp "${JAVA_PKG_JARDEST}"
+
+ insinto "${JAVA_PKG_JARDEST}"
+ local jar
+
+ for jar in *.jar; do
+ if has ${jar} ${PN}.jar ${PN}-runtime.jar; then
+ # jars for NQP itself.
+ java-pkg_dojar ${jar}
+ else
+ # jars used by NQP.
+ doins ${jar}
+ fi
+ done
+
+ # Upstream uses -Xbootclasspath/a, which is faster due to lack
+ # of verification, but gjl isn't flexible enough yet. :(
+ java-pkg_dolauncher ${PN}-j --main ${PN}
+ dosym ${PN}-j /usr/bin/${PN}
+ dobin tools/jvm/eval-client.pl
+ popd > /dev/null || die
+ ;;
+ *)
+ die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}."
+ ;;
+ esac
+}
+
+src_configure() {
+ multibuild_foreach_variant nqp_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant nqp_compile
+}
+
+src_test() {
+ multibuild_foreach_variant nqp_test
+}
+
+src_install() {
+ multibuild_foreach_variant nqp_install
+
+ dodoc CREDITS README.pod
+ use doc && dodoc -r docs/*
+}
diff --git a/dev-lang/nwcc/Manifest b/dev-lang/nwcc/Manifest
index dc5d02cbab7d..1ade6ce1a0e4 100644
--- a/dev-lang/nwcc/Manifest
+++ b/dev-lang/nwcc/Manifest
@@ -1,5 +1,3 @@
-DIST nwcc_0.8.2.tar.gz 948656 BLAKE2B d7736f538009b2941bfbb7278b2905225a88d402d2c640568ab2d777572d2b5790383f9e629f0880cd509915ea1005b54d5a1d99a153b482c34904d8f58fa597 SHA512 b399baf16a41ae3782343521fc65b8e94bf76dc0a29719a3addc33881bd0d9dd68170f0e7eb2c79aaafa3ced254fac15847883a38d4a5956280fa5fed10d24e0
DIST nwcc_0.8.3.tar.gz 954946 BLAKE2B 260ed49d247b7b84e392525db2b61e84a439eab2d0aad2efb93ddef1adf620084a8ec44713bd75216c2f9db30c04715b74d208d45465b700556bda2df6c6fd29 SHA512 f6af50bd18e13070b512bfac6659f49d10d3ad65ea2c4c5ca3f199c8b87540ec145c7dbbe97272f48903ca1c8afaf58c146ec763c851da0b352d5980746f94f6
-EBUILD nwcc-0.8.2.ebuild 519 BLAKE2B febc03cb4d7757210d1a6dd271a104c8209c6e46e58a11ee01b18be48d6541c99895dc27b59664407e1c1606fdd73f1f5031820855e45a586246e3e8876080d3 SHA512 05d71f5d22bbe575e71dc79dd2645acc6adea014528522a5eedd13c89d1518d7be985cdf62fd9d43b087618658b840cfc228e2e3cc4e49259f5e623e76a0fd9e
EBUILD nwcc-0.8.3.ebuild 519 BLAKE2B b643d368b57894910b5f69a3f7a6e621774b03950433c2b20cf1e4161b293e670772f7ddf5e6b044a4778f92dca7269289c2a51c8db52186ce6a3f044a4470e8 SHA512 7679de83f3a7ab1b639f4e9df2a33d4d99e9c3b3302c4dc477188c246c694f62e66144442971d49a84cfa47fcb2bb416f39a611255ad4805f4626cadda9952ff
MISC metadata.xml 321 BLAKE2B 2b3e32e0d994ba4483692d7da5a9a61edea07bb2825965cfed717d68351d896bfbeafe0142745a2c235667e605c52e1ae9c8d168e9f2d2414407a9153b33f7bf SHA512 ceb01fe0e057df4185588d4700fec480de1f44de27effe07ae1cd4a414667a6da2bf4586f17afa5601ecb6083d43753664b0a08fd4354a65a0ce55a23b620123
diff --git a/dev-lang/nwcc/nwcc-0.8.2.ebuild b/dev-lang/nwcc/nwcc-0.8.2.ebuild
deleted file mode 100644
index 10d2f3f3d7db..000000000000
--- a/dev-lang/nwcc/nwcc-0.8.2.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-MY_P="${PN}_${PV}"
-
-DESCRIPTION="Nils Weller's C Compiler"
-HOMEPAGE="http://nwcc.sourceforge.net/index.html"
-SRC_URI="http://downloads.sourceforge.net/project/${PN}/${PN}/nwcc%200.8.2/${MY_P}.tar.gz"
-SLOT="0"
-LICENSE="BSD-2"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-src_configure() {
- # custom hackery hack
- ABI="" ./configure --installprefix=/usr || die
-}
diff --git a/dev-lang/parrot/Manifest b/dev-lang/parrot/Manifest
index 29e0e77e96a4..6b1c50045061 100644
--- a/dev-lang/parrot/Manifest
+++ b/dev-lang/parrot/Manifest
@@ -1,10 +1,3 @@
-DIST parrot-7.1.0.tar.gz 4688341 BLAKE2B 1b1f894d0a54a11044ae8069d6f79509f2a0c6c6f66051e0f3fdc9ad8f3177cfde0947965b1586e8dd13cc26047c8987b11030aa8156e6324be2ce061f5fa90d SHA512 b7d261e82934aa84b3d93b2e68b3eb0f13dea684665ca2448a0e2139aa6676c1ff2da1a8056332a7f2538bee6158953be5bceed0ac8a9b277827ec7bcba46cb8
-DIST parrot-7.11.0.tar.gz 4703987 BLAKE2B d832ce0225af6d86877ab775a773971484d1c17c6c517310536b10df05cbf30cba909439e59dda1a14d8688fe3bf0318ea5dc84a552dd3b3e7129ce0b2eb4f9b SHA512 6f321a7d92b43413bc8cf2d2a03378e27de49573968471ad833232f90f0b61eae81626a80be94d84a783153c5beca3ba57c31fcc861b8b3c6cd33cd2d433a19a
-DIST parrot-7.5.0.tar.gz 4693149 BLAKE2B d5e88d5dedb3f95348d7b7bfeb1230251a866be5d4ada46ed5b4b80398227b6351566a07fdb6d7f8866bb69e39dde58b8c3ba707fd2737e70839eab0898c1bd0 SHA512 6c009dec6bdb9f419b20f3bb6c103b16018b27b2ed0094f13c957f66d9735cfc126c15f787d4ce577cd0c6492d61264c35c23d50ab29517b65f00df7c4b4d619
DIST parrot-8.1.0.tar.gz 4700495 BLAKE2B a90cd3c43be2a6812eaf5a5881cfd97e7011b5b82234c5eaf61e54cba923544a2f2c649387afe55d4e710a1e92ff31b1d32454a230fda6005b40778598f1915e SHA512 f5c4ffeb22a8f4949081ba9d98e3129eb067f6f0ed139248ca1d521570ccbada5dfa69ca2e390868a00ed275780552a5cd06eb271ff14ff753bf8375b7c658c2
-EBUILD parrot-7.1.0-r1.ebuild 2285 BLAKE2B 5a8f77c15036fb9e66ade6ac606ddc62ac4acd4dafb5c9562768a9c9f72c62a0d3748667334b89bf962da3a04c0033e8cd81bb6b27236032addcdb33ca127c97 SHA512 78b68df2f7a3b5772e0d7610825dc5daf2cb9210abdf5da5bbf51a2ee9826f346b2ef43b7fbf61c23ae6357424bbfdd36b4c187448eee925a55c78147c011e8a
-EBUILD parrot-7.11.0-r1.ebuild 2286 BLAKE2B b3d245a4736f5ad225d2ce3fdfe20a90dcff81b65e2ba62945ab11fc551747b6623a4cce1ecb76607e1f2b129963ef6cffe41b223f14a564f43edf6130c32692 SHA512 b46a250f6fa6f684583386002f313b95097c0ac40a326822f340b331c6526747b924b57bb7043fa9c2c7bad28916e602d1ee8e9a8c5fd76ddeb69ccefbbaffbe
-EBUILD parrot-7.5.0-r1.ebuild 2286 BLAKE2B b3d245a4736f5ad225d2ce3fdfe20a90dcff81b65e2ba62945ab11fc551747b6623a4cce1ecb76607e1f2b129963ef6cffe41b223f14a564f43edf6130c32692 SHA512 b46a250f6fa6f684583386002f313b95097c0ac40a326822f340b331c6526747b924b57bb7043fa9c2c7bad28916e602d1ee8e9a8c5fd76ddeb69ccefbbaffbe
-EBUILD parrot-8.1.0-r1.ebuild 2306 BLAKE2B b5e6d9ce521ce294deff577ed109ed437bdcd73b0f7347ddcefdef50dad0829184845022aeaa2332527cfb80efa457ff6ee96b02e0dd00662925000f569516ec SHA512 5b8ea388b28cda1ffdf729b63f55645e4ae2e945920fbb0dcf890e99304395fa689deceeace270c9104c0973166a883000b168b2b41e41ba77b1649fdaa307d5
EBUILD parrot-8.1.0-r2.ebuild 2509 BLAKE2B 15e333e37e9219ec6184d57cd70378a1efa2d27ba36671da66b7c6419ef72728df8c3a0b9dd4c476a33f0879b59bfa27d5dbf44b486ecf47ce05b68d18d9daeb SHA512 537cd929ac3a8238efd60b35acbbd30eb287d31f3c50de27a85f8fc7f73a1d02155c6445413d108fd94540212765bf83daae4d82eaac69a62a6b511ae4113c53
MISC metadata.xml 247 BLAKE2B d94a568c950df425b54d5f8ce29c206c221f01e64654597f2d4a0f7bc86ea508797045e3fb6eb14bb8a2aadec08995d877434d85dc9e622fc6207d2df28b23c2 SHA512 9bd9ddeb07e0644027c9a1dca33f0704de6062bc6b17333adde82a177991f35265f90e1b623e3a6288fedd729597921f48e4fda17fb8d402b1b2f3fc73c6d693
diff --git a/dev-lang/parrot/parrot-7.1.0-r1.ebuild b/dev-lang/parrot/parrot-7.1.0-r1.ebuild
deleted file mode 100644
index 4c68d410926e..000000000000
--- a/dev-lang/parrot/parrot-7.1.0-r1.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib
-
-# weird failures
-RESTRICT="test"
-
-DESCRIPTION="Virtual machine designed to compile and execute bytecode for dynamic languages"
-HOMEPAGE="http://www.parrot.org/"
-SRC_URI="ftp://ftp.parrot.org/pub/parrot/releases/all/${PV}/${P}.tar.gz"
-
-LICENSE="Artistic-2"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="opengl nls doc examples gdbm gmp ssl +unicode pcre"
-
-RDEPEND="sys-libs/readline:0=
- dev-libs/libffi
- opengl? ( media-libs/freeglut )
- nls? ( sys-devel/gettext )
- unicode? ( >=dev-libs/icu-2.6:= )
- gdbm? ( >=sys-libs/gdbm-1.8.3-r1 )
- gmp? ( >=dev-libs/gmp-4.1.4:0= )
- ssl? ( dev-libs/openssl:0= )
- pcre? ( dev-libs/libpcre )
- doc? ( dev-perl/JSON )"
-
-DEPEND="dev-lang/perl[doc?]
- ${RDEPEND}"
-
-src_configure() {
- myconf="--disable-rpath"
- use unicode || myconf+=" --without-icu"
- use ssl || myconf+=" --without-crypto"
- use gdbm || myconf+=" --without-gdbm"
- use nls || myconf+=" --without-gettext"
- use gmp || myconf+=" --without-gmp"
- use opengl || myconf+=" --without-opengl"
- use pcre || myconf+=" --without-pcre"
-
- perl Configure.pl \
- --ccflags="${CFLAGS}" \
- --linkflags="${LDFLAGS}" \
- --prefix="${EPREFIX}"/usr \
- --libdir="${EPREFIX}"/usr/$(get_libdir) \
- --mandir="${EPREFIX}"/usr/share/man \
- --sysconfdir="${EPREFIX}"/etc \
- --sharedstatedir="${EPREFIX}"/var/lib/parrot \
- $myconf || die
-}
-
-src_compile() {
- export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}"${S}"/blib/lib
- # occasionally dies in parallel make
- emake -j1
- if use doc ; then
- emake -j1 html
- fi
-}
-
-src_test() {
- emake -j1 test
-}
-
-src_install() {
- emake -j1 install-dev DESTDIR="${D}" DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
- dodoc CREDITS DONORS.pod PBC_COMPAT PLATFORMS RESPONSIBLE_PARTIES TODO
- dosym parrot-ops2c /usr/bin/ops2c
- if use examples; then
- insinto "/usr/share/doc/${PF}/examples"
- doins -r examples/*
- fi
- if use doc; then
- insinto "/usr/share/doc/${PF}/editor"
- doins -r editor
- cd docs/html
- dohtml -r developer.html DONORS.pod.html index.html ops.html parrotbug.html pdds.html \
- pmc.html tools.html docs src tools || die
- fi
-}
diff --git a/dev-lang/parrot/parrot-7.11.0-r1.ebuild b/dev-lang/parrot/parrot-7.11.0-r1.ebuild
deleted file mode 100644
index fe5c23fecbf8..000000000000
--- a/dev-lang/parrot/parrot-7.11.0-r1.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib
-
-# weird failures
-RESTRICT="test"
-
-DESCRIPTION="Virtual machine designed to compile and execute bytecode for dynamic languages"
-HOMEPAGE="http://www.parrot.org/"
-SRC_URI="ftp://ftp.parrot.org/pub/parrot/releases/all/${PV}/${P}.tar.gz"
-
-LICENSE="Artistic-2"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="opengl nls doc examples gdbm +gmp ssl +unicode pcre"
-
-RDEPEND="sys-libs/readline:0=
- dev-libs/libffi
- opengl? ( media-libs/freeglut )
- nls? ( sys-devel/gettext )
- unicode? ( >=dev-libs/icu-2.6:= )
- gdbm? ( >=sys-libs/gdbm-1.8.3-r1 )
- gmp? ( >=dev-libs/gmp-4.1.4:0= )
- ssl? ( dev-libs/openssl:0= )
- pcre? ( dev-libs/libpcre )
- doc? ( dev-perl/JSON )"
-
-DEPEND="dev-lang/perl[doc?]
- ${RDEPEND}"
-
-src_configure() {
- myconf="--disable-rpath"
- use unicode || myconf+=" --without-icu"
- use ssl || myconf+=" --without-crypto"
- use gdbm || myconf+=" --without-gdbm"
- use nls || myconf+=" --without-gettext"
- use gmp || myconf+=" --without-gmp"
- use opengl || myconf+=" --without-opengl"
- use pcre || myconf+=" --without-pcre"
-
- perl Configure.pl \
- --ccflags="${CFLAGS}" \
- --linkflags="${LDFLAGS}" \
- --prefix="${EPREFIX}"/usr \
- --libdir="${EPREFIX}"/usr/$(get_libdir) \
- --mandir="${EPREFIX}"/usr/share/man \
- --sysconfdir="${EPREFIX}"/etc \
- --sharedstatedir="${EPREFIX}"/var/lib/parrot \
- $myconf || die
-}
-
-src_compile() {
- export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}"${S}"/blib/lib
- # occasionally dies in parallel make
- emake -j1
- if use doc ; then
- emake -j1 html
- fi
-}
-
-src_test() {
- emake -j1 test
-}
-
-src_install() {
- emake -j1 install-dev DESTDIR="${D}" DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
- dodoc CREDITS DONORS.pod PBC_COMPAT PLATFORMS RESPONSIBLE_PARTIES TODO
- dosym parrot-ops2c /usr/bin/ops2c
- if use examples; then
- insinto "/usr/share/doc/${PF}/examples"
- doins -r examples/*
- fi
- if use doc; then
- insinto "/usr/share/doc/${PF}/editor"
- doins -r editor
- cd docs/html
- dohtml -r developer.html DONORS.pod.html index.html ops.html parrotbug.html pdds.html \
- pmc.html tools.html docs src tools || die
- fi
-}
diff --git a/dev-lang/parrot/parrot-7.5.0-r1.ebuild b/dev-lang/parrot/parrot-7.5.0-r1.ebuild
deleted file mode 100644
index fe5c23fecbf8..000000000000
--- a/dev-lang/parrot/parrot-7.5.0-r1.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib
-
-# weird failures
-RESTRICT="test"
-
-DESCRIPTION="Virtual machine designed to compile and execute bytecode for dynamic languages"
-HOMEPAGE="http://www.parrot.org/"
-SRC_URI="ftp://ftp.parrot.org/pub/parrot/releases/all/${PV}/${P}.tar.gz"
-
-LICENSE="Artistic-2"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="opengl nls doc examples gdbm +gmp ssl +unicode pcre"
-
-RDEPEND="sys-libs/readline:0=
- dev-libs/libffi
- opengl? ( media-libs/freeglut )
- nls? ( sys-devel/gettext )
- unicode? ( >=dev-libs/icu-2.6:= )
- gdbm? ( >=sys-libs/gdbm-1.8.3-r1 )
- gmp? ( >=dev-libs/gmp-4.1.4:0= )
- ssl? ( dev-libs/openssl:0= )
- pcre? ( dev-libs/libpcre )
- doc? ( dev-perl/JSON )"
-
-DEPEND="dev-lang/perl[doc?]
- ${RDEPEND}"
-
-src_configure() {
- myconf="--disable-rpath"
- use unicode || myconf+=" --without-icu"
- use ssl || myconf+=" --without-crypto"
- use gdbm || myconf+=" --without-gdbm"
- use nls || myconf+=" --without-gettext"
- use gmp || myconf+=" --without-gmp"
- use opengl || myconf+=" --without-opengl"
- use pcre || myconf+=" --without-pcre"
-
- perl Configure.pl \
- --ccflags="${CFLAGS}" \
- --linkflags="${LDFLAGS}" \
- --prefix="${EPREFIX}"/usr \
- --libdir="${EPREFIX}"/usr/$(get_libdir) \
- --mandir="${EPREFIX}"/usr/share/man \
- --sysconfdir="${EPREFIX}"/etc \
- --sharedstatedir="${EPREFIX}"/var/lib/parrot \
- $myconf || die
-}
-
-src_compile() {
- export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}"${S}"/blib/lib
- # occasionally dies in parallel make
- emake -j1
- if use doc ; then
- emake -j1 html
- fi
-}
-
-src_test() {
- emake -j1 test
-}
-
-src_install() {
- emake -j1 install-dev DESTDIR="${D}" DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
- dodoc CREDITS DONORS.pod PBC_COMPAT PLATFORMS RESPONSIBLE_PARTIES TODO
- dosym parrot-ops2c /usr/bin/ops2c
- if use examples; then
- insinto "/usr/share/doc/${PF}/examples"
- doins -r examples/*
- fi
- if use doc; then
- insinto "/usr/share/doc/${PF}/editor"
- doins -r editor
- cd docs/html
- dohtml -r developer.html DONORS.pod.html index.html ops.html parrotbug.html pdds.html \
- pmc.html tools.html docs src tools || die
- fi
-}
diff --git a/dev-lang/parrot/parrot-8.1.0-r1.ebuild b/dev-lang/parrot/parrot-8.1.0-r1.ebuild
deleted file mode 100644
index 741003d7549c..000000000000
--- a/dev-lang/parrot/parrot-8.1.0-r1.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib
-
-# weird failures
-RESTRICT="test"
-
-DESCRIPTION="Virtual machine designed to compile and execute bytecode for dynamic languages"
-HOMEPAGE="http://www.parrot.org/"
-SRC_URI="ftp://ftp.parrot.org/pub/parrot/releases/all/${PV}/${P}.tar.gz"
-
-LICENSE="Artistic-2"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="opengl nls doc examples gdbm +gmp ssl +unicode pcre"
-
-RDEPEND="sys-libs/readline:0=
- dev-libs/libffi
- net-libs/libnsl:0=
- opengl? ( media-libs/freeglut )
- nls? ( sys-devel/gettext )
- unicode? ( >=dev-libs/icu-2.6:= )
- gdbm? ( >=sys-libs/gdbm-1.8.3-r1 )
- gmp? ( >=dev-libs/gmp-4.1.4:0= )
- ssl? ( dev-libs/openssl:0= )
- pcre? ( dev-libs/libpcre )
- doc? ( dev-perl/JSON )"
-
-DEPEND="dev-lang/perl[doc?]
- ${RDEPEND}"
-
-src_configure() {
- myconf="--disable-rpath"
- use unicode || myconf+=" --without-icu"
- use ssl || myconf+=" --without-crypto"
- use gdbm || myconf+=" --without-gdbm"
- use nls || myconf+=" --without-gettext"
- use gmp || myconf+=" --without-gmp"
- use opengl || myconf+=" --without-opengl"
- use pcre || myconf+=" --without-pcre"
-
- perl Configure.pl \
- --ccflags="${CFLAGS}" \
- --linkflags="${LDFLAGS}" \
- --prefix="${EPREFIX}"/usr \
- --libdir="${EPREFIX}"/usr/$(get_libdir) \
- --mandir="${EPREFIX}"/usr/share/man \
- --sysconfdir="${EPREFIX}"/etc \
- --sharedstatedir="${EPREFIX}"/var/lib/parrot \
- $myconf || die
-}
-
-src_compile() {
- export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}"${S}"/blib/lib
- # occasionally dies in parallel make
- emake -j1
- if use doc ; then
- emake -j1 html
- fi
-}
-
-src_test() {
- emake -j1 test
-}
-
-src_install() {
- emake -j1 install-dev DESTDIR="${D}" DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
- dodoc CREDITS DONORS.pod PBC_COMPAT PLATFORMS RESPONSIBLE_PARTIES TODO
- dosym parrot-ops2c /usr/bin/ops2c
- if use examples; then
- insinto "/usr/share/doc/${PF}/examples"
- doins -r examples/*
- fi
- if use doc; then
- insinto "/usr/share/doc/${PF}/editor"
- doins -r editor
- cd docs/html
- dohtml -r developer.html DONORS.pod.html index.html ops.html parrotbug.html pdds.html \
- pmc.html tools.html docs src tools || die
- fi
-}
diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index 3c7b654a4ba1..7fa5733c1835 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -1,5 +1,6 @@
AUX 20php5-envd 145 BLAKE2B 06476b8fc04d1e835496b417ac752f0834ddbe8584e4fddc6db0aa5e6845b82cdea0a1355c77125375dcdd0f0a3c19de5f3a8a64ee93950f96c437a16f971567 SHA512 581aa86479e3cd584ee1bc6dc6d4a135fe8ec343fe5519566d728d81f7018cfb23658bd0c0368951d380982c75adbb4f45acf3c146868aaf4e4ec8e9f2fad1ce
AUX php-7.2.13-intl-use-icu-namespace.patch 11499 BLAKE2B 0dca597d5afd0309595499e3ff860e2d83183e570d02f202a1e2966d430606f09b8dc7427c4007e791914c8ee093a2e7cbf7372baa7896ac06d1912f2e707c09 SHA512 1332eb76feda2100685e319ae046512cf12b55a0d2be537c2172ccf035b547d851f84fb7941389882d7e3d674d91441e018c7b8f1e3f0d4cced05c314d5821fe
+AUX php-7.4.13-issue80368.patch 746 BLAKE2B 1523fe9a451022dab7261c1e1866af702ff8bf9163f67cb99ec7617e3304e23f29ba8c54f36e5e154fc6e6563e660229b4bbf481263c4f34978a656e57f335f4 SHA512 744a9d81a7a0c6a7ac8ffd78678681a671c6a611ce36d56b53bb5fb4ed84a671e6eade85604c9adca4e2b48499ecc2046cd295dce4cdd4fa56952a4bae45c2e7
AUX php-fpm_at-simple.service 316 BLAKE2B 0ba10f3e3b004fbf14956e1e4f04f59b8a127e6717fe6b92c09b9f931033a11551c75fbbee9010f6b694c5a8758ca0eec9eed457ae304ba0dea8f2c256c3b8d4 SHA512 7367a3f8d3874f8e0c76f331ba613a0250db02f60ad9f87affaf448dcb5bc34bcecb91d88f415764a12b24b46ae3d1b738a002af9f77a4b707e916e83a0021fd
AUX php-fpm_at.service 317 BLAKE2B f13fc38fcc0575a8517ee8d07b120efda37eabd2355061d0fdc303604c6b02ad42d7301180d86c977d5e585f5dd685343c592e37a6e0f44933707be79e0b77e0 SHA512 27982f9e2d958bfa75c89c7d3531e48d17fc388b1cdcbc8e09051b236b1184ee2baabdfcc567c19d9fcd067d4b3b86f171015616d8da42fccdabd89432d865e8
AUX php-freetype-2.9.1.patch 7667 BLAKE2B efc8f829bbad11b3e7b654d0882213ecb9aae766060d51f93446a6293a2f607339faba484c7b0b2f9318a5c5442da3c09e25aeda20dbc5e3258bf1009f8625b4 SHA512 0a06189f6fb3513cd2dcf9ddb590360475e2dd9a7aa8b13ab66c389c1ed40ce2361681f017cd3c6219f5b40a0a9d4978e57ca3ee4bacb7657db3285136fd2875
@@ -16,16 +17,18 @@ DIST php-7.4.11.tar.xz 10302076 BLAKE2B e32e77057ddd7b12553766e30366262812d43427
DIST php-7.4.12.tar.xz 10311980 BLAKE2B 11052d59881f84d4012fa993e5969abf52d4419877bf595ba524b31f5971f623adc382f49d4f7ed75f33dcf85c903a66d88b7c983807ee5f79152314334061c5 SHA512 6c06fb74f8e479ead000b0e2e56602c217d012f1a80e47e151543c033bb5426e56aaa5e8acfcd19fd49ae14c4ca827c8e57a5b56386b20002dbc80fbd07ab04f
DIST php-7.4.13.tar.xz 10319848 BLAKE2B c1da97eb605f1fc2b36190bfe92feb1fd527f4aaf1483865561a08cf990e70445f5520c8abcea7d9c6482dc47e500507644e0cd2cc756cfa99adfec0359cd795 SHA512 3525f4fd4ea6d97ed75ed8360d2a851e8577c09247ae3c6eb7e7b43265ee418297d91c1022bf5bbb64d1eecdebbbc2e0f6d42b560f584a741b475db2c6897ea7
DIST php-7.4.9.tar.xz 10289560 BLAKE2B 0fd9d82539a46f7ce58857560f5aeb4be6dfe5f5a05f8b8c55c30d6000d19408b4ecc460c9135736298cdb8312ec958ab8358110b2b265bb8c185f80b1522dc6 SHA512 6179c2d867d6775d7f41785003c36d06ce620e7746ea7e6a4d275264e814a66d465776b47b04e2926ed1228cf58f2c15cdda74faf10372435c74ede7aeb79e18
+DIST php-8.0.0.tar.xz 10726788 BLAKE2B 16c4aa075ba5dee6d47086323cd152b33dc7b62ac6b3ab6637ec386c1048e256a160d72e72cbc88450af1e84389042ebf2d644d3361c9a34879cc494d5b9b64f SHA512 65630940c95436f3e3ecb71b9f1ca15bb4118267dbda604ed1ee009d528c21a3ec21f48a15e4dd3529fe9cd2b354c211a7b4975b5de43e1f2afa6656cabe1fd0
EBUILD php-7.2.33.ebuild 22650 BLAKE2B 85d53142d43bcd67e568a7424e731a5a2a55872dfa5f5e3ec10673e527357d26d1986c4a61dbf049e17b5a5db7b09fef77424da713953fb3153338e68a79e200 SHA512 7f0454f2dba27d443c729663a338dd0d5c746b572a3ccccde3b19a54ce2cdecda9f98ce1df5ef5c7afede8726234de3c1e1c1fce65bee95ad97ca5ec621abe97
EBUILD php-7.2.34.ebuild 22650 BLAKE2B 85d53142d43bcd67e568a7424e731a5a2a55872dfa5f5e3ec10673e527357d26d1986c4a61dbf049e17b5a5db7b09fef77424da713953fb3153338e68a79e200 SHA512 7f0454f2dba27d443c729663a338dd0d5c746b572a3ccccde3b19a54ce2cdecda9f98ce1df5ef5c7afede8726234de3c1e1c1fce65bee95ad97ca5ec621abe97
EBUILD php-7.3.21.ebuild 22663 BLAKE2B 43f00a48372e83b81e10ddafd965d7aa3a2945c6858d75dc1fbcc4d07a51d22151b02d2e2e50cb91b1e398c77e93adf2eecaecf495453e8c15ae81a70ca323c2 SHA512 ebb57617c9e08b08b717a7458f79c246700aea64b9f407e5c52eede291c7d12a80eb4bedf50a2d7880f2cf73e36391f7db01a40c0622631d15bcdd2e0e8ab64f
EBUILD php-7.3.22.ebuild 22671 BLAKE2B 9fbccafac097a447241ed68db51ecf147059b1b55c31c829c7c40e01657916d376801096d8e273a4157435f0b489f776240114160d50c9399d4795ed9f7018d7 SHA512 a9f5c18c1b4667fa1730801877872434a5c146c34941da1a3b6348c7ec1bfbf152041e128faf8d962f77db17e2f94f704bfc67db71838d3f6ac3dfb0a846d4d5
EBUILD php-7.3.23.ebuild 22663 BLAKE2B 43f00a48372e83b81e10ddafd965d7aa3a2945c6858d75dc1fbcc4d07a51d22151b02d2e2e50cb91b1e398c77e93adf2eecaecf495453e8c15ae81a70ca323c2 SHA512 ebb57617c9e08b08b717a7458f79c246700aea64b9f407e5c52eede291c7d12a80eb4bedf50a2d7880f2cf73e36391f7db01a40c0622631d15bcdd2e0e8ab64f
EBUILD php-7.3.24.ebuild 22671 BLAKE2B 9fbccafac097a447241ed68db51ecf147059b1b55c31c829c7c40e01657916d376801096d8e273a4157435f0b489f776240114160d50c9399d4795ed9f7018d7 SHA512 a9f5c18c1b4667fa1730801877872434a5c146c34941da1a3b6348c7ec1bfbf152041e128faf8d962f77db17e2f94f704bfc67db71838d3f6ac3dfb0a846d4d5
-EBUILD php-7.3.25.ebuild 22671 BLAKE2B 9fbccafac097a447241ed68db51ecf147059b1b55c31c829c7c40e01657916d376801096d8e273a4157435f0b489f776240114160d50c9399d4795ed9f7018d7 SHA512 a9f5c18c1b4667fa1730801877872434a5c146c34941da1a3b6348c7ec1bfbf152041e128faf8d962f77db17e2f94f704bfc67db71838d3f6ac3dfb0a846d4d5
+EBUILD php-7.3.25.ebuild 22665 BLAKE2B 4b92afb683bb04d4c4b64065851c40a815947f2a64458b1979c97e51ed35c845488fe185d7b6498778b2d064a648e3bbc03a4e91d6636c42d4360b5684fd9a94 SHA512 132f96f206aa1cee9392b4b30093da343db03b1e38b1833f195fce217a4ac64b8558bc5e021987d25d66a656a49fa8682309df6c80f11d63c505adcc700feea2
EBUILD php-7.4.10.ebuild 21382 BLAKE2B 936caa37281c2b79d2d7550de422c32a0dbf41e2f1530aa5709dfd6a0d92f7c5c6b82ead5b14f27a314df5311dce7c726a6571ecdd9aa497812c0e9e71f397fe SHA512 380075433cbb7d639765fa6907c3006612901b051d48311cabd85d653b8e8105044f703a129b8d90bcfd48a29a8365de3053bad81d9561dafc5c5974d7420082
EBUILD php-7.4.11.ebuild 21374 BLAKE2B aeb27c63cff434dd9a735631bbeb29a2540546d2416aecdd636e2b6769070615ac148139a3891b708cf6528ac557080c7096dda95d75bfe3812495213126eef3 SHA512 2b67de7efc5dafefc1f95e9b7c22c60bca6b6c2c922857695a5c027929669b9a62068e19784a2059e28e91ff16ad0b47ee691785124bf99ead6dff12239fa4fd
EBUILD php-7.4.12.ebuild 21382 BLAKE2B 936caa37281c2b79d2d7550de422c32a0dbf41e2f1530aa5709dfd6a0d92f7c5c6b82ead5b14f27a314df5311dce7c726a6571ecdd9aa497812c0e9e71f397fe SHA512 380075433cbb7d639765fa6907c3006612901b051d48311cabd85d653b8e8105044f703a129b8d90bcfd48a29a8365de3053bad81d9561dafc5c5974d7420082
-EBUILD php-7.4.13.ebuild 21382 BLAKE2B 936caa37281c2b79d2d7550de422c32a0dbf41e2f1530aa5709dfd6a0d92f7c5c6b82ead5b14f27a314df5311dce7c726a6571ecdd9aa497812c0e9e71f397fe SHA512 380075433cbb7d639765fa6907c3006612901b051d48311cabd85d653b8e8105044f703a129b8d90bcfd48a29a8365de3053bad81d9561dafc5c5974d7420082
+EBUILD php-7.4.13.ebuild 21414 BLAKE2B 291a323943eb1d9c0b2e2cdca45dc490295838df2bcc66edcbb6669fc450aec7d5a6d9e69f43d6eecb71b441c218b159876919c2c9a2493431929bdbad3f9fe9 SHA512 f2c2d6bd1b317ba43c9877bf32925c76d9a9cd5bd1d0aea1f3a759c38ce2e6354f4517b5fe079f20f63bb9dd7af6b95a578bbbfe42f56e959c4f0bfdf48472e5
EBUILD php-7.4.9.ebuild 21374 BLAKE2B aeb27c63cff434dd9a735631bbeb29a2540546d2416aecdd636e2b6769070615ac148139a3891b708cf6528ac557080c7096dda95d75bfe3812495213126eef3 SHA512 2b67de7efc5dafefc1f95e9b7c22c60bca6b6c2c922857695a5c027929669b9a62068e19784a2059e28e91ff16ad0b47ee691785124bf99ead6dff12239fa4fd
+EBUILD php-8.0.0.ebuild 21276 BLAKE2B e58d02e2c685bd56435360a6c3801c1c6e1f7d27f9614cac40737efefc62e8e62c168556a7c139b7e3b49171f6f3d2f65dc9f0de77848362dc8be0a7af22517b SHA512 5f4a494f280fd5079d80ea27ea25b6bf14a4cfc33380cefbdfd9f5b92367eb734bcc7fcf0cd4bc75740113e73531449d77b0af1c748701034845cbf19aaf1be4
MISC metadata.xml 3216 BLAKE2B 6118c94f2ac3a2f283eb035cbbacb12343476b4ce22594a00cb7ebf063abb106a0ed5557d311127b8c1e2a53263103ded790cd12d20c6b410ab6f7d218d95ed8 SHA512 ffb0b46b30b1add0fc166e3afe1317e70041a0fe849d4c05ceee011c1b5e130fbde3b86eaf876a4c8a2d23fbd7824f95299642b4f60e129436befb00f4b124cc
diff --git a/dev-lang/php/files/php-7.4.13-issue80368.patch b/dev-lang/php/files/php-7.4.13-issue80368.patch
new file mode 100644
index 000000000000..adad8f864ec1
--- /dev/null
+++ b/dev-lang/php/files/php-7.4.13-issue80368.patch
@@ -0,0 +1,17 @@
+https://github.com/php/php-src/commit/0f579fd7c8171cb0f7ecc8db912933df450f3861
+https://github.com/php/php-src/commit/ecee3f1209a7c0ac9f99c7f640b2f5df56656e58
+
+--- a/ext/openssl/openssl.c
++++ b/ext/openssl/openssl.c
+@@ -6496,7 +6496,9 @@ static void php_openssl_load_cipher_mode(struct php_openssl_cipher_mode *mode, c
+ int cipher_mode = EVP_CIPHER_mode(cipher_type);
+ memset(mode, 0, sizeof(struct php_openssl_cipher_mode));
+ switch (cipher_mode) {
+-#if PHP_OPENSSL_API_VERSION >= 0x10100
++#ifdef EVP_CIPH_OCB_MODE
++ /* Since OpenSSL 1.1, all AEAD ciphers use a common framework. We check for
++ * EVP_CIPH_OCB_MODE, because LibreSSL does not support it. */
+ case EVP_CIPH_GCM_MODE:
+ case EVP_CIPH_OCB_MODE:
+ case EVP_CIPH_CCM_MODE:
+
diff --git a/dev-lang/php/php-7.3.25.ebuild b/dev-lang/php/php-7.3.25.ebuild
index 705d68d153f3..c77f83e285f4 100644
--- a/dev-lang/php/php-7.3.25.ebuild
+++ b/dev-lang/php/php-7.3.25.ebuild
@@ -19,7 +19,7 @@ LICENSE="PHP-3.01
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"
+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}"
diff --git a/dev-lang/php/php-7.4.13.ebuild b/dev-lang/php/php-7.4.13.ebuild
index 3ac0d8c9ace3..7df313533ce8 100644
--- a/dev-lang/php/php-7.4.13.ebuild
+++ b/dev-lang/php/php-7.4.13.ebuild
@@ -21,7 +21,7 @@ LICENSE="PHP-3.01
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"
+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}"
@@ -150,7 +150,10 @@ BDEPEND="virtual/pkgconfig"
PHP_MV="$(ver_cut 1)"
-PATCHES=( "${FILESDIR}/php-iodbc-header-location.patch" )
+PATCHES=(
+ "${FILESDIR}"/php-iodbc-header-location.patch
+ "${FILESDIR}"/${P}-issue80368.patch
+)
php_install_ini() {
local phpsapi="${1}"
diff --git a/dev-lang/php/php-8.0.0.ebuild b/dev-lang/php/php-8.0.0.ebuild
new file mode 100644
index 000000000000..801d79b66ceb
--- /dev/null
+++ b/dev-lang/php/php-8.0.0.ebuild
@@ -0,0 +1,747 @@
+# 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 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 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 )
+ 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.7[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.29.0 )
+ enchant? ( app-text/enchant:2 )
+ 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-9.1:* )
+ 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.9.0 )
+ 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 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_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 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
+
+ local one_sapi
+ local sapi
+ 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
+
+ local sapi
+ 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="", 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 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$(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$(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
+ local m
+ 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 d94522cc1ffe..55ff41b2db6f 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 4377 BLAKE2B 9d0e53dc01475a153a40b9240667491facf3b5b6c04ab2dcda53b9cbc57463e2f334e05f1f609450519f084e9ba85738ae43f3521e23a7f31ab55680fa482d45 SHA512 af7b72f4baf40906112042b6fbd36dbd329cff2c280cb2355e8ed1143d8c2ce9be1ca9f893ae1f6d6a75a3aedd76bf1e01474174e31b01770008270368126cef
-EBUILD python-exec-2.4.6-r2.ebuild 4140 BLAKE2B fffa7b6191bfd5302408e5f0f74081e595fdaf1eb87b0f47462e02f2c610b49d9defd12e2b3fd6ca0f5ef1d79f73b3e7680d31b52a89e23b1dbf12cff774bf9a SHA512 50248a289517cfe96f1c767b395036f56bb19dd730feff68065339ffff908bc3c7975888e3414b6c5dd5b8c7eff0876808b2ddffbdd0e5ff075fc195f4aa19ba
-MISC metadata.xml 526 BLAKE2B 0a1affa624a96f8ad1ce8cf2e086186cd48af83a9eafacdc0b7fac2776bfd590a0ae326fd1dc1d5425c2a950d3d328f0098ce62e8d754da7a125053b9dff177e SHA512 c8b9ffc7d7f2d71680c2d1cc24b063cb9338ed4586e2fdf3b6cd8e7fd27d86f5ef18d1de4a4ff9eed8dc8b72f897e9cacabe0ee63bf8cb8f50f1feb4bddeabaa
+EBUILD python-exec-2.4.6-r2.ebuild 4141 BLAKE2B cfe0cd11ffdad126893a7a494ccaafb488b2a3a180c68d62520d7ae1bc5e221b4c401d187b86d8badb45c4e3f815db7c5412cc135af47f82b86ded40c20b755a SHA512 f60517b6f9515edb9336f8c2ec42872a26e68ba386b22abc5694172ccbdd11756946056ca45fcf3f610cb4cee24fa7b9d7be5dccf448ec751faa2e1650352283
+EBUILD python-exec-2.4.6-r3.ebuild 4214 BLAKE2B 7707317071781444f5cbfaa25a326db90ac92f1a74ba8c7753cd7e481246c86046ee93a41feab5c785a6801de87062a4c24d042c28ef8ef42bfbd4e36d9b6c62 SHA512 972f44f59e170bca6459cabaa8157f80978e7c46d00793adb65e5c293054c96c0bfb6f70ad2d6aef7de5065e33f18c996978c84bbab0a3a1d075f0e95d0f9b84
+MISC metadata.xml 791 BLAKE2B ba836a4142e78972a7a6b603749bb4df0fe99cf0f054e286d9ede512db5cdab18f18fa484036e9ef7e19c20afcf1c94b70d0f813e7790dbd9decda996dd53713 SHA512 be18445f875537d03532d2ab30241951c2abc0929b382c351eda05003fd84cd84c545018941117bec5a2f74e2e2a1dd17b60bb2dae99eb81909826947ceabba9
diff --git a/dev-lang/python-exec/metadata.xml b/dev-lang/python-exec/metadata.xml
index 751ada8263f2..cef85cf6ce7d 100644
--- a/dev-lang/python-exec/metadata.xml
+++ b/dev-lang/python-exec/metadata.xml
@@ -13,4 +13,11 @@
<bugs-to>https://github.com/mgorny/python-exec/issues/</bugs-to>
<remote-id type="github">mgorny/python-exec</remote-id>
</upstream>
+ <use>
+ <flag name="native-symlinks">
+ Install generic symlinks like python and python3. If this flag
+ is disabled, only versioned python3.X executables will
+ be available to end users and ebuilds not using python eclasses.
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/dev-lang/python-exec/python-exec-2.4.6-r2.ebuild b/dev-lang/python-exec/python-exec-2.4.6-r2.ebuild
index 9bd729c8519e..3a975edc8d59 100644
--- a/dev-lang/python-exec/python-exec-2.4.6-r2.ebuild
+++ b/dev-lang/python-exec/python-exec-2.4.6-r2.ebuild
@@ -21,7 +21,7 @@ src_configure() {
local pyimpls=() i EPYTHON
for i in "${_PYTHON_ALL_IMPLS[@]}"; do
if use "python_targets_${i}"; then
- python_export "${i}" EPYTHON
+ _python_export "${i}" EPYTHON
pyimpls+=( "${EPYTHON}" )
fi
done
diff --git a/dev-lang/python-exec/python-exec-2.4.6-r1.ebuild b/dev-lang/python-exec/python-exec-2.4.6-r3.ebuild
index 07538b12ef43..6869fd24d057 100644
--- a/dev-lang/python-exec/python-exec-2.4.6-r1.ebuild
+++ b/dev-lang/python-exec/python-exec-2.4.6-r3.ebuild
@@ -11,15 +11,17 @@ 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_}"
+IUSE="${_PYTHON_ALL_IMPLS[@]/#/python_targets_} +native-symlinks"
+
+RDEPEND="!<=dev-lang/python-2.7.18-r3:2.7"
src_configure() {
local pyimpls=() i EPYTHON
for i in "${_PYTHON_ALL_IMPLS[@]}"; do
if use "python_targets_${i}"; then
- python_export "${i}" EPYTHON
+ _python_export "${i}" EPYTHON
pyimpls+=( "${EPYTHON}" )
fi
done
@@ -40,33 +42,22 @@ src_install() {
newins - python-exec.conf \
< <(sed -n -e '/^#/p' config/python-exec.conf.example)
- local programs=( python )
- local scripts=( python-config 2to3 idle pydoc pyvenv )
- local i
- for i in "${_PYTHON_ALL_IMPLS[@]}"; do
- if use "python_targets_${i}"; then
- # NB: duplicate entries are harmless
- if python_is_python3 "${i}"; then
- programs+=( python3 )
- scripts+=( python3-config )
- else
- programs+=( python2 )
- scripts+=( python2-config )
- fi
- fi
- done
+ if use native-symlinks; then
+ local programs=( python python3 )
+ local scripts=( python-config python3-config 2to3 idle pydoc pyvenv )
- local f
- for f in "${programs[@]}"; do
- # symlink the C wrapper for python to avoid shebang recursion
- # bug #568974
- dosym python-exec2c /usr/bin/"${f}"
- done
- for f in "${scripts[@]}"; do
- # those are python scripts (except for new python-configs)
- # so symlink them via the python wrapper
- dosym ../lib/python-exec/python-exec2 /usr/bin/"${f}"
- done
+ local f
+ for f in "${programs[@]}"; do
+ # symlink the C wrapper for python to avoid shebang recursion
+ # bug #568974
+ dosym python-exec2c /usr/bin/"${f}"
+ done
+ for f in "${scripts[@]}"; do
+ # those are python scripts (except for new python-configs)
+ # so symlink them via the python wrapper
+ dosym ../lib/python-exec/python-exec2 /usr/bin/"${f}"
+ done
+ fi
}
pkg_preinst() {
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index cecdb470f99c..612152c93bb0 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -2,6 +2,7 @@ AUX pydoc.conf 169 BLAKE2B ce40bb3d5f858bd7a8d9ef5bf215a8ab592568a724f0e08aea219
AUX pydoc.init 600 BLAKE2B fb8775a6663483e5112ec283627610b746020d88494e772b92bb718a9493a52606e565c6c2fa4917a5cb963f166283d09883bd26903f2f3ced6c240d4e292a7f SHA512 9e71ad53486b6882a8441b24225c602195ee33d29dd1b60df27febbc6b752e79929be356152a489f893dcfb11f9c066b999787bc27a8ac61062c86e67a69e87a
DIST Python-2.7.18.tar.xz 12854736 BLAKE2B 060a621c91dd8e3d321aec99d44c17aa67381998256a1a002d316b38288349884d5960de35c49352d03129ed0bae599e641ec2225898158ebce50a7a2fd74d2c SHA512 a7bb62b51f48ff0b6df0b18f5b0312a523e3110f49c3237936bfe56ed0e26838c0274ff5401bda6fc21bf24337477ccac49e8026c5d651e4b4cafb5eb5086f6c
DIST Python-3.10.0a1.tar.xz 18571152 BLAKE2B d74e467dfce1a0e3374377fc36865f1059e3810f67492608bbcfdb6880fc9a748ed19d1e3c4617a9218c842e8e9cb4119845eccb6848acae9b4af389cbbdb43a SHA512 eb1a0f6dd023efe67cfc2c833b0a7d390765d288e4da7aae932ba66b970d63ad377dbe48ddf0548c5cca5334a3aa1c7e92f972b68c54e4238ea1f3610adb8910
+DIST Python-3.10.0a3.tar.xz 18676916 BLAKE2B 86c8e3cd5d9658a2b1027558eda42294807173cac39010737dba6a0bf75a3a7211297cb79061085ab0cea52eaaba521140ff67c3b6edeebd677429191f4435b5 SHA512 a361c04081e9bd7e740c3311d92ec1428f12c589613ab39ed2bb1ac5aa20e4d8bc6d6e76eefc20edd459ecf8be1720f3985126be38407fcfb41f5a6efcea3998
DIST Python-3.6.11.tar.xz 17213036 BLAKE2B 4dae9d9c5eb7e97a8990b0b5739d40ba8a85081c7e03adc22a3305e713d39b3a98ff66c17b395b9d45355e124307eed87803211378d14360e8b3455f7146a1ba SHA512 c76969a6602e095641ba5fd0999a47cf0187eb26559ba9a6e80fe401b8928f6cd9eabd963f615f7c667e48f56603f2508d2b5692c83ea8da1e21292131fb11d6
DIST Python-3.6.12.tar.xz 17202980 BLAKE2B c8d22e4d57bcaffe77cd902cda3a473e73adf2b74ab104c23b4d846f19632a24cc0c478af84079b16d784bd1c0956824c06c1f6134fd24f54e58aaab0fe96bb6 SHA512 1462801f3f6626a853097d34ccdca9838c4c5bd81ecc3abc751003f5f2f8d36eecdaa4130ef4218de351c5586093c11669639a34492668fbc5a2a4a241f4a070
DIST Python-3.7.8.tar.xz 17399552 BLAKE2B 4bf6c47b1132b6d31a79232002c4d38e2cd123ac05d52b21d6bfba5a4e19ec9130b8df8698d5ce6627e4297c4cf756643f036e694e36364c235306c72ef34bf8 SHA512 d2ba299e3cf8ed0f8fed9317f42bcd8d9af7e0e6175939b4be1be289c1658418bed17899e2608d762ffb15575021956cf6bf2054d7863c04b3bd7642f5b8c7ea
@@ -9,25 +10,40 @@ DIST Python-3.7.9.tar.xz 17389636 BLAKE2B 484833aa2aa4e29051a02969294f72099ff6f1
DIST Python-3.8.4.tar.xz 18020412 BLAKE2B cfcfb293c413b25fc3ca48116cf8ffaba7bee18e9af9accf26be9b4373a0c62dd8e9da70e5a8a38ba6da4d1afbdbd589ae5ea4b618b65130ae061698b445908c SHA512 37a36d014a8372742be9d0bd9dd3a275e100dc21b1515c145bc62425d4d157327b6e63ad99bc888c0b36c1da4c05676c40eb086e75072d1906e3210ec3043dcb
DIST Python-3.8.5.tar.xz 18019640 BLAKE2B bb3e0566afe28759e4ab129ad0986a0fc5103514f2e2b22ff4aa3973c3173ebdd24d4267fbaf903841814a611fd9ea122673e5a1918934366e5c0efaef9d7517 SHA512 460cee65d7df7150694590575502d7f22e548ebfc99c8f8b363eef8bf30ee72e58d8ffacb1d607824f877f880eb9fd6775a508388029583e1e1df3380f3f9587
DIST Python-3.8.6.tar.xz 18233864 BLAKE2B c8a8ef6055e344dda30eb808804cfa62016b4f840257cffd5a495e5932f5696e50579d49b8181a487c9cd4a89bdb95656e80981039783a21d20f7980aa2c9883 SHA512 22faec84f6e172e1ac7c6bd6fd37e9b6ae4afc91cf5136aa8cac8ebbed8d18793f9196e8749b8ccc43447cb6c41cb450f65ea72dd363c06dfaeb14e0455f5560
+DIST Python-3.8.7rc1.tar.xz 18258688 BLAKE2B cd18abf3a2f97856581735fc6ab98882c3839edd84f736b2f681a227694319f410154201e5e09938ec45ba00b69a593737da22263560080da72625f8611f14c6 SHA512 0c42622433b968dc0943894bff6e90603bdfc4e49ab4373e2686a158e1d4b3450e60aa16d8203ce3d0e0e8bb0ebcaad281ccd7eb03b355eeeb7c811a4cd799ec
DIST Python-3.9.0.tar.xz 18866140 BLAKE2B 8e12b64e187a65461473ac3b281dc489f0abac586e0755f6dbeceb236b34bdc008085eeac9ee1a19d76f5ec6a2fbda623985454c9d0164c4888a97b8cd940034 SHA512 b141039c9701a8cb0d15cd11a279153077524af4d0599e7d2c7279d4c18d05fda06b33ef82342d875de996c7117b7dc6eb154dc3669d38a1efa99801aeec6c5e
+DIST Python-3.9.1.tar.xz 18897104 BLAKE2B bcbce176510e8e7c6ba6070588bedc52121c21c5271f59b3d629dfb542c51ee62622b2ca53a6e2041f1a51b2d089368cc4de9bb749e8ebad9a2c4eb4de83538e SHA512 b90029d6825751685983e9dcf0e0ec9e46f18e6c7d37b0dd7a245a94316f8c0090308ad7c2b2b49ed2514b0b909177231dd5bcad03031bf4624e37136fcf8019
DIST python-gentoo-patches-2.7.18-r3.tar.xz 18856 BLAKE2B e35b3d847dad114057b7dab7615941b4879f3531aff1d23bced22da2d445cdec77cdd416566611ca01a3d39f30f16ef224f835f35ca12a301024d7a9fb6a507b SHA512 abb102223555535d5214fa91fd4bb3d1241050c86027af1612a9bd43fea2721e184587e5b784e5af9cbf563b8fec5a25cd07dc5fa72d762228734713176cfcbd
+DIST python-gentoo-patches-2.7.18-r4.tar.xz 21352 BLAKE2B d322f5afd63813d7c9280c75f942bde75ee19793e121d0406c4f229ead53324bf3996342eed9a6c1aa474894afe7f2dd70aec38aee8042993a5274abc288fd31 SHA512 1cb0be8e79d0c6c55fcbe3f3dabf8b760aea0e60d888ea39d3e69de03b55738c50b2cca06586c1cd2896956f5764eefd6d3f9fbf2de0d0ddfd8aab86837976b6
DIST python-gentoo-patches-3.10.0a1.tar.xz 8592 BLAKE2B 066fe89725469649a88a0b0c9f62d7d1380feb704ed12c696871cd595e4e920f23b54a2c771e15b5d2345dcdab21694365ef9b29e93f552f74d13642ebc59200 SHA512 e86df9e08ec7306f6457b5e3490171966022964fb700046587088bceb3d8977a45fe7e944f7dd39ad473000654f69f495b8c67edebb13bc12000b32716845533
DIST python-gentoo-patches-3.6.11-r3.tar.xz 14064 BLAKE2B 416780c15ee12cfc06bfd1397d510dd42fea61abcaafd9cf54f27d843342debf0caa93c9700686feb14f04239ad4ea8f20ce8736029638abe7d7b9c57b9d659d SHA512 de6a4a5bec89e6149b85b383991c99bd9460a8f59f52a700d54edd0154557727ccc79daaa90336dff434b222657c3f28dda1228d2d474002d0a28f31c9ed0b10
+DIST python-gentoo-patches-3.6.12-r1.tar.xz 16540 BLAKE2B 8204b6f25e1f7c6fef024933d54bfa6085158ac624a6e5a8d51576da2047b6db791be5d071c483fdec5c033b8fa8ee3d4e176a3e442defa556b34a304de3b7f3 SHA512 ad74c73b4f963427e66ac6187e1569dbfbbe3c916c24971a1eba4ad7e2f94e39c970f80e197c0498820451f036b12f3076b46cfd73bb5d6d56183ac05453d9ad
DIST python-gentoo-patches-3.6.12.tar.xz 11448 BLAKE2B a7fb7153ca6fd353649f9dc23f2d777e84ff144d67984d8c3d292619a4f671e3a71d8022bcc334b55f9f1f416ceeca113fb116da805e4bc45d8a67cbc098ead8 SHA512 7efb97abd3e058e4532b89205c99794836ba094079de2a6d7846fd2673ea8cc31e68573b83fd9f82453151653fb0ed9bc40b7961b41efdfe703b64cbed2576bf
DIST python-gentoo-patches-3.7.8-r3.tar.xz 13232 BLAKE2B 9df47b1f61d08f62a80221bc48d73ec27cd74a9ade8219912c5b02eaea919b70d91b1154837cd03c0129a5839186e9c970167ca3398129c044c25c7853f1f920 SHA512 e1477d425cb6125ca2286d816f4aa4e9e3c789d6a4f4907bd7b78549598356cae5766f642e2cad9e7c3abe2e82c12cf3cb7db3513be68aa213cb64cc0abc678a
+DIST python-gentoo-patches-3.7.9-r1.tar.xz 15664 BLAKE2B 271b95a52f4ba83c1aee6f68385462c9af8f2ab575267ac068a793e99f7c9739eb4b98dfa7e9280510a709557d418db04f26b5b31bbfe95dfdc13c1773510d2d SHA512 38df628de2f2835f975f6f06395d32cd63051af87b9bf8b06eef2f987bde26a883923bcab333568c122554b900bb17995a8c7290b6a58f942bd942dcbc70d030
DIST python-gentoo-patches-3.7.9.tar.xz 10588 BLAKE2B f60c8500671e7e3977412474c838905846e0609a7fdac787f2c6a8bfa53c887dcfd3466c5276772ffb8c20205e8b3f207f7d148c04524f19d095964b519da62d SHA512 11f411eb2d59fd45fbd80bdb1d1a83d413770779244045006942c5cb84837cba606673bcde102ae03b1d4579f526b551c93a64d39dba530b4584ba8dd8e9f13e
DIST python-gentoo-patches-3.8.4-r2.tar.xz 12660 BLAKE2B 3197edc6beb2b1be05399f268ff9b337ed67f699e3867160fea8e50f763a62b184ddd7adcdfa55dafc8c14f91e020b409461027361d04858db667992794b1168 SHA512 c56adbec04bfb950f7fb65f38cc0b78eaae9783800c755b7ac934b07725fcf4d69bbc2c29f7d1255acd6e88559a216dc8a6088042a479aa0d453b706e318c0cf
DIST python-gentoo-patches-3.8.5.tar.xz 11280 BLAKE2B 163c577da75f4ec0ebe86b5a08bea96d5ae406020bd211439b1405c0f8a5dddc9422a9ea5b16eed195433cbec010d9def3126a578d3f9716325482216b9e4d62 SHA512 6b7f72b8deb87fb7a169e97391185823984b5e9c99ec5232504c670843fbe0ca76afe32fc3fbe1f850ec6c42e9325cf4697022f36f7b00a4028b324069dd4d5b
+DIST python-gentoo-patches-3.8.6-r1.tar.xz 15880 BLAKE2B 9a08cd23af56bcc2ed0dffe4850698be6e0bcf7c44d3eafeb250e328a93833dc3e9ce084f1be89450d1e123cd72d81c6271edfe34046d1bab3d7c10a98d0d9c5 SHA512 83474915cab0928d1d2f4229832bef7c093b2943770fa900a7445bfaa633544f50791aa8b4bc4191662af56feef166814d98eb6fad2c0a0eb9db1f8f4806e689
DIST python-gentoo-patches-3.8.6.tar.xz 10956 BLAKE2B e3241d97f886d0a37f85735102db8f00902df59ee12e8501b6c7f549dd4b26a6289bf34ff8dba02b369ed7875fad3d18e177afe9e367db4cb06f2ee908482f9e SHA512 7afa8e54f7b7e6ab35edc16d4214384b8ad8a03068d1984656876d6477b278af931e8c797d03d1bed2f10f9d58ac387db1a43921e54fb17cf4b779f33820abc0
+DIST python-gentoo-patches-3.9.0-r1.tar.xz 13728 BLAKE2B 50e85194c6bafefb8a0ddc4c9dea39227fc2c170db37ab44fa1e068340fa2fc5a59489f50431f0792024df551fc54a20de594579b57717c89fa134b3f000bb6d SHA512 a38c2800e3a0740af79f75f4120c925c7a891aa1f14a71ab56ad97fbabca3573c571140da3f34050bd9f97bd854a704453a910fa6883162196e6d1335a965b61
DIST python-gentoo-patches-3.9.0rc1.tar.xz 8856 BLAKE2B 7bd032dfd047640c6a53633b5b9ee7b24199106b985230f772dda978d3b79fe0406eea64c4a842603a20afb71a90469befa7ec59a5ef1f793e4c901aa85952d1 SHA512 85a7d4397abf2a0f3c3d07a94a3e184ba3dcb347f3b70ee2cb77e81aac63846b01323a0228afd0fd1d32b3cafb64b18f82e6f5bfd88e4d564261ddae11e747eb
EBUILD python-2.7.18-r4.ebuild 10624 BLAKE2B 3981c0899d899e4dfbe198618e005bc9190af8cfbc6ca5b85911c717127bfa19ca546e0dcbf7b0317497e7f4d3fd8498e4b153f38468f31f83008c1f39da2067 SHA512 e3aee3d42db1539233a2a543818cd8a733dcb7c2a33a804d7f6b45cd1d087cd1e665e150ef308e61f49e969477fc1d3f8bd55ba5e9117a274e7e9645e65a3f3d
+EBUILD python-2.7.18-r5.ebuild 10633 BLAKE2B 6254bc97215da181f6e71149a1df9a5261b96b76263ef3966eb14e2ab454586aa7367a2ff284532c2a87cec65505c2fbe6e950cc9589379b2a5b37838c798756 SHA512 34b0f931d2e096f1b8d67568bf07c340b61569506e0bde1fd0706dd550b92e08851b7d671215ebb2b603e250c0aa802b5fe328e572763d25ed48f18aa7ecbc6d
EBUILD python-3.10.0_alpha1.ebuild 9548 BLAKE2B 7f7fadcf9b5f9b09764229ee2c1a4d5be6fc4bc90da7555cafecb16d2690df9098cf28fe3bb719533ad9a608424ed389b17518091d130cd9e0ced7bcf3e787b9 SHA512 fb0e052eef6ba52360903b4112f30f1ea255ba9a56061079124fd7a6379ddce708efc1d2d9241f268f370f0c8158532a83e014d305c469e643ed74392181a301
+EBUILD python-3.10.0_alpha3.ebuild 9548 BLAKE2B 7f7fadcf9b5f9b09764229ee2c1a4d5be6fc4bc90da7555cafecb16d2690df9098cf28fe3bb719533ad9a608424ed389b17518091d130cd9e0ced7bcf3e787b9 SHA512 fb0e052eef6ba52360903b4112f30f1ea255ba9a56061079124fd7a6379ddce708efc1d2d9241f268f370f0c8158532a83e014d305c469e643ed74392181a301
EBUILD python-3.6.11-r2.ebuild 10610 BLAKE2B d9074e767b11ed420c843665b87c466f0014713221c0db4a026fbd91a39debc69689a1674db8a0c0b80dc3eb8df7bc86fe92972918f4c95ef8a52da2936bf631 SHA512 693795866815e724267877e4f97e14d09eda9f321b5c2b481f54952fcefc0859072ab42306eb03b81bd8b3e0a2d71435367452330caabf6bfebbcd2062d1ced0
-EBUILD python-3.6.12.ebuild 10609 BLAKE2B 0b65f6d2d1ffc42a78933959f39ba8010c3d50617ab2a5743834974804995f073b12473d958b0461cb53e8488b86be03308b3c1c3c2f9a361a0d721421b6b468 SHA512 d7731ead3fc83806219f4c879087a0551a349962739624be6e0c4971424f32c5519b5403b746434da244d00c5dab905f3ceda33d4e335d725cae371a8fb69f3f
+EBUILD python-3.6.12-r1.ebuild 10631 BLAKE2B 3a67d09a0e528f2fc501998422539a65c1e3e6ca6ad6747f15aee238d817d674ebca96fe0f5e0d1b32e5fc7047b9a67658a08df675f65716bcfbace3d8d831a3 SHA512 f9822ed17291613453a6fc942a84bb08e4bc5778c85a88044e26d8a4c179b1ccf9ce732c77cf9b17184bfd04d95bac5303bcf7a98fa8043b1c34ff0511eff15f
+EBUILD python-3.6.12.ebuild 10608 BLAKE2B 5619848d7cc222aec96aa3590883f81a99418cb3c1ba277705a1f9f35d28e6323fc6a7d53a22186b620159caf683525ad067d64cdc6a684ad48fb3d1c235d75b SHA512 30fa11c3476e4acbfe1818103b996b86be8bdb20d1da5411c4121e3031f2c8e219b96aa746cc56f1bc01c00604504c649ca412b8a491bd084e99fc1a07edcaf7
EBUILD python-3.7.8-r2.ebuild 10157 BLAKE2B 9d802985fd19463a82452e390a7c20144c839075e307c1ddcdcce9ee0aa923d35e39501af27274cc93d7478ce9beb03e30104dfdc5e464ed1923c1af76f4384e SHA512 7372df64cf7d230bf0e307b442b29c617d062f7bed9032e1e2179e576b788db0c3c8426eae39e654f5eaea6f632a35927e2bf2e32d9f6d247c7359adcb22d322
-EBUILD python-3.7.9.ebuild 10157 BLAKE2B 0e1a18632d94d22d1a21fa77425877a7af1cdcfa4acffb87a208a9eda272cec0553baf978d79ee48d7554946e2db00c304b8d75e879e758baf2d61c1a229de9a SHA512 ac6c40f358df2b58e45d8862ac8ecda89a13d8caff6a68c7bcfa484c524e59a51ac6b70702e9873996beb792a706e5da093ea819bdcbee39996b4f4d48e7a7ab
+EBUILD python-3.7.9-r1.ebuild 10166 BLAKE2B cf8c296d766d2b0fc1001a926096a1460879f4279e49cec46f29513dede7a1196fa5bec69993b479f19abbfee0b3d6d3639df5bd50e1202bc7d950c4371305ff SHA512 fae29ca15647cd1fe125c1ec132727f4fb8c0d38f28bb247113b329608f271563e389feae9a5fb39839c3fbf58c0a1f8c4ee2f2f1add20a9a02a7e24e694a995
+EBUILD python-3.7.9.ebuild 10156 BLAKE2B 1a71bd346866fcf9466a4a29e681a20c7d716f3d7bb5330008925f12e51f3bd2e1ab064a48438abbd6a23d21b3f563f5db50b4a82216ac89abfc9e913cae8071 SHA512 7aaef3db8a570cf09637ed9159611422d86536f84245f4ec771d613bcd3d3334fe4e9c43eb12b4d4d051ca6ddaa022e2d0a0446de16353c9513ba873fd24a451
EBUILD python-3.8.4-r1.ebuild 9928 BLAKE2B 9ebf074bef412756a79b6a9995f8eebdb92239e0558101b873e5d81a3ce74ef8bdcd0fcfb12f93a5d684d919b840912f91213351ef2db4e634feb00e3071ca81 SHA512 c3f9125df55adada570e75a521017e503e095335f98ef899b9d932ac731af8e21487e0710a70572c2766193ed02cc1e32f2350b457add36519762607c131a629
-EBUILD python-3.8.5.ebuild 10257 BLAKE2B cd47eea37fd760e8d295fabab6202a6cba3d34bd74735bc4ba1ee79c91fb5ca369ac0d1bc7eafc58d1caa7af9ae1235f0da16ce0f3b29aaa4aacafec87532375 SHA512 f98dc41b5565e712fb290633b13a86526edd85714840d3ad7b7f53c22283cc589fe740cb3dbffa4a4b06aabee76983863484395ec524a01db110ac69d0d62419
-EBUILD python-3.8.6.ebuild 10258 BLAKE2B 499ca6e4af5eff7f1ecf0956262b5cd9d3a7b1b4832abcc2041e79e8617cda438f685e4e227dfd475f54c02a2132ebd26c6ddaa97662c1e3fe821586ae089e87 SHA512 31eb14cd5dab778578c0460f7fec610c20d54bed51407c4eec22cac1dd35730fe46c7b0ff2beea3fe925d4972831e61d58431ed62116914bf1428cacb909600e
-EBUILD python-3.9.0.ebuild 9534 BLAKE2B e522734c07fa17304202380be03ce56b39a979a90602575abcdaa8d956e814022448fa8007d6ae6ca4c41624af28f2c461f3cfcb35e5614f4841636381e82c29 SHA512 81135ee4d5a068a72a388bd8eb227ca56c11460964ce95acac44b81fd8f39725f587c85b98750a70fd67fe01fa9be35001c649cbc98d1755eb1b90ea92157b08
+EBUILD python-3.8.5.ebuild 10256 BLAKE2B 63447912d09c28b3774d717a82ac6e275197de69fa00e3af7faf6e6eb09c60917480635035a71dbf3401fe8daeef62c4a130c64ccef7d47eed9607c2cf3d5b21 SHA512 fda9f806cac3c1019af06550f6ba2270993395f8cbf47da31771e0ae0a315282b5335bce91cb8d2ca95861ca50c316bd62ae8b7cf537624765e8359b11ce9ce4
+EBUILD python-3.8.6-r1.ebuild 10267 BLAKE2B 2d7c2de3b562c73dee65bc7a1abf77f32fb0ee07950df18dcd8bea5d5abbff8669fb98127268d05a02bb732739b7d3f9208e42c2b84d9c47d4b51e49e126aa2c SHA512 47005c48663bf7df8406190968e92a2db00c3835594e670ebef5ff7bec536f4906ab7e682d829b6f9259f9d040a737850e4e90032b23b2f5ac254ca1105623de
+EBUILD python-3.8.6.ebuild 10257 BLAKE2B b118a84fd01fe4b410264840ff22e14996e96b61ce672a5856a21d31664f0caa89f03264c780665d3ba5e7922e3984e0df667667f346f3907e9e175622a118da SHA512 f8369eb3bf704366b187202b6f883ff8d5a9585b4a1aedf281c3e76f9d4009d169bfb62ccaa7489726ea8af692a7fbf1e79264f5bb4aa4339fad202ba6bffb79
+EBUILD python-3.8.7_rc1.ebuild 10276 BLAKE2B 5baaa0050d1c1fbbff68ff43f622a609678b40b7db953f7355edd5ffdbec38e1b6d922362ee6cd1c47cba9e050e94317417f8fd2e1b7d9394010f24c92d9e949 SHA512 cc84aa79891e1c0e26249f5c7bf7c63ccea625258ffff7d09e0d17404a866075ca0948fd910a9480f1c2447cb35cab090de2ccf26df63e3533b5680935bde771
+EBUILD python-3.9.0-r1.ebuild 9542 BLAKE2B 50e1231c39b31505a4774ec69ad9c955c2b44b42d76999778db08db4501bc4a283af0985cda99b2021c6b5f096f64f596c7870a37a55cdc93698574a4eb01460 SHA512 d8f69706b91a41bd66732989f904728dfad9a1ea93ca4401fbd6b7c9bdfe83ce0a3e14e647e57b62bc7876c4ac1b3f27fa69c7c5a2b84eeb11c442c9642495e7
+EBUILD python-3.9.0.ebuild 9533 BLAKE2B b4efc6b65f8fa865aa9f16484866b5f385a8c70e5276ee9e8c06772e16c23c8f9c058b4dfc891fd44daefd8d66a932155a02028bfeeaae283ba9d9a7bd9e3b0d SHA512 e21249bdd74e0304cf813f99a00dbc618dc8b5a358e0ca8547e631ff2a3d40cebe8c91313d07b3c992373b7cfb06fb00123016c5870d787bca14377cceff0ce5
+EBUILD python-3.9.1.ebuild 9542 BLAKE2B 7534f920099c3cfe5293ba093496a5858e4107f8e9e7f885c62a8d70e2c7ae4a0185b28d3753d07809b8bc99dc71ee7c4aef94880989ff43fc43fd77cbcae076 SHA512 f4fbf2530ea2c7c64d2aedaaa05890977d45709b5d6bfea2e8bf417996e59f6f8be41ac59b8811fc105b7c6f13ecb8b514fa7c4643a6871286f974190897db09
MISC metadata.xml 819 BLAKE2B 120c7c65d77488e726c5a0f4aa19469867ea6900e747169fae2f9cf8f14ec2936089d5edfe1935ce610bec26387273e261b1cc4b023680c8c4b229f2141a7223 SHA512 08f45707e5490067a21951b9d37c8ae67064ab67cccc5b8d8c204eab8d4a004fb910627b62989c67b849b89d301618f8f8f7996e99e1ef5bab38a239c49c124d
diff --git a/dev-lang/python/python-2.7.18-r5.ebuild b/dev-lang/python/python-2.7.18-r5.ebuild
new file mode 100644
index 000000000000..b5f991a0dae6
--- /dev/null
+++ b/dev-lang/python/python-2.7.18-r5.ebuild
@@ -0,0 +1,369 @@
+# 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-r4"
+
+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 )
+ !<=dev-lang/python-exec-2.4.6-r1"
+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 scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ # python
+ ln -s "../../../bin/python${PYVER}" \
+ "${scriptdir}/python" || die
+ # python-config
+ ln -s "../../../bin/python${PYVER}-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
+
+ # python2* is no longer wrapped, so just symlink it
+ local pymajor=${PYVER%.*}
+ dosym "python${PYVER}" "/usr/bin/python${pymajor}"
+ dosym "python${PYVER}-config" "/usr/bin/python${pymajor}-config"
+}
+
+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.10.0_alpha3.ebuild b/dev-lang/python/python-3.10.0_alpha3.ebuild
new file mode 100644
index 000000000000..ea470a43ed9f
--- /dev/null
+++ b/dev-lang/python/python-3.10.0_alpha3.ebuild
@@ -0,0 +1,331 @@
+# 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 multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs
+
+MY_P="Python-${PV/_alpha/a}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-3.10.0a1"
+
+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
+}
+
+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@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ 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=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ 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.6.12-r1.ebuild b/dev-lang/python/python-3.6.12-r1.ebuild
new file mode 100644
index 000000000000..25f17f5c90c7
--- /dev/null
+++ b/dev-lang/python/python-3.6.12-r1.ebuild
@@ -0,0 +1,365 @@
+# 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 multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs
+
+MY_P="Python-${PV}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}-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@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ 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 faulthandler"
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ 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.6.12.ebuild b/dev-lang/python/python-3.6.12.ebuild
index a26b31959a43..d9accf08e8a3 100644
--- a/dev-lang/python/python-3.6.12.ebuild
+++ b/dev-lang/python/python-3.6.12.ebuild
@@ -19,7 +19,7 @@ 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"
+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 )"
diff --git a/dev-lang/python/python-3.7.9-r1.ebuild b/dev-lang/python/python-3.7.9-r1.ebuild
new file mode 100644
index 000000000000..535ef564a90a
--- /dev/null
+++ b/dev-lang/python/python-3.7.9-r1.ebuild
@@ -0,0 +1,351 @@
+# 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 multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs
+
+MY_P="Python-${PV}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}-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 ~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@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ 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."
+
+ # 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=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ 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, 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.9.ebuild b/dev-lang/python/python-3.7.9.ebuild
index 029c85431795..4b1dd30b804c 100644
--- a/dev-lang/python/python-3.7.9.ebuild
+++ b/dev-lang/python/python-3.7.9.ebuild
@@ -19,7 +19,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.8.5.ebuild b/dev-lang/python/python-3.8.5.ebuild
index d2c085cb32f9..65e7c7892793 100644
--- a/dev-lang/python/python-3.8.5.ebuild
+++ b/dev-lang/python/python-3.8.5.ebuild
@@ -19,7 +19,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 )"
diff --git a/dev-lang/python/python-3.8.6-r1.ebuild b/dev-lang/python/python-3.8.6-r1.ebuild
new file mode 100644
index 000000000000..5be4e7e67733
--- /dev/null
+++ b/dev-lang/python/python-3.8.6-r1.ebuild
@@ -0,0 +1,355 @@
+# 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 multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs
+
+MY_P="Python-${PV}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}-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}"
+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@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ 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=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ 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.8.6.ebuild b/dev-lang/python/python-3.8.6.ebuild
index df05aaedef1f..350c37e1246b 100644
--- a/dev-lang/python/python-3.8.6.ebuild
+++ b/dev-lang/python/python-3.8.6.ebuild
@@ -19,7 +19,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 )"
diff --git a/dev-lang/python/python-3.8.7_rc1.ebuild b/dev-lang/python/python-3.8.7_rc1.ebuild
new file mode 100644
index 000000000000..b60d4405e93e
--- /dev/null
+++ b/dev-lang/python/python-3.8.7_rc1.ebuild
@@ -0,0 +1,355 @@
+# 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 multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs
+
+MY_P="Python-${PV/_rc/rc}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-3.8.6"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="https://www.python.org/"
+SRC_URI="https://www.python.org/ftp/python/${PV%_rc*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~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@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ 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=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ 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-r1.ebuild b/dev-lang/python/python-3.9.0-r1.ebuild
new file mode 100644
index 000000000000..289c9906dea7
--- /dev/null
+++ b/dev-lang/python/python-3.9.0-r1.ebuild
@@ -0,0 +1,331 @@
+# 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 multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs
+
+MY_P="Python-${PV/_/}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}-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}"
+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
+}
+
+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@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ 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=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ 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.ebuild b/dev-lang/python/python-3.9.0.ebuild
index b47689f99a6e..90ac33199984 100644
--- a/dev-lang/python/python-3.9.0.ebuild
+++ b/dev-lang/python/python-3.9.0.ebuild
@@ -19,7 +19,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 )"
diff --git a/dev-lang/python/python-3.9.1.ebuild b/dev-lang/python/python-3.9.1.ebuild
new file mode 100644
index 000000000000..9f6b2edbb3a1
--- /dev/null
+++ b/dev-lang/python/python-3.9.1.ebuild
@@ -0,0 +1,331 @@
+# 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 multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs
+
+MY_P="Python-${PV/_/}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-3.9.0rc1"
+
+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
+}
+
+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@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ 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=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ 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/rakudo/Manifest b/dev-lang/rakudo/Manifest
index 29f033d78e62..71e4cb15ba40 100644
--- a/dev-lang/rakudo/Manifest
+++ b/dev-lang/rakudo/Manifest
@@ -5,11 +5,13 @@ DIST rakudo-2020.07.tar.gz 4729727 BLAKE2B 131d4aaee21c7e38fb8f2c3091336597a4cb5
DIST rakudo-2020.08.1.tar.gz 4740608 BLAKE2B be1b1f755690493483ba001407a89de69d64d0959d99bd28cdc4cbbacbcc56e884aa6244b2046c0ff6f6c4374b8edc86016c3c6b9719926a71eb5640092d16d1 SHA512 0142a5df29d4bd1c5a0e8cd37d59242b552dc523966293293fb643f4ce65a004457d81f76823db15bec1508a12c631eec324623cb3b8d60bc14d55b626959b11
DIST rakudo-2020.09.tar.gz 4743378 BLAKE2B 4ccac6fa59ca80868e7525eabc05d358da9265a87aced24af2c25fae6c0e386aae18c5f44d9d3dd6db377f155b481e003c91c6e51bb6a89ee9a380e749e0c847 SHA512 c838b7a42670a99860184464b22b1cb3c9a27988eb6e982f4367df883afe06608199bf363164965c1199027eeed880f237771c1e8580a80e585f1fd67d0c0574
DIST rakudo-2020.10.tar.gz 4755030 BLAKE2B 869f6dc6569093f7ad39d9c250d6564b6311cdefda2950784e54263bed6faca4b8653a9578b19f52819eb8e9f24e1f5f831468bf4620d885d4bb26944e22e8f4 SHA512 fcd00ac782ca28243ca2c6ceb45ff99322952086749aea01ccdfb5ae8c525cb6304fe5d20e7905a9808b1b7a1a96d7c4406847b10c0e4ea8b5fd7d053870f46a
+DIST rakudo-2020.11.tar.gz 5678270 BLAKE2B 314da91b516d509fcfcfff16e46444243083bdeb21294bc33a2996f1883317b663cc3442cbb6090c8339c5607b4e64a4c8c3c9f2fa5d728bd5c6513d6ef20bcf SHA512 d6c0f7849570b82611db311445f6b60000ecf1c0773d1bb5f4da0d27a9e0d443149ab72f954da2e75a8323d9be9c31f655dee1183a8ca714d89c63baa6e2489e
EBUILD rakudo-2020.05.1.ebuild 1632 BLAKE2B 986fda7851e41d16434c112fd72056991cc07aaf18104918ae76bd81296866ce16af53a82e22db508f219de9aed5f2c32c7a71ba214d9931c1fa0839b0e054d6 SHA512 7d1f15d9fa94b666b6e4862905e2488ba1fcfcd5a8efd297aa8ceb388359036d329ba5d5bc5d4920094e6dabfa527ca11c5fbc08d556b2ec213bac7b6d648064
EBUILD rakudo-2020.06.ebuild 1632 BLAKE2B e2bdaaf8c2c1dca93e6c9f5d7c6ff76f2681255d4c55ee60d2edb77833b29f1e2d2b0e947e139e28ba02acbaf35b95a7b99d183ec68d306998e72e49d7fdb6f3 SHA512 1cbf785efeaca5721fd547a1b953d665cf2dd28896324229d2a76252aa720831386a3c677414e81df530ea3ab8ea3e149d29461c668b999d255e845724b6774b
EBUILD rakudo-2020.07.ebuild 1632 BLAKE2B e2bdaaf8c2c1dca93e6c9f5d7c6ff76f2681255d4c55ee60d2edb77833b29f1e2d2b0e947e139e28ba02acbaf35b95a7b99d183ec68d306998e72e49d7fdb6f3 SHA512 1cbf785efeaca5721fd547a1b953d665cf2dd28896324229d2a76252aa720831386a3c677414e81df530ea3ab8ea3e149d29461c668b999d255e845724b6774b
EBUILD rakudo-2020.08.1.ebuild 1632 BLAKE2B e2bdaaf8c2c1dca93e6c9f5d7c6ff76f2681255d4c55ee60d2edb77833b29f1e2d2b0e947e139e28ba02acbaf35b95a7b99d183ec68d306998e72e49d7fdb6f3 SHA512 1cbf785efeaca5721fd547a1b953d665cf2dd28896324229d2a76252aa720831386a3c677414e81df530ea3ab8ea3e149d29461c668b999d255e845724b6774b
EBUILD rakudo-2020.09.ebuild 1628 BLAKE2B 09151d187224cdf92865e57c775934cf952ea0b90462ac90c1e36a164dbd345d150e26a7cc3fd27796b61fbabb6b49f5025cff9d2271ad3ae03635c829d2baf8 SHA512 ec2242b1271167800bc954df2039f999981a1dff9bb0d0295d1b8fc780dbada59915e22ed50a5953d73fb65935e0090df6344255fbf5ba91f20e07139ceec082
EBUILD rakudo-2020.10.ebuild 1628 BLAKE2B 09151d187224cdf92865e57c775934cf952ea0b90462ac90c1e36a164dbd345d150e26a7cc3fd27796b61fbabb6b49f5025cff9d2271ad3ae03635c829d2baf8 SHA512 ec2242b1271167800bc954df2039f999981a1dff9bb0d0295d1b8fc780dbada59915e22ed50a5953d73fb65935e0090df6344255fbf5ba91f20e07139ceec082
+EBUILD rakudo-2020.11.ebuild 1628 BLAKE2B 09151d187224cdf92865e57c775934cf952ea0b90462ac90c1e36a164dbd345d150e26a7cc3fd27796b61fbabb6b49f5025cff9d2271ad3ae03635c829d2baf8 SHA512 ec2242b1271167800bc954df2039f999981a1dff9bb0d0295d1b8fc780dbada59915e22ed50a5953d73fb65935e0090df6344255fbf5ba91f20e07139ceec082
EBUILD rakudo-9999.ebuild 1746 BLAKE2B 825811a2641e4fa2290771caf47ff2a5c4e6253455bb0b5fec85d1a910e952e597fca38f57aa6b939f4bb55aebbab14a30bad08bda8448d3dc3aa50dea81ccbd SHA512 af56d0da89afb6f506b6fd041692e1d798b7832d5684021aef6b9fd8d5d51336c4751e3cb9a6a906930f3ac115514098a83943cb0ee4a195f6fa5fc5027f7791
MISC metadata.xml 513 BLAKE2B 90fdc5cdf5182b707681ce28a7e4b06c1e8e1a05f848e072de4abc5e8f074ec9becd41c117880bba60e00eebe69a4ab1639b39b0a29307d65d6be09784ee6a18 SHA512 d0144523717581bc13a12b8b8edff0ec03800fe1bda313725a4db37bc70e26c3cf566426e48eb6ecf58f8653f6c51f375ea31d915d75bcf37fc0772251047e7a
diff --git a/dev-lang/rakudo/rakudo-2020.11.ebuild b/dev-lang/rakudo/rakudo-2020.11.ebuild
new file mode 100644
index 000000000000..e912ccc2de62
--- /dev/null
+++ b/dev-lang/rakudo/rakudo-2020.11.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit java-pkg-opt-2
+
+DESCRIPTION="A compiler for the Perl 6 programming language"
+HOMEPAGE="https://rakudo.org"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/rakudo/${PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+else
+ SRC_URI="https://rakudo.org/dl/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Artistic-2"
+SLOT="0"
+# TODO: add USE="javascript" once that's usable in nqp
+IUSE="clang java +moar test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="|| ( java moar )"
+
+CDEPEND="~dev-lang/nqp-${PV}:${SLOT}=[java?,moar?,clang=]"
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.7 )"
+DEPEND="${CDEPEND}
+ clang? ( sys-devel/clang )
+ java? ( >=virtual/jdk-1.7 )
+ >=dev-lang/perl-5.10"
+
+pkg_pretend() {
+ if has_version dev-lang/rakudo; then
+ ewarn "Rakudo is known to fail compilation/installation with Rakudo"
+ ewarn "already being installed. So if it fails, try unmerging dev-lang/rakudo,"
+ ewarn "then do a new installation."
+ ewarn "(see Bug #584394)"
+ fi
+}
+
+src_configure() {
+ local backends
+ use moar && backends+="moar,"
+ use java && backends+="jvm"
+
+ local myargs=(
+ "--prefix=/usr"
+ "--sysroot=/"
+ "--sdkroot=/"
+ "--backends=${backends}"
+ )
+
+ perl Configure.pl "${myargs[@]}" || die
+
+ if use java; then
+ NQP=$(java-pkg_getjars --with-dependencies nqp)
+ fi
+}
+
+src_compile() {
+ emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" install
+}
+
+src_test() {
+ RAKUDO_PRECOMP_PREFIX=$(mktemp -d) default
+}
diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest
index ffffebe19c9e..079a9a231ae9 100644
--- a/dev-lang/ruby/Manifest
+++ b/dev-lang/ruby/Manifest
@@ -17,13 +17,13 @@ DIST ruby-2.5.8.tar.xz 11298404 BLAKE2B 3256c0448e72b63c0bd89f89a27fa9c09c8feed5
DIST ruby-2.6.6.tar.xz 11567284 BLAKE2B 45e910dd9b128c46bff3003834c4fdcbbc2e2e4d3e44f298ff4356a285de2c375d6b6021a3aa28d89336b32a1655fa4a7c086d07f4a0f6bcd578a11dd4a894da SHA512 86caf93dbf61d03781767ab5375a7edf4761f13ba08ccfefe16c0a7550499237e7390c2f72a95d42670d4fe76b2401b4218936187c62ec1572799e9e04c50d62
DIST ruby-2.7.1.tar.xz 12003684 BLAKE2B 90a35c3e246cfe982a146be29a3d121d6e2c251ed96703dbc46b98c21e0e43e5445132e6119e584ae35f7193f063ff1b14822f947a4e07037c37fbba5e4038da SHA512 79f98b1ea98e0b10ec79da1883e8fc84d48ffe5c09ae945cbebde94365e35a589d919aac965f74d70ca7e21370ecee631ac5a8f9c4eac61d62f5aa629f27bf31
DIST ruby-2.7.2.tar.xz 12037052 BLAKE2B a4ad22295b3fed4e8064fc6e77adb8642d1fa7ae1f4ef912d7bde19c735cb25b1a3e3aefba53dad944046d844d608bcefba61c314cf1e52747f50d7d91f4c436 SHA512 7972278b096aa768c7adf2befd26003e18781a29ca317640317d30d93d6e963ded197724c8e2f1dfe1e838c5647176d414a74732a62e931fb50d6f2e0f777349
-EBUILD ruby-2.5.8-r1.ebuild 6278 BLAKE2B c14b2405e58a01a7ca7b8af4b9d7d85dc4bbce732277f5393a6bc3bf6895a1dd3c69183f07d73b869a8f0ebcd3a07fdbd8da6d84f7c42072a60f3f69bde6d43c SHA512 f01e6516e7c5b0c7cd2d93dab455143fe90617192b981c79a1184f369720d42cee8c836f4064540447a09ad81d7739e40717d5d9552a9b11e0fc30d5a4ccb1a4
+EBUILD ruby-2.5.8-r1.ebuild 7100 BLAKE2B 912195706cc476e52dd0e20005d4a04a11b286312de1129a91e281e291fa3caeb7de083e296db8384de3816198f3c1c02168bfc09120628cef95cece93345ad8 SHA512 1f20bab421047c622053d7e07a873e1e8c35bac6b5d938ed1d72e33cf7f99be7ec1f300eac9da38651fcc7b3761a81140f630cf1039cde78c3858e2942e01728
EBUILD ruby-2.5.8.ebuild 6189 BLAKE2B aa04b9f393085468d3452bfcc55a45c721bcbe51c9602d6f44510d1f936369f1c741ade879d24c619b1722270a460ba20bc679f0714a98d310d8293bc84c3678 SHA512 156ac0da5b5e6d1240bcb42ad9a7ce455a17077a3bfd66610d5425216ff7436462e8e1362764c8614900376eef146b168e1dd4691cddd9f13ded5a4a30204c9e
EBUILD ruby-2.6.6-r1.ebuild 6614 BLAKE2B b4862b320dbb557bde3b3c6e86b0d178a3421587afdb848ecf5991d48525c20b0012cf88cd31cc5f130088127b6c6ea5dd121cb461c842cab183f3db02260356 SHA512 28f23b21a389e90a59738a4debb38ed0eb30e44eac1dd3df0037fdd37d6e1467ee61beaa5dd35460cd767b743ef48c6c31b243cb207ffdef3b94bb3ef6d6241e
-EBUILD ruby-2.6.6-r2.ebuild 6686 BLAKE2B 6bd605ff5727d5b4418678c9d3ddc7151673dbd64ba8c78177f894b3c9e92cd03091a11d12348047b3ff7d57799feb54f5370ab268796af738206aaae60d5f46 SHA512 91592d22d49645651d3874716ef753f090f0092dfb75580c1dcc42261fe0a67fcd102b2c2ec737d1760ebe4b50fcd010cb8deafb9d73ace3108fd8bf3d5a818c
+EBUILD ruby-2.6.6-r2.ebuild 7508 BLAKE2B 57e533cae47720895e1c5b09489df0895540cafe9b6601c2434f73de8fba58fefc24ccc3d9c60c0b729eafb0200e4e28657ad10f20c578c6fc6f2a67950fd99a SHA512 a4c5caf911449ca64d801de6e44c9431d7934f885905040a830b90fe7c87ee50c8cf1e8fc838ab50af6856ac96c9b85f4e251408ea7aeeb8ebd335708e7d17eb
EBUILD ruby-2.6.6.ebuild 6614 BLAKE2B af5f7d759a8676db12091569871bf5d39a430715b1bba11c6f8a7fafb210039d0966797c5b2974fb56e91e670b65710adb73dbcc64cf20f2473c1b02f84bd4ba SHA512 ca639f0b01b4618f876d6473aa4a6756a97d66b8194a623865f8f96758016e3d4109ca5905570bbd0c7ad680c66722fffa91fc6c506083fd8e0ea418e354ffe9
EBUILD ruby-2.7.1-r1.ebuild 6777 BLAKE2B 6f2bf65a51e784c931b962b7e1430655dc194801a2fd0ea63eff7c6ff97dd624939ff5f37ed6a2fa9aaec27ab0cad94281d4172051cc5e298e4df3b15d6deb41 SHA512 733c164d8d1a70a68d313ec764807386df22cbefa04346e788b3701e7a242899cb086ae18096002c3dee0c3f6459752a3f751c032320a9b0ae947e0ab2d16cc4
EBUILD ruby-2.7.1-r2.ebuild 6857 BLAKE2B e4ed8cbe491edcc6123435383ead38cbe968f388acd35a0b9aa4e2ce556b8ac15e4c8ae5057678c5ef3c9e552b2a285953e85792fef8d45b0242dc4a52a59bb1 SHA512 1ac8a7d752fd80d4b70833acb059f650b0e79df376a6c956dd1f47857ef418e8ba5a7ff3cdf893eec17dd7afef901b95dec25eab8b1bda0e7f907ca658933453
EBUILD ruby-2.7.1.ebuild 6777 BLAKE2B 987421adeb916bed61606194e0c4eff5d26e4da8e7d973bcc4ee2983fdbfb38c030a256b5327d23af3e2fd44dd2287cbeb4fd7072d375a3723fc16b1e18a5430 SHA512 3b733ece468748c72245c0cd83f8cb603e279db33aefa224f52c3441143332939b35f773a1d2d4a2cca688a74875f32537209b15cffbb5b4d7c1f6618f8a4a6b
-EBUILD ruby-2.7.2.ebuild 6857 BLAKE2B e4ed8cbe491edcc6123435383ead38cbe968f388acd35a0b9aa4e2ce556b8ac15e4c8ae5057678c5ef3c9e552b2a285953e85792fef8d45b0242dc4a52a59bb1 SHA512 1ac8a7d752fd80d4b70833acb059f650b0e79df376a6c956dd1f47857ef418e8ba5a7ff3cdf893eec17dd7afef901b95dec25eab8b1bda0e7f907ca658933453
+EBUILD ruby-2.7.2.ebuild 7679 BLAKE2B b4b0172836ea666a7e74d2cce467b7a19f449c702c49254a9a58f90925110207d9a9b183e285c63d8034eba931a30738fb935db129eece6ccafe1ff2615b4b73 SHA512 7dcac5ddecc5bd150a3b1c6a9ea29d34565fd242689c94d4101a5ff1e923f9917dc3ba0e8f32985092b21d067263f2cc08ca25d15808260c8100a9bffc76b29a
MISC metadata.xml 523 BLAKE2B 4ed08360a279c8d44fe87f677cdc24a76eda6d37c591186951e16321f464d4451d0d1299c4e1d996bffe15a8cca672d4c5c1bc5fb0aa6cda69b8eff90ec31df8 SHA512 f74c386a3d6314d630aff11c40314db40b7f9fb202910480b37aa65b7bac62d6e87fa7590b2a26aa1713bb65be486ed84138e1273eaf7c8b966d7414e6b55464
diff --git a/dev-lang/ruby/ruby-2.5.8-r1.ebuild b/dev-lang/ruby/ruby-2.5.8-r1.ebuild
index ab80427fda65..6c1a64eaf332 100644
--- a/dev-lang/ruby/ruby-2.5.8-r1.ebuild
+++ b/dev-lang/ruby/ruby-2.5.8-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 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 +ssl static-libs systemtap tk xemacs"
RDEPEND="
@@ -73,6 +73,23 @@ src_prepare() {
einfo "Removing bundled libraries..."
rm -fr ext/fiddle/libffi-3.2.1 || die
+ if use prefix ; then
+ # Fix hardcoded SHELL var in mkmf library
+ sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die
+
+ if [[ ${CHOST} == *darwin* ]] ; then
+ # avoid symlink loop on Darwin (?!)
+ sed -i \
+ -e '/LIBRUBY_ALIASES=/s/lib$(RUBY_INSTALL_NAME).$(SOEXT)//' \
+ configure.ac || die
+
+ # make ar/libtool hack for Darwin work
+ sed -i \
+ -e "s/ac_cv_prog_ac_ct_AR='libtool/ac_cv_prog_AR='${CHOST}-libtool/" \
+ configure.ac || die
+ fi
+ fi
+
eapply_user
eautoreconf
@@ -123,6 +140,7 @@ src_configure() {
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
--program-suffix=${MY_SUFFIX} \
--with-soname=ruby${MY_SUFFIX} \
+ --with-readline-dir="${EPREFIX}"/usr \
--enable-shared \
--enable-pthread \
--disable-rpath \
@@ -174,6 +192,12 @@ src_install() {
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}"
+
+ if [[ ${CHOST} == *darwin* ]] ; then
+ DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}"
+ export DYLD_LIBRARY_PATH
+ fi
+
RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
for d in $(find "${S}/ext" -type d) ; do
RUBYLIB="${RUBYLIB}:$d"
diff --git a/dev-lang/ruby/ruby-2.6.6-r2.ebuild b/dev-lang/ruby/ruby-2.6.6-r2.ebuild
index 7482975836e3..e8e8f2b88b64 100644
--- a/dev-lang/ruby/ruby-2.6.6-r2.ebuild
+++ b/dev-lang/ruby/ruby-2.6.6-r2.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 ~mips ppc ppc64 ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~mips ppc ppc64 ~s390 sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit libressl +rdoc rubytests socks5 +ssl static-libs systemtap tk xemacs"
RDEPEND="
@@ -76,6 +76,23 @@ src_prepare() {
einfo "Removing bundled libraries..."
rm -fr ext/fiddle/libffi-3.2.1 || die
+ if use prefix ; then
+ # Fix hardcoded SHELL var in mkmf library
+ sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die
+
+ if [[ ${CHOST} == *darwin* ]] ; then
+ # avoid symlink loop on Darwin (?!)
+ sed -i \
+ -e '/LIBRUBY_ALIASES=/s/lib$(RUBY_INSTALL_NAME).$(SOEXT)//' \
+ configure.ac || die
+
+ # make ar/libtool hack for Darwin work
+ sed -i \
+ -e "s/ac_cv_prog_ac_ct_AR='libtool/ac_cv_prog_AR='${CHOST}-libtool/" \
+ configure.ac || die
+ fi
+ fi
+
eapply_user
eautoreconf
@@ -126,6 +143,7 @@ src_configure() {
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
--program-suffix=${MY_SUFFIX} \
--with-soname=ruby${MY_SUFFIX} \
+ --with-readline-dir="${EPREFIX}"/usr \
--enable-shared \
--enable-pthread \
--disable-rpath \
@@ -182,6 +200,12 @@ src_install() {
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}"
+
+ if [[ ${CHOST} == *darwin* ]] ; then
+ DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}"
+ export DYLD_LIBRARY_PATH
+ fi
+
RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
for d in $(find "${S}/ext" -type d) ; do
RUBYLIB="${RUBYLIB}:$d"
diff --git a/dev-lang/ruby/ruby-2.7.2.ebuild b/dev-lang/ruby/ruby-2.7.2.ebuild
index e4e8048e083a..1afe088cc0ea 100644
--- a/dev-lang/ruby/ruby-2.7.2.ebuild
+++ b/dev-lang/ruby/ruby-2.7.2.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 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit libressl +rdoc rubytests socks5 +ssl static-libs systemtap tk xemacs"
RDEPEND="
@@ -79,6 +79,23 @@ src_prepare() {
einfo "Removing bundled libraries..."
rm -fr ext/fiddle/libffi-3.2.1 || die
+ if use prefix ; then
+ # Fix hardcoded SHELL var in mkmf library
+ sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die
+
+ if [[ ${CHOST} == *darwin* ]] ; then
+ # avoid symlink loop on Darwin (?!)
+ sed -i \
+ -e '/LIBRUBY_ALIASES=/s/lib$(RUBY_INSTALL_NAME).$(SOEXT)//' \
+ configure.ac || die
+
+ # make ar/libtool hack for Darwin work
+ sed -i \
+ -e "s/ac_cv_prog_ac_ct_AR='libtool/ac_cv_prog_AR='${CHOST}-libtool/" \
+ configure.ac || die
+ fi
+ fi
+
eapply_user
eautoreconf
@@ -129,6 +146,7 @@ src_configure() {
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
--program-suffix=${MY_SUFFIX} \
--with-soname=ruby${MY_SUFFIX} \
+ --with-readline-dir="${EPREFIX}"/usr \
--enable-shared \
--enable-pthread \
--disable-rpath \
@@ -185,6 +203,12 @@ src_install() {
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}"
+
+ if [[ ${CHOST} == *darwin* ]] ; then
+ DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}"
+ export DYLD_LIBRARY_PATH
+ fi
+
RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
for d in $(find "${S}/ext" -type d) ; do
RUBYLIB="${RUBYLIB}:$d"
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index a410570756af..d066320ec4ea 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -2,7 +2,7 @@ AUX 0012-Ignore-broken-and-non-applicable-tests.patch 3387 BLAKE2B 6809f3d5c2cf5
AUX 1.44.0-libressl.patch 8969 BLAKE2B 1ae707140a93fd76ec825e0e8c49f1408cda5a3b290a07c974d8ba8ba9b82e230bc2a4864cdecc744425d77ded819690da9328af2f648c636e8fd9ba3f0bb131 SHA512 81421ce6a0eb89bb51ff6a95be79159fce18be51c341f29aaf9d18e9b4aa1d3324e0c3472f72881c94a053b6dc4490c16b5ca2ac9cece0ea2d01051e3ed28a56
AUX 1.46.0-don-t-create-prefix-at-time-of-check.patch 1322 BLAKE2B 2355cb6da8f2ecef611d7f7d1b82f6ebed6c5d3b579fcdd34024413d8156605db1134ae5d3b6fbdb15e33b063dd8e827580a32065f7b6ddf65c5063f0c73d9ab SHA512 95f883b6638a10bae3ab88864a8d8f0a4463c62db94f9e138edf0f0b1c2378432c766f8d7222fdd0d00950752b222e22b1b7edb856c7e9104878a3ddf8af44d2
AUX 1.47.0-ignore-broken-and-non-applicable-tests.patch 2862 BLAKE2B 96363bfcaf3634185160d54f475711409c5af1e31b8deb3f1cb8650629eed6f4db6b8d758b84055c9ebe2983a213485f9d4d6de4f551ea1e3d122f7c3baad77e SHA512 4a2c7eab2d3930ba6d8bc042f52c993683a3e21bf023ae609bfb4db65df8c5750ce94264d6ee9196e4dfd3b3e204f10c70d6f3a2e752d0b373fee4ada4c5fe53
-AUX 1.47.0-libressl.patch 8926 BLAKE2B 7903c83d6d905733e53b1846d39eedf38180d3419e3ec1c338d7988d15eabde25ebcc58fdee931f01fc78976d2aa3892b339a73363233f09d78a6e2f0a37f29e SHA512 5f13ce28fd427bad3939dd7e5b1b4e3e0f5a6e13b5ba6acbcfa070106543dd2fee8023332180e1d11e7a4e6a7763f789a5de5bcbb46f12b02abd273e50bb8f91
+AUX 1.47.0-libressl.patch 8929 BLAKE2B b48e2ab7b9e391aefcca890dbb65276a873f40fb59b1c0bbd18548b678c2f1c10b3508f255015f5916897f887062a426b7419e37e0eee542edaf5bed455e028b SHA512 0638f67832e35674df1a6ff0ad2a05fef7a8fb9b4c4115ab6d926ded70aadd1494d9d9348f3af0e142c86acee62a68b43ad1bdd66e1feff1e6603dc813d36bf5
AUX 1.47.0-llvm-tensorflow-fix.patch 2535 BLAKE2B 8baf9b938f59d4180af536d24d99789bf1d9d5258eab8c85add4b0c78fcaceea173606711d68bc9597be06cda5384c528e53d01ee5b66408efe66c38cf75b9ba SHA512 206148d8f017dfe206a0e9d436cbdef68f1e433ce0adb7b865d0dfccbb509a6c16f8c8ca76d433ec68992871cf6ac1d808dcbc66995dcaa87928cac08237dad7
AUX 1.48.0-gentoo-musl-target-specs.patch 6489 BLAKE2B 37330507a03aee9b807b2142e264f6418ea63a1838bf0c39460d3cb972423dc515334e0d440088ede2f1062c0bc3e382fa4e86dc256baccfe4fe82eaa3e69125 SHA512 6e87a5d166c4f876c48a8b65f3420cfe48bc711d3126f31fa4c432968986724469cf04bf5bc301390a47022dcec5c885ca706fa543e5117329c47510fd88b04f
AUX gentoo-musl-target-specs.patch 6500 BLAKE2B 07fe556fa39789a7b2ad0f3cb2e3885dd2a234216abb1e6a6aec4653b0d5da2ca9b29f2c2b5ac3ad95cde65203722c90079169dd46719f04a7c3cf5cffb7d8cb SHA512 55678d07fd7834e85da6ede69ee71115f5af92919deda122b5aac8be73c4d92f437e790f6dc8a566b0b738f07a0d6e0c738d4b5c8cec004b86de206b8d939c8f
diff --git a/dev-lang/rust/files/1.47.0-libressl.patch b/dev-lang/rust/files/1.47.0-libressl.patch
index 07ad0ebc5dc2..8e9bf9997a7b 100644
--- a/dev-lang/rust/files/1.47.0-libressl.patch
+++ b/dev-lang/rust/files/1.47.0-libressl.patch
@@ -1,44 +1,44 @@
-From 0493f57a9878fd4d92fc419358173fd31b95bda8 Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Sun, 11 Oct 2020 22:09:39 -0700
-Subject: [PATCH] Support LibreSSL 3.2.x
+From 208145c7598d4b8fb93c22d42931b6f9f4fe9c40 Mon Sep 17 00:00:00 2001
+From: Stefan Strogin <steils@gentoo.org>
+Date: Sun, 6 Dec 2020 16:32:05 +0200
+Subject: [PATCH] Support LibreSSL 3.{2,3}.x
-Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
+Signed-off-by: Stefan Strogin <steils@gentoo.org>
---
vendor/openssl-sys/.cargo-checksum.json | 2 +-
- vendor/openssl-sys/build/main.rs | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
+ vendor/openssl-sys/build/main.rs | 4 +++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/vendor/openssl-sys/.cargo-checksum.json b/vendor/openssl-sys/.cargo-checksum.json
-index 4c079f5..11beb6e 100644
+index 4c079f564..367a18830 100644
--- a/vendor/openssl-sys/.cargo-checksum.json
+++ b/vendor/openssl-sys/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"CHANGELOG.md":"17531e8bd93e3bd9ada0d3b4e4d07508d316985a2cbe4df73186ba70d5971923","Cargo.toml":"b71de20a64dc4704f77b8cc8ea9f63e47f2d39f06696900077eefd93a17d16ec","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"2b49fbdb045c40bd46bf7e7adfde8c45508e4b51af0080fb934eb1131863d75a","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0742487bd3faa681232e812c5c96f0e5b83b485ba236a4efda1cd8f5a260b5eb","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"0d8b960ab71be4e2a08e3ff7e9615a17f7dddcd601b7fdd885bb6f6c5a6fe5f5","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"1f38a3ec4029511fecd7a51548965a265f3e7772891b5514e22bfb1d061b3a90","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"3edf1379b3277df32e047a52553d243d4a4001111a277cf4b12f7297f2fe2bf0","src/evp.rs":"ae748b7d7a0f74eb21c2750bf571c09f99bb835f23436c247493a66c28fb5c6b","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"846f03332238caace3dade00a6c15b5ed1773edd601cc72dca2f1339d58b2b7f","src/macros.rs":"638fb9098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"3e45fb025ccbd6a556aae9738ef8a3b11cc2655ffa9d8422be21699b2e45d6c4","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"f00c3f88f7947f5d13698a2fc796c68eb1bd65b2686f661d29482021170db71f","src/pem.rs":"d3ae2748c53597c91aa1896f18844ccd9ce2dca1627662b8974330e5f1b3f36c","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"bb9bcb4a3b96ce6919236f48dfc5e0ad66f1cef1dce7d989c778d6f28ee6403b","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"31ad553ece8fbb1fda6d8cf43ea0895863f961b6e1171ed05063134d3892f5cc","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de"}
\ No newline at end of file
-+{"files":{"CHANGELOG.md":"17531e8bd93e3bd9ada0d3b4e4d07508d316985a2cbe4df73186ba70d5971923","Cargo.toml":"b71de20a64dc4704f77b8cc8ea9f63e47f2d39f06696900077eefd93a17d16ec","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"2b49fbdb045c40bd46bf7e7adfde8c45508e4b51af0080fb934eb1131863d75a","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0742487bd3faa681232e812c5c96f0e5b83b485ba236a4efda1cd8f5a260b5eb","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"16dadcb59a2e9f7b4c7f4d6731530533f52df6af9dcc1877bcdad52a5d403385","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"1f38a3ec4029511fecd7a51548965a265f3e7772891b5514e22bfb1d061b3a90","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"3edf1379b3277df32e047a52553d243d4a4001111a277cf4b12f7297f2fe2bf0","src/evp.rs":"ae748b7d7a0f74eb21c2750bf571c09f99bb835f23436c247493a66c28fb5c6b","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"846f03332238caace3dade00a6c15b5ed1773edd601cc72dca2f1339d58b2b7f","src/macros.rs":"638fb9098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"3e45fb025ccbd6a556aae9738ef8a3b11cc2655ffa9d8422be21699b2e45d6c4","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"f00c3f88f7947f5d13698a2fc796c68eb1bd65b2686f661d29482021170db71f","src/pem.rs":"d3ae2748c53597c91aa1896f18844ccd9ce2dca1627662b8974330e5f1b3f36c","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"bb9bcb4a3b96ce6919236f48dfc5e0ad66f1cef1dce7d989c778d6f28ee6403b","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"31ad553ece8fbb1fda6d8cf43ea0895863f961b6e1171ed05063134d3892f5cc","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de"}
++{"files":{"CHANGELOG.md":"17531e8bd93e3bd9ada0d3b4e4d07508d316985a2cbe4df73186ba70d5971923","Cargo.toml":"b71de20a64dc4704f77b8cc8ea9f63e47f2d39f06696900077eefd93a17d16ec","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"949fb3913ec7f94229242978dfeee5e19261b6d7506fc91dcd153bb0d2a84895","build/cfgs.rs":"2b49fbdb045c40bd46bf7e7adfde8c45508e4b51af0080fb934eb1131863d75a","build/expando.c":"c4fa8a4424b2321f1857edfc5ce1ac1f03eda54440367d3142310c0eb5553004","build/find_normal.rs":"0742487bd3faa681232e812c5c96f0e5b83b485ba236a4efda1cd8f5a260b5eb","build/find_vendored.rs":"7bf0e59c5646d72ee5a4392ad970fdf5c20288ddaf54dd86a8caff49583b38f5","build/main.rs":"630c6697a821e6f10058d58966e86253310b6b59b52cea159d2ed819b277b6b0","src/aes.rs":"822bf666db351fe6ef9607c918081d6ad378fc1cedb05290bb746f86980c6088","src/asn1.rs":"254025cb408dbeff73bee6d06325acba9042cb11db30bdad04eedfb789be84b3","src/bio.rs":"1f38a3ec4029511fecd7a51548965a265f3e7772891b5514e22bfb1d061b3a90","src/bn.rs":"c71b9c79f704a94a889d27bf75e7e5b1f9f10b0df0aeb485aef509cf05d7467f","src/cms.rs":"f21a403fea95e7b7efe0539a429831cfa51c8818adb79c7ebf73ae2a6f2dc87e","src/conf.rs":"511e008c18039f54d856d70b80009426fc7f4ce34fe4304e2c58ebf465031de0","src/crypto.rs":"a1279719ade9704be3d9af55ff679abbe918d525f332ca15810146d45e9080cf","src/dh.rs":"7cc334e86d16b3eae165dfa3a6c8e488bc0fe590c17beda38893d2e9d784d5a6","src/dsa.rs":"ae79baf231681900ea76304285b3ffacf5298c90b8c04d371269cf4adbb5b9fa","src/dtls1.rs":"45e1dbf94a42d587fd948d553dc30187aa6aa2b5b82d554cf725ff36df768aa0","src/ec.rs":"81372dfe497db2fc90457a470a3b8ccb249828b3ce2bf4fd2da8ec42afd6a6b3","src/err.rs":"3edf1379b3277df32e047a52553d243d4a4001111a277cf4b12f7297f2fe2bf0","src/evp.rs":"ae748b7d7a0f74eb21c2750bf571c09f99bb835f23436c247493a66c28fb5c6b","src/hmac.rs":"fa3976d94a1383f300bdec228270afb8b47c97bb019d727c7d59ba783be3c42e","src/lib.rs":"846f03332238caace3dade00a6c15b5ed1773edd601cc72dca2f1339d58b2b7f","src/macros.rs":"638fb9098f6024e82b331eeee50c64cefdb58456dba28ee42560be655a0c2bf6","src/obj_mac.rs":"7203d356f7654c5805600b823eccf8e1d9d9cbce9a01859938612a3f0aae4cdc","src/object.rs":"3e45fb025ccbd6a556aae9738ef8a3b11cc2655ffa9d8422be21699b2e45d6c4","src/ocsp.rs":"1db59566d2f072f7ae981f0c07e1604fcdf60e66845afe0689d588f8e4272115","src/ossl_typ.rs":"f00c3f88f7947f5d13698a2fc796c68eb1bd65b2686f661d29482021170db71f","src/pem.rs":"d3ae2748c53597c91aa1896f18844ccd9ce2dca1627662b8974330e5f1b3f36c","src/pkcs12.rs":"93aab2820008ad90dc346a7dcc02f9201d94bff0bb7d1d71031c097850287c50","src/pkcs7.rs":"5370c8d4bfbf1502fa33aff635cb730e7c87814580f1df9bdb1412a492377813","src/rand.rs":"469601b4fbb56d4dbf5cf5d7bb8483e3bde411edea18601e7d1ed6ef27180fd3","src/rsa.rs":"0e8c1f0bc37620a9208175542143bfd411ae88188974d2d5b37a2b8b77d0e2c8","src/safestack.rs":"6c39e28565d34efad707d77561d4caa99e3f028fcac3a2ef6fd403a78de1190c","src/sha.rs":"1a6b028a63654d2419417a9a8af790cd22409a4643682a0686ecdb9441264eba","src/srtp.rs":"306047f3f31828fe7d15de154b375f071ae07012a94c0b5c909f5fe57962a11b","src/ssl.rs":"bb9bcb4a3b96ce6919236f48dfc5e0ad66f1cef1dce7d989c778d6f28ee6403b","src/ssl3.rs":"9336c816e00847d552dea22587d4ac72ff3cbd469fa5ff750423a19ea11e68eb","src/stack.rs":"1a509907283e5a2bf88cf193ce607f49ce7d2d95547c2ce2abc0fd4567aad334","src/tls1.rs":"60ca3dea1bbfda645bde563b4a878dac129c3f760e3ad572381000fc7a8ef522","src/x509.rs":"31ad553ece8fbb1fda6d8cf43ea0895863f961b6e1171ed05063134d3892f5cc","src/x509_vfy.rs":"5609f6300ab37a4d4755c81f7af1e6bb93a2f1a6f333c6e42f1e73ebf83ddc05","src/x509v3.rs":"30c58ce7d80670cc597d041e0f59862c1100e38743fc9dde2aec6dc811a4a558"},"package":"a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de"}
diff --git a/vendor/openssl-sys/build/main.rs b/vendor/openssl-sys/build/main.rs
-index 49f26d2..2de8ea5 100644
+index 49f26d2b7..361e06cf9 100644
--- a/vendor/openssl-sys/build/main.rs
+++ b/vendor/openssl-sys/build/main.rs
-@@ -220,7 +220,7 @@ See rust-openssl README for more information:
- (3, 0, _) => ('3', '0', 'x'),
+@@ -221,6 +221,8 @@ See rust-openssl README for more information:
(3, 1, 0) => ('3', '1', '0'),
(3, 1, _) => ('3', '1', 'x'),
-- (3, 2, 0) => ('3', '2', '0'),
+ (3, 2, 0) => ('3', '2', '0'),
+ (3, 2, _) => ('3', '2', 'x'),
++ (3, 3, _) => ('3', '3', 'x'),
_ => version_error(),
};
-@@ -261,7 +261,7 @@ fn version_error() -> ! {
+@@ -261,7 +263,7 @@ fn version_error() -> ! {
"
This crate is only compatible with OpenSSL 1.0.1 through 1.1.1, or LibreSSL 2.5
-through 3.2.0, but a different version of OpenSSL was found. The build is now aborting
-+through 3.2.x, but a different version of OpenSSL was found. The build is now aborting
++through 3.3.x, but a different version of OpenSSL was found. The build is now aborting
due to this version mismatch.
"
--
-2.28.0
+2.29.2
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index a695369d67ab..459065d70666 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -24,5 +24,5 @@ EBUILD spidermonkey-52.9.1_pre1-r2.ebuild 4591 BLAKE2B b8fe23279548903b66139d331
EBUILD spidermonkey-60.5.2_p0-r4.ebuild 4238 BLAKE2B a5f3d1bcb0c12a678795d2e632822687e2d025bbb679daf0a5ffc2d262118bd5120f0a112ed39cf1feda178b609c6a2395e3d424c9e796b824a048bcb7385deb SHA512 3961fce1b9984e3929005a4d0ce3e0494ff1de7d42d07c70023b57d4e45f2d3cca1c6c8d8c803b95dcacf5a56ef9a66a339fe891bef594d079f275861d16b035
EBUILD spidermonkey-68.12.0.ebuild 7310 BLAKE2B 9808f81f5adcd34331a2ae9db9c00303f13493e9a3dfdd007f89b8a87ce86c8626cd6041116ed0347f1675558363097c1d8727b36e92ed8dc76af2f2584a186d SHA512 c7ada8f749bf7fb5de92653730d54a1b1af32cce2486766606eae6cb3b592967c0fca37d43375250fa924ee9fdc275f923c0bd620cc25d21d51b8ba4be8587fc
EBUILD spidermonkey-78.4.1.ebuild 8097 BLAKE2B d8a3a67996d503b6e36294304817a76b04f86f767407a1207fe1362933f3a6f8fc1c6b8303daec733f6255e13628c4df1612a096a78059e20839949e0e73a4af SHA512 215a96406246d5b55cc991658d15c614c4a53774fe3bdfbe8d721d63e8671ec0971512884249ed4f4ad6967523f791177ede536809ee0b42fdbda1462a061111
-EBUILD spidermonkey-78.5.0.ebuild 8099 BLAKE2B 7faf4d00e0d70ad5e315ff0ca650542640acc7c1a2729ac6c752c4993233678c09d3aa2b63910eae00bd6de8229df8c11ab86f15d5ba3007806a0737abd6ebb6 SHA512 cfbc86363bf818a583df1a243937dea6d84de0ebe20c1910a2be0df1110c289876cc5f34b9d788116da525953fe0585898829b83ae66c1fe32707d0f28a08973
+EBUILD spidermonkey-78.5.0.ebuild 8098 BLAKE2B b13a5cce3bf76cb0cb53de8ef8fd3c639a5ed3658a80b76a72dd5c4964c021260059dcad00bcfd034672e5690e50b14aeb941aaa16c29b03a21bcf02bf028900 SHA512 f5bc0a24a0e122cd5dd7f5e24a23a5ac8fd356d64277fa881dc55773c0950fea48b076cba35f0e996bce4da13f870b044964a1632684ae97d58cd7fabb1a8be5
MISC metadata.xml 806 BLAKE2B c1b86b680222a9f427f762f469a68849ee1d1f9eb8da0ca326e586fa3c15b03be0cc03fa752b460e22439c31aad98b0a213371e5f6b7b3afc622baf8244aa6bd SHA512 6fe4608fedba243622286bde5bfb26cba20dbb5a0a7fbb1b8a363b479e23c0e380833e9596b7abf696c4daa988f59bd82d29acc2a2424afe6f467eefcbd9ffa7
diff --git a/dev-lang/spidermonkey/spidermonkey-78.5.0.ebuild b/dev-lang/spidermonkey/spidermonkey-78.5.0.ebuild
index 78bc013cec6d..a2df2c41b345 100644
--- a/dev-lang/spidermonkey/spidermonkey-78.5.0.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-78.5.0.ebuild
@@ -58,7 +58,7 @@ SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}
DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-KEYWORDS="~amd64 arm arm64 ~mips ~ppc64 ~s390 x86"
+KEYWORDS="~amd64 arm arm64 ~mips ppc64 ~s390 x86"
SLOT="78"
LICENSE="MPL-2.0"
diff --git a/dev-lang/srf/Manifest b/dev-lang/srf/Manifest
index 0107734d0bc2..7e5cc3f66010 100644
--- a/dev-lang/srf/Manifest
+++ b/dev-lang/srf/Manifest
@@ -1,3 +1,4 @@
+AUX srf-1.0-fno-common.patch 215 BLAKE2B 259a699027b336c2fc7ec85132c6dda7a5791ab85aee25ed831402b1fdb82ec6f986bb39db455fa4bd20b9967c4efe073bcc40ff331a413801557c0c2671d15e SHA512 5060a4d68de1dffc2513799f72e157e2456045d63546f3fc0b79aab2f594d5eb0ef5f504269842a183737a430ef135d9cabdd44dc12ef6c80648e6c9a5ec7ab7
DIST srf-1.0.tar.gz 222493 BLAKE2B 09fb3e767e04ac735245e973d225616b0e527aa2ded49c9350c592284e2ecd840b439af61d27e67dfa3c932a320de787c371354503ed40a8af2a686dcf87b127 SHA512 420f691a937fa30220cd436faaf75299991452fd5f026dcc7aaa767e276eb245cb8eb88d875911826b66abad62fa10326b694301b4372b91e4ac20bf32c78388
-EBUILD srf-1.0-r2.ebuild 629 BLAKE2B 3e72fa3373730aa826cfbea98ba46c6c21fc4c114455ef95de051bcc91c10d97890f8e8620e396e2b0b7626085478cf5ab0f5426582e0a62b7102519b03930dc SHA512 9e8e5af3601a02bc7d8045c03fb3dd9b30d9f200f824d3866b252fa22bec260592f8568e396e970ed1a33fb478aeb52895614647e5221f42fbcc04a2746a7821
+EBUILD srf-1.0-r2.ebuild 635 BLAKE2B 06ee8161591732a1b5517139f6ee537b375e74e461e4d5375bbaa69db99ce07fbc84522739e519ade664f1e9dee9fb830d49642a4308c52b104695ae0843410f SHA512 4d4a6fb8496dc851319496197551f790e2193451e228d942608f8e5231a22742184c0b28b71e2c52e4a18095b3a49df18146b11cbea857b69f12782668218a31
MISC metadata.xml 418 BLAKE2B 53a8d8a67492aa4c363751eae8327f45c17cd77e5ce1cc9dadc8e017397e4f569150a07e6e20ecc4c411b7fbb3fed8b4690bf6367067360e03d7a74aa2079df3 SHA512 16fea93364e4fbc9deadade67c2d2a69c45f53607315659b0c682497f8d01ce0f85a808e592cb3d67f521b5fa12f9b73b427d030923da4a735eb83baa80473b2
diff --git a/dev-lang/srf/files/srf-1.0-fno-common.patch b/dev-lang/srf/files/srf-1.0-fno-common.patch
new file mode 100644
index 000000000000..abbd5c741910
--- /dev/null
+++ b/dev-lang/srf/files/srf-1.0-fno-common.patch
@@ -0,0 +1,8 @@
+--- a/builtins.h
++++ b/builtins.h
+@@ -20,4 +20,4 @@
+ */
+ #ident "$Id: builtins.h,v 1.4 2004/11/02 04:39:39 bediger Exp $"
+ void setup_builtins(void);
+-int primitive_call_counter;
++extern int primitive_call_counter;
diff --git a/dev-lang/srf/srf-1.0-r2.ebuild b/dev-lang/srf/srf-1.0-r2.ebuild
index 75e62c66f6f8..949fee4692d3 100644
--- a/dev-lang/srf/srf-1.0-r2.ebuild
+++ b/dev-lang/srf/srf-1.0-r2.ebuild
@@ -3,7 +3,7 @@
EAPI=6
-inherit eutils vcs-clean
+inherit vcs-clean
DESCRIPTION="The Simple Recursive Functions programming language"
HOMEPAGE="http://www.stratigery.com/srf.html"
@@ -12,12 +12,12 @@ SRC_URI="http://www.stratigery.com/srf.html/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~x86-linux ~ppc-macos"
-IUSE=""
DEPEND="
sys-devel/flex
virtual/yacc"
-RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${P}-fno-common.patch )
src_prepare() {
default
@@ -30,6 +30,5 @@ src_install() {
doman srf.1
dodoc README srf.html
- docinto examples
- dodoc examples/*
+ dodoc -r examples
}
diff --git a/dev-lang/swi-prolog/Manifest b/dev-lang/swi-prolog/Manifest
index 5f881a48ba97..7959054130d3 100644
--- a/dev-lang/swi-prolog/Manifest
+++ b/dev-lang/swi-prolog/Manifest
@@ -1,7 +1,9 @@
DIST swipl-8.2.1.tar.gz 10969688 BLAKE2B 754678d9683999b681e62321423df01c4d28ac0aefb5b836134790112a76a2710cc3b433d381f4b11756727037cada026a2778445fe533f51a5543332ca86e82 SHA512 b49fa0832b4bad3b48256c97538172a06e7a4c50b55823dad345360f98055f0702e7a10fb2bfdb636e3fd99557bcb243cfccbaccb7546cb2afd13335f1c09db8
-DIST swipl-8.3.8.tar.gz 11029755 BLAKE2B 7b97ed8b6cb391bf87eb6d7561b7f1f5d86dfe54b233dabd77c46b9c9f51148e9623e6d474be77ae1c004885895da9d2a9acf20dc4cd9697df500a2682294a8c SHA512 80b2e1a9e9d435b5ab061773a389b66eda2089dcc5ac617869532d5bd4fdd84e842c294e0e2d81f24330842ad58af1e66e54baa0cf91115db4808959331ca444
-DIST swipl-8.3.9.tar.gz 11066799 BLAKE2B c891fd19ddeab5c21eaf3418d13714adb47d2d0ff29f00edd46eaded37637779cf325a9a93e9e902cabfb278d5e90b37de335f54667341d31373b1a8affb78b2 SHA512 b4b12b6337b4f92e9a1503189601be7aa574882d420558d167e1c90b257b69d2e64de2aae7aa6074d6ee51bae2eda4ed40c8a977e651c7c7eb5c084fd674769a
+DIST swipl-8.2.2.tar.gz 11002077 BLAKE2B 581c3ea83d2440cbe2454ba12ea2752bec9fda926f3afef6e36de1bbf70b43b34931ad768335bb15809a3d76959c7eec7dd3ad54a0a4085ad8ba34075dd3f4d9 SHA512 fb77cfd58932dc35c3d808899c1f493ffb22a58f56fe364ce0c0b48b8cabdd204d4f920346c39f696fadd9ee8335e163a8eb8d0a770c2835d803f030c1f3f878
+DIST swipl-8.3.10.tar.gz 11095901 BLAKE2B ff695f3a9ed77b8062c8e19fe0f099b3fe1a2ed84beacd965f133d2fa4c2b873ce95d0af6a71a9c5f8c8033b6026e72585ad36dbd7537cb90c5bd98bf852cff7 SHA512 f34e53df42ba3cfdce6be96a2c5dba9ecd0a938f1df9824522c852d8d1b7e42e1de96cebd7c988d9e9091a12cfc791f3916e198e8bb08e8798fc8b196c48058d
+DIST swipl-8.3.11.tar.gz 11098611 BLAKE2B 5ec01773be2466ac8e35f9cba5a5ce4b5c96beafed6e294ecff649a24dbfa332d1280d3022a379a68d8bee2080efb2616737a5e7f4113cc5301e7f4b8fc9a089 SHA512 f0d6bd40127d077a04028c9800c798f6745d80f9852b38d770bd9b1a4778652a90d13c04be1fb4f650c250bb95f9a7e576bfc6c298f8eac608cc96edadb77963
EBUILD swi-prolog-8.2.1.ebuild 2651 BLAKE2B b0ae94c578580bb48dc126e16f325dbc1e6e3d8e0aea06a5fa040088ebb8e2390c5f8ffa62db14ad597b1b8dbc0d18c0ce1969f649b43a6b9dc4e679305f8036 SHA512 086afbffe8100618c6711db5cef29c7dd23221b6ff2114d138280aa210ec3b3ca3074ae41f50af094faf007f78d343567ce61f057667b4d0830c68429a49e59f
-EBUILD swi-prolog-8.3.8.ebuild 2651 BLAKE2B 75f7679ab4c6db726c9fa85545b0cff01f6221698d68a972bafc0c6dbd1d74871e094ce2fc7845374feeb491197a32bfbf5b44a3fdf0e37d9e95fe0cc9f56f5e SHA512 fff27b9178b026e2eb631d1a6f111446dc398b4e1cea6531f234e7119ef96a30e00f0a93806fa3709e23f294aaad6b42f2c757308974d4d8b1f4373f8fe6171d
-EBUILD swi-prolog-8.3.9.ebuild 2651 BLAKE2B 75f7679ab4c6db726c9fa85545b0cff01f6221698d68a972bafc0c6dbd1d74871e094ce2fc7845374feeb491197a32bfbf5b44a3fdf0e37d9e95fe0cc9f56f5e SHA512 fff27b9178b026e2eb631d1a6f111446dc398b4e1cea6531f234e7119ef96a30e00f0a93806fa3709e23f294aaad6b42f2c757308974d4d8b1f4373f8fe6171d
+EBUILD swi-prolog-8.2.2.ebuild 2654 BLAKE2B 4d42a11aaf66fd735f9306855bfbd388efb00ea0f5dda7474be3de91b154ce2a4fe125fe76858ed4c62262290d1eae119ffba37d9886fb51c5b425de1bdfdc1d SHA512 36ab901233f6b4dbe974507e426d75949595ce6f3a31a891ed0bbc8c456b90dc9a68985572d81e3d4525eb1548fee6e4c5b3f31929f6e62fe17351fd2f44aad7
+EBUILD swi-prolog-8.3.10.ebuild 2651 BLAKE2B 75f7679ab4c6db726c9fa85545b0cff01f6221698d68a972bafc0c6dbd1d74871e094ce2fc7845374feeb491197a32bfbf5b44a3fdf0e37d9e95fe0cc9f56f5e SHA512 fff27b9178b026e2eb631d1a6f111446dc398b4e1cea6531f234e7119ef96a30e00f0a93806fa3709e23f294aaad6b42f2c757308974d4d8b1f4373f8fe6171d
+EBUILD swi-prolog-8.3.11.ebuild 2651 BLAKE2B 75f7679ab4c6db726c9fa85545b0cff01f6221698d68a972bafc0c6dbd1d74871e094ce2fc7845374feeb491197a32bfbf5b44a3fdf0e37d9e95fe0cc9f56f5e SHA512 fff27b9178b026e2eb631d1a6f111446dc398b4e1cea6531f234e7119ef96a30e00f0a93806fa3709e23f294aaad6b42f2c757308974d4d8b1f4373f8fe6171d
MISC metadata.xml 419 BLAKE2B 6d92e0713ed8da803ff8b6c778e616882af2fdb1426a62ea7bb6a265bbfff9a5c7debb8bf6a25c4ab60ed54a865b79fa3da4a09bc8a9123acf63dcb32107f54e SHA512 f805393c909e4108fe72b94f131d37d45279af1a4b501f9c3ae12d21590ef9c19227ca2a4b2966239ddb84847ce979cfbfcf3f3a2d24b60cb23977c522ff59c3
diff --git a/dev-lang/swi-prolog/swi-prolog-8.2.2.ebuild b/dev-lang/swi-prolog/swi-prolog-8.2.2.ebuild
new file mode 100644
index 000000000000..236f4baaec6a
--- /dev/null
+++ b/dev-lang/swi-prolog/swi-prolog-8.2.2.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils eutils flag-o-matic multilib
+
+PATCHSET_VER="0"
+
+DESCRIPTION="versatile implementation of the Prolog programming language"
+HOMEPAGE="https://www.swi-prolog.org/"
+SRC_URI="https://www.swi-prolog.org/download/stable/src/swipl-${PV}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="archive berkdb debug doc +gmp java +libedit libressl minimal odbc pcre qt5 readline ssl test uuid X yaml"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sys-libs/ncurses:=
+ sys-libs/zlib
+ archive? ( app-arch/libarchive )
+ berkdb? ( >=sys-libs/db-4:= )
+ odbc? ( dev-db/unixODBC )
+ pcre? ( dev-libs/libpcre )
+ readline? ( sys-libs/readline:= )
+ libedit? ( dev-libs/libedit )
+ gmp? ( dev-libs/gmp:0 )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ )
+ java? ( >=virtual/jdk-1.7:= )
+ uuid? ( dev-libs/ossp-uuid )
+ qt5? (
+ dev-qt/qtwidgets:5
+ dev-qt/qtgui:5
+ )
+ X? (
+ virtual/jpeg:0
+ x11-libs/libX11
+ x11-libs/libXft
+ x11-libs/libXinerama
+ x11-libs/libXpm
+ x11-libs/libXt
+ x11-libs/libICE
+ x11-libs/libSM )
+ yaml? ( dev-libs/libyaml )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )
+ java? ( test? ( =dev-java/junit-3.8* ) )"
+
+S="${WORKDIR}/swipl-${PV}"
+BUILD_DIR="${S}/build"
+CMAKE_USE_DIR="${S}"
+
+src_prepare() {
+ if [[ -d "${WORKDIR}"/${PV} ]] ; then
+ eapply "${WORKDIR}"/${PV}
+ fi
+ eapply_user
+
+ sed -i -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" CMakeLists.txt || die
+ sed -i -e "s|\(SWIPL_INSTALL_CMAKE_CONFIG_DIR\) lib/|\1 $(get_libdir)/|" CMakeLists.txt || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ append-flags -fno-strict-aliasing
+ use debug && append-flags -DO_DEBUG
+
+ mycmakeargs=(
+ -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl
+ -DUSE_GMP=$(usex gmp)
+ -DINSTALL_DOCUMENTATION=$(use doc && usex archive)
+ -DSWIPL_PACKAGES_BASIC=$(usex !minimal)
+ -DSWIPL_PACKAGES_ARCHIVE=$(usex archive)
+ -DSWIPL_PACKAGES_ODBC=$(usex odbc)
+ -DSWIPL_PACKAGES_BDB=$(usex berkdb)
+ -DSWIPL_PACKAGES_PCRE=$(usex pcre)
+ -DSWIPL_PACKAGES_YAML=$(usex yaml)
+ -DSWIPL_PACKAGES_SSL=$(usex ssl)
+ -DSWIPL_PACKAGES_JAVA=$(usex java)
+ -DSWIPL_PACKAGES_QT=$(usex qt5)
+ -DSWIPL_PACKAGES_X=$(usex X)
+ -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ XDG_CONFIG_DIRS="${HOME}" \
+ XDG_DATA_DIRS="${HOME}" \
+ cmake-utils_src_compile
+}
+
+src_test() {
+ USE_PUBLIC_NETWORK_TESTS=false \
+ USE_ODBC_TESTS=false \
+ cmake-utils_src_test -V
+}
diff --git a/dev-lang/swi-prolog/swi-prolog-8.3.8.ebuild b/dev-lang/swi-prolog/swi-prolog-8.3.10.ebuild
index 50482b3b3270..50482b3b3270 100644
--- a/dev-lang/swi-prolog/swi-prolog-8.3.8.ebuild
+++ b/dev-lang/swi-prolog/swi-prolog-8.3.10.ebuild
diff --git a/dev-lang/swi-prolog/swi-prolog-8.3.9.ebuild b/dev-lang/swi-prolog/swi-prolog-8.3.11.ebuild
index 50482b3b3270..50482b3b3270 100644
--- a/dev-lang/swi-prolog/swi-prolog-8.3.9.ebuild
+++ b/dev-lang/swi-prolog/swi-prolog-8.3.11.ebuild