summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDirkjan Ochtman <djc@gentoo.org>2012-02-16 12:18:54 +0000
committerDirkjan Ochtman <djc@gentoo.org>2012-02-16 12:18:54 +0000
commit52e93912466d88024a24ff6bce5c8bac66b2f9c2 (patch)
tree3da77e90cb07e1030a85eabd9b6767d716a9070e /dev-python
parentFix build with new automake, bug #398971 by Juergen Rose and Rolf S. Arvidson... (diff)
downloadhistorical-52e93912466d88024a24ff6bce5c8bac66b2f9c2.tar.gz
historical-52e93912466d88024a24ff6bce5c8bac66b2f9c2.tar.bz2
historical-52e93912466d88024a24ff6bce5c8bac66b2f9c2.zip
Made xml mandatory, stackless is built by default, split patches.
Package-Manager: portage-2.1.10.46/cvs/Linux x86_64
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/pypy/ChangeLog9
-rw-r--r--dev-python/pypy/Manifest13
-rw-r--r--dev-python/pypy/files/1.8-elf-metadata-26a8d3fc57a7.patch10
-rw-r--r--dev-python/pypy/files/1.8-sext-instructions-02dc2f6160ee.patch22
-rw-r--r--dev-python/pypy/pypy-1.8-r1.ebuild99
5 files changed, 147 insertions, 6 deletions
diff --git a/dev-python/pypy/ChangeLog b/dev-python/pypy/ChangeLog
index 757ccd02dbba..79109b3f352a 100644
--- a/dev-python/pypy/ChangeLog
+++ b/dev-python/pypy/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-python/pypy
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/ChangeLog,v 1.14 2012/02/14 02:16:51 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/ChangeLog,v 1.15 2012/02/16 12:18:54 djc Exp $
+
+*pypy-1.8-r1 (16 Feb 2012)
+
+ 16 Feb 2012; Dirkjan Ochtman <djc@gentoo.org> +pypy-1.8-r1.ebuild,
+ +files/1.8-sext-instructions-02dc2f6160ee.patch,
+ +files/1.8-elf-metadata-26a8d3fc57a7.patch:
+ Made xml mandatory, stackless is built by default, split patches.
14 Feb 2012; Mike Gilbert <floppym@gentoo.org> pypy-1.7-r2.ebuild,
pypy-1.8.ebuild:
diff --git a/dev-python/pypy/Manifest b/dev-python/pypy/Manifest
index b2eac2b9b41b..7ac5afa579a6 100644
--- a/dev-python/pypy/Manifest
+++ b/dev-python/pypy/Manifest
@@ -1,20 +1,23 @@
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
+Hash: SHA512
AUX 1.7-patches.patch 1842 RMD160 ee42ff2383477353cf0230a8567b22d87a4b4d56 SHA1 4fa9f1ac91b3b5466e21d8d58dbc9f09b1fd90dd SHA256 1417373a73221b65dcccdee1539a7a11018384ea3f7908cacc2e07b525ebe291
AUX 1.7-scripts-location.patch 412 RMD160 811c3cc38370f97274f8ec5cc36f34b3e79dae56 SHA1 c03fa9679443ed9461829745f5bb00cfecd3eb22 SHA256 abc39fbbf69d1d6b478a4a16626950e8e0b607fb05c6e1e1c10618c59fccdda9
+AUX 1.8-elf-metadata-26a8d3fc57a7.patch 569 RMD160 de5a440cb41ab0249141304c12f9a35af1565c87 SHA1 57daa224b13ec3e6cf7f23d02d896527137dca6b SHA256 8c695811ca9eae7d3b81674e8de255dc84e242972041ca54093a3d96f40fe34b
+AUX 1.8-sext-instructions-02dc2f6160ee.patch 1100 RMD160 c1f83411a70af07c0987ac51c81806de70a5d991 SHA1 8430932adfaadf903a1ad5a4635644157e04ee78 SHA256 599af03fb41902cb00b6c1768febd921276efbdc7b550d010676cc210f7564bb
AUX pypy-1.7-distutils-fix_handling_of_executables_and_flags.patch 18064 RMD160 8e86cff09340448f3e49ccc626efa40e9463273a SHA1 533cad04bc8d96e2ba1a09e8249a3efd97e46b1d SHA256 43cbabdf5f7b094eb969c754bb6513fa324b1fadb40b37d78bd1ad47194d787a
AUX pypy-1.7-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch 569 RMD160 540aa0881ea1fef56cea3734fa09f5c3366d5bb0 SHA1 5f4939129a9a56c9f9da0e82851f675fd7c73209 SHA256 55ea809a5f3e264b1905b06aa3af78aae149451e7d74a98d11e87629ab69493e
DIST pypy-1.7.tar.bz2 14844629 RMD160 8532c1e7fa320de3a12463c9de10d03969253faa SHA1 b4be3a8dc69cd838a49382867db3c41864b9e8d9 SHA256 3236b0870237e2ed8f3af5f899183a5c71d4c8d7ff1163a3352d6ea5b172596a
DIST pypy-1.8.tar.bz2 14927806 RMD160 70fe569b466357ee64685c8ce15278d24862c711 SHA1 4ff684619671d6076879eff88343184d7656c699 SHA256 ac98ad6d884207f8325ff4c783104ebea57a3fcddfef32abcdf97fd4307b6287
EBUILD pypy-1.7-r2.ebuild 2635 RMD160 631313c8a3a0828392dd5006431078806d864af2 SHA1 6f871c8a7b0ad7d7cffe0f2aa6b50e2883d6acb1 SHA256 19a79a05f16a4afd65c69c9ee876115580646e3ccae587c0fefd4cec420a0682
+EBUILD pypy-1.8-r1.ebuild 2779 RMD160 d80f22a8ce13e6f8c5b011670074953306089fbe SHA1 124610c3aa89bc52256f51e3a3109963ceaffd69 SHA256 c9ae8a47a3a3073d5e80eb22b0f57cadc056b34f46708c3b6331d159be06dcbe
EBUILD pypy-1.8.ebuild 2777 RMD160 65eedffe4df25241193bf14e9c955120c1fb90ef SHA1 8b2d6b63fb267d3a63a9778c6978c1b66d5c8444 SHA256 883affdf948d9f28766dce1b3175274c8696b739924c5f999f81135d2111001e
-MISC ChangeLog 2539 RMD160 4f0266bb6d39b4a905545809ebc809cba79b5c59 SHA1 41f46efd8a911842e13eda9def2a99016d7dce2c SHA256 b01f8503970e21dfab4433b20a0012c6c6aab3bba44390bccbd34325185f7f32
+MISC ChangeLog 2798 RMD160 0027a04e433a6b1829ac51d1c99a84e041d426aa SHA1 163d4a238fe4c439f559255b4ecd17d5c27f6c71 SHA256 25d12a7788bc7c0b07d77f2edf700d51cf6d84535e72252cf8ce1c249cd6918c
MISC metadata.xml 507 RMD160 ebf6143dae73a70cc62880c10dc1f1c3f82cc1dd SHA1 a8bf12cdeebfd1d30a86075b97be027b138435c8 SHA256 b91eb636cbd78badac8a97a95615ff89c33077e0627aa0732394de54f26a018c
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (GNU/Linux)
-iF4EAREIAAYFAk85xBoACgkQC77qH+pIQ6TW9gD/ZPkK1KcBz9NHSDXitNdpLZo9
-0DFvMElZS9+fWNkT0DMA/31yvZdaD6BWlUYu/q1KLHjV+nAbUJkOi2pN4CwOmrxs
-=ElKU
+iEYEAREKAAYFAk889DgACgkQxeMuLWsGW/seGQCfaLsMaHOkv5oN/P1OhqFxT6nY
+b4wAoIXOYBhJimNAoK9jpTM2Z0NrjDb9
+=5eMM
-----END PGP SIGNATURE-----
diff --git a/dev-python/pypy/files/1.8-elf-metadata-26a8d3fc57a7.patch b/dev-python/pypy/files/1.8-elf-metadata-26a8d3fc57a7.patch
new file mode 100644
index 000000000000..d58137350e2d
--- /dev/null
+++ b/dev-python/pypy/files/1.8-elf-metadata-26a8d3fc57a7.patch
@@ -0,0 +1,10 @@
+--- pypy-pypy-release-1.7/pypy/translator/c/gcc/trackgcroot.py.bak 2011-11-29 14:22:29.000000000 +0100
++++ pypy-pypy-release-1.7/pypy/translator/c/gcc/trackgcroot.py 2011-11-29 14:22:55.000000000 +0100
+@@ -1694,6 +1694,7 @@
+ }
+ """
+ elif self.format in ('elf64', 'darwin64'):
++ print >> output, "\t.section .note.GNU-stack,\"\",%progbits"
+ print >> output, "\t.text"
+ print >> output, "\t.globl %s" % _globalname('pypy_asm_stackwalk')
+ _variant(elf64='.type pypy_asm_stackwalk, @function',
diff --git a/dev-python/pypy/files/1.8-sext-instructions-02dc2f6160ee.patch b/dev-python/pypy/files/1.8-sext-instructions-02dc2f6160ee.patch
new file mode 100644
index 000000000000..6528479e098c
--- /dev/null
+++ b/dev-python/pypy/files/1.8-sext-instructions-02dc2f6160ee.patch
@@ -0,0 +1,22 @@
+--- pypy/translator/c/gcc/trackgcroot.py.old 2012-02-15 14:11:38.551479431 -0800
++++ pypy/translator/c/gcc/trackgcroot.py 2012-02-15 00:55:20.082136135 -0800
+@@ -471,8 +471,8 @@
+ return []
+
+ IGNORE_OPS_WITH_PREFIXES = dict.fromkeys([
+- 'cmp', 'test', 'set', 'sahf', 'lahf', 'cltd', 'cld', 'std',
+- 'rep', 'movs', 'lods', 'stos', 'scas', 'cwtl', 'cwde', 'prefetch',
++ 'cmp', 'test', 'set', 'sahf', 'lahf', 'cld', 'std',
++ 'rep', 'movs', 'lods', 'stos', 'scas', 'cwde', 'prefetch',
+ # floating-point operations cannot produce GC pointers
+ 'f',
+ 'cvt', 'ucomi', 'comi', 'subs', 'subp' , 'adds', 'addp', 'xorp',
+@@ -485,6 +485,8 @@
+ 'bswap', 'bt', 'rdtsc',
+ 'punpck', 'pshufd', 'pcmp', 'pand', 'psllw', 'pslld', 'psllq',
+ 'paddq', 'pinsr',
++ # sign-extending moves should not produce GC pointers
++ 'cbtw', 'cwtl', 'cwtd', 'cltd', 'cltq', 'cqto',
+ # zero-extending moves should not produce GC pointers
+ 'movz',
+ # locked operations should not move GC pointers, at least so far
diff --git a/dev-python/pypy/pypy-1.8-r1.ebuild b/dev-python/pypy/pypy-1.8-r1.ebuild
new file mode 100644
index 000000000000..1fcf50e17159
--- /dev/null
+++ b/dev-python/pypy/pypy-1.8-r1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/pypy-1.8-r1.ebuild,v 1.1 2012/02/16 12:18:54 djc Exp $
+
+EAPI="4"
+
+inherit eutils toolchain-funcs check-reqs python versionator
+
+DESCRIPTION="PyPy is a fast, compliant alternative implementation of the Python language"
+HOMEPAGE="http://pypy.org/"
+SRC_URI="https://bitbucket.org/pypy/pypy/get/release-${PV}.tar.bz2 -> ${P}.tar.bz2"
+SLOTVER=$(get_version_component_range 1-2 ${PV})
+
+LICENSE="MIT"
+SLOT="${SLOTVER}"
+PYTHON_ABI="2.7-pypy-${SLOTVER}"
+KEYWORDS="~amd64 ~x86"
+IUSE="bzip2 doc examples +jit ncurses sandbox shadowstack sqlite ssl"
+
+RDEPEND=">=sys-libs/zlib-1.1.3
+ virtual/libffi
+ virtual/libintl
+ dev-libs/expat
+ bzip2? ( app-arch/bzip2 )
+ ncurses? ( sys-libs/ncurses )
+ sqlite? ( dev-db/sqlite:3 )
+ ssl? ( dev-libs/openssl )"
+DEPEND="${RDEPEND}"
+PDEPEND="app-admin/python-updater"
+
+DOC="README LICENSE"
+
+pkg_pretend() {
+ CHECKREQS_MEMORY="2G"
+ use amd64 && CHECKREQS_MEMORY="4G"
+ check-reqs_pkg_pretend
+}
+
+src_unpack() {
+ default
+ mv pypy-pypy-* "${S}" || die
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PV}-elf-metadata-26a8d3fc57a7.patch"
+ epatch "${FILESDIR}/${PV}-sext-instructions-02dc2f6160ee.patch"
+ epatch "${FILESDIR}/1.7-scripts-location.patch"
+ epatch "${FILESDIR}/pypy-1.7-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
+ epatch "${FILESDIR}/pypy-1.7-distutils-fix_handling_of_executables_and_flags.patch"
+}
+
+src_compile() {
+ local conf
+ if use jit; then
+ conf="-Ojit"
+ else
+ conf="-O2"
+ fi
+ if use shadowstack; then
+ conf+=" --gcrootfinder=shadowstack"
+ fi
+ if use sandbox; then
+ conf+=" --sandbox"
+ fi
+
+ conf+=" ./pypy/translator/goal/targetpypystandalone.py"
+ # Avoid linking against libraries disabled by use flags
+ local optional_use=("bzip2" "ncurses" "ssl")
+ local optional_mod=("bz2" "_minimal_curses" "_ssl")
+ for ((i = 0; i < ${#optional_use[*]}; i++)); do
+ if use ${optional_use[$i]}; then
+ conf+=" --withmod-${optional_mod[$i]}"
+ else
+ conf+=" --withoutmod-${optional_mod[$i]}"
+ fi
+ done
+
+ local translate_cmd="$(PYTHON -2) ./pypy/translator/goal/translate.py --batch $conf"
+ echo ${_BOLD}"${translate_cmd}"${_NORMAL}
+ ${translate_cmd} || die "compile error"
+}
+
+src_install() {
+ local INSPATH="/usr/$(get_libdir)/pypy${SLOT}"
+ insinto ${INSPATH}
+ doins -r include lib_pypy lib-python pypy-c
+ fperms a+x ${INSPATH}/pypy-c
+ dosym ../$(get_libdir)/pypy${SLOT}/pypy-c /usr/bin/pypy-c${SLOT}
+
+ if ! use sqlite; then
+ rm -fr "${ED}${INSPATH}/lib-python/2.7/sqlite3"
+ rm -fr "${ED}${INSPATH}/lib-python/modified-2.7/sqlite3"
+ rm -f "${ED}${INSPATH}/lib_pypy/_sqlite3.py"
+ fi
+}
+
+src_test() {
+ $(PYTHON -2) ./pypy/test_all.py --pypy=./pypy-c lib-python
+}