summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2013-07-25 22:10:00 +0000
committerMichał Górny <mgorny@gentoo.org>2013-07-25 22:10:00 +0000
commit9843541ec680f4b6ff6a9387f551cb1f267239cf (patch)
tree64d666ab99c5e589756ee71be1f6bc3e117ed0f8 /dev-python
parentAdjust make.globals for prefix support. (diff)
downloadhistorical-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/ChangeLog7
-rw-r--r--dev-python/pypy/Manifest31
-rw-r--r--dev-python/pypy/pypy-9999.ebuild161
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}"
+}