summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin17022 -> 17020 bytes
-rw-r--r--dev-lang/duktape/Manifest2
-rw-r--r--dev-lang/duktape/duktape-2.6.0.ebuild2
-rw-r--r--dev-lang/elixir/Manifest2
-rw-r--r--dev-lang/elixir/elixir-1.11.2.ebuild38
-rw-r--r--dev-lang/erlang/Manifest4
-rw-r--r--dev-lang/erlang/erlang-23.2.5.ebuild (renamed from dev-lang/erlang/erlang-23.2.ebuild)3
-rw-r--r--dev-lang/go/Manifest2
-rw-r--r--dev-lang/go/go-1.16.ebuild197
-rw-r--r--dev-lang/jimtcl/Manifest2
-rw-r--r--dev-lang/jimtcl/jimtcl-0.78-r2.ebuild2
-rw-r--r--dev-lang/moarvm/Manifest18
-rw-r--r--dev-lang/moarvm/moarvm-2020.05.ebuild3
-rw-r--r--dev-lang/moarvm/moarvm-2020.06.ebuild3
-rw-r--r--dev-lang/moarvm/moarvm-2020.07.ebuild3
-rw-r--r--dev-lang/moarvm/moarvm-2020.08.ebuild3
-rw-r--r--dev-lang/moarvm/moarvm-2020.09.ebuild3
-rw-r--r--dev-lang/moarvm/moarvm-2020.10.ebuild3
-rw-r--r--dev-lang/moarvm/moarvm-2020.11.ebuild3
-rw-r--r--dev-lang/moarvm/moarvm-2020.12.ebuild3
-rw-r--r--dev-lang/moarvm/moarvm-9999.ebuild3
-rw-r--r--dev-lang/mujs/Manifest3
-rw-r--r--dev-lang/mujs/files/mujs-1.1.0-flags.patch14
-rw-r--r--dev-lang/mujs/mujs-1.1.0.ebuild57
-rw-r--r--dev-lang/nqp/Manifest18
-rw-r--r--dev-lang/nqp/nqp-2020.05.ebuild3
-rw-r--r--dev-lang/nqp/nqp-2020.06.ebuild3
-rw-r--r--dev-lang/nqp/nqp-2020.07.ebuild3
-rw-r--r--dev-lang/nqp/nqp-2020.08.ebuild3
-rw-r--r--dev-lang/nqp/nqp-2020.09.ebuild3
-rw-r--r--dev-lang/nqp/nqp-2020.10.ebuild3
-rw-r--r--dev-lang/nqp/nqp-2020.11.ebuild3
-rw-r--r--dev-lang/nqp/nqp-2020.12.ebuild3
-rw-r--r--dev-lang/nqp/nqp-9999.ebuild3
-rw-r--r--dev-lang/ocaml/Manifest3
-rw-r--r--dev-lang/ocaml/ocaml-4.05.0-r1.ebuild130
-rw-r--r--dev-lang/ocaml/ocaml-4.05.0-r3.ebuild (renamed from dev-lang/ocaml/ocaml-4.05.0-r2.ebuild)31
-rw-r--r--dev-lang/pcc/Manifest2
-rw-r--r--dev-lang/pcc/pcc-9999.ebuild1
-rw-r--r--dev-lang/php/Manifest9
-rw-r--r--dev-lang/php/metadata.xml1
-rw-r--r--dev-lang/php/php-7.3.27-r1.ebuild761
-rw-r--r--dev-lang/php/php-7.3.27.ebuild2
-rw-r--r--dev-lang/php/php-7.4.15-r1.ebuild753
-rw-r--r--dev-lang/php/php-7.4.15.ebuild2
-rw-r--r--dev-lang/php/php-8.0.2-r1.ebuild748
-rw-r--r--dev-lang/python/Manifest28
-rw-r--r--dev-lang/python/python-2.7.18_p7.ebuild358
-rw-r--r--dev-lang/python/python-3.10.0_alpha5_p1.ebuild349
-rw-r--r--dev-lang/python/python-3.6.12_p3.ebuild341
-rw-r--r--dev-lang/python/python-3.6.13.ebuild341
-rw-r--r--dev-lang/python/python-3.7.10.ebuild333
-rw-r--r--dev-lang/python/python-3.7.9_p3.ebuild333
-rw-r--r--dev-lang/python/python-3.8.7_p2.ebuild337
-rw-r--r--dev-lang/python/python-3.8.8_rc1.ebuild338
-rw-r--r--dev-lang/python/python-3.9.1_p2.ebuild346
-rw-r--r--dev-lang/python/python-3.9.2_rc1.ebuild347
-rw-r--r--dev-lang/rakudo/Manifest18
-rw-r--r--dev-lang/rakudo/rakudo-2020.05.1.ebuild3
-rw-r--r--dev-lang/rakudo/rakudo-2020.06.ebuild3
-rw-r--r--dev-lang/rakudo/rakudo-2020.07.ebuild3
-rw-r--r--dev-lang/rakudo/rakudo-2020.08.1.ebuild3
-rw-r--r--dev-lang/rakudo/rakudo-2020.09.ebuild3
-rw-r--r--dev-lang/rakudo/rakudo-2020.10.ebuild3
-rw-r--r--dev-lang/rakudo/rakudo-2020.11.ebuild3
-rw-r--r--dev-lang/rakudo/rakudo-2020.12.ebuild3
-rw-r--r--dev-lang/rakudo/rakudo-9999.ebuild3
-rw-r--r--dev-lang/snobol/Manifest5
-rw-r--r--dev-lang/snobol/files/snobol-1.4.1-fno-common.patch31
-rw-r--r--dev-lang/snobol/metadata.xml8
-rw-r--r--dev-lang/snobol/snobol-1.4.1-r1.ebuild (renamed from dev-lang/snobol/snobol-1.4.1.ebuild)41
-rw-r--r--dev-lang/spidermonkey/Manifest4
-rw-r--r--dev-lang/spidermonkey/spidermonkey-78.7.1.ebuild2
-rw-r--r--dev-lang/tcc/Manifest2
-rw-r--r--dev-lang/tcc/tcc-9999.ebuild3
75 files changed, 6139 insertions, 314 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index c6ea9e122cdf..94738974ae33 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/duktape/Manifest b/dev-lang/duktape/Manifest
index ef1d95acfc4b..85e11b07d9a1 100644
--- a/dev-lang/duktape/Manifest
+++ b/dev-lang/duktape/Manifest
@@ -5,5 +5,5 @@ DIST duktape-2.5.0.tar.xz 1031188 BLAKE2B 15d9190e9c723bacf8249ea31bf528793ca06e
DIST duktape-2.6.0.tar.xz 1035160 BLAKE2B 98155e1bf7e76aab37f5ccdb951d9d456df3d984ebed5058d8931e25317ffd94b4d95f08e102eb6eb2fa36ab6d2d60be6072b4101b7754e1c1440f7d6fb2c91b SHA512 d72a2aaa05391fa243861aca6ca6082f91a08b9c5d60c7b246d35d7161532b0048bb67bd8fec7996c700ee317ac2bb52e528582682e5425b0431757d8b1c5be4
EBUILD duktape-2.4.0.ebuild 984 BLAKE2B 639c3dbdb610048fc33134671a428deca1fe106f5f54cc7baee3d21b921265c63e168208501e6aaea0f91a578f2d33dd5b110d14f25a7d198542be944346a957 SHA512 7bcadb6b1e5a246bf2b62b3f3ccb7dfc50e9232508d86fbef1481b8b08fdd1b810e5010eff72fb8f88eb590f39ba711294bbd1b9207eeeb524032a57fb10170e
EBUILD duktape-2.5.0-r1.ebuild 1070 BLAKE2B 32767172e822423930b4bdfd536e5219039d3aab8edd7238a5da030e3e9932733a9b11a0e060180240c2cd82bc9520bd87be705ab6593dfbb56842b6310e2760 SHA512 e6c0e7e07ad49e8dd507cf41cfcc2986847df6d111f2db25fc2b8485f76daa38d4aad3776eb12d4fd2ec2d4c0b8505dc621fba340b1d8badd285a85b23759ec9
-EBUILD duktape-2.6.0.ebuild 1191 BLAKE2B 7613d8774badbb2e2f25c1706152f0fff5a5d0c9695ea5dfc44235e92e548063685cc10f8eeb47b94ba15bfacc2b2679e6d7ab1545359e8dcde53ea93c87fbe0 SHA512 5eb23db4433446f481578a87cc0914b708c5e6d52a99c497337414b473487ef865e3e6cef5ce8d206c61e18d93081e0e94cd60d2910d6ee11b9e5832eedab4bd
+EBUILD duktape-2.6.0.ebuild 1189 BLAKE2B 5dfac173addf9525968ddcd92a71cd06689f35411232a33ed806629a147d3eb87a431e81f9b96f34713f9f79c306247f3e855481e38916676453c1cfd7bab9b1 SHA512 d69d157a277d91f6e58e011dad05c42773d296804ed256f589a899af5eb0fed542f29f4646e8f31a2c850673e5f50279ca76fd2a51bcc1b6c92065776158105d
MISC metadata.xml 337 BLAKE2B cccca86d6da0b932668171e11dcee8ae4e2261c9d701a56aa1e6edae82223f23616ecc71df2686df63fe36c11a3d9918f53621df798afca36907b0561c537f78 SHA512 31661ed6f1e4d86566e596bcf2f26bd8daf967b609fda7101abba3c4186246a3e952bb71c9d5e71ff3b2692bc9d016d96282387268e9a06231e22ce4bd5afa9d
diff --git a/dev-lang/duktape/duktape-2.6.0.ebuild b/dev-lang/duktape/duktape-2.6.0.ebuild
index 9a5300f0e887..446fe2b1882e 100644
--- a/dev-lang/duktape/duktape-2.6.0.ebuild
+++ b/dev-lang/duktape/duktape-2.6.0.ebuild
@@ -13,7 +13,7 @@ LICENSE="MIT"
# Upstream don't maintain binary compatibility
# https://github.com/svaarala/duktape/issues/1524
SLOT="0/${PV}"
-KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 x86"
+KEYWORDS="amd64 arm arm64 ppc ~ppc64 x86"
PATCHES=(
"${FILESDIR}/${PN}-2.6.0-respect-tc-env.patch"
diff --git a/dev-lang/elixir/Manifest b/dev-lang/elixir/Manifest
index 31cd38ce8c91..7caba4d78245 100644
--- a/dev-lang/elixir/Manifest
+++ b/dev-lang/elixir/Manifest
@@ -3,9 +3,7 @@ AUX elixir-1.10.3-no-Q.patch 355 BLAKE2B 903e5a7149f6e7f7030a533ae437b0e40b97c82
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
DIST elixir-1.11.3.tar.gz 2394406 BLAKE2B 066e11651265d63c713809f1968b7dc7faf70e8254ef0aec1978a3db0f92da6bb894e882a1a6c1ba8da13d234c91dc84d2d750b0e044e4cd8706986ec7b2f382 SHA512 4962bb9fcf5f4190a8da22a3e42df5b4e521d73771f6a067edb482b911b0f9fbd2883841d06d94ae4ad6b1db2f61f691e5de4c118c722a16f95830c67ce3e45b
EBUILD elixir-1.10.4.ebuild 883 BLAKE2B c8945f6c84ce2ba4ef99b42f5f0f3c262cfb6d743cd418f66113cab8a9a90caf1ddc71441d96b3755e9025974688909d8306b63ded24d871733d263c54df1d56 SHA512 a3581664d0fe5c49bd7c4ed2b6f2fba7c4b402944daf7c79e79acbd7ffbb463c17e559d961f7abd3c54c5ca5e6d23520e379a5712d7d232439b5c878291cb3d7
-EBUILD elixir-1.11.2.ebuild 922 BLAKE2B 773047d4ae299c28923d5a7bae9b69a6cc07a3d0da07fda1bf65aa5ff8cbf29a310a0ede370595a2a643599f04dd98124b6e19ee85d2612c7d9876803959cffe SHA512 219f489574303f44a76d4608bcad5593ca6852fd93f6fff1e19dba3d83160762c8d7052e858017c4096b9bb44a7337c4c5141b09d8b70ac57d9ad1e5bb233b72
EBUILD elixir-1.11.3.ebuild 922 BLAKE2B 718117a8aee4294e70930d45d6b39d6522026c48165b9af54eae4b612458509e456586e8c6a256175ed4e66a6e36293d22d65d69b1fb40ec28efb6ee1b511fbf SHA512 e77cad093155fbcbab5247c18c4c45db407df167c296d9587c19826d303c0e38f431bb4c3ea61537dbfd0c211d4917ce08a38c6f6a2c7fb1c6040c0e279c9b8a
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
deleted file mode 100644
index 00e05b4cf117..000000000000
--- a/dev-lang/elixir/elixir-1.11.2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Elixir programming language"
-HOMEPAGE="https://elixir-lang.org"
-SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 ErlPL-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ~sparc x86"
-IUSE="test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="
- >=dev-lang/erlang-21:0=[ssl]
-"
-# 'mix' tool collides with sci-biology/phylip, bug #537514
-RDEPEND="${DEPEND}
- !!sci-biology/phylip
-"
-DEPEND+="
- test? ( dev-vcs/git )
-"
-
-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() {
- emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" install
- dodoc README.md CHANGELOG.md CODE_OF_CONDUCT.md
-}
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index 4f2be823bd9d..dfb74efc42b7 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -12,7 +12,7 @@ DIST erlang-23.2.1.tar.gz 56580525 BLAKE2B 4b5d4be9d0501dd2eb5d44357ccc9a169dc3b
DIST erlang-23.2.2.tar.gz 56594755 BLAKE2B 3f5c552d3cd070b36bc7a1112b9541f358001ee4ad49a62ccce3462b02b642d4abc0bf8844e5441168be850f5588cf4ecdbf545fcff60e7746cec637898f2c7e SHA512 26743a7a4b2e31e63c0940ed6fdad64427c22e0f08fc063e1b8639bea6fa89c6b24e9c87ca572475d3ce39a18857ef6143676653cdf97b374656ae49f5892633
DIST erlang-23.2.3.tar.gz 56590563 BLAKE2B 319dbdeedfd74dc6341494d5ed81734c15475ea364f0b5690ff4d8030d7aea30fe66831fa06197e8a7334d48bdb4f0345effcf92afe1b70dd0ab79b5700cba1c SHA512 c1c176d908ac0a2470926997ec62d0e2d330aac25202e24314af1d57171d460fd5582e9ece9e289d7eb5c2728a6966b130e14ada10ba8ead04d47a849287ded4
DIST erlang-23.2.4.tar.gz 56590253 BLAKE2B b15cb4c09c119cbf94978aa117c35451212b071b7ade2f426da920d8f44a7d229e9c1f11e82fec55efe97181f46b41123a1c30a757fdd25cfa81dca035b620af SHA512 12d10d0f2522a6df0007ee662335055dee3e2dad2be2a877e42c6fb7c3ca6ff613437a92523845a5e41c2b18ee2221de96c3d4a33acf5c3c5e4e3a1d093c2cac
-DIST erlang-23.2.tar.gz 56581092 BLAKE2B f3191b99465ab18eaf13c6d15f79ae150fb04337450b3ff145532aab0da229c44c082bb138a79c84860f09107a363c34e2b2505ce38c6c8dea1ede5fbe3ce044 SHA512 3bdb464992387c5a352c11bf9dc49c6a982dac10865d2b668d8db6fb45db15f4d79d38976d04fbbd51568ee9efb8b5295bb06b6fee37b81fde6fa43c51dcc313
+DIST erlang-23.2.5.tar.gz 56602498 BLAKE2B c31d1e7d514f845f0775a9b032b3182f5600792b4b8621eb6e18dfc28e94a65d1ef993b689baaa440fd96c5485bd242a1bd48f1d27c1808bff702ed59a94e741 SHA512 8738adc67901e6a118338057e56f28e7c8a0482e452ec53b643d3af2c3aad04c95a856f9a4f0c2938d2db13fd6891c1be8770e34fa377444cd667da558033df3
DIST erlang_doc_html_23.0.tar.gz 36238699 BLAKE2B bce5fb1d766d3a795728cf7c00529129690f52e5dbe7363095cb7e63d5331a4dfc05c2042d24f10c7f3facbd187284aa323a92c0ed7515c1750aee4cd890fbd4 SHA512 bd0b1adf8639674d31152024e1351105249c6e6f93f28362e9e4b66ce6daadbe5eef5917a5889c926130e81bd000cfc44895ebaa309bf9a0c1c125713b715927
DIST erlang_doc_html_23.2.tar.gz 36537148 BLAKE2B b19d3fb5836b50512db6913ccb9116bc06ef4677c9514db89714ac72a9e7569b2c52612c357ccbf9a12610000885cbc8a43cc17f80c533a3c65af89c1b592ba6 SHA512 0d334dfe46ecffd6ff720d176c4514e2d49ba1b5feccd80f8392a8335100a6c289207431d2c0da02043c923de083290f9fd23726a1d1481508acdd7596f67ea4
DIST erlang_doc_man_23.0.tar.gz 1383486 BLAKE2B 63a9989c26797fe07fbd0ccca0d8425d94bc60a86fa93b5332c8d1f3e12a0071d9e6d4759be73bf44bf35dd14723b9e6707a84ba834e1775bc28aeec1edbe168 SHA512 81575ce7b267f5bb48bd844808e8edd4e373640bbc481372b288602eb9d3c9917e6c7c040c035b63a2f6edf437c3d826d6afdf5801765b51d9edd4a3b2a5b16f
@@ -22,5 +22,5 @@ EBUILD erlang-23.2.1.ebuild 4604 BLAKE2B 94eb0cd161622bdaf13b9c4cd9d4f2ccca1a76a
EBUILD erlang-23.2.2.ebuild 4568 BLAKE2B afa013bfe43d1c6c8a9853f4ffaa3ce26095d5eba4dba1383f56ac0378fe1f3d73f2cfbfdb17df4c689764eaedcb349d65ea2b99aac67ff452f14a3d2d17be44 SHA512 7e8a5cb7c184d4e0ae500593764f6fbd9866e0ffc22c33359d0b2911b0b98a546da0998fb0aba17534e97ddb7ebc981f2e470c542378b0def45897383d26bd8a
EBUILD erlang-23.2.3.ebuild 4568 BLAKE2B afa013bfe43d1c6c8a9853f4ffaa3ce26095d5eba4dba1383f56ac0378fe1f3d73f2cfbfdb17df4c689764eaedcb349d65ea2b99aac67ff452f14a3d2d17be44 SHA512 7e8a5cb7c184d4e0ae500593764f6fbd9866e0ffc22c33359d0b2911b0b98a546da0998fb0aba17534e97ddb7ebc981f2e470c542378b0def45897383d26bd8a
EBUILD erlang-23.2.4.ebuild 4568 BLAKE2B afa013bfe43d1c6c8a9853f4ffaa3ce26095d5eba4dba1383f56ac0378fe1f3d73f2cfbfdb17df4c689764eaedcb349d65ea2b99aac67ff452f14a3d2d17be44 SHA512 7e8a5cb7c184d4e0ae500593764f6fbd9866e0ffc22c33359d0b2911b0b98a546da0998fb0aba17534e97ddb7ebc981f2e470c542378b0def45897383d26bd8a
-EBUILD erlang-23.2.ebuild 4604 BLAKE2B 94eb0cd161622bdaf13b9c4cd9d4f2ccca1a76afae3e162a035520f0bcc0dce5f8feeb3c13823b069c89bc8219c7c12c443d8e375b744598ee771135966f8856 SHA512 d3b6f3043a10e12b52cbab260f90852940bc83b1101f65d0216a23e5edd04edc09bcacc04341c272bfb251ac1303de0e14932fca48018db443a977817645158b
+EBUILD erlang-23.2.5.ebuild 4568 BLAKE2B afa013bfe43d1c6c8a9853f4ffaa3ce26095d5eba4dba1383f56ac0378fe1f3d73f2cfbfdb17df4c689764eaedcb349d65ea2b99aac67ff452f14a3d2d17be44 SHA512 7e8a5cb7c184d4e0ae500593764f6fbd9866e0ffc22c33359d0b2911b0b98a546da0998fb0aba17534e97ddb7ebc981f2e470c542378b0def45897383d26bd8a
MISC metadata.xml 834 BLAKE2B 1f394278eed4a3ac5e1c04f4ffced7042cc910d9e84ed4ad955cf91240446410f0ffbf1c138cc76cfa55d40c0eb0f110da98cd49c59df2b12ae70c13afd45a06 SHA512 7c067d233ffae83e4b1b55ba9e8adffe125d27f5f81401a4e4262d9b713b08bdaa4dd927570b2d32591092ca387372ee206e25e0b939ca721c96317fcd3d2be2
diff --git a/dev-lang/erlang/erlang-23.2.ebuild b/dev-lang/erlang/erlang-23.2.5.ebuild
index 27ebfc6b45ee..e78f4f36b069 100644
--- a/dev-lang/erlang/erlang-23.2.ebuild
+++ b/dev-lang/erlang/erlang-23.2.5.ebuild
@@ -22,7 +22,7 @@ LICENSE="Apache-2.0"
# same build of ERTS that was used when compiling the code. See
# http://erlang.org/doc/system_principles/misc.html for more information.
SLOT="0/${PV}"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets"
RDEPEND="
@@ -50,7 +50,6 @@ 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
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
index 6ea530e2635f..1f5e7cb9d772 100644
--- a/dev-lang/go/Manifest
+++ b/dev-lang/go/Manifest
@@ -3,9 +3,11 @@ DIST go1.14.14.src.tar.gz 22557733 BLAKE2B aa3638c7a20f89e90bf17e9da1b12323cc8c0
DIST go1.14.15.src.tar.gz 22557340 BLAKE2B 1170cb9d5c0c6686c0c49b4bef1f5d7afcf495a3989fb98c51f1e881eaf1c7502a9517dd9da8d84e091bd6e0d5a88f1d448bf430733a69b44ae0b00c217ba2ba SHA512 94cacf8c86789600fae09a1da4055b9a436977b18488d85bb91494eece8a8e012e1b68924a8a50714c2d17db19d1e84a4a6bec91fa10fd8415c9739c9a348dc1
DIST go1.15.7.src.tar.gz 23017978 BLAKE2B 15b0827fb56b8e9208c65e8f7f11c7f67820efce1627b4123e937301bb437c597e87adfff9a2eee9aaf53ba0f22eb2f10746bafb7247b4250566f20181b7a2a0 SHA512 7b3e8bcd2fc95baad41f8b5f0456c009e01896d160e65c2670d51c23d8cfcf7a6801e831e6f9a8877fe58c8f54ac8f75bf6e7935b38ba7aaa51dc8e46cf76ddb
DIST go1.15.8.src.tar.gz 23018628 BLAKE2B 234208b16865f0ac1567e12d3f2dee379f64220a8a04e4b4057d065d3b12e1a110688f165ddc25accf96eab7d8bd2da3717cdd18b74f8d391da8b404bf40ae4f SHA512 4b805425550aff5c38f1f66fa7f7b3282b20850b1c0735898ee62820080514a2a6ab573f1d6984656c5bb955ec2b10cef90fbb7ab6a6c8f1e75ebc0964a04a80
+DIST go1.16.src.tar.gz 20895394 BLAKE2B 7ac4939394f873d748b7436fccc926591d34e5f046d6a5dc4548e494b523ceae5f0c30e90494993536240ebf01563774fb2103cd2e7911f72997dd2d20aeb112 SHA512 9c43e0ebb2d35c694b652cae8d4040ce3f3c8c014abd9496c92c78cc015ecea5b5331e7c2acf098d0c24dec222454ea09d834df4b6bc90d46e9feeac0ac578bf
EBUILD go-1.14.14.ebuild 4574 BLAKE2B c9833658e5cd6f2a032663144aaf037d72a9175da16c4ca2562b49030d434335c9a981761c7ba13217bc3e80805eb127a6a16705fdacc681017a67f96235c20d SHA512 ff8b197a487280639b7e687a823277e260da97ce44d12ccbdbda00d25cb6dbae2b683b34ea8eceb3a98f368bd5fe6eb18f37b4ebd3bab10c2536c85334809122
EBUILD go-1.14.15.ebuild 4579 BLAKE2B d6e3779180ce639f03387ec3a5021b31e8d30493180c01cf86a5f69aa4d93bb3c265db1c23d5e6dd69c319b9845b5a7d0dafda47c0ae840b1a1d56e099e65744 SHA512 4cb133223e319b4c12679cc39e32f1262192fcac68e918ba69a501979f9cf97760589d28a897f5ae2a7c26da7b17e8f9c0593509467f85223daf7aed95e7974c
EBUILD go-1.15.7.ebuild 4574 BLAKE2B c9833658e5cd6f2a032663144aaf037d72a9175da16c4ca2562b49030d434335c9a981761c7ba13217bc3e80805eb127a6a16705fdacc681017a67f96235c20d SHA512 ff8b197a487280639b7e687a823277e260da97ce44d12ccbdbda00d25cb6dbae2b683b34ea8eceb3a98f368bd5fe6eb18f37b4ebd3bab10c2536c85334809122
EBUILD go-1.15.8.ebuild 4579 BLAKE2B d6e3779180ce639f03387ec3a5021b31e8d30493180c01cf86a5f69aa4d93bb3c265db1c23d5e6dd69c319b9845b5a7d0dafda47c0ae840b1a1d56e099e65744 SHA512 4cb133223e319b4c12679cc39e32f1262192fcac68e918ba69a501979f9cf97760589d28a897f5ae2a7c26da7b17e8f9c0593509467f85223daf7aed95e7974c
+EBUILD go-1.16.ebuild 4579 BLAKE2B d6e3779180ce639f03387ec3a5021b31e8d30493180c01cf86a5f69aa4d93bb3c265db1c23d5e6dd69c319b9845b5a7d0dafda47c0ae840b1a1d56e099e65744 SHA512 4cb133223e319b4c12679cc39e32f1262192fcac68e918ba69a501979f9cf97760589d28a897f5ae2a7c26da7b17e8f9c0593509467f85223daf7aed95e7974c
EBUILD go-9999.ebuild 4579 BLAKE2B c19b3d07e84df70393c8242eb825444436b97d591b214bf1fbd6d265ac0e276fd147d1cfa96e61b1e33468d56eb355cdeda807af7beaa0b3fdcb2f1d1f989374 SHA512 768d17b68de2925267e8274f9e216cd5f79c13be54cb986d0126ab85beaaaa4e46d8ca18422786ee09813b4707aafc6695df815e234fa330dc0211c2ebd398d3
MISC metadata.xml 462 BLAKE2B d9d4280e921286791a55619a7e5557c7041b0de157aa0f8bf6f17cf5041f802df4037270eeb3e8d37263f9fc17939c619a0dd3bce449c5f247279884da10bf67 SHA512 26fa7bfe26f00e8e1766cc0a1052fb8b5352799a33c9eb8f0c4f4523601d3eb5d1da8adc4b731f0d778039788734a9ad483f22e58e4bf1551ec8e9dccbcb87ba
diff --git a/dev-lang/go/go-1.16.ebuild b/dev-lang/go/go-1.16.ebuild
new file mode 100644
index 000000000000..461f57dcd52f
--- /dev/null
+++ b/dev-lang/go/go-1.16.ebuild
@@ -0,0 +1,197 @@
+# Copyright 1999-2021 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
+}
+
+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/jimtcl/Manifest b/dev-lang/jimtcl/Manifest
index ee75e4b03f22..438fba39c40f 100644
--- a/dev-lang/jimtcl/Manifest
+++ b/dev-lang/jimtcl/Manifest
@@ -3,5 +3,5 @@ AUX jimtcl-0.78-no-bootstrap.patch 1370 BLAKE2B 1f584727970d7103a183b9099818bafb
DIST jimtcl-0.76.zip 2326715 BLAKE2B 50ea032cf46d2edeeecde1dc3b4deffcbd09b5dd3a6880963608b3f20616bf162fafc4ec2869bfe5de90231c4c9a29fb04710bd299cc5e8728ff20a86e46f32d SHA512 50763ea897fb5393083749cdd9e57a3f3d2d6dbebc40ee6371b1b86ebfc2f515e9775cd2acd6627f0f81b54bd72cd8c74be5aa9d0dbefc7c16372887e07f6ea4
DIST jimtcl-0.78.tar.gz 3073533 BLAKE2B f0cdaf2807c7dd0e7c64e37cbc8dd019d8460e6a0320c239b0d01549aede8c86a89d84d7a3c5200c8d8cea428dbd1038d57dc66f5b580bdea8fe39710f967bbb SHA512 2a2cff12d7fdc4cf36734e41727eef08f6d74fb13d70bb0a3e01839e66859e57dd927ddedc161a6a7928881d640bd4e20a1bb313ed24aa2bb7bcb00eaf64fbf6
EBUILD jimtcl-0.76.ebuild 1499 BLAKE2B 84a6faae307b4e6e67e48e5424b7826cf179d9dd3cec74d452559d7e65e6e924f6ac3aa901e5c0e94c4e30cf790f8d07ed8bfdcf9ff9a9ecd25cac40cd45ee63 SHA512 5ef245dc133b79cbc9664c6a7ef63f1a24ad295c2f784d3221d33634b456840d86cd49886d11d8cf67e872591b6bd475c7fca8b2213d22a7e50f9b6c433f73c2
-EBUILD jimtcl-0.78-r2.ebuild 1302 BLAKE2B f9dc7919b224ae29b0209db2277847199dafbcf5d7e3f6a7cdbd5853082e6f35f232eb9120022ed6a66f3a069949a4f10501b76d98eb30c472a1c7b2711b08fc SHA512 94105f2304f761867808ee93636e546277beab33cba6acade339e24e24f3fb69a1fdd76609758e3a04d0ba2cbc9bb80eab6936f2a17c7a0aea3d497f7069ba16
+EBUILD jimtcl-0.78-r2.ebuild 1301 BLAKE2B 2a4303f35d1889620f9f85876c1c269815843dec92a34a481edc2f2ed5530b98389dee28091615c2705b4f9155ad2f1a5013c38755813c3ee229ad529b343666 SHA512 01ddc863f39ceb5825142bb58b31a37c1ec53beada967460df3d77bd231e29587a30455c28b73d3098bea3959da95b5990369440521bbfae95654464abea0557
MISC metadata.xml 251 BLAKE2B f23df3a2dcf096cee2f8d5cf2ef4fcc6c741ae312d2193f1d449aac7cd19126aa8197d4f3e2bd7828abf1aeeabf60f4a3ef8cc05b8152e6f6ce55b4897de5eb0 SHA512 0186a63dbf97f1800694d0bcb67528a7da92d30412398d5916452cc45c17d823f84ba7ffeae533476b7a48e7da19dabd0e431155ab66c19e68b113c910a4c03c
diff --git a/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild b/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild
index 6fd17432574c..0f5caf276512 100644
--- a/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild
+++ b/dev-lang/jimtcl/jimtcl-0.78-r2.ebuild
@@ -6,7 +6,7 @@ EAPI="7"
inherit eutils
SRC_URI="https://github.com/msteveb/jimtcl/archive/${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="amd64 ~arm ~arm64 ~m68k ~mips ~s390 x86"
+KEYWORDS="amd64 arm ~arm64 ~m68k ~mips ~s390 x86"
DESCRIPTION="Small footprint implementation of Tcl programming language"
HOMEPAGE="http://jim.tcl.tk/"
diff --git a/dev-lang/moarvm/Manifest b/dev-lang/moarvm/Manifest
index bc74db5c6c8f..5fbede6d0d20 100644
--- a/dev-lang/moarvm/Manifest
+++ b/dev-lang/moarvm/Manifest
@@ -6,13 +6,13 @@ DIST MoarVM-2020.09.tar.gz 5361349 BLAKE2B 4846f7b44a238f6f2b40e829999c4939cb6cd
DIST MoarVM-2020.10.tar.gz 5362845 BLAKE2B 1486fbbe5407aaf010a2b929458750989820e62d9baadcf66ae97df55c93914639bc988ffe30055fee0a0b0f88f73d9de8d253e138b6d594581160d976831280 SHA512 5251d564909313ca7a660d462370e899d415cbd0b493da189abde952d80992c3e04525b2d8ae5066c9c4ea2c99860e38f9a8beaee4ea0d53d9b32973104fa7d3
DIST MoarVM-2020.11.tar.gz 5402860 BLAKE2B f29ec4a8f4979fd65adb24cbfbbed586b69d47dd1176770e1e0e46a8bc35ef90146bae468fd6e088cd19201ba7e43d43d486d569970a81a695d6b642f57c2417 SHA512 c3ffe128db43316f93ad19f2804cd963cd2613dc46ffd29b099a165f122f6e7fdf28ce0b6c226a31f44abaeca72468f6774c39ceac3cea992596e8ce042ae7a5
DIST MoarVM-2020.12.tar.gz 5429137 BLAKE2B dbf9b0b29226dde10b27ddb9195678c86efc77eff16b57745d31dbcef316c8ba4f5233e2c3672b436d089ce59d4ed9acc908e483d081768946c088708caf5711 SHA512 2e95a3336f0b5687f525a5117daf6cd62da6c59fd6d96d508637a30ca5a0bc7a86a35bb21f09f29068e2ec940b859944838eec4c4a2412a3f3bf8320c3d9cfd5
-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-2020.12.ebuild 1462 BLAKE2B edad2d56a35cbee9eed5d56be143c5adfcdccf0a3f8a79ccbb27a9cebaf13600d382e2ec33cbd6b9b6ca977da900e2534c07a6f9817289d37eee703a5a85933b SHA512 7dc335cdb837c879c5348a03b295ef02d2794cdbfb8b152536ec2c31e0504d476894d8a2b96fb60711d2595e011c198d928b53bea407edec356c69bc55066b7b
-EBUILD moarvm-9999.ebuild 1749 BLAKE2B 397154f5112030d9ee7a68a4334cec1d87df77b646da23ef92cfee881579aad59494d439beae2f0908159eb4fe20c1435e85815b87c71879c0ce1dccb800f0d1 SHA512 50a456d4e358784a13ffe62361c5394d946880b48d43d9acc8e5bc25d9d7f8a2795fabd49f15c057601433789438a4652bb616acb18c932dfff866be100887b2
+EBUILD moarvm-2020.05.ebuild 1437 BLAKE2B 52a063055a7d16b74cca5f750a8033c7199f15c6e8406c654814ee490019c067efe360c03131a4f218162ff0e52668f4e5597cbc14e7878546275c979246f6c8 SHA512 79c9cac9ecdcbfed88ea308263ac377044c71f1d89d9cfe28720f2bc95da9cc515e324ab7ae8954c93ab0e4c52c793924dea9354621419ba3ad642e3414fcd47
+EBUILD moarvm-2020.06.ebuild 1467 BLAKE2B c20140017696176cf63a887c76bbd511a693493aa0fcad043a4919871f5eac4ee67d686b8dae5bbdea08576f5d576118064f41cfa4aefca8b55d6121eef20e1f SHA512 db2302a7eee365b212c122eb3389f417d34fd68ef828c705e992cf7e38283fc61343d4fc70a69d9d6677e4047ac698c173d2d2ceb2def85de46389e04803ae93
+EBUILD moarvm-2020.07.ebuild 1467 BLAKE2B c20140017696176cf63a887c76bbd511a693493aa0fcad043a4919871f5eac4ee67d686b8dae5bbdea08576f5d576118064f41cfa4aefca8b55d6121eef20e1f SHA512 db2302a7eee365b212c122eb3389f417d34fd68ef828c705e992cf7e38283fc61343d4fc70a69d9d6677e4047ac698c173d2d2ceb2def85de46389e04803ae93
+EBUILD moarvm-2020.08.ebuild 1467 BLAKE2B c20140017696176cf63a887c76bbd511a693493aa0fcad043a4919871f5eac4ee67d686b8dae5bbdea08576f5d576118064f41cfa4aefca8b55d6121eef20e1f SHA512 db2302a7eee365b212c122eb3389f417d34fd68ef828c705e992cf7e38283fc61343d4fc70a69d9d6677e4047ac698c173d2d2ceb2def85de46389e04803ae93
+EBUILD moarvm-2020.09.ebuild 1467 BLAKE2B c20140017696176cf63a887c76bbd511a693493aa0fcad043a4919871f5eac4ee67d686b8dae5bbdea08576f5d576118064f41cfa4aefca8b55d6121eef20e1f SHA512 db2302a7eee365b212c122eb3389f417d34fd68ef828c705e992cf7e38283fc61343d4fc70a69d9d6677e4047ac698c173d2d2ceb2def85de46389e04803ae93
+EBUILD moarvm-2020.10.ebuild 1467 BLAKE2B c20140017696176cf63a887c76bbd511a693493aa0fcad043a4919871f5eac4ee67d686b8dae5bbdea08576f5d576118064f41cfa4aefca8b55d6121eef20e1f SHA512 db2302a7eee365b212c122eb3389f417d34fd68ef828c705e992cf7e38283fc61343d4fc70a69d9d6677e4047ac698c173d2d2ceb2def85de46389e04803ae93
+EBUILD moarvm-2020.11.ebuild 1449 BLAKE2B c54c97f3c62bac54d140d3bd881cc616434fa88909dfa76f1168a22b9ea3acf346e06573cdb082e306bbc9b134b1ce82f3efbb760eedc91552f37cdbcbbc4fee SHA512 125e657028ada97b7e7cc5fcdcfec2a05450a494110aac1698fadd06465518423b5032f42f5a41692b3a8fb98964e3d8d225e1e6956fffb65937d6e637c670fb
+EBUILD moarvm-2020.12.ebuild 1449 BLAKE2B c54c97f3c62bac54d140d3bd881cc616434fa88909dfa76f1168a22b9ea3acf346e06573cdb082e306bbc9b134b1ce82f3efbb760eedc91552f37cdbcbbc4fee SHA512 125e657028ada97b7e7cc5fcdcfec2a05450a494110aac1698fadd06465518423b5032f42f5a41692b3a8fb98964e3d8d225e1e6956fffb65937d6e637c670fb
+EBUILD moarvm-9999.ebuild 1736 BLAKE2B 9f434f8561c55716165952dce8e35bd3659fbd0f3a42f688049e023faa0f10c4aa245ca810279ae80527c4ec5fe5c514bc5ae534aa30e839693657ce68fc7f9c SHA512 5867e2ee90401a86cd0341d8ab5ae75fecb7d366d88e1269439248686942b5c1855e45857b4388491631b26361aac3b0495d7214158931e955655a34d557fada
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 02948c1eaebd..61213389a57a 100644
--- a/dev-lang/moarvm/moarvm-2020.05.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.05.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -9,7 +9,6 @@ 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"
diff --git a/dev-lang/moarvm/moarvm-2020.06.ebuild b/dev-lang/moarvm/moarvm-2020.06.ebuild
index 8e60e5d5cdcc..5907a8078d0d 100644
--- a/dev-lang/moarvm/moarvm-2020.06.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.06.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,6 @@ 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"
diff --git a/dev-lang/moarvm/moarvm-2020.07.ebuild b/dev-lang/moarvm/moarvm-2020.07.ebuild
index 8e60e5d5cdcc..5907a8078d0d 100644
--- a/dev-lang/moarvm/moarvm-2020.07.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.07.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,6 @@ 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"
diff --git a/dev-lang/moarvm/moarvm-2020.08.ebuild b/dev-lang/moarvm/moarvm-2020.08.ebuild
index 8e60e5d5cdcc..5907a8078d0d 100644
--- a/dev-lang/moarvm/moarvm-2020.08.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.08.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,6 @@ 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"
diff --git a/dev-lang/moarvm/moarvm-2020.09.ebuild b/dev-lang/moarvm/moarvm-2020.09.ebuild
index 8e60e5d5cdcc..5907a8078d0d 100644
--- a/dev-lang/moarvm/moarvm-2020.09.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.09.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,6 @@ 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"
diff --git a/dev-lang/moarvm/moarvm-2020.10.ebuild b/dev-lang/moarvm/moarvm-2020.10.ebuild
index 8e60e5d5cdcc..5907a8078d0d 100644
--- a/dev-lang/moarvm/moarvm-2020.10.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,6 @@ 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"
diff --git a/dev-lang/moarvm/moarvm-2020.11.ebuild b/dev-lang/moarvm/moarvm-2020.11.ebuild
index 05561a98ca21..df017e9cd54a 100644
--- a/dev-lang/moarvm/moarvm-2020.11.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.11.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,6 @@ 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"
diff --git a/dev-lang/moarvm/moarvm-2020.12.ebuild b/dev-lang/moarvm/moarvm-2020.12.ebuild
index 05561a98ca21..df017e9cd54a 100644
--- a/dev-lang/moarvm/moarvm-2020.12.ebuild
+++ b/dev-lang/moarvm/moarvm-2020.12.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,6 @@ 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"
diff --git a/dev-lang/moarvm/moarvm-9999.ebuild b/dev-lang/moarvm/moarvm-9999.ebuild
index cd8b0916bf63..70abb36a2364 100644
--- a/dev-lang/moarvm/moarvm-9999.ebuild
+++ b/dev-lang/moarvm/moarvm-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,6 @@ if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
EGIT_SUBMODULES=( '*' '-3rdparty/libatomicops' '-3rdparty/libuv' )
inherit git-r3
- KEYWORDS=""
S="${WORKDIR}/${P}"
else
SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
diff --git a/dev-lang/mujs/Manifest b/dev-lang/mujs/Manifest
index a8ab098e5e19..fc0eeee26c26 100644
--- a/dev-lang/mujs/Manifest
+++ b/dev-lang/mujs/Manifest
@@ -1,4 +1,7 @@
AUX mujs-1.0.5-flags.patch 839 BLAKE2B 843d1bf60167dfb91a5736ee936098c8f6b716f7a70118512d102adb3dc00223d5a3f1fb8da3a57b89797d5b26ebf8120cc1ef2013162aeff288be07cb99d99f SHA512 35681b868e129edffe27e41b793ef073b9ebeb5842212116f9740257515a3fb0d2f00d828a72d96b630c7632184ff9340325a5d79503e5a4c5a52892bd26f4bd
+AUX mujs-1.1.0-flags.patch 376 BLAKE2B 6bcfc39f97b35ae2230aa33ca99d4338915224a9b1ffbc39d747bb9e1ec566d36510cefc75906695c729ea2b44b2c118519ba25998aebb09dee51ad622bd1f3e SHA512 fc86b1422db6b3a934bf6e0da5c18a7a61fbf8c691c2dbf1355c0b7fc669d7f324af81d7e39c6042b0006ad294e4b21cb4c16bf77b3f1be18a07fc9037e09039
DIST mujs-1.0.9.tar.gz 123113 BLAKE2B c55deaf14508c412394bf5fe3a53ef581d4e4726024d65f2ba5155eb2400a6e2f043c9f6721b170d19297e2cd38c62c462f3b4e102eb4bfe6e7857b40156c18b SHA512 a3dbc8dbf5c16b7de9803954fe38ea9f77c0e5b7de3895966ec0877e063d463c9950499791ea0d102e464bd0426413689f3edb15e38db3f13915d72f27556725
+DIST mujs-1.1.0.tar.gz 123450 BLAKE2B e7bc05d35566ff26346e713645e0f417a9acd1a73b5fb5c7f0c35bf940765fba1ab04199f4ed1dd6ce0e3bb2bf1547703335a1c125353da24de72f2b1adfb243 SHA512 10b61453f8483e3e67c95a742aa7868e255816b2ce25c84d8e24c5c737bad1f23ade67531c5c5bb914804be446da33c0cbe8e95a6d5889250dd8520ce56f23a0
EBUILD mujs-1.0.9.ebuild 1367 BLAKE2B da737815523e53241a5bbe38c36b172cb01ca99a5d45961374124b63b207f9ee3482e33cd5bd114774b9b4c25aa17a48cd60a5d5e6a516b7df3993c2d95c75f1 SHA512 acc4b05e6e5a737831f96e959e706a6f49abd72addc2d274bc596fe79777cad755e88df78512bc1bfab22fdd6325047b8e5f2ce85c8d545d9108cecbccee6759
+EBUILD mujs-1.1.0.ebuild 1375 BLAKE2B d57fbc773fe1c7588df706d564c21be2c045a32c30c4de6f2ee96068b5ca09d10a9d09dd2a28a44576f681c636c751f61606f32c414bf35070b3b420ea58d9b4 SHA512 a5e6bd7ac2f450b4a93cb184a79fb86eae85beae3bd3a25f11e1f96aa2418fd5b70c613063e145bc37831108754bd27b4d20aded694d1370200f206498640cec
MISC metadata.xml 547 BLAKE2B fcf818d9a103347b5b47f7b7c77654e84db6aa2a8dd12f169d58522cb47a455f02f0bf66fc85057a2a10916c4a24dcdca87a5f2e12c54d184ea8d5af1db65810 SHA512 e6bac32e74df77c2ded4e9a9e6200ab76e06217b9a236d6bf5f0df23a031eab2519f26e3d402ff106f9506a4dbe3baf66cae5f961f6d016e7c42fe83fc532799
diff --git a/dev-lang/mujs/files/mujs-1.1.0-flags.patch b/dev-lang/mujs/files/mujs-1.1.0-flags.patch
new file mode 100644
index 000000000000..3c57f4699109
--- /dev/null
+++ b/dev-lang/mujs/files/mujs-1.1.0-flags.patch
@@ -0,0 +1,14 @@
+diff --git a/Makefile b/Makefile
+index 1702e67..7b24457 100644
+--- a/Makefile
++++ b/Makefile
+@@ -30,9 +30,6 @@ ifeq "$(build)" "debug"
+ else ifeq "$(build)" "sanitize"
+ CFLAGS += -pipe -g -fsanitize=address -fno-omit-frame-pointer
+ LDFLAGS += -fsanitize=address
+-else ifeq "$(build)" "release"
+- CFLAGS += -Os
+- LDFLAGS += -Wl,-s
+ endif
+
+ ifeq "$(HAVE_READLINE)" "yes"
diff --git a/dev-lang/mujs/mujs-1.1.0.ebuild b/dev-lang/mujs/mujs-1.1.0.ebuild
new file mode 100644
index 000000000000..af61b9b01bf5
--- /dev/null
+++ b/dev-lang/mujs/mujs-1.1.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="An embeddable Javascript interpreter in C."
+HOMEPAGE="https://mujs.com/ https://github.com/ccxvii/mujs"
+SRC_URI="https://github.com/ccxvii/mujs/archive/${PV}.tar.gz -> ${P}.tar.gz"
+# Not available right now.
+#SRC_URI="https://mujs.com/downloads/${P}.tar.xz"
+
+LICENSE="ISC"
+# subslot matches SONAME
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="static-libs"
+
+RDEPEND="sys-libs/readline:0="
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.1.0-flags.patch"
+)
+
+src_prepare() {
+ default
+
+ tc-export AR CC
+
+ # library's ABI (and API) changes in ~each release:
+ # diff 'usr/includemujs.h' across releases to validate
+ append-cflags -fPIC -Wl,-soname=lib${PN}.so.${PV}
+}
+
+src_compile() {
+ emake VERSION=${PV} prefix=/usr shared
+}
+
+src_install() {
+ local myeconfargs=(
+ DESTDIR="${ED}"
+ install-shared
+ libdir="/usr/$(get_libdir)"
+ prefix="/usr"
+ VERSION="${PV}"
+ $(usex static-libs install-static '')
+ )
+
+ emake "${myeconfargs[@]}"
+
+ mv -v "${ED}"/usr/$(get_libdir)/lib${PN}.so{,.${PV}} || die
+
+ dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so
+ dosym lib${PN}.so.${PV} /usr/$(get_libdir)/lib${PN}.so.${PV:0:1}
+}
diff --git a/dev-lang/nqp/Manifest b/dev-lang/nqp/Manifest
index cbbc5d2ab4cd..dd69c7f3bdb3 100644
--- a/dev-lang/nqp/Manifest
+++ b/dev-lang/nqp/Manifest
@@ -6,13 +6,13 @@ DIST nqp-2020.09.tar.gz 3951646 BLAKE2B 9ec1d121f9dc276ad52ea22d43fb24fefeda009f
DIST nqp-2020.10.tar.gz 3954398 BLAKE2B 5c44a20c3696bb596bd1d3088fba8db8c63ce6e612f00c2d24456dc7d908b12a214b4bde7e4e79505c39f6237a6f91578de47778185fa6cc3b6287c90e6c370e SHA512 279715fa0b2012852cc31b9e7898092510a1ba76005576a3ffe38f9dc8e9c002a4161be8f0b66e38c501e656a8124a320dbf2c90c89f53e57d0950e1baa1ea2b
DIST nqp-2020.11.tar.gz 3954688 BLAKE2B d273c78c8f2083908b2815dc10787fec31404eb13c1e64253e7e5ae896d27a3755cf5c8045d47c4f465178568731e0d74951db6e45d103cf3ee18470124e97e0 SHA512 51b5e7f9d290bca7ada24cf9c12c61608be92269fc848976cada49f7445694e0f26929b5f9e90a9153eb379f0d74a6bb8068cd5ebf383d4501f75535b70e7605
DIST nqp-2020.12.tar.gz 3957981 BLAKE2B d45ad66ebb0788db6e7191b4b7af4093b73e63e5f66ab4ccab62163b0285adb7d4e18a7c906c34f99dd63e0920f4d6e16e11005eb5df1d726796e9f106f9c4f8 SHA512 4ce87dc868c91565ebe896db766403bb018b2f5ea919bd0fb5b173498ba124712ffa795ec4e219240e5aabb59c55285bee5e46d3ac3d5869fc445b0ab3ea8485
-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-2020.12.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
-EBUILD nqp-9999.ebuild 3647 BLAKE2B 8b111db7536fd66b1d2f495e3b55fd9b52f3339ef5af061423556de7c369a7d664f5a0a744371c1a6916140d3ed58103c1ca4b0859253c025d26f9379da69616 SHA512 27426a63f0b3838023af38543a580b83e66802790743f9fa4e5b6671ee86c4510ff9808686fa62a50d457b3d633a9ed5469948888078e0c48ceb1ca52a71b78e
+EBUILD nqp-2020.05.ebuild 3634 BLAKE2B 5d8351300dcfe9ead4467a1253f0cafc2ea23afcc3c2200711fd8acbee95048c08adc10ed44978c496b3d1e79071dc4755d7c005d1045bd871d068525b69c167 SHA512 d6c66b3e9d127586524e368560afc6ba49e5f8a48b3054ef8dcbacfe6fe7e81325269f3eeeb72e2237cbeaa203b85797d636944459e55378490ce98df2ca2fb8
+EBUILD nqp-2020.06.ebuild 3634 BLAKE2B 5d8351300dcfe9ead4467a1253f0cafc2ea23afcc3c2200711fd8acbee95048c08adc10ed44978c496b3d1e79071dc4755d7c005d1045bd871d068525b69c167 SHA512 d6c66b3e9d127586524e368560afc6ba49e5f8a48b3054ef8dcbacfe6fe7e81325269f3eeeb72e2237cbeaa203b85797d636944459e55378490ce98df2ca2fb8
+EBUILD nqp-2020.07.ebuild 3634 BLAKE2B 5d8351300dcfe9ead4467a1253f0cafc2ea23afcc3c2200711fd8acbee95048c08adc10ed44978c496b3d1e79071dc4755d7c005d1045bd871d068525b69c167 SHA512 d6c66b3e9d127586524e368560afc6ba49e5f8a48b3054ef8dcbacfe6fe7e81325269f3eeeb72e2237cbeaa203b85797d636944459e55378490ce98df2ca2fb8
+EBUILD nqp-2020.08.ebuild 3634 BLAKE2B 5d8351300dcfe9ead4467a1253f0cafc2ea23afcc3c2200711fd8acbee95048c08adc10ed44978c496b3d1e79071dc4755d7c005d1045bd871d068525b69c167 SHA512 d6c66b3e9d127586524e368560afc6ba49e5f8a48b3054ef8dcbacfe6fe7e81325269f3eeeb72e2237cbeaa203b85797d636944459e55378490ce98df2ca2fb8
+EBUILD nqp-2020.09.ebuild 3634 BLAKE2B 5d8351300dcfe9ead4467a1253f0cafc2ea23afcc3c2200711fd8acbee95048c08adc10ed44978c496b3d1e79071dc4755d7c005d1045bd871d068525b69c167 SHA512 d6c66b3e9d127586524e368560afc6ba49e5f8a48b3054ef8dcbacfe6fe7e81325269f3eeeb72e2237cbeaa203b85797d636944459e55378490ce98df2ca2fb8
+EBUILD nqp-2020.10.ebuild 3634 BLAKE2B 5d8351300dcfe9ead4467a1253f0cafc2ea23afcc3c2200711fd8acbee95048c08adc10ed44978c496b3d1e79071dc4755d7c005d1045bd871d068525b69c167 SHA512 d6c66b3e9d127586524e368560afc6ba49e5f8a48b3054ef8dcbacfe6fe7e81325269f3eeeb72e2237cbeaa203b85797d636944459e55378490ce98df2ca2fb8
+EBUILD nqp-2020.11.ebuild 3634 BLAKE2B 5d8351300dcfe9ead4467a1253f0cafc2ea23afcc3c2200711fd8acbee95048c08adc10ed44978c496b3d1e79071dc4755d7c005d1045bd871d068525b69c167 SHA512 d6c66b3e9d127586524e368560afc6ba49e5f8a48b3054ef8dcbacfe6fe7e81325269f3eeeb72e2237cbeaa203b85797d636944459e55378490ce98df2ca2fb8
+EBUILD nqp-2020.12.ebuild 3634 BLAKE2B 5d8351300dcfe9ead4467a1253f0cafc2ea23afcc3c2200711fd8acbee95048c08adc10ed44978c496b3d1e79071dc4755d7c005d1045bd871d068525b69c167 SHA512 d6c66b3e9d127586524e368560afc6ba49e5f8a48b3054ef8dcbacfe6fe7e81325269f3eeeb72e2237cbeaa203b85797d636944459e55378490ce98df2ca2fb8
+EBUILD nqp-9999.ebuild 3634 BLAKE2B 5d8351300dcfe9ead4467a1253f0cafc2ea23afcc3c2200711fd8acbee95048c08adc10ed44978c496b3d1e79071dc4755d7c005d1045bd871d068525b69c167 SHA512 d6c66b3e9d127586524e368560afc6ba49e5f8a48b3054ef8dcbacfe6fe7e81325269f3eeeb72e2237cbeaa203b85797d636944459e55378490ce98df2ca2fb8
MISC metadata.xml 634 BLAKE2B 1ef5daf7c995ddad1df4b2c7d33ecfc7a4cd146cb518314f88d58e370ede9e986bb47747b10952cf0ee6d587fe5925ba5b0086006182f3e16bd114d49e1a0f3a SHA512 a093877d22e76bbbced97c7752ed76d6aa110eb8d0676f97ae3d38ad79ab7b8ba770243b64e618b588faebf179713813fe6fc8ec7371c695c9f0979f6bce3dc0
diff --git a/dev-lang/nqp/nqp-2020.05.ebuild b/dev-lang/nqp/nqp-2020.05.ebuild
index c41412d388c5..81e93919b90b 100644
--- a/dev-lang/nqp/nqp-2020.05.ebuild
+++ b/dev-lang/nqp/nqp-2020.05.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,7 +8,6 @@ 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"
diff --git a/dev-lang/nqp/nqp-2020.06.ebuild b/dev-lang/nqp/nqp-2020.06.ebuild
index c41412d388c5..81e93919b90b 100644
--- a/dev-lang/nqp/nqp-2020.06.ebuild
+++ b/dev-lang/nqp/nqp-2020.06.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,7 +8,6 @@ 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"
diff --git a/dev-lang/nqp/nqp-2020.07.ebuild b/dev-lang/nqp/nqp-2020.07.ebuild
index c41412d388c5..81e93919b90b 100644
--- a/dev-lang/nqp/nqp-2020.07.ebuild
+++ b/dev-lang/nqp/nqp-2020.07.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,7 +8,6 @@ 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"
diff --git a/dev-lang/nqp/nqp-2020.08.ebuild b/dev-lang/nqp/nqp-2020.08.ebuild
index c41412d388c5..81e93919b90b 100644
--- a/dev-lang/nqp/nqp-2020.08.ebuild
+++ b/dev-lang/nqp/nqp-2020.08.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,7 +8,6 @@ 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"
diff --git a/dev-lang/nqp/nqp-2020.09.ebuild b/dev-lang/nqp/nqp-2020.09.ebuild
index c41412d388c5..81e93919b90b 100644
--- a/dev-lang/nqp/nqp-2020.09.ebuild
+++ b/dev-lang/nqp/nqp-2020.09.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,7 +8,6 @@ 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"
diff --git a/dev-lang/nqp/nqp-2020.10.ebuild b/dev-lang/nqp/nqp-2020.10.ebuild
index c41412d388c5..81e93919b90b 100644
--- a/dev-lang/nqp/nqp-2020.10.ebuild
+++ b/dev-lang/nqp/nqp-2020.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,7 +8,6 @@ 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"
diff --git a/dev-lang/nqp/nqp-2020.11.ebuild b/dev-lang/nqp/nqp-2020.11.ebuild
index c41412d388c5..81e93919b90b 100644
--- a/dev-lang/nqp/nqp-2020.11.ebuild
+++ b/dev-lang/nqp/nqp-2020.11.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,7 +8,6 @@ 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"
diff --git a/dev-lang/nqp/nqp-2020.12.ebuild b/dev-lang/nqp/nqp-2020.12.ebuild
index c41412d388c5..81e93919b90b 100644
--- a/dev-lang/nqp/nqp-2020.12.ebuild
+++ b/dev-lang/nqp/nqp-2020.12.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,7 +8,6 @@ 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"
diff --git a/dev-lang/nqp/nqp-9999.ebuild b/dev-lang/nqp/nqp-9999.ebuild
index c41412d388c5..81e93919b90b 100644
--- a/dev-lang/nqp/nqp-9999.ebuild
+++ b/dev-lang/nqp/nqp-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -8,7 +8,6 @@ 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"
diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest
index 888bf70dcb9d..d0365d74923f 100644
--- a/dev-lang/ocaml/Manifest
+++ b/dev-lang/ocaml/Manifest
@@ -12,8 +12,7 @@ DIST ocaml-4.11.1.tar.gz 5069552 BLAKE2B a731d4b60d7965c860dda5c9dfb26b968320760
DIST ocaml-patches-8.tar.bz2 1803 BLAKE2B 5e76a198c2f5ca9f231d4e80499d784cf061ec79bf6b5e3aac917e1260d1f2b927f0f8015d39c01ce4fd481d32a5d211c31e081a7ab87ba1e7c7d5def95bc0fb SHA512 fc477fbb5bdec60a3c4d3dfa110119bb579560ac0e0e57e30e076da72643bda6359c06fd3745fd3436c5d611dbbd888ec2921e9d1920f4929df633c35a797411
DIST ocaml-patches-9.tar.bz2 1700 BLAKE2B 4e46b8fb490db28f815414e285f54e251394ea53e1d25c529bbea9f03e426fd19132b1e2c7c2be7d14983fceb4cad073d191b001f6da522fee4226371d4a2eca SHA512 cc19f9104fac69aecc5effa8cb772342e1fb61cdcd38ba0176efe04cf3d710b1c56d5178748f3bd29099af91fa684da432a8ef8d42de76dbd1b6954a255ea6c0
EBUILD ocaml-4.04.2-r1.ebuild 3530 BLAKE2B 2030afbaad9ffbe4f34ce84c0215129f738739b332751407bb0eb8a8ab98aa69ce893567ec5a6edfb8d4fd4704608dae556723a1739a92415c899d0e6d020126 SHA512 e2d823ecea42bfc096e92c040a19906fb3f0d68b1ff36671a3372f8af2297aced9df63f32220e221c1fe8c37c488a6af2936c70a1f822fbab767bab23db0f0fa
-EBUILD ocaml-4.05.0-r1.ebuild 3674 BLAKE2B 86481c8507edabb8649e14270426d2ecca3886d7a8e576d431ebd797f4694be8cf34563ffe1b5fda7ec1eb85adcac93433039cd7a267fa51dfbe20c7a38419bb SHA512 64fb85bce08871f1e25cf6eb4701115d80721ed62d879d9026f0ae1f131a0f412ea0f78e8730248f7b8e57e22ca874350f2facd58a54585be8c81c4c0ec8ff7a
-EBUILD ocaml-4.05.0-r2.ebuild 3726 BLAKE2B 749a2294a7ca46ef7e76ff567d1daa8370b54954e154cce0681b6874cfa17c6e70953c405c750c4bdee95982e060afb83dc53eb1ff256f1e34b8b57cc7cccf27 SHA512 deefa76fb53ecb61bf3ee1bd80082e7b8c075a07e5e3fcd5ce858a8dd62320187e4c4bf2f66a63dd320c9e156968638ee85e7b61bee0f24082f8d1e494d926b6
+EBUILD ocaml-4.05.0-r3.ebuild 3773 BLAKE2B ff792418d2f681555f55c271a85d7d875b215964b4e50f02c8fcec61d351f6afa25d4bcdcd612714d572931ab7cd8c2d19ee51b1d4d4d997d0c2ed83d7ac36fa SHA512 680f8608df88b7c8d496bbf6194e6a1ab4273015ca89d1ba804fc76450ccc2c8ca349158ccbe5d0e0dbc2075344c50012903accdc4f7ede9c685e3a8aee43310
EBUILD ocaml-4.09.0.ebuild 2169 BLAKE2B cc7c2451281b2f10733f562023dae3b1698336afb1493ef9bc79d7b817e5eb8c5508c132dc5b4fd29218f79a451ef718e2d910907ef278874696a732e05cac40 SHA512 fc1a50be3ac60174a880c8ed7a47219fb14b80e162a93ad3340450f72dab7f9a96431bc3e22e8a94179abdcf40a46019cdd9bc8160250c1c39867927d929c7de
EBUILD ocaml-4.10.0.ebuild 2176 BLAKE2B 8a32ad81554250dd7ea21af73adee00e9f7aa6a60e0e6e0d7df40429b1237bea6df535f132a4fd7eeea55dd74a28f7f2becb15abb1394f8ee41b92755f77740b SHA512 16f9a5ce5d38a8af938c9a26e484606fdf51426c0e6f9763bcae5871db8a59f1d35717e88da5dc5195b0493d67705487d4cac4c4a7db4f02a09319bd29ecafa9
EBUILD ocaml-4.10.2.ebuild 2127 BLAKE2B 4711896726729f7640a132b9d37e73e56eff6599f83b3c68d9423742d72e7542d1c5576cb0e981835fa534ed83efbd138ded2049ab71b19f1a803f6ad4859681 SHA512 59c0c42268d49fc798668e2108e94356d1c5c5ba1ccbac5b66db98dfeedefe6190cd6250294ace15c625c6c69a613e2003c7def741f2ff86aed83b6410478fc1
diff --git a/dev-lang/ocaml/ocaml-4.05.0-r1.ebuild b/dev-lang/ocaml/ocaml-4.05.0-r1.ebuild
deleted file mode 100644
index f1e64c43cdab..000000000000
--- a/dev-lang/ocaml/ocaml-4.05.0-r1.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit flag-o-matic eutils multilib versionator toolchain-funcs
-
-PATCHLEVEL="9"
-MY_P="${P/_/-}"
-DESCRIPTION="Type-inferring functional programming language descended from the ML family"
-HOMEPAGE="https://ocaml.org"
-SRC_URI="https://github.com/ocaml/ocaml/archive/${PV/_/+}.tar.gz -> ${MY_P}.tar.gz
- mirror://gentoo/${PN}-patches-${PATCHLEVEL}.tar.bz2"
-
-LICENSE="QPL-1.0 LGPL-2"
-# Everytime ocaml is updated to a new version, everything ocaml must be rebuilt,
-# so here we go with the subslot.
-SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
-IUSE="emacs flambda latex ncurses +ocamlopt spacetime X xemacs"
-
-RDEPEND="
- sys-libs/binutils-libs:=
- ncurses? ( sys-libs/ncurses:0= )
- spacetime? ( sys-libs/libunwind:= )
- X? ( x11-libs/libX11 )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-PDEPEND="emacs? ( app-emacs/ocaml-mode )
- xemacs? ( app-xemacs/ocaml )"
-
-S="${WORKDIR}/${MY_P}"
-pkg_setup() {
- # dev-lang/ocaml creates its own objects but calls gcc for linking, which will
- # results in relocations if gcc wants to create a PIE executable
- if gcc-specs-pie ; then
- append-ldflags -nopie
- ewarn "Ocaml generates its own native asm, you're using a PIE compiler"
- ewarn "We have appended -nopie to ocaml build options"
- ewarn "because linking an executable with pie while the objects are not pic will not work"
- fi
-}
-
-src_prepare() {
- EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches"
- epatch "${FILESDIR}/${PN}-4.04.2-tinfo.patch" #459512
-}
-
-src_configure() {
- export LC_ALL=C
- local myconf=""
-
- # Causes build failures because it builds some programs with -pg,
- # bug #270920
- filter-flags -fomit-frame-pointer
- # Bug #285993
- filter-mfpmath sse
-
- # -ggdb3 & co makes it behave weirdly, breaks sexplib
- replace-flags -ggdb* -ggdb
-
- # It doesn't compile on alpha without this LDFLAGS
- use alpha && append-ldflags "-Wl,--no-relax"
-
- use ncurses || myconf="${myconf} -no-curses"
- use X || myconf="${myconf} -no-graph"
- use flambda && myconf="${myconf} -flambda"
- use spacetime && myconf="${myconf} -spacetime"
-
- # ocaml uses a home-brewn configure script, preventing it to use econf.
- RAW_LDFLAGS="$(raw-ldflags)" ./configure \
- --prefix "${EPREFIX}"/usr \
- --bindir "${EPREFIX}"/usr/bin \
- --target-bindir "${EPREFIX}"/usr/bin \
- --libdir "${EPREFIX}"/usr/$(get_libdir)/ocaml \
- --mandir "${EPREFIX}"/usr/share/man \
- -target "${CHOST}" \
- -host "${CBUILD}" \
- -cc "$(tc-getCC)" \
- -as "$(tc-getAS)" \
- -aspp "$(tc-getCC) -c" \
- -partialld "$(tc-getLD) -r" \
- --with-pthread ${myconf} || die "configure failed!"
-
- # http://caml.inria.fr/mantis/view.php?id=4698
- export CCLINKFLAGS="${LDFLAGS}"
-}
-
-src_compile() {
- emake world
-
- # Native code generation can be disabled now
- if use ocamlopt ; then
- # bug #279968
- emake opt
- emake -j1 opt.opt
- fi
-}
-
-src_test() {
- if use ocamlopt ; then
- emake -j1 tests
- else
- ewarn "${PN} testsuite requires ocamlopt useflag"
- fi
-}
-
-src_install() {
- emake BINDIR="${ED}"/usr/bin \
- LIBDIR="${ED}"/usr/$(get_libdir)/ocaml \
- MANDIR="${ED}"/usr/share/man \
- install
-
- # Symlink the headers to the right place
- dodir /usr/include
- dosym /usr/$(get_libdir)/ocaml/caml /usr/include/caml
-
- dodoc Changes README.adoc
-
- # Create and envd entry for latex input files
- if use latex ; then
- echo "TEXINPUTS=${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:" > "${T}"/99ocamldoc
- doenvd "${T}"/99ocamldoc
- fi
-
- # Install ocaml-rebuild portage set
- insinto /usr/share/portage/config/sets
- doins "${FILESDIR}/ocaml.conf"
-}
diff --git a/dev-lang/ocaml/ocaml-4.05.0-r2.ebuild b/dev-lang/ocaml/ocaml-4.05.0-r3.ebuild
index dc6ca02c535e..ecf884d0ff1a 100644
--- a/dev-lang/ocaml/ocaml-4.05.0-r2.ebuild
+++ b/dev-lang/ocaml/ocaml-4.05.0-r3.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="5"
+EAPI=7
-inherit flag-o-matic eutils multilib versionator toolchain-funcs
+inherit flag-o-matic eutils multilib toolchain-funcs
PATCHLEVEL="9"
MY_P="${P/_/-}"
@@ -25,13 +25,18 @@ RDEPEND="
spacetime? ( sys-libs/libunwind:= )
X? ( x11-libs/libX11 )
!dev-ml/num"
-DEPEND="${RDEPEND}
+BDEPEND="${RDEPEND}
virtual/pkgconfig"
-
PDEPEND="emacs? ( app-emacs/ocaml-mode )
xemacs? ( app-xemacs/ocaml )"
S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.04.2-tinfo.patch" #459512
+ "${FILESDIR}"/${P}-gcc10.patch
+)
+
pkg_setup() {
# dev-lang/ocaml creates its own objects but calls gcc for linking, which will
# results in relocations if gcc wants to create a PIE executable
@@ -45,8 +50,8 @@ pkg_setup() {
src_prepare() {
EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches"
- epatch "${FILESDIR}/${PN}-4.04.2-tinfo.patch" #459512
- epatch "${FILESDIR}"/${P}-gcc10.patch
+ default
+
}
src_configure() {
@@ -104,7 +109,7 @@ src_test() {
if use ocamlopt ; then
emake -j1 tests
else
- ewarn "${PN} testsuite requires ocamlopt useflag"
+ ewarn "${PN} was built without 'ocamlopt' USE flag; skipping tests."
fi
}
@@ -116,16 +121,14 @@ src_install() {
# Symlink the headers to the right place
dodir /usr/include
- dosym /usr/$(get_libdir)/ocaml/caml /usr/include/caml
-
+ # Create symlink for header files
+ dosym "../$(get_libdir)/ocaml/caml" /usr/include/caml
dodoc Changes README.adoc
-
- # Create and envd entry for latex input files
+ # Create envd entry for latex input files
if use latex ; then
- echo "TEXINPUTS=${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:" > "${T}"/99ocamldoc
- doenvd "${T}"/99ocamldoc
+ echo "TEXINPUTS=\"${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:\"" > "${T}/99ocamldoc"
+ doenvd "${T}/99ocamldoc"
fi
-
# Install ocaml-rebuild portage set
insinto /usr/share/portage/config/sets
doins "${FILESDIR}/ocaml.conf"
diff --git a/dev-lang/pcc/Manifest b/dev-lang/pcc/Manifest
index 2cd9282b9959..6291b9d85c42 100644
--- a/dev-lang/pcc/Manifest
+++ b/dev-lang/pcc/Manifest
@@ -1,5 +1,5 @@
AUX pcc-1.1.0-multiarch.patch 377 BLAKE2B 5b5e86099aef3e173c194b535cbde726a41bb663e2754a848a920b2c967c5dab4b9041a7a879b7649fbb6eb8019eda46b7cfbd63bb8fa29067a9d2f7aa4b2466 SHA512 117f4a574f7d86a5d39b88927d56843c900aee539b07639072965f8c0b30120b5900dab3c7fa8d421c9dd6ea539fa0f5b55fd34be506652185f034d071f34195
DIST pcc-1.1.0.tgz 848427 BLAKE2B f94dd3eb3f96145e3fd2d5d89ca5a3a12c55614924c1bd2ccc219b03b4804bb34904b7041efb6237e06982b3282578d996510ffc9adc916e212f6f7d1bcb5a35 SHA512 5bd2b59fbb323016d215023ce77793ae66766e8e8192b44bf0707ee444658022e1645669c13eea8c81bc55c161eea3b0271d6b3098b8a7d51ce67eb86c7527b4
EBUILD pcc-1.1.0-r1.ebuild 784 BLAKE2B ad1916861a76104eae7da63eec8899cad0bee63e85fbd924a1cf3c417ae16817565f620d4dedd6d65d8efd9a2225fd168e55e1ddd7b0e9d255acd52d7160e00c SHA512 6691451956bd7c1ff1983174ab5fcb13c420f9e1ceadceb2b87186c6a1cd88f15e51b5f36b0e82a3dacd83384f9f6c69bbc34373fac2ce4b102f916e30212b1d
-EBUILD pcc-9999.ebuild 881 BLAKE2B 8830fa7717dc63de274c52b4194932faed799238f7b847746a2505314d9589d90ccc664f792b0ab91f4c2307184d2a9bd990154caf6bb24bced48670de94edf3 SHA512 6f5d3cd0d965769d0a67071516aae38ec140667bb7731a71f4842668b2bda448db2a14194208741991a2f306d4c375658832205a14dcf1d64f992558ff441fc4
+EBUILD pcc-9999.ebuild 868 BLAKE2B 566e156aeea4b164a04c16db04349f1ac8f2acf6e754bdad24fd2a6b39561501665b5f01d60224e201e859ccb258d1679077171f829efc553e86d14680bc39a3 SHA512 2f382b73299740c073928a31cfd92a878839de7be78661f0fa531376f490fe24636bc0bba8bc8e3466526663246220fd3ee4780aec1952f9bc0c7c9f05880a3c
MISC metadata.xml 247 BLAKE2B 5a20af3c9732ef7dba68131a08988652f5c93a6d186a82c4deb1bb9c06dc3ae73152a0d241cc346637f7b11caf4676da43301ba596c67b66669535e71db0b03e SHA512 29cf52c16b0cce69899d9c2da8acd9144b7d760442aa323b854dceadb42459e009545193b1df7911ac2241b59f4819b4a6bb1d206d6f57953f770031433bb6b7
diff --git a/dev-lang/pcc/pcc-9999.ebuild b/dev-lang/pcc/pcc-9999.ebuild
index f9f4e3801713..ba4c461463f2 100644
--- a/dev-lang/pcc/pcc-9999.ebuild
+++ b/dev-lang/pcc/pcc-9999.ebuild
@@ -12,7 +12,6 @@ if [[ ${PV} = 9999 ]]; then
inherit cvs
ECVS_SERVER="pcc.ludd.ltu.se:/cvsroot"
ECVS_MODULE="${PN}"
- KEYWORDS=""
S="${WORKDIR}/${PN}"
else
SRC_URI="ftp://pcc.ludd.ltu.se/pub/pcc-releases/${P}.tgz"
diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index b9f474683e2f..fff00067a0dc 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -21,12 +21,15 @@ EBUILD php-7.2.34-r2.ebuild 22872 BLAKE2B 041fd990f7c2e89ad83476bf66644321cad0c6
EBUILD php-7.3.25.ebuild 22653 BLAKE2B 7754e07d6819c46459595633bb6012e397d326158ee3881024af680f3de8480647c9eccb5cc4a1f608793d616283e676a3e574a3f3257465012f85857e250530 SHA512 3de2770a6ea7c3edc4bc44e3e123848f187b1a793fe4980d2921f80587e684d2fe9407837c9460e76549a042c1a696ae5c6c86d7f9e95b18dcad8ac1db48612a
EBUILD php-7.3.26-r1.ebuild 22766 BLAKE2B d0bb60f0f7515f1a7b1adbcb95d90fdb2ddf08d97ada419804a1a2e6433f47b6431bffd904ff757765fcf327d176bdd3d11e5862301bd24748cbe6c51e09f8cf SHA512 82eb11b15b8f478a635cc178bbfef63bf3e697e3f7d94580b5a1a95d3f1fef873a1535b53972d020304776a8945b79c4b65b18405d581166dbfff8a961bf4226
EBUILD php-7.3.26.ebuild 22658 BLAKE2B 2e9ab02e35b9fb4d9f68f96c86494f681732f326a782093881ba72d3f3f65bb6e61d52c9c40a302ab768b666cfa5cccdb5980fa0ac99443a91ec5b3aff9885d9 SHA512 da2b961ca79cba811087aa81daaf089e9fd0d6dc3712faa41181cbce30077567f792e7f0260b74cd93a0eb52ea54b3e6cb7f8c28d3cb676d2bbf26dc2ed584f7
-EBUILD php-7.3.27.ebuild 22762 BLAKE2B 8decaceb3602953115a73bcb6293b312b826ecf74a54c44501add5011b4b34157f0026672af13440f642c774078505f7a45f1ec38134f197ce6e446debfc689c SHA512 8c35e3437f41fa16bfbf830b504bc58faf9573c801f90bf3128d3529248b1957dfc5e09add08d91de47d1419aa8bdddfcce382be89867170978e7deb8aea452b
+EBUILD php-7.3.27-r1.ebuild 22744 BLAKE2B 39fbd1e495a4e762a84c93ced0a2913c8b86e854696334b981519c9f1d6ee980fcc6b44d34b34aa1b08d9d1ab2ea82361499592904bc7b8a8176522a55e675fc SHA512 7e8e761f5bc4a4d382c02f32e08d2b68f045e8cc2743c3585229bbb9848f92de240e309646b9ca04ecb46ba37513cfd713cdf1784d6644398d75b4da58976179
+EBUILD php-7.3.27.ebuild 22760 BLAKE2B 7e70ad01eb1a3897fa6c8a6e71f4fcbaf2a732899f3b922ab48b922f5e6bf1b023907d53dab324cf3774d2b21dcc9491e7f70124166e1bf39ed7627d59856e29 SHA512 893763fc141f6faeac46206d275b59d7b02fc7f9f8464daf1a3f13b2b271aa7165fc686a49f2f19e5083b140a6954effa7dcc201ddd50d2d6a4fa85e28d98688
EBUILD php-7.4.13.ebuild 21402 BLAKE2B 91ce77170ab0f4bc35581b16bbc025e86d218e4c0f72e12df89cecebedb17538b4acfc3aa890db7e59daf38ba1572e558b7b67ceb57fc39813a500ba0c7ae430 SHA512 5facbd6181da839b559c4c3d8af489588a88eec158d381a0e52224c90b3683e70a1c8500db44dcbc73eca5fed9e0d2c18dcc8360e3d821a9953f0771622a4680
EBUILD php-7.4.14-r1.ebuild 21475 BLAKE2B 11119e64ef3284065e72eeb7806bde18bd72cbfd2a87ace201ed2cf7d6240ca6b47ef2589e8c0aed3914727367da69b53710a80441e3137f0b325e36287b1f29 SHA512 1bb2c5f6a59901dd4187c3b17b3bcc24591de51f5bb30b75e35af1e5ea7c6fa43ac6d43c09ac8c6136d92564b91cc3c6a3192a27ebf913297cf63ce513201295
EBUILD php-7.4.14.ebuild 21367 BLAKE2B afe819dcac1a84187bce81706b2c10ccb0d0623efd669005f32b6c15a89b46dd4546037f3e33db7199b5cfb60ea620cfd675d1b6a598127f94581948614abab8 SHA512 242ab420fe396ae875d0208fb9cc8cac389384581afd6d6359b7d75dc205cb9d4295f53d2fa3fcc6a3d918745608f8fb7c69daa762ee7aa32bff022cac0ebccd
-EBUILD php-7.4.15.ebuild 21471 BLAKE2B 58ba45a1a7baae45410a6b2b1366f36ef69d6f315ef3b845ce1633c1494d83efe4358422c778a816996413b666d657b0de5b374e39f83e0529179ee260d911d2 SHA512 2759bfb127c036f6e86c1775d9ec303f256129293648a07fc4d66a4bdcb7e3a99183bfee1acdf0dc6d1ae170dfb29e86777235688cabf186347e60bd4c564212
+EBUILD php-7.4.15-r1.ebuild 21453 BLAKE2B 629dc0a0602ae451d269a9b05ab26e3186697aaee45a9bf272fe24ad9f4b73351bba4551fc857deee8356ec6a41be0104fbf202ea2080906a4e3ed5a77e5d056 SHA512 c387c6a9980f58737fa74d7af882682176e13fc6a9c5c6876c12b72a0078e5ada67662e43a0616318cd4038ba51ffaf6a44cfd8a4b8407375d6e27f569230859
+EBUILD php-7.4.15.ebuild 21469 BLAKE2B d12a45b342d788a6932d88faf0ef3356bff04a4a57f998bdb45d9bb83f1502ce807112825fb68eb94ba5e8ecc53509459fefd8b7d473673928acc1706567309e SHA512 d210c764416803fba43108cc1e4e1c2cccd4d17ffaa652cb5c070f7e12f3bc8a786322fa01a00fc2eec90faefe9be7269b6568e2a5d4f6a64d9bb314efe484d1
EBUILD php-8.0.0.ebuild 21265 BLAKE2B 85bf83fa4d71eb9169e1e760a39a532d6fa0e267be1f5dc0cf3d33ab064dcf361f8cca96360728038fe562953a39e2712b9a6f8f51e5080b65af5eb2fc743922 SHA512 c655bb261c8d88f8dcb486c4be357b261d295aec1b4acf136621e40450d72b313ec7eaafaafaf5c2f2a06a15f64c45849bcbaf503ee28c35aa3322d4815af0d5
EBUILD php-8.0.1-r1.ebuild 21368 BLAKE2B ff1fb57ee7b522ae9003852fd238cffed128acb87db481abac775c55d8859c4943f7d6ab078eccca90a682df78c713e474f8a86595a797d4d0d98a78769aca28 SHA512 e15c099844c196ac30d926dfba56233d9f998764c2e65c358448703d90fdeeee61424b879fe1d6895afd82c43733c188c9c854529cf6cf7513132a362cbff3ee
+EBUILD php-8.0.2-r1.ebuild 21346 BLAKE2B 9ae81367fa95b5df8b4cd5f76bbe49679d7c6ef895f765daad692659a73d5b0eb1dbbf155d30c5c6b9a5ad34b246c5785348b29c9588bf2b72e8aaf299b060ee SHA512 6cb977fc9a557d4dbd673fadaf3d17c5593e4865a65a7ea4dead66b16139c604975e1e6c36b9366a4282f240ca277d57249576e804d6322556cea855f03b2f30
EBUILD php-8.0.2.ebuild 21368 BLAKE2B ff1fb57ee7b522ae9003852fd238cffed128acb87db481abac775c55d8859c4943f7d6ab078eccca90a682df78c713e474f8a86595a797d4d0d98a78769aca28 SHA512 e15c099844c196ac30d926dfba56233d9f998764c2e65c358448703d90fdeeee61424b879fe1d6895afd82c43733c188c9c854529cf6cf7513132a362cbff3ee
-MISC metadata.xml 3216 BLAKE2B 6118c94f2ac3a2f283eb035cbbacb12343476b4ce22594a00cb7ebf063abb106a0ed5557d311127b8c1e2a53263103ded790cd12d20c6b410ab6f7d218d95ed8 SHA512 ffb0b46b30b1add0fc166e3afe1317e70041a0fe849d4c05ceee011c1b5e130fbde3b86eaf876a4c8a2d23fbd7824f95299642b4f60e129436befb00f4b124cc
+MISC metadata.xml 3268 BLAKE2B 4abc96d858186ab5bc6f0797fb3f1cf7f5aaa0b07a4652dcc16aa65e197bd73803f6bac717084c0c9a194e7da5b6632523105205011a0d39221aabc16ade8e2e SHA512 1413edb5293cb93ad8f94376f11b9952ca6369b667ae23baed56d9cbaa68cb9cfa5a80da7dd7184ba84f08d5a4054068da1c10daca81d1730e7b6edebba8b29f
diff --git a/dev-lang/php/metadata.xml b/dev-lang/php/metadata.xml
index d7afaed7acd0..7f13fad9d814 100644
--- a/dev-lang/php/metadata.xml
+++ b/dev-lang/php/metadata.xml
@@ -28,6 +28,7 @@
<flag name="gd">Adds support for gd (bundled with PHP)</flag>
<flag name="hash">Enable the hash extension</flag>
<flag name="inifile">Add dbm support for .ini files</flag>
+ <flag name="jit">Enable PCRE JIT support</flag>
<flag name="json">Enable JSON support</flag>
<flag name="ldap-sasl">Add SASL support for the PHP LDAP extension</flag>
<flag name="lmdb">Enable support for <pkg>dev-db/lmdb</pkg> db backend</flag>
diff --git a/dev-lang/php/php-7.3.27-r1.ebuild b/dev-lang/php/php-7.3.27-r1.ebuild
new file mode 100644
index 000000000000..b350d7454cad
--- /dev/null
+++ b/dev-lang/php/php-7.3.27-r1.ebuild
@@ -0,0 +1,761 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit flag-o-matic systemd autotools
+
+MY_PV=${PV/_rc/RC}
+DESCRIPTION="The PHP language runtime engine"
+HOMEPAGE="https://www.php.net/"
+SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
+
+LICENSE="PHP-3.01
+ BSD
+ Zend-2.0
+ bcmath? ( LGPL-2.1+ )
+ fpm? ( BSD-2 )
+ gd? ( gd )
+ unicode? ( BSD-2 LGPL-2.1 )"
+
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+# We can build the following SAPIs in the given order
+SAPIS="embed cli cgi fpm apache2 phpdbg"
+
+# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
+IUSE="${IUSE}
+ ${SAPIS/cli/+cli}
+ threads"
+
+IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
+ coverage +ctype curl debug
+ enchant exif +fileinfo +filter firebird
+ +flatfile ftp gd gdbm gmp +hash +iconv imap inifile
+ intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit libressl lmdb
+ mhash mssql mysql mysqli nls
+ oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
+ readline recode selinux +session session-mm sharedmem
+ +simplexml snmp soap sockets sodium spell sqlite ssl
+ sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
+ +xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
+
+# The supported (that is, autodetected) versions of BDB are listed in
+# the ./configure script. Other versions *work*, but we need to stick to
+# the ones that can be detected to avoid a repeat of bug #564824.
+COMMON_DEPEND="
+ >=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
+ >=dev-libs/libpcre2-10.30[jit?,unicode]
+ fpm? ( acl? ( sys-apps/acl ) )
+ apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
+ argon2? ( app-crypt/argon2:= )
+ berkdb? ( || ( sys-libs/db:5.3
+ sys-libs/db:5.1
+ sys-libs/db:4.8
+ sys-libs/db:4.7
+ sys-libs/db:4.6
+ sys-libs/db:4.5 ) )
+ bzip2? ( app-arch/bzip2:0= )
+ cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
+ coverage? ( dev-util/lcov )
+ curl? ( >=net-misc/curl-7.10.5 )
+ enchant? ( <app-text/enchant-2.0:0 )
+ firebird? ( dev-db/firebird )
+ gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 )
+ gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
+ gmp? ( dev-libs/gmp:0= )
+ iconv? ( virtual/libiconv )
+ imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
+ intl? ( dev-libs/icu:= )
+ iodbc? ( dev-db/libiodbc )
+ kerberos? ( virtual/krb5 )
+ ldap? ( >=net-nds/openldap-1.2.11 )
+ ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
+ libedit? ( dev-libs/libedit )
+ lmdb? ( dev-db/lmdb:= )
+ mssql? ( dev-db/freetds[mssql] )
+ nls? ( sys-devel/gettext )
+ oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
+ odbc? ( >=dev-db/unixODBC-1.8.13 )
+ postgres? ( dev-db/postgresql:* )
+ qdbm? ( dev-db/qdbm )
+ readline? ( sys-libs/readline:0= )
+ recode? ( app-text/recode:0= )
+ session-mm? ( dev-libs/mm )
+ simplexml? ( >=dev-libs/libxml2-2.6.8 )
+ snmp? ( >=net-analyzer/net-snmp-5.2 )
+ soap? ( >=dev-libs/libxml2-2.6.8 )
+ sodium? ( dev-libs/libsodium:= )
+ spell? ( >=app-text/aspell-0.50 )
+ sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+ ssl? (
+ !libressl? ( >=dev-libs/openssl-1.0.1:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
+ tokyocabinet? ( dev-db/tokyocabinet )
+ truetype? ( =media-libs/freetype-2* )
+ unicode? ( dev-libs/oniguruma:= )
+ wddx? ( >=dev-libs/libxml2-2.6.8 )
+ webp? ( media-libs/libwebp:0= )
+ xml? ( >=dev-libs/libxml2-2.6.8 )
+ xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
+ xmlreader? ( >=dev-libs/libxml2-2.6.8 )
+ xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
+ xpm? ( x11-libs/libXpm )
+ xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
+ zip? ( >=sys-libs/zlib-1.2.0.4:0= )
+ zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
+ zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
+"
+
+RDEPEND="${COMMON_DEPEND}
+ virtual/mta
+ fpm? (
+ selinux? ( sec-policy/selinux-phpfpm )
+ systemd? ( sys-apps/systemd ) )"
+
+# Bison isn't actually needed when building from a release tarball
+# However, the configure script will warn if it's absent or if you
+# have an incompatible version installed. See bug 593278.
+DEPEND="${COMMON_DEPEND}
+ app-arch/xz-utils
+ >=sys-devel/bison-3.0.1"
+
+BDEPEND="virtual/pkgconfig"
+
+# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
+# The Oracle instant client provides its own incompatible ldap library.
+REQUIRED_USE="
+ || ( cli cgi fpm apache2 embed phpdbg )
+ cli? ( ^^ ( readline libedit ) )
+ truetype? ( gd zlib )
+ webp? ( gd zlib )
+ cjk? ( gd zlib )
+ exif? ( gd zlib )
+ xpm? ( gd zlib )
+ gd? ( zlib )
+ simplexml? ( xml )
+ soap? ( xml )
+ wddx? ( xml )
+ xmlrpc? ( || ( xml iconv ) )
+ xmlreader? ( xml )
+ xslt? ( xml )
+ ldap-sasl? ( ldap )
+ mhash? ( hash )
+ oci8-instant-client? ( !ldap )
+ phar? ( hash )
+ qdbm? ( !gdbm )
+ readline? ( !libedit )
+ recode? ( !imap !mysqli !mysql )
+ session-mm? ( session !threads )
+ mysql? ( || ( mysqli pdo ) )
+ zip-encryption? ( zip )
+"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/php-freetype-2.9.1.patch"
+)
+
+PHP_MV="$(ver_cut 1)"
+
+php_install_ini() {
+ local phpsapi="${1}"
+
+ # work out where we are installing the ini file
+ php_set_ini_dir "${phpsapi}"
+
+ # Always install the production INI file, bug 611214.
+ local phpinisrc="php.ini-production-${phpsapi}"
+ cp php.ini-production "${phpinisrc}" || die
+
+ # default to /tmp for save_path, bug #282768
+ sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
+
+ # Set the extension dir
+ sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
+ -i "${phpinisrc}" || die
+
+ # Set the include path to point to where we want to find PEAR packages
+ sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
+
+ insinto "${PHP_INI_DIR#${EPREFIX}}"
+ newins "${phpinisrc}" php.ini
+
+ elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
+ elog
+
+ dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
+ dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
+
+ if use opcache; then
+ elog "Adding opcache to $PHP_EXT_INI_DIR"
+ echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
+ "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
+ dosym "../ext/opcache.ini" \
+ "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
+ fi
+
+ # SAPI-specific handling
+ if [[ "${sapi}" == "fpm" ]] ; then
+ einfo "Installing FPM config files php-fpm.conf and www.conf"
+ insinto "${PHP_INI_DIR#${EPREFIX}}"
+ doins sapi/fpm/php-fpm.conf
+ insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
+ doins sapi/fpm/www.conf
+ fi
+
+ dodoc php.ini-{development,production}
+}
+
+php_set_ini_dir() {
+ PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
+ PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
+ PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
+}
+
+src_prepare() {
+ default
+
+ # In php-7.x, the FPM pool configuration files have been split off
+ # of the main config. By default the pool config files go in
+ # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
+ # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
+ # we'll install the pool configuration file "www.conf" there.
+ php_set_ini_dir fpm
+ sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
+ sapi/fpm/php-fpm.conf.in \
+ || die 'failed to move the include directory in php-fpm.conf'
+
+ # Bug 669566 - necessary so that build tools are updated for commands like pecl
+ # Force rebuilding aclocal.m4
+ rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
+ eautoreconf
+}
+
+src_configure() {
+ addpredict /usr/share/snmp/mibs/.index #nowarn
+ addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+ PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
+
+ # The php-fpm config file wants localstatedir to be ${EPREFIX}/var
+ # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
+ local our_conf=(
+ --prefix="${PHP_DESTDIR}"
+ --mandir="${PHP_DESTDIR}/man"
+ --infodir="${PHP_DESTDIR}/info"
+ --libdir="${PHP_DESTDIR}/lib"
+ --with-libdir="$(get_libdir)"
+ --localstatedir="${EPREFIX}/var"
+ --without-pear
+ $(use_enable threads maintainer-zts)
+ )
+
+ our_conf+=(
+ $(use_with argon2 password-argon2 "${EPREFIX}/usr")
+ $(use_enable bcmath bcmath)
+ $(use_with bzip2 bz2 "${EPREFIX}/usr")
+ $(use_enable calendar calendar)
+ $(use_enable coverage gcov)
+ $(use_enable ctype ctype)
+ $(use_with curl curl "${EPREFIX}/usr")
+ $(use_enable xml dom)
+ $(use_with enchant enchant "${EPREFIX}/usr")
+ $(use_enable exif exif)
+ $(use_enable fileinfo fileinfo)
+ $(use_enable filter filter)
+ $(use_enable ftp ftp)
+ $(use_with nls gettext "${EPREFIX}/usr")
+ $(use_with gmp gmp "${EPREFIX}/usr")
+ $(use_enable hash hash)
+ $(use_with mhash mhash "${EPREFIX}/usr")
+ $(use_with iconv iconv \
+ $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
+ $(use_enable intl intl)
+ $(use_enable ipv6 ipv6)
+ $(use_enable json json)
+ $(use_with kerberos kerberos "${EPREFIX}/usr")
+ $(use_enable xml libxml)
+ $(use_with xml libxml-dir "${EPREFIX}/usr")
+ $(use_enable unicode mbstring)
+ $(use_with unicode onig "${EPREFIX}/usr")
+ $(use_with ssl openssl "${EPREFIX}/usr")
+ $(use_with ssl openssl-dir "${EPREFIX}/usr")
+ $(use_enable pcntl pcntl)
+ $(use_enable phar phar)
+ $(use_enable pdo pdo)
+ $(use_enable opcache opcache)
+ $(use_with postgres pgsql "${EPREFIX}/usr")
+ $(use_enable posix posix)
+ $(use_with spell pspell "${EPREFIX}/usr")
+ $(use_with recode recode "${EPREFIX}/usr")
+ $(use_enable simplexml simplexml)
+ $(use_enable sharedmem shmop)
+ $(use_with snmp snmp "${EPREFIX}/usr")
+ $(use_enable soap soap)
+ $(use_enable sockets sockets)
+ $(use_with sodium sodium "${EPREFIX}/usr")
+ $(use_with sqlite sqlite3 "${EPREFIX}/usr")
+ $(use_enable sysvipc sysvmsg)
+ $(use_enable sysvipc sysvsem)
+ $(use_enable sysvipc sysvshm)
+ $(use_with tidy tidy "${EPREFIX}/usr")
+ $(use_enable tokenizer tokenizer)
+ $(use_enable wddx wddx)
+ $(use_enable xml xml)
+ $(use_enable xmlreader xmlreader)
+ $(use_enable xmlwriter xmlwriter)
+ $(use_with xmlrpc xmlrpc)
+ $(use_with xslt xsl "${EPREFIX}/usr")
+ $(use_enable zip zip)
+ $(use_with zip-encryption libzip "${EPREFIX}/usr")
+ $(use_with zlib zlib "${EPREFIX}/usr")
+ $(use_enable debug debug)
+ )
+
+ # DBA support
+ if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
+ || use qdbm || use lmdb || use tokyocabinet ; then
+ our_conf+=( "--enable-dba${shared}" )
+ fi
+
+ # DBA drivers support
+ our_conf+=(
+ $(use_with cdb cdb)
+ $(use_with berkdb db4 "${EPREFIX}/usr")
+ $(use_enable flatfile flatfile)
+ $(use_with gdbm gdbm "${EPREFIX}/usr")
+ $(use_enable inifile inifile)
+ $(use_with qdbm qdbm "${EPREFIX}/usr")
+ $(use_with lmdb lmdb "${EPREFIX}/usr")
+ )
+
+ # Support for the GD graphics library
+ our_conf+=(
+ $(use_with truetype freetype-dir "${EPREFIX}/usr")
+ $(use_enable cjk gd-jis-conv)
+ $(use_with gd jpeg-dir "${EPREFIX}/usr")
+ $(use_with gd png-dir "${EPREFIX}/usr")
+ $(use_with xpm xpm-dir "${EPREFIX}/usr")
+ )
+ if use webp; then
+ our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
+ fi
+ # enable gd last, so configure can pick up the previous settings
+ our_conf+=( $(use_with gd gd) )
+
+ # IMAP support
+ if use imap ; then
+ our_conf+=(
+ $(use_with imap imap "${EPREFIX}/usr")
+ $(use_with ssl imap-ssl "${EPREFIX}/usr")
+ )
+ fi
+
+ # Interbase/firebird support
+ our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
+
+ # LDAP support
+ if use ldap ; then
+ our_conf+=(
+ $(use_with ldap ldap "${EPREFIX}/usr")
+ $(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
+ )
+ fi
+
+ # MySQL support
+ local mysqllib="mysqlnd"
+ local mysqlilib="mysqlnd"
+
+ our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
+
+ local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ if use mysql || use mysqli ; then
+ our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
+ fi
+
+ # ODBC support
+ our_conf+=(
+ $(use_with odbc unixODBC "${EPREFIX}/usr")
+ $(use_with iodbc iodbc "${EPREFIX}/usr")
+ )
+
+ # Oracle support
+ our_conf+=( $(use_with oci8-instant-client oci8) )
+
+ # PDO support
+ if use pdo ; then
+ our_conf+=(
+ $(use_with mssql pdo-dblib "${EPREFIX}/usr")
+ $(use_with mysql pdo-mysql "${mysqllib}")
+ $(use_with postgres pdo-pgsql)
+ $(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
+ $(use_with firebird pdo-firebird "${EPREFIX}/usr")
+ $(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
+ $(use_with oci8-instant-client pdo-oci)
+ )
+ fi
+
+ # readline/libedit support
+ our_conf+=(
+ $(use_with readline readline "${EPREFIX}/usr")
+ $(use_with libedit libedit "${EPREFIX}/usr")
+ )
+
+ # Session support
+ if use session ; then
+ our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
+ else
+ our_conf+=( $(use_enable session session) )
+ fi
+
+ # Use pic for shared modules such as apache2's mod_php
+ our_conf+=( --with-pic )
+
+ # we use the system copy of pcre
+ # --with-pcre-regex affects ext/pcre
+ # --with-pcre-dir affects ext/filter and ext/zip
+ # --with-pcre-valgrind cannot be enabled with system pcre
+ our_conf+=(
+ --with-pcre-regex="${EPREFIX}/usr"
+ --with-pcre-dir="${EPREFIX}/usr"
+ --without-pcre-valgrind
+ $(use_with jit 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${PHP_MV}$(get_libname)" \
+ "libphp${PHP_MV}$(get_libname)"
+ keepdir "/usr/$(get_libdir)/apache2/modules"
+ else
+ # needed each time, php_install_ini would reset it
+ local dest="${PHP_DESTDIR#${EPREFIX}}"
+ into "${dest}"
+ case "$sapi" in
+ cli)
+ source="sapi/cli/php"
+ # Install the "phar" archive utility.
+ if use phar ; then
+ emake INSTALL_ROOT="${D}" install-pharcmd
+ dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
+ fi
+ ;;
+ cgi)
+ source="sapi/cgi/php-cgi"
+ ;;
+ fpm)
+ source="sapi/fpm/php-fpm"
+ ;;
+ embed)
+ source="libs/libphp${PHP_MV}$(get_libname)"
+ ;;
+ phpdbg)
+ source="sapi/phpdbg/phpdbg"
+ ;;
+ *)
+ die "unhandled sapi in src_install"
+ ;;
+ esac
+
+ if [[ "${source}" == *"$(get_libname)" ]]; then
+ dolib.so "${source}"
+ else
+ dobin "${source}"
+ local name="$(basename ${source})"
+ dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
+ fi
+ fi
+
+ php_install_ini "${sapi}"
+
+ # construct correct SAPI string for php-config
+ # thanks to ferringb for the bash voodoo
+ if [[ "${sapi}" == "apache2" ]]; then
+ sapi_list="${sapi_list:+${sapi_list} }apache2handler"
+ else
+ sapi_list="${sapi_list:+${sapi_list} }${sapi}"
+ fi
+ fi
+ done
+
+ # Installing opcache module
+ if use opcache ; then
+ into "${PHP_DESTDIR#${EPREFIX}}"
+ dolib.so "modules/opcache$(get_libname)"
+ fi
+
+ # Install env.d files
+ newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
+ sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+ sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+
+ # set php-config variable correctly (bug #278439)
+ sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
+ "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
+
+ if use fpm ; then
+ if use systemd; then
+ systemd_newunit "${FILESDIR}/php-fpm_at.service" \
+ "php-fpm@${SLOT}.service"
+ else
+ systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
+ "php-fpm@${SLOT}.service"
+ fi
+ fi
+}
+
+src_test() {
+ echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+ PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
+ if [[ ! -x "${PHP_BIN}" ]] ; then
+ ewarn "Test phase requires USE=cli, skipping"
+ return
+ else
+ export TEST_PHP_EXECUTABLE="${PHP_BIN}"
+ fi
+
+ if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
+ export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
+ fi
+
+ if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
+ export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
+ fi
+
+ REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
+ "session.save_path=${T}" \
+ "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
+ "session.save_path=${T}"
+
+ for name in ${EXPECTED_TEST_FAILURES}; do
+ mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
+ done
+
+ local failed="$(find -name '*.out')"
+ if [[ ${failed} != "" ]] ; then
+ ewarn "The following test cases failed unexpectedly:"
+ for name in ${failed}; do
+ ewarn " ${name/.out/}"
+ done
+ else
+ einfo "No unexpected test failures, all fine"
+ fi
+
+ if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
+ local passed=""
+ for name in ${EXPECTED_TEST_FAILURES}; do
+ [[ -f "${name}.diff" ]] && continue
+ passed="${passed} ${name}"
+ done
+ if [[ ${passed} != "" ]] ; then
+ einfo "The following test cases passed unexpectedly:"
+ for name in ${passed}; do
+ ewarn " ${passed}"
+ done
+ else
+ einfo "None of the known-to-fail tests passed, all fine"
+ fi
+ fi
+}
+
+pkg_postinst() {
+ # Output some general info to the user
+ if use apache2 ; then
+ elog
+ elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
+ elog "your apache2 command. OpenRC users can append that string to"
+ elog "APACHE2_OPTS in /etc/conf.d/apache2."
+ elog
+ elog "The apache module configuration file 70_mod_php.conf is"
+ elog "provided (and maintained) by eselect-php."
+ elog
+ fi
+
+ # Create the symlinks for php
+ 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/php/php-7.3.27.ebuild b/dev-lang/php/php-7.3.27.ebuild
index 9955fb58f99f..bc648164eaa2 100644
--- a/dev-lang/php/php-7.3.27.ebuild
+++ b/dev-lang/php/php-7.3.27.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"
+KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
S="${WORKDIR}/${PN}-${MY_PV}"
diff --git a/dev-lang/php/php-7.4.15-r1.ebuild b/dev-lang/php/php-7.4.15-r1.ebuild
new file mode 100644
index 000000000000..592c09770ef7
--- /dev/null
+++ b/dev-lang/php/php-7.4.15-r1.ebuild
@@ -0,0 +1,753 @@
+# Copyright 1999-2021 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"
+
+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 +jit +json kerberos ldap ldap-sasl libedit libressl lmdb
+ mhash mssql mysql mysqli nls
+ oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
+ readline selinux +session session-mm sharedmem
+ +simplexml snmp soap sockets sodium spell sqlite ssl
+ sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
+ +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
+
+# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
+# The Oracle instant client provides its own incompatible ldap library.
+REQUIRED_USE="
+ || ( cli cgi fpm apache2 embed phpdbg )
+ cli? ( ^^ ( readline libedit ) )
+ !cli? ( ?? ( readline libedit ) )
+ truetype? ( gd zlib )
+ webp? ( gd zlib )
+ cjk? ( gd zlib )
+ exif? ( gd zlib )
+ xpm? ( gd zlib )
+ gd? ( zlib )
+ simplexml? ( xml )
+ soap? ( xml )
+ xmlrpc? ( xml iconv )
+ xmlreader? ( xml )
+ xmlwriter? ( xml )
+ xslt? ( xml )
+ ldap-sasl? ( ldap )
+ oci8-instant-client? ( !ldap )
+ qdbm? ( !gdbm )
+ session-mm? ( session !threads )
+ mysql? ( || ( mysqli pdo ) )
+ firebird? ( pdo )
+ mssql? ( pdo )
+"
+
+RESTRICT="!test? ( test )"
+
+# The supported (that is, autodetected) versions of BDB are listed in
+# the ./configure script. Other versions *work*, but we need to stick to
+# the ones that can be detected to avoid a repeat of bug #564824.
+COMMON_DEPEND="
+ >=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
+ >=dev-libs/libpcre2-10.30[jit?,unicode]
+ fpm? ( acl? ( sys-apps/acl ) )
+ apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
+ argon2? ( app-crypt/argon2:= )
+ berkdb? ( || ( sys-libs/db:5.3
+ sys-libs/db:5.1
+ sys-libs/db:4.8
+ sys-libs/db:4.7
+ sys-libs/db:4.6
+ sys-libs/db:4.5 ) )
+ bzip2? ( app-arch/bzip2:0= )
+ cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
+ coverage? ( dev-util/lcov )
+ curl? ( >=net-misc/curl-7.10.5 )
+ enchant? ( <app-text/enchant-2.0:0 )
+ ffi? ( >=dev-libs/libffi-3.0.11 )
+ firebird? ( dev-db/firebird )
+ gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
+ gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
+ gmp? ( dev-libs/gmp:0= )
+ iconv? ( virtual/libiconv )
+ imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
+ intl? ( dev-libs/icu:= )
+ kerberos? ( virtual/krb5 )
+ ldap? ( >=net-nds/openldap-1.2.11 )
+ ldap-sasl? ( dev-libs/cyrus-sasl )
+ libedit? ( dev-libs/libedit )
+ lmdb? ( dev-db/lmdb:= )
+ mssql? ( dev-db/freetds[mssql] )
+ nls? ( sys-devel/gettext )
+ oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
+ odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
+ postgres? ( dev-db/postgresql:* )
+ qdbm? ( dev-db/qdbm )
+ readline? ( sys-libs/readline:0= )
+ session-mm? ( dev-libs/mm )
+ snmp? ( >=net-analyzer/net-snmp-5.2 )
+ sodium? ( dev-libs/libsodium:= )
+ spell? ( >=app-text/aspell-0.50 )
+ sqlite? ( >=dev-db/sqlite-3.7.6.3 )
+ ssl? (
+ !libressl? ( >=dev-libs/openssl-1.0.1:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
+ tokyocabinet? ( dev-db/tokyocabinet )
+ truetype? ( =media-libs/freetype-2* )
+ unicode? ( dev-libs/oniguruma:= )
+ webp? ( media-libs/libwebp:0= )
+ xml? ( >=dev-libs/libxml2-2.7.6 )
+ xpm? ( x11-libs/libXpm )
+ xslt? ( dev-libs/libxslt )
+ zip? ( >=dev-libs/libzip-1.2.0:= )
+ zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
+"
+
+RDEPEND="${COMMON_DEPEND}
+ virtual/mta
+ fpm? (
+ selinux? ( sec-policy/selinux-phpfpm )
+ systemd? ( sys-apps/systemd ) )"
+
+# Bison isn't actually needed when building from a release tarball
+# However, the configure script will warn if it's absent or if you
+# have an incompatible version installed. See bug 593278.
+DEPEND="${COMMON_DEPEND}
+ app-arch/xz-utils
+ >=sys-devel/bison-3.0.1"
+
+BDEPEND="virtual/pkgconfig"
+
+PHP_MV="$(ver_cut 1)"
+
+PATCHES=(
+ "${FILESDIR}"/php-iodbc-header-location.patch
+)
+
+php_install_ini() {
+ local phpsapi="${1}"
+
+ # work out where we are installing the ini file
+ php_set_ini_dir "${phpsapi}"
+
+ # Always install the production INI file, bug 611214.
+ local phpinisrc="php.ini-production-${phpsapi}"
+ cp php.ini-production "${phpinisrc}" || die
+
+ # default to /tmp for save_path, bug #282768
+ sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
+
+ # Set the extension dir
+ sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
+ -i "${phpinisrc}" || die
+
+ # Set the include path to point to where we want to find PEAR packages
+ sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
+
+ insinto "${PHP_INI_DIR#${EPREFIX}}"
+ newins "${phpinisrc}" php.ini
+
+ elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
+ elog
+
+ dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
+ dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
+
+ if use opcache; then
+ elog "Adding opcache to $PHP_EXT_INI_DIR"
+ echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
+ "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
+ dosym "../ext/opcache.ini" \
+ "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
+ fi
+
+ # SAPI-specific handling
+ if [[ "${sapi}" == "fpm" ]] ; then
+ einfo "Installing FPM config files php-fpm.conf and www.conf"
+ insinto "${PHP_INI_DIR#${EPREFIX}}"
+ doins sapi/fpm/php-fpm.conf
+ insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
+ doins sapi/fpm/www.conf
+ fi
+
+ dodoc php.ini-{development,production}
+}
+
+php_set_ini_dir() {
+ PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
+ PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
+ PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
+}
+
+src_prepare() {
+ default
+
+ # In php-7.x, the FPM pool configuration files have been split off
+ # of the main config. By default the pool config files go in
+ # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
+ # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
+ # we'll install the pool configuration file "www.conf" there.
+ php_set_ini_dir fpm
+ sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
+ sapi/fpm/php-fpm.conf.in \
+ || die 'failed to move the include directory in php-fpm.conf'
+
+ # Emulate buildconf to support cross-compilation
+ rm -fr aclocal.m4 autom4te.cache config.cache \
+ configure main/php_config.h.in || die
+ eautoconf --force
+ eautoheader
+}
+
+src_configure() {
+ addpredict /usr/share/snmp/mibs/.index #nowarn
+ addpredict /var/lib/net-snmp/mib_indexes #nowarn
+
+ PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
+
+ # The php-fpm config file wants localstatedir to be ${EPREFIX}/var
+ # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
+ local our_conf=(
+ --prefix="${PHP_DESTDIR}"
+ --mandir="${PHP_DESTDIR}/man"
+ --infodir="${PHP_DESTDIR}/info"
+ --libdir="${PHP_DESTDIR}/lib"
+ --with-libdir="$(get_libdir)"
+ --localstatedir="${EPREFIX}/var"
+ --without-pear
+ $(use_enable threads maintainer-zts)
+ )
+
+ our_conf+=(
+ $(use_with argon2 password-argon2 "${EPREFIX}/usr")
+ $(use_enable bcmath)
+ $(use_with bzip2 bz2 "${EPREFIX}/usr")
+ $(use_enable calendar)
+ $(use_enable coverage gcov)
+ $(use_enable ctype)
+ $(use_with curl)
+ $(use_enable xml dom)
+ $(use_with enchant)
+ $(use_enable exif)
+ $(use_with ffi)
+ $(use_enable fileinfo)
+ $(use_enable filter)
+ $(use_enable ftp)
+ $(use_with nls gettext "${EPREFIX}/usr")
+ $(use_with gmp gmp "${EPREFIX}/usr")
+ $(use_with mhash mhash "${EPREFIX}/usr")
+ $(use_with iconv iconv \
+ $(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
+ $(use_enable intl)
+ $(use_enable ipv6)
+ $(use_enable json)
+ $(use_with kerberos)
+ $(use_with xml libxml)
+ $(use_enable unicode mbstring)
+ $(use_with ssl openssl)
+ $(use_enable pcntl)
+ $(use_enable phar)
+ $(use_enable pdo)
+ $(use_enable opcache)
+ $(use_with postgres pgsql "${EPREFIX}/usr")
+ $(use_enable posix)
+ $(use_with spell pspell "${EPREFIX}/usr")
+ $(use_enable simplexml)
+ $(use_enable sharedmem shmop)
+ $(use_with snmp snmp "${EPREFIX}/usr")
+ $(use_enable soap)
+ $(use_enable sockets)
+ $(use_with sodium)
+ $(use_with sqlite sqlite3)
+ $(use_enable sysvipc sysvmsg)
+ $(use_enable sysvipc sysvsem)
+ $(use_enable sysvipc sysvshm)
+ $(use_with tidy tidy "${EPREFIX}/usr")
+ $(use_enable tokenizer)
+ $(use_enable xml)
+ $(use_enable xmlreader)
+ $(use_enable xmlwriter)
+ $(use_with xmlrpc)
+ $(use_with xslt xsl)
+ $(use_with zip)
+ $(use_with zlib zlib "${EPREFIX}/usr")
+ $(use_enable debug)
+ )
+
+ # DBA support
+ if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
+ || use qdbm || use lmdb || use tokyocabinet ; then
+ our_conf+=( "--enable-dba" )
+ fi
+
+ # DBA drivers support
+ our_conf+=(
+ $(use_with cdb)
+ $(use_with berkdb db4 "${EPREFIX}/usr")
+ $(use_enable flatfile)
+ $(use_with gdbm gdbm "${EPREFIX}/usr")
+ $(use_enable inifile)
+ $(use_with qdbm qdbm "${EPREFIX}/usr")
+ $(use_with tokyocabinet tcadb "${EPREFIX}/usr")
+ $(use_with lmdb lmdb "${EPREFIX}/usr")
+ )
+
+ # Support for the GD graphics library
+ our_conf+=(
+ $(use_with truetype freetype)
+ $(use_enable cjk gd-jis-conv)
+ $(use_with gd jpeg)
+ $(use_with xpm)
+ $(use_with webp)
+ )
+ # enable gd last, so configure can pick up the previous settings
+ our_conf+=( $(use_enable gd) )
+
+ # IMAP support
+ if use imap ; then
+ our_conf+=(
+ $(use_with imap imap "${EPREFIX}/usr")
+ $(use_with ssl imap-ssl "${EPREFIX}/usr")
+ )
+ fi
+
+ # LDAP support
+ if use ldap ; then
+ our_conf+=(
+ $(use_with ldap ldap "${EPREFIX}/usr")
+ $(use_with ldap-sasl)
+ )
+ fi
+
+ # MySQL support
+ local mysqllib="mysqlnd"
+ local mysqlilib="mysqlnd"
+
+ our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
+
+ local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
+ if use mysql || use mysqli ; then
+ our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
+ fi
+
+ # ODBC support
+ if use odbc && use iodbc ; then
+ our_conf+=(
+ --without-unixODBC
+ --with-iodbc
+ $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
+ )
+ elif use odbc ; then
+ our_conf+=(
+ --with-unixODBC="${EPREFIX}/usr"
+ --without-iodbc
+ $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
+ )
+ else
+ our_conf+=(
+ --without-unixODBC
+ --without-iodbc
+ --without-pdo-odbc
+ )
+ fi
+
+ # Oracle support
+ our_conf+=( $(use_with oci8-instant-client oci8) )
+
+ # PDO support
+ if use pdo ; then
+ our_conf+=(
+ $(use_with mssql pdo-dblib "${EPREFIX}/usr")
+ $(use_with mysql pdo-mysql "${mysqllib}")
+ $(use_with postgres pdo-pgsql)
+ $(use_with sqlite pdo-sqlite)
+ $(use_with firebird pdo-firebird "${EPREFIX}/usr")
+ $(use_with oci8-instant-client pdo-oci)
+ )
+ fi
+
+ # readline/libedit support
+ our_conf+=(
+ $(use_with readline readline "${EPREFIX}/usr")
+ $(use_with libedit)
+ )
+
+ # Session support
+ if use session ; then
+ our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
+ else
+ our_conf+=( $(use_enable session) )
+ fi
+
+ # Use pic for shared modules such as apache2's mod_php
+ our_conf+=( --with-pic )
+
+ # we use the system copy of pcre
+ # --with-external-pcre affects ext/pcre
+ our_conf+=(
+ --with-external-pcre
+ $(use_with jit 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${PHP_MV}$(get_libname)" \
+ "libphp${PHP_MV}$(get_libname)"
+ keepdir "/usr/$(get_libdir)/apache2/modules"
+ else
+ # needed each time, php_install_ini would reset it
+ local dest="${PHP_DESTDIR#${EPREFIX}}"
+ into "${dest}"
+ case "$sapi" in
+ cli)
+ source="sapi/cli/php"
+ # Install the "phar" archive utility.
+ if use phar ; then
+ emake INSTALL_ROOT="${D}" install-pharcmd
+ dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
+ fi
+ ;;
+ cgi)
+ source="sapi/cgi/php-cgi"
+ ;;
+ fpm)
+ source="sapi/fpm/php-fpm"
+ ;;
+ embed)
+ source="libs/libphp${PHP_MV}$(get_libname)"
+ ;;
+ phpdbg)
+ source="sapi/phpdbg/phpdbg"
+ ;;
+ *)
+ die "unhandled sapi in src_install"
+ ;;
+ esac
+
+ if [[ "${source}" == *"$(get_libname)" ]]; then
+ dolib.so "${source}"
+ else
+ dobin "${source}"
+ local name="$(basename ${source})"
+ dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
+ fi
+ fi
+
+ php_install_ini "${sapi}"
+
+ # construct correct SAPI string for php-config
+ # thanks to ferringb for the bash voodoo
+ if [[ "${sapi}" == "apache2" ]]; then
+ sapi_list="${sapi_list:+${sapi_list} }apache2handler"
+ else
+ sapi_list="${sapi_list:+${sapi_list} }${sapi}"
+ fi
+ fi
+ done
+
+ # Installing opcache module
+ if use opcache ; then
+ into "${PHP_DESTDIR#${EPREFIX}}"
+ dolib.so "modules/opcache$(get_libname)"
+ fi
+
+ # Install env.d files
+ newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
+ sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+ sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
+
+ # set php-config variable correctly (bug #278439)
+ sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
+ "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
+
+ if use fpm ; then
+ if use systemd; then
+ systemd_newunit "${FILESDIR}/php-fpm_at.service" \
+ "php-fpm@${SLOT}.service"
+ else
+ systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
+ "php-fpm@${SLOT}.service"
+ fi
+ fi
+}
+
+src_test() {
+ echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
+ PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
+ if [[ ! -x "${PHP_BIN}" ]] ; then
+ ewarn "Test phase requires USE=cli, skipping"
+ return
+ else
+ export TEST_PHP_EXECUTABLE="${PHP_BIN}"
+ fi
+
+ if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
+ export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
+ fi
+
+ if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
+ export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
+ fi
+
+ REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
+ "session.save_path=${T}" \
+ "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
+ "session.save_path=${T}"
+
+ for name in ${EXPECTED_TEST_FAILURES}; do
+ mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
+ done
+
+ local failed="$(find -name '*.out')"
+ if [[ ${failed} != "" ]] ; then
+ ewarn "The following test cases failed unexpectedly:"
+ for name in ${failed}; do
+ ewarn " ${name/.out/}"
+ done
+ else
+ einfo "No unexpected test failures, all fine"
+ fi
+
+ if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
+ local passed=""
+ for name in ${EXPECTED_TEST_FAILURES}; do
+ [[ -f "${name}.diff" ]] && continue
+ passed="${passed} ${name}"
+ done
+ if [[ ${passed} != "" ]] ; then
+ einfo "The following test cases passed unexpectedly:"
+ for name in ${passed}; do
+ ewarn " ${passed}"
+ done
+ else
+ einfo "None of the known-to-fail tests passed, all fine"
+ fi
+ fi
+}
+
+pkg_postinst() {
+ # Output some general info to the user
+ if use apache2 ; then
+ elog
+ elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
+ elog "your apache2 command. OpenRC users can append that string to"
+ elog "APACHE2_OPTS in /etc/conf.d/apache2."
+ elog
+ elog "The apache module configuration file 70_mod_php.conf is"
+ elog "provided (and maintained) by eselect-php."
+ elog
+ fi
+
+ # Create the symlinks for php
+ 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/php/php-7.4.15.ebuild b/dev-lang/php/php-7.4.15.ebuild
index 1aa9e4a0aa33..951e7174be8c 100644
--- a/dev-lang/php/php-7.4.15.ebuild
+++ b/dev-lang/php/php-7.4.15.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"
+KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
S="${WORKDIR}/${PN}-${MY_PV}"
diff --git a/dev-lang/php/php-8.0.2-r1.ebuild b/dev-lang/php/php-8.0.2-r1.ebuild
new file mode 100644
index 000000000000..c3b57be91fa5
--- /dev/null
+++ b/dev-lang/php/php-8.0.2-r1.ebuild
@@ -0,0 +1,748 @@
+# Copyright 1999-2021 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"
+
+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 +jit 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.
+# The Oracle instant client provides its own incompatible ldap library.
+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 )
+ oci8-instant-client? ( !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[jit?,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[sdk] )
+ 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
+ our_conf+=(
+ --with-external-pcre
+ $(use_with jit 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/Manifest b/dev-lang/python/Manifest
index df0655c4a1f7..159b453e789f 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -9,37 +9,65 @@ DIST Python-3.10.0a5.tar.xz 18286124 BLAKE2B 618a812c601cdf910dc5064ec8e6350f347
DIST Python-3.10.0a5.tar.xz.asc 833 BLAKE2B f92a03f8ce6d3396f053ab508aca55c937b5ae91462e2325842b4c00fc105a817df10fb4086273939a50f91fcd5d1003da2807d1b8ab0794e6ecd660d72515bf SHA512 4f1fe9b42830c89cb35ea1634fd7484f3bbf7ff22868c71fadc0601c3b02ff2ea386cfbc7ea167a2770d732aa01532fb7d4abb198a07e4710565e3eec138408c
DIST Python-3.6.12.tar.xz 17202980 BLAKE2B c8d22e4d57bcaffe77cd902cda3a473e73adf2b74ab104c23b4d846f19632a24cc0c478af84079b16d784bd1c0956824c06c1f6134fd24f54e58aaab0fe96bb6 SHA512 1462801f3f6626a853097d34ccdca9838c4c5bd81ecc3abc751003f5f2f8d36eecdaa4130ef4218de351c5586093c11669639a34492668fbc5a2a4a241f4a070
DIST Python-3.6.12.tar.xz.asc 833 BLAKE2B a5eb9f907732bb5afd8f56115ab830ed6b6f4545e4063cfe316fb7aa1ba8694fcb8c936919b4045d9f5923446f8ea20978ead059078ed50ad48a82a3bb5ae941 SHA512 91d9ce0c471359f6aa3d5d5dcad7316ec6ed173f895a51e72b1853dc422fda57a00411c88fdc40a8e21888d964136b0b032e15b215c3b6c62ffc82bddc580860
+DIST Python-3.6.13.tar.xz 17213520 BLAKE2B 7c1938f92616d428d107a70397a9f7fc82377d0e3d26c2da4f5bcb79a54115f71498a5e7b5f601b6cff6f362ec1f689c3ac920eb248956e1e4f6c21602514dd1 SHA512 0482b3e7eea22b0635b61f06753e77c832c9431385c5ea1ecb8f60868262afd2b45c239badb8e906a33f035ffbf347b4a499fe6f0f008f1fa9ecc9de66c63947
+DIST Python-3.6.13.tar.xz.asc 833 BLAKE2B bc1df46c2e460c2d237647ecff84e12c75f6ed24a432d2f9cbefdead8a77d4468e5e4ed9f4debac593c63cf95d27c9f7d0f94dce69af8746cc71f0d0b1810245 SHA512 f6e8936a5e5b45d3ad41184717f5ed75debe29f81138fd1b75b53bc7d2905edff42b42dd7995b11ba6d80233c5c3755521edb19d7ac28d414bfebb2d1dfc0c86
+DIST Python-3.7.10.tar.xz 17392580 BLAKE2B b030db731d141b97f1be794a19382cc252c5bbf867661d09c9455640ebcfd3030e8a691f57fe91a2e0c4e5d3bd4f8f3de07fa4bd287a58900d8c6e1fba2f0583 SHA512 5cb61739acbd29f526d25073443398b2ca0eef30d01d134e8236c8bbc7ab0586c44ec00689f5a75e6aedc0170acf4551721ada5e967e4b99a146cfcaad949128
+DIST Python-3.7.10.tar.xz.asc 833 BLAKE2B a528daa1638b52f08fd69d197a2d4f8af59a620939957d450da6f5f8947b8eefbfb48ee50bb6327c8f3a352415dedc6e91ef23075fabbfd38c65575857065c74 SHA512 5d0fdcf60f0f4113b3055dd4097814b8b969d6cba4f2cc4cef6cd013b0e728375549b9d7818e6e94e6f0d4888188e751f4659a18f905e6e4c75783e2f323c4ef
DIST Python-3.7.9.tar.xz 17389636 BLAKE2B 484833aa2aa4e29051a02969294f72099ff6f1a47d944b1a0dd15f8e6c22a0406d551bcbcd1048cf89defedaccf060733211e34b38e31fd8391dd823eaa35bc0 SHA512 e4217b25529b5336e43b63d17f3758a8177a58184564cf02bd92a312f58dba9e096485c9e3cb3544f966e847ea15b3ab30ed065d28a6ca52a6d7e0faddf7d9f9
DIST Python-3.7.9.tar.xz.asc 833 BLAKE2B a95546b90ff87c13492d7f6e0d8e6d263557ffb55f72de212ec21ef5fb6b3c838e0a13c5696d577d1d7c46d0386698e8860d9819e6510e85aa88709011fe1e72 SHA512 922da6056029416e1dceefb83723911d5e2cc972d88c0bf1a08c35c8fe11279eb350c44834d2cc5ba94beb9b7655ecae28d8f5b6e3479eea7fcd09f67ec1e1c0
DIST Python-3.8.6.tar.xz 18233864 BLAKE2B c8a8ef6055e344dda30eb808804cfa62016b4f840257cffd5a495e5932f5696e50579d49b8181a487c9cd4a89bdb95656e80981039783a21d20f7980aa2c9883 SHA512 22faec84f6e172e1ac7c6bd6fd37e9b6ae4afc91cf5136aa8cac8ebbed8d18793f9196e8749b8ccc43447cb6c41cb450f65ea72dd363c06dfaeb14e0455f5560
DIST Python-3.8.7.tar.xz 18261096 BLAKE2B 6ac20efef41e828cb796aabcb7808400d494b9b48759950c8c15ee90762394f6763163d8e37ab407c1c79ebb9cda09189eaa969a75f96c86a96ccee962443924 SHA512 6a27d8eab3076930df46b0cf127f9b664f8d4147349b2b98132f464deb7f69d87e0167e8ee8e6c64249125ad73760d965ecbc81c252b63a1e7aac95594c62b74
DIST Python-3.8.7.tar.xz.asc 833 BLAKE2B a629251732d1ea6054564b6b1a9a2b3b716e20c8fad1b6b69a9c64aff7fe7fca7dc6cdeef52d9889873f1e349c1cb1c4fba4483d8ded6ab2cdd279ea4abaeb70 SHA512 ddbad087a1d116e743e11f50d29ee0563241e4397312fa76691bad30ef62908d281ba77b89dbd8f348faa50f1c953399d79ad6c2ab77828e690f3a5a3b708bc8
+DIST Python-3.8.8rc1.tar.xz 18268528 BLAKE2B 113d3e2f6f9ea0c7046a694b7f3a48c1afb5cfb57cc862e8662fd4509e75ea36204d9172cf79c1c5c59a95ee78f41fc67a697bee58b7b17fa5051d75ad663b01 SHA512 cb4f00d94b5a311fc883b9e7c58df600432ca7259d387b31089817800fd4574f1f86f4cabef3376e6fac14ef3a64906ec08355f31b01628e117041a7c9cda50d
+DIST Python-3.8.8rc1.tar.xz.asc 833 BLAKE2B 0d73e0eec4706322880feff321c162b3dc1b9065db2844852af1cf35824a55e4da8525611bcf03609c8388cfe2ab9a42fcf011ad39226c272c0f19eae1cd1030 SHA512 3de1ea7090e66fbf111db05cf667a7e12dfe8a22d1797a97eda47e837d98dac750735eb419677b742437ec5a6d1c386d8a3406c8519b744e9aacc52e46c32dd3
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-3.9.1.tar.xz.asc 833 BLAKE2B dc445ed9797668c5f0777259ea83330815ee516dafc752e6a0d903bae5355e76360afa5ed318ce09bbbcfb4df6269b06b6fb6b7d9c074678b612bb1ea9e3148a SHA512 400259f499820e0499290402f095ee5454168907f539de705cad4f0e5586b1c67a0ac45b89bf099701be55146a5eed73dbc9e2cb15562fef34da2813ac82f342
+DIST Python-3.9.2rc1.tar.xz 18890368 BLAKE2B e537b88d0274769584328817f52c73fb04591d4071359d71869051df9f49e93d60d92ca1b0edd3134193ddc264fb8e5d17d143d9f1fa1ae80e7a9d538cbc8cba SHA512 39ba5424bbc8fe7f153c11201cdd63c8868f996cfd91ff278f53a49d4cc78433b68d871d3a01c0b0c78e790b154f82abb5beb4864919e080f0e0839768c7eca4
+DIST Python-3.9.2rc1.tar.xz.asc 833 BLAKE2B a7d7ee788b0abefa4e608f82fcbcf6ec7410425cd9e9071a03cea755721d55450aabd2ece2f3f6bd5bbf537cfc48c47b32486f46eb7d62af819ddd752e09441b SHA512 593548ce5b4f3c5756061f08ba6788e46cc6c95237e394c50787a72ae9644202c6e3ae79fba8c66715ee0a872fe56996e5fc2158c42bedd917ee6dd4cb1e69b0
DIST python-gentoo-patches-2.7.18-r4.tar.xz 21352 BLAKE2B d322f5afd63813d7c9280c75f942bde75ee19793e121d0406c4f229ead53324bf3996342eed9a6c1aa474894afe7f2dd70aec38aee8042993a5274abc288fd31 SHA512 1cb0be8e79d0c6c55fcbe3f3dabf8b760aea0e60d888ea39d3e69de03b55738c50b2cca06586c1cd2896956f5764eefd6d3f9fbf2de0d0ddfd8aab86837976b6
DIST python-gentoo-patches-2.7.18-r6.tar.xz 22740 BLAKE2B 1727fcab273dfe5e5739c7ce1cd7fb3c6bd13c2bda25a2e4e0609a2e727a69318a46b7c2173ea7746f8a124e778b276408adc9968ed2025b8643e660bb3d3ea3 SHA512 975fe72c5b2f4577563e8e972c70b7eec7203790a500e6f051fab1f66c71e5ae46fcb3c571a9e6346bf3a0d1dd48594a61bf2751007e4f5e3d19f8db6146c99d
+DIST python-gentoo-patches-2.7.18_p7.tar.xz 26392 BLAKE2B 94a6312698789810af835a2ac8d87c34dc8d435a1ff4d5c9b7ae9175b92da6a4b204feabf9bb6db498fc6dcc17bb1b042b2b0b17ddc781587589b1ab0905396d SHA512 a3cd34f38a717183d9a8d6b91817a6ac989fb8ae4275f35cba4be810813a4c9c45f4e72d16aee33904eddaee77c4719b516392d629d2c4627c840e4ecc6bc121
DIST python-gentoo-patches-3.10.0a3-r1.tar.xz 10068 BLAKE2B 8b305a31cf0aab4da9e27e671b4fd48be6224ff8508ed1831ad4149761bb263cd9a694e90d52335390643a537dee2d6cab4e086bd521c99217e81845b4f9bcf1 SHA512 69c52c61dd2f1ca097fafe13c27cd1979280675bef6af8e8e300f3791d7eb50368311e3d055075f4bca01ce02d9e97a94fcd2662c78f14cfb6a37d77c39a158f
DIST python-gentoo-patches-3.10.0a5.tar.xz 8972 BLAKE2B b407e501037f2732ec0844ab033fcd6226ff96731f5e752b5a807c69aa57e678e9f170aab5dd3f69bd9d2951c82ecca4664354c11aca88a4a742281ab5d28887 SHA512 4dceba9adc33b06196f326dbeacb8b17eaeffebee98f0025d4faef8f047be9c20a153a8eb89a2b64f9248cbd8810ae4a5ebfc2534770a940825a5d8a4a02e068
+DIST python-gentoo-patches-3.10.0a5_p1.tar.xz 14336 BLAKE2B 953d77e59460bbd53bf41bc57e48957f6a6d08dc9f8a1adb4ad3c64a0a1281a15142952e6733c1dd9a5eadd6d81332db54dc4eb906e73ccfd35e0d18a8363962 SHA512 2c0f01c39e530a612e1ce64298d3f019f7313258b2dc75964b6ebdfcd98139d46fc5f673ee2e509602a2f825de23e3a6d96c234745098e1da83b6779dbbeb1fb
DIST python-gentoo-patches-3.6.12-r1.tar.xz 16540 BLAKE2B 8204b6f25e1f7c6fef024933d54bfa6085158ac624a6e5a8d51576da2047b6db791be5d071c483fdec5c033b8fa8ee3d4e176a3e442defa556b34a304de3b7f3 SHA512 ad74c73b4f963427e66ac6187e1569dbfbbe3c916c24971a1eba4ad7e2f94e39c970f80e197c0498820451f036b12f3076b46cfd73bb5d6d56183ac05453d9ad
DIST python-gentoo-patches-3.6.12-r2.tar.xz 17988 BLAKE2B c252bce5ac49b9af11174d3c974d95c24ec280230cede75a7650cb914f8acb3d41b8d575e469fe7f274c6d3bc238847b82e815bf1444c5afd7292e00248e3365 SHA512 50813fbd810c8b865c0f0f8d56780af7a9e094336ba486ddd94ba8fb0a83b5373f41274bbb10c3d732449ee5b2076b7430404c02bfac10fb9b27f92de79c25e2
+DIST python-gentoo-patches-3.6.12_p3.tar.xz 22416 BLAKE2B deddb2b4b23f7caa2b40a0916f5426f28f616b8fc6834c237623fb4e633dfbe1f946ff7e54989664a662184e01721f15f21a1d379db633d7f245b23fac3d7e47 SHA512 49ffeba37003dc1afe27811d880469a991583efb73c28871717e51711533927996293c576082e35fff17db98e7ba6e512e84289c4b7ed5a6880b011a9741a59b
+DIST python-gentoo-patches-3.6.13.tar.xz 11428 BLAKE2B 3f6ea5a5a79ba6b0d12d9d36c62232cbf0accbc3a8d792a12e2ed8ad5ce5079ac5a5d12493fbc36dff66b275a18a538c439fff02efdd77a68d5c974aa0e62a96 SHA512 118a8ca9d19b515d03ec834a950410bd8c8086dd9b3ea2e1dff5c7d3d42a4d873bccea62aa9d1b64f92892aecd090eb1337dec7d200668d55fece68eeacfa2dc
+DIST python-gentoo-patches-3.7.10.tar.xz 10572 BLAKE2B 440d004985407beb256863d37e798dbf6626b0c26fd443a5651d76cd584323abe31a13f5370d9808cd385cd999693b59097ad6ef6142c255a7b306a632fc68cf SHA512 ffe567d05b9de5f58c6a6786a5ff28f5a09aec76a69e57ab025b1c7bab57f4087704d465c049017ffd2680cc7e7363a54c5313774c0214258fa99b56bb1d46fe
DIST python-gentoo-patches-3.7.9-r1.tar.xz 15664 BLAKE2B 271b95a52f4ba83c1aee6f68385462c9af8f2ab575267ac068a793e99f7c9739eb4b98dfa7e9280510a709557d418db04f26b5b31bbfe95dfdc13c1773510d2d SHA512 38df628de2f2835f975f6f06395d32cd63051af87b9bf8b06eef2f987bde26a883923bcab333568c122554b900bb17995a8c7290b6a58f942bd942dcbc70d030
DIST python-gentoo-patches-3.7.9-r2.tar.xz 17068 BLAKE2B 2cb838e6ab2f76b5d08df42a1187f3cdeaf3e26d845307ddb6f492eb46cfb14da26f7ceaca7ca09a5304ba717006d182cb632a0927029419064673e58a06d232 SHA512 fd9bdc0ed989ff9ca5f343d2fd04a9e7f4c078e434b03288b19797dab71006d89d601cf91d651a1dbb8cc6c66e829c977cec98e971b30c5f5cc29a751dc34d50
+DIST python-gentoo-patches-3.7.9_p3.tar.xz 22000 BLAKE2B ca23030243727349f3c055854ad8ecf144dc567dd3ef5bf7d0b8cec8e2c97ba123d9b7af3c46e18c108e44fa9fea287c6cbb2e5438d84d5efa18023f82567610 SHA512 4d9f00352dd9f0d7aaf04bacb4a286dcefda25054bf7bef22ec5e5b4655bc0eac0a6b119291cb969d835167d5b81a831480ca12af734b11d44eb607c194ac616
DIST python-gentoo-patches-3.8.6-r1.tar.xz 15880 BLAKE2B 9a08cd23af56bcc2ed0dffe4850698be6e0bcf7c44d3eafeb250e328a93833dc3e9ce084f1be89450d1e123cd72d81c6271edfe34046d1bab3d7c10a98d0d9c5 SHA512 83474915cab0928d1d2f4229832bef7c093b2943770fa900a7445bfaa633544f50791aa8b4bc4191662af56feef166814d98eb6fad2c0a0eb9db1f8f4806e689
DIST python-gentoo-patches-3.8.7-r1.tar.xz 12572 BLAKE2B 7658ae56993674a7f57cb2b6d9f23e9d01fa75f00edcc67dc3474bba0361373555c44d47c155cf9ffcbd8551ff2ae56bc22a25bef1bf6b3efed7314b2824d777 SHA512 76d0e4d18fbeedc28430a3dd1656cfafdfefdae28978baddd3e0102d0fce83be173b58da74203fc6a90cf50c63fa612f0b78e65bc59a41dce4739eead398d352
+DIST python-gentoo-patches-3.8.7_p2.tar.xz 17708 BLAKE2B 495a24e0496be246d2beddfaaa8886049197ca5973dadccfcd26b3b2237e4b06b85f0e4d418db411d055ca3d0c1173e03dd5a62e29f64c133e8da6261b17c99b SHA512 c06f2fc1fe48be010e8230ac3d474b9c8386bba8f762dbe35d128ad63eaa1a4c2a5a991ec6044564331d0dec4f248a71e37959ebe666b0693d6ed41f460a67f7
+DIST python-gentoo-patches-3.8.8rc1.tar.xz 10952 BLAKE2B 5f5bb92f9db7bc6f7a3d67505df3ec19f430ea823314e35c47f7b1e0d9dee573af043cc0ade28d4622a55a200ce79ff2816ac435c0b116df3615b1da09b16e49 SHA512 2c1904f66e06932084068406f699df38c8889f695f77c0addd3a55d85679bbf618b7ae4d75e1102356e15a9f3c3246a49b0416931e43dac08f8c54365bbc1ee0
DIST python-gentoo-patches-3.9.0-r1.tar.xz 13728 BLAKE2B 50e85194c6bafefb8a0ddc4c9dea39227fc2c170db37ab44fa1e068340fa2fc5a59489f50431f0792024df551fc54a20de594579b57717c89fa134b3f000bb6d SHA512 a38c2800e3a0740af79f75f4120c925c7a891aa1f14a71ab56ad97fbabca3573c571140da3f34050bd9f97bd854a704453a910fa6883162196e6d1335a965b61
DIST python-gentoo-patches-3.9.1-r1.tar.xz 10464 BLAKE2B d69ce207020b7a34eb45c149ce88001167704763fbc373a8d5aff48a1d6337774dfb6c75d477442516b8dceb87b116e6d8cf3231334ced9b03aa970aa0d2e8e1 SHA512 72b1e37b1ceac9a0e95aa63a7dd404c69f60ae7a8aac472b8c17100c873a4d28d3291231643862c9d1cfaf990040f8e780590274314047adee199c159d745369
+DIST python-gentoo-patches-3.9.1_p2.tar.xz 15556 BLAKE2B 5e265ef8edee70694d73c6df6eb908a747be34e1e89b900d2470d41e7e043d179408bc643a52ade6e54e61a210ee8850d02a2cb452a9336f3973345c1d027158 SHA512 eabfd304b39975258705f5e9b238f709196ce0cbd3803f157dc77d864631a3eea380084a3a4de180e3ba7e92239608ae369e810f8066c0f1ff9fa251bbc1816c
+DIST python-gentoo-patches-3.9.2rc1.tar.xz 8836 BLAKE2B 952d73f19199530b6b13a9260de251a0007990926ec6d49f621951060a9fb5efbd3220474709fd9d264bec24a0e195ff7f079f0e600959b6094c9a8fae0e6162 SHA512 aa34faa53700acb9fc0d04e647bddfa38ee604bf10ab6fd3c9377e3e4d59086d608e2ecfdf02273e3362cb04a40556bbf6e8f5cd6d1a2ce4609c45f8820c601f
EBUILD python-2.7.18-r5.ebuild 10188 BLAKE2B 42dc7445a0579a3841091487402dff21f20a381113c721ffad04abb956fb5df76a5dac23a1a04278e1e70f16780c5df89ae6c78d9eca030a435d66625d3afa34 SHA512 4e72cf3e65ea8d1e3130a0bd7299de4ff5579514b8d9a0c7fcb904801c2f43ebfc59cdeef0fabd93934a10410b10cd9f9b1ec27aa94522380a609a38134b3a1a
EBUILD python-2.7.18-r6.ebuild 10338 BLAKE2B f279caf906f5be8de98a6bd98aca4bd0dd9af13e0e6658465309351c197ff99e9d15f8166b5085437b8de7020c9bcd3fddbe827196f99ee16c3cef896ba76cc5 SHA512 727029192dccc230f22a3a057cb3fe4e7dfafeb1bf1830ed6d67fb43ccb5ca2b903db25fbfa25650d54e33df1229f68b4d43a958b2f8c281530aae18bc1eedbc
+EBUILD python-2.7.18_p7.ebuild 10349 BLAKE2B 0431c6f2cfdf812e2705b8936c3069082150626b8b517379adf1edd28686731b95170bd559ac6fe94ac5ea36c7e22957e687eb8a0f41c7c2b26239cebed6727a SHA512 10331209f0982b876538858df2e1b7a0221a30fb6ef48cc1f291ca1eb2a6e14e4a8b3e23473f7ee5375a24a558e67930356bccecd7742577452c82210e032b46
EBUILD python-3.10.0_alpha3-r1.ebuild 9617 BLAKE2B 692262ea7574f4b1b5c54e50ae5d32cd1462a234810c1ae2b85eb24e141930f65abb51149e17436e18667152c2df8c5ae2eaa4a4051a45f3c13797e4a2fb772c SHA512 9b0ebca20c6ff10669bc2a3c30fabb249dbff58c56c5ec06fda7fbb463d76748950390c1afa74ae1b55878f40985ae58230874e93d40ec4be83b31e8a99706ac
EBUILD python-3.10.0_alpha4.ebuild 10215 BLAKE2B 56bc64fcd49d64fc54335bff8c0cfac9702e277fdf3f5e5714be497febc4b78a99e94457f2732c8b56c35f4fef4ea6655d71968db19022dfdb97e015ddfc3e40 SHA512 cd8b92d0ee2885e0e6c09c85419c36c3be009ed84bdf4239f607fe30943444dcc02028286529e54b82b7c87068566303defb8e69ba15d3fba3493cfdd041224d
EBUILD python-3.10.0_alpha5.ebuild 10019 BLAKE2B c5e228133915489c20e6979ef3a37209922e5b5c4f280674669f322470e5bf50a5bb0bdbcc8c301c673fb6def152006ec65188889a2b2a1ef1ca9b15baf8554b SHA512 a730f9a4ed404f3d0df5f57f772c7d8a6eefb70f25bca174c6b4971e96002f1dda6f2f0344da6591dd3f129bf3751df8ac0f564077c94bdec19caba51212768e
+EBUILD python-3.10.0_alpha5_p1.ebuild 10040 BLAKE2B 24835b3340fe4ad65f05490f174e177e2b632aed63446dfa0a9a017a542b18351f316c4b56927e8eff32cfdb225fe5eacc051e921429a2ce79d088090fa09243 SHA512 c1f549bfadd97ab8d667609cfc971db3be8932f57f0ae998fc52d0ae50698ef004ce9f789a2196e95b680b8490f89e2539835c1397b57001bbed8aebe98765ad
EBUILD python-3.6.12-r1.ebuild 9738 BLAKE2B c5b923a85a870d0c24a4ec96651609afa234c055719fc25cb6c3322172526c898428ca5058e62970ae1c1d0be06ea2a1df148fe9c703de9d0bea26f8195b2ad1 SHA512 e137da3b1ad136f8a6831b709d7ce326d434c4ff44b1b3685eed05c4269d194d20883c3b84a5f3b8624cbf0b85c4d37586bf6cc2c5deac9a2526c2d2ca10c8fe
EBUILD python-3.6.12-r2.ebuild 9885 BLAKE2B 4527c3d2dd8a8117c4c5b1d17d072e4bd8a3452e3e1ab4e8a9ff36300ddf6d37d7064f346d2f1165ee517db82159206afa78388bef09e12601b2944723a43694 SHA512 fb9d5ba1e4d95b8e71d58cf18248aa7ec441c8e140bf578e724c521179fd8025e33375bfaf8bd9cf796764bd46b49ad812c751428b6b548de259df6ffa7a9442
+EBUILD python-3.6.12_p3.ebuild 9897 BLAKE2B a3de467ac2e729268d122a6ba2572caf4671fd67526d0cb553755368d892340d03e06785b012cfe3d6aefaee2cce8aaac2ae397739210c8ed4ac859e1bfd8d89 SHA512 7b93d6ba30855586f451113c933555f1edc7efec3b97f6e6f161a32670f7717add5fde19effa6e5d712d834fb19dd8a4b727f608aa9d3231280664e75c34ed08
+EBUILD python-3.6.13.ebuild 9897 BLAKE2B a3de467ac2e729268d122a6ba2572caf4671fd67526d0cb553755368d892340d03e06785b012cfe3d6aefaee2cce8aaac2ae397739210c8ed4ac859e1bfd8d89 SHA512 7b93d6ba30855586f451113c933555f1edc7efec3b97f6e6f161a32670f7717add5fde19effa6e5d712d834fb19dd8a4b727f608aa9d3231280664e75c34ed08
+EBUILD python-3.7.10.ebuild 9702 BLAKE2B 1732961443de66431d4363eef2d5ec0caa044afc102227bcf85efc51a6a9cdebe8be9dadfa1aedec7c757f478897d2af47c3fdbcbb9dccf05ff4f15b0509b957 SHA512 d6e2660554f8bb3acdfc93141ceb8132e9b880ff89bb8b3b12eb475a14c298b2141d1143e21470d378aace07d64f2169525aecd7d4be8c688db5918f5c2717e2
EBUILD python-3.7.9-r1.ebuild 9273 BLAKE2B bb987ca9554fdc66d47693cea2a51c13bfcf1470f343d873831c2285855a4d6b58f70c3c9e1fa221172a8f7dcdaca9725ab7634503a99a87dd00ee586af25b6a SHA512 0005121d2e311cfb8ddc153efe18330ca9f7d31aa3eada439696b25192a9b99869b1c46d85b8e5d47ad659efb0d476f829eb9f08840e2266864c15851b3102ed
EBUILD python-3.7.9-r2.ebuild 9690 BLAKE2B 5e28c6b912db627855f36c5116139127d72fd6a82681427ae93533c5c7cdf6d99c5f5a69d1421aedf616d269dbea3d30cd7d425baeba78391524385a0cfd7efb SHA512 7f0badfa4caa4c8a5d9269e21eb1779f944c1d75d998a31ab00648da3253f889ca77f55405819210d260309d0e7eb94832e276335d4c538f5c1c2da81e52b835
+EBUILD python-3.7.9_p3.ebuild 9702 BLAKE2B 1732961443de66431d4363eef2d5ec0caa044afc102227bcf85efc51a6a9cdebe8be9dadfa1aedec7c757f478897d2af47c3fdbcbb9dccf05ff4f15b0509b957 SHA512 d6e2660554f8bb3acdfc93141ceb8132e9b880ff89bb8b3b12eb475a14c298b2141d1143e21470d378aace07d64f2169525aecd7d4be8c688db5918f5c2717e2
EBUILD python-3.8.6-r1.ebuild 9374 BLAKE2B aa3ad15a0d88622c15d5066c691ef284ae5a862d81ebc0bb4b462f9fa4118ec0de854f2b2eb6c36e415c49e3496068e3a5a95e363d0946331d54d07a8b1ed844 SHA512 c1688391a2f1a07b61e93fead2a99537483e3f3b062b04b41c4ff4b4cd27f7e9816afe9b08f0ffea487d1ab7d11618cd5e5bd11acd33b13df9c6606466432d84
EBUILD python-3.8.7-r1.ebuild 9791 BLAKE2B 3c47647d2a87605ab07a8f00129a5d19cbca72bf763ecb105dca06454a2fee11e3b7842caa1a9672b407c2ebc9c36407bb8b9786c3dfe5100147cf28f4c3bdef SHA512 ac55db578051c14632705736dedb8f3f91849c1884e4581369f3bc9af58fac0b20d901f710a9c75141c1a8f06022170d1055392536ac6dd648c3e298eeaad442
+EBUILD python-3.8.7_p2.ebuild 9803 BLAKE2B af3770efda34e9281819b81cbfce96d8cb8096ab2a9e31e132b0e898737750937726430b3455e739a7a26dbe430d4bbe933ff9d8e937357e4afefaac187cf028 SHA512 93ed9d7d56fd0d66b8c55229f14603d5a041a690bb47c2fcf8f9291e45fbaf0b93d15be82529e75f18a9b5662e83526fa862efdf952cb4de188ee69f5841d9b8
+EBUILD python-3.8.8_rc1.ebuild 9828 BLAKE2B 9b5c2cab21a6124d31c83c0df01a22352546f09c4821a3a1146e827bfacf83582e4805ac88598e80e519533d3a30bb665c414e814739837283e0e69fe5c45ffb SHA512 548f8a3870bd67c8a544333e114158f01a0c5dc9cdd4155e1a028511720e4e91db754771e85031f374d4a1dfc1364b79efb7a2f9225e64a7eb6f2d7989173672
EBUILD python-3.9.0-r1.ebuild 9519 BLAKE2B 70df0df3732280427304871f2b20f6b1018a1e590e479d610ad2b8de055dbe1a56803a35722667af3184c7b888d8c3d64c4ba3553ca724ca4f0baa85843d18cb SHA512 515b89c3fb02e0e6a71ea7db1c51cbea2c5e42a549e19ac93f927585786292ab2d9fc3dbc6f21a9365ad2b0d4b8954f430b1a939c6903e66e29fc4723d297809
EBUILD python-3.9.1-r1.ebuild 9936 BLAKE2B 1faffabbfb36b904a75ae8464d39379d6a8ab70c0659d5a1789ceb75f86ecde365efc53bf1d7634f5fd550df32adb06a2160d5c26eeffbea10fb27b20a96f2e7 SHA512 8260879dbcf7966f86cb1284bc54c08b33e1ab3759a7c5a535c40e006238e956258a38552445a69462ff11583ed08ab76020508d8283ac79371197b99f25287d
+EBUILD python-3.9.1_p2.ebuild 9942 BLAKE2B efad280cd9b6b8792defdb63e1618053e195a7c1421900032c1ade8de288a4fa6abd5f1705fd31d6f54740f5ed235c924b7244c816a6bf4ef5e32fc074926c92 SHA512 b9085e3ace1d842bd1e81b0882ece3249700936129cfd5f904635fb9c42a6e914c5699953a216e61663f3ed6fa4b3d6cc5f84af12048ffffce6b4d8ec846a12e
+EBUILD python-3.9.2_rc1.ebuild 9967 BLAKE2B f20e61eeb8b05c2ed3ad7da9e23c47578bec92cff2908b04e9f716e9324600342f863a85602d9fe7fd0644d5a1a8eb32c60094d87c23cfa5e2fd87fe7ff552c5 SHA512 9a1fcac09a1e242b57009003da4f05a3ae79c4b2bbaf76c3b9302367916ae5b8c688fb42b22053c9d6f28c6b36d6bd0e66418ed151d82e009b1b25fe476174c4
MISC metadata.xml 819 BLAKE2B 120c7c65d77488e726c5a0f4aa19469867ea6900e747169fae2f9cf8f14ec2936089d5edfe1935ce610bec26387273e261b1cc4b023680c8c4b229f2141a7223 SHA512 08f45707e5490067a21951b9d37c8ae67064ab67cccc5b8d8c204eab8d4a004fb910627b62989c67b849b89d301618f8f8f7996e99e1ef5bab38a239c49c124d
diff --git a/dev-lang/python/python-2.7.18_p7.ebuild b/dev-lang/python/python-2.7.18_p7.ebuild
new file mode 100644
index 000000000000..65446e2f1aec
--- /dev/null
+++ b/dev-lang/python/python-2.7.18_p7.ebuild
@@ -0,0 +1,358 @@
+# Copyright 1999-2021 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 verify-sig
+
+MY_P="Python-${PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}"
+
+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
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
+ )"
+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 )"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( app-crypt/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+PDEPEND="app-eselect/eselect-python"
+RDEPEND+="
+ !build? ( app-misc/mime-types )
+ !<=dev-lang/python-exec-2.4.6-r1"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+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_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+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)
+
+ 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"
+}
diff --git a/dev-lang/python/python-3.10.0_alpha5_p1.ebuild b/dev-lang/python/python-3.10.0_alpha5_p1.ebuild
new file mode 100644
index 000000000000..0e3988598fb7
--- /dev/null
+++ b/dev-lang/python/python-3.10.0_alpha5_p1.ebuild
@@ -0,0 +1,349 @@
+# Copyright 1999-2021 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 verify-sig
+
+MY_PV=${PV/_alpha/a}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+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
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )"
+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(+)] )"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ sys-devel/autoconf-archive
+ virtual/pkgconfig
+ verify-sig? ( app-crypt/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+PDEPEND="app-eselect/eselect-python"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+# 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_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+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
+
+ # 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[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax_kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ 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_p3.ebuild b/dev-lang/python/python-3.6.12_p3.ebuild
new file mode 100644
index 000000000000..0070a1017519
--- /dev/null
+++ b/dev-lang/python/python-3.6.12_p3.ebuild
@@ -0,0 +1,341 @@
+# Copyright 1999-2021 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 verify-sig
+
+MY_P="Python-${PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}"
+
+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
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
+ )"
+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(+)] )"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( app-crypt/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+PDEPEND="app-eselect/eselect-python"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+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
+
+ 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
+}
diff --git a/dev-lang/python/python-3.6.13.ebuild b/dev-lang/python/python-3.6.13.ebuild
new file mode 100644
index 000000000000..0070a1017519
--- /dev/null
+++ b/dev-lang/python/python-3.6.13.ebuild
@@ -0,0 +1,341 @@
+# Copyright 1999-2021 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 verify-sig
+
+MY_P="Python-${PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}"
+
+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
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
+ )"
+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(+)] )"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( app-crypt/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+PDEPEND="app-eselect/eselect-python"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+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
+
+ 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
+}
diff --git a/dev-lang/python/python-3.7.10.ebuild b/dev-lang/python/python-3.7.10.ebuild
new file mode 100644
index 000000000000..f61897fc7963
--- /dev/null
+++ b/dev-lang/python/python-3.7.10.ebuild
@@ -0,0 +1,333 @@
+# Copyright 1999-2021 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 verify-sig
+
+MY_P="Python-${PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}"
+
+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
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
+ )"
+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(+)] )"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( app-crypt/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+PDEPEND="app-eselect/eselect-python"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+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
+
+ # 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[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax_kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ 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
+}
diff --git a/dev-lang/python/python-3.7.9_p3.ebuild b/dev-lang/python/python-3.7.9_p3.ebuild
new file mode 100644
index 000000000000..f61897fc7963
--- /dev/null
+++ b/dev-lang/python/python-3.7.9_p3.ebuild
@@ -0,0 +1,333 @@
+# Copyright 1999-2021 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 verify-sig
+
+MY_P="Python-${PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}"
+
+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
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
+ )"
+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(+)] )"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( app-crypt/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+PDEPEND="app-eselect/eselect-python"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+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
+
+ # 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[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax_kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ 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
+}
diff --git a/dev-lang/python/python-3.8.7_p2.ebuild b/dev-lang/python/python-3.8.7_p2.ebuild
new file mode 100644
index 000000000000..71bd7c3f0613
--- /dev/null
+++ b/dev-lang/python/python-3.8.7_p2.ebuild
@@ -0,0 +1,337 @@
+# Copyright 1999-2021 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 verify-sig
+
+MY_P="Python-${PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}"
+
+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
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
+ )"
+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(+)] )"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( app-crypt/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+PDEPEND="app-eselect/eselect-python"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+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
+
+ # 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[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax_kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ 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
+}
diff --git a/dev-lang/python/python-3.8.8_rc1.ebuild b/dev-lang/python/python-3.8.8_rc1.ebuild
new file mode 100644
index 000000000000..c4ef86dff67a
--- /dev/null
+++ b/dev-lang/python/python-3.8.8_rc1.ebuild
@@ -0,0 +1,338 @@
+# Copyright 1999-2021 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 verify-sig
+
+MY_PV=${PV/_rc/rc}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+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
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
+ )"
+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(+)] )"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( app-crypt/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+PDEPEND="app-eselect/eselect-python"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+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
+
+ # 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[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax_kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ 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
+}
diff --git a/dev-lang/python/python-3.9.1_p2.ebuild b/dev-lang/python/python-3.9.1_p2.ebuild
new file mode 100644
index 000000000000..c53d918faa4b
--- /dev/null
+++ b/dev-lang/python/python-3.9.1_p2.ebuild
@@ -0,0 +1,346 @@
+# Copyright 1999-2021 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 verify-sig
+
+MY_P="Python-${PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}"
+
+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
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
+ )"
+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(+)] )"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( app-crypt/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+PDEPEND="app-eselect/eselect-python"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+# 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_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+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
+
+ # 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[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax_kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ 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.2_rc1.ebuild b/dev-lang/python/python-3.9.2_rc1.ebuild
new file mode 100644
index 000000000000..b4b4cbc7a33c
--- /dev/null
+++ b/dev-lang/python/python-3.9.2_rc1.ebuild
@@ -0,0 +1,347 @@
+# Copyright 1999-2021 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 verify-sig
+
+MY_PV=${PV/_rc/rc}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+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
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
+ )"
+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(+)] )"
+BDEPEND="
+ virtual/pkgconfig
+ verify-sig? ( app-crypt/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+PDEPEND="app-eselect/eselect-python"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+# 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_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+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
+
+ # 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[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax_kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ 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 90cc1a1b9e21..e05f4f4f88a0 100644
--- a/dev-lang/rakudo/Manifest
+++ b/dev-lang/rakudo/Manifest
@@ -7,13 +7,13 @@ DIST rakudo-2020.09.tar.gz 4743378 BLAKE2B 4ccac6fa59ca80868e7525eabc05d358da926
DIST rakudo-2020.10.tar.gz 4755030 BLAKE2B 869f6dc6569093f7ad39d9c250d6564b6311cdefda2950784e54263bed6faca4b8653a9578b19f52819eb8e9f24e1f5f831468bf4620d885d4bb26944e22e8f4 SHA512 fcd00ac782ca28243ca2c6ceb45ff99322952086749aea01ccdfb5ae8c525cb6304fe5d20e7905a9808b1b7a1a96d7c4406847b10c0e4ea8b5fd7d053870f46a
DIST rakudo-2020.11.tar.gz 5678270 BLAKE2B 314da91b516d509fcfcfff16e46444243083bdeb21294bc33a2996f1883317b663cc3442cbb6090c8339c5607b4e64a4c8c3c9f2fa5d728bd5c6513d6ef20bcf SHA512 d6c0f7849570b82611db311445f6b60000ecf1c0773d1bb5f4da0d27a9e0d443149ab72f954da2e75a8323d9be9c31f655dee1183a8ca714d89c63baa6e2489e
DIST rakudo-2020.12.tar.gz 5690849 BLAKE2B 2f2bae068419279346d4dd49b734221d9a8bbeaac94b8fd44f03812ed33fbf8d4e096ba768388cb56571970d41f8ef319bf12d1f33a1cf36fe3ebb7ec6da40be SHA512 dfb94d1c8f75ec16e0149a37b57a9d9fc80ddaf256526edd3d3a23c0435881a187efbe88fd95a2174a9e9d93820987e561bb77745c7492e7ac50eb72879b4ab8
-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-2020.12.ebuild 1628 BLAKE2B 09151d187224cdf92865e57c775934cf952ea0b90462ac90c1e36a164dbd345d150e26a7cc3fd27796b61fbabb6b49f5025cff9d2271ad3ae03635c829d2baf8 SHA512 ec2242b1271167800bc954df2039f999981a1dff9bb0d0295d1b8fc780dbada59915e22ed50a5953d73fb65935e0090df6344255fbf5ba91f20e07139ceec082
-EBUILD rakudo-9999.ebuild 1746 BLAKE2B 825811a2641e4fa2290771caf47ff2a5c4e6253455bb0b5fec85d1a910e952e597fca38f57aa6b939f4bb55aebbab14a30bad08bda8448d3dc3aa50dea81ccbd SHA512 af56d0da89afb6f506b6fd041692e1d798b7832d5684021aef6b9fd8d5d51336c4751e3cb9a6a906930f3ac115514098a83943cb0ee4a195f6fa5fc5027f7791
+EBUILD rakudo-2020.05.1.ebuild 1619 BLAKE2B 6e3d91ed55484a91a9e3cc82461ecb32a610fcd8bd5a46c39f8bf58a2719cc3d55ad3edc26f2f0069e51c964179f5eccb3a3d5d4b0da25d22faa60b797aac0aa SHA512 49a99a1d8cdf558929e91293718c3dccd40e066ec884027bfe9ea116b04874ac85b947153cce6d133b6159c305101f9c13b68160d2543a85d46852e48c7a0524
+EBUILD rakudo-2020.06.ebuild 1619 BLAKE2B 784695f08e4227ed2461f039f5c497999d96c996f4c9eaa17e6825964beb77e4a5876f004523140c5b2003973064abc1795d856abce4ed21c27df8ec935911fa SHA512 6f86d97d79027d3498ae37ba13877ee59ea8548302d2958a869f2660188c0b90fcee893f53922bee4d1944dba30d4df1942ce874ced06e12b86295282b350b94
+EBUILD rakudo-2020.07.ebuild 1619 BLAKE2B 784695f08e4227ed2461f039f5c497999d96c996f4c9eaa17e6825964beb77e4a5876f004523140c5b2003973064abc1795d856abce4ed21c27df8ec935911fa SHA512 6f86d97d79027d3498ae37ba13877ee59ea8548302d2958a869f2660188c0b90fcee893f53922bee4d1944dba30d4df1942ce874ced06e12b86295282b350b94
+EBUILD rakudo-2020.08.1.ebuild 1619 BLAKE2B 784695f08e4227ed2461f039f5c497999d96c996f4c9eaa17e6825964beb77e4a5876f004523140c5b2003973064abc1795d856abce4ed21c27df8ec935911fa SHA512 6f86d97d79027d3498ae37ba13877ee59ea8548302d2958a869f2660188c0b90fcee893f53922bee4d1944dba30d4df1942ce874ced06e12b86295282b350b94
+EBUILD rakudo-2020.09.ebuild 1615 BLAKE2B 11d22170b2a2a91c405db0e16e099a670a50c981c289c30cef897294cce48022fee2aa7d7f51161bbda52850d6e9878c423877f47fcdd8aeda5bdbbfc2533f7e SHA512 781d36e3c0aee054795c8f9a4ebf40b28fdac7fb83eaefa1ce65d9b9cad3d224bd8a6a241820d2e779f1d397f8e2a677dcbbcb5b52acf389369e05b2747ac558
+EBUILD rakudo-2020.10.ebuild 1615 BLAKE2B 11d22170b2a2a91c405db0e16e099a670a50c981c289c30cef897294cce48022fee2aa7d7f51161bbda52850d6e9878c423877f47fcdd8aeda5bdbbfc2533f7e SHA512 781d36e3c0aee054795c8f9a4ebf40b28fdac7fb83eaefa1ce65d9b9cad3d224bd8a6a241820d2e779f1d397f8e2a677dcbbcb5b52acf389369e05b2747ac558
+EBUILD rakudo-2020.11.ebuild 1615 BLAKE2B 11d22170b2a2a91c405db0e16e099a670a50c981c289c30cef897294cce48022fee2aa7d7f51161bbda52850d6e9878c423877f47fcdd8aeda5bdbbfc2533f7e SHA512 781d36e3c0aee054795c8f9a4ebf40b28fdac7fb83eaefa1ce65d9b9cad3d224bd8a6a241820d2e779f1d397f8e2a677dcbbcb5b52acf389369e05b2747ac558
+EBUILD rakudo-2020.12.ebuild 1615 BLAKE2B 11d22170b2a2a91c405db0e16e099a670a50c981c289c30cef897294cce48022fee2aa7d7f51161bbda52850d6e9878c423877f47fcdd8aeda5bdbbfc2533f7e SHA512 781d36e3c0aee054795c8f9a4ebf40b28fdac7fb83eaefa1ce65d9b9cad3d224bd8a6a241820d2e779f1d397f8e2a677dcbbcb5b52acf389369e05b2747ac558
+EBUILD rakudo-9999.ebuild 1733 BLAKE2B cb26f65cf3e9ecb239df9a29037d20c2225581214f3b8b9622822c1785384e3a174857dbcafb0b309d5d2261bf78853842051299b47ad29f37602189d318a54c SHA512 c7a2c8febbaeff8f0b8b0cc9909062392c988bad08749c870ccc3cb3e239a8a105e0ee42f1efa5e10485cc86155b206b8ef12db43b95de58f9e192df7542ad05
MISC metadata.xml 513 BLAKE2B 90fdc5cdf5182b707681ce28a7e4b06c1e8e1a05f848e072de4abc5e8f074ec9becd41c117880bba60e00eebe69a4ab1639b39b0a29307d65d6be09784ee6a18 SHA512 d0144523717581bc13a12b8b8edff0ec03800fe1bda313725a4db37bc70e26c3cf566426e48eb6ecf58f8653f6c51f375ea31d915d75bcf37fc0772251047e7a
diff --git a/dev-lang/rakudo/rakudo-2020.05.1.ebuild b/dev-lang/rakudo/rakudo-2020.05.1.ebuild
index 4ba843c08746..7bea6a703259 100644
--- a/dev-lang/rakudo/rakudo-2020.05.1.ebuild
+++ b/dev-lang/rakudo/rakudo-2020.05.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -11,7 +11,6 @@ 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"
diff --git a/dev-lang/rakudo/rakudo-2020.06.ebuild b/dev-lang/rakudo/rakudo-2020.06.ebuild
index 1353f67155bf..1a79ddccb62d 100644
--- a/dev-lang/rakudo/rakudo-2020.06.ebuild
+++ b/dev-lang/rakudo/rakudo-2020.06.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,6 @@ 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"
diff --git a/dev-lang/rakudo/rakudo-2020.07.ebuild b/dev-lang/rakudo/rakudo-2020.07.ebuild
index 1353f67155bf..1a79ddccb62d 100644
--- a/dev-lang/rakudo/rakudo-2020.07.ebuild
+++ b/dev-lang/rakudo/rakudo-2020.07.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,6 @@ 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"
diff --git a/dev-lang/rakudo/rakudo-2020.08.1.ebuild b/dev-lang/rakudo/rakudo-2020.08.1.ebuild
index 1353f67155bf..1a79ddccb62d 100644
--- a/dev-lang/rakudo/rakudo-2020.08.1.ebuild
+++ b/dev-lang/rakudo/rakudo-2020.08.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,6 @@ 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"
diff --git a/dev-lang/rakudo/rakudo-2020.09.ebuild b/dev-lang/rakudo/rakudo-2020.09.ebuild
index e912ccc2de62..8337e3f34074 100644
--- a/dev-lang/rakudo/rakudo-2020.09.ebuild
+++ b/dev-lang/rakudo/rakudo-2020.09.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,6 @@ 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"
diff --git a/dev-lang/rakudo/rakudo-2020.10.ebuild b/dev-lang/rakudo/rakudo-2020.10.ebuild
index e912ccc2de62..8337e3f34074 100644
--- a/dev-lang/rakudo/rakudo-2020.10.ebuild
+++ b/dev-lang/rakudo/rakudo-2020.10.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,6 @@ 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"
diff --git a/dev-lang/rakudo/rakudo-2020.11.ebuild b/dev-lang/rakudo/rakudo-2020.11.ebuild
index e912ccc2de62..8337e3f34074 100644
--- a/dev-lang/rakudo/rakudo-2020.11.ebuild
+++ b/dev-lang/rakudo/rakudo-2020.11.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,6 @@ 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"
diff --git a/dev-lang/rakudo/rakudo-2020.12.ebuild b/dev-lang/rakudo/rakudo-2020.12.ebuild
index e912ccc2de62..8337e3f34074 100644
--- a/dev-lang/rakudo/rakudo-2020.12.ebuild
+++ b/dev-lang/rakudo/rakudo-2020.12.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,6 @@ 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"
diff --git a/dev-lang/rakudo/rakudo-9999.ebuild b/dev-lang/rakudo/rakudo-9999.ebuild
index 9fb642f3c169..1c3e4d291cbc 100644
--- a/dev-lang/rakudo/rakudo-9999.ebuild
+++ b/dev-lang/rakudo/rakudo-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
@@ -11,7 +11,6 @@ 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/downloads/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
diff --git a/dev-lang/snobol/Manifest b/dev-lang/snobol/Manifest
index 512693acc1ef..ac1c2db7713a 100644
--- a/dev-lang/snobol/Manifest
+++ b/dev-lang/snobol/Manifest
@@ -1,3 +1,4 @@
+AUX snobol-1.4.1-fno-common.patch 687 BLAKE2B c6dd0fd2e60a5b0620ef7a1fa1ed24419d3116606045d07dc545a3f9430dd3dd8ff72abb2f2a32945565b63f90febce2ce983becfd86af703ae71498d01f308a SHA512 454d4a44e7573bc9f63a47942a79a29bdaf3c3cebd341d06297f32fe98d687945d204f89c67da2829333a516dbaf9ed30e9b0eb9a47fc27240bdfc6dd85cf4bd
DIST snobol4-1.4.1.tar.gz 736837 BLAKE2B bb86d2cd3788ad66b7246d86ebd9f289189f5bd059238d2df3fb621aa4a1e910a8ad029f482077eb78916a84c3a28d868e8ac6eef83b48d7f09a8964c57a855d SHA512 5413af10018141e93f05c9ea637711bb3981f2b67557691d05dde8911178d90900f0fdef6c1d2416ebdda6afeeabd21b9e371b6711b2d093df629cc865fc61f9
-EBUILD snobol-1.4.1.ebuild 1293 BLAKE2B 8181290a619a940f1b7c9d4b2009dedccc2f43244a439418da099520ae9c352f1ec20f5913695f436c879dbd30112d794c9ba658a1cf338f74cf44a2a780a186 SHA512 4a967e0d6a91cd6ff86f4ee7f025a9cd18420f8f71404ff08c5ecbf5b9a4849856c9b700ce05f4cd94a63ae65d45d93d1a10dc823f23011249f078e94bf16a91
-MISC metadata.xml 268 BLAKE2B 914b6995ad966e2b83ec718b2598969b181c119d8805241b0046f69e161ac22a9f769204f4783240056804008475aa406cbd91b9de499ec7840f9595158bd291 SHA512 ffda1db3fd6ac952f41a970e2e496c6a9fd0b12ed11cdf363fd269c3b00f627c6e70421fd545aad61d69594af2e5f43d8ebc197232a39b596d012818fe758850
+EBUILD snobol-1.4.1-r1.ebuild 1376 BLAKE2B 33fa141979db79cc227a3125d35c74b3ba86a42079360a356b11aa66e4f2f38abf58fc53628666275bae0fc34bfdfa1c3e7aeb86794e8b3a3958c0e82f906887 SHA512 f0ff3dd72eaa74ac038b9594b26f2fb4bb1674d327ed9b76ce94f91d033fd86972c5cfd85e686046dd0aaf0dfc475f2c47abce1b73d90875aa7c9c6f7a331c5d
+MISC metadata.xml 250 BLAKE2B fe89695d5dcb55e3a59fe901cba061e1b73e5d09cc72d362bb3ec127aecdba741ba23920096bfad7a39c43e35ffbc006fe84f3e50a34c91097a32deceeb91e84 SHA512 c599b09b9aaf744dfe13d0707adde7d3dfd1a8a411e937fcba25e65c6045792cdcf6ceb9004e3dd38b014c486c9f1334bfc898419f59806ec6abebfc71bca382
diff --git a/dev-lang/snobol/files/snobol-1.4.1-fno-common.patch b/dev-lang/snobol/files/snobol-1.4.1-fno-common.patch
new file mode 100644
index 000000000000..8814867c2ae7
--- /dev/null
+++ b/dev-lang/snobol/files/snobol-1.4.1-fno-common.patch
@@ -0,0 +1,31 @@
+--- a/include/macros.h
++++ b/include/macros.h
+@@ -192,7 +192,7 @@ extern volatile int math_error;
+ #define RETURN(VALUE) {RSTSTK(); return (VALUE);}
+ #endif /* TRACE_DEPTH not defined */
+
+-struct descr _NORET[1];
++extern struct descr _NORET[1];
+ #define NORET ((ptr_t)_NORET)
+
+ /****************/
+--- a/isnobol4.c
++++ b/isnobol4.c
+@@ -4,6 +4,7 @@
+
+ # include "mlink.h"
+ # include "parms.h"
++extern struct descr _NORET[1];
+ static int
+ ENDALL(retval)
+ ret_t retval;
+--- a/main.c
++++ b/main.c
+@@ -46,6 +46,7 @@ struct vars *varp;
+ const char vers[] = VERSION;
+ const char vdate[] = VERSION_DATE;
+ const char snoname[] = "CSNOBOL4";
++struct descr _NORET[1];
+
+ int
+ main(argc, argv)
diff --git a/dev-lang/snobol/metadata.xml b/dev-lang/snobol/metadata.xml
index a4e0d354f696..4073267daf2a 100644
--- a/dev-lang/snobol/metadata.xml
+++ b/dev-lang/snobol/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>robbat2@gentoo.org</email>
- <name>Robin H. Johnson</name>
- </maintainer>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-lang/snobol/snobol-1.4.1.ebuild b/dev-lang/snobol/snobol-1.4.1-r1.ebuild
index 24b2727cb01f..d213113e1228 100644
--- a/dev-lang/snobol/snobol-1.4.1.ebuild
+++ b/dev-lang/snobol/snobol-1.4.1-r1.ebuild
@@ -1,10 +1,11 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-MY_P="${PN}4-${PV}"
+inherit toolchain-funcs
+MY_P="${PN}4-${PV}"
DESCRIPTION="Phil Budne's port of Macro SNOBOL4 in C, for modern machines"
HOMEPAGE="http://www.snobol4.org/csnobol4/"
SRC_URI="ftp://ftp.snobol4.org/snobol/old/${MY_P}.tar.gz"
@@ -14,39 +15,39 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc"
-DEPEND="
- sys-devel/gcc
- sys-devel/m4
- sys-libs/gdbm[berkdb]
-"
-S=${WORKDIR}/${MY_P}
+DEPEND="sys-libs/gdbm[berkdb]"
+RDEPEND="${DEPEND}"
+BDEPEND="sys-devel/m4"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}"/${P}-fno-common.patch )
src_prepare() {
- sed -e '/autoconf/s:autoconf:./autoconf:g' \
- -i configure || die 'autoconf sed failed'
- sed -e 's/$(INSTALL) -s/$(INSTALL)/' \
- -i Makefile2.m4 || die 'strip sed failed'
- echo "ADD_OPT([${CFLAGS}])" >>${S}/local-config
- echo "ADD_CPPFLAGS([-DUSE_STDARG_H])" >>${S}/local-config
- echo "ADD_CPPFLAGS([-DHAVE_STDARG_H])" >>${S}/local-config
+ default
+ sed -i -e '/autoconf/s:autoconf:./autoconf:g' configure || die
+ sed -i -e 's/$(INSTALL) -s/$(INSTALL)/' Makefile2.m4 || die
+ echo "ADD_OPT([${CFLAGS}])" >> local-config || die
+ echo "ADD_CPPFLAGS([-DUSE_STDARG_H])" >> local-config || die
+ echo "ADD_CPPFLAGS([-DHAVE_STDARG_H])" >> local-config || die
# this cannot work and will cause funny sandbox violations
sed -i -e 's~/usr/bin/emerge info~~' timing || die "Failed to exorcise the sandbox violations"
}
src_configure() {
+ tc-export CC
./configure --prefix="${EPREFIX}/usr" \
--snolibdir="${EPREFIX}/usr/lib/snobol4" \
--mandir="${EPREFIX}/usr/share/man" \
- --add-cflags="${CFLAGS}"
+ --add-cflags="${CFLAGS}" || die
}
src_install() {
emake DESTDIR="${D}" install
- rm "${ED%/}"/usr/lib/snobol4/{load.txt,README}
+ rm "${ED}"/usr/lib/snobol4/{load.txt,README} || die
dodoc doc/*txt
-
- use doc && dohtml doc/*html
+ use doc && dodoc -r doc/*html
}
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 2245845369d0..932acdb3634d 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -10,7 +10,7 @@ DIST firefox-68.12.0esr.source.tar.xz 313856956 BLAKE2B eeaa4acc9fabf15ec1b31317
DIST firefox-78.6.0esr.source.tar.xz 338098664 BLAKE2B 9d082b6104bffbd0d918dc1adf2a01ac32613d8048faf399177834c4949714a00c1f4383b778a21d6b6684296d8f9bd44fa547ee2507a8631d206e3764d2ceeb SHA512 a1e2d6af0020784d00ed3cb4d778c136685e7c2f6ae536cc270fbd331d51d483d17dff9acd7ad8e6b3b231b9df894c146092889357b23715814a080c6f08d11a
DIST firefox-78.7.1esr.source.tar.xz 334417504 BLAKE2B c0c90488ef9727363f03707c3d1e83ab5965a32775db9e6832883b94f265a3d95bb468648360fa3f016c34044f4c706db84125f7c5b545aaa1dedcf03196cb0c SHA512 d5828667ab07f5971049092102b7017472a835a3ab8581ba485a528e9b269aafdeeebecb4c882043459c2b901290c5525d795b04c1d4f30f7b74ee6cd7b18646
DIST firefox-78esr-patches-07.tar.xz 66156 BLAKE2B 8f69883432dcbd484b1fb15e3fde1630b1424e502ba78d9ec3cbe70cb2676a6876853d3477c8bfe35e92bca91b200e2d14543de1778d895676a52d2608109af2 SHA512 b4a01d3499002bd33a7fb45a1a80e9e73ba27a0986b6bfa43b3482dd8d82a686a14ae0c5e013402c8c8f359a642632a40bf4c362a0e83a1f53b453914f42e3a7
-DIST firefox-78esr-patches-08.tar.xz 67108 BLAKE2B e9bcfeeda936832e1107d5dd1641f8833dcb1c99bee113b7591607294328b3739521a6811e0dfa64f36b44ab9a484ca69e15ad88b99ae810d767a2de2e4ffc4c SHA512 47a676d18bdc005db3f2d3c9b491df8f6347f50c1410d9f00cf19da86f3163a8ca45060b728f47f3cad02fcdaf6150f037ae26c95f4a5c8be6e7077a97890203
+DIST firefox-78esr-patches-09.tar.xz 67480 BLAKE2B dde764add31a755765df996aeb50bc647881f9956c9b18c87ccc1c79325ec6f4c3a7ae3a8be1a64c5d80a9aece90d05697a8920912a7a37fd62d62bf2e03a536 SHA512 aa0eb6183ead7efe231ecb2922f22d5028a9edb656e65bfebfbb175af868f8c8ae05668e4bc2a982befcd04698cca43d3abb5b261aa2931bc7d8c7808a8495f4
DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718
DIST mozjs-52.9.1pre1.tar.bz2 30178574 BLAKE2B 0920432b5140e78297a9bcbccb54268d75a223d5e75e4ff90b3b01aab4f7736b4a4e05c47b3a925ff0a74607a0abad3b6583c75d070ef5142009b20ebaf6e4bf SHA512 187b231b246a5ae09e55c0fef77866b316d75f38f4c2e066d5d4325d8da63433027020c929439cab46af3253ac63ab2f780223a8fd2c6ff535b3409bb6c4aa0f
DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0
@@ -24,5 +24,5 @@ EBUILD spidermonkey-52.9.1_pre1-r2.ebuild 4592 BLAKE2B 506e6a1958e0c4cd7f3898410
EBUILD spidermonkey-60.5.2_p0-r4.ebuild 4239 BLAKE2B 09f2cc1baada4607f23b71daecd974a450ea27e7ce3935018e16bbe0efd7ad4a1ee079b74b180b851923e0c56b7681064a02ae5026f85e05c5a402f477b5f705 SHA512 6e7b78828bc4c39f48112a1f7bc4d3efe30a5332506f10c7983f2492ef732cba7a57985b281b270721f67ad627b9fb19f8ec05ae2210b7018519b40d1a7e65a2
EBUILD spidermonkey-68.12.0.ebuild 7310 BLAKE2B 78473b652614a2cd4001c40ff981555358043d9cce58bedde8670e76b1c03d3aaa11da156fc17d20200a2e1e08075d88c6cfca57e5f41f5aed758e6d4a0199b1 SHA512 7a792dd7c6976a56f685eadfc4929ea26045ba4c464aac61b9dcb4e9545306e14e0a8abb3aecdea516611ab2bfbf9c7b0a0b273c89bf58b3d0a24f0ffcee43a6
EBUILD spidermonkey-78.6.0.ebuild 12725 BLAKE2B 4e9cae875689a5044f0770714dea7a25ba41f541a1aa9f895f19e1723c7bdcfabc28ef00ce86e70b426a70c629eac1f62e5a383cdc566b1d7bd77fcee4fc47cc SHA512 707ca6ae3095064bc93f92f531ddd6f2fd43d8d5d099f6f0f616f913c336af38ea61932cf0a8bc0e24cd4133d5b357f1fc1e21a80cedd1b76a898445439b186e
-EBUILD spidermonkey-78.7.1.ebuild 12729 BLAKE2B db099f9512d4aa83119a2561152c6414bc2ffb0d22ca4ed39c9677491319d490186016801fb749185980e6546509daf649797dad7edb8fe7722c96767d99aac3 SHA512 019eb3954cf8681fe292861c8f4a84671c69ac5eec706eafb5c1a7e98f87c53fe0aab41016adab1177c7ca97944f536cd35382368e175257a27f17d508ec274b
+EBUILD spidermonkey-78.7.1.ebuild 12729 BLAKE2B bfe1460b6ea657f9fc721eea4b47abfe222639999c78e6f9402853d2413d051e8959202298fb89129c3b9a9c84edbee529d4b4e6ca0ed21f2b08b75345d26d74 SHA512 ed92065703a65d3bd43a8f475785d5da1b18c114b4d8492b61bfd206bb88c95b2a79904d68beee8813a8bd3b9d597d58060e3be4ac32b2e4efd8f6e877366bb4
MISC metadata.xml 868 BLAKE2B ee529f60bc83af6c54188ab4db2a1e05cbc3fcebf7732580cb5e507afada8560cb8812d4f155ae94c2ec87724bdfafe7312de86b47a95f599655695836c9b806 SHA512 caf3c383cd8109391cbf81baf5e942630bfd84ca6bc2a78430e58e5b0a40428e08b8a3d7c9fadccebaf94fe1aa673df837246fc32d5932b7f60dd43431ee1575
diff --git a/dev-lang/spidermonkey/spidermonkey-78.7.1.ebuild b/dev-lang/spidermonkey/spidermonkey-78.7.1.ebuild
index a32a7ed2f253..e3480d74d9fc 100644
--- a/dev-lang/spidermonkey/spidermonkey-78.7.1.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-78.7.1.ebuild
@@ -4,7 +4,7 @@
EAPI="7"
# Patch version
-FIREFOX_PATCHSET="firefox-78esr-patches-08.tar.xz"
+FIREFOX_PATCHSET="firefox-78esr-patches-09.tar.xz"
SPIDERMONKEY_PATCHSET="spidermonkey-78-patches-03.tar.xz"
LLVM_MAX_SLOT=11
diff --git a/dev-lang/tcc/Manifest b/dev-lang/tcc/Manifest
index 3acae36ff34e..184000fedb41 100644
--- a/dev-lang/tcc/Manifest
+++ b/dev-lang/tcc/Manifest
@@ -1,4 +1,4 @@
DIST tcc-0.9.27.tar.bz2 634999 BLAKE2B 9a76dac9f54fa0b64a72e874cfec9a4bd9b938d244d064b2e76bd31acfb9e48fdbdb8895132634be1dee4302293405bf75606a6804c8178afa8fd30daa53b73a SHA512 835184292d97c07f0ff7b36ec550e855e649b04e23c7e2a1c706d223409eb60708dc1ae969f28eba45e56c8b96ae56936b93caf9d8a13ac5adf119014d5367a7
EBUILD tcc-0.9.27.ebuild 1507 BLAKE2B 463216d8345068c8852fc76571f7db26722813c05efbfaad2372b950d8344ece98c3452ff87899ff4e8616ed51c3df76a6fd6aa0ff53f40f2b363393eec50c67 SHA512 94bd0fe005b456f96e8c8da642d02a1cb6d2005aca0e1e1530e3167f85c50cb017c9849b391dfdc870da1e72da14206cecd6897833cd68cc111543014b06e8ce
-EBUILD tcc-9999.ebuild 1716 BLAKE2B 15babf54f338c50b0d15a46e97d603dfb6635f228d98be56d24e382d6ee95f7832dd63abb92f159cb57b328f93d40985c979212b7ea530f49eddcf5f250d880b SHA512 06ecbcf511e376cf6d243dcca0145b76c43f32a39760a241be1230969f3ddf4bfe95aa6d2b791804e6234b81435ddc9ef5af708243e3393846d3762f2897c090
+EBUILD tcc-9999.ebuild 1703 BLAKE2B 83df5f7a99ff0ee5cf4690eaf7b5f4939c3661a877fb188fb40e3d46331726a0453e1be1cd30a6d6cb894ab2be840269e79a7f809c483a6c13e564841c6e8571 SHA512 c791ba8a5f6e7300565cad06b7ef69fd37fbcdcd113209488b2ec4111a254dd6ac60667ccf492447df7215d7baaeace7560b7661d9ed5fb1b69384a4fcb4cdb0
MISC metadata.xml 240 BLAKE2B bd240e0175a0c9b3a954ded560844811f58403fcf0fd6474dde32d571e7c3f22424ae8de719a4adad492b6d5f4df7d3198f5a5f65f2c21ca8f05274a9f979f85 SHA512 923a0a24ce7efb7b5c6e6561521def809a20d77a8dca21ca55c1bd8e0e34139c0d5d6ec683180f0b97ddb809ea124765eba82f1135abe08c93f4dfb353d18da8
diff --git a/dev-lang/tcc/tcc-9999.ebuild b/dev-lang/tcc/tcc-9999.ebuild
index 4c61d36c9431..2858d4c7f2fb 100644
--- a/dev-lang/tcc/tcc-9999.ebuild
+++ b/dev-lang/tcc/tcc-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -8,7 +8,6 @@ HOMEPAGE="https://bellard.org/tcc/"
if [[ $PV == *9999* ]]; then
EGIT_REPO_URI="https://repo.or.cz/r/tinycc.git"
- KEYWORDS=""
SRC_URI=""
scm_eclass=git-r3
else