diff options
Diffstat (limited to 'dev-lang')
| -rw-r--r-- | dev-lang/erlang/erlang-29.0.ebuild | 2 | ||||
| -rw-r--r-- | dev-lang/execline/execline-2.9.9.1.ebuild | 2 | ||||
| -rw-r--r-- | dev-lang/go/go-1.26.7.ebuild | 2 | ||||
| -rw-r--r-- | dev-lang/pypy/Manifest | 4 | ||||
| -rw-r--r-- | dev-lang/pypy/pypy-2.7.8.0.0.ebuild | 315 | ||||
| -rw-r--r-- | dev-lang/pypy/pypy-3.11.8.0.0.ebuild | 236 | ||||
| -rw-r--r-- | dev-lang/pypy3-exe-bin/Manifest | 8 | ||||
| -rw-r--r-- | dev-lang/pypy3-exe-bin/pypy3-exe-bin-3.11.8.0.0.ebuild | 78 | ||||
| -rw-r--r-- | dev-lang/pypy3-exe/Manifest | 2 | ||||
| -rw-r--r-- | dev-lang/pypy3-exe/pypy3-exe-3.11.8.0.0.ebuild | 136 | ||||
| -rw-r--r-- | dev-lang/spidermonkey/spidermonkey-140.16.0.ebuild | 2 | ||||
| -rw-r--r-- | dev-lang/swig/swig-4.3.1.ebuild | 2 |
12 files changed, 784 insertions, 5 deletions
diff --git a/dev-lang/erlang/erlang-29.0.ebuild b/dev-lang/erlang/erlang-29.0.ebuild index d99c9b2fa61e..6b2468c169af 100644 --- a/dev-lang/erlang/erlang-29.0.ebuild +++ b/dev-lang/erlang/erlang-29.0.ebuild @@ -22,7 +22,7 @@ LICENSE="Apache-2.0" # same build of ERTS that was used when compiling the code. See # http://erlang.org/doc/system_principles/misc.html for more information. SLOT="0/${PV}" -KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos ~x64-solaris" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 ~riscv ~sparc x86 ~x64-macos ~x64-solaris" IUSE="doc java +kpoll odbc sctp ssl systemd tk wxwidgets" RDEPEND=" diff --git a/dev-lang/execline/execline-2.9.9.1.ebuild b/dev-lang/execline/execline-2.9.9.1.ebuild index dbec89f4acb5..37c9ff28e85a 100644 --- a/dev-lang/execline/execline-2.9.9.1.ebuild +++ b/dev-lang/execline/execline-2.9.9.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz" LICENSE="ISC" SLOT="0/$(ver_cut 1-2).0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="~alpha amd64 arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86" RDEPEND=">=dev-libs/skalibs-2.15.0.0:=" DEPEND="${RDEPEND}" diff --git a/dev-lang/go/go-1.26.7.ebuild b/dev-lang/go/go-1.26.7.ebuild index 7f3008914e96..c94eb4ca111b 100644 --- a/dev-lang/go/go-1.26.7.ebuild +++ b/dev-lang/go/go-1.26.7.ebuild @@ -20,7 +20,7 @@ case ${PV} in *) SRC_URI="https://go.dev/dl/go${MY_PV}.src.tar.gz " S="${WORKDIR}"/go - KEYWORDS="-* amd64 ~arm ~arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~x64-macos ~x64-solaris" + KEYWORDS="-* amd64 ~arm arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~x64-macos ~x64-solaris" ;; esac diff --git a/dev-lang/pypy/Manifest b/dev-lang/pypy/Manifest index 85c9725f4467..d5caf4281daa 100644 --- a/dev-lang/pypy/Manifest +++ b/dev-lang/pypy/Manifest @@ -1,4 +1,8 @@ DIST pypy2.7-gentoo-patches-7.3.23.tar.xz 5316 BLAKE2B 923494c49ef09b1929ba1986891a08f23e4343c44eac792a688ac88b48d21770101ca50fcdf3986c686adefb24fbf58aef674ec608feea775984ab8a16385cb6 SHA512 c1d07caef19b77cb4950d56c1de8079900fc21728061f8620210932d2cd85f701407ce7b9947d2ef044211d1ffe8b77ce445da3c5aef69321b45e7ab8550dee3 +DIST pypy2.7-gentoo-patches-8.0.0.tar.xz 988 BLAKE2B 6bd236da38a45c50891758f6446fa70c81358141b8904062d2d1e27a7a938ee970c592108a081c8e9c83c869415b235e0202eae93ccf8d050866567976ed1fcd SHA512 a365d070448374777e7b2a7f5f7226e7ade89fd427c44b01f1cd8acaa215095de91a85321f9ca8283d04ed1d9aeaa5d191f5b2e33e44a831e38912d56a7a970e DIST pypy2.7-v7.3.23-src.tar.bz2 21023543 BLAKE2B 7638e5aecd30d9c2c9ab22b1ab9a43331685885ee90ebfda8d2a88da34e4b0b998bd967eed30b309110b9d40b14df75f24a7e9219c7383b542602869ee1a12d9 SHA512 3750fc9c5309baa7627d00a77b4b2b1e0d755b75841acd0fcee484bc332f1e9ed9c1f33d2f4800777f20ea8849356f39c84167f96b9ebfdd7e479798d62eac06 +DIST pypy2.7-v8.0.0-src.tar.gz 21312909 BLAKE2B 5ee9800c5399b1af82fde2f729fc63f6523e345b070176c4c13c9bd2cc0537baa6d04875042d4bd96ecec0c3bc5e8e79c08add1443b9c99ae40d396b91178ef7 SHA512 e0ae52034b5e03d413c47e1ddd9a7bde3549c70b4519c1630367c314ebce58638af78d5936c89943de1907477eb4bec8c149d850836991af14a50c9e643dfa63 DIST pypy3.11-gentoo-patches-7.3.23.tar.xz 3096 BLAKE2B d0852f8c9f715359487e07f5c80c4f3ac48da7eb650fd328535c40d8ec6318cf4c9f4b08838e976e2f88723472a42ccfcaf61d3a1b4af8319a44b476202b8c05 SHA512 81d6bb2e25a387bfe805263e7ecfb927a2292824e03b58ff4942b52bf4057d13ddf5d7944f8ee2e6c1553bde5650ac5d7af8689ab586a33ab5c58e4565da126a +DIST pypy3.11-gentoo-patches-8.0.0.tar.xz 1392 BLAKE2B 1324f7a4f4950359b929835c1f0cfcb99022bf0098a0515a08ae24d811c2bdc5bd64e877d6c7e5b0b9dd33523c1b93f556bbec68c92fdad0670eb4e44a20c5b9 SHA512 c8e1a9eeb4ca44adb113477ce1bced9d3e3a7f693852dcc3b83b588b113fb1f1ca7a1c24151c31f321bdc763dd2fcdeea03031e3bb9d0d3f899ca083bc33df72 DIST pypy3.11-v7.3.23-src.tar.bz2 25005650 BLAKE2B d0976c47fb04d1c96d7b4c1202ba43e586c8585f0c770c313c61407dc9c91245b6d4b07371d004646f43765f997f1deadcd938033bcc3429d848af63dbc75714 SHA512 4351cf30227af06ece5d69fe86a17355eadf2dcdbddf8119c04a720a4f9f388c6ae45a3496feb623950fb4a4a9f70c1910502adb325a12b1b0e34a7ba35563c2 +DIST pypy3.11-v8.0.0-src.tar.gz 25897899 BLAKE2B 80e41af342fde7676990b1ea7aa689fcbbe5000d59cc41dc112597dba9f20a7ba5d1dd09feef130b78fa62f91fdf92c212ae9d796ecb3ea863983ff70b672398 SHA512 3e29f2bc76dc2db6d2409d580299c16e54927c1d7f06d697c0550d55a6fec2570e41f283d72730a19ad9166121a01cc5e380c33858a86b96356d4fd9d1780ade diff --git a/dev-lang/pypy/pypy-2.7.8.0.0.ebuild b/dev-lang/pypy/pypy-2.7.8.0.0.ebuild new file mode 100644 index 000000000000..25a3f76d557c --- /dev/null +++ b/dev-lang/pypy/pypy-2.7.8.0.0.ebuild @@ -0,0 +1,315 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit pax-utils 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.gz + https://distfiles.gentoo.org/pub/proj/python/patchsets/pypy${PYVER}/${PATCHSET}.tar.xz +" +S="${WORKDIR}/${MY_P}-src" + +LICENSE="MIT" +# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")' +SLOT="${PYVER}/pypy-80" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="bzip2 full-stdlib gdbm +jit ncurses sqlite tk" +RESTRICT="test" + +RDEPEND=" + || ( + >=dev-python/pypy-exe-bin-${PYPY_PV}:${PYPY_PV} + >=dev-python/pypy-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?] + ) + dev-libs/openssl:0= + gdbm? ( sys-libs/gdbm:0= ) + sqlite? ( dev-db/sqlite:3= ) + tk? ( + dev-lang/tk:0= + dev-tcltk/tix:0= + ) + !dev-python/pypy +" +DEPEND=" + ${RDEPEND} +" + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default +} + +src_configure() { + tc-export CC +} + +src_compile() { + # copy over to make sys.prefix happy + cp -p "${BROOT}/usr/lib/pypy${PYVER}/pypy-c-${PYPY_PV}" pypy-c || die + cp -p "${BROOT}/usr/lib/pypy${PYVER}/include/${PYPY_PV}"/* include/ || die + # (not installed by pypy) + rm pypy/module/cpyext/include/_numpypy/numpy/README || die + mv pypy/module/cpyext/include/* include/ || die + mv pypy/module/cpyext/parse/*.h include/ || die + pax-mark m pypy-c + + # verify the subslot + local soabi=$( + ./pypy-c - <<-EOF + import sysconfig + print sysconfig.get_config_var("SOABI") + EOF + ) + [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}" + + einfo "Generating caches and CFFI modules ..." + + if use full-stdlib; then + # Generate Grammar and PatternGrammar pickles. + ./pypy-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 pypy/tool/build_cffi_imports.py! + cffi_targets=( pypy_util ssl audioop syslog pwdgrp resource ) + 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-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}" + done + + # Verify that CFFI module list is up-to-date + local expected_cksum=-7df4eab0 + local local_cksum=$( + ../pypy-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)),)) + 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_*.[co]" -delete || die + find -type d -empty -delete || die + fi +} + +src_test() { + # (unset) + local -x PYTHONDONTWRITEBYTECODE= + local -x COLUMNS=80 + + local ignored_tests=( + # network + --ignore=lib-python/${PYVER}/test/test_urllibnet.py + --ignore=lib-python/${PYVER}/test/test_urllib2net.py + # lots of free space + --ignore=lib-python/${PYVER}/test/test_zipfile64.py + + # broken by expat-2.4.5 + --ignore=lib-python/${PYVER}/test/test_minidom.py + --ignore=lib-python/${PYVER}/test/test_xml_etree.py + --ignore=lib-python/${PYVER}/test/test_xml_etree_c.py + ) + + ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -vv \ + "${ignored_tests[@]}" lib-python || die +} + +src_install() { + local dest="/usr/lib/pypy${PYVER}" + einfo "Installing PyPy ..." + dosym "pypy-c-${PYPY_PV}" "${dest}/pypy-c" + insinto "${dest}" + # preserve mtimes to avoid obsoleting caches + insopts -p + if use full-stdlib; then + doins -r include lib_pypy lib-python + + # replace copied headers with symlinks + for x in "${BROOT}/usr/lib/pypy${PYVER}/include/${PYPY_PV}"/*; do + dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}" + done + + if ! use gdbm; then + rm -r "${ED}${dest}"/lib_pypy/gdbm.py \ + "${ED}${dest}"/lib-python/*${PYVER}/test/test_gdbm.py || die + fi + if ! use sqlite; then + rm -r "${ED}${dest}"/lib-python/*${PYVER}/sqlite3 \ + "${ED}${dest}"/lib_pypy/_sqlite3.py \ + "${ED}${dest}"/lib-python/*${PYVER}/test/test_sqlite.py || die + fi + if ! use tk; then + rm -r "${ED}${dest}"/lib-python/*${PYVER}/{idlelib,lib-tk} \ + "${ED}${dest}"/lib_pypy/_tkinter \ + "${ED}${dest}"/lib-python/*${PYVER}/test/test_{tcl,tk,ttk*}.py || die + fi + else + # install only the absolutely minimal subset of modules needed + # for pypy3 build + local lib_py_modules=( + # base modules needed to even start pypy (and import site) + __future__.py + codecs.py + copy_reg.py + encodings + genericpath.py + linecache.py + os.py + pkgutil.py + posixpath.py + re.py + runpy.py + site.py + sre_compile.py + sre_constants.py + sre_parse.py + stat.py + string.py + sysconfig.py + traceback.py + warnings.py + UserDict.py + + # needed for python_optimize + compileall.py + getopt.py + py_compile.py + struct.py + + # needed for rpython + argparse.py + atexit.py + base64.py + bdb.py + bisect.py + cmd.py + code.py + codeop.py + collections.py + colorsys.py + contextlib.py + copy.py + ctypes + dis.py + fnmatch.py + functools.py + gettext.py + hashlib.py + heapq.py + inspect.py + io.py + json + keyword.py + locale.py + logging + new.py + opcode.py + optparse.py + pdb.py + pickle.py + platform.py + pprint.py + random.py + repr.py + shlex.py + shutil.py + StringIO.py + subprocess.py + tempfile.py + textwrap.py + threading.py + tokenize.py + weakref.py + zipfile.py + ) + + local distutils_modules=( + # needed by site + __init__.py + errors.py + sysconfig.py + sysconfig_cpython.py + sysconfig_pypy.py + ) + + local lib_pypy_modules=( + # needed by site + _sysconfigdata.py + + # needed by rpython + cffi + _ctypes + _ffi.py + _functools.py + _sha.py + _sha256.py + _sha512.py + + # NB: we're deliberately skipping _hashlib to avoid some deps + ) + + cd "lib-python/${PYVER}" || die + insinto "${dest}/lib-python/${PYVER}" + doins -r "${lib_py_modules[@]}" + cd - >/dev/null || die + + cd "lib-python/${PYVER}/distutils" || die + insinto "${dest}/lib-python/${PYVER}/distutils" + doins -r "${distutils_modules[@]}" + cd - >/dev/null || die + + cd lib_pypy || die + insinto "${dest}/lib_pypy" + doins -r "${lib_pypy_modules[@]}" + cd - >/dev/null || die + fi + + dosym "../lib/pypy${PYVER}/pypy-c" /usr/bin/pypy + dodoc README.rst + + local -x PYTHON="${ED}${dest}/pypy-c-${PYPY_PV}" + # temporarily copy to build tree to facilitate module builds + cp -p "${BROOT}${dest}/pypy-c-${PYPY_PV}" "${PYTHON}" || die + + einfo "Byte-compiling Python standard library..." + "${PYTHON}" -m compileall \ + -x 'bad_coding|badsyntax|make_ssl_data|lib2to3/tests/data' \ + -q -f -d "${dest}" "${ED}/${dest}" || die + + # remove to avoid collisions + rm "${PYTHON}" || die +} diff --git a/dev-lang/pypy/pypy-3.11.8.0.0.ebuild b/dev-lang/pypy/pypy-3.11.8.0.0.ebuild new file mode 100644 index 000000000000..2bca80190456 --- /dev/null +++ b/dev-lang/pypy/pypy-3.11.8.0.0.ebuild @@ -0,0 +1,236 @@ +# Copyright 1999-2026 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.gz + https://distfiles.gentoo.org/pub/proj/python/patchsets/pypy${PYVER}/${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-pp80-432" +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-libs/openssl:0= + dev-python/gentoo-common + 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} +" + +PDEPEND=" + ensurepip? ( + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + ) +" + +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=\"pypy${PYVER}\"" > 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=46dc6ae7 + 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 + fi +} diff --git a/dev-lang/pypy3-exe-bin/Manifest b/dev-lang/pypy3-exe-bin/Manifest index 2a90babca725..f5219a71e995 100644 --- a/dev-lang/pypy3-exe-bin/Manifest +++ b/dev-lang/pypy3-exe-bin/Manifest @@ -6,3 +6,11 @@ DIST pypy3-exe-3.11.7.3.23-1.ppc64le-musl.gpkg.tar 7403520 BLAKE2B 2b202a0c22ae6 DIST pypy3-exe-3.11.7.3.23-1.ppc64le.gpkg.tar 11315200 BLAKE2B c0dc4f06b5427bc65581bfb49a7847be2f37d23b2bd0e1f7b9a7a937431ad0351d9d841fc073ab0ce6e713c46aedaa34bb081170f2d948d52a92fd0e338340bc SHA512 8c1af07bd889d88e9535803d3c3a2fa3be88c027daa98ed6b2af22c5ad7b4530c549250f80cbd62cc379f83ed43f7522edb60c7e62a24c2e13332ddbed610680 DIST pypy3-exe-3.11.7.3.23-1.x86-musl.gpkg.tar 9717760 BLAKE2B a7b72adc8b2f186e5685b4e2665eede2c7c1042d4c920eb1dce4bc4c0049bb84d34e2d7a1a66cdf68612732cf35ae1149119b519a7c20202b352dff1532f41e0 SHA512 49333e243f4eee4f0124603fb7596d8e8f28997211e7ef86a4c0fe555b77de35a0479c8546edfd777d4196b314d709cd5189d0334f45875fa5bec1d6fecd9fa6 DIST pypy3-exe-3.11.7.3.23-1.x86.gpkg.tar 9707520 BLAKE2B a12ef9dbbc59033222bf57601d841860aa27beff44b21f633cd41dcfa3ecd50f6ba08efdbfafbe2475dbd7bda12dbc0dc16dae64f89f0d8d1e8a6b900149d70e SHA512 222c416e68c6cce4068ff30055e26ed7c99127f0b9617f8de0f825111ed35bddc81887875ed7122f004975fca14e4267291bf4f3ff00211e9ba4890c9b2f0be6 +DIST pypy3-exe-3.11.8.0.0-1.amd64-musl.gpkg.tar 12032000 BLAKE2B abbe7ae60eec8e225bac1673dccad2302aa3517317b82e485ba07e7e68eda027044c2d6916d323578d998d99535643717388bbd3d6be78e2a033f91ec464f1e1 SHA512 95a89634be0f7572facc46415acf69b6e1298f9e12cdb9847f664d19b5de4e9227d109a254a7a425cb2c6b85b5f4635cda931bf75be1cb59b238c128333c4f85 +DIST pypy3-exe-3.11.8.0.0-1.amd64.gpkg.tar 12083200 BLAKE2B 77e6989bdec5795345f3ad4e47fbfacdee4cf08d6cfab844dbc0b4930e05f3960fb707a17f2c8c68ac03ed3b52d1415b90f37b29eb3a9e645be8f89fb65311e3 SHA512 66f44514a176a1247fc864fe780e9efd8ac06b0a3c4012c47e1dfcd02b77004ed27a244c9d8dcd1dfa279417c8ec75edadcd731a22cbd88d06402b4dd1e2a412 +DIST pypy3-exe-3.11.8.0.0-1.arm64-musl.gpkg.tar 10516480 BLAKE2B 1752e4cfa2b2ba8dd92eed46220f731296fd2850b1322937fdf56ebe461c62629822e252d9639d4e7b21dc808b576ade3f79064e3127d5290fc61a0a5f4b74c9 SHA512 2d14be085283ecff82e262082b64c823afebc807acd6af936ebf38348ef6823cec1af634274ca2a115d4884d151850259262e08f5250249cd0fc7e07e493b739 +DIST pypy3-exe-3.11.8.0.0-1.arm64.gpkg.tar 10475520 BLAKE2B 53b8c9cb22705b2b0ebfdde1000fd0048a55c820db9ca1c85cc7b4bf774c6449d5d6202316a3d074a549b73c78f7a598d3dec512366287ef94839c4baa9a8fe3 SHA512 9f4e1bf7f2231e80fc04f3e769f3a5604a2603726dde42edacd44fe949a4d8e24f7261f04048f2d6c7c0c1aff8cca92f6981c27cd934d26fca274957608a41e1 +DIST pypy3-exe-3.11.8.0.0-1.ppc64le-musl.gpkg.tar 6912000 BLAKE2B 784455a155c218f2b927fa7cb97fb3000fe56ae958e099021002ec1fe380c26861d18034bbdde699c3b1ff3d0e1054a6b776acf5175864f1a25ee21678bab7a0 SHA512 d79ddd95c6dffe65901fc26239d53edb57a95a6d45e975f61ddc1c4c93201f76394520fe817648a885b8e4f7557df0aea5e243725e8e3be408b7c5298d1f1f5c +DIST pypy3-exe-3.11.8.0.0-1.ppc64le.gpkg.tar 10741760 BLAKE2B c5062e3b1e0565c19142fb69e16ed58ea4554b60a01e799c78202a84eee0a230eebdc6c89bf4d8ac6a5c58f96bacbbbac475f01902d04e64acdad0f77b8a0a16 SHA512 3111204200894c051baa164168ad726fa1be520ffd0d92bc40f103bcb5f23354b653f56248d3142ccfc18877b667922e57076d924b80ab3cffecdc9fec13e47b +DIST pypy3-exe-3.11.8.0.0-1.x86-musl.gpkg.tar 9472000 BLAKE2B 6fe4626e392a47915647081afb0b53e4071e9c0f91fb818dd2bf8b75702453beb36e6fb020e7d161f8db38be7f7fb8df9875c5ad4339a598f85d3da64a9e5124 SHA512 409d1d1c7a72450525943d56f70f78cb0fa24b4e9fe02dcf2897a553b4c1d254f1fb1cce7a0ef1a5ff5b90cc679293701cb47762c2380807aae11c6ae547d9bb +DIST pypy3-exe-3.11.8.0.0-1.x86.gpkg.tar 9523200 BLAKE2B 3c2cd68746b37616ae6f881b797209b900ecfa1a5565a2c224c6ba2f5d6d5f2a3733f2ecb56c89bbc5e9aef20957ccf967e74b52a9dcb9c4387c24edb8279a6b SHA512 325fc7a16725dbf995a5c5d6aad2e50cdf4a18e27e5280c9833b7f17ef740317ea3640888ba48939d175c6df13520feb55319b9d23eeebb36cf6a68e12c143d2 diff --git a/dev-lang/pypy3-exe-bin/pypy3-exe-bin-3.11.8.0.0.ebuild b/dev-lang/pypy3-exe-bin/pypy3-exe-bin-3.11.8.0.0.ebuild new file mode 100644 index 000000000000..2fa2a4810f9b --- /dev/null +++ b/dev-lang/pypy3-exe-bin/pypy3-exe-bin-3.11.8.0.0.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit pax-utils unpacker + +PYVER=$(ver_cut 1-2) +PATCHSET_PV=$(ver_cut 3-) +PYPY_PV=${PATCHSET_PV%_p*} +MY_P=pypy3-exe-${PV}-1 + +DESCRIPTION="PyPy3.11 executable (pre-built version)" +HOMEPAGE=" + https://pypy.org/ + https://github.com/pypy/pypy/ +" +SRC_URI=" + elibc_glibc? ( + amd64? ( + https://distfiles.gentoo.org/pub/proj/python/binpkg/amd64/pypy3-exe/${MY_P}.amd64.gpkg.tar + ) + arm64? ( + https://distfiles.gentoo.org/pub/proj/python/binpkg/arm64/pypy3-exe/${MY_P}.arm64.gpkg.tar + ) + ppc64? ( + https://distfiles.gentoo.org/pub/proj/python/binpkg/ppc64le/pypy3-exe/${MY_P}.ppc64le.gpkg.tar + ) + x86? ( + https://distfiles.gentoo.org/pub/proj/python/binpkg/x86/pypy3-exe/${MY_P}.x86.gpkg.tar + ) + ) + elibc_musl? ( + amd64? ( + https://distfiles.gentoo.org/pub/proj/python/binpkg/amd64-musl/pypy3-exe/${MY_P}.amd64-musl.gpkg.tar + ) + arm64? ( + https://distfiles.gentoo.org/pub/proj/python/binpkg/arm64-musl/pypy3-exe/${MY_P}.arm64-musl.gpkg.tar + ) + ppc64? ( + https://distfiles.gentoo.org/pub/proj/python/binpkg/ppc64le-musl/pypy3-exe/${MY_P}.ppc64le-musl.gpkg.tar + ) + x86? ( + https://distfiles.gentoo.org/pub/proj/python/binpkg/x86-musl/pypy3-exe/${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 + >=virtual/zlib-1.1.3:0/1 + virtual/libintl:0/0 + elibc_glibc? ( + sys-devel/gcc + >=sys-libs/glibc-2.35 + ) + !dev-lang/pypy3-exe:${SLOT} +" + +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-lang/pypy3-exe/Manifest b/dev-lang/pypy3-exe/Manifest index e2ef69b6088c..b6614e3b2267 100644 --- a/dev-lang/pypy3-exe/Manifest +++ b/dev-lang/pypy3-exe/Manifest @@ -1,2 +1,4 @@ DIST pypy3.11-gentoo-patches-7.3.23.tar.xz 3096 BLAKE2B d0852f8c9f715359487e07f5c80c4f3ac48da7eb650fd328535c40d8ec6318cf4c9f4b08838e976e2f88723472a42ccfcaf61d3a1b4af8319a44b476202b8c05 SHA512 81d6bb2e25a387bfe805263e7ecfb927a2292824e03b58ff4942b52bf4057d13ddf5d7944f8ee2e6c1553bde5650ac5d7af8689ab586a33ab5c58e4565da126a +DIST pypy3.11-gentoo-patches-8.0.0.tar.xz 1392 BLAKE2B 1324f7a4f4950359b929835c1f0cfcb99022bf0098a0515a08ae24d811c2bdc5bd64e877d6c7e5b0b9dd33523c1b93f556bbec68c92fdad0670eb4e44a20c5b9 SHA512 c8e1a9eeb4ca44adb113477ce1bced9d3e3a7f693852dcc3b83b588b113fb1f1ca7a1c24151c31f321bdc763dd2fcdeea03031e3bb9d0d3f899ca083bc33df72 DIST pypy3.11-v7.3.23-src.tar.bz2 25005650 BLAKE2B d0976c47fb04d1c96d7b4c1202ba43e586c8585f0c770c313c61407dc9c91245b6d4b07371d004646f43765f997f1deadcd938033bcc3429d848af63dbc75714 SHA512 4351cf30227af06ece5d69fe86a17355eadf2dcdbddf8119c04a720a4f9f388c6ae45a3496feb623950fb4a4a9f70c1910502adb325a12b1b0e34a7ba35563c2 +DIST pypy3.11-v8.0.0-src.tar.gz 25897899 BLAKE2B 80e41af342fde7676990b1ea7aa689fcbbe5000d59cc41dc112597dba9f20a7ba5d1dd09feef130b78fa62f91fdf92c212ae9d796ecb3ea863983ff70b672398 SHA512 3e29f2bc76dc2db6d2409d580299c16e54927c1d7f06d697c0550d55a6fec2570e41f283d72730a19ad9166121a01cc5e380c33858a86b96356d4fd9d1780ade diff --git a/dev-lang/pypy3-exe/pypy3-exe-3.11.8.0.0.ebuild b/dev-lang/pypy3-exe/pypy3-exe-3.11.8.0.0.ebuild new file mode 100644 index 000000000000..01280f42766d --- /dev/null +++ b/dev-lang/pypy3-exe/pypy3-exe-3.11.8.0.0.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit check-reqs pax-utils 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="PyPy3.11 executable (build from source)" +HOMEPAGE=" + https://pypy.org/ + https://github.com/pypy/pypy/ +" +SRC_URI=" + https://downloads.python.org/pypy/${MY_P}-src.tar.gz + https://distfiles.gentoo.org/pub/proj/python/patchsets/pypy${PYVER}/${PATCHSET}.tar.xz +" +S="${WORKDIR}/${MY_P}-src" + +LICENSE="MIT" +SLOT="${PV%_p*}" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="+jit low-memory ncurses cpu_flags_x86_sse2" + +RDEPEND=" + app-arch/bzip2:0= + dev-libs/expat:0= + dev-libs/libffi:0= + >=virtual/zlib-1.1.3:= + virtual/libintl:0= + ncurses? ( sys-libs/ncurses:0= ) + !dev-lang/pypy3-exe-bin:${SLOT} +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + || ( + dev-lang/pypy:2.7 + 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 + + 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-lang/spidermonkey/spidermonkey-140.16.0.ebuild b/dev-lang/spidermonkey/spidermonkey-140.16.0.ebuild index 13441e316a7b..05781293a5f4 100644 --- a/dev-lang/spidermonkey/spidermonkey-140.16.0.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-140.16.0.ebuild @@ -64,7 +64,7 @@ SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES} S="${WORKDIR}/firefox-${PV%_*}" LICENSE="MPL-2.0" SLOT="$(ver_cut 1)/140.11.0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86" IUSE="clang cpu_flags_arm_neon debug +jit test" diff --git a/dev-lang/swig/swig-4.3.1.ebuild b/dev-lang/swig/swig-4.3.1.ebuild index f0003666928e..870bb8253380 100644 --- a/dev-lang/swig/swig-4.3.1.ebuild +++ b/dev-lang/swig/swig-4.3.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" LICENSE="GPL-3+ BSD BSD-2" SLOT="0" -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="ccache doc pcre test" # tests are automagic for many languages and quite brittle RESTRICT="!test? ( test ) test" |
