summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-03-03 19:30:11 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-03-03 19:30:11 +0000
commiteab7afdf0fe1454220af1a74c5556855a937a819 (patch)
treeb5424216c7274a6e3453a259bcc732618d9dc488 /dev-lang
parent1c70934cf5610c0fecd25c223ec275afa3d6ebd0 (diff)
gentoo auto-resync : 03:03:2025 - 19:30:11
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin22653 -> 22659 bytes
-rw-r--r--dev-lang/go/Manifest4
-rw-r--r--dev-lang/go/go-1.23.5-r1.ebuild162
-rw-r--r--dev-lang/go/go-1.23.6.ebuild2
-rw-r--r--dev-lang/jsonnet/Manifest2
-rw-r--r--dev-lang/jsonnet/jsonnet-0.20.0-r1.ebuild4
-rw-r--r--dev-lang/jwasm/Manifest10
-rw-r--r--dev-lang/jwasm/files/jwasm-2.11-types-test.patch58
-rw-r--r--dev-lang/jwasm/files/jwasm-2.18-missing-includes.patch56
-rw-r--r--dev-lang/jwasm/files/jwasm-2.19-respect-ldflags.patch29
-rw-r--r--dev-lang/jwasm/files/makefile-dep-fix.patch22
-rw-r--r--dev-lang/jwasm/jwasm-2.13.ebuild41
-rw-r--r--dev-lang/jwasm/jwasm-2.18-r1.ebuild (renamed from dev-lang/jwasm/jwasm-2.18.ebuild)9
-rw-r--r--dev-lang/jwasm/jwasm-2.19.ebuild33
-rw-r--r--dev-lang/pypy/Manifest4
-rw-r--r--dev-lang/pypy/pypy-3.10.7.3.19_p1.ebuild239
-rw-r--r--dev-lang/pypy/pypy-3.11.7.3.19_p2.ebuild239
17 files changed, 616 insertions, 298 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 9ad0d7fa562c..b56294a83a11 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
index a9abfb2dfeef..f4b099c923b9 100644
--- a/dev-lang/go/Manifest
+++ b/dev-lang/go/Manifest
@@ -1,10 +1,8 @@
AUX go-never-download-newer-toolchains.patch 368 BLAKE2B 0c90f46492af80622f430b2d506b143f3b553b5276085f78f41b93fee8219745179038302462603b5b1677554d92911eb4865084d0488aaa4c71ae1abc307f71 SHA512 b5acf97ccf96c6a353fcb7bd97113c38562defd82338828124fcc72c71334feda9c4e839d2aae5b66b809bc8a692eac96396c54a478e17a7ffd8d2c68fea95e6
AUX go-sets.conf 256 BLAKE2B 670afd72a2fa961e2b3882ac48d10e9d047af7a68f47bc8c8985b2de7a84022410fb1acfe2c710f8b3804ec3b043bf18c948478cf7d31c982cff47714b309cdf SHA512 028fba72c2d82ef893416970c27cb277be15f7c5c67773c0a62cd8ce2c192813ba851339596f10a6f5394c479e67b62dd4e4520379cc03f764ed4a4ab834fba6
-DIST go1.23.5.src.tar.gz 28179014 BLAKE2B 6fe6101054a0c10ce415aea65367a48ef8397c88d66bad01b7c72107a6c60daf0b9a47f7c1cd6c8da9855ab04309f25941cc867e6a9f90ac51d1ab0c54662313 SHA512 b04317afeab2d0ced7c36b8682dd32ac085d95d874cf3f614daa34859d7f7f2b75138132e7a64e237c6b4d711d5b03a4d20533f92a44840915630f4ea7cfafa2
DIST go1.23.6.src.tar.gz 28179132 BLAKE2B 25c988547604c35de65aedfdee5af9f35f7a1c43f634c0147373d9c86baf2bb10068463f70013ef60acd3088149eb16502958b1ca63d7cee310e32eaddf1578a SHA512 c504476d42cdbcd1b6afe53c0974e82c19eb0efac974bc06d41c1641440676891cfe6416455a0cfc81fe82902a9b82ea0a1d95089c676667d05487e45f5e04e3
DIST go1.24.0.src.tar.gz 30663922 BLAKE2B 1a74d268ad2bcfd4773eb9d24f0618491680a5347edba60606b3f50144e2d8879509b2640046e5fa535ff126958deb49c4224443210e3bd79523e65208b616e3 SHA512 36ba9a3a541208fd33aa49b969d892578e209570541d2b6ca6ff784250d8b6777597d347b823c6026acf0c2741b4abc9012693004e623a1434b06cfecdbebaa8
-EBUILD go-1.23.5-r1.ebuild 4175 BLAKE2B d1e34e725ea51929715268d3009f5035967231a4a35c59779c898d352d3d0d9a8a6b03fee8a847215ff2b057bdf980fb11b6b905b33ee3ccc8a215eb348d5317 SHA512 8d792f83f8abf11353fa5009fa29a946cc7e0c8a2f2df7cf90e5acae8aaa68c2cd239ef03c324a61316bb217ea14f0b6d7514101c5d158f3b3bc3beb74dade27
-EBUILD go-1.23.6.ebuild 4176 BLAKE2B 5f27dc1171e2c42e145494fa56e0aa272933607fe7aac571e9b60c82fb008145a8270e86e616a444a48d36ae14b607560f6a280d5459f6dcffe70b8e1992dec8 SHA512 a0e1c6a2f0b8ea33b93c76b1fbb2ae71770a5510d6996ec68c1dc3ff7a8e0f85d5b9954399ba00b68528f09e16de5e0901a596fad2d6d818f0ca77681adb0907
+EBUILD go-1.23.6.ebuild 4175 BLAKE2B d1e34e725ea51929715268d3009f5035967231a4a35c59779c898d352d3d0d9a8a6b03fee8a847215ff2b057bdf980fb11b6b905b33ee3ccc8a215eb348d5317 SHA512 8d792f83f8abf11353fa5009fa29a946cc7e0c8a2f2df7cf90e5acae8aaa68c2cd239ef03c324a61316bb217ea14f0b6d7514101c5d158f3b3bc3beb74dade27
EBUILD go-1.24.0.ebuild 3362 BLAKE2B 4d13c4a48301f709c139ce59240f7692fe2b81463a8366bb4675e9db4ab25fd0ca780a1a0ae87dcaa3d65254e39afb4c03f56c59446c6b515f503af8ef0e5451 SHA512 2e88b9ba06e1499f1d109aa3785aeb17d4660f7eb1726089062f992e0a9c3979ed18e930cab2732bfb159a3cf6780dd163579200c4e6966d6ca5798368d54456
EBUILD go-9999.ebuild 3363 BLAKE2B 49672850d9c2e09b4263d4fa7211608251a080be138abeef75fd4602db68e346f7591832e18ef3248a37519af5c9126f192c908549bbcb62d1e09a764aaacd7f SHA512 99ed1c3388e560e851213dc6239a2da268818fa6fc74f068e912af05f3794b49d1bc26de8d6047a961d7596dbe46a2aaacdf97a15e792dece609bbfa9403ff19
MISC metadata.xml 589 BLAKE2B 341e4c0e91d73ca668c1795035e1223eed60f85c724afd989ef1f8fb69649f7f6eaaf8a5228f6c8f587ffcc40a438c47d332fbe6866839f5a0829872a983f642 SHA512 fe58ddddfbd4d0d060516cb035592a80c0f48e125bb59c95d3c6fac0c182271e2a9ec9bd055b9cc8e6cb8c449e6c483bff4a23c362f532c24255febfdefc273a
diff --git a/dev-lang/go/go-1.23.5-r1.ebuild b/dev-lang/go/go-1.23.5-r1.ebuild
deleted file mode 100644
index 8e165768f1e3..000000000000
--- a/dev-lang/go/go-1.23.5-r1.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-export CBUILD=${CBUILD:-${CHOST}}
-export CTARGET=${CTARGET:-${CHOST}}
-
-# See "Bootstrap" in release notes
-GO_BOOTSTRAP_MIN=1.20.14
-MY_PV=${PV/_/}
-
-inherit go-env 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 ~loong ~mips ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
- ;;
- esac
-esac
-
-DESCRIPTION="A concurrent garbage collected and typesafe programming language"
-HOMEPAGE="https://go.dev"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-IUSE="cpu_flags_x86_sse2"
-
-RDEPEND="
-arm? ( sys-devel/binutils[gold(-)] )
-arm64? ( sys-devel/binutils[gold(-)] )"
-BDEPEND="|| (
- >=dev-lang/go-${GO_BOOTSTRAP_MIN}
- >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )"
-
-# the *.syso files have writable/executable stacks
-QA_EXECSTACK='*.syso'
-
-# 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/.*/.*"
-
-# This package triggers "unrecognized elf file(s)" notices on riscv.
-# https://bugs.gentoo.org/794046
-QA_PREBUILT='.*'
-
-# Do not strip this package. Stripping is unsupported upstream and may
-# fail.
-RESTRICT=" strip"
-
-DOCS=(
- CONTRIBUTING.md
- PATENTS
- README.md
- SECURITY.md
-)
-
-go_tuple() {
- echo "$(go-env_goos $@)_$(go-env_goarch $@)"
-}
-
-go_cross_compile() {
- [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
-}
-
-PATCHES=(
- "${FILESDIR}"/go-never-download-newer-toolchains.patch
-)
-
-src_compile() {
- if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then
- export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go"
- elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; 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
-
- # Go's build script does not use BUILD/HOST/TARGET consistently. :(
- export GOHOSTARCH=$(go-env_goarch ${CBUILD})
- export GOHOSTOS=$(go-env_goos ${CBUILD})
- export CC=$(tc-getBUILD_CC)
-
- export GOARCH=$(go-env_goarch)
- export GOOS=$(go-env_goos)
- export CC_FOR_TARGET=$(tc-getCC)
- export CXX_FOR_TARGET=$(tc-getCXX)
- use arm && export GOARM=$(go-env_goarm)
- use x86 && export GO386=$(go-env_go386)
-
- cd src
- bash -x ./make.bash || die "build failed"
-}
-
-src_test() {
- go_cross_compile && return 0
-
- cd src
-
- # https://github.com/golang/go/issues/42005
- rm cmd/link/internal/ld/fallocate_test.go || die
-
- PATH="${GOBIN}:${PATH}" \
- ./run.bash -no-rebuild -k || die "tests failed"
- cd ..
- rm -fr pkg/*_race || die
- rm -fr pkg/obj/go-build || die
-}
-
-src_install() {
- dodir /usr/lib/go
- # The use of cp is deliberate in order to retain permissions
- cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
- einstalldocs
-
- insinto /usr/lib/go
- doins go.env VERSION*
-
- # 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
- elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild"
- elog "all packages compiled with previous versions of ${CATEGORY}/${PN}"
- elog "due to the static linking nature of go."
- elog "If this is not done, the packages compiled with the older"
- elog "version of the compiler will not be updated until they are"
- elog "updated individually, which could mean they will have"
- elog "vulnerabilities."
- elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages"
- elog "See https://bugs.gentoo.org/752153 for more info"
-}
diff --git a/dev-lang/go/go-1.23.6.ebuild b/dev-lang/go/go-1.23.6.ebuild
index f0e04aca4ab2..8e165768f1e3 100644
--- a/dev-lang/go/go-1.23.6.ebuild
+++ b/dev-lang/go/go-1.23.6.ebuild
@@ -23,7 +23,7 @@ case ${PV} in
case ${PV} in
*_beta*|*_rc*) ;;
*)
- KEYWORDS="-* amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+ KEYWORDS="-* amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
;;
esac
esac
diff --git a/dev-lang/jsonnet/Manifest b/dev-lang/jsonnet/Manifest
index 18047d90eb5e..96786b91413c 100644
--- a/dev-lang/jsonnet/Manifest
+++ b/dev-lang/jsonnet/Manifest
@@ -7,5 +7,5 @@ DIST jsonnet-0.19.1.tar.gz 22480685 BLAKE2B 7d86bc963f5ced622e91adf015c250b8cae2
DIST jsonnet-0.20.0.tar.gz 22481277 BLAKE2B 65d6a45a903d6f494bbb79fb92c484b2a5167fc5fc379f4acb131778e1779aa580fd249baf3309fd00fa9b2a3b129360bf9d2cb0a3a738bd03c5fcec7dc6bd32 SHA512 d46d2521d4389d05f91a16ecd9f181be1853f674a9264e9fac23e413f1084dee947e80682af59603e15e443061a0beb50a30c14c858853e10ed1ae7187d09730
EBUILD jsonnet-0.19.0-r1.ebuild 2128 BLAKE2B df21dbc4afbca5992a0a8841c155aa63ddb83eeb716c7257c185097688fa87a8a2fb706299bcc19e0235acd650249034a7e2e39b1d8ebec7987d97dee10e4ebf SHA512 b9c20cd3cb195500537c9df8c47c59c1de77e2fcad365447297651de0c787085b5d2abb132aac2407ecf8f82b63e4a7e58f3de275aaf929ff5b9fecf4bf4f678
EBUILD jsonnet-0.19.1.ebuild 2139 BLAKE2B e7190af8fbe34753a46876881b1bac40d2f1b5f221cfd039abe3438b23cad4649b8ad91581f14626b36d7b108675654e6ecdf20cb327038bcd6d8da8fbee114d SHA512 d5da70267a27785c57b7be29ff92c87d7469029e7125d08ca9eb379a8891e3886b404789b1ddfe656a5753da620b1a0122041ab047bf90511364727cf8484ffa
-EBUILD jsonnet-0.20.0-r1.ebuild 2153 BLAKE2B 163c162e5d1079d3014e1066432f73f5cf9bb2dd5942581691dcf2f48ebc3fd6cc8eb6027a2ab01c1a070cf3252e127e1ae05357c0de946f4b04c4375ca9cf7c SHA512 e32c7e6f3db93bce239d4fa58e06f66b5281cee132f2d8b9a32ddc647cda77748ac90fdca64fe6d59c3998a3d7ed60ea089d89486be48302d0913dc16fbc924b
+EBUILD jsonnet-0.20.0-r1.ebuild 2162 BLAKE2B 212e1ec307f24854c37a24eee607a16f7a29b2caba0a02add17df25bf4d4ee708f37fdcddabf77f638739e57f872e356490767106385ad459e48c3921b61e07b SHA512 ffe0eb7168f3f9967bd803d606d5fb1dafb292e43819b48ef36dd04189940243e41bb44216e473dee601f98e6908a5b7e7a119208ce266c7eba0eac7bea3c67c
MISC metadata.xml 636 BLAKE2B b4f30bead9e90492366ba9d8fd393cfa6610efcb1dbe7cf11307445f2b7aa596585b576e550aa0df3bcfd14c7a8b068d09040ea94dc815db76d6d15e0f09fccb SHA512 a106617bce041fc24e1fab61d08add74f450742e7c1be14633cd49b5137c86cf52bd5baf9ea8f5f2f51a90619c7dfad7e6bf749894d8e4df8063857f29a0492a
diff --git a/dev-lang/jsonnet/jsonnet-0.20.0-r1.ebuild b/dev-lang/jsonnet/jsonnet-0.20.0-r1.ebuild
index d3e555a11be7..1e7f58c2550f 100644
--- a/dev-lang/jsonnet/jsonnet-0.20.0-r1.ebuild
+++ b/dev-lang/jsonnet/jsonnet-0.20.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_OPTIONAL=1
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_EXT=1
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..12} )
inherit cmake toolchain-funcs flag-o-matic distutils-r1
diff --git a/dev-lang/jwasm/Manifest b/dev-lang/jwasm/Manifest
index 26ee7297df5d..762e63847d44 100644
--- a/dev-lang/jwasm/Manifest
+++ b/dev-lang/jwasm/Manifest
@@ -1,9 +1,9 @@
-AUX jwasm-2.11-types-test.patch 1761 BLAKE2B b719bb79504e708925bfa407e72df7a37044b834bc3118fa9baf1a0cb478a0ab852872147148462188324954ef958af30cbcbca28fc992660276a15100ecb1b6 SHA512 0a4f3e613c8e724939ce9e23f8f4ce10ca89bf6c1579929719b3ccad62ac66cceecc3f8799c20c2875b7d4dcc7390bf0e4ca64aa08aab0b39bd7a4ab381b150b
AUX jwasm-2.18-makefile-dep-fix.patch 280 BLAKE2B fe4abbede4922a66adcde0296c5d2421cefc4d4c387f000b7fc0f675bc980c6f51a57aaad52b243adb88a64063c6e63e5da4b937bf7baa589b7ee98473520917 SHA512 95ac9ce92ff9ce10771f304a029073da8be48f81c5f81a269c1785a6a94e9228c9fb348750a624b969aeefe687d5ab1416967f470b762cc26719acbe2a9a8f3b
+AUX jwasm-2.18-missing-includes.patch 1483 BLAKE2B 748f1c4e7fc5600270f9cfbf2f9da25b5cae1d4f59b39f38989ae8cfa6d52d098310bce865e69748d9fbe7cdf2a50b343e9b36849719e7b411a7514af8ea09c4 SHA512 47431ca5a9dc1c50dc0f8b84160d80c1fff654350893870f1a308a8b2f2401e5dde7d97bc11f31e6aceb69b134d5345c678904ca720882c6b6907bf5286ea5ff
AUX jwasm-2.18-types-test.patch 1471 BLAKE2B 87c696bc22e8fb9584be5e6fde14dfaa9bf62e4e74ad2d4d542e07ac08be4591ecc920553d5b516d12518c7b35d626ef8121e0e8cd2c03e20a6ccb027e5f42b8 SHA512 ac7af52f85ebf430722d731518a6f8660369feff6d1318590c436b1080a0785b1a73e166235752e3b6631f86a9e19e8e7da76f628d2ba918bdae14db535df270
-AUX makefile-dep-fix.patch 497 BLAKE2B d0fc87c0aff19689efa2440c7d90d3f0d7c80310e40dad6f4dd938e139d5458b5e4ae72153cb38242ae683c887ce085494f358e3f67c2be028adeadf176403ac SHA512 29526a14d7a6bc775d6cd590b1c75a864eb04c365de736e93c810d715760ac4d76b6691f05f9077adec9c6938aefa8637d6efd9db67c81752e604308fffd64e6
-DIST jwasm-2.13.tar.gz 578365 BLAKE2B 8c6fbe3e6cb56c0fe8135c30c629534d2b6e2a2ed534249834e0e2674bf6635cb15ab94d4fa05c5378cb0db8569ddc3ba49d2d7c9615b7ddb769cba1a2d5b715 SHA512 03f80f4a74b39c6093f5cd5334364f7458836a52ad01279c95683e7053cb4211c40235e16f6f2ee40bc7316dcd8a4fbcb57bf3606d31249d96d01933a8aa0563
+AUX jwasm-2.19-respect-ldflags.patch 863 BLAKE2B 8a8dbd84a0d730d82d38921bbc7ff14919dbabeab90b9ec287425d235b8e243d9350f32666c32e7b6be2dc40180a76acaaf00e34ee2302a99518a4bc5f0fba18 SHA512 096db75a960767bfe9df068b90dc83c060997bbb31c7589abb0cfdf9425bf405d50b71141882c3c489f151c08e4a7a81ccd6501ed6467aeaf6d055892db68ff0
DIST jwasm-2.18.tar.gz 1169949 BLAKE2B 2a5d6c37f27dd5193390a5b5ab7d7ec260a800ead132dda4a49b16b5ae43b53ef397b663166767c8f4ce2de69dd9fa61e59e0537d837ba85da38cb17aa0da6e0 SHA512 f5ca9d2ec80b979e2acec7246861e13e11717917f59df126f28339e3c1ded3405c8a93daaef6ee817bc217d593151010bf18c85c9fc03600ff70cb18e793309c
-EBUILD jwasm-2.13.ebuild 770 BLAKE2B 33703e3a7a239568439286ca9f05dc33c679bd70f7255047295cd8e883a7207efa53c5ee484e74687469ca86e743453b679e5eb35a423b46666dfbd1b2f64d5d SHA512 238fceaf1b4f2f5d27345ee462a7e174a4a345d609173d6a6202c346544482277a1e579a133f4096af419ecb94108d7496ea5e261d3f13c13e8f1ca279598445
-EBUILD jwasm-2.18.ebuild 795 BLAKE2B 5e1808902a079f9f5c140e297adc6ef5c9d28140609cef5fdf26ff40ed0a7470589dabbaa4efcaa8891df07ad6fc6354658158bde4713f16bc58de210a5e175b SHA512 b60a20031d097c233e2e71c2d8886cffd3aabc6f16ff3ac79eb18c20b894305d9d181af8dba4528e5fc0170ba7057ab1f2fa44aa3d2c72f6aff140d9c61d39d9
+DIST jwasm-2.19.tar.gz 1187558 BLAKE2B ab932d61fddcb8b422ae8b4be43bc4d7b8a3b229b4f720768c69d41302b47d1fe1cf1d2761838f97ac4241a7e5cf2ca3f8f23cc4636365caca38e3c66a38924f SHA512 0b017f0f43d36a74faab2bc2da4023cc933f3b0c81eb65c59a98d0dedee20eaf6a5979943c387f39e34a188b5a7ec787e8effc61d1e70635b795e106e52399d0
+EBUILD jwasm-2.18-r1.ebuild 989 BLAKE2B 53ae6fb3b9bcf3b36902290c9cea281294155aa3f671dabb4c964cadde6b2df87f189d384f65a031219bdb232bc96abf797f1787b15eebec653a59eff9467074 SHA512 f3ce0795d889989be346d0a32326a62a5c858ff8e9bdc645accd5ca1efc0975cf1a70c52c94a1185beef997bde5675b115977119f8eddc382111d31767331b91
+EBUILD jwasm-2.19.ebuild 949 BLAKE2B 264ea3bdd328ab323f2d74e1f5b7f0ec6dbe5c0027a906ea973cc9e7ae25c02e2f5d9d4c6387108c1df4d1da70f1c9320c9abbf38eee14439e72c34ef2423f2c SHA512 c7e0487d8d17c53ee435d141448dc0566c8b0dca8b182cc4fb0f1d990a8c1c71be0691ba45625afe5bdc7bddc2be3d4c7a0fbbdfd408b6a5d0442c9e826064a2
MISC metadata.xml 307 BLAKE2B c7eb2546ed5af50a82d536311203f569ef0d7450c7b3a40cf342ede488b4b1cf5bff66a3b54e0eb9c201e3468f1f76756a88f989a60ed9d528f3d5124abd302e SHA512 6f5dfb2ca18c019747390572a642bc7172a98ef80b9a099bbe08b561713e81c025eb8b14c391465ea2678dc0e00fc7bcda4d367ae8d27cfb65f7893f129cc907
diff --git a/dev-lang/jwasm/files/jwasm-2.11-types-test.patch b/dev-lang/jwasm/files/jwasm-2.11-types-test.patch
deleted file mode 100644
index 047d1d005510..000000000000
--- a/dev-lang/jwasm/files/jwasm-2.11-types-test.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From b19339d4356efbd9b49f73e67ed7c09b9dad4b75 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Thu, 16 May 2013 12:24:17 +0300
-Subject: [PATCH 1/2] types: add sanity tests for used sizes
-
-Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
----
- GccUnix.mak | 2 +-
- checks.c | 26 ++++++++++++++++++++++++++
- 2 files changed, 27 insertions(+), 1 deletion(-)
- create mode 100644 checks.c
-
-diff --git a/gccmod.inc b/gccmod.inc
-index 70f388a..86cb2bf 100644
---- a/gccmod.inc
-+++ b/gccmod.inc
-@@ -6,6 +6,7 @@ $(OUTD)/atofloat.o \
- $(OUTD)/backptch.o \
- $(OUTD)/bin.o \
- $(OUTD)/branch.o \
-+$(OUTD)/checks.o \
- $(OUTD)/cmdline.o \
- $(OUTD)/codegen.o \
- $(OUTD)/coff.o \
-diff --git a/checks.c b/checks.c
-new file mode 100644
-index 0000000..af8630f
---- /dev/null
-+++ b/checks.c
-@@ -0,0 +1,26 @@
-+/****************************************************************************
-+*
-+* This code is Public Domain.
-+*
-+* ========================================================================
-+*
-+* Description: make sure "inttype.h" filelds are of the desired size.
-+*
-+****************************************************************************/
-+
-+#include "inttype.h"
-+
-+/* fails to compile if type sizes are of unexpected size */
-+static void validate_inttype_sizes()
-+{
-+/* try to create */
-+#define T_IS_SIZE(__type, __expected_size, __test_name) \
-+ char __test_name[2 * (sizeof (__type) == (__expected_size)) - 1];
-+
-+ T_IS_SIZE(uint_8, 1, size_of_uint_8_must_be_1_byte);
-+ T_IS_SIZE(uint_16, 2, size_of_uint_16_must_be_2_bytes);
-+ T_IS_SIZE(uint_32, 4, size_of_uint_32_must_be_4_bytes);
-+ T_IS_SIZE(uint_64, 8, size_of_uint_64_must_be_8_bytes);
-+
-+#undef T_IS_SIZE
-+}
---
-1.8.2.1
diff --git a/dev-lang/jwasm/files/jwasm-2.18-missing-includes.patch b/dev-lang/jwasm/files/jwasm-2.18-missing-includes.patch
new file mode 100644
index 000000000000..08a6aa40ebd2
--- /dev/null
+++ b/dev-lang/jwasm/files/jwasm-2.18-missing-includes.patch
@@ -0,0 +1,56 @@
+From fa8bf4476f74679c1a5e1a4ca55bf5327b4bd558 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@gentoo.org>
+Date: Mon, 3 Mar 2025 12:16:23 +0100
+Subject: [PATCH] add missing includes
+
+Several includes are missing based on linux man pages:
+
+- strings.h for strcasecmp
+- alloca.h for alloca
+- stdio.h for fileno
+
+The compilation with GCC 15 fails without those with implicit function
+declaration error.
+---
+
+Upstream-PR: https://github.com/Baron-von-Riedesel/JWasm/pull/34
+
+diff --git a/src/H/globals.h b/src/H/globals.h
+index 2992cc7..607e5f5 100644
+--- a/src/H/globals.h
++++ b/src/H/globals.h
+@@ -39,6 +39,7 @@
+
+ #if defined(__UNIX__) || defined(__CYGWIN__) || defined(__DJGPP__) /* avoid for MinGW! */
+
++#include <strings.h>
+ #define _stricmp strcasecmp
+ #ifndef __WATCOMC__
+ #define _memicmp strncasecmp
+diff --git a/src/H/memalloc.h b/src/H/memalloc.h
+index d2a8460..7a4e364 100644
+--- a/src/H/memalloc.h
++++ b/src/H/memalloc.h
+@@ -44,6 +44,7 @@ extern void MemFree( void *ptr );
+
+ #elif defined(__GNUC__) || defined(__TINYC__)
+
++#include <alloca.h>
+ #define myalloca alloca
+ #ifndef __FreeBSD__ /* added v2.08 */
+ #include <malloc.h> /* added v2.07 */
+diff --git a/src/omf.c b/src/omf.c
+index 8d98b1f..d90afae 100644
+--- a/src/omf.c
++++ b/src/omf.c
+@@ -62,6 +62,7 @@
+
+ #if TRUNCATE
+ #if defined(__UNIX__) || defined(__CYGWIN__) || defined(__DJGPP__)
++#include <stdio.h>
+ #include <unistd.h>
+ #else
+ #include <io.h>
+--
+2.45.3
+
diff --git a/dev-lang/jwasm/files/jwasm-2.19-respect-ldflags.patch b/dev-lang/jwasm/files/jwasm-2.19-respect-ldflags.patch
new file mode 100644
index 000000000000..5c4c2d0f7411
--- /dev/null
+++ b/dev-lang/jwasm/files/jwasm-2.19-respect-ldflags.patch
@@ -0,0 +1,29 @@
+From 5521f0dd6da40cc2a0325f0b2136fa066345328f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@gentoo.org>
+Date: Mon, 3 Mar 2025 12:53:38 +0100
+Subject: [PATCH] respect LDFLAGS
+
+---
+ GccUnix.mak | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/GccUnix.mak b/GccUnix.mak
+index 5afdce2..588b155 100644
+--- a/GccUnix.mak
++++ b/GccUnix.mak
+@@ -39,11 +39,7 @@ $(OUTD):
+ mkdir -p $(OUTD)
+
+ $(OUTD)/$(TARGET1) : $(OUTD)/main.o $(proj_obj)
+-ifeq ($(DEBUG),0)
+- $(CC) $(OUTD)/main.o $(proj_obj) -s -o $@ -Wl,-Map,$(OUTD)/$(TARGET1).map
+-else
+- $(CC) $(OUTD)/main.o $(proj_obj) -o $@ -Wl,-Map,$(OUTD)/$(TARGET1).map
+-endif
++ $(CC) $(LDFLAGS) $(OUTD)/main.o $(proj_obj) -o $@ -Wl,-Map,$(OUTD)/$(TARGET1).map
+
+ $(OUTD)/msgtext.o: src/msgtext.c src/H/msgdef.h
+ $(CC) -c $(inc_dirs) $(c_flags) -o $*.o src/msgtext.c
+--
+2.45.3
+
diff --git a/dev-lang/jwasm/files/makefile-dep-fix.patch b/dev-lang/jwasm/files/makefile-dep-fix.patch
deleted file mode 100644
index 1b97a7c5aca4..000000000000
--- a/dev-lang/jwasm/files/makefile-dep-fix.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Bug: https://bugs.gentoo.org/881519
-
-diff --git a/GccUnix.mak b/GccUnix.mak
-index 3f53d5b..8eb434e 100644
---- a/GccUnix.mak
-+++ b/GccUnix.mak
-@@ -31,13 +31,13 @@ include gccmod.inc
-
- #.c.o:
- # $(CC) -c $(inc_dirs) $(c_flags) -o $(OUTD)/$*.o $<
--$(OUTD)/%.o: %.c
-+$(OUTD)/%.o: %.c | $(OUTD)
- $(CC) -c $(inc_dirs) $(c_flags) -o $(OUTD)/$*.o $<
-
- all: $(OUTD) $(OUTD)/$(TARGET1)
-
- $(OUTD):
-- mkdir $(OUTD)
-+ mkdir -p $(OUTD)
-
- $(OUTD)/$(TARGET1) : $(OUTD)/main.o $(proj_obj)
- ifeq ($(DEBUG),0)
diff --git a/dev-lang/jwasm/jwasm-2.13.ebuild b/dev-lang/jwasm/jwasm-2.13.ebuild
deleted file mode 100644
index 2cac391deb8d..000000000000
--- a/dev-lang/jwasm/jwasm-2.13.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="MASM-compatible TASM-similar assembler (fork of Wasm)"
-HOMEPAGE="https://github.com/JWasm/JWasm"
-SRC_URI="https://github.com/JWasm/JWasm/archive/${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="Watcom-1.0"
-
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-RDEPEND=""
-DEPEND=""
-BDEPEND=""
-
-S="${WORKDIR}/JWasm-${PV}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.11-types-test.patch
- "${FILESDIR}/makefile-dep-fix.patch"
-)
-
-src_prepare() {
- default
-
- # don't strip binary
- sed -i GccUnix.mak -e 's/ -s / /g' || die
-}
-
-src_compile() {
- emake -f GccUnix.mak CC="$(tc-getCC) ${CFLAGS} ${LDFLAGS}"
-}
-
-src_install() {
- dobin GccUnixR/jwasm
- dodoc *.txt Doc/*.txt
-}
diff --git a/dev-lang/jwasm/jwasm-2.18.ebuild b/dev-lang/jwasm/jwasm-2.18-r1.ebuild
index 465a5756422b..513ad11b1401 100644
--- a/dev-lang/jwasm/jwasm-2.18.ebuild
+++ b/dev-lang/jwasm/jwasm-2.18-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit toolchain-funcs
+inherit flag-o-matic toolchain-funcs
DESCRIPTION="MASM-compatible TASM-similar assembler (fork of Wasm)"
HOMEPAGE="https://github.com/Baron-von-Riedesel/JWasm"
@@ -17,6 +17,7 @@ KEYWORDS="amd64 ~x86"
PATCHES=(
"${FILESDIR}"/${PN}-2.18-types-test.patch
"${FILESDIR}"/${PN}-2.18-makefile-dep-fix.patch
+ "${FILESDIR}"/${PN}-2.18-missing-includes.patch #944893
)
src_prepare() {
@@ -27,7 +28,9 @@ src_prepare() {
}
src_compile() {
- emake -f GccUnix.mak CC="$(tc-getCC) ${CFLAGS} ${LDFLAGS}"
+ # -std=c17 and -D_POSIX_C_SOURCE=200809L are both related to bug #944893
+ append-cflags -std=c17
+ emake -f GccUnix.mak CC="$(tc-getCC) ${CFLAGS} -D_POSIX_C_SOURCE=200809L ${LDFLAGS}"
}
src_install() {
diff --git a/dev-lang/jwasm/jwasm-2.19.ebuild b/dev-lang/jwasm/jwasm-2.19.ebuild
new file mode 100644
index 000000000000..817473af0ee0
--- /dev/null
+++ b/dev-lang/jwasm/jwasm-2.19.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="MASM-compatible TASM-similar assembler (fork of Wasm)"
+HOMEPAGE="https://github.com/Baron-von-Riedesel/JWasm"
+SRC_URI="https://github.com/Baron-von-Riedesel/JWasm/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/JWasm-${PV}"
+
+LICENSE="Watcom-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.18-types-test.patch
+ "${FILESDIR}"/${PN}-2.18-makefile-dep-fix.patch
+ "${FILESDIR}"/${PN}-2.18-missing-includes.patch #944893
+ "${FILESDIR}"/${PN}-2.19-respect-ldflags.patch
+)
+
+src_compile() {
+ # -std=c17 and -D_POSIX_C_SOURCE=200809L are both related to bug #944893
+ append-cflags -std=c17
+ emake -f GccUnix.mak CC="$(tc-getCC)" extra_c_flags="-D_POSIX_C_SOURCE=200809L ${CFLAGS}"
+}
+
+src_install() {
+ dobin build/GccUnixR/jwasm
+ dodoc -r README.md History.txt Html/
+}
diff --git a/dev-lang/pypy/Manifest b/dev-lang/pypy/Manifest
index c4292e6b7055..089845f8e9e8 100644
--- a/dev-lang/pypy/Manifest
+++ b/dev-lang/pypy/Manifest
@@ -4,13 +4,17 @@ DIST pypy2.7-v7.3.17-src.tar.bz2 19907140 BLAKE2B de62ebc4e8102867effdecddca64c1
DIST pypy2.7-v7.3.19-src.tar.bz2 21011665 BLAKE2B b8e205927c829753dd3e5aba0868923efff73f62e5338d6200aab2470857fff9cf38763ab8b63a74a39299d4956d4794eedf5d474d083875bbb9cee9ea757e64 SHA512 8ab8d9c0fa94ec96ebfae30b7f97eb8dff6ad4ee17fa688df123927c45f3ffea2c7f5dbb98bd2f8a49f7db6baf0ba3e98fd230df0bdc8602e407fb2bc33144e3
DIST pypy3.10-gentoo-patches-7.3.17_p4.tar.xz 30520 BLAKE2B b6ace80e0dc19a3fc24b1e5c97da1d67fc470c07032e86a875f0c994f6d2c64024a171d13b4e22f1531f15cb118a81993469a81dbc83eed03fce73a4b29f02d0 SHA512 586f8836ff3d122ad3fe3ec882057f37d2c509ea5cad98b674e917b1fd6022e0a27cc3639eaf9d3be43a91cb26fac73905067a2852bcda2f587e87e3e83b7be2
DIST pypy3.10-gentoo-patches-7.3.19.tar.xz 4764 BLAKE2B 3b82fd2d4c9c9e5f8058cd8c312bb370aba792731b39d62bcbc41fb8a2dc55b04f79580936270f1143dec7f7f28e56526cd4f43f6f489f9d2b9b05df538df1e9 SHA512 1dca980c404254ecf09bf3faf1ec36faacf5d095613748999f183dd53c2d9b1ca78297f7ddb1355e34b1cea13608af6419c9be500e722897a6c3c5bfc5a72290
+DIST pypy3.10-gentoo-patches-7.3.19_p1.tar.xz 6344 BLAKE2B 40ebbf87d0864e2a3957671680b7b9c0bea151fcdef808aef70711c24fdbd94846c15b010a3bd906915ab7a551d46f18264b2bda2c732d68b2594796d29226c8 SHA512 cd9d0ad4b48c21497f227f3b6540b01265df23de8cedaf212fe51dcae830a2812df6df169fdba3db36ccac29fb2d77aa2202f8e9b4bca543bd569db0d53c5736
DIST pypy3.10-v7.3.17-src.tar.bz2 23350562 BLAKE2B 0a7a091976b352de61057f238fa386f767dd4d2fbcdcc0b4376066c20c2ad35d3818fa6e9e163ab5fd341856802e8ad1e2891decf5948c13cdb26726cd42019e SHA512 46e30845bbc73cf56f5033a24d3583253ce198522f3a28ae4e789884063ba167d401fc08ae7fc8c7769feed9cd942a8ab38961c8b8794d7fae8f9955479faa96
DIST pypy3.10-v7.3.19-src.tar.bz2 24547353 BLAKE2B 975de34c7e01117c74e184693b6659ba0e3d8d488d724c03737dbd64533452c954e045e45058e1e77b9bee68e01060e74e30d7898d29f1adce417ce4b46579b8 SHA512 8fa24d3556bcf9cd0e2facd697827a5001fcfae9bf7874957843e4751b259f85a8b36166921282d71f39bb468d1706bb669373aebbc52486b683fcc824fb30ad
DIST pypy3.11-gentoo-patches-7.3.19_p1.tar.xz 3796 BLAKE2B 8e8cf41fb93b668f5f6884c37b66faddad305a22a1b0a34b4177ecb909517a3918e064d5d71d3199d2d22b5c4ee6ac0bc7f728c40a9463ead27c3d322a1faf2c SHA512 d947b9b77c3622fffde3709f81e5e8fe99ac28caa61febb35d819eedcd9ce5fb169dd3bd2225908b11ce788ddf199041589c39db1fb2f6d8001810d0c032caeb
+DIST pypy3.11-gentoo-patches-7.3.19_p2.tar.xz 6044 BLAKE2B 9a1447aaf3d0467303343e7b6d5b18b0dcb6e59a0611dc254341e3855ce25b01c8d9343d28f9d7643f00350965a3eea347f7c406226514f90593e3b6a47d8aff SHA512 c8f4b56e4b6a13dfd2f42dd09867bfebe791bfcada9d27be25990674d4aba869dc7a339accb55eebf097c0a69f9154f74240c95daff200c8a30b236321052494
DIST pypy3.11-v7.3.19-src.tar.bz2 24916380 BLAKE2B febc61b3a1c5055b5ab92e7f3af2c307605c8510131437b12df27b58a13b29f6fd0a4bf82d101f7f8f441ca93b20cf70dbd540af11578be297ea871d59304ea3 SHA512 ab078e81e5eefe16823350bdc9adcc444e0ef6835ff2234197f9e5cb0903c5208deb6df60722e99aa529ffff703c5dcbc08eaa7f753c2e5c1185afea6358395a
EBUILD pypy-2.7.7.3.17.ebuild 7390 BLAKE2B b840b2c94b60e9d39aae7d5062c56f398428e4d31f1613cda39e34a6de1c279d06eace53774e08c7f5d2ab01f85d9bb30184de5fdbf9374ad276b97f58ac4e5a SHA512 8ffceda18cdc35e932d65ccb2c1962ce13c1fb46585afa9c909b9882e251ee8503822d1d0aac4f1ea669f566e0ae87a527fa467a2fc8578d899e67d58cca07bc
EBUILD pypy-2.7.7.3.19.ebuild 7392 BLAKE2B 4b35786d65011016b75f0e173c047582b025d4f7f89f9f86e2c7fd7dcfb388b77a31f6f515393a47101756999ee495b7620de43c4275732d221ba964b066c412 SHA512 45baadb55e445268f792ff4bf75d40e611482e5c68635e411266d10c899de08d784e4ec6137a951b7e43ad9e2c2aae2f5c1818d686cfeba684bf07acbfba8c34
EBUILD pypy-3.10.7.3.17_p4.ebuild 7140 BLAKE2B db6bfe1c3d44cdf9f4a1639c6bf8e35253c0ac3687f3a1315bfd52ca82c4a6fa0c3626c2aad938f8bcf2b2b6851db6fa1ed5f1847a891a08800040e0e4c27ea4 SHA512 efe64c07cfbdcb2fafbbbb93adeda1fd3ba22164130cb908d8bf26d0d82713fca179463f44673fb262573dca96a468573b53e67ab97d3f51563e23888afadfff
EBUILD pypy-3.10.7.3.19.ebuild 7156 BLAKE2B a7fe73c92496bda2a55a45cea4cb8a22df0d736571c9e616d4852d06128259326b66961169f7241a40aad26df17e336234947f0cd50dc81061e0936f5def653a SHA512 c3faeb02451b5cf360df330446468da253201fe5e234f055bf627dbcd72aae47d59049dd38cfafc0fcbe8ddc3df7147625bbfef5a3061e8d5a54bea861d0334f
+EBUILD pypy-3.10.7.3.19_p1.ebuild 7156 BLAKE2B a7fe73c92496bda2a55a45cea4cb8a22df0d736571c9e616d4852d06128259326b66961169f7241a40aad26df17e336234947f0cd50dc81061e0936f5def653a SHA512 c3faeb02451b5cf360df330446468da253201fe5e234f055bf627dbcd72aae47d59049dd38cfafc0fcbe8ddc3df7147625bbfef5a3061e8d5a54bea861d0334f
EBUILD pypy-3.11.7.3.19_p1.ebuild 7092 BLAKE2B 8d4ae9c0cc4a63598eecf8b7235bb9b98564ba658046abeae26b63109a86d921e4e867eb373c592aa65ded09c725c341be4ca6f467794d7de2b1f8d9d7118cc5 SHA512 4a533c9c434bebd91c69d8389f9231c8760a9a57a25827720924459ee14737d5a29a481c9071c71b67c3c799180048e4ded046fcd8db39cec20ebff73fa7dc31
+EBUILD pypy-3.11.7.3.19_p2.ebuild 7092 BLAKE2B 8d4ae9c0cc4a63598eecf8b7235bb9b98564ba658046abeae26b63109a86d921e4e867eb373c592aa65ded09c725c341be4ca6f467794d7de2b1f8d9d7118cc5 SHA512 4a533c9c434bebd91c69d8389f9231c8760a9a57a25827720924459ee14737d5a29a481c9071c71b67c3c799180048e4ded046fcd8db39cec20ebff73fa7dc31
MISC metadata.xml 1124 BLAKE2B f1d09d26175cf20d1440a9a83352cf6f2f2e514d35d95116caf4a5ee86547f0165a6369e7a6b129ded75d28ba5a0c1c8f4da7d664d7c1e3c1e95153593057b3c SHA512 ae95400c9a1efc75372201c2353b128302355d1d087094953d73c325fa72bc24662d31c7287ae6a2583448ac345bb60744ac19391e07f8da8ef0327627e0e462
diff --git a/dev-lang/pypy/pypy-3.10.7.3.19_p1.ebuild b/dev-lang/pypy/pypy-3.10.7.3.19_p1.ebuild
new file mode 100644
index 000000000000..35830df8d6c3
--- /dev/null
+++ b/dev-lang/pypy/pypy-3.10.7.3.19_p1.ebuild
@@ -0,0 +1,239 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs
+
+PYVER=$(ver_cut 1-2)
+PATCHSET_PV=$(ver_cut 3-)
+PYPY_PV=${PATCHSET_PV%_p*}
+
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PATCHSET_PV/_rc/rc}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
+HOMEPAGE="
+ https://pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ 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="${PYVER}/pypy310-pp73-384"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+ensurepip gdbm +jit ncurses sqlite +symlink +test-install tk"
+# many tests are failing upstream
+# see https://buildbot.pypy.org/summary?branch=py${PYVER}
+RESTRICT="test"
+
+RDEPEND="
+ || (
+ >=dev-python/pypy3_10-exe-${PYPY_PV}:${PYPY_PV}[bzip2(+),ncurses?]
+ >=dev-python/pypy3_10-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_10
+ symlink? (
+ !<dev-python/pypy3-7.3.17-r100
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ 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 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
+ cd .. || die
+
+ # 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
+}
+
+src_install() {
+ local dest="/usr/lib/pypy${PYVER}"
+ einfo "Installing PyPy ..."
+ dodir /usr/bin
+ dosym "pypy${PYVER}-c-${PYPY_PV}" "/usr/bin/pypy${PYVER}"
+ insinto "${dest}"
+ # 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
+
+ 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 test-install; then
+ rm -r "${ED}${dest}"/{ctypes,sqlite3,tkinter,unittest}/test \
+ "${ED}${dest}"/{distutils,lib2to3}/tests \
+ "${ED}${dest}"/idlelib/idle_test || 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
+ # remove test last since we have some file removals above
+ if ! use test-install; then
+ rm -r "${ED}${dest}"/test || 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
+
+ if use symlink; then
+ dosym pypy${PYVER} /usr/bin/pypy3
+
+ # install symlinks for python-exec
+ local EPYTHON=pypy3
+ local scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ ln -s "../../../bin/pypy3" "${scriptdir}/python3" || die
+ ln -s python3 "${scriptdir}/python" || die
+ fi
+}
diff --git a/dev-lang/pypy/pypy-3.11.7.3.19_p2.ebuild b/dev-lang/pypy/pypy-3.11.7.3.19_p2.ebuild
new file mode 100644
index 000000000000..ac3e0a019236
--- /dev/null
+++ b/dev-lang/pypy/pypy-3.11.7.3.19_p2.ebuild
@@ -0,0 +1,239 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs
+
+PYVER=$(ver_cut 1-2)
+PATCHSET_PV=$(ver_cut 3-)
+PYPY_PV=${PATCHSET_PV%_p*}
+
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PATCHSET_PV/_rc/rc}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
+HOMEPAGE="
+ https://pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ 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="${PYVER}/pypy311-pp73-416"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="+ensurepip gdbm +jit ncurses sqlite symlink +test-install tk"
+# many tests are failing upstream
+# see https://buildbot.pypy.org/summary?branch=py${PYVER}
+RESTRICT="test"
+
+RDEPEND="
+ || (
+ dev-lang/pypy3-exe:${PV%_p*}[bzip2(+),ncurses?]
+ dev-lang/pypy3-exe-bin:${PV%_p*}
+ )
+ 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=
+ )
+ symlink? (
+ !dev-lang/pypy:3.10[symlink]
+ !<dev-python/pypy3-7.3.17-r100
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ 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 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
+ cd .. || die
+
+ # 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
+}
+
+src_install() {
+ local dest="/usr/lib/pypy${PYVER}"
+ einfo "Installing PyPy ..."
+ dodir /usr/bin
+ dosym "pypy${PYVER}-c-${PYPY_PV}" "/usr/bin/pypy${PYVER}"
+ insinto "${dest}"
+ # 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
+
+ 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 test-install; then
+ rm -r "${ED}${dest}"/{ctypes,tkinter,unittest}/test \
+ "${ED}${dest}"/{distutils,lib2to3}/tests \
+ "${ED}${dest}"/idlelib/idle_test || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED}${dest}"/sqlite3 \
+ "${ED}${dest}"/_sqlite3* \
+ "${ED}${dest}"/test/test_sqlite3 || 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
+ # remove test last since we have some file removals above
+ if ! use test-install; then
+ rm -r "${ED}${dest}"/test || 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
+
+ if use symlink; then
+ dosym pypy${PYVER} /usr/bin/pypy3
+
+ # install symlinks for python-exec
+ local EPYTHON=pypy3
+ local scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ ln -s "../../../bin/pypy3" "${scriptdir}/python3" || die
+ ln -s python3 "${scriptdir}/python" || die
+ fi
+}