summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-12-30 16:37:10 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-12-30 16:37:10 +0000
commitdc30a7adcbfe4b78dc5c9ac8f6c26374b5ac7de0 (patch)
tree237d8d20ecd7467fc3dd475bc44123ba547ecdf2 /dev-python
parent6e8449999118ae3c7b361d210f1c479cfde978f8 (diff)
downloadbaldeagleos-repo-dc30a7adcbfe4b78dc5c9ac8f6c26374b5ac7de0.tar.gz
baldeagleos-repo-dc30a7adcbfe4b78dc5c9ac8f6c26374b5ac7de0.tar.xz
baldeagleos-repo-dc30a7adcbfe4b78dc5c9ac8f6c26374b5ac7de0.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/pypy-exe-bin/Manifest8
-rw-r--r--dev-python/pypy-exe-bin/pypy-exe-bin-7.3.11.ebuild79
-rw-r--r--dev-python/pypy-exe/Manifest2
-rw-r--r--dev-python/pypy-exe/pypy-exe-7.3.11.ebuild177
-rw-r--r--dev-python/pypy3-exe-bin/Manifest8
-rw-r--r--dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.11.ebuild80
-rw-r--r--dev-python/pypy3-exe/Manifest2
-rw-r--r--dev-python/pypy3-exe/pypy3-exe-7.3.11.ebuild126
8 files changed, 482 insertions, 0 deletions
diff --git a/dev-python/pypy-exe-bin/Manifest b/dev-python/pypy-exe-bin/Manifest
index ec994aac239c..2ec555294393 100644
--- a/dev-python/pypy-exe-bin/Manifest
+++ b/dev-python/pypy-exe-bin/Manifest
@@ -6,3 +6,11 @@ DIST pypy-exe-7.3.10-1.ppc64le-musl.gpkg.tar 6686720 BLAKE2B 8e740fc4a4244622c93
DIST pypy-exe-7.3.10-1.ppc64le.gpkg.tar 11089920 BLAKE2B 9d2f551a2d3f797ac9afef0b2f5eec626f64c50225d53b5e0abc740abe8fe8f70165fa3fdcad43d3bfd04a456459a9fcfcfe5d0e61969ebb64f20b44b0c2de06 SHA512 c592463cb8d50a15723e74151e1327abf2e1cfb68524f588cb4e841e88177837198695afb073835ef2411b8a1d4dc7b9bf515106de876a6a6607cc4a0fbea7d7
DIST pypy-exe-7.3.10-1.x86-musl.gpkg.tar 9707520 BLAKE2B 635e25ba163c1edd34eddaf5b2ddcac10b68385772b40e77fbbb2b901ab4301b0952d6da0743fd209e06f9d683d438e8849a0d26052c331edcb0f91aa90fe0b3 SHA512 0819fcdcfb88b4bfbac61932f887bdad6a456816d670b5844bca2164ecfff9a581a766e0e478b5799d7459b0a094515af3de444ca88318359fdda268f9bbdc9d
DIST pypy-exe-7.3.10-1.x86.gpkg.tar 9707520 BLAKE2B 53592d7991b5f5565f4aa1cb8de25658245c516c1ff042c0dce611abce35d9496bd048b2aeab748f16f11a89129894fc44b693c385bb8fea6ee1934e5970fd9e SHA512 458fabfcaabf6e225d5dbb45b11d301dd4655a85a3d00bf33c5a7c4c9ab1eeae25bfe059434f92303aaf0a0fa631494d51b37e17a7db9582de8eb1e19509d93b
+DIST pypy-exe-7.3.11-1.amd64-musl.gpkg.tar 13056000 BLAKE2B f08e3ad8060fa076922d2f89ba86cc6956dbd8cc91d66e764b4e32efbc55712325cb6a9eb3f1689a406572d271fda94ea312f1846d8a00723f97dadde538a10d SHA512 5bce851c3131bf848bcaf89938c7d59e103da2276381812d9d2359eea5063dc3e0547738976c23aed6b321735e32ffa248aabb5ed85eb57711e91a8bb593567d
+DIST pypy-exe-7.3.11-1.amd64.gpkg.tar 13076480 BLAKE2B 530f2257227ac30b906c6e987de6f7c31ed0328d6eef6bc3cf717a7fbff29dfe7c464948cb514bf69daa8524770c81eb14f738087ab8ce480efd2f01e12d3e64 SHA512 4bd3b9c85e71e39a17bdd0007790b4c75c2d459fccb631c8404b317ca70dbb6427d997af9cc65a98102b5363cf9b2d7b4a30b7e8159b794721ee16b4a74cd4bc
+DIST pypy-exe-7.3.11-1.arm64-musl.gpkg.tar 10926080 BLAKE2B 1ce6dd1c41e1b86dcd76090635a47c920b3655a53c130dc0b09e70ea343265d5fb5f455389c3a1dafe1f9a3f296be90a0b8bbd10f81183bd14d2621618eded42 SHA512 d6c1577449b1a30b721feaf32b62d3d9a33e6b614f84f6fac2d4203d479ea96b219526cfea236e50cc1fe2363b147088331ffc2cf7c3dbf9278f714ed81baa0e
+DIST pypy-exe-7.3.11-1.arm64.gpkg.tar 10946560 BLAKE2B 9f7c436278fc7f5dff47691a78e80df1f7b823a84365e6e23381f495f400fe2bc86ee2c933c0112a70d00f3048aa7ef14c629a2650147a3abff59239bbf74b5f SHA512 c74e62455bd34e5ac8578913391ceb54a5bba43936e443d31913c16f5bef74b5e98f75635c49ea79af0c8c81277576dc2d99e6a34ebd26a29087e1bd0dc077ca
+DIST pypy-exe-7.3.11-1.ppc64le-musl.gpkg.tar 6656000 BLAKE2B 6934c8cf6b0c6ae8f25b7dbe7bfa72221eca31b37ce304a2eabf8dce0b1e50ff0a41c2368be7e525f00aa38044798a32644355e607a4b33e2bd0f7249fcba7bf SHA512 0a08a1c33e19d576ec62d993bb520f1ed67f08dc8a0d2fab956a7bd4f6fc039f85848d2108c5cb4e16d79f2c7f90826d7c1f5027871c97ec66d4113b5292e96b
+DIST pypy-exe-7.3.11-1.ppc64le.gpkg.tar 11110400 BLAKE2B 5c37eec6ee5f38821c9f2a53df525387a1b29535b0063be40de18b4f14d755f4e0568a694a34b00835d905d7d724baf80d4b27a2fcbcb4b35f9366226a42d1e5 SHA512 4e04c388af7cf4c3a3893345a5c02fbe651004237d8dfac00ab61210f387956bd16aacadad2dd288d7d9111d5863f37349d284d405cdef20c11009037700750e
+DIST pypy-exe-7.3.11-1.x86-musl.gpkg.tar 9758720 BLAKE2B 19fa123ca6d25f90a8b330efe1bf8147a29f7a2038f4c23897442ef9f7fd6a5ea7a56c51e1539ec43e5726d333e7037e4f60999d15b87bd4de0fe336b48bcefa SHA512 e761b37c9fa8801b51015329707e1b92cadd3901937ecc5ccc5ce51a564933553e4b4058092f87930a6da080ab2a608bffb1e76376ef711091cce8d3f773cbdd
+DIST pypy-exe-7.3.11-1.x86.gpkg.tar 9748480 BLAKE2B 737b88b88c756b084183a30149709d10d868c9a8feb723c6d1ae10fb1cc4b9f5a363e3aba3d2dd2718b5df727e0a6cf4a55efc449b8d2a00ea12bc1a67b9762f SHA512 56518c8142909296e01d716062acc4187d204af958ff197fc3116bfaac47b94abc67f6ba1d8ac0ac74c9a287231af8d35c7511b0f65c9fdf1f93b75294094ccc
diff --git a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.11.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.11.ebuild
new file mode 100644
index 000000000000..26726bf419c3
--- /dev/null
+++ b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.11.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils unpacker
+
+MY_P=pypy-exe-${PV}-1
+DESCRIPTION="PyPy executable (pre-built version)"
+HOMEPAGE="https://www.pypy.org/"
+SRC_URI="
+ elibc_glibc? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86.gpkg.tar
+ )
+ )
+ elibc_musl? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64-musl.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64-musl.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le-musl.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86-musl.gpkg.tar
+ )
+ )
+"
+S="${WORKDIR}"
+
+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/pypy-exe:${SLOT}
+"
+
+QA_PREBUILT="
+ usr/lib/pypy2.7/pypy-c-${SLOT}
+"
+
+src_install() {
+ insinto /
+ doins -r */image/usr
+ fperms +x "/usr/lib/pypy2.7/pypy-c-${SLOT}"
+ pax-mark m "${ED}/usr/lib/pypy2.7/pypy-c-${SLOT}"
+}
diff --git a/dev-python/pypy-exe/Manifest b/dev-python/pypy-exe/Manifest
index 82c1162a336f..cc6b7d01daff 100644
--- a/dev-python/pypy-exe/Manifest
+++ b/dev-python/pypy-exe/Manifest
@@ -1,2 +1,4 @@
DIST pypy2.7-gentoo-patches-7.3.10.tar.xz 5312 BLAKE2B 3ca6d3a01914ae92d93fbd185705dae6bebfd4869a818f4a8058c9df3ea243fd9f1e5b962351f8d07a9679e8020499e81b7d1114d4f1b7493dc1d34c8c04409e SHA512 6758894f6d66dc99a13471cf373c5a2d2bbf37ac561e8d7c4f57ec2f1a9653cf9859547d9a7a80e7f0f7df16078030a4b1cee69536958176f0261da49493310e
+DIST pypy2.7-gentoo-patches-7.3.11.tar.xz 5312 BLAKE2B 3692453a184a88d61fe1dd7aa815aa02a4bdf4b29defd2e98a354261784643f78799b979bb356c19311b40932cc7f8b8e050e10553755a846938951a87021bc9 SHA512 24308317d92b278f9f7d74327303ebba34628a2d8dd5798ae3d472d14fd0519a470b6f9c420da88e07251215342a1e4f5cf8d4230f9663119274d3194d3811a5
DIST pypy2.7-v7.3.10-src.tar.bz2 19865458 BLAKE2B 0ba83b873daf99b20bd38ee63734c7ceb47b6a7e9cb4bdab1ebbd5672767411f0bf926a19a7074cbfc154a8d83e3679c98fe38c5b6e00c1a4a3fab5424b5ba5d SHA512 750427ce03fdc39f8b6df528f5a2b17f33429433f583a7c46a6b9564f7e398616ae61efb635a4bc0a1f8916ca1881bf1f6347a7ea1748c09ae02e4d88315986d
+DIST pypy2.7-v7.3.11-src.tar.bz2 19850421 BLAKE2B ed8bd61e3857c37689f24a23d38d5043bd190ee0e6de5d7906284ea2eab5e7aeff5c994c22f97195f5a1ded2867725f74dc562b375c0165b6231eae69213c06e SHA512 31fd93fe3e761fd096ff52c2a0afa40f78e4df700deb911e221d1682b35e8374c9deac7ba19b474f7ca7a366d3ae9b36ebaf78e81c4ec8306431fd0873daea55
diff --git a/dev-python/pypy-exe/pypy-exe-7.3.11.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.11.ebuild
new file mode 100644
index 000000000000..16adc0e787e0
--- /dev/null
+++ b/dev-python/pypy-exe/pypy-exe-7.3.11.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+MY_P=pypy2.7-v${PYPY_PV/_}
+PATCHSET="pypy2.7-gentoo-patches-${PV/_}"
+
+DESCRIPTION="PyPy 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="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
+
+DEPEND="
+ >=sys-libs/zlib-1.1.3:0=
+ dev-libs/libffi:0=
+ virtual/libintl:0=
+ dev-libs/expat:0=
+ bzip2? ( app-arch/bzip2:0= )
+ ncurses? ( sys-libs/ncurses:0= )
+"
+RDEPEND="
+ ${DEPEND}
+ !dev-python/pypy-exe-bin:${PYPY_PV}
+"
+# don't enforce the dep on dev-python/pypy with USE=low-memory
+# since it's going to cause circular dep with unhelpful error message
+BDEPEND="
+ !low-memory? (
+ || (
+ dev-python/pypy
+ dev-lang/python:2.7
+ )
+ )
+"
+
+check_env() {
+ if ! has_version -b dev-python/pypy; then
+ if use low-memory; then
+ eerror "USE=low-memory requires (a prior version of) dev-python/pypy"
+ eerror "installed."
+ else
+ ewarn "CPython 2.7 will be used to perform the translation. Upstream"
+ ewarn "recommends using (a prior version of) dev-python/pypy instead."
+ fi
+ elog "You can install a prebuilt version of PyPy first using e.g.:"
+ elog " $ emerge -1v dev-python/pypy dev-python/pypy-exe-bin"
+
+ if use low-memory; then
+ die "dev-python/pypy needs to be installed for USE=low-memory"
+ fi
+ fi
+
+ 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
+
+ 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
+ )
+
+ # Avoid linking against libraries disabled by use flags
+ local opts=(
+ bzip2:bz2
+ ncurses:_minimal_curses
+ )
+
+ local opt
+ for opt in "${opts[@]}"; do
+ local flag=${opt%:*}
+ local mod=${opt#*:}
+
+ args+=(
+ $(usex ${flag} --withmod --withoutmod)-${mod}
+ )
+ done
+
+ local interp
+ if use low-memory || has_version -b dev-python/pypy; then
+ einfo "Using already-installed PyPy to perform the translation."
+ interp=( pypy )
+ if use low-memory; then
+ local -x PYPY_GC_MAX_DELTA=200MB
+ interp+=( --jit loop_longevity=300 )
+ fi
+ else
+ einfo "Using CPython 2.7 to perform the translation."
+ interp=( python2.7 )
+
+ # reuse bundled pycparser to avoid external dep
+ mkdir -p "${T}"/pymod/cffi || die
+ : > "${T}"/pymod/cffi/__init__.py || die
+ cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die
+ local -x PYTHONPATH=${T}/pymod:${PYTHONPATH}
+ 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() {
+ local dest=/usr/lib/pypy2.7
+ exeinto "${dest}"
+ newexe "${T}"/usession*-0/testing_1/pypy-c pypy-c-${PYPY_PV}
+ insinto "${dest}"/include/${PYPY_PV}
+ doins include/pypy_*
+ pax-mark m "${ED}${dest}/pypy-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3-exe-bin/Manifest b/dev-python/pypy3-exe-bin/Manifest
index bf8f00449114..b8e362b81605 100644
--- a/dev-python/pypy3-exe-bin/Manifest
+++ b/dev-python/pypy3-exe-bin/Manifest
@@ -6,3 +6,11 @@ DIST pypy3-exe-7.3.10-1.ppc64le-musl.gpkg.tar 6451200 BLAKE2B e9d057934b329fa2bb
DIST pypy3-exe-7.3.10-1.ppc64le.gpkg.tar 10342400 BLAKE2B a915da1bc290b38f5a0be5c521c9df1fdf0c5290449e1cfc7ca77ba0f8050369b3e58b1828475109ecbc5729c143de9c7824edb7332169af76d57072786a875f SHA512 f9d0a55f30aea0f95c6749b5d20e6276868c53c070e74d38435d1d9112743a849885fdaf22391d94bff2b105440b7a2176b5d2d475a3e58b1c022468602188f3
DIST pypy3-exe-7.3.10-1.x86-musl.gpkg.tar 8796160 BLAKE2B 87507b496c2ddbddf330132571eb7c0506f95727f19a541176ce3456267e847d7cb52ff73f0a840a250ca196b494ef1e43d5b3b50c9957f1b0b2aa1b4a499b15 SHA512 7a99fbd2f7e68c0f57829a77d744e74538070adc6ff8f2cdc99e9894dcb9fd6a1f2301aa9dfffc56e6f323b1d550eed8b55f13b362fa186860c66a80fad4d30d
DIST pypy3-exe-7.3.10-1.x86.gpkg.tar 8755200 BLAKE2B 2d059a08895299dd3b8fe5d3923060c5cf531c0ae46f08bcb47f2f8aae7b6c8c1ab28e50c79d0fc17942b5e893c8d9f56a49b7569c94c942ce6e4d95a3926375 SHA512 e4d141d716ccc1eb7572d3c570d5583d72f5406d5560a2c9b1818046a1a29a677c862e6695a4880ae12b44d69f8c7ef910a4a1c329ca2c0af390944f60b7387c
+DIST pypy3-exe-7.3.11-1.amd64-musl.gpkg.tar 11888640 BLAKE2B e0e78de17b09eeb4928e5898c0ba4a3c3ab9dd7beac0b4541fbe196a1009ac8c1d89ae73c304eb465c392a766b2d9fb9f25d3c9c95e7f78e7d8c6558207a9623 SHA512 d6407f8a423b718e23582e12b7fbe48c9cec308cb5be033c7e30fe79978fce8fb31dcac2ce536eb495a2fe02c929a9a681c7ff583451293e007a2d432e814b92
+DIST pypy3-exe-7.3.11-1.amd64.gpkg.tar 11857920 BLAKE2B f5b49bf28ad74732947fb167addad871fc4e65f024aaaa01c3b4d7ff770dc71fb42d5a135501639d622a02c93f1dec6226daff801a38c23415bf4d6467bbdca7 SHA512 5a890ed0694575eb4e418e0e9bd26ecd3b9ae2252572cae11d1bf1fe82b6894c21d5dc372b347fb4238da4c8b7075448aa63057b22bd8212156cc5cba947e11b
+DIST pypy3-exe-7.3.11-1.arm64-musl.gpkg.tar 9902080 BLAKE2B 82f630477b284b5bc123b848a3babf513ee1269e7ab5ae50ba7f54c2c3f35d6ad029c1c0be8c1a4b52f1d69a66e44e6271df1858257decdb17816583e8b874cd SHA512 92f31e7a61e8210c9409dc1d0e2ca4c9e9f56c57331787f399870fac9bf7b2d4f63ba66cd16da00535a7723080c6243803be3cee0cd4c2f79fd9f8f8659529d2
+DIST pypy3-exe-7.3.11-1.arm64.gpkg.tar 9871360 BLAKE2B d58938a9b83d19f26a96c0690c6287164f7ab20b7b4eba85eed9b1889627ac6e6ec01896555227ca93cd66485a1e019b6cafabd26366dba564900bb7ef17741c SHA512 78bb821002511756bbe38931fe5ca1058bedb3c34889f07cb247765f8e72cdfcfe84f9aa121bb76f00706106f89e967bd2b805e108d35a82bb553e4a8e9a2869
+DIST pypy3-exe-7.3.11-1.ppc64le-musl.gpkg.tar 6492160 BLAKE2B a58cd99780af478369bba867d5cf8c34f68054b42de0d7a5d9e0f12ebed39a6fbf5b5b3d2634502b54c4fbdd81cfbce6e3200f3faf0111b788caf491de4982e0 SHA512 197e3e7d9518a9e8e2b4ebb428dbaef48a035d22fc6153a03a69e250e2fdeb7ced56ff6fa43fb002ea3d287829ca04dde071dab04a2458b76748c07da0117176
+DIST pypy3-exe-7.3.11-1.ppc64le.gpkg.tar 10127360 BLAKE2B 0ee59ebc8f66b5ba4628cfe7cd64bf3578d756b030bf6ff4681c177d45b23212605a7c605f470631708305d36c146b9c746f043fe169ad6fcce457e224d66d10 SHA512 8049a615299ca033834edcd996744cd125d2f258cac0352448796ea9e9dd51e395af15feb42d27432da04ae58fa6e76a8195a39f74316627b0b3e4e0bd1b43cc
+DIST pypy3-exe-7.3.11-1.x86-musl.gpkg.tar 8734720 BLAKE2B 563de983b21fa8eece55056af0596abc2fe9679bdc29042a3f9c97710c473e51415d0109a08c2c404ce8cb9296527350deb310c538b52216c8d68e708f8f8f0d SHA512 ddda659acefcd1125c620421b8570495fb26ae85a3a80a622f2e4cec9748a17ab522d37692629fd78fac3067f5db978c8b8cbf1617d1b1b25e267c26dbcc43fb
+DIST pypy3-exe-7.3.11-1.x86.gpkg.tar 8724480 BLAKE2B f1843bb2302918171a0b6fafa93f3528f85b5d887b8af2cc8c0ea6a03d2f264fde2129299c8301c0a48c6b4e7e75e38d68b9ff8eafa01e58bb79438238c181dc SHA512 2f3ae0dae6cf7353a2ddf2fac37c3f8d947eae62a36b7580722b63a1085174d7ccd16077ad6ca040cf906189c4ab0ac6cf86f573b93f733ee8bb61e203d5044a
diff --git a/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.11.ebuild b/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.11.ebuild
new file mode 100644
index 000000000000..e7bb602c5789
--- /dev/null
+++ b/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.11.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils unpacker
+
+MY_P=pypy3-exe-${PV}-1
+DESCRIPTION="PyPy3 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-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy3-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy3-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3-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-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64-musl.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy3-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64-musl.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy3-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le-musl.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy3-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86-musl.gpkg.tar
+ )
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="3.9-${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-exe:${SLOT}
+"
+
+PYPY_PV=${PV%_p*}
+QA_PREBUILT="
+ usr/bin/pypy3.9-c-${PYPY_PV}
+"
+
+src_install() {
+ insinto /
+ doins -r image/usr
+ fperms +x "/usr/bin/pypy3.9-c-${PYPY_PV}"
+ pax-mark m "${ED}/usr/bin/pypy3.9-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3-exe/Manifest b/dev-python/pypy3-exe/Manifest
index 4c1972bf2684..c04d96f5f6e5 100644
--- a/dev-python/pypy3-exe/Manifest
+++ b/dev-python/pypy3-exe/Manifest
@@ -1,2 +1,4 @@
DIST pypy3.9-gentoo-patches-7.3.10.tar.xz 10012 BLAKE2B 45186cf6e8608995af6c0d763a2d676d862ba886acb3a0e0f0056309123d0db75240a175ecf90e24889a139f228dffc788872a5ca84736f4ce0901eda0acb789 SHA512 e6c39666f34bb7e2db72f153fad2d89421b30c04de88812637027a7e8a73bccc7620a7296b2b205464ad7fd0c911bc7a7f0dc0fc504dc8d163f7087b8b0c61b3
+DIST pypy3.9-gentoo-patches-7.3.11.tar.xz 6444 BLAKE2B adcc1ae4c3ae2c5317a05d6de51785945625d8bcc7cb35bd6608fa80f09b37c483c95663eacb0353013a5abec308d25b12666699c65512f5f3a6d7345f2b5b18 SHA512 f2064ecffa09ba23f5f8c281ca4c8c0740cb6b57185d66c02eec2bcb77cfb566b1a2db4f52c472bcaf0d5fb759ee8003b27761af37785d12465c2010fd73c49d
DIST pypy3.9-v7.3.10-src.tar.bz2 23416039 BLAKE2B 1b13e8bbe6c38c4b9183a632063aeed593986bc7906cfe527fa7534d29f9b1ae0f1e6d3795ff73be19f5737c3fd9d1b3cc2777f30d9237d853e4266bea60a5bb SHA512 1ed3fc9cdda7f3144141fc6a37b124e7141cb3f294ce8b5ca3c3aa30a3c58715e168879decaa796c890a9a287c82c2dbabb81db5f6b8d17f4215d7d3261fe9a8
+DIST pypy3.9-v7.3.11-src.tar.bz2 23460769 BLAKE2B fa8a827c28813243926c8689addb008c0a43acdc3f81a18749a8f2c1926b6294f2c0c95a4c315e3b77ce84b4f337af7a0bce5daf8dcb60ead965532d4af183cb SHA512 33c978ffbeeb39453028d1d1646ccfdace062ce48a5d939245bea41643038dd3687e80e34f88fa0622bcb175d7dd78f75cbe36b24229c8052f09d2d17dcdfd8c
diff --git a/dev-python/pypy3-exe/pypy3-exe-7.3.11.ebuild b/dev-python/pypy3-exe/pypy3-exe-7.3.11.ebuild
new file mode 100644
index 000000000000..b6be3f4fae2a
--- /dev/null
+++ b/dev-python/pypy3-exe/pypy3-exe-7.3.11.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+MY_P=pypy3.9-v${PYPY_PV/_}
+PATCHSET="pypy3.9-gentoo-patches-${PV/_}"
+
+DESCRIPTION="PyPy3 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="3.9-${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
+"
+
+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
+
+ 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/pypy3.9-c pypy3.9-c-${PYPY_PV}
+ insinto /usr/include/pypy3.9/${PYPY_PV}
+ doins *.h
+ pax-mark m "${ED}/usr/bin/pypy3.9-c-${PYPY_PV}"
+}