commit:     624a078c22fcf20b175a151c8533cf6c9a744432
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Nov  8 23:49:48 2015 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 23:49:48 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=624a078c

dev-python/pypy-bin: Add binpackages for 4.0.0

 dev-python/pypy-bin/Manifest              |   8 ++
 dev-python/pypy-bin/pypy-bin-4.0.0.ebuild | 194 ++++++++++++++++++++++++++++++
 profiles/package.mask                     |   3 +-
 3 files changed, 204 insertions(+), 1 deletion(-)

diff --git a/dev-python/pypy-bin/Manifest b/dev-python/pypy-bin/Manifest
index 14abab2..81398f5 100644
--- a/dev-python/pypy-bin/Manifest
+++ b/dev-python/pypy-bin/Manifest
@@ -1,6 +1,7 @@
 DIST pypy-2.4.0-src.tar.bz2 15495214 SHA256 
38810007aee4885ca0703b566db6594dd7649adaaa287df7a1012f10e067740f SHA512 
91b41ed80a6ff0d7b2b134a7802f098de35ffd2068dc3e477d27b0bc821c6d329eb8bcad4db4a5ff9ff429830d4abfbeb435a2a2d2d9bbc2c36f2d21af0b2e0c
 WHIRLPOOL 
affb14b805b2dcb8b579dd421bfb8276e80d3b31cea41bf57ad5dd9260e2e27d838b0303e4a3af5ca38b0b4f08ac88b142d6f1db20753bec6f8cbfdfc482099b
 DIST pypy-2.5.1-src.tar.bz2 16740876 SHA256 
ddb3a580b1ee99c5a699172d74be91c36dda9a38946d4731d8c6a63120a3ba2a SHA512 
ac4cab47566d7d4e1a293a680e0dffa301c99a8329c2e68f645f186c0266cbe8f045a03e392c0cc2112a16178037cd978b7867ad073bf5dd957dd19f4c818067
 WHIRLPOOL 
6f16c4090780081dfe1d4642186262c66d4ac1a4b3b8311e573bfa6029eb7aac0483b3e48cad5ce03879391a4e316c0186d33fac5e86d0024ff20cc6d4dc0dd3
 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-bin-2.4.0-amd64+bzip2+jit+ncurses+shadowstack.tar.xz 10238896 SHA256 
158ebb6bef9e77c0ea84ade4449717a608f3e2378b18a198a15187f49f240262 SHA512 
3baa4387336ee343949ff7a04de236ef6da1446efa9ae565a61abd6d5d3915d54b51d91d4958b8c1ec61d894943804ea1158c0618349fc4c9e52a8956a4afa56
 WHIRLPOOL 
a2803b6f42a35b74761af918be7c33a460bac246fdaba3c1ca34b3dcff6bbe1f68a1a4299123ce167664516b7e29bc8450cdb6be196313657f2178259b3783a6
 DIST pypy-bin-2.4.0-amd64+bzip2+jit+ncurses.tar.xz 11771744 SHA256 
4a05b8819486693c83af7cf45092926526f5511615b6d4181f72e11ac240f263 SHA512 
d8e5c1c1721935fe73254fc3037176ad3c71d96acd55d8bcd15bc7b317a72261b7e08a6ae28cb62bfb2203f06b13839670b5da3e435cd87c0f65fea259be2732
 WHIRLPOOL 
496f244487146e1acd34981b3ec4af81590b136b884f0cb698fc35698cadfad1e278ad627563fd643294c49e1ea27f05c180dd05b3f6d2d4079527775ef4ec90
 DIST pypy-bin-2.4.0-amd64+bzip2+ncurses.tar.xz 6596304 SHA256 
f2f2fa539ec1f3fd048bd81bb5fa54f260980fe9689c578f134f39ecf00aa027 SHA512 
e8603ba08a11c1cbd9d3af824aca1c4ae7b61d46879b398d5d18428bc438c2e0bd0fd9ecd83f100715b635968eee3805db18a42ab62fbc10d8cd0186b6998431
 WHIRLPOOL 
2758fc778a1f9e5db966aa1e5a47a8da8c1fbb5882aa74ba9709c23e1b3a546c826de8ea4ba83e5baae262a51636d7201445102c97d4c749a98805a46aeac9ba
@@ -22,4 +23,11 @@ DIST 
pypy-bin-2.6.0-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz 9727668 SHA256
 DIST pypy-bin-2.6.0-x86+bzip2+jit+ncurses+sse2.tar.xz 10769552 SHA256 
c985a47cf30b272b2b18794f1274af9d7f83037780545c6076b50e5df4ed5161 SHA512 
b2a4d62133022b4677c869e345068eb312e71f1bd7f4351131fa9b0874903d6c81f22db47ec8e717b8243997263219d52b67135d7becba7a5c8f6d2ac3f9179c
 WHIRLPOOL 
4e62d8a943faee2fbb2d34e077ab8292cd3a985347ded90fef83740ce26f6e9e1265a77b736f831df0f48da58b047b92363bbb646cfe0322045ebf2521c63e14
 DIST pypy-bin-2.6.0-x86+bzip2+ncurses+sse2.tar.xz 5823376 SHA256 
c0e6d23ae866aa7c272891b755b197f37c9be9c59666e74be86a7c68bec2e9b8 SHA512 
227da4e84f915c4aa8e176a3535e97968dbbc4eab93ab092ad8c70841a60d00ce15e4579222f777f75a06f1022b3f54b1f4a490fdd25886dc087df581d5ae0df
 WHIRLPOOL 
d44c3005f0b6103cfb700390a44b08bbac1118ec9e7930a6e050b36f5d806019a716f7a46aa1b32e39f036453967d16feb6b587950c34cf6b5f9d55b54819577
 DIST pypy-bin-2.6.0-x86+bzip2+ncurses.tar.xz 5801592 SHA256 
fd3ad04815cda1f2746a2dfa9c02f5394f73011fd1247016e6a6d760cef30dab SHA512 
b23afff4ba9c9dd2246b3305de8274699a00db8d0bc38d59641414fde0680695373cda12fbd4091f6a06df6c4ce548355b7cdadb299a0ba9a0efedd90680df21
 WHIRLPOOL 
3554ff89fbe434e099d95c528d1b2414decd46b802f357f187fb21835a8b4c8fe5b10001ad311827d01bbbf71dcf1cf89bd9e081dbbe1706f2727bf35ca0337b
+DIST pypy-bin-4.0.0-amd64+bzip2+jit+ncurses+shadowstack.tar.xz 13016728 SHA256 
07c2c34f234af5dfaabb88338ae2c6c29457e3f089fefc16f1a3f17bea061e0e SHA512 
5017fbb6ea25599e7741824a80f045c769564235c825198d6994553afc72072857f0971e6692c237bc5e13893aa7a11538b3fbbc5e91cfe4d31e721f0d27579f
 WHIRLPOOL 
f2437c39873198101545cb64173f5e833663bed41d0645cc0695c3dc50b2a7552581030f7e7f0da79cf3415fe0926afc5b8ad90be1fad0df1a12ff45c5229eca
+DIST pypy-bin-4.0.0-amd64+bzip2+jit+ncurses.tar.xz 14072368 SHA256 
1f1335cd73213a4804cd8462e301e2925851b402e4ad0aef5a1f2039909e418d SHA512 
fdac72eb3c772cd960a7fd77b0d3cff57bd329a2f60fa2f56b5750de1426a4e3b7271e159f987fe8545339a02d85e0ff76baa600c9a5e5f880b83bf9eaa35904
 WHIRLPOOL 
d6ed5d6f8796144e7b4b0ee1e06482cf7ab639ffedca7c1086eaf0b5dfb499d5fba71ded825d918a7b386c0db884aa83feaebc052fcc18961ec35679430a6ce5
+DIST pypy-bin-4.0.0-amd64+bzip2+ncurses.tar.xz 7500936 SHA256 
d4c698d705d95a24b0a9083aab4a82421aaf159c22fd68fe1870a9dc65152f2f SHA512 
430489055fe1012158a56b787775a7af6279e1bc12e33a6ef54a50f8e0a580d9bda2c9871b4613901f2b47737a721638e68e94053028ce344d45e31f3dfcd283
 WHIRLPOOL 
8e8907ed22c213018b4a69297513a6234711372f5afcfe2b1714858820d4d3900aa9f7949071d17bdd913b883076846dd3379921cccdd986fdbd22c0489010aa
+DIST pypy-bin-4.0.0-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz 9944576 
SHA256 e6aa40af0e38ac7114767cb072734aac905dacd83748b46ba16d24ee47823ccf SHA512 
2b69f55c878c342038f28e5fb0c3053cfeb4ca509c923a67fc58d132dc210bc2618e63ff83254cd2557bc55dc4a4f099e69a96817c9be99d1aed9524b2b3dafd
 WHIRLPOOL 
74f26b726c9a8f8b571bd2c6eb9f549a62b47549815ddf2041318ac798e9d7e4c4e7a6a0865aa39abe144bc1687f490b2c8e3712ba35b5492fc151b57596b08e
+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 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.0.ebuild 
b/dev-python/pypy-bin/pypy-bin-4.0.0.ebuild
new file mode 100644
index 0000000..8564498
--- /dev/null
+++ b/dev-python/pypy-bin/pypy-bin-4.0.0.ebuild
@@ -0,0 +1,194 @@
+# 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="A fast, compliant alternative implementation of the Python 
language (binary package)"
+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}/1.9-scripts-location.patch" \
+               
"${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
+
+       # 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 ..."
+
+       python_export pypy EPYTHON PYTHON PYTHON_SITEDIR
+       local PYTHON=${ED%/}${INSDESTTREE}/pypy-c
+       local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
+
+       echo "EPYTHON='${EPYTHON}'" > epython.py
+       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}"
+}

diff --git a/profiles/package.mask b/profiles/package.mask
index 635d954..6f68a3b 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -31,8 +31,9 @@
 #--- END OF EXAMPLES ---
 
 # Michał Górny <[email protected]> (08 Nov 2015)
-# Mask for testing and binary package build.
+# Masked for testing.
 =dev-python/pypy-4.0.0
+=dev-python/pypy-bin-4.0.0
 =virtual/pypy-4.0.0
 
 # Patrice Clement <[email protected]> (07 Nov 2015)

Reply via email to