commit:     3d41060bb504da5fb2dd2de649a058fe4ef81b53
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 27 19:13:50 2015 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Nov 27 19:49:29 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d41060b

dev-python/pypy-bin: Bump to 4.0.1

 dev-python/pypy-bin/Manifest              |   8 ++
 dev-python/pypy-bin/pypy-bin-4.0.1.ebuild | 201 ++++++++++++++++++++++++++++++
 2 files changed, 209 insertions(+)

diff --git a/dev-python/pypy-bin/Manifest b/dev-python/pypy-bin/Manifest
index 8409437..cbbf863 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 0000000..c2c94e8
--- /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}"
+}

Reply via email to