summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2014-05-03 18:00:20 +0000
committerMichał Górny <mgorny@gentoo.org>2014-05-03 18:00:20 +0000
commit7c31bbb79b17649d1881c6d4b970269e0ec17a94 (patch)
treeca385f3e89c8cbabd130652ee7f19f634b763ef6 /dev-python/pypy-bin/pypy-bin-2.2.1-r1.ebuild
parentAdd python3.4. (diff)
downloadgentoo-2-7c31bbb79b17649d1881c6d4b970269e0ec17a94.tar.gz
gentoo-2-7c31bbb79b17649d1881c6d4b970269e0ec17a94.tar.bz2
gentoo-2-7c31bbb79b17649d1881c6d4b970269e0ec17a94.zip
Use new packages built against ncurses[-tinfo].
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key EFB4464E!)
Diffstat (limited to 'dev-python/pypy-bin/pypy-bin-2.2.1-r1.ebuild')
-rw-r--r--dev-python/pypy-bin/pypy-bin-2.2.1-r1.ebuild156
1 files changed, 156 insertions, 0 deletions
diff --git a/dev-python/pypy-bin/pypy-bin-2.2.1-r1.ebuild b/dev-python/pypy-bin/pypy-bin-2.2.1-r1.ebuild
new file mode 100644
index 000000000000..78be0175e9b0
--- /dev/null
+++ b/dev-python/pypy-bin/pypy-bin-2.2.1-r1.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy-bin/pypy-bin-2.2.1-r1.ebuild,v 1.1 2014/05/03 18:00:20 mgorny Exp $
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy pypy2_0 )
+inherit eutils multilib pax-utils python-any-r1 versionator
+
+BINHOST="http://pypy.aliceinwire.net/pypy-bin/"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python language (binary package)"
+HOMEPAGE="http://pypy.org/"
+SRC_URI="mirror://bitbucket/pypy/pypy/downloads/pypy-${PV}-src.tar.bz2
+ amd64? (
+ jit? ( shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+jit+ncurses+shadowstack.tar.xz
+ -> ${P}-r1-amd64+bzip2+jit+ncurses+shadowstack.tar.xz
+ ) )
+ jit? ( !shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+jit+ncurses.tar.xz
+ -> ${P}-r1-amd64+bzip2+jit+ncurses.tar.xz
+ ) )
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-amd64+bzip2+ncurses.tar.xz
+ -> ${P}-r1-amd64+bzip2+ncurses.tar.xz
+ ) )
+ )
+ x86? (
+ sse2? (
+ jit? ( shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz
+ -> ${P}-r1-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz
+ ) )
+ jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+jit+ncurses+sse2.tar.xz
+ -> ${P}-r1-x86+bzip2+jit+ncurses+sse2.tar.xz
+ ) )
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+ncurses+sse2.tar.xz
+ -> ${P}-r1-x86+bzip2+ncurses+sse2.tar.xz
+ ) )
+ )
+ !sse2? (
+ !jit? ( !shadowstack? (
+ ${BINHOST}/${P}-x86+bzip2+ncurses.tar.xz
+ -> ${P}-r1-x86+bzip2+ncurses.tar.xz
+ ) )
+ )
+ )"
+
+# Supported variants
+REQUIRED_USE="!jit? ( !shadowstack )
+ x86? ( !sse2? ( !jit !shadowstack ) )"
+
+LICENSE="MIT"
+SLOT="0/$(get_version_component_range 1-2 ${PV})"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc +jit shadowstack sqlite sse2 test"
+
+# yep, world would be easier if people started filling subslots...
+RDEPEND="
+ ~app-arch/bzip2-1.0.6:0
+ ~dev-libs/expat-2.1.0:0
+ ( <dev-libs/libffi-3.0.14:0
+ >=dev-libs/libffi-3.0.11:0 )
+ ( <dev-libs/openssl-1.0.1h:0
+ >=dev-libs/openssl-1.0.1c:0 )
+ ( <sys-libs/glibc-2.20:2.2
+ >=sys-libs/glibc-2.15:2.2 )
+ ~sys-libs/ncurses-5.9:5
+ ( <sys-libs/zlib-1.2.9:0
+ >=sys-libs/zlib-1.2.7:0 )
+ sqlite? ( dev-db/sqlite:3 )
+ !dev-python/pypy:0"
+DEPEND="app-arch/xz-utils
+ doc? ( dev-python/sphinx )
+ test? ( ${RDEPEND} )"
+PDEPEND="app-admin/python-updater"
+
+S=${WORKDIR}/pypy-${PV}-src
+
+pkg_setup() {
+ use doc && 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 "${FILESDIR}/2.1-distutils-fix_handling_of_executables_and_flags.patch"
+
+ epatch_user
+}
+
+src_compile() {
+ # Tadaam! PyPy compiled!
+ mv "${WORKDIR}"/${P}*/pypy-c . || die
+ mv "${WORKDIR}"/${P}*/include/*.h include/ || die
+ mv pypy/module/cpyext/include/*.h 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
+}
+
+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
+ fperms a+x ${INSDESTTREE}/pypy-c
+ #needed even without jit :(
+ pax-mark m "${ED%/}${INSDESTTREE}/pypy-c"
+ dosym ../$(get_libdir)/pypy/pypy-c /usr/bin/pypy
+ 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 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}"
+}