diff options
Diffstat (limited to 'dev-python/pypy-bin')
-rw-r--r-- | dev-python/pypy-bin/Manifest | 2 | ||||
-rw-r--r-- | dev-python/pypy-bin/pypy-bin-5.9.0.ebuild | 82 |
2 files changed, 43 insertions, 41 deletions
diff --git a/dev-python/pypy-bin/Manifest b/dev-python/pypy-bin/Manifest index b25341ed535b..b493c0023fbe 100644 --- a/dev-python/pypy-bin/Manifest +++ b/dev-python/pypy-bin/Manifest @@ -16,7 +16,7 @@ DIST pypy2-v5.9.0-src.tar.bz2 19175394 SHA256 de4bf05df47f1349dbac97233d9277bbaf 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-bin-5.8.0.ebuild 5819 SHA256 a328766890d2a892513e895518884de98f67d3cf7429aaf18bcd7e182fcf872e SHA512 8ba2d88b641b86a6b7a64f271b56a80aa98139307bb4e294cba6f4ed34a0821a7fae66ec037cbdbf6a6fa00b2d381044b81b24c3f805345c2de77bac0e60b7cf WHIRLPOOL a877c7eec69b9020756a8e0addbc854e2656f897adf476f3fca341a7ed8e24061476843a551611dc6df6b5db1808a5692aaf9e99a50c65855317ad519ea9af3a -EBUILD pypy-bin-5.9.0.ebuild 5819 SHA256 775790b1cb15fe94d626c5622ffc903fecdfb0cb0a3b9577223d2c54776d421d SHA512 fbc7150be4c5ec2fcd59e6727c2bd439257766d09c1b31aab6a3a4702447955193d8fe58723f90f50db2a7d57eb5bd58c124aa0043f06feb0a1aaf986e51b8ac WHIRLPOOL 9fe05ae695e9dc4a6e1db8054189dae98cd3adc9cf4b4ab38e7270bc224a8dfed41b579517e0240ba54523676f89a54fa41f8b75aa0ed0e9dee758610e5c7445 +EBUILD pypy-bin-5.9.0.ebuild 5672 SHA256 48d3ec8dfac15e52212e697c1f0e875fd8482c2c682d8fea9087112d01e70dbf SHA512 344ed0c59b61d6a31021b811e68b5c74762d96286ad21dcaebb05f18ce6c7a32d501d6a2d1df577fb0e6a275a40e2be2c328465459741487924a259895752185 WHIRLPOOL 1ab2cf626a999b039605a8f76c35ff773936bd4590f0f57ed4825c5a93d019014916f1b736a1c824e1fedcd60ed12fd1e05f3fef912743e0a92c99244f270ab2 MISC ChangeLog 9199 SHA256 9c47a49b40abc59f48abeb8422551c11d6fd22baa080d4748c480f998e4ab4b9 SHA512 f29475889f803f8e330e2811bd96aebb6bb829ca8043056ca539edacb6d513f772dd4b192a85b995caa626f468ce5bec3f98acbc8dcf41f54f16cebaf6783325 WHIRLPOOL 4231ef2b20556aa4e6853f40f1f89f58205206ea069204efe33ec2a2a5553e3e03d83c3e21b55226b64c4ee377d747b0e6352cc37f0e3b7f93c2862bd3c6ada0 MISC ChangeLog-2015 7187 SHA256 ea84ecd028b95b790792d4f80386a8c5884a667de5de21d37747412ac6868d66 SHA512 afd832969505f5ea599a10a629fe0e068c3282d5b8f3d880dc04818e25034c9df1821b0dea2b623b91ae6561ca82ec9de6c4907badcc2befc2230dec986c9302 WHIRLPOOL 05c59d774d47ac5eabd74c1af2044ba0c2d2fdd0f4b3bb8f4cc9914c65a8133dcf59ee047c13d676783a84b28a4ea9c2fcbd9c910ec6057581b9c3ca227ef410 MISC metadata.xml 317 SHA256 2aec924d1dd9649258f8fa5468e176864976d3516e72cd7a5828a485f30931a4 SHA512 65d1795605d0120c94911b2c295d8da13e01f9ac6b0750a7d536be64bf5244e20e2bb7286b33e75346e0dea333dc8970c4dcf0e98842e28f5a202ee2ddbba294 WHIRLPOOL 9f43842af1bdced8a7ba6b47f57def4960f066272a625063b508431c007ef51bd13149afbb3f1a136160778ee3dedb4f5f4b98f43e0edc22c7c714ba2b3481cb diff --git a/dev-python/pypy-bin/pypy-bin-5.9.0.ebuild b/dev-python/pypy-bin/pypy-bin-5.9.0.ebuild index b528c67b35dd..0ebeca4356ff 100644 --- a/dev-python/pypy-bin/pypy-bin-5.9.0.ebuild +++ b/dev-python/pypy-bin/pypy-bin-5.9.0.ebuild @@ -99,9 +99,44 @@ src_compile() { mv pypy/module/cpyext/include/* include/ || die mv pypy/module/cpyext/parse/*.h include/ || die - use doc && emake -C pypy/doc/ html - #needed even without jit :( also needed in both compile and install phases pax-mark m pypy-c libpypy-c.so + + use doc && emake -C pypy/doc html + + einfo "Generating caches and CFFI modules ..." + + # Generate Grammar and PatternGrammar pickles. + ./pypy-c -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 curses syslog pwdgrp resource ) + use gdbm && cffi_targets+=( gdbm ) + 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 + + # Cleanup temporary objects + find -name "_cffi_*.[co]" -delete || die + find -type d -empty -delete || die } src_test() { @@ -114,10 +149,11 @@ src_test() { src_install() { local dest=/usr/$(get_libdir)/pypy einfo "Installing PyPy ..." - insinto "${dest}" - doins -r include lib_pypy lib-python pypy-c libpypy-c.so - fperms a+x ${dest}/pypy-c ${dest}/libpypy-c.so + 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 @@ -139,10 +175,7 @@ src_install() { # 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 @@ -151,38 +184,7 @@ src_install() { 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 curses syslog pwdgrp resource ) - use gdbm && cffi_targets+=( gdbm ) - 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 + einfo "Byte-compiling Python standard library..." # compile the installed modules python_optimize "${ED%/}${dest}" |