From f7ef866a84bacbcd370fcda8bbabc60374b8ebbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Sun, 5 Nov 2017 15:48:35 +0100 Subject: [PATCH] dev-python/pypy-bin: Sync to dev-python/pypy --- dev-python/pypy-bin/pypy-bin-5.9.0.ebuild | 108 +++++++++++----------- 1 file changed, 55 insertions(+), 53 deletions(-) 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 b528c67b35dd1..0ebeca4356ff9 100644 --- a/dev-python/pypy-bin/pypy-bin-5.9.0.ebuild +++ b/dev-python/pypy-bin/pypy-bin-5.9.0.ebuild @@ -99,60 +99,14 @@ 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 -} -src_test() { - # (unset) - local -x PYTHONDONTWRITEBYTECODE + use doc && emake -C pypy/doc html - ./pypy-c ./pypy/test_all.py --pypy=./pypy-c lib-python || die -} - -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 - pax-mark m "${ED%/}${dest}/pypy-c" "${ED%/}${dest}/libpypy-c.so" - 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 + einfo "Generating caches and CFFI modules ..." # Generate Grammar and PatternGrammar pickles. - "${PYTHON}" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \ + ./pypy-c -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \ || die "Generation of Grammar and PatternGrammar pickles failed" # Generate cffi modules @@ -174,15 +128,63 @@ src_install() { local t # all modules except tkinter output to . # tkinter outputs to the correct dir ... - cd "${ED%/}${dest}"/lib_pypy || die + cd 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}" + ../pypy-c "_${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 + find -name "_cffi_*.[co]" -delete || die + find -type d -empty -delete || die +} + +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 + + local -x PYTHON=${ED%/}${dest}/pypy-c + # 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 + + einfo "Byte-compiling Python standard library..." # compile the installed modules python_optimize "${ED%/}${dest}"