diff options
author | Michał Górny <mgorny@gentoo.org> | 2013-07-25 22:10:00 +0000 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2013-07-25 22:10:00 +0000 |
commit | 9843541ec680f4b6ff6a9387f551cb1f267239cf (patch) | |
tree | 64d666ab99c5e589756ee71be1f6bc3e117ed0f8 /dev-python | |
parent | Adjust make.globals for prefix support. (diff) | |
download | historical-9843541ec680f4b6ff6a9387f551cb1f267239cf.tar.gz historical-9843541ec680f4b6ff6a9387f551cb1f267239cf.tar.bz2 historical-9843541ec680f4b6ff6a9387f551cb1f267239cf.zip |
Introduce a live ebuild to make testing easier.
Package-Manager: portage-2.2.0_alpha188/cvs/Linux x86_64
Manifest-Sign-Key: 0x9627F456F9DA7643!
Diffstat (limited to 'dev-python')
-rw-r--r-- | dev-python/pypy/ChangeLog | 7 | ||||
-rw-r--r-- | dev-python/pypy/Manifest | 31 | ||||
-rw-r--r-- | dev-python/pypy/pypy-9999.ebuild | 161 |
3 files changed, 183 insertions, 16 deletions
diff --git a/dev-python/pypy/ChangeLog b/dev-python/pypy/ChangeLog index 6aa7f0c694c4..e43fd11f796e 100644 --- a/dev-python/pypy/ChangeLog +++ b/dev-python/pypy/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for dev-python/pypy # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/ChangeLog,v 1.47 2013/07/25 20:45:28 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/ChangeLog,v 1.48 2013/07/25 22:09:55 mgorny Exp $ + +*pypy-9999 (25 Jul 2013) + + 25 Jul 2013; Michał Górny <mgorny@gentoo.org> +pypy-9999.ebuild: + Introduce a live ebuild to make testing easier. 25 Jul 2013; Michał Górny <mgorny@gentoo.org> pypy-1.9-r2.ebuild, pypy-2.0.2.ebuild: diff --git a/dev-python/pypy/Manifest b/dev-python/pypy/Manifest index 958f30e8c1e7..ce5867de8e8d 100644 --- a/dev-python/pypy/Manifest +++ b/dev-python/pypy/Manifest @@ -20,24 +20,25 @@ DIST pypy-1.9.tar.bz2 13466551 SHA256 9fd599acade49ef98017bbce4f179f19cf2680489f DIST pypy-2.0.2-src.tar.bz2 14819848 SHA256 1991c90d6b98e2408b3790d4b57b71ec1c69346328b8321505ce8f6ab4544c3c SHA512 5b8b56194dff468dd249dea0014fadafb791eb69858ffae0b9c7638f087df277a84ddadc7d5b0fdb48a12ca8e6b70eb95cb5b7a5f56fe8fe3396820b814ecfd7 WHIRLPOOL bb1f71e0b2d3e145edcb1baa17b0a13c09f5229cf1b0532edbb3d0d5c87ef39543c0ef6b9dc7ce2778c4a3336d4a1580fce9cf960f82b72ddfed02e06d10d8af EBUILD pypy-1.9-r2.ebuild 4656 SHA256 792a0b0da4442ef113cdce655ae375a8db4796943c114160bd70c4c0b0cb2515 SHA512 3cccb510fe2d91937eefa659ac7eb86694bc03685f0e4a16b4baa713b22a09f2c67dc0bec945eeefcadb0e05969a66868411942ae449376b5e993a9814b3a3f9 WHIRLPOOL 7ff604c5b0f146213593302c607ba86489c2c744e87ef9a0b39fb60fc0c1f746012f11cb398cfeea0246e293ea75197d6cab06b681c9bfa7f27360aa84df19c8 EBUILD pypy-2.0.2.ebuild 4205 SHA256 83906f69c4b1266e016b2cd074bb65bc33dec27599ae5b0c56fa87f967559bbe SHA512 6caf6755b4f3ddbf3d74e7ed870de7b350f44f845724c8e6a995f129ad135f2b2c1ae9b21a8a20ec3c5969fda0513f46dd142e0771c48b79d51259bae872851f WHIRLPOOL bac09e7163edf1a2b8d080a89bbaa0bb50adbb9e0d8d4957574a04480a091295bed6563a55318012638e77a4a9ad1e96d34742e8c38f3d8a9d8a1d0060b15ca1 -MISC ChangeLog 9034 SHA256 822b752533bf436b954037f0eb56c04898ffa4065f624deff1cf7f021210c9f4 SHA512 83c8d4629c931d9562b03b2ce7f577bbbebdd711c3ec63f8f49584b926535b0572852d82dae783b2c2f272bc9e9aa023a7da65a3dcdd3f27ff4353eaa8b756d3 WHIRLPOOL 815af755b79f8e56d570f960c0f4bf88e87676b19d951be546effc3e6dba3fdb13a3661ea573f8e50e92604f62b7d769663f90dee2537f69a683cc4f9f0d3ed4 +EBUILD pypy-9999.ebuild 4030 SHA256 c2915736381007fc67eaabe1088b40609006ec902f6e8c8f0f414d500bcae4d3 SHA512 feda9ad3747c8ce871df99986201017aaf3c77a8b31e866068889a992ca00d8bd662a2ea951b82bab883865a0d94ef5e983b27b821cf95eeb54d21741990f587 WHIRLPOOL 16b352a718e78e826d4f5802d5801bf4ee11d5d80186ab7d268e7160dfb96efb89957873b2cbfe5501d563a2f1b1f53d9d73f101eab700e148afd19a5924f050 +MISC ChangeLog 9180 SHA256 a4bb8cfccf0aeec197d76a89efb2ac35c9b263f913b6ff9d25cce1f86a825c43 SHA512 a82227e38e1236bcb4023d8f8698fddf370d924a67c08c3ef0bda1273e8393a494c3e3fb94bb40a9471defeaff99a18cf2b16ddd38f3d291a8af425930185a15 WHIRLPOOL 57adc6299971ac7127c992c7f138dcf51cb71356cb1f166177e96bc976818fb5a0ab3e591dd518a12198ce68e328aa81d6744f0143e19c4239d9ec1d2cd1c2ce MISC metadata.xml 388 SHA256 7855e6ef0d921319b41f4f84efb0e68fb5be892d20a300ad2a2eef57a5bb3fd6 SHA512 d69bb950ffc8287d5ee81cd275607e8d77a28900563ecfe7d4f1f3facb5f3619f5a677a4d6244cb9cfd80737c9218058450891ca855b38813c6b59d410045108 WHIRLPOOL b05794c728b9cf9878fd6843275f35552326cba61461d22108f8e666dc4a70c25e08c5a95feffcebe853b3a8f2c3e2894cd4e3ce4003a14f471007fd525cf96f -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.20 (GNU/Linux) -iQJ8BAEBCABmBQJR8Y5/XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w +iQJ8BAEBCABmBQJR8aJKXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRGRDhEM0MyMERDMzNBMkYzQzJFRTI3QjE5 -NjI3RjQ1NkY5REE3NjQzAAoJEJYn9Fb52nZDGksP/iT0RIATCEJCPDv1STZLwEul -Akens/bjCvXuQqm4aXQ8d+ODM0rT+ucrVHwCv1PxPjFpZ26D8WZ0AxKCx/RpMKSY -BhOZm4T0NKEkHDGNWY7KtPO7r58F8V/+oeFSV81QljluBGQzP61Qp3gk8zxH8217 -FX11ooJ5YXdv1B9+D/madtRkEUJzkQy8nr9zwe17S4JjYnFFVUDtHnrxyqbV5LC0 -rx8DH5WReolu/kSRydYrg89IEvKHQQ7Jd9bZcGtUmlT56fe5MWi6rS+/3vDKeHeU -+DZN+hoFgx1veXMmbMaZN4CFHxj7CXvEyyL54MZzgr2KIY1VdXJU0hwfk0eQETIS -gDHZwAOdkAa8zlSbFItr3kocWXnxxgrAzd5/Ov7hl0NRZDruXpOAhkkgdX+pkenc -wwIr3jLwhYzceqRvd8S5Ko9hzMq8EvFO0vJg+uUpB5WfFlsfRySx6JWzTMzS482N -ATnrAE0h9QsKPnsFs3sYpZAhEAVDF+1XY3qI2SIM5/YoXWn7HJRgAbWpeH5UIJbe -1FFdjhnIy/WSXb3JFo+lgW3sOOW3qIhGSCMgPFJPFUGm2V6Z+EkfM9xTaSvKYpeS -8GjAqK+jwmuWPIaGWatmKtvjk6nPM0vTofYHF49+6krUgWnDGrTy++M5PaOVNYBR -xYJXLnBqFM4rpB1bqYg5 -=4/j6 +NjI3RjQ1NkY5REE3NjQzAAoJEJYn9Fb52nZDaHoP/jt/K0eLkHyCbrA0/KKUhDc2 +3RTzSlS2AGxe1gvlEVMLFiLTWT7a2+61VhjoctzmcQ6EcKJAOyLHvLAlO6YwMGRF +1UkX+JBEbKqKerOvN4Mqu/9tHh7fFiB6thELsNtFf2OUI5TgPKyNZhfBPHr3yw4I +LamwKXf7oKTCb8wb5KY4wkNA+o96UEqXOzK0wBk1ehsDPkQ5g7v7+2mJiOMsDY0s +u2yDG8KR3VyWFh+K9Xehbj+rNJMwJsWgiIQLk2Bgw7h9BOBRAyT/r6HgfDXZ33FX +HLosZHFDalkpy26Dl4VVHtjVV43zIi1k4ZnaZr+tGD/jasQwkInhz0nxnWEp6Kqj +ix4bPEcdkXFXAkKgPKOjSlNq3jlPKrt4LHIbwqlHKzSTZ/ZBai5XBgd8oA1GJ8Rw +/sLMaM4Un+MHiNQZNAG8OViirR+sVx9VOfj5HNYy7Z+X8t6mI6ewHhPtovbTMR8U +9IF+x4fgfLNGqZsW9jFHK/gx4el2W/bCwW5V2sY8lGBbfb+3ow++M5K/fHjLW4d8 +X3yJJ072mmtXJuhMJKgekUYNmMxMs9zHYK0PRa0ybTmrGwsRneKrXVjtPe5mLVtn +d39xrWkbnbTB7AcgbywSmDyhGgunI+FpYh0PmS5pUrGSY5GL1SlHigTEeN3IlBgg +le2ZycsPXfn91ax81vKT +=qnt0 -----END PGP SIGNATURE----- diff --git a/dev-python/pypy/pypy-9999.ebuild b/dev-python/pypy/pypy-9999.ebuild new file mode 100644 index 000000000000..01b0319208a2 --- /dev/null +++ b/dev-python/pypy/pypy-9999.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/pypy-9999.ebuild,v 1.1 2013/07/25 22:09:55 mgorny Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 pypy{1_8,1_9,2_0} ) +inherit check-reqs eutils multilib mercurial multiprocessing \ + pax-utils python-any-r1 toolchain-funcs versionator + +DESCRIPTION="A fast, compliant alternative implementation of the Python language" +HOMEPAGE="http://pypy.org/" +SRC_URI="" +EHG_REPO_URI="https://bitbucket.org/pypy/${PN}" + +LICENSE="MIT" +SLOT="2.1" +KEYWORDS="" +IUSE="bzip2 doc +jit ncurses sandbox shadowstack sqlite sse2" + +RDEPEND=">=sys-libs/zlib-1.1.3 + virtual/libffi + virtual/libintl + dev-libs/expat + dev-libs/openssl + bzip2? ( app-arch/bzip2 ) + ncurses? ( sys-libs/ncurses ) + sqlite? ( dev-db/sqlite:3 )" +DEPEND="${RDEPEND} + doc? ( dev-python/sphinx ) + ${PYTHON_DEPS}" +PDEPEND="app-admin/python-updater" + +pkg_pretend() { + CHECKREQS_MEMORY="2G" + use amd64 && CHECKREQS_MEMORY="4G" + check-reqs_pkg_pretend +# if [[ ${MERGE_TYPE} != binary && "$(gcc-version)" == "4.8" ]]; then +# die "PyPy does not build correctly with GCC 4.8" +# fi +} + +pkg_setup() { + pkg_pretend + python-any-r1_pkg_setup +} + +src_prepare() { + epatch "${FILESDIR}/1.9-scripts-location.patch" + epatch "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" + + epatch_user +} + +src_compile() { + tc-export CC + + local jit_backend + if use jit; then + jit_backend='--jit-backend=' + + # We only need the explicit sse2 switch for x86. + # On other arches we can rely on autodetection which uses + # compiler macros. Plus, --jit-backend= doesn't accept all + # the modern values... + + if use x86; then + if use sse2; then + jit_backend+=x86 + else + jit_backend+=x86-without-sse2 + fi + else + jit_backend+=auto + fi + fi + + local args=( + $(usex jit -Ojit -O2) + $(usex shadowstack --gcrootfinder=shadowstack '') + $(usex sandbox --sandbox '') + + ${jit_backend} + --make-jobs=$(makeopts_jobs) + + pypy/goal/targetpypystandalone + ) + + # Avoid linking against libraries disabled by use flags + local opts=( + bzip2:bz2 + ncurses:_minimal_curses + ) + + local opt + for opt in "${opts[@]}"; do + local flag=${opt%:*} + local mod=${opt#*:} + + args+=( + $(usex ${flag} --withmod --withoutmod)-${mod} + ) + done + + set -- "${PYTHON}" rpython/bin/rpython --batch "${args[@]}" + echo -e "\033[1m${@}\033[0m" + "${@}" || die "compile error" + + use doc && emake -C pypy/doc/ html +} + +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${SLOT}" + doins -r include lib_pypy lib-python pypy-c + fperms a+x ${INSDESTTREE}/pypy-c + use jit && pax-mark m "${ED%/}${INSDESTTREE}/pypy-c" + dosym ../$(get_libdir)/pypy${SLOT}/pypy-c /usr/bin/pypy-c${SLOT} + dodoc README.rst + + if ! use sqlite; then + rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/sqlite3 || die + rm "${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py || die + fi + + # Install docs + use doc && dohtml -r pypy/doc/_build/html/ + + einfo "Generating caches and byte-compiling ..." + + python_export pypy-c${SLOT} EPYTHON PYTHON PYTHON_SITEDIR + local PYTHON=${ED%/}${INSDESTTREE}/pypy-c + + echo "EPYTHON='${EPYTHON}'" > epython.py + python_domodule epython.py + + # Note: call portage helpers before this line. + # PYTHONPATH confuses them and will result in random failures. + + local -x PYTHONPATH="${ED%/}${INSDESTTREE}/lib_pypy:${ED%/}${INSDESTTREE}/lib-python/2.7" + + # 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 cache + "${PYTHON}" -c "import _curses" || die "Failed to import _curses" + if use sqlite; then + "${PYTHON}" -c "import _sqlite3" || die "Failed to import _sqlite3" + fi + + # compile the installed modules + python_optimize "${ED%/}${INSDESTTREE}" +} |