diff options
author | Michał Górny <mgorny@gentoo.org> | 2015-11-27 20:13:50 +0100 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2015-11-27 20:49:29 +0100 |
commit | 3d41060bb504da5fb2dd2de649a058fe4ef81b53 (patch) | |
tree | 55349f03d69339f1fd7917d29d6670901d009103 /dev-python/pypy-bin | |
parent | dev-python/pypy: Bump to 4.0.1 (diff) | |
download | gentoo-3d41060bb504da5fb2dd2de649a058fe4ef81b53.tar.gz gentoo-3d41060bb504da5fb2dd2de649a058fe4ef81b53.tar.bz2 gentoo-3d41060bb504da5fb2dd2de649a058fe4ef81b53.zip |
dev-python/pypy-bin: Bump to 4.0.1
Diffstat (limited to 'dev-python/pypy-bin')
-rw-r--r-- | dev-python/pypy-bin/Manifest | 8 | ||||
-rw-r--r-- | dev-python/pypy-bin/pypy-bin-4.0.1.ebuild | 201 |
2 files changed, 209 insertions, 0 deletions
diff --git a/dev-python/pypy-bin/Manifest b/dev-python/pypy-bin/Manifest index 840943796594..cbbf863b4b10 100644 --- a/dev-python/pypy-bin/Manifest +++ b/dev-python/pypy-bin/Manifest @@ -1,5 +1,6 @@ DIST pypy-2.6.0-src.tar.bz2 16858400 SHA256 9bf353f22d25e97a85a6d3766619966055edea1ea1b2218445d683a8ad0399d9 SHA512 82a6a44c0c551a1291215394610e5331cf83216b38ac9f1a79a3eab53ba2933b121c3154b58cead814c73a1da1fc95d895324bb0c43e8e0429438b0dea527cc4 WHIRLPOOL e536ff5d3b393c6834fd721f383318b5dcef79046f475b0f1fe737c67c56e8769cabc0a35f553da5dc475a255c5711de01bd6d42e541cabbab3b9e30f20c9a5c DIST pypy-4.0.0-src.tar.bz2 17244624 SHA256 acff480e44ce92acd057f2e786775af36dc3c2cd12e9efc60a1ac6a562ad7b4d SHA512 2bbdc2536a32b0aa28f7b12ec3d879ed28afe984fad38635bc3e1d950a9fe198cfbaf9b554f0fa245e7fd512ec7a76297f05a1d3e17f73fb49e8506561190f5b WHIRLPOOL e94bdf5e8ea2cbab8e25d37bb7cb36b9bae773ec051d603cfce784e0fd8e591ed16e6896f49d14d9ae094c5f613a0ba871380c8adc2a1cf0023157e3e2a51f52 +DIST pypy-4.0.1-src.tar.bz2 17172844 SHA256 29f5aa6ba17b34fd980e85172dfeb4086fdc373ad392b1feff2677d2d8aea23c SHA512 66358cc3fe9ccb402b717379c48731aca8f9f85a1a754a54e3a060113398955b87a3f3048ba731a93be4b49c0f5c7e3bac49dc4523263e1bf4f4b5149d5db5c4 WHIRLPOOL 656a6c60aeb26cb6355db121a92bafcf2b744a7f09dccf21b4a16052c0117d239891ccf6762fcb4fee7f913862263c589becd5984498edc4a8b6d55784957994 DIST pypy-bin-2.6.0-amd64+bzip2+jit+ncurses+shadowstack.tar.xz 12713852 SHA256 5a23efc74a73f2073d14975949b29b46f85eb815e40fe617d788bcc8463914c2 SHA512 3dbb73047365ab39f328b1c48f370015577ac68aa8ae331d2f49b89a65f2146fa9f53629c33e424ca3949e03caf1b7616c852bd65f49a635a0a3d600f1f252ae WHIRLPOOL fdb1f43231a2e0b99f9a4db6077cda172160514b8504def1f925a66521033a522710b68f7755363701639069bb8d20edfc627dc4fb8c04015b78214581c0999d DIST pypy-bin-2.6.0-amd64+bzip2+jit+ncurses.tar.xz 13707848 SHA256 f989708173de093a9d98f190b249a8ed32642fe96ace548f231457e4c743ce57 SHA512 c45cc995349f30630ae14171125bb2ddf8974a77eb817f01a0d86845050832932ca00f3d2c0fcabb15649d3b19a19cfa55d515a90e750d507828ec598aaf998e WHIRLPOOL 3e07920c7bbc9217dccbad948dd404af808c441a725c804e90b2a427fb37fbaaa08dbe12f1ad970292b301e4dd2c0014442761839290a8c7f39a3a11bf6a4019 DIST pypy-bin-2.6.0-amd64+bzip2+ncurses.tar.xz 7440860 SHA256 b86d2c6939949c16f745729082ee35ef221a48d745f98d0d9a09897187412ca9 SHA512 de9bfe9ddd342e806c59477e333c22afc672175fa3207519379c71d8d359b004a187ac0ed59211347beb562802daa05ba4e6cbb08dd8ad3587c2c9be41ed1307 WHIRLPOOL d62aec345b8a98b3ab790a2588108745c4e0203e8a76580ee700c2379b22215b141141c31d41ab211c451713aadebf05ae0f9cdd1e2b318b73e43a6f2a5ff76f @@ -14,4 +15,11 @@ DIST pypy-bin-4.0.0-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz 9944576 SHA256 DIST pypy-bin-4.0.0-x86+bzip2+jit+ncurses+sse2.tar.xz 11065800 SHA256 b6275632bc7901affbad59c6ee773c42bb4df0d449565a2a69beeb6b3dfedd70 SHA512 eff3d32aa3a1a106b581c715bfe2db121ce66fe60cec94e7533c1096fdec2c599a6141d688af10a51dff4e1b6ee4805d2b07ea1bdea28f343923b8a6f315b8e2 WHIRLPOOL b2d50c065dfc93fe1be3e588810586041bd42a21ca13d7b568cd1da6c2a79a4467c490fa8636315ef9a369bd914eb338c235dbea8a4b639002e8efef39aa5592 DIST pypy-bin-4.0.0-x86+bzip2+ncurses+sse2.tar.xz 5822756 SHA256 b254570e2414f6c420146a07390260d63218e327c07d6c5048893f3ce56b78f7 SHA512 7354dbb7a6bb48ee7845ea3e99773381e845d1be1bd2b784c90596ceb01a4192d5bcef9bbe1bbf377d5ce9189e19d2d08d4701e948a04b1e5e54f83dc33f9cb5 WHIRLPOOL c5ff5a335f5bbd5a337aff0a2b4a66636228dc7c81c85fccdd885f2411d88cb5e795c2931b8d7d7f3baed89c0a01d7b858b25b792fd30a55cf25b948e9df1899 DIST pypy-bin-4.0.0-x86+bzip2+ncurses.tar.xz 5803376 SHA256 8f7a87c48801ecc5825a00659b691125a7700c6e8d4f0e67a6c3a5dd7f4c1fc2 SHA512 678b98a093817508e23e3d55cfa514520f0f2b2d2dab3088a9b4481744eb39fe8d9ee4fbe81744c4fdab86c2cc53913bd2f63cda64a9d74166a900da7bb28aae WHIRLPOOL 0638426bc82903d0244c54a2bacb22061031c7b7f13b51a3af9911eb8abceed0d7ddb7e7d4ec3b48096d217eecee9058fbeaacb1d1705a88e643a20e58958318 +DIST pypy-bin-4.0.1-amd64+bzip2+jit+ncurses+shadowstack.tar.xz 13085168 SHA256 79ab082d2d61a46ef80759455e06afa340a8d31b3eeb5f88f47b7a1bc3370562 SHA512 dd2a0b53bd86511a5e6c8fe4cdc78cda34911082e185d5e5cbe29343132f4e3b7e86e8ed1d826c2937ae9c72aec9944ace8108d0739ad0a83b9869e61fc4e541 WHIRLPOOL b8c1282a408e60006ac8afe8aae1af89b6603ab38961dac188c3474df39db101f8c2b8c887eeca30b34f8f6a84b34161275b4433f380f463cb29d86d118c7ec0 +DIST pypy-bin-4.0.1-amd64+bzip2+jit+ncurses.tar.xz 14142344 SHA256 8251d5ac21e7cf49866ee2dfb16656a2369dc23bc8c6f50ac2439631240dc60f SHA512 ba4e4d952e895d11f164a128943d048af880077ee6d5f77154ac9dad9f46188232ff4e33b3d07f67917abfcb79ec8a55e71c2c2d4c287c6616a9b48148615221 WHIRLPOOL 14e03438503e5d914b21d91eb706a58e4772372dce300f6b4aa9be54b86b84c79b7f437d19d010a32988d92fa3645f633f70c241c6a2d6f077c204185529d328 +DIST pypy-bin-4.0.1-amd64+bzip2+ncurses.tar.xz 7524080 SHA256 0417f17763a683928534f9394c183742dca917b2ec5c06e8d241bc86deab0860 SHA512 3a048b8a1af3df6b4a3c7611e8fd4d7586805f1f6e56f7a414f7b4b2b2e84d68307f732491c6fe2d72991b4505b841de9870ac1207f9f0799d41a73c9fa69673 WHIRLPOOL fadd736ff0bd8e8a03755b5f8992e86ed14773bc566cadeae17ce326122d5d9ce422ac5b33b80105b0d0f786d03e1aacf714798ec665dd5acbcef87de3bb3266 +DIST pypy-bin-4.0.1-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz 9948032 SHA256 d77948a7fd055303fe261f3364128793e61aa49bbad06488f924331082eb9fe4 SHA512 c7269694195064ed7ca5464d79b2efd3ad0ae7d409e3694a6b1cb7c9fb99a460f55393f02db795875214243ba616de58ec321f39e97c1eb6fa1ba3365fb56dbf WHIRLPOOL 394176b7bbd4d8cefe44cb209a0479eddb588f31c429f4576bd3f6d9f8497ae0108567a8f3f9d5a272170f61197635abc589bbb32ba5b59687ead5d64736f69d +DIST pypy-bin-4.0.1-x86+bzip2+jit+ncurses+sse2.tar.xz 11110500 SHA256 7cf8334c8f6fbdfbc4a08b8767e23bbe51f8082ad190c109b9e5d6fa7e1c5b77 SHA512 c5f9ee5997c84ea190d40ce0af052e6a401e4ad104ddc5bab69426913c29d0affe87a7fcb688fb7ad6862a7cd74ad4e8675ecdc8c0efe918cdef23f7516fabdb WHIRLPOOL 692ecfadda6020981510aa1ac85c4b8ff6ed6addf6b1f9fc2a7ca3a98e1630efd5fee917e3c6a25d7c7298ebbc9da7f4f9b628529896f0ca2de7149fc7496739 +DIST pypy-bin-4.0.1-x86+bzip2+ncurses+sse2.tar.xz 5820624 SHA256 480b5fdfcc8757dfd44a3368627944c1234835ee01259572f94587fd134e74c4 SHA512 62f0b7c81fc7d3e71a4d43c81a8f212026d0390e52da2aa7ebb5f19d17bd1c8ce7c4760b9317e2782eba536e07f21afc19ab3a4c3bc04c5a28360a52ec7e1bb7 WHIRLPOOL af25d3b7903969a4488a5051b9dca8bea3987e6f4b16a8ff11e0d5089e3b788b9d2df4550f068ffb63d52f04f7f0ebb4f3ff9288d31b5f773b30cef90a80bafa +DIST pypy-bin-4.0.1-x86+bzip2+ncurses.tar.xz 5820156 SHA256 fa4cd54bcb42a189ab58fde4717af940700f94d50ada2452780f2ea71963313f SHA512 7c3fbdcdddb7f743706a69874d83634f8a7a58695136737187735fe884c89e46c17b12bba8ad8aada67ebc711a096a6d193bf2af56cecf39f28f07d7161fd882 WHIRLPOOL 7aececedc47931eb1d798dba3709c3e6d74079aead655794f77270ffe2ecd6b421b10a7ed91fd5d2e7ed83a58a65c16d2b37f5725362694ee241f4f715b6d3f0 DIST python-gentoo-patches-2.7.10-0.tar.xz 12892 SHA256 c9a838bd62ae50cc385da23a837acfd05f2b74e4f086c9c76eb4d3aa5366ef6d SHA512 5f100944635e360691dc0a2b340a906646c4ae9ee558246ddffc56e8b15d389f25f1fbdc1db4cc08e7d29560d04d66b058b3904902899d58ecae8c408ebdf056 WHIRLPOOL f69e9a518bb7ee50c1b262a21e70e1e2443f859ee6d2f4fa84421120dbd054a06ce8dd6cfea8512cbc64bce806322b879c25c561d5eb05e1ba6cc15035b373a9 diff --git a/dev-python/pypy-bin/pypy-bin-4.0.1.ebuild b/dev-python/pypy-bin/pypy-bin-4.0.1.ebuild new file mode 100644 index 000000000000..c2c94e896819 --- /dev/null +++ b/dev-python/pypy-bin/pypy-bin-4.0.1.ebuild @@ -0,0 +1,201 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 pypy ) +inherit eutils multilib pax-utils python-any-r1 versionator + +BINHOST="https://dev.gentoo.org/~mgorny/dist/pypy-bin/${PV}" +CPY_PATCHSET_VERSION="2.7.10-0" + +DESCRIPTION="Pre-built version of PyPy" +HOMEPAGE="http://pypy.org/" +SRC_URI="https://bitbucket.org/pypy/pypy/downloads/pypy-${PV}-src.tar.bz2 + https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${CPY_PATCHSET_VERSION}.tar.xz + amd64? ( + jit? ( shadowstack? ( + ${BINHOST}/${P}-amd64+bzip2+jit+ncurses+shadowstack.tar.xz + ) ) + jit? ( !shadowstack? ( + ${BINHOST}/${P}-amd64+bzip2+jit+ncurses.tar.xz + ) ) + !jit? ( !shadowstack? ( + ${BINHOST}/${P}-amd64+bzip2+ncurses.tar.xz + ) ) + ) + x86? ( + cpu_flags_x86_sse2? ( + jit? ( shadowstack? ( + ${BINHOST}/${P}-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz + ) ) + jit? ( !shadowstack? ( + ${BINHOST}/${P}-x86+bzip2+jit+ncurses+sse2.tar.xz + ) ) + !jit? ( !shadowstack? ( + ${BINHOST}/${P}-x86+bzip2+ncurses+sse2.tar.xz + ) ) + ) + !cpu_flags_x86_sse2? ( + !jit? ( !shadowstack? ( + ${BINHOST}/${P}-x86+bzip2+ncurses.tar.xz + ) ) + ) + )" + +# Supported variants +REQUIRED_USE="!jit? ( !shadowstack ) + x86? ( !cpu_flags_x86_sse2? ( !jit !shadowstack ) )" + +LICENSE="MIT" +SLOT="0/$(get_version_component_range 1-2 ${PV})" +KEYWORDS="~amd64 ~x86" +IUSE="doc gdbm +jit shadowstack sqlite cpu_flags_x86_sse2 test tk" + +# yep, world would be easier if people started filling subslots... +RDEPEND=" + app-arch/bzip2:0 + dev-libs/expat:0 + dev-libs/libffi:0 + dev-libs/openssl:0[-bindist] + sys-libs/glibc:2.2 + sys-libs/ncurses:0/6 + sys-libs/zlib:0 + gdbm? ( sys-libs/gdbm:0= ) + sqlite? ( dev-db/sqlite:3= ) + tk? ( + dev-lang/tk:0= + dev-tcltk/tix:0= + ) + !dev-python/pypy:0" +DEPEND="app-arch/xz-utils + doc? ( ${PYTHON_DEPS} + dev-python/sphinx ) + test? ( ${RDEPEND} )" +PDEPEND="app-admin/python-updater" + +S=${WORKDIR}/pypy-${PV}-src + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + use doc && python-any-r1_pkg_setup + fi +} + +src_prepare() { + epatch "${FILESDIR}/4.0.0-gentoo-path.patch" \ + "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" + + 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 + epatch "${FILESDIR}"/2.5.0_all_distutils_cxx.patch \ + "${WORKDIR}"/patches/22_all_turkish_locale.patch \ + "${WORKDIR}"/patches/62_all_xml.use_pyxml.patch + popd > /dev/null || die + + epatch_user +} + +src_compile() { + # Tadaam! PyPy compiled! + mv "${WORKDIR}"/${P}*/{libpypy-c.so,pypy-c} . || die + mv "${WORKDIR}"/${P}*/include/*.h include/ || die + mv pypy/module/cpyext/include/*.h include/ || die + mv pypy/module/cpyext/include/numpy 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 + + # ctypes config cache + # this one we need to do with python2 too... + ./pypy-c lib_pypy/ctypes_config_cache/rebuild.py \ + || die "Failed to rebuild ctypes config cache" +} + +src_test() { + # (unset) + local -x PYTHONDONTWRITEBYTECODE + + ./pypy-c ./pypy/test_all.py --pypy=./pypy-c lib-python || die +} + +src_install() { + einfo "Installing PyPy ..." + insinto "/usr/$(get_libdir)/pypy" + doins -r include lib_pypy lib-python pypy-c libpypy-c.so + fperms a+x ${INSDESTTREE}/pypy-c ${INSDESTTREE}/libpypy-c.so + pax-mark m "${ED%/}${INSDESTTREE}/pypy-c" "${ED%/}${INSDESTTREE}/libpypy-c.so" + dosym ../$(get_libdir)/pypy/pypy-c /usr/bin/pypy + dodoc README.rst + + if ! use gdbm; then + rm -r "${ED%/}${INSDESTTREE}"/lib_pypy/gdbm.py \ + "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_gdbm.py || die + fi + if ! use sqlite; then + rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/sqlite3 \ + "${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py \ + "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_sqlite.py || die + fi + if ! use tk; then + rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/{idlelib,lib-tk} \ + "${ED%/}${INSDESTTREE}"/lib_pypy/_tkinter \ + "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die + fi + + # Install docs + use doc && dohtml -r pypy/doc/_build/html/ + + einfo "Generating caches and byte-compiling ..." + + local -x PYTHON=${ED%/}${INSDESTTREE}/pypy-c + local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}" + # 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, + cffi_targets=( audioop curses syslog gdbm pwdgrp ) + 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%/}${INSDESTTREE}"/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%/}${INSDESTTREE}" -name "_cffi_*.[co]" -delete || die + find "${ED%/}${INSDESTTREE}" -type d -empty -delete || die + + # compile the installed modules + python_optimize "${ED%/}${INSDESTTREE}" +} |