From 624a078c22fcf20b175a151c8533cf6c9a744432 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Mon, 9 Nov 2015 00:49:48 +0100 Subject: 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 ++++++++++++++++++++++++++++++ 2 files changed, 202 insertions(+) create mode 100644 dev-python/pypy-bin/pypy-bin-4.0.0.ebuild (limited to 'dev-python') diff --git a/dev-python/pypy-bin/Manifest b/dev-python/pypy-bin/Manifest index 14abab2af9a..81398f5206f 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 00000000000..85644981b21 --- /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}" +} -- cgit v1.2.1