From a15e8dc7444560123d7d4be1bccb19afd5b611d0 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 22 Oct 2024 04:04:46 +0100 Subject: gentoo auto-resync : 22:10:2024 - 04:04:46 --- dev-lang/Manifest.gz | Bin 21828 -> 21986 bytes dev-lang/arc/Manifest | 2 +- dev-lang/arc/arc-3.2-r1.ebuild | 43 +++++ dev-lang/arc/arc-3.2.ebuild | 39 ---- dev-lang/elixir/Manifest | 2 + dev-lang/elixir/elixir-1.17.3.ebuild | 39 ++++ dev-lang/pypy/Manifest | 7 + dev-lang/pypy/metadata.xml | 32 ++++ dev-lang/pypy/pypy-2.7.7.3.17.ebuild | 315 +++++++++++++++++++++++++++++++ dev-lang/pypy/pypy-3.10.7.3.17_p1.ebuild | 238 +++++++++++++++++++++++ 10 files changed, 677 insertions(+), 40 deletions(-) create mode 100644 dev-lang/arc/arc-3.2-r1.ebuild delete mode 100644 dev-lang/arc/arc-3.2.ebuild create mode 100644 dev-lang/elixir/elixir-1.17.3.ebuild create mode 100644 dev-lang/pypy/Manifest create mode 100644 dev-lang/pypy/metadata.xml create mode 100644 dev-lang/pypy/pypy-2.7.7.3.17.ebuild create mode 100644 dev-lang/pypy/pypy-3.10.7.3.17_p1.ebuild (limited to 'dev-lang') diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz index 876799fb0105..5ab623eba69c 100644 Binary files a/dev-lang/Manifest.gz and b/dev-lang/Manifest.gz differ diff --git a/dev-lang/arc/Manifest b/dev-lang/arc/Manifest index c956e8d59481..6215e04faa55 100644 --- a/dev-lang/arc/Manifest +++ b/dev-lang/arc/Manifest @@ -1,3 +1,3 @@ DIST arc-3.2.tar 276480 BLAKE2B a25695e4b90160d03e534bc7dcff194e922b8463ed9984523ee89fca7d6423e7f0f296118fa3f6046d988e6047e87dc609a56869e19d09435403320b5882f2b8 SHA512 f79cdb9b591582683e18afce24da935e8ab04ba837c5d19ae971bf9ec4abc038e6aeb712f36ffd1111e8d9fbb7a09889425294a15d546e9e6226b296294cc2a1 -EBUILD arc-3.2.ebuild 810 BLAKE2B b6732aad43a5f90804bb258416c84c13482f08b44aa64f6421c7fe46550f8ef87cd84a28232a3d996aa79f89200f4827b7c7951933f9b6e3eaf5b7695bdbc7e6 SHA512 edc77cb36a87ec0cc14f4bfc581dc365468fe917dfa1cbd7d949b02ca09f87322fce997565e3220589cb54ab60e43b3ceed658f79ec3b26ac4649a0724ba8d09 +EBUILD arc-3.2-r1.ebuild 836 BLAKE2B bb1cfcf808d6e58c8a75a365aa032bdb0ce591af1b639f2ff2c594d7abaca5a72ae0921781508c584e7f4eb372f88eb21482b253567f9161d6f3a257478f73d9 SHA512 c50619863a09456d47962069ea2efdf2198a440ee23a03504c43e6e9fbca095eb55b505c731e2789002b545cd257bb291eefcbfde785aad84c33a15e97dab924 MISC metadata.xml 716 BLAKE2B 953d098bdd577c7337a96cf18f762d0d0acb8e0286a65b901b22a2f48b69b1d207b193ab44b294065b5e7bc4aac7d2b207b763ff290aef2dc42fe40c282e3d6e SHA512 3d9cc948dc8a020317462c28d5725aedfc3357f0de3e0d24accd52441d3060411aa8d6e33225bacd81deb34dca03da17d413fa91e92b849ea8c02cd4032d9db4 diff --git a/dev-lang/arc/arc-3.2-r1.ebuild b/dev-lang/arc/arc-3.2-r1.ebuild new file mode 100644 index 000000000000..2b085650c790 --- /dev/null +++ b/dev-lang/arc/arc-3.2-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit wrapper + +DESCRIPTION="New dialect of Lisp, works well for web applications" +HOMEPAGE="http://www.arclanguage.org/" +SRC_URI="http://www.arclanguage.org/${PN}${PV}.tar -> ${P}.tar" +S="${WORKDIR}/${PN}${PV}" + +LICENSE="Artistic-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + !app-arch/arc + dev-scheme/racket:=[-minimal] +" +DEPEND=" + ${RDEPEND} +" + +DOCS=( copyright how-to-run-news ) + +src_compile() { + # Byte-compile Racket modules. + local mod="" + for mod in ac brackets ; do + raco make --vv "./${mod}.scm" || die "raco failed to compile ${mod}" + done +} + +src_install() { + einstalldocs + rm "${DOCS[@]}" || die + + insinto "/usr/share/${PN}" + doins -r ./* + + make_wrapper "${PN}" "racket --load ./as.scm" "/usr/share/${PN}" +} diff --git a/dev-lang/arc/arc-3.2.ebuild b/dev-lang/arc/arc-3.2.ebuild deleted file mode 100644 index e9655cb6f6ca..000000000000 --- a/dev-lang/arc/arc-3.2.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit wrapper - -DESCRIPTION="New dialect of Lisp, works well for web applications" -HOMEPAGE="http://www.arclanguage.org/" -SRC_URI="http://www.arclanguage.org/${PN}${PV}.tar -> ${P}.tar" -S="${WORKDIR}/${PN}${PV}" - -LICENSE="Artistic-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -RDEPEND=" - !app-arch/arc - dev-scheme/racket:= -" -DEPEND="${RDEPEND}" - -src_compile() { - # byte-compile some racket modules - local mod - for mod in ac brackets ; do - raco make --vv ./${mod}.scm || die "raco failed to compile ${mod}" - done -} - -src_install() { - dodoc copyright how-to-run-news - rm copyright how-to-run-news || die - - insinto /usr/share/${PN} - doins -r * - - make_wrapper ${PN} "racket --load ./as.scm" /usr/share/${PN} -} diff --git a/dev-lang/elixir/Manifest b/dev-lang/elixir/Manifest index 29ba4272cb9e..e5eb268040ad 100644 --- a/dev-lang/elixir/Manifest +++ b/dev-lang/elixir/Manifest @@ -10,10 +10,12 @@ DIST elixir-1.15.8.tar.gz 3152250 BLAKE2B 5a4eeca0d2a63fa5dbf322f79bc3373a56a639 DIST elixir-1.16.2.tar.gz 3357093 BLAKE2B 61ba738542d33e827f7352b7f0a27aa76fc06f037d35c56efd96be1c26e28be90b6f2998cd2cac0090e5da771f6c45ad12d68644e36a214de36c9e26d4ac9686 SHA512 1e90adcd5d0512d4b394276e431f3987fc61a3f6191cd5c1d0f7fdd82baba99747aa553a3583e0813ffb5a48a32ce02a24e27b641f86a61e421722a802a850c1 DIST elixir-1.16.3.tar.gz 3360376 BLAKE2B ac6cdc16f193560e18338bd3e45a4f88c7d4398969336062551477dfdafaab8ada60ae64c856647b36967205849427413938da87f746bd52d03d78e141ba5a03 SHA512 1511fb78bdcc50850cbf91007ed11c6a89e947d0a743c1e9ed30e1c93c1b47b5377fced17eeb66ac511d4f151d2e00ef2ecc6fb425d0d4afe2451be41a6ba6ee DIST elixir-1.17.2.tar.gz 3255067 BLAKE2B b2902c41262303fe33efeb22f8fe6cf76596f7d9894b018c0d45eaf1858f7d2ffaa1481659ff290c71807b03c5f2ebb17160d7420133d440957f344df6d01126 SHA512 f9d4983c3e7bd054a76bfe0dfa4aea483a4dd84ada432ae5a144167ff8d268499077704214eaaecfda84469c2f747a3594258ca95a7955bffde0c7b0f65985f2 +DIST elixir-1.17.3.tar.gz 3256595 BLAKE2B c016857f74d65de5afcef6d1284b76fc529a542e5cd0dded73701cbdad93f281529a545af1c5a905cb116a3028472703acfdc21ae070f9255bdfd6d5c09bf7a0 SHA512 084514d1362b52e85c0b4d92b8d18c6d2e9fddb4e4eaf4467f8b1c0985f9ceca1b74a0478581d91164935ae0f49610771860c674e080137e52aadc65b666911b EBUILD elixir-1.14.5-r2.ebuild 1118 BLAKE2B 74b30f3045dc0c727661a5f876f03c1e248f7d6fd6495a69e0fca48c630337c7a197069fad6e0be8daa99726b7830e4e5f38b0202af6a444c86700a9a9b8bda3 SHA512 4ab546f1918461f7e8fce2132b49b7bf5a4f1b9646b44b96aeb2d81b43fdc67bd6f057e49114bc5aab762c85c6b7e4816b0a96489dfe01c1c4e85695b941a27f EBUILD elixir-1.15.7.ebuild 1013 BLAKE2B d3a57e16376d96cf438be208fcc63aa6713fc5c85c370765e56a56b2291477aadd73b680eff630f3ea604248ce9797d49181f2534f8f5b934e43360a21133875 SHA512 cda24844929eafabeed65b7d121eec63b1499732d631adf33b50d302ac5dbd443804dcaa90dd088f38f95fe84e69d9f6b7cf7b84aa6cf9f2cf2ab80b05654789 EBUILD elixir-1.15.8.ebuild 1016 BLAKE2B 38ed745bb173bb1cbc7a04cde4eec072618d99020f66ea624b71ed14fb58be9d5368d9aa03033c9126130626a00cf6a1f907c9e41a27147fc85c81eaff3a6ec9 SHA512 db38f2e8d9b7aff16020b1a84d4b898e4444c49b5e39d54f2f361befe17ccfabecced60323ab6bbb8b613007abdd2dd3a6a3a409f058d8f73806fc98e1daf45f EBUILD elixir-1.16.2.ebuild 1066 BLAKE2B 3ff9540b5645b03ae3eba671d803a04340d8c9efabe4053ae7432db6bee88c6931a9a397ae1eb050665e67909f97b197afadafc8ffcaeb7761e0f752a557e7ba SHA512 ea54b6269731ecfa6e64e161d70f00e83db7cb09c18c640ac0064e6904c9a352c7fa2ed8a7998874ce6f7f581916dcea3af4a5cef287094c5a13d13c4bec834b EBUILD elixir-1.16.3.ebuild 1002 BLAKE2B f2b1477a5ea6b1c324c326cb576f7c82e5985bfac2fe49d13ab761716ced0dd3009953201d7fc9f1eb05d2708d13487ba0b89621031db2d5fbd35fd6a8d6b068 SHA512 6961f6a66309b63406e202de3e475e0607dd2a8793b1183d96b5166e76d7aee86dce7413c005bedea03191336917de4911686f2f6856b6e2044f72c079e462cf EBUILD elixir-1.17.2.ebuild 999 BLAKE2B 6eb05e0f3ddd4db24227957791eb26a21d690cbfb5733898f49dfa549e68f356e10a230ed3c9adcd145de7632d98b24bb88521bb348a808369a9acbf5a2aa3f1 SHA512 ad871091ab8a436937a88c4ae4dc4b733571cf7c5d90e1e5bcf583cc5b6304899abb3102e43b528900a77a1bdea9d5b4240825d3a7b86e50feae45009c6071da +EBUILD elixir-1.17.3.ebuild 1002 BLAKE2B c382db1d4be9ba4bb6bba5bfca16d62a57d109ad57bce94dda71fd68ada1b9cdfb2904849401c36c7b7f7e7efa2455eeab0b4d6a5069016617ccada59c7999f2 SHA512 e9d531d7f481d85c1b0a4530b5088ed608204f89fa28f4eaa0e5b0760d507b8d247606e956af347f5fb3ca6c9931697a8fdf97a30edfc0500138817fdb8da3a4 MISC metadata.xml 724 BLAKE2B ae59dba7153a9cdbeb0ed45acf54cf733f07ebc1b43896f88ff09686ecbdd56553e92f7733e5f556d01e622cadb85a24da879799b0f742d7e257425db1f300b4 SHA512 43cc4435aa89e2ba8edaf8f4cead814c514fac07a7c0500f3f7dfe35d2da6f75f835df0d21d862be6dcbffbd9c6e5ea32b21296048ec903c1491ccfd4854316b diff --git a/dev-lang/elixir/elixir-1.17.3.ebuild b/dev-lang/elixir/elixir-1.17.3.ebuild new file mode 100644 index 000000000000..46bdb92ad285 --- /dev/null +++ b/dev-lang/elixir/elixir-1.17.3.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Elixir programming language" +HOMEPAGE="https://elixir-lang.org" +SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 ErlPL-1.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~riscv ~sparc ~x86" +IUSE="test" + +RESTRICT="!test? ( test )" + +# https://hexdocs.pm/elixir/compatibility-and-deprecations.html#between-elixir-and-erlang-otp +DEPEND=" + >=dev-lang/erlang-25:0=[ssl] + + + + + python@gentoo.org + Python + + + pypy/pypy + + + + Install the ensurepip module that uses bundled wheels + to bootstrap pip and setuptools (if disabled, it will + be only possible to use venv `--without-pip`) + + + Install complete stdlib as necessary to use PyPy for general + purpose programs. By default, only a limited subset that is + used when building PyPy3 executables is installed. Note + that PyPy2.7's stdlib contains multiple known vulnerabilities. + + + Install "pypy3" symlink, making this PyPy slot the default + PyPy3 implementation that is used for building Gentoo packages. + + + Install the test suite packages, that are required to run + tests in a few reverse dependencies. + + + diff --git a/dev-lang/pypy/pypy-2.7.7.3.17.ebuild b/dev-lang/pypy/pypy-2.7.7.3.17.ebuild new file mode 100644 index 000000000000..1d7d43cd1b9c --- /dev/null +++ b/dev-lang/pypy/pypy-2.7.7.3.17.ebuild @@ -0,0 +1,315 @@ +# Copyright 1999-2024 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.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" +# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")' +SLOT="${PYVER}/73" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux" +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#pypy-} == ${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) + 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.10.7.3.17_p1.ebuild b/dev-lang/pypy/pypy-3.10.7.3.17_p1.ebuild new file mode 100644 index 000000000000..788436ddabcc --- /dev/null +++ b/dev-lang/pypy/pypy-3.10.7.3.17_p1.ebuild @@ -0,0 +1,238 @@ +# Copyright 1999-2024 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? ( + ! lib-python/3/epython.py || die + + einfo "Generating caches and CFFI modules ..." + + # Generate sysconfig data + local host_gnu_type=$(sh pypy/tool/release/config.guess) + local overrides=( + HOST_GNU_TYPE "${host_gnu_type:-unknown}" + INCLUDEPY "${EPREFIX}/usr/include/pypy${PYVER}" + LIBDIR "${EPREFIX}/usr/$(get_libdir)" + TZPATH "${EPREFIX}/usr/share/zoneinfo" + WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip" + ) + "./pypy${PYVER}-c" -m sysconfig --generate-posix-vars "${overrides[@]}" || die + local outdir + outdir=$(