summaryrefslogtreecommitdiff
path: root/dev-python/pypy
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-10 17:08:48 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-10 17:08:48 +0100
commit5b5704b62a0f04d93fd58986b426a31352fe2fd5 (patch)
tree0034259fd845f22388e30e34a06f2fe12537cd30 /dev-python/pypy
parent77ffa9fa127c2f664cbb6aba05848662a904f2ff (diff)
gentoo resync : 10.10.2017
Diffstat (limited to 'dev-python/pypy')
-rw-r--r--dev-python/pypy/Manifest6
-rw-r--r--dev-python/pypy/files/5.9.0-shared-lib.patch12
-rw-r--r--dev-python/pypy/pypy-5.9.0.ebuild266
-rw-r--r--dev-python/pypy/pypy-9999.ebuild4
4 files changed, 285 insertions, 3 deletions
diff --git a/dev-python/pypy/Manifest b/dev-python/pypy/Manifest
index e3178fd109c5..fd8ee4b21800 100644
--- a/dev-python/pypy/Manifest
+++ b/dev-python/pypy/Manifest
@@ -5,15 +5,19 @@ AUX 5.6.0_all_distutils_cxx.patch 17053 SHA256 77e2274dac32d065f861882daf59f9020
AUX 5.7.1-kill-flto.patch 919 SHA256 aed12afc66592ef9fe4bedd09c4275158fbfc30b4ec5003e9b092974ea020d73 SHA512 a8340c41e55e929521f649d64ee728a8b95e1be3008060a4fb2147e7f3914731640870503b4c06577a052deca00130ff3835b9477feeaf57fc0b8531abcc22c9 WHIRLPOOL 559115c01e6e027948e7cb55577be8d018661e811a3aff8db68a4e98de6f275673738199e928aa7ee17a0cc9b94ab1cc350067cb8a4fe003de8022eedbcbfbc0
AUX 5.7.1_all_distutils_cxx.patch 18249 SHA256 33bf43330f0a2ae0dfb4b4999a7b27c74ba789a18f6f181928e13cb1553bd39e SHA512 a347cf438a0d308c69bc92cd04236be0bcf95f595daff1fbcb19eaadbbd7355e90fd661843d8a8d1588003da3ec37b3e3e9fa8a24af92baa5d2c0c0a866284dc WHIRLPOOL fe363fe49b70e4e291a092b5229e5f17d39f50f5edee97bb4aac8275410d2981c6963e096fa77d7ecf549d0d97ea0c6168947b2c1526e92d3e73919873ef68da
AUX 5.8.0_all_distutils_cxx.patch 18248 SHA256 2f7c75a5966ebfd0750ca902ea855ca321829a0309a60e6c57f45eb418054dae SHA512 a1bfe2ac4380c87094d4b934603956260eafa5ad6059160603e636690d99ae65181e5752fba38f145ccfb263340a1aa03a46e31f7ceccb5643df14b0190e1d8a WHIRLPOOL 807d777cabd6db4cc909f6135de230705f289ac8d1ef851fd872abdbabb3b13e299c98b53e9bf993f044c64702576e15f0d1b3a1a9a4aa9a4458204267c25b92
+AUX 5.9.0-shared-lib.patch 826 SHA256 109e73bca4a7f5395a6c196de795ea4e3f2cd453445b0303e26475df25abc7f4 SHA512 96bd8c55f7014e9421c8f648922f63f9a7c4a1b2791c733e6807ef28e83d8fcf7eb0b84a3d844e66f864634241301e5c115fab4378a6f63c7027b02ac4b95945 WHIRLPOOL 9cb0b967e264a1ab73181b586a75780c0c68bd347579958accdc426fde240ddbc87680243d44ff8443d9874433ec7b82110f4bf4e688093876e75ea4b322383c
DIST pypy2-v5.6.0-src.tar.bz2 18388539 SHA256 7411448045f77eb9e087afdce66fe7eafda1876c9e17aad88cf891f762b608b0 SHA512 a92ef611ae2417aaa202b9f5c75dd86e82fc2549e53bab3164cccff37d131542bc71cbce6aaedf428d3dfc7d59a2d3b3a5ed03e3a3439628f29d43c4d30a64de WHIRLPOOL 896894225407f8cd462b094d77723880f6a423d60a79e5d3cf4e0804737fdd0337fc668b05573902fe81f826798b2046cb115c8d230f0810ec0ad2508590ee4a
DIST pypy2-v5.7.1-src.tar.bz2 18940413 SHA256 d01bee43c6df79f7bbc1149bb3e85f489491fb2358a6a1f9a7f0d6e07715832f SHA512 1ad2dddb40c28d2d3e95a9f0730e765d981dee6e2d0664cf1274eb7c1021690a848c3485c846eac8a8b64425b44946b5b2d223058ec4699155a2122ee7d38b75 WHIRLPOOL e0223d889a26f8a5bc5097561dbe617ff9b11972590f3a8d717d572798a2d685540bc6059e4ce4ff73ce0db9d2476a4274f17dad1f825fb780726d6ecd78a4c8
DIST pypy2-v5.8.0-src.tar.bz2 19163498 SHA256 504c2d522595baf8775ae1045a217a2b120732537861d31b889d47c340b58bd5 SHA512 222c6ce11b00830e310b766df4c145b7f554f23b87fc6146f214d758d7a6159c5c00af475aa7fa630ef4c37b52cdf2fd73049b6ec3610715b6abc0a925fe1365 WHIRLPOOL 775fbe656996e80fce9cb9a4d4f44fe1b87f0b22f18f74940d5824143337773bb5e3a4d23564bfdc22d010693010f31689026432134a8a2e30ddee670dba1b6d
+DIST pypy2-v5.9.0-src.tar.bz2 19175394 SHA256 de4bf05df47f1349dbac97233d9277bbaf1ef3331663ea2557fd5da3dbcfd0a7 SHA512 3170747e81088043c6a4885bd0bc92e911556420b6c2539a4ed7e62956f1c741651f772def0fb00d8826a1bef9d6f4e79a13682a4456a31d987f7c9bd8608a4d WHIRLPOOL 5cbfc6922469450fdd55cda79afbd41e5750446eb09396ea53a65d6fbe099905103f14ab08665ecd76bf4da44f11d2c4609d8df97999a41d03f2985d6fae32fa
DIST python-gentoo-patches-2.7.11-0.tar.xz 12916 SHA256 e14b47bb1fd64d366d7dfb8339cc2cbf4a53fc288b11dd83f575eb36a8a6408d SHA512 f0447bb699a163afc08df39b111394377539935546ae23732d7239e78d2bff0c04bc94949f86aef0c1be83736127dbd25c2c531e49befed2d638c3cd4940ac52 WHIRLPOOL 305992849d9d244da1e308e739c9bf62a3ef5c74eb65c765bdc666fb5767eb16c7a609f7c442c17da17f76c3ab81e4b09fa8c21e43f89366539a6a9d656bea77
DIST python-gentoo-patches-2.7.13-0.tar.xz 13292 SHA256 271835eb36125d09cc5e904ef23a5263acd8e5f513202a8d4f8a9a0f64fc80a8 SHA512 d70f6baba1a465a752c515e33dfdee2a5cc75400fadfb8ea0bd1e82d50089abdf02d7726c697850dc47de2054aa494bbdc08de2673c260b54e609f29dab259ad WHIRLPOOL 6a6d8b099fa814839bf5b3455b3889205c649ef522b35c3a501831d63d0e916d7747b83ac9b8991f8f8c34b328478d84cf7a12a32161ce0fec37204f9c019e2d
+DIST python-gentoo-patches-2.7.14-0.tar.xz 13428 SHA256 3567feeb8f0c66161efaea1922bbfe4e71f6051533ef5f54a74b6ccf9e0359b6 SHA512 6da5b52065752b54e9215d0f0809c75167dc3690d0e94fa21dd7595626925bc5c1dd065d31b3bd696d7087f3986de145d3a335a29eb7bd77442637a7ec2863c1 WHIRLPOOL ab77023ac66def132d1dce72f98add3108fd7be303ef5b167a2374df3a94949c75f089dcfdd84ed05a5eb813d6c22cfecd0de03b5819817a20b04f30030f5f6d
EBUILD pypy-5.6.0.ebuild 7755 SHA256 db94869c55bbb279fd4b70a945aadb21e333a73804b99215346c1ca416e15a1b SHA512 72803f33258e5382c39af0b567951d54bb2902af449a80f27bb21302e75cadbd1c4ecbdb0743c13d6d8a16e942f5a68f87ee4576b39d7efff43cf3f704843288 WHIRLPOOL 47db1d39582906ce8c1894e43d0e849ca3c1342cc99528e8939f7ff2a8774b8ba58cecb43232ef808b96849a50e89f0b431d64ecdea7fa3b6ba38a19afb3d943
EBUILD pypy-5.7.1.ebuild 7776 SHA256 7a46bb10a331b6718f9a7b5a83709accdfd2fc32480b91812768c0a9f86cc6ff SHA512 00d83430e8ffcb12b8601574a01a0d0d23d4627e32f38025bea333f76e657e1b921dba82c61bd727525ca74582812dcb683218de4d4a3f3a6d0ade721527e927 WHIRLPOOL e3238f4eb5c9c4b17c5c6dfc4cf657e7a09d0cd1b582b41cc8c20365cfad12681f10eab712a2fe173aa30d0bdfd49dd7048555bda4355a24865e56ee190f65b2
EBUILD pypy-5.8.0.ebuild 7707 SHA256 dae2698f117fd55e6fabbaac608ad7d05b0088c0fd75215f4075976cf17ae8c6 SHA512 5470d85e45363e10cf5f5f3ca3cfb656edc79104fd8998906e8b27c2e76d1150d43ea6108c39b68829e95a4c454c2a7d33312ad13a1cdcb7e98fe4804d93c326 WHIRLPOOL a889931458820d130d67b816f4953618e9f6f8d5143e1a905e2fb2c6c48a3ac91890fd05c8a838f6f96e591bcfe484c86495977a0851ba8cc11e51ea990bb2f1
-EBUILD pypy-9999.ebuild 7717 SHA256 2122d3535ce9f3fb1a7b540c56459999071b720763459c9bd58255a1d97972a9 SHA512 4b01aa163cec4154028487422fc6518aead4a87506cf31cd56eaf8f72aed16afde22d56129d9e0e72a178751477d98133c826983fcc44d9f247d96578b343aeb WHIRLPOOL c82a798c46ce1450e2801649d52e0cde4de257b49d98ada3a85bbddb4490a39be5707b768ec34a67cfbf95a0c6fc288a50ab335dbaa0ebce80ed70a8f574b31d
+EBUILD pypy-5.9.0.ebuild 7707 SHA256 260f50bfe25a377baf9157c614586870a77f9f913d511e6eaabe1f69a872001e SHA512 4adb210caa243ce72edc3826a862e9195471383eaf4239ef8839b43202ff0522f6bc969686edb0cc44739e85afb2e8694f35f39bcbf67aa7a60bf7e3c7d0da06 WHIRLPOOL ff01ec077eea7e916d2f01d5b9b8881c30c43966c02b87e4a8a24f19968d8b1d01df7f893424390953b8c5e087f85599f9ce2cd83acec57c7a28f67ed300e63c
+EBUILD pypy-9999.ebuild 7717 SHA256 ef3578ec149463dd4b356dad3a08825f8df79b4cf5c8b40711aa261dffdfcd95 SHA512 fe4b5b06da8d10026952f745ad78ab2912885d3060f363675af109ecc33c2bb701147fb203c719ac7358d6129dc7b422448fabedcab3096881a020ea85391bba WHIRLPOOL 2c9669d1ac5f81c78a692daa685d405533bb1f956e3c53aafa8c5ae9c4c6f90cfe4fe2c355b88d7d6e75abfeb80f304581304721014774a0905333c3295b46e5
MISC ChangeLog 9456 SHA256 2c487622b9a986cf7e958164a53f87c23fec4c87fb491b0d04f5dd96f17f911f SHA512 b639ad32b6eb4e456547d2df9cb739f88e736760ccba2bbbcf044b9140991d2b9a58944ad79dd8199a20a444cd0da79b8a0248f9072d1c4e2fb2e6f299f924ac WHIRLPOOL 6cc1e181530a5a48ac39b6adb8c52d01bd406b7e94f8cb8bd874d25b1eb708c4ee77e52e2bbcc7b40e257e86d1dba3e6db9be387828578d0d28d33b73b0e63b1
MISC ChangeLog-2015 16042 SHA256 657b5025da42db387e3dd4b8ca2b081412e2fbe4ed95d6b633f7058107538777 SHA512 9395cfaefb8972adb9cc709884eec37094387490fd26b1ed51b45fd957348174f17dc577e826e72f758b4ba215d12af3c7c79989187280d8d58032966571ce4b WHIRLPOOL 69229bea7c34d0c718648dedc4aaf1d46e540961f65a577290649b3f799fb7e47116b2bc55d39b00a92291e21755440f0024abae2053217140c50b5b9f145880
MISC metadata.xml 985 SHA256 dbe84c030488808bce73f701c292b2ab6a1110273b6f4638de6108a8d640374c SHA512 cbf2f1765dca5391fa08b8f49836e6a3019ca0e95c6783d6c2ee4937a8c323c3c43cc9873ff8fd396fc2646fffff4474facc3be0472d905c195b6fad8e8a5e58 WHIRLPOOL ad1b1663e3bb18e95be36e1d36aa396b9b96867d2b4fb55bd1f47308b9fc45540b8f125db1f094c9833d71f1d4f48109d75fe4e3eab864d61a87f6cd8e251ef1
diff --git a/dev-python/pypy/files/5.9.0-shared-lib.patch b/dev-python/pypy/files/5.9.0-shared-lib.patch
new file mode 100644
index 000000000000..5d89d3b15a30
--- /dev/null
+++ b/dev-python/pypy/files/5.9.0-shared-lib.patch
@@ -0,0 +1,12 @@
+diff -dupr a/rpython/translator/platform/posix.py b/rpython/translator/platform/posix.py
+--- a/rpython/translator/platform/posix.py 2017-10-05 20:17:25.009954656 +0200
++++ b/rpython/translator/platform/posix.py 2017-10-05 20:17:31.115666386 +0200
+@@ -227,7 +227,7 @@ class BasePosix(Platform):
+ 'int main(int argc, char* argv[]) '
+ '{ return $(PYPY_MAIN_FUNCTION)(argc, argv); }" > $@')
+ m.rule('$(DEFAULT_TARGET)', ['$(TARGET)', 'main.o'],
+- ['$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) -o $@ $(RPATH_FLAGS)', '$(MAKE) postcompile BIN=$(DEFAULT_TARGET)'])
++ ['$(CC_LINK) $(LDFLAGS_LINK) main.o -L. -l$(SHARED_IMPORT_LIB) \'-Wl,-rpath,$$ORIGIN\' -o $@', '$(MAKE) postcompile BIN=$(DEFAULT_TARGET)'])
+
+ return m
+
diff --git a/dev-python/pypy/pypy-5.9.0.ebuild b/dev-python/pypy/pypy-5.9.0.ebuild
new file mode 100644
index 000000000000..0ac7919c6ef2
--- /dev/null
+++ b/dev-python/pypy/pypy-5.9.0.ebuild
@@ -0,0 +1,266 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 pypy )
+inherit check-reqs pax-utils python-any-r1 toolchain-funcs versionator
+
+# note: remember to update this to newest dev-lang/python:2.7 on bump
+CPY_PATCHSET_VERSION="2.7.14-0"
+MY_P=pypy2-v${PV}
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python language"
+HOMEPAGE="http://pypy.org/"
+SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${CPY_PATCHSET_VERSION}.tar.xz"
+
+LICENSE="MIT"
+# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")'
+SLOT="0/41"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 doc gdbm +jit libressl low-memory ncurses sandbox sqlite cpu_flags_x86_sse2 test tk"
+
+RDEPEND=">=sys-libs/zlib-1.1.3:0=
+ virtual/libffi:0=
+ virtual/libintl:0=
+ dev-libs/expat:0=
+ !libressl? ( dev-libs/openssl:0=[-bindist] )
+ libressl? ( dev-libs/libressl:0= )
+ bzip2? ( app-arch/bzip2:0= )
+ gdbm? ( sys-libs/gdbm:0= )
+ ncurses? ( sys-libs/ncurses:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+ !dev-python/pypy-bin:0"
+DEPEND="${RDEPEND}
+ doc? ( dev-python/sphinx )
+ ${PYTHON_DEPS}
+ test? ( dev-python/pytest )"
+
+S="${WORKDIR}/${MY_P}-src"
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if use low-memory; then
+ if ! python_is_installed pypy; then
+ eerror "USE=low-memory requires a (possibly old) version of dev-python/pypy"
+ eerror "or dev-python/pypy-bin being installed. Please install it using e.g.:"
+ eerror
+ eerror " $ emerge -1v dev-python/pypy-bin"
+ eerror
+ eerror "before attempting to build dev-python/pypy[low-memory]."
+ die "dev-python/pypy-bin (or dev-python/pypy) needs to be installed for USE=low-memory"
+ fi
+
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ pkg_pretend
+
+ if python_is_installed pypy; then
+ if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] || use low-memory; then
+ einfo "Using already-installed PyPy to perform the translation."
+ local EPYTHON=pypy
+ else
+ einfo "Using ${EPYTHON} to perform the translation. Please note that upstream"
+ einfo "recommends using PyPy for that. If you wish to do so, please unset"
+ einfo "the EPYTHON variable."
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+ fi
+}
+
+src_prepare() {
+ eapply "${FILESDIR}/4.0.0-gentoo-path.patch"
+ eapply "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
+ eapply "${FILESDIR}"/5.9.0-shared-lib.patch # 517002
+
+ sed -e "s^@EPREFIX@^${EPREFIX}^" \
+ -e "s^@libdir@^$(get_libdir)^" \
+ -i lib-python/2.7/distutils/command/install.py || die
+
+ # apply CPython stdlib patches
+ pushd lib-python/2.7 > /dev/null || die
+ # TODO: cpy turkish locale patch now fixes C code
+ # probably needs better port to pypy, if it is broken there
+ eapply "${FILESDIR}"/5.8.0_all_distutils_cxx.patch
+ eapply "${WORKDIR}"/patches/62_all_xml.use_pyxml.patch
+ popd > /dev/null || die
+
+ eapply_user
+}
+
+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=(
+ --shared
+ $(usex jit -Ojit -O2)
+ $(usex sandbox --sandbox '')
+
+ ${jit_backend}
+
+ pypy/goal/targetpypystandalone
+ )
+
+ # Avoid linking against libraries disabled by use flags
+ local opts=(
+ bzip2:bz2
+ ncurses:_minimal_curses
+ )
+
+ local opt
+ for opt in "${opts[@]}"; do
+ local flag=${opt%:*}
+ local mod=${opt#*:}
+
+ args+=(
+ $(usex ${flag} --withmod --withoutmod)-${mod}
+ )
+ done
+
+ local interp=( "${PYTHON}" )
+ if use low-memory; then
+ interp=( env PYPY_GC_MAX_DELTA=200MB
+ "${PYTHON}" --jit loop_longevity=300 )
+ fi
+
+ # translate into the C sources
+ # we're going to make 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
+
+ # copy back to make sys.prefix happy
+ cp -p "${T}"/usession*-0/testing_1/{pypy-c,libpypy-c.so} . || die
+ pax-mark m pypy-c libpypy-c.so
+
+ use doc && emake -C pypy/doc html
+}
+
+src_test() {
+ # (unset)
+ local -x PYTHONDONTWRITEBYTECODE
+
+ ./pypy-c ./pypy/test_all.py --pypy=./pypy-c lib-python || die
+}
+
+src_install() {
+ local dest=/usr/$(get_libdir)/pypy
+ einfo "Installing PyPy ..."
+ exeinto "${dest}"
+ doexe pypy-c libpypy-c.so
+ pax-mark m "${ED%/}${dest}/pypy-c" "${ED%/}${dest}/libpypy-c.so"
+ insinto "${dest}"
+ doins -r include lib_pypy lib-python
+ dosym ../$(get_libdir)/pypy/pypy-c /usr/bin/pypy
+ dodoc README.rst
+
+ if ! use gdbm; then
+ rm -r "${ED%/}${dest}"/lib_pypy/gdbm.py \
+ "${ED%/}${dest}"/lib-python/*2.7/test/test_gdbm.py || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED%/}${dest}"/lib-python/*2.7/sqlite3 \
+ "${ED%/}${dest}"/lib_pypy/_sqlite3.py \
+ "${ED%/}${dest}"/lib-python/*2.7/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED%/}${dest}"/lib-python/*2.7/{idlelib,lib-tk} \
+ "${ED%/}${dest}"/lib_pypy/_tkinter \
+ "${ED%/}${dest}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
+ fi
+
+ # Install docs
+ use doc && dodoc -r pypy/doc/_build/html
+
+ einfo "Generating caches and byte-compiling ..."
+
+ local -x PYTHON=${ED%/}${dest}/pypy-c
+ local -x LD_LIBRARY_PATH="${ED%/}${dest}"
+ # we can't use eclass function since PyPy is dumb and always gives
+ # paths relative to the interpreter
+ local PYTHON_SITEDIR=${EPREFIX}/usr/$(get_libdir)/pypy/site-packages
+ python_export pypy EPYTHON
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_domodule epython.py
+
+ # Generate Grammar and PatternGrammar pickles.
+ "${PYTHON}" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
+ || die "Generation of Grammar and PatternGrammar pickles failed"
+
+ # Generate cffi modules
+ # Please keep in sync with pypy/tool/build_cffi_imports.py!
+#cffi_build_scripts = {
+# "sqlite3": "_sqlite3_build.py",
+# "audioop": "_audioop_build.py",
+# "tk": "_tkinter/tklib_build.py",
+# "curses": "_curses_build.py" if sys.platform != "win32" else None,
+# "syslog": "_syslog_build.py" if sys.platform != "win32" else None,
+# "gdbm": "_gdbm_build.py" if sys.platform != "win32" else None,
+# "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None,
+# "resource": "_resource_build.py" if sys.platform != "win32" else None,
+ cffi_targets=( 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 "${ED%/}${dest}"/lib_pypy || die
+ for t in "${cffi_targets[@]}"; do
+ # tkinter doesn't work via -m
+ "${PYTHON}" "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
+ done
+
+ # Cleanup temporary objects
+ find "${ED%/}${dest}" -name "_cffi_*.[co]" -delete || die
+ find "${ED%/}${dest}" -type d -empty -delete || die
+
+ # compile the installed modules
+ python_optimize "${ED%/}${dest}"
+}
diff --git a/dev-python/pypy/pypy-9999.ebuild b/dev-python/pypy/pypy-9999.ebuild
index eaf3b675ad26..f028a5b6e80d 100644
--- a/dev-python/pypy/pypy-9999.ebuild
+++ b/dev-python/pypy/pypy-9999.ebuild
@@ -8,7 +8,7 @@ EHG_REPO_URI="https://bitbucket.org/pypy/pypy"
inherit check-reqs mercurial pax-utils python-any-r1 toolchain-funcs versionator
# note: remember to update this to newest dev-lang/python:2.7 on bump
-CPY_PATCHSET_VERSION="2.7.13-0"
+CPY_PATCHSET_VERSION="2.7.14-0"
MY_P=pypy2-v${PV}
DESCRIPTION="A fast, compliant alternative implementation of the Python language"
@@ -95,7 +95,7 @@ src_unpack() {
src_prepare() {
eapply "${FILESDIR}/4.0.0-gentoo-path.patch"
eapply "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
- eapply "${FILESDIR}"/2.5.0-shared-lib.patch # 517002
+ eapply "${FILESDIR}"/5.9.0-shared-lib.patch # 517002
sed -e "s^@EPREFIX@^${EPREFIX}^" \
-e "s^@libdir@^$(get_libdir)^" \