summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Manifest.gzbin268912 -> 268930 bytes
-rw-r--r--dev-python/pipx/Manifest3
-rw-r--r--dev-python/pipx/pipx-1.4.1.ebuild45
-rw-r--r--dev-python/pypy3/Manifest1
-rw-r--r--dev-python/pypy3/pypy3-7.3.14_p1.ebuild26
-rw-r--r--dev-python/pypy3_10-exe-bin/Manifest9
-rw-r--r--dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.14_p1.ebuild82
-rw-r--r--dev-python/pypy3_10-exe/Manifest2
-rw-r--r--dev-python/pypy3_10-exe/pypy3_10-exe-7.3.14_p1.ebuild132
-rw-r--r--dev-python/pypy3_10/Manifest2
-rw-r--r--dev-python/pypy3_10/pypy3_10-7.3.14_p1.ebuild215
11 files changed, 513 insertions, 4 deletions
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index 5aa6c08826b9..d08d63109ddf 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/pipx/Manifest b/dev-python/pipx/Manifest
index 402e53e6a992..b72bbb4c1c7f 100644
--- a/dev-python/pipx/Manifest
+++ b/dev-python/pipx/Manifest
@@ -1,5 +1,6 @@
DIST pipx-1.4.0.gh.tar.gz 357942 BLAKE2B 34b0ede5a5160c8a5fcdff81c4902e0119041e7740b165c3a384234ba8362fa95db8002778a8987b4f93d9bd132152868171bb1627987c4cb7f4eb1cf2e4cc84 SHA512 5a0cd494ed6a4faa3f9f5cc5c56ee8ce9f27b3a456ad2eed2eaf5a9d175ea97209b2ec7b95e1500e1126ec066660f344f942692916cef552c39f49b2669160c9
+DIST pipx-1.4.1-test-shim.tar.xz 76316 BLAKE2B 25200c9519f8e916cba3933b4df3cc808d5575ac055c4465dbd4cf0ced92bc7f0bca5c448e324b9d61a0cf70710f584cfba6106859ffcccf42e0f59910b81cd0 SHA512 760ad73c67588747bed91b7172821a8e899e52fff8966836d7a2b3dc8cd3946006c76fdcae0320364fe0cb5afc8b51dd583c0a3720099812702fb585b98b9fef
DIST pipx-1.4.1.gh.tar.gz 357978 BLAKE2B 2ef4f303eafacd84d4b157043a03dc9365708882080bddb1cbcbf16910686ad65938314953a1d1b5be86243fb614f7b705dd91362cd3d7199434147004d529e7 SHA512 04fa29b02a25f21544ae2bbc86fa927fd3c03f98b3f1bd6beee318cbb34849edfbd553fb3b9f94015aab16039aa49f706092a75bd2f865f04dec56a34da43f1f
EBUILD pipx-1.4.0.ebuild 1015 BLAKE2B f485027bfea36ae7437318770b311a066fc733c02e1def5e131cfcc49d54663e7cb08acaef41c44b51d3c48e01595d257b991a1457fb001cd2465ec894557438 SHA512 0ba78cc0064af06a5eb9251307badd83191d0c34db2417ba0e32167ef64e2c564abf489b4e7f0b3de4bf6ac93343862e689092a8d491cefc969c96a018d94716
-EBUILD pipx-1.4.1.ebuild 1020 BLAKE2B 4fb48a4dfe04c9160322d98d47b656328189284cf8f300079f12c9eae5bab326c5b9496b4f03b7561f73614dc832eded03e51634f183e8d136109519a5b25c8b SHA512 5ffdfdaa4e1ba555bd1174ac1ef66c465e522e8c1aa143b4403691b3e03f489e603afcc5073d49df7f95407246d8cfc03c15c9db585857d0ca36be3c86176d46
+EBUILD pipx-1.4.1.ebuild 2180 BLAKE2B a1c18a90aff23900b093319b32fc6d7d732034d1182764f29631440be8c5d172aaf1dc174f16a8878f20385299aa4d321d431a8d67f474f42cedc99691266d2d SHA512 18bd71f146113b8a892962ab8531f3cb364c05eef4748a9110c4be8fb09b2893cd04330b68ae22f078c4e5328ff9eea0441ea9958e6cc4dbd2471b021c4b15b9
MISC metadata.xml 361 BLAKE2B 64a1d56c1c20595adff59c8df102b6301c8d8eb9ff7c4c2a9e326d0c144d1cbf10a1dd2c61b64eb3ffc757955e689cecbe5c69528d59e9b79007150a9327a74b SHA512 edb195766bc66572ead0b5913a26be82df533cfea7d22d4aadc90c2644c22e458e34f227092a556bc644de35f6e64184b3683ea9015ae6d9126dffe47340d8b0
diff --git a/dev-python/pipx/pipx-1.4.1.ebuild b/dev-python/pipx/pipx-1.4.1.ebuild
index 1b7ee2c493b3..388b94a953f1 100644
--- a/dev-python/pipx/pipx-1.4.1.ebuild
+++ b/dev-python/pipx/pipx-1.4.1.ebuild
@@ -8,6 +8,7 @@ PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
+TEST_SHIM=pipx-1.4.1-test-shim
DESCRIPTION="Install and Run Python Applications in Isolated Environments"
HOMEPAGE="
https://pipx.pypa.io/stable/
@@ -18,6 +19,9 @@ HOMEPAGE="
SRC_URI="
https://github.com/pypa/pipx/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
+ test? (
+ https://dev.gentoo.org/~mgorny/dist/${TEST_SHIM}.tar.xz
+ )
"
LICENSE="MIT"
@@ -35,14 +39,49 @@ RDEPEND="
"
BDEPEND="
dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+ dev-python/pypiserver[${PYTHON_USEDEP}]
+ )
"
-PROPERTIES="test_network"
-RESTRICT="test"
+EPYTEST_XDIST=1
distutils_enable_tests pytest
export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+src_prepare() {
+ if use test; then
+ cp -vs "${BROOT}"/usr/lib/python/ensurepip/{pip,setuptools,wheel}-*.whl \
+ "${WORKDIR}/${TEST_SHIM}/" || die
+ mkdir -p .pipx_tests/package_cache || die
+ local v
+ for v in 3.{10..12}; do
+ ln -s "${WORKDIR}/${TEST_SHIM}" \
+ ".pipx_tests/package_cache/${v}" || die
+ done
+
+ : > scripts/update_package_cache.py || die
+ # sigh
+ sed -e 's:server = str.*:server = "pypi-server":' \
+ -i tests/conftest.py || die
+ fi
+
+ distutils-r1_src_prepare
+}
+
python_test() {
- epytest --net-pypiserver
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_run.py::test_run_ensure_null_pythonpath
+ tests/test_run.py::test_run_script_from_internet
+ 'tests/test_install.py::test_install_package_specs[pycowsay-git+https://github.com/cs01/pycowsay.git@master]'
+ tests/test_install.py::test_force_install_changes
+ 'tests/test_install.py::test_install_package_specs[nox-https://github.com/wntrblm/nox/archive/2022.1.7.zip]'
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -x
}
diff --git a/dev-python/pypy3/Manifest b/dev-python/pypy3/Manifest
index 6706465d6624..93bb1b7d22a0 100644
--- a/dev-python/pypy3/Manifest
+++ b/dev-python/pypy3/Manifest
@@ -1,3 +1,4 @@
EBUILD pypy3-7.3.13.ebuild 583 BLAKE2B 9308115fd68cc96beed284dcd1eec6f3a404254b422cd7f88dbf6ffbc30e69050d3613bcc34151a4fd64375d1901b0899e32f42d843c68ab281c7ed10c5b9611 SHA512 df2c8d9903a9e772bce5c5d93203a31b68ee8e413ce5b721d6c59d9542f65ff13c9676ee22080cf1b361cb5762dfc22d1a5ee3a498c6aa2ba6d13731e9cd09de
EBUILD pypy3-7.3.14.ebuild 585 BLAKE2B 5c5704a58e65e6d2bc4272988aaf0ca2e4b2bb21aa316c629ebb8594500743add0a901704f0a2ded2aa803841d4ec16a754884f435ece9a8682da1a70a1a2bff SHA512 3513a60f7264acf12d10d9b1921e843460db4aadaca2b0137a624a870a2ee31a44c52ed065d0cab4a9c35c1c24fbaaffbfd1dab838d1e12117ee53e528e8e481
+EBUILD pypy3-7.3.14_p1.ebuild 585 BLAKE2B ee89e4b7c3d3abf4c149145605d6dddbbd27d68f5bacf36a5a5e07aa4b1c6e4cde77e5a9f6599777674d1e6a0c0738edd3c25c979765ab045c886110e04e3a65 SHA512 f4281ec2cfe94d7997d5f15dbc01e7b113073b9fbc589b42926eee397771eed9fd66198c463b14fce7e74d25650098b3fe4b85b62ea9ef3595f0152befb9ff23
MISC metadata.xml 317 BLAKE2B 9da451fe362dc5c1f6b3412b33065ab6e316e5ae49fd8e6a8e7485cd5cb7440c316c7c5c9b504a69c4f21a6370317edfe11f388238665133b8557a26acbfe1eb SHA512 96039ea2033b920e595e05c8749ee7e316e951bc6ff544a2f4d175d862cf7537401cbba1d4535f20245bbcac32d5ce1261d04aee412953401b513ecc5e7217bc
diff --git a/dev-python/pypy3/pypy3-7.3.14_p1.ebuild b/dev-python/pypy3/pypy3-7.3.14_p1.ebuild
new file mode 100644
index 000000000000..c8a1509c574f
--- /dev/null
+++ b/dev-python/pypy3/pypy3-7.3.14_p1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYVER=3.10
+DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://foss.heptapod.net/pypy/pypy/
+"
+S=${WORKDIR}
+
+LICENSE="MIT"
+SLOT="0/pypy310-pp73-384"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+gdbm ncurses sqlite tk"
+
+RDEPEND="
+ =dev-python/pypy3_10-${PV}*:${SLOT}[gdbm?,ncurses?,sqlite?,tk?]
+"
+
+src_install() {
+ dodir /usr/bin
+ dosym pypy${PYVER} /usr/bin/pypy3
+}
diff --git a/dev-python/pypy3_10-exe-bin/Manifest b/dev-python/pypy3_10-exe-bin/Manifest
index a49e922a9fce..cfa9c67f1fb7 100644
--- a/dev-python/pypy3_10-exe-bin/Manifest
+++ b/dev-python/pypy3_10-exe-bin/Manifest
@@ -14,6 +14,15 @@ DIST pypy3_10-exe-7.3.14-1.ppc64le-musl.gpkg.tar 6737920 BLAKE2B 3578757c8fc2da1
DIST pypy3_10-exe-7.3.14-1.ppc64le.gpkg.tar 10362880 BLAKE2B f9422fb581ea1196d97ad420ebf192a6de343cd9024a030e987267a0c51b1a7070783ddd123c862cca7338c99011368bc5a8b6e603b15ae8e70358dd13275e97 SHA512 e9b55117a13767a855b4f25e0c3550370d9d4e4110aa7e685b4131e07dfaef9a68a01e3e18620aee40d9152a37e01271ada0e112d71dc92cafcc1ba240bf03a5
DIST pypy3_10-exe-7.3.14-1.x86-musl.gpkg.tar 9031680 BLAKE2B ebd345010960b2c30e8ba68b79b5986c88c3657577c4cab36f8edd28e7df6f7e0f37a42a696cd6e6b17a2bc40896cab4280b1da9c0883925711d5eb46f827dda SHA512 ae2974c7c792900152d65114fd08c81ace540d13ab428de2fa8018bd8a1f279b13cac7c0b7b75b77335feb1463c537f2e7009d362ef42a1c54af7b5097d27d5b
DIST pypy3_10-exe-7.3.14-1.x86.gpkg.tar 9021440 BLAKE2B 48a724bcfc5751413abcdf7adfe906a221e3541bdb8c550ad3711be0a8420b60c7716372eac6cbbadcae496fa135864507293fb9d3c287fa82eb921bf9107726 SHA512 7499e54bf34d9786b414bde6cc6265fc9c7372136461577af9af3a74a1775144168ce8100a3c9dc090491b24a863442bec29db4117bb326dd1c878925794575f
+DIST pypy3_10-exe-7.3.14_p1-1.amd64-musl.gpkg.tar 12011520 BLAKE2B 9e66f952e4d36dd35d8f3499fb0177b53bceb7e17a23e3393a7ebd97d1e6c4def8aeec414b4cb52fc9ec8b212187d8ff9a8257bc7ee558451e38cde03d00d49a SHA512 c013b3f69cfbe43709c46387c7f4c2991700aa4b270977e3797e2153bdd15c99758bc1787d9150a4e8cd5ede7d877371e5f626843316013d09031c5e60fdc765
+DIST pypy3_10-exe-7.3.14_p1-1.amd64.gpkg.tar 12011520 BLAKE2B 349cc839f6af09b2b0cdc66c2ec72c9007df27fc7db405d246320537dc377068c3866624daf6599452a68049d79457e6fc6acd6ba8663f1eea3e44d7c5e193e2 SHA512 463e71e41e7c8951e595bea9e0a0f0fd08177b8c26f8a298684494cfac6c5c8f53b7b15dcc97bcbef1d12c6457f38d751f7aea19e8bd5970990dea2cd0a7e3b3
+DIST pypy3_10-exe-7.3.14_p1-1.arm64-musl.gpkg.tar 10158080 BLAKE2B e29d4a41b9c96d1164053c31eaafbf568f791382db8b5fa20daa84bd182f3a595471f2a821a71eff8f1aa3aeefcfcba027fba37ca4eec1eae14aa76331568096 SHA512 58da7cadc5e3a444a071a0786894d5c78b5d8f50a4814b91111d7b67057af5c0c8101c00ee6bb259246ed2b5c13935aa631328c17ff3a71580f547efdcf20caa
+DIST pypy3_10-exe-7.3.14_p1-1.arm64.gpkg.tar 10106880 BLAKE2B 4b119dad9d74c1908e94243f19f01c17095bc4057248fa306639048b9865a33b7c536ef246814d4430db0d48491cd75f728c6f11ec28195a038ba90c0ba1163f SHA512 10aa71b494dfb57ca4a6237897d2c76a2340afd3d9468d57e48d5fac69a6d19349b73c544ee89758793b684bfd9a5f19f56d66c582d7f5fc0866d42a2d58f144
+DIST pypy3_10-exe-7.3.14_p1-1.ppc64le-musl.gpkg.tar 6748160 BLAKE2B 560a219f05c89b8f980d95903b2c962aa1b010c6b841a8c727341a312a1913271628b4c326d25b4498487790144f10ed1fd200680db47b8848dce2254daa38a1 SHA512 4cad0797253995b3c68c2586e90734293ca3fbe8f84bf145e4aef00ac11236648ee08131e2d94066689178ae78295e303d138c10cebd25bc22ed3e0f3d1009da
+DIST pypy3_10-exe-7.3.14_p1-1.ppc64le.gpkg.tar 10352640 BLAKE2B 844039054d1932e530b997af73685457f5dbb37554e446c98819b88dd3b269f7b8d0c1efa16cd3300ad520945b24cc6cb51b2c21b2b01f35455d3fb1b3d6bf3c SHA512 635b6da329258df90a4df971648b044d4355f02befe91f204c5a3238722a16ff58f764f14bca4c8a50f4069907101e7f7281d663cf82e7e988f8d0270f522a02
+DIST pypy3_10-exe-7.3.14_p1-1.x86-musl.gpkg.tar 9000960 BLAKE2B 87d02a2d4372c7f05ee876b4f16fc6c9949b558faf6b589793b6af683982528b87b1eda8aa2339d1962833a05295ec40e6768fd7d4de555d8ad5dd672dba8c2d SHA512 dcd81b65c16682ca021f469baa74863efd6f357b8251db4968c7ed56c0aad2411ebe66cee81a96eafac0988d240dd90f9278c319765c96c9be4b225a42168362
+DIST pypy3_10-exe-7.3.14_p1-1.x86.gpkg.tar 9031680 BLAKE2B c5cccc0ebccb9f508c522dc5800a28116b4ca6617d030d047614ecdf8495390af9cec7dde17d1bdec0cea999eef0ba2b3ac7771e84f5cf6351b9f7f7902f9b4f SHA512 1ca328f387d2ea775701ede811dac1e19191521ca4259e42e9d39cc23bf9788430342f984dfe956b2fd3ab8e16c752ee68edc42f8a08cc5a44f123294038a8c0
EBUILD pypy3_10-exe-bin-7.3.13_p3.ebuild 2034 BLAKE2B 2929a8321810f24f9acdf39df73ac574f6f251f527aca9f88c9391672ea1f20f7b0a63ca9ec253b5eed2ced2157390b90f5ba085bf823dca0fb468909c279c48 SHA512 b08ceef463a43a3a3945129844f489763df275d84ac6d96a84f9817b3940ffb65a9956919e3d3e8d61e932585b395b55d6b5401ce307dc92761b710c10fe05b6
EBUILD pypy3_10-exe-bin-7.3.14.ebuild 2036 BLAKE2B de1e4d8df35611557315fa2a5502e9eb4bbf5c6870fab8cc9187839dfd2c80400f8c24cde3078b06a3080ba7d7508582b32479d7a1ef59e22066dbf04f522282 SHA512 3842581febdaa65140fda3fb96db5f127c63e0956aa089f5cc152f453baa5edf64f2248a09a7e69717be95bed6141e3cb8395e86fce9b465c7695678f2071a96
+EBUILD pypy3_10-exe-bin-7.3.14_p1.ebuild 2036 BLAKE2B 2f882e7f8fc759216be500424717cf0a0f330720d0850c27076b1576686b3449ce64df358e520c58eab35187f9a684f69c0f56c7e348342f74197193f4e86558 SHA512 4cde3d8f21851d6082649a6ce41c24c28cc6ceb428ed1c5b834fc7de873cb4627901ba23dd7dee7a0554ef4231da727943c3f02e5b3cea75707c1dcd14d08d92
MISC metadata.xml 241 BLAKE2B 4f18c355c71824c25df283b2d463a5abbf2295446e74b960e868dd78d4910ac066725450478087567a6e66b7a8948d99e053f13a7e58dbf2b89fdaf5c2f3436c SHA512 c46e70ffd66754ad84c64806f2bbff25ba9a688f035176a4565afc95351ce10fffba64bbde89965501460b05978c7e59b3d84db6a8cb6efff4055d4b7a5ab5d8
diff --git a/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.14_p1.ebuild b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.14_p1.ebuild
new file mode 100644
index 000000000000..39eaf7e98acb
--- /dev/null
+++ b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.14_p1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils unpacker
+
+PYVER=3.10
+MY_P=pypy3_10-exe-${PV}-1
+
+DESCRIPTION="PyPy3.10 executable (pre-built version)"
+HOMEPAGE="https://www.pypy.org/"
+SRC_URI="
+ elibc_glibc? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86.gpkg.tar
+ )
+ )
+ elibc_musl? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64-musl.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64-musl.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le-musl.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86-musl.gpkg.tar
+ )
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="${PV%_p*}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+# sys-devel/gcc for libgcc_s.so
+RDEPEND="
+ app-arch/bzip2:0/1
+ dev-libs/expat:0/0
+ dev-libs/libffi:0/8
+ sys-libs/ncurses:0/6
+ >=sys-libs/zlib-1.1.3:0/1
+ virtual/libintl:0/0
+ elibc_glibc? (
+ sys-devel/gcc
+ >=sys-libs/glibc-2.35
+ )
+ !dev-python/pypy3_10-exe:${SLOT}
+"
+
+PYPY_PV=${PV%_p*}
+QA_PREBUILT="
+ usr/bin/pypy${PYVER}-c-${PYPY_PV}
+"
+
+src_install() {
+ insinto /
+ doins -r image/usr
+ fperms +x "/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3_10-exe/Manifest b/dev-python/pypy3_10-exe/Manifest
index 5d7e6e429a15..d46632446b1a 100644
--- a/dev-python/pypy3_10-exe/Manifest
+++ b/dev-python/pypy3_10-exe/Manifest
@@ -1,7 +1,9 @@
DIST pypy3.10-gentoo-patches-7.3.13_p3.tar.xz 9780 BLAKE2B a72cfc6723ad914f012309eac7606a37f2e6dd2c5f83c049c0d68466dae45a366536f2065c1ccdc9516339cb8949b146e410ab04b1cbbff3b9d62620a039040d SHA512 c1beb5c661dd0c0d94bebb23b82972ac9442caf777c377923c31b3f82b007396d0c3ef9874fc01cf765986cc7c6a941628f7e377a732a0706e99e3acb6fc5db6
DIST pypy3.10-gentoo-patches-7.3.14.tar.xz 4772 BLAKE2B 3866dd6a86f88bf10d5a9a639defea0dbe3cb301ccb23d015b147a220f0e32041dc46497e43ad03c1c486291bb56752d77eaa2703e164e58f4f6af3e6b1e2433 SHA512 5da998beefaabe1307a16f1d9d4239453b9017aaabefbdb34d70ce339bfb9f8b7a258cdfcba74e0241bf140b3d2aae500710309d1dddb667154be7c482e88daa
+DIST pypy3.10-gentoo-patches-7.3.14_p1.tar.xz 5176 BLAKE2B 9cc684a9257a2855e44bed01d01020c0009dc966ff6fee7a789439e19814b1bfacc5fa0da166c8cb886f0dbadba365f6c6e2c520a4f5116e90ac637748e31e73 SHA512 11e468c2cab5e2234ffc68d98407bf7a676ea3b495a7e9ad7481f47fd39e2b1868b695da81b4edcee74cb8f01e997b72e994f18826331695427d80b2e43e926b
DIST pypy3.10-v7.3.13-src.tar.bz2 23067819 BLAKE2B 6e2bfd83bcf16feef006dad39ab6d8f452418ee6bc4043edaa590db702f39275e775004bdba762736a901da94cb5274cd34f2811461048d46ac0f4af04158702 SHA512 16fbc76558152b3eadca999d56197a6bf906cbb7bb75035ccd3501372af0f0c22533d22ba231a40b7c02afa11f0d692a6ae85ba6d5e1607b737b8c68209b7c43
DIST pypy3.10-v7.3.14-src.tar.bz2 23828709 BLAKE2B 15b3197953ff6271ddc9aad317f06094e1744111b7236447f029299dcc8a8ee089a8d91eec46d634489e0e89c94c0b18fda97dee51b3030ac62b0beeea7d6413 SHA512 4162d60d3869cfc87b1850266b9c7147413d3a7184a3c0c2edf1d1270ba3dff2db8047c7f2b5bbdd4c4d5136823adc078a5d45d575715984bab6633d1462f694
EBUILD pypy3_10-exe-7.3.13_p3.ebuild 2859 BLAKE2B d25fd1d2fe4db8b14b32822743d303e1fe164d4236af519bc231a0db118cd32f950582bcd2e1c6de0522c10ff8d26d383bd0c8c2bb4ab0c4376066354a9ef624 SHA512 8e89ddb61bb26cf58e290ad7488b9cddc9698a2aadeb88897a5b901997b93806bc54cd50ce66a109613d919d6c55b29548e23396442974f8924bef248c1e051d
EBUILD pypy3_10-exe-7.3.14.ebuild 2861 BLAKE2B aa9e25b2a21232e0c5ac08939cf4376911920c7c7dba220f810be9b3b1c544395315b5e9a066d3e2a4b797ac19aff419d696cac554322483a9c308a45d389a89 SHA512 482398a63227ae2eaac531825b4e3c4bab022c729b64cfb29747bbb80d2eff9d7b576a06ab04902868fc4d27e6716afd9dcfc3b7532ea9c74c8082de8aff0747
+EBUILD pypy3_10-exe-7.3.14_p1.ebuild 2861 BLAKE2B f98a1f1266c4e4689bb69ca67fa680b16948cb6fd75a113c18c0d3b4da612bc288e1aaef7db28f32967e5bd60c42ac666cdc572c0752aec4d97a93324ff1a1ec SHA512 2a136c3356bf33711cc940a3a9d60abda0d811c5160502a449ec20ca2903afb950d38e794b68a749e3fe0d184737327427afb0b4f916198470090cb79440eef0
MISC metadata.xml 498 BLAKE2B 8dbcdb7c3a4a2fa5d1a922fd5197fb5e3337adcaec1e7d382f25f8696c80726e5b79843477bf8e5ce131aecde6e2c4c283548c5b337e54cb58aaa066013c445a SHA512 8a9bb514bbf3bf328aa63734e1fdc106f6aaf5ccb88c29ad8a686ab2724f3d1f4727163500013dd16e7b34232b881cf47d2f174212b5428ee076af27cf43628d
diff --git a/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.14_p1.ebuild b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.14_p1.ebuild
new file mode 100644
index 000000000000..13aae0a0055f
--- /dev/null
+++ b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.14_p1.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs flag-o-matic pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+PYVER=3.10
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PV}"
+
+DESCRIPTION="PyPy3.10 executable (build from source)"
+HOMEPAGE="https://www.pypy.org/"
+SRC_URI="
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+SLOT="${PYPY_PV}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+jit low-memory ncurses cpu_flags_x86_sse2"
+
+RDEPEND="
+ app-arch/bzip2:0=
+ dev-libs/expat:0=
+ dev-libs/libffi:0=
+ >=sys-libs/zlib-1.1.3:0=
+ virtual/libintl:0=
+ ncurses? ( sys-libs/ncurses:0= )
+ !dev-python/pypy3-exe-bin:${SLOT}
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-python/pypy
+ virtual/pkgconfig
+"
+
+check_env() {
+ if use low-memory; then
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+}
+
+src_configure() {
+ tc-export CC
+
+ # Yes, yuck, but it's being worked on upstream (bug #918971).
+ # https://foss.heptapod.net/pypy/pypy/-/issues/4042
+ append-flags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --no-shared
+ $(usex jit -Ojit -O2)
+
+ ${jit_backend}
+
+ pypy/goal/targetpypystandalone
+ --withmod-bz2
+ $(usex ncurses --with{,out}mod-_minimal_curses)
+ )
+
+ local interp=( pypy )
+ if use low-memory; then
+ local -x PYPY_GC_MAX_DELTA=200MB
+ interp+=( --jit loop_longevity=300 )
+ fi
+
+ # translate into the C sources
+ # we're going to build them ourselves since otherwise pypy does not
+ # free up the unneeded memory before spawning the compiler
+ set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "translation failed"
+}
+
+src_compile() {
+ emake -C "${T}"/usession*-0/testing_1
+}
+
+src_install() {
+ cd "${T}"/usession*-0 || die
+ newbin "testing_1/pypy${PYVER}-c" "pypy${PYVER}-c-${PYPY_PV}"
+ insinto "/usr/include/pypy${PYVER}/${PYPY_PV}"
+ doins *.h
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3_10/Manifest b/dev-python/pypy3_10/Manifest
index 44a2d644a2b4..507c543ff80e 100644
--- a/dev-python/pypy3_10/Manifest
+++ b/dev-python/pypy3_10/Manifest
@@ -1,7 +1,9 @@
DIST pypy3.10-gentoo-patches-7.3.13_p3.tar.xz 9780 BLAKE2B a72cfc6723ad914f012309eac7606a37f2e6dd2c5f83c049c0d68466dae45a366536f2065c1ccdc9516339cb8949b146e410ab04b1cbbff3b9d62620a039040d SHA512 c1beb5c661dd0c0d94bebb23b82972ac9442caf777c377923c31b3f82b007396d0c3ef9874fc01cf765986cc7c6a941628f7e377a732a0706e99e3acb6fc5db6
DIST pypy3.10-gentoo-patches-7.3.14.tar.xz 4772 BLAKE2B 3866dd6a86f88bf10d5a9a639defea0dbe3cb301ccb23d015b147a220f0e32041dc46497e43ad03c1c486291bb56752d77eaa2703e164e58f4f6af3e6b1e2433 SHA512 5da998beefaabe1307a16f1d9d4239453b9017aaabefbdb34d70ce339bfb9f8b7a258cdfcba74e0241bf140b3d2aae500710309d1dddb667154be7c482e88daa
+DIST pypy3.10-gentoo-patches-7.3.14_p1.tar.xz 5176 BLAKE2B 9cc684a9257a2855e44bed01d01020c0009dc966ff6fee7a789439e19814b1bfacc5fa0da166c8cb886f0dbadba365f6c6e2c520a4f5116e90ac637748e31e73 SHA512 11e468c2cab5e2234ffc68d98407bf7a676ea3b495a7e9ad7481f47fd39e2b1868b695da81b4edcee74cb8f01e997b72e994f18826331695427d80b2e43e926b
DIST pypy3.10-v7.3.13-src.tar.bz2 23067819 BLAKE2B 6e2bfd83bcf16feef006dad39ab6d8f452418ee6bc4043edaa590db702f39275e775004bdba762736a901da94cb5274cd34f2811461048d46ac0f4af04158702 SHA512 16fbc76558152b3eadca999d56197a6bf906cbb7bb75035ccd3501372af0f0c22533d22ba231a40b7c02afa11f0d692a6ae85ba6d5e1607b737b8c68209b7c43
DIST pypy3.10-v7.3.14-src.tar.bz2 23828709 BLAKE2B 15b3197953ff6271ddc9aad317f06094e1744111b7236447f029299dcc8a8ee089a8d91eec46d634489e0e89c94c0b18fda97dee51b3030ac62b0beeea7d6413 SHA512 4162d60d3869cfc87b1850266b9c7147413d3a7184a3c0c2edf1d1270ba3dff2db8047c7f2b5bbdd4c4d5136823adc078a5d45d575715984bab6633d1462f694
EBUILD pypy3_10-7.3.13_p3.ebuild 6312 BLAKE2B eaf56803de815ba2b66ce1f41c545589e0db710337c3635c939dc606465c5754fffeb97069c08b8dd4522bc6431009bc17d527362e3a1de0c4aa69b198abddce SHA512 c92b97d4257cae186b013bdae4caa8ae7bf1045567ebfeb8432c39179693e6a3c2122ba9c8f98d173f3e9043d373e930ccc486190c5db4483071c5834d6ecdc1
EBUILD pypy3_10-7.3.14-r1.ebuild 6370 BLAKE2B a8c2b8b86fc0d4613fac21eb9356fb43fea4a52035443e6c669529588e56d4ca73772a133a850c3c746ea0d4935a9667d53574c08822ad4d73b112e86560d29d SHA512 69e9380deeaae1c1dddec1b92abd0e546be53763c33991b231cd48b955225162ad7451c1a83a426a89d971b16d8a7e1154e558a447c54b878ca3adbb7daae80f
+EBUILD pypy3_10-7.3.14_p1.ebuild 6370 BLAKE2B 5c6b341c6a9a02ad994b1cf83838a8b189ea401624eae24ad77ee32dbfb3955b52f264fd5bb963747a16eca89c9a30984da2b7d41ef4e6a67b717918cb834cde SHA512 8df647fbf918fa27f2ba2c0fe3b3ffd8ee2d259b9518025614be1bb4aed2e1b0bce63938ac86744180631a16f9ff509b89919457aba38790d75034cb365aceb6
MISC metadata.xml 531 BLAKE2B 0f727c7ced9fb24ba0dc0b41d51c177b3711de33b838bf46cfdde5d8b751de9694873c13fe8153747f2cb533c078c54f004ee84b1c3c57b6f8d62128ffb9dba2 SHA512 331b66647a58047ded4bcf1529e3ca16b21cbb37afa82d8be0a4b6ad605e17bf3f1478fad1ea3b9c970bdf5162cb41e6adcb029a261fcbf894e807998b9219f6
diff --git a/dev-python/pypy3_10/pypy3_10-7.3.14_p1.ebuild b/dev-python/pypy3_10/pypy3_10-7.3.14_p1.ebuild
new file mode 100644
index 000000000000..a52369d1f04c
--- /dev/null
+++ b/dev-python/pypy3_10/pypy3_10-7.3.14_p1.ebuild
@@ -0,0 +1,215 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multiprocessing pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+PYVER=3.10
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_rc/rc}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://foss.heptapod.net/pypy/pypy/
+"
+SRC_URI="
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
+# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
+SLOT="0/pypy310-pp73-384"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+ensurepip gdbm +jit ncurses sqlite tk"
+# many tests are failing upstream
+# see https://buildbot.pypy.org/summary?branch=py${PYVER}
+RESTRICT="test"
+
+RDEPEND="
+ || (
+ >=dev-python/${PN}-exe-${PYPY_PV}:${PYPY_PV}[bzip2(+),ncurses?]
+ >=dev-python/${PN}-exe-bin-${PYPY_PV}:${PYPY_PV}
+ )
+ dev-lang/python-exec[python_targets_pypy3(-)]
+ dev-libs/openssl:0=
+ dev-python/gentoo-common
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+ !~dev-python/pypy3-7.3.12_rc1
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ # typo
+ mv lib_pypy/cffi{.,-}1.16.0.dist-info || die
+
+ default
+}
+
+src_configure() {
+ tc-export CC
+}
+
+src_compile() {
+ mkdir bin || die
+ # switch to the layout expected for cffi module builds
+ mkdir include/pypy${PYVER} || die
+ # copy over to make sys.prefix happy
+ cp -p "${BROOT}"/usr/bin/pypy${PYVER}-c-${PYPY_PV} pypy${PYVER}-c || die
+ cp -p "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/* include/pypy${PYVER}/ || die
+ # (not installed by pypy-exe)
+ rm pypy/module/cpyext/include/_numpypy/numpy/README || die
+ mv pypy/module/cpyext/include/* include/pypy${PYVER}/ || die
+ mv pypy/module/cpyext/parse/*.h include/pypy${PYVER}/ || die
+ pax-mark m pypy${PYVER}-c
+
+ # verify the subslot
+ local soabi=$(
+ ./pypy${PYVER}-c - <<-EOF
+ import importlib.util
+ import sysconfig
+ soabi = sysconfig.get_config_var("SOABI")
+ magic = importlib.util._RAW_MAGIC_NUMBER & 0xffff
+ print(f"{soabi}-{magic}")
+ EOF
+ )
+ [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
+
+ # Add epython.py to the distribution
+ echo 'EPYTHON="pypy3"' > lib-python/3/epython.py || die
+
+ einfo "Generating caches and CFFI modules ..."
+
+ # Generate sysconfig data
+ local host_gnu_type=$(sh pypy/tool/release/config.guess)
+ local overrides=(
+ HOST_GNU_TYPE "${host_gnu_type:-unknown}"
+ INCLUDEPY "${EPREFIX}/usr/include/pypy${PYVER}"
+ LIBDIR "${EPREFIX}/usr/$(get_libdir)"
+ TZPATH "${EPREFIX}/usr/share/zoneinfo"
+ WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip"
+ )
+ ./pypy${PYVER}-c -m sysconfig --generate-posix-vars "${overrides[@]}" || die
+ local outdir
+ outdir=$(<pybuilddir.txt) || die
+ cp "${outdir}"/_sysconfigdata__*.py lib-python/3/ || die
+
+ # Generate Grammar and PatternGrammar pickles.
+ ./pypy${PYVER}-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed"
+ import lib2to3.pygram
+ import lib2to3.patcomp
+ lib2to3.patcomp.PatternCompiler()
+ EOF
+
+ # Generate cffi modules
+ # Please keep in sync with lib_pypy/pypy_tools/build_cffi_imports.py!
+ # (NB: we build CFFI modules first to avoid error log when importing
+ # build_cffi_imports).
+ cffi_targets=(
+ pypy_util blake2/_blake2 sha3/_sha3 ssl
+ audioop syslog pwdgrp resource lzma posixshmem
+ ctypes_test testmultiphase
+ )
+ use gdbm && cffi_targets+=( gdbm )
+ use ncurses && cffi_targets+=( curses )
+ use sqlite && cffi_targets+=( sqlite3 )
+ use tk && cffi_targets+=( tkinter/tklib )
+
+ local t
+ # all modules except tkinter output to .
+ # tkinter outputs to the correct dir ...
+ cd lib_pypy || die
+ for t in "${cffi_targets[@]}"; do
+ # tkinter doesn't work via -m
+ ../pypy${PYVER}-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
+ done
+ # testcapi does not have a "build" script
+ ../pypy${PYVER}-c -c "import _testcapi" || die
+
+ # Verify that CFFI module list is up-to-date
+ local expected_cksum=a4138e48
+ local local_cksum=$(
+ ../pypy${PYVER}-c - <<-EOF
+ import binascii
+ import json
+ from pypy_tools.build_cffi_imports import cffi_build_scripts as x
+ print("%08x" % (binascii.crc32(json.dumps(x).encode()),))
+ EOF
+ )
+ if [[ ${local_cksum} != ${expected_cksum} ]]; then
+ die "Please verify cffi_targets and update checksum to ${local_cksum}"
+ fi
+
+ # Cleanup temporary objects
+ find \( -name "*_cffi.c" -o -name '*.o' \) -delete || die
+ find -type d -empty -delete || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ dodir /usr/bin
+ dosym pypy${PYVER}-c-${PYPY_PV} /usr/bin/pypy${PYVER}
+ insinto /usr/lib/pypy${PYVER}
+ # preserve mtimes to avoid obsoleting caches
+ insopts -p
+ doins -r lib-python/3/. lib_pypy/.
+ insinto /usr/include
+ doins -r include/pypy${PYVER}
+
+ # replace copied headers with symlinks
+ for x in "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/*; do
+ dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy${PYVER}/${x##*/}"
+ done
+
+ dodoc README.rst
+
+ local dest=/usr/lib/pypy${PYVER}
+ rm -r "${ED}${dest}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${ED}${dest}"/ensurepip || die
+ fi
+ if ! use gdbm; then
+ rm -r "${ED}${dest}"/_gdbm* || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED}${dest}"/sqlite3 \
+ "${ED}${dest}"/_sqlite3* \
+ "${ED}${dest}"/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}${dest}"/{idlelib,tkinter} \
+ "${ED}${dest}"/_tkinter \
+ "${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die
+ fi
+ dosym ../python/EXTERNALLY-MANAGED "${dest}/EXTERNALLY-MANAGED"
+
+ local -x PYTHON=${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}
+ # temporarily copy to build tree to facilitate module builds
+ cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" "${PYTHON}" || die
+
+ einfo "Byte-compiling Python standard library..."
+ # exclude list from CPython Makefile.pre.in
+ "${PYTHON}" -m compileall -j "$(makeopts_jobs)" -o 0 -o 1 -o 2 \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ --hardlink-dupes -q -f -d "${dest}" "${ED}${dest}" || die
+
+ # remove to avoid collisions
+ rm "${PYTHON}" || die
+}