Sync with portage [Fri Mar 4 08:56:49 MSK 2016].

mhiretskiy 255
root 8 years ago
parent c3292f0e37
commit 5b9447c6e4

@ -1,3 +1,2 @@
DIST httpd-2.2.31.tar.bz2 5610489 SHA256 f32f9d19f535dac63b06cb55dfc023b40dcd28196b785f79f9346779e22f26ac SHA512 5aa47d4b76f692bbd8b309135ff99152df98cf69b505b9daf3f13f7f2a31443eaf4995161adfbc47a133b4d0e091fda2d95fc6b87a956f0ada18d7466ee28e74 WHIRLPOOL a2e3e53c51719cb6f7e641b41788cd89ce7b4d2ea105b403bfa3b3d4479b69c5604228269062f66722594e105e91121d05b1c9f27ca7dc4ecfcf339da8b8375c
DIST httpd-2.4.16.tar.bz2 5101005 SHA256 ac660b47aaa7887779a6430404dcb40c0b04f90ea69e7bd49a40552e9ff13743 SHA512 039750ff962c08a7261896acc8272e59874d066f7d52721aaf967ddb737fc5716acc47e1effaf7c4d156ba61bc393e0738f64f8e89cc277ba2651e0f61d56628 WHIRLPOOL f67a4449409cd1a50fcdf4d192a3a0c90e6e3483269d19e9f0454557cbfbda7fb3535063e1738de60d6f524e22eac7fc159d2abe5a60952219c1b01ee143ae05
DIST httpd-2.4.18.tar.bz2 5181291 SHA256 0644b050de41f5c9f67c825285049b144690421acb709b06fe53eddfa8a9fd4c SHA512 8e342cc447313c07275869381c2d6f2314a96547f0c86ee1c617975d0f7ad8efb47113ab5995c733108ae4dec31ad79847e397ecea859b60414ffe1680617a31 WHIRLPOOL e0ae6b8581e2993e0f873d8928e3b54f1df750f29e82d2f1308376af440308c56e89dfb3ec051cdf164a271580ccac71ebc5b038e23ca65a9221fdfc08b47b41

@ -1,93 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit flag-o-matic eutils multilib toolchain-funcs
DESCRIPTION="Useful Apache tools - htdigest, htpasswd, ab, htdbm"
HOMEPAGE="http://httpd.apache.org/"
SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc64-solaris ~x64-solaris"
IUSE="ssl"
RESTRICT="test"
RDEPEND=">=dev-libs/apr-1.5.0:1
dev-libs/apr-util:1
dev-libs/expat
dev-libs/libpcre
kernel_linux? ( sys-apps/util-linux )
ssl? ( dev-libs/openssl:0= )"
DEPEND="${RDEPEND}
sys-devel/libtool"
S="${WORKDIR}/httpd-${PV}"
src_prepare() {
epatch "${FILESDIR}"/${PN}-2.4.7-Makefile.patch #459446
# This package really should upgrade to using pcre's .pc file.
cat <<-\EOF >"${T}"/pcre-config
#!/bin/sh
[ "${flag}" = "--version" ] && set -- --modversion
exec ${PKG_CONFIG} libpcre "$@"
EOF
chmod a+x "${T}"/pcre-config
}
src_configure() {
# Brain dead check.
tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no"
tc-export PKG_CONFIG
# Instead of filtering --as-needed (bug #128505), append --no-as-needed
append-ldflags $(no-as-needed)
# econf overwrites the stuff from config.layout.
ac_cv_path_PKGCONFIG=${PKG_CONFIG} \
econf \
--libexecdir="${EPREFIX}"/usr/$(get_libdir)/apache2/modules \
--sbindir="${EPREFIX}"/usr/sbin \
--with-perl="${EPREFIX}"/usr/bin/perl \
--with-expat="${EPREFIX}"/usr \
--with-z="${EPREFIX}"/usr \
--with-apr="${SYSROOT}${EPREFIX}"/usr \
--with-apr-util="${SYSROOT}${EPREFIX}"/usr \
--with-pcre="${T}"/pcre-config \
$(use_enable ssl) \
$(usex ssl '--with-ssl="${EPREFIX}"/usr' '')
sed -i \
-e '/^LTFLAGS/s:--silent::' \
build/rules.mk build/config_vars.mk || die
}
src_compile() {
emake -C support
}
src_install() {
emake -C support DESTDIR="${D}" install
dodoc CHANGES
doman docs/man/{dbmmanage,htdigest,htpasswd,htdbm,ab,logresolve}.1 \
docs/man/{htcacheclean,rotatelogs}.8
# Providing compatiblity symlinks for #177697 (which we'll stop to install
# at some point).
pushd "${ED}"/usr/sbin >/dev/null || die
local i
for i in *; do
dosym ${i} /usr/sbin/${i}2
done
popd >/dev/null || die
# Provide a symlink for ab-ssl
if use ssl; then
dosym ab /usr/bin/ab-ssl
dosym ab /usr/bin/ab2-ssl
fi
}

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -12,7 +12,7 @@ SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~hppa ~ppc64 ~x86"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ppc64 ~x86"
IUSE="pam selinux"
RDEPEND="sys-libs/libnih[dbus]

@ -38,7 +38,6 @@ RDEPEND="sys-apps/pciutils
libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
mako? ( dev-python/mako[${PYTHON_USEDEP}] )
ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
openssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
openssl? (
dev-libs/openssl:*[-bindist]

@ -23,6 +23,7 @@ rkt_stage1_coreos? ( $PXE_URI -> $PXE_FILE )
rkt_stage1_kvm? (
https://kernel.googlesource.com/pub/scm/linux/kernel/git/will/kvmtool/+archive/${KVMTOOL_VERSION}.tar.gz -> kvmtool-${KVMTOOL_VERSION}.tar.gz
mirror://kernel/linux/kernel/v4.x/linux-${KVM_LINUX_VERSION}.tar.xz
${PXE_URI} -> ${PXE_FILE}
)
rkt_stage1_src? ( https://github.com/systemd/systemd/archive/${PXE_SYSTEMD_VERSION}.tar.gz -> systemd-${PXE_SYSTEMD_VERSION#v}.tar.gz )"
@ -69,20 +70,25 @@ src_unpack() {
src_prepare() {
# disable git fetch of systemd
sed -e 's|^include makelib/git.mk$|_ := '\
'$(shell set -ex; [ -d "$(UFS_SYSTEMD_SRCDIR)" ] \&\& exit 0; '\
'[ ! -d "$${WORKDIR}/systemd-'${PXE_SYSTEMD_VERSION#v}'" ] \&\& exit 0; '\
'mkdir -p "$$( dirname "$(UFS_SYSTEMD_SRCDIR)")"; '\
'mv "$${WORKDIR}/systemd-'${PXE_SYSTEMD_VERSION#v}'" "$(UFS_SYSTEMD_SRCDIR)";)|' \
-i stage1/usr_from_src/usr_from_src.mk || die
sed -e 's|^include makelib/git.mk$|'\
'ifneq ($(wildcard $(RKT_STAGE1_SYSTEMD_SRC)),)\n\n'\
'get_systemd_sources: $(UFS_SYSTEMDDIR)\n'\
'\tmv "$(RKT_STAGE1_SYSTEMD_SRC)" "$(UFS_SYSTEMD_SRCDIR)"\n\n'\
'$(UFS_SYSTEMD_CONFIGURE): get_systemd_sources\n\n'\
'else\n'\
'\t\0\n'\
'endif|' -i stage1/usr_from_src/usr_from_src.mk || die
# disable git fetch of kvmtool
sed -e 's|^include makelib/git.mk$|_ := '\
'$(shell set -ex; [ -d "$(LKVM_SRCDIR)" ] \&\& exit 0; '\
'[ ! -d "$${WORKDIR}/kvmtool" ] \&\& exit 0; '\
'mkdir -p "$$( dirname "$(LKVM_SRCDIR)")"; '\
'mv "$${WORKDIR}/kvmtool" "$(LKVM_SRCDIR)";)|' \
-i stage1/usr_from_kvm/lkvm.mk || die
sed -e 's|^include makelib/git.mk$|'\
'ifneq ($(wildcard $(shell echo "$${WORKDIR}/kvmtool")),)\n\n'\
'$(call forward-vars, get_lkvm_sources, LKVM_SRCDIR)\n'\
'get_lkvm_sources: $(LKVM_TMPDIR)\n'\
'\tmv "$${WORKDIR}/kvmtool" "$(LKVM_SRCDIR)"\n\n'\
'$(LKVM_PATCH_STAMP): get_lkvm_sources\n\n'\
'else\n'\
'\t\0\n'\
'endif|' -i stage1/usr_from_kvm/lkvm.mk || die
# disable fetch of kernel sources
sed -e 's|wget .*|ln -s "$${DISTDIR}/linux-'${KVM_LINUX_VERSION}'.tar.xz" "$@"|' \
@ -111,7 +117,14 @@ src_configure() {
use rkt_stage1_kvm && flavors+=",kvm"
myeconfargs+=( --with-stage1-flavors="${flavors#,}" )
if use rkt_stage1_coreos; then
if use rkt_stage1_src; then
myeconfargs+=(
--with-stage1-systemd-version=${PXE_SYSTEMD_VERSION}
--with-stage1-systemd-src="${WORKDIR}/systemd-${PXE_SYSTEMD_VERSION#v}"
)
fi
if use rkt_stage1_coreos || use rkt_stage1_kvm; then
myeconfargs+=(
--with-coreos-local-pxe-image-path="${DISTDIR}/${PXE_FILE}"
--with-coreos-local-pxe-image-systemd-version="${PXE_SYSTEMD_VERSION}"

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -21,7 +21,7 @@ SRC_URI="https://dev.gentoo.org/~mgorny/dist/opengl.eselect-${PV}.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
DEPEND="app-arch/xz-utils"

@ -9,4 +9,5 @@ DIST pax-utils-1.1.2.tar.xz 627732 SHA256 49390215f6a4773a9c0a99a6de90ff768d13ce
DIST pax-utils-1.1.3.tar.xz 627536 SHA256 b80c923c0231a17aa2db5fce3d81c3b7d061cd8e6b356fecceadb2e9a8ee9bc6 SHA512 0bd5efe455edfbe06e938fab62f7d452bcefe6f426881bfebc8252bf386807a3f50ffa9cadbf8cf4aa514839ba94d3f28b16fea163ae738ef8fdeed28fe9204c WHIRLPOOL 1730c25bfda22d4523c8d8f30fe01a09790131efbfeae21ef1e1917c8fdcd9f8aa0053194c7f32a254fa70b963594e5f399f79f287793afd5b8b7fbafcafc806
DIST pax-utils-1.1.4.tar.xz 627880 SHA256 796860fbd48c5f811e699e8492dc1110459bad0a62efa8d346b74a4f6f556414 SHA512 9557d0a80c2a94f28760665a258e0670ee2dd585b128d644ea3be310128bfd26db1bc19bed8623cf2c886979d0094ba9b92577b3899d363b5d418986a2f52795 WHIRLPOOL 27ab9694528cada62f76592df6414a47af4ceb967871ddfe295be01a3c590ae398612030b28b94025a27f112c8a293a300cc9ddb008082f1c76e8ba3ce2eae1d
DIST pax-utils-1.1.5.tar.xz 646612 SHA256 2945b3e4df2e0dc95800bfbd3d88ab2243b2ee4ff064bbfc75734f6d9d986a89 SHA512 c03c2b867988592ad7ee3fc19cbbe203622a736889aa27a669824f4de670e8d591e1c8477529bd0481e7cdce11e94f8b55d4ef158fe21a6e2baf43b09f33b5b7 WHIRLPOOL 3e54a9d0b30aae9017f2706ea8f79c901de2105e52779e765aa497db40cbcb52d7b90570d9373d246a0338d16eaeab5a75ff9019639082f22b2e7ca1a6b2a544
DIST pax-utils-1.1.6.tar.xz 647308 SHA256 f5436c517bea40f7035ec29a6f34034c739b943f2e3a080d76df5dfd7fd41b12 SHA512 c5bdb3ee076c5f4d026f811a59329014c539e3bb3ab45aec92564dcc4abcedaebc50bec55c37aeccfe9e31c554ec7789426fcb3d6f67a8d805843f32c5993f94 WHIRLPOOL 6addfc63dd821a3a0f1ebb2f0545bf81b933bed7aa4950efc51c4af3c8a9dd2263fe09c469bb371a5cb7ae239db646876548a2c21b08c1ed87dd974228eb2679
DIST pax-utils-1.1.tar.xz 627392 SHA256 97ed475ae9f91cf5ca47eeb39abe6033db77e480469dad7c7823ed16be2475ad SHA512 24569a8bbcd635b163f1dc84d4a74dac2e89fc5a18bdb0ead8db78dde5f0661f3d4d51118818f028bc5359447a2d9156ab394ffb26b5c64e377f3bf4536cecb5 WHIRLPOOL e5d1782904bd31ad93e09486ee01bf0af7a33db7bde6eaefdfeaaa462632b1f66633065509b7b79bf493030b0c104472446f7aaf7fbc549564715ffebe5eeb38

@ -0,0 +1,58 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit eutils toolchain-funcs unpacker
DESCRIPTION="ELF related utils for ELF 32/64 binaries that can check files for security relevant properties"
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities"
SRC_URI="mirror://gentoo/${P}.tar.xz
http://dev.gentoo.org/~solar/pax/${P}.tar.xz
http://dev.gentoo.org/~vapier/dist/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="caps debug python seccomp"
RDEPEND="caps? ( >=sys-libs/libcap-2.24 )
python? ( dev-python/pyelftools )
seccomp? ( sys-libs/libseccomp )"
DEPEND="${RDEPEND}
caps? ( virtual/pkgconfig )
seccomp? ( virtual/pkgconfig )
app-arch/xz-utils"
_emake() {
emake \
USE_CAP=$(usex caps) \
USE_DEBUG=$(usex debug) \
USE_PYTHON=$(usex python) \
USE_SECCOMP=$(usex seccomp) \
"$@"
}
src_configure() {
# Avoid slow configure+gnulib+make if on an up-to-date Linux system
if use prefix || ! use kernel_linux || \
has_version '<sys-libs/glibc-2.10'
then
econf $(use_with caps) $(use_with debug) $(use_with python) $(use_with seccomp)
else
tc-export CC
fi
}
src_compile() {
_emake
}
src_test() {
_emake check
}
src_install() {
_emake DESTDIR="${ED}" PKGDOCDIR='$(DOCDIR)'/${PF} install
}

@ -34,7 +34,7 @@ PATCHES=(
COMMON_DEPEND="
mroonga? ( app-text/groonga-normalizer-mysql )
kerberos? ( virtual/krb5 )
kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
systemd? ( sys-apps/systemd:= )
!bindist? ( >=sys-libs/readline-4.1:0= )
server? (

@ -1,105 +0,0 @@
# ChangeLog for dev-java/concurrent-util
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-java/concurrent-util/ChangeLog,v 1.26 2014/08/10 20:12:10 slyfox Exp $
10 Aug 2014; Sergei Trofimovich <slyfox@gentoo.org>
concurrent-util-1.3.4-r1.ebuild:
QA: drop trailing '.' from DESCRIPTION
01 Sep 2013; Fabian Groffen <grobian@gentoo.org>
concurrent-util-1.3.4-r1.ebuild:
Marked *-macos
01 Sep 2013; Fabian Groffen <grobian@gentoo.org>
concurrent-util-1.3.4-r1.ebuild:
Marked *-macos
27 Jun 2013; Alexis Ballier <aballier@gentoo.org>
concurrent-util-1.3.4-r1.ebuild:
keyword ~amd64-fbsd
16 Apr 2013; Ulrich Müller <ulm@gentoo.org> concurrent-util-1.3.4-r1.ebuild:
Fix LICENSE, bug 463998.
03 Jan 2010; Christian Faulhammer <fauli@gentoo.org>
concurrent-util-1.3.4-r1.ebuild:
Transfer Prefix keywords
05 Jan 2008; Petteri Räty <betelgeuse@gentoo.org> metadata.xml,
concurrent-util-1.3.4-r1.ebuild:
Shorten DESCRIPTION.
24 Oct 2007; William L. Thomson Jr. <wltjr@gentoo.org>
-concurrent-util-1.3.4.ebuild:
Removed java gen 1 ebuild
15 Apr 2007; Andrej Kacian <ticho@gentoo.org>
concurrent-util-1.3.4-r1.ebuild:
Stable on x86, bug #174390.
15 Apr 2007; Markus Rothe <corsair@gentoo.org>
concurrent-util-1.3.4-r1.ebuild:
Stable on ppc64; bug #174390
15 Apr 2007; nixnut <nixnut@gentoo.org> concurrent-util-1.3.4-r1.ebuild:
Stable on ppc wrt bug 174390
13 Apr 2007; <welp@gentoo.org> concurrent-util-1.3.4-r1.ebuild:
Stable on amd64 wrt bug 174390
13 Apr 2007; Petteri Räty <betelgeuse@gentoo.org>
concurrent-util-1.3.4-r1.ebuild:
Use java-pkg_dojavadoc.
05 Oct 2006; Gustavo Zacarias <gustavoz@gentoo.org>
concurrent-util-1.3.4.ebuild, concurrent-util-1.3.4-r1.ebuild:
Dropping sparc keywords, see #96229
08 Aug 2006; Petteri Räty <betelgeuse@gentoo.org>
concurrent-util-1.3.4-r1.ebuild:
Simplified src_compile using a patch submitted by <nathanegge@yahoo.com> in
bug #143227.
*concurrent-util-1.3.4-r1 (20 Jul 2006)
20 Jul 2006; Krzysiek Pawlik <nelchael@gentoo.org>
+concurrent-util-1.3.4-r1.ebuild:
Migrated to Generation 2.
08 Jan 2006; Joseph Jezak <josejx@gentoo.org>
concurrent-util-1.3.4.ebuild:
Marked ppc stable.
12 Jul 2005; Thomas Matthijs <axxo@gentoo.org>
concurrent-util-1.3.4.ebuild:
Fix source zip creation
18 May 2005; Markus Rothe <corsair@gentoo.org>
concurrent-util-1.3.4.ebuild:
Stable on ppc64
06 May 2005; Gustavo Zacarias <gustavoz@gentoo.org>
concurrent-util-1.3.4.ebuild:
Stable on sparc
30 Apr 2005; Jan Brinkmann <luckyduck@gentoo.org>
concurrent-util-1.3.4.ebuild:
added ~ppc to KEYWORDS, marked stable on amd64 and x86. introduced support
for the source useflag.
23 Mar 2005; Gustavo Zacarias <gustavoz@gentoo.org>
concurrent-util-1.3.4.ebuild:
Keyworded ~sparc wrt #84992
13 Mar 2005; Markus Rothe <corsair@gentoo.org> concurrent-util-1.3.4.ebuild:
Added ~ppc64 to KEYWORDS
20 Jan 2005; Jan Brinkmann <luckyduck@gentoo.org>
concurrent-util-1.3.4.ebuild:
added missing jikes dependency. see #78819.
*concurrent-util-1.3.4 (30 Oct 2004)
30 Oct 2004; Thomas Matthijs <axxo@gentoo.org> +metadata.xml,
+concurrent-util-1.3.4.ebuild:
inital import, ebuild contributed by Dan <dan@intuitivelyobvious.net>

@ -1 +0,0 @@
DIST gentoo-concurrent-util-1.3.4.tar.bz2 136648 SHA256 3cf419c3eeb6623fd189c24d005c61edde4d7f6350599e5837de879a0fd95f62 SHA512 8c77eb49bb8cc38f626011653005c36342717d3cd2eab3657d8cc9b38dcb11e1a18aa6bac713ed4b1bc7acd2500be35b95a207c5dee3b691c7763b7f30e3f714 WHIRLPOOL 95a448a8b4ee839b59049634ca65c6499fde5a0f13800331228371a499e0d7c4e59a8e6eae54430c856045e3acf38e81b25e2946acfad317dccb1a19d4c3968e

@ -1,32 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
JAVA_PKG_IUSE="doc source"
inherit java-pkg-2 java-ant-2
DESCRIPTION="Utility classes commonly encountered in concurrent Java programming"
HOMEPAGE="http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html"
SRC_URI="mirror://gentoo/gentoo-concurrent-util-1.3.4.tar.bz2"
LICENSE="public-domain sun-concurrent-util MIT"
SLOT="0"
KEYWORDS="amd64 ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
RDEPEND=">=virtual/jre-1.2"
DEPEND=">=virtual/jdk-1.2"
EANT_DOC_TARGET="doc"
src_install() {
java-pkg_dojar build/lib/concurrent.jar
use source && java-pkg_dosrc src/java/*
if use doc ; then
cd build
java-pkg_dojavadoc javadoc
insinto /usr/share/doc/${PF}/demo
doins demo/*
fi
}

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
<longdescription>
Doug Lea's concurrency utilities provide standardized, efficient
versions of utility classes commonly encountered in concurrent Java
programming.
</longdescription>
</pkgmetadata>

@ -1,95 +0,0 @@
# ChangeLog for dev-java/dsiutils
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-java/dsiutils/ChangeLog,v 1.21 2014/08/10 20:12:36 slyfox Exp $
10 Aug 2014; Sergei Trofimovich <slyfox@gentoo.org> dsiutils-1.0.10-r2.ebuild:
QA: drop trailing '.' from DESCRIPTION
17 Jun 2014; Manuel Rüger <mrueg@gentoo.org> -dsiutils-1.0.10-r1.ebuild:
NM: Cleanup superseeded ebuilds.
16 Dec 2012; Agostino Sarubbo <ago@gentoo.org> dsiutils-1.0.10-r2.ebuild:
Stable for x86, wrt bug #424337
08 Dec 2012; Agostino Sarubbo <ago@gentoo.org> dsiutils-1.0.10-r2.ebuild:
Stable for ppc64, wrt bug #424337
07 Dec 2012; Agostino Sarubbo <ago@gentoo.org> dsiutils-1.0.10-r2.ebuild:
Stable for ppc, wrt bug #424337
07 Dec 2012; <ago@gentoo.org> dsiutils-1.0.10-r2.ebuild:
Stable for amd64, wrt bug #424337
*dsiutils-1.0.10-r2 (30 Jun 2012)
30 Jun 2012; Ralph Sennhauser <sera@gentoo.org> -dsiutils-1.0.4.ebuild,
-dsiutils-1.0.5.ebuild, -dsiutils-1.0.7.ebuild, -dsiutils-1.0.10.ebuild,
+dsiutils-1.0.10-r2.ebuild:
Restrict build to <jdk7. #423519
Fix source zip and make better use of eclasses.
Remove old.
13 Apr 2012; Ulrich Müller <ulm@gentoo.org> dsiutils-1.0.4.ebuild,
dsiutils-1.0.5.ebuild, dsiutils-1.0.7.ebuild, dsiutils-1.0.10.ebuild,
dsiutils-1.0.10-r1.ebuild:
Move EAPI assignment to top of ebuild, bug 411875.
09 Feb 2010; Joseph Jezak <josejx@gentoo.org> dsiutils-1.0.10-r1.ebuild:
Marked ppc/ppc64 stable for bug #281006.
14 Aug 2009; Markus Meier <maekke@gentoo.org> dsiutils-1.0.10-r1.ebuild:
amd64 stable, bug #281006
14 Aug 2009; Markus Meier <maekke@gentoo.org> dsiutils-1.0.10-r1.ebuild:
x86 stable, bug #281006
*dsiutils-1.0.10-r1 (11 Jul 2009)
11 Jul 2009; Alistair Bush <ali_bush@gentoo.org>
+dsiutils-1.0.10-r1.ebuild:
Fix package.env generation.
*dsiutils-1.0.10 (09 Jul 2009)
09 Jul 2009; Alistair Bush <ali_bush@gentoo.org> +dsiutils-1.0.10.ebuild:
Version Bump
*dsiutils-1.0.7 (07 Feb 2009)
07 Feb 2009; Alistair Bush <ali_bush@gentoo.org> +dsiutils-1.0.7.ebuild:
Version Bump.
*dsiutils-1.0.5 (04 Jun 2008)
04 Jun 2008; Alistair Bush <ali_bush@gentoo.org> -dsiutils-1.0.1.ebuild,
+dsiutils-1.0.5.ebuild:
Version Bump and cleanup old version.
*dsiutils-1.0.4 (15 Apr 2008)
15 Apr 2008; Alistair Bush <ali_bush@gentoo.org> +dsiutils-1.0.4.ebuild:
Version Bump.
12 Apr 2008; Tobias Scherbaum <dertobi123@gentoo.org>
dsiutils-1.0.1.ebuild:
Added ~ppc, bug #215406
07 Apr 2008; Markus Rothe <corsair@gentoo.org> dsiutils-1.0.1.ebuild:
Added ~ppc64; bug #215406
04 Apr 2008; Christian Faulhammer <opfer@gentoo.org>
dsiutils-1.0.1.ebuild:
keyworded ~arch for x86, bug 215406
03 Apr 2008; Alistair Bush <ali_bush@gentoo.org> dsiutils-1.0.1.ebuild:
Update Dependencies to pull in higher version of fastutil
02 Apr 2008; Alistair Bush <ali_bush@gentoo.org> +metadata.xml,
+dsiutils-1.0.1.ebuild:
New Package.
*dsiutils-1.0.1 (02 Apr 2008)
02 Apr 2008; Alistair Bush <ali_bush@gentoo.org> +metadata.xml,
+dsiutils-1.0.1.ebuild:
New Package.

@ -1 +0,0 @@
DIST dsiutils-1.0.10-src.tar.gz 267700 SHA256 d3eda619ab7f897f9c0aeb4065a5866dc8fa17afbb83e15750f7972bb87444d0 SHA512 32cb9cde72056bbcdfd842011252772ccd3ceb226e44972f5388352ebab9a5ae66d97d4af00078f95033d6ed99fd6a12b82cbd1679a72e1e59ca95409c6e9e35 WHIRLPOOL ece0c1a8f75e24a7291750013a1a7c39d8bd4f0242dc159463547159dc58165e245daae72bb8b54fd9a623701fdab5ccef24819fc9ddce8315329e1d06e13b82

@ -1,58 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
JAVA_PKG_IUSE="doc source test"
inherit java-pkg-2 java-ant-2
DESCRIPTION="A Mish Mash of classes that were initially distributed with mg4j (amount others)"
HOMEPAGE="http://dsiutils.dsi.unimi.it/"
SRC_URI="http://dsiutils.dsi.unimi.it/${P}-src.tar.gz"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="amd64 ppc64 x86"
IUSE=""
COMMON_DEP="
dev-java/commons-io:1
dev-java/jsap:0
dev-java/log4j:0
dev-java/commons-collections:0
dev-java/colt:0
dev-java/fastutil:5.0
dev-java/commons-configuration:0
dev-java/commons-lang:2.1
dev-java/junit:0"
RDEPEND="${COMMON_DEP}
>=virtual/jre-1.5"
# Failes to build with jdk7 #423519
DEPEND="${COMMON_DEP}
|| ( virtual/jdk:1.6 virtual/jdk:1.5 )
test? (
dev-java/emma:0
dev-java/ant-junit:0
dev-java/ant-trax:0
)"
JAVA_ANT_REWRITE_CLASSPATH="yes"
JAVA_ANT_CLASSPATH_TAGS+=" javadoc"
EANT_GENTOO_CLASSPATH="commons-io-1,jsap,log4j,commons-collections,colt,fastutil-5.0,commons-configuration,commons-lang-2.1,junit"
EANT_TEST_TARGET="junit"
EANT_TEST_ANT_TASKS="ant-trax"
EANT_TEST_EXTRA_ARGS="-Djar.base=/usr/share/emma/lib"
src_test() {
java-pkg-2_src_test
}
src_install() {
java-pkg_newjar "${P}.jar"
use doc && java-pkg_dojavadoc docs
use source && java-pkg_dosrc src/it
}

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
<longdescription lang="en">
The DSI utilities are a mish mash of classes accumulated during the last
ten years in projects developed at the DSI (Dipartimento di Scienze
dell'Informazione, e.g., Information Sciences Department) of the
Università degli Studi di Milano. They were originally distributed in
several projects (mainly in MG4J) but we finally decided to gather all
the material in a single place.
</longdescription>
</pkgmetadata>

@ -0,0 +1,21 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
JAVA_PKG_IUSE="doc source"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="Modified MersenneTwister java port for Freenet"
HOMEPAGE="http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html"
SRC_URI="mirror://gentoo/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND=">=virtual/jre-1.6"
DEPEND=">=virtual/jdk-1.6"

@ -1 +1,2 @@
DIST sac-1.3.zip 163617 SHA256 a228cae0e4c0cbefc7087cd1e17c0e8f91ee648949c6f0b9854c22f7ad1557b6 SHA512 e179d2e672f1e9e134c4bec92742410bcf2c5d423e5d236856bb53e849d7fcdb2bb09518796d30862685a9ab2344bfeea9b4c7f3c3dd4a1007c8056e120c87b9 WHIRLPOOL 306315955e0fd94e11d601e8de04c6acee104b3a8662b4d10fe3c336aff940af6ef10037c6117c218ece03cd042abf02c061daed40568087009db15bfa352086
DIST sacjava-1.3.zip 163617 SHA256 a228cae0e4c0cbefc7087cd1e17c0e8f91ee648949c6f0b9854c22f7ad1557b6 SHA512 e179d2e672f1e9e134c4bec92742410bcf2c5d423e5d236856bb53e849d7fcdb2bb09518796d30862685a9ab2344bfeea9b4c7f3c3dd4a1007c8056e120c87b9 WHIRLPOOL 306315955e0fd94e11d601e8de04c6acee104b3a8662b4d10fe3c336aff940af6ef10037c6117c218ece03cd042abf02c061daed40568087009db15bfa352086

@ -0,0 +1,30 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
JAVA_PKG_IUSE="doc source"
inherit java-pkg-2 java-pkg-simple
DESCRIPTION="SAC is a standard interface for CSS parser"
HOMEPAGE="http://www.w3.org/Style/CSS/SAC/"
SRC_URI="http://www.w3.org/2002/06/sacjava-${PV}.zip -> ${P}.zip"
LICENSE="W3C"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND=">=virtual/jdk-1.6"
RDEPEND=">=virtual/jre-1.6"
S="${WORKDIR}/${P}"
JAVA_SRC_DIR="org"
java_prepare() {
java-pkg_clean
}

@ -1,17 +0,0 @@
# ChangeLog for dev-java/sux4j
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-java/sux4j/ChangeLog,v 1.3 2014/03/08 15:47:09 tomwij Exp $
08 Mar 2014; Tom Wijsman <TomWij@gentoo.org> -sux4j-1.0.1.ebuild:
Remove old.
*sux4j-2.0 (11 Jul 2009)
11 Jul 2009; Alistair Bush <ali_bush@gentoo.org> +sux4j-2.0.ebuild:
Version Bump.
*sux4j-1.0.1 (15 Apr 2008)
15 Apr 2008; Alistair Bush <ali_bush@gentoo.org> +metadata.xml,
+sux4j-1.0.1.ebuild:
New Package.

@ -1 +0,0 @@
DIST sux4j-2.0-src.tar.gz 103997 SHA256 232845b79e5652ff0fc6e29d06ea0627ba26d9b2f646fae3cb4e6451732f7e35 SHA512 b52e07ea1f4721ad20daf95a02f5c1b79300ce91316696227c04a4af51b9d6d8cecaae0a0abecafb8414157dc1e43659e34402f853466b4ef8040b5dbdd1fc81 WHIRLPOOL d58eb1a9b7d95179679949c4b3df1b109f2c218a469dfd8239dfcfffd37eaacd8848e9ac65f4623bc85938e78294f536d2194dcdde91e05afe9ac2a6472bd4ad

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>java@gentoo.org</email>
<name>Java</name>
</maintainer>
<longdescription lang="en">
Sux in an umbrella nickname for the results of my fiddling with the implementation of basic succinct data strucures.
The resulting code is rather sparse. The main highlights are:
* a novel, broadword-based implementation of rank/select queries for up to 264 bits that is highly competitive with known 32-bit implementations on 64-bit architectures (additional space required is 25% for ranking and 12.5%-37.5% for selection);
* several Java structures using the EliasFano representation of monotone sequences for storing pointers, variable-length bit arrays, etc.
* Java code implementing minimal perfect hashing using around 2.65 bits per element (also using some broadword ideas);
* a few Java implementation of monotone minimal perfect hashing.
</longdescription>
</pkgmetadata>

@ -1,49 +0,0 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="2"
JAVA_PKG_IUSE="doc source"
inherit java-pkg-2 java-ant-2
DESCRIPTION="Sux: Implementing Succinct Data Structures"
HOMEPAGE="http://sux.dsi.unimi.it/"
SRC_URI="http://sux.dsi.unimi.it/${P}-src.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""
COMMON_DEP="dev-java/fastutil:5.0
dev-java/commons-io:1
dev-java/colt:0
dev-java/dsiutils:0
dev-java/log4j:0
dev-java/commons-collections:0
dev-java/commons-configuration:0
dev-java/jsap:0
dev-java/commons-lang:2.1
dev-java/junit:0"
RDEPEND=">=virtual/jre-1.5
${COMMON_DEP}"
DEPEND=">=virtual/jdk-1.5
app-arch/unzip
${COMMON_DEP}"
src_unpack() {
unpack ${A}
cd "${S}"
java-ant_rewrite-classpath
}
EANT_GENTOO_CLASSPATH="fastutil-5.0,commons-io-1,colt,dsiutils,log4j,commons-collections,commons-configuration,jsap,commons-lang-2.1,junit"
src_install() {
java-pkg_newjar "${P}.jar"
use doc && java-pkg_dojavadoc docs
use source && java-pkg_dosrc src
}

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -27,6 +27,9 @@ kernel_linux? (
ppc64? ( ${BOOTSTRAP_DIST}/go-linux-ppc64-bootstrap.tbz )
x86? ( ${BOOTSTRAP_DIST}/go-linux-386-bootstrap.tbz )
)
kernel_SunOS? (
x64-solaris? ( ${BOOTSTRAP_DIST}/go-solaris-amd64-bootstrap.tbz )
)
"
if [[ ${PV} = 9999 ]]; then
@ -39,7 +42,7 @@ else
case ${PV} in
*9999*|*_rc*) ;;
*)
KEYWORDS="-* ~amd64 ~arm ~x86 ~amd64-fbsd ~x86-fbsd ~x64-macos"
KEYWORDS="-* ~amd64 ~arm64 ~ppc64 ~amd64-fbsd ~x86-fbsd ~x64-macos ~x64-solaris"
;;
esac
fi

@ -1 +1,2 @@
DIST nasm-2.11.08.tar.xz 764872 SHA256 c99467c7072211c550d147640d8a1a0aa4d636d4d8cf849f3bf4317d900a1f7f SHA512 f7caf42d0fe1b850de13180a1f363e34a6d44a02696312dd8f12f4116ad1c1f3d01e6606c3a79fb881e76fc70d20894d85b333c84a75d60265ff9551f7b8cde4 WHIRLPOOL d13f342d59aedf2510347f847a2f5fb276a3bdb9e7b8c5cac6ac4e204a03ea31e477adc19facbf68f939245aae72971b232f1a0fc461ef554458f8956403c623
DIST nasm-2.12.tar.xz 774808 SHA256 f34cc1e984ed619b8f9e96cea632e3c6fdea5e039069dbcb63397b7bd004f5a8 SHA512 6aef9cdebf0e846e476bc57c42bfe6efcbeecf65a3b3fec3c4b5777e5d490e9a4d0cce2b551a8d7b995c1e36ea838526b55355f70d000a78cdd005ac83e41b56 WHIRLPOOL 7717077d80f613afc6d4812215fa8d9f552a7ec7e9c4af6b0965499d155c46c553a2be060c8c46fb252d23fd0432d32fbc878df9dec4832383f58661c7b01c91

@ -0,0 +1,42 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit flag-o-matic
DESCRIPTION="groovy little assembler"
HOMEPAGE="http://www.nasm.us/"
SRC_URI="http://www.nasm.us/pub/nasm/releasebuilds/${PV/_}/${P/_}.tar.xz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~ia64 ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-macos"
IUSE="doc"
DEPEND="dev-lang/perl
doc? ( app-text/ghostscript-gpl sys-apps/texinfo )"
RDEPEND=""
S=${WORKDIR}/${P/_}
src_configure() {
strip-flags
econf
}
src_compile() {
emake nasmlib.o
emake all
use doc && emake doc
}
src_install() {
emake INSTALLROOT="${D}" install install_rdf
dodoc AUTHORS CHANGES ChangeLog README TODO
if use doc ; then
doinfo doc/info/*
dohtml doc/html/*
dodoc doc/nasmdoc.*
fi
}

@ -91,6 +91,14 @@ src_compile() {
fi
}
src_test() {
if use ocamlopt ; then
emake -j1 tests
else
ewarn "${PN} testsuite requires ocamlopt useflag"
fi
}
src_install() {
emake BINDIR="${ED}"/usr/bin \
LIBDIR="${ED}"/usr/$(get_libdir)/ocaml \

@ -2,8 +2,10 @@ DIST php-5.4.45.tar.bz2 12703324 SHA256 4e0d28b1554c95cfaea6fa2b64aac85433f158ce
DIST php-5.5.30.tar.bz2 13699702 SHA256 e7332a713cecdd1cb44a1b1336739885c9789f633f0f51236b25e48ab03c3b29 SHA512 9458126f579ace9e2aebdfa7ad7f8d097f1fd502f443d8fd66263ba3c542d579ca9c705e227725fae57e452649a3be7cb717a0330d339b93d3c6c94fa80dbc1f WHIRLPOOL 2aa6c61a48a231d81f6c746f94e42589d87b93d0526f02d6d15f731cbbca4aecdee84b443f7ec1891f2a524939c542ac6f94e15db90a23a8b19523463025d395
DIST php-5.5.31.tar.bz2 13659002 SHA256 fb4a382b9a9dceb749b7ef047d8251320bc8d371c843714e5b4f4b70d61ba277 SHA512 b5b44092636bf26898441cfda4007480dcd0d58b72cd5c53d74ad2926fe54bf7e5db995c8ff598f72f1783ecd02aafad6be7d3bbd35dc83300621c7c37d37eca WHIRLPOOL 4d6a4cce634d30454280b08c30e25fdc6c2d2f37a823123372a4b1bc2b0cc5cdb4e10ccdc73e78cfbf243f83184861c8f79fae023fcf291ee102151a28236052
DIST php-5.5.32.tar.bz2 13685561 SHA256 b0f2c108db8e05db9f6366aaba9a754fd0ee31f3f86ee889561b608dfd6e92ee SHA512 1603864e7a98378bb5a7c1592d81029fd7dfe5d2fa88152a9e29484c3c98cd6126a79741657eea3e3295ed1bdeed47527d33981c9ea0df891f137ee8126cce2b WHIRLPOOL b7b86eec6b03720238bbe698289c6b1aecf920645f166d617fd26166aba8e19a474ff15d482f8f84fd48befc6b6be6c388797bb3f269f5609e71e10be9844759
DIST php-5.5.33.tar.bz2 13686486 SHA256 c490b1ed4df596b48eb68f630d89ca512945e2650840e7dace1119cc7e600aa9 SHA512 a0ac57adcc4b0caec153265a8d1ded8d4d0f71b44f08158feb0add9c8fdd36826767882e85dd03399cf146800eddcb6b6cc1b21051d4fc4371e3f61b1169132b WHIRLPOOL 373c61677adb89506cc4621d1c7a0732f6454a8679a797807631f2286188bb990dfcaf34b4108edf7b1819424100fa0d7060f0f792a65dc5f1c130cfa00e6b45
DIST php-5.6.14.tar.bz2 14073920 SHA256 36f295f11641c1839a5df00e693f685fd134c65e8a1d46e8ee0abae8662b2eb0 SHA512 af0c7fa5c7be15839b1189b2544ff725b935228030087c206f83727e7885750030b10bf2bfbd27adea6f18af90d4ecd3ced9defec88c5f98f7ed26b4e4c57981 WHIRLPOOL 8e31fc3dbeb22fa2a59112d2dcbe28f8102c8d5a14fd716d17f909399c06d27a10ea32d43ebd1a12cea78d9fd949ae7c7882628ae0c3abd7354d165107fa0c9d
DIST php-5.6.17.tar.bz2 14072840 SHA256 77b45f56a1e63e75bb22b42cfb8b438ec4083c59ce774b4d7c1685544b7add3b SHA512 706fd31324c98717d44b4db4440a5eaffe24ad34b346ba95418b33ee072b3ddde5d7429d318f69554b4bfcd7dcc0e9e4b07142b539196e9f0ab7707485ad9dbb WHIRLPOOL 02b7ea265b41e9db94a0087bd5baefdd45f3954df12298f1c50340bee5de1f5ea21ec5e1e039741db5cdd19ffd51518775bc17eff5ad8ad138c71fcaacf80af1
DIST php-5.6.18.tar.bz2 14094993 SHA256 c3cd4a29a9562309d36e2b128407d6eaa5c7dde590d2b1a464457383e517f4ed SHA512 1f0820d829923404ceae287129afa9c7d7d9c83d6fbf148a65a6ac49224f4cb84e743443c4fadb69d959229123ab7e99816aab40f694d808e64b05bb7238f89e WHIRLPOOL f4863256dfe3497276ca07b6f01eb5ec046f377e462b5d7d1d11b1e92e99f087b4c55719dace4d5aca1b30794ddd37c9d81b30deb6a913b7c0eeff67ebd74c13
DIST php-7.0.3.tar.bz2 14011153 SHA256 826823d754f09c779222a99becf9c53a4dc719dba2d777aca7807c6ca68e6fc6 SHA512 3a7aa542f53a38499eb126c3d489bed057a5a9b8e4a8fb45a55b1080fc573646615699bd94b03c882e58554b23ac5d6e3aaf54d0b502b9d110e91e69339bd7a0 WHIRLPOOL 93952672c05b5b85766f425f8b6cf290dab820e87d01945d145c52b37c9f33f995df40a9ddc00f1660a036cb07000e42c16d9587e9b4137b55bc5f95d3a3190b
DIST php-5.6.19.tar.bz2 14100438 SHA256 2a24a3f84971680ac0a4c71050067de4f76ee235aa4a041fae21bfa69975c168 SHA512 c8c2b3bdfc1a8abe834612c33123b4f103e841c230b53934fb7bafe11af7f1175f02ca54c92f33e8e603485e6283897bebb51acc55d1213b7433024684215c14 WHIRLPOOL f026e8779c531f887b1e292e5f1d6eafd0e3ae46f83ae8efb830ad8e0f91d86e5b002dda9e6a02987db6230557ff773d8c52dd2db423d792aed1aca292e5b92b
DIST php-7.0.4.tar.bz2 14027088 SHA256 a246c503709c189ba8e1e22ed2cb22abc27da43a997ff1b3318e181baf529dcc SHA512 9d1dc761cdd9103a91299e01117c1790550e3b94e7694dcc2555d83e5abe3d2170acd6226e8501c5f2a77b5c374b1c9f5ea009999d476818c2682a54def86b96 WHIRLPOOL 08b6b023854af693d85a6e48b3ec83f10ede0c07ac6d18b1b3b2a4d8208dcc7ba55900985be812c3325703bc291d8a842d7754c1b7754e2c52c72e7488d6d8df
DIST php-patchset-5.4-r2.tar.bz2 5824 SHA256 4a47f4d31f50a244f85349486cdb3474cf315562e097ed4c116c2b9b5730ecef SHA512 3c2523458a627373da7acb93fb2cd621f50b19fe2ba1d30beb62eeaaa39045262b917cfd0b631046fec9c8027cfa99bd0426a079ab45eb172b21d25d6e085dde WHIRLPOOL fe4f015e2f0dc66cc23ef16fb5bb33117952593ae0770d4bcd37ecc1c431cbcc7874189d265696305c60b4e395e7ce902667e38203db46867304868271affdea

@ -0,0 +1,784 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use libtool systemd
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
function php_get_uri ()
{
case "${1}" in
"php-pre")
echo "http://downloads.php.net/dsp/${2}"
;;
"php")
echo "http://www.php.net/distributions/${2}"
;;
"olemarkus")
echo "https://dev.gentoo.org/~olemarkus/php/${2}"
;;
"gentoo")
echo "mirror://gentoo/${2}"
;;
*)
die "unhandled case in php_get_uri"
;;
esac
}
PHP_MV="$(get_major_version)"
SLOT="$(get_version_component_range 1-2)"
# alias, so we can handle different types of releases (finals, rcs, alphas,
# betas, ...) w/o changing the whole ebuild
PHP_PV="${PV/_rc/RC}"
PHP_PV="${PHP_PV/_alpha/alpha}"
PHP_PV="${PHP_PV/_beta/beta}"
PHP_RELEASE="php"
[[ ${PV} == ${PV/_alpha/} ]] || PHP_RELEASE="php-pre"
[[ ${PV} == ${PV/_beta/} ]] || PHP_RELEASE="php-pre"
[[ ${PV} == ${PV/_rc/} ]] || PHP_RELEASE="php-pre"
PHP_P="${PN}-${PHP_PV}"
PHP_SRC_URI="$(php_get_uri "${PHP_RELEASE}" "${PHP_P}.tar.bz2")"
PHP_FPM_CONF_VER="1"
SRC_URI="${PHP_SRC_URI}"
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="http://php.net/"
LICENSE="PHP-3"
S="${WORKDIR}/${PHP_P}"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
crypt +ctype curl debug
enchant exif frontbase +fileinfo +filter firebird
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit mhash
mssql mysql libmysqlclient mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline recode selinux +session sharedmem
+simplexml snmp soap sockets spell sqlite ssl
sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
DEPEND="
>=app-eselect/eselect-php-0.7.1-r3[apache2?,fpm?]
>=dev-libs/libpcre-8.32[unicode]
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
<www-servers/apache-2.4[threads=] ) )
berkdb? ( =sys-libs/db-4* )
bzip2? ( app-arch/bzip2 )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
cjk? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
crypt? ( >=dev-libs/libmcrypt-2.4 )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( app-text/enchant )
exif? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
firebird? ( dev-db/firebird )
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
gdbm? ( >=sys-libs/gdbm-1.8.0 )
gmp? ( >=dev-libs/gmp-4.1.2 )
iconv? ( virtual/libiconv )
imap? ( virtual/imap-c-client[ssl=] )
intl? ( dev-libs/icu:= )
iodbc? ( dev-db/libiodbc )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
mssql? ( dev-db/freetds[mssql] )
libmysqlclient? (
mysql? ( virtual/mysql )
mysqli? ( >=virtual/mysql-4.1 )
)
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
odbc? ( >=dev-db/unixODBC-1.8.13 )
postgres? ( dev-db/postgresql )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline )
recode? ( app-text/recode )
sharedmem? ( dev-libs/mm )
simplexml? ( >=dev-libs/libxml2-2.6.8 )
snmp? ( >=net-analyzer/net-snmp-5.2 )
soap? ( >=dev-libs/libxml2-2.6.8 )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? ( >=dev-libs/openssl-0.9.7 )
sybase-ct? ( dev-db/freetds )
tidy? ( app-text/htmltidy )
truetype? (
=media-libs/freetype-2*
>=media-libs/t1lib-5.0.0
!gd? (
virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
)
unicode? ( dev-libs/oniguruma )
vpx? ( media-libs/libvpx )
wddx? ( >=dev-libs/libxml2-2.6.8 )
xml? ( >=dev-libs/libxml2-2.6.8 )
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
xpm? (
x11-libs/libXpm
virtual/jpeg:0
media-libs/libpng:0= sys-libs/zlib
)
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
zip? ( sys-libs/zlib )
zlib? ( sys-libs/zlib )
virtual/mta
"
php="=${CATEGORY}/${PF}"
REQUIRED_USE="
truetype? ( gd )
vpx? ( gd )
cjk? ( gd )
exif? ( gd )
xpm? ( gd )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
wddx? ( xml )
xmlrpc? ( || ( xml iconv ) )
xmlreader? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
mhash? ( hash )
phar? ( hash )
libmysqlclient? ( || (
mysql
mysqli
pdo
) )
qdbm? ( !gdbm )
readline? ( !libedit )
recode? ( !imap !mysql !mysqli )
sharedmem? ( !threads )
!cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
RDEPEND="${DEPEND}"
RDEPEND="${RDEPEND}
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
DEPEND="${DEPEND}
sys-devel/flex
>=sys-devel/m4-1.4.3
>=sys-devel/libtool-1.5.18"
# Allow users to install production version if they want to
case "${PHP_INI_VERSION}" in
production|development)
;;
*)
PHP_INI_VERSION="development"
;;
esac
PHP_INI_UPSTREAM="php.ini-${PHP_INI_VERSION}"
PHP_INI_FILE="php.ini"
want_apache
pkg_setup() {
depend.apache_pkg_setup
}
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
local phpinisrc="${PHP_INI_UPSTREAM}-${phpsapi}"
cp "${PHP_INI_UPSTREAM}" "${phpinisrc}"
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}"
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}"
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}"
dodir "${PHP_INI_DIR#${EPREFIX}}"
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${phpinisrc}" "${PHP_INI_FILE}"
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
elog
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
if use_if_iuse opcache; then
elog "Adding opcache to $PHP_EXT_INI_DIR"
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> "${D}/${PHP_EXT_INI_DIR}"/opcache.ini
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
fi
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
[[ -z ${PHP_FPM_CONF_VER} ]] && PHP_FPM_CONF_VER=0
einfo "Installing FPM CGI config file php-fpm.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${FILESDIR}/php-fpm-r${PHP_FPM_CONF_VER}.conf" php-fpm.conf
# Remove bogus /etc/php-fpm.conf.default (bug 359906)
[[ -f "${ED}/etc/php-fpm.conf.default" ]] && rm "${ED}/etc/php-fpm.conf.default"
fi
# Install PHP ini files into /usr/share/php
dodoc php.ini-development
dodoc php.ini-production
}
php_set_ini_dir() {
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}
src_prepare() {
# USE=sharedmem (session/mod_mm to be exact) tries to mmap() this path
# ([empty session.save_path]/session_mm_[sapi][gid].sem)
# there is no easy way to circumvent that, all php calls during
# install use -n, so no php.ini file will be used.
# As such, this is the easiest way to get around
addpredict /session_mm_cli250.sem
addpredict /session_mm_cli0.sem
# Change PHP branding
# Get the alpha/beta/rc version
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
-i configure.in || die "Unable to change PHP branding"
# Patch PHP to show Gentoo as the server platform
sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
-i configure.in || die "Failed to fix server platform name"
# Prevent PHP from activating the Apache config,
# as we will do that ourselves
sed -i \
-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4
# Patch PHP to support heimdal instead of mit-krb5
if has_version "app-crypt/heimdal" ; then
sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
|| die "Failed to fix heimdal libname"
sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
|| die "Failed to fix heimdal crypt library reference"
fi
#Add user patches #357637
epatch_user
#force rebuilding aclocal.m4
rm aclocal.m4
eautoreconf
if [[ ${CHOST} == *-darwin* ]] ; then
# http://bugs.php.net/bug.php?id=48795, bug #343481
sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die
fi
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
# This is a global variable and should be in caps. It isn't because the
# phpconfutils eclass relies on exactly this name...
# for --with-libdir see bug #327025
my_conf="
--prefix="${PHP_DESTDIR}"
--mandir="${PHP_DESTDIR}"/man
--infodir="${PHP_DESTDIR}"/info
--libdir="${PHP_DESTDIR}"/lib
--with-libdir=$(get_libdir)
--without-pear
$(use_enable threads maintainer-zts)"
# extension USE flag shared
my_conf+="
$(use_enable bcmath bcmath )
$(use_with bzip2 bz2 "${EPREFIX}"/usr)
$(use_enable calendar calendar )
$(use_enable ctype ctype )
$(use_with curl curl "${EPREFIX}"/usr)
$(use_enable xml dom )
$(use_with enchant enchant "${EPREFIX}"/usr)
$(use_enable exif exif )
$(use_enable fileinfo fileinfo )
$(use_enable filter filter )
$(use_enable ftp ftp )
$(use_with nls gettext "${EPREFIX}"/usr)
$(use_with gmp gmp "${EPREFIX}"/usr)
$(use_enable hash hash )
$(use_with mhash mhash "${EPREFIX}"/usr)
$(use_with iconv iconv $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}"/usr))
$(use_enable intl intl )
$(use_enable ipv6 ipv6 )
$(use_enable json json )
$(use_with kerberos kerberos "${EPREFIX}"/usr)
$(use_enable xml libxml )
$(use_with xml libxml-dir "${EPREFIX}"/usr)
$(use_enable unicode mbstring )
$(use_with crypt mcrypt "${EPREFIX}"/usr)
$(use_with mssql mssql "${EPREFIX}"/usr)
$(use_with unicode onig "${EPREFIX}"/usr)
$(use_with ssl openssl "${EPREFIX}"/usr)
$(use_with ssl openssl-dir "${EPREFIX}"/usr)
$(use_enable pcntl pcntl )
$(use_enable phar phar )
$(use_enable pdo pdo )
$(use_enable opcache opcache )
$(use_with postgres pgsql "${EPREFIX}"/usr)
$(use_enable posix posix )
$(use_with spell pspell "${EPREFIX}"/usr)
$(use_with recode recode "${EPREFIX}"/usr)
$(use_enable simplexml simplexml )
$(use_enable sharedmem shmop )
$(use_with snmp snmp "${EPREFIX}"/usr)
$(use_enable soap soap )
$(use_enable sockets sockets )
$(use_with sqlite sqlite3 "${EPREFIX}"/usr)
$(use_with sybase-ct sybase-ct "${EPREFIX}"/usr)
$(use_enable sysvipc sysvmsg )
$(use_enable sysvipc sysvsem )
$(use_enable sysvipc sysvshm )
$(use_with systemd fpm-systemd)
$(use_with tidy tidy "${EPREFIX}"/usr)
$(use_enable tokenizer tokenizer )
$(use_enable wddx wddx )
$(use_enable xml xml )
$(use_enable xmlreader xmlreader )
$(use_enable xmlwriter xmlwriter )
$(use_with xmlrpc xmlrpc)
$(use_with xslt xsl "${EPREFIX}"/usr)
$(use_enable zip zip )
$(use_with zlib zlib "${EPREFIX}"/usr)
$(use_enable debug debug )"
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm ; then
my_conf="${my_conf} --enable-dba${shared}"
fi
# DBA drivers support
my_conf+="
$(use_with cdb cdb)
$(use_with berkdb db4 ${EPREFIX}/usr)
$(use_enable flatfile flatfile )
$(use_with gdbm gdbm ${EPREFIX}/usr)
$(use_enable inifile inifile )
$(use_with qdbm qdbm ${EPREFIX}/usr)"
# Support for the GD graphics library
my_conf+="
$(use_with truetype freetype-dir ${EPREFIX}/usr)
$(use_with truetype t1lib ${EPREFIX}/usr)
$(use_enable cjk gd-jis-conv )
$(use_with gd jpeg-dir ${EPREFIX}/usr)
$(use_with gd png-dir ${EPREFIX}/usr)
$(use_with xpm xpm-dir ${EPREFIX}/usr)
$(use_with vpx vpx-dir ${EPREFIX}/usr)"
# enable gd last, so configure can pick up the previous settings
my_conf+="
$(use_with gd gd)"
# IMAP support
if use imap ; then
my_conf+="
$(use_with imap imap ${EPREFIX}/usr)
$(use_with ssl imap-ssl ${EPREFIX}/usr)"
fi
# Interbase/firebird support
if use firebird ; then
my_conf+="
$(use_with firebird interbase ${EPREFIX}/usr)"
fi
# LDAP support
if use ldap ; then
my_conf+="
$(use_with ldap ldap ${EPREFIX}/usr)
$(use_with ldap-sasl ldap-sasl ${EPREFIX}/usr)"
fi
# MySQL support
local mysqllib="mysqlnd"
local mysqlilib="mysqlnd"
use libmysqlclient && mysqllib="${EPREFIX}/usr"
use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config"
my_conf+=" $(use_with mysql mysql $mysqllib)"
my_conf+=" $(use_with mysqli mysqli $mysqlilib)"
local mysqlsock=" $(use_with mysql mysql-sock ${EPREFIX}/var/run/mysqld/mysqld.sock)"
if use mysql ; then
my_conf+="${mysqlsock}"
elif use mysqli ; then
my_conf+="${mysqlsock}"
fi
# ODBC support
if use odbc ; then
my_conf+="
$(use_with odbc unixODBC ${EPREFIX}/usr)"
fi
if use iodbc ; then
my_conf+="
$(use_with iodbc iodbc ${EPREFIX}/usr)"
fi
# Oracle support
if use oci8-instant-client ; then
my_conf+="
$(use_with oci8-instant-client oci8)"
fi
# PDO support
if use pdo ; then
my_conf+="
$(use_with mssql pdo-dblib )
$(use_with mysql pdo-mysql ${mysqllib})
$(use_with postgres pdo-pgsql )
$(use_with sqlite pdo-sqlite ${EPREFIX}/usr)
$(use_with odbc pdo-odbc unixODBC,${EPREFIX}/usr)"
if use oci8-instant-client ; then
my_conf+="
$(use_with oci8-instant-client pdo-oci)"
fi
fi
# readline/libedit support
my_conf+="
$(use_with readline readline ${EPREFIX}/usr)
$(use_with libedit libedit ${EPREFIX}/usr)"
# Session support
if use session ; then
my_conf+="
$(use_with sharedmem mm ${EPREFIX}/usr)"
else
my_conf+="
$(use_enable session session )"
fi
# Use pic for shared modules such as apache2's mod_php
my_conf="${my_conf} --with-pic"
# we use the system copy of pcre
# --with-pcre-regex affects ext/pcre
# --with-pcre-dir affects ext/filter and ext/zip
my_conf="${my_conf} --with-pcre-regex=${EPREFIX}/usr --with-pcre-dir=${EPREFIX}/usr"
# Catch CFLAGS problems
# Fixes bug #14067.
# Changed order to run it in reverse for bug #32022 and #12021.
replace-cpu-flags "k6*" "i586"
# Support user-passed configuration parameters
my_conf="${my_conf} ${EXTRA_ECONF:-}"
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
mkdir -p "${WORKDIR}/sapis-build"
for one_sapi in $SAPIS ; do
use "${one_sapi}" || continue
php_set_ini_dir "${one_sapi}"
cp -r "${S}" "${WORKDIR}/sapis-build/${one_sapi}"
cd "${WORKDIR}/sapis-build/${one_sapi}"
sapi_conf="${my_conf} --with-config-file-path=${PHP_INI_DIR}
--with-config-file-scan-dir=${PHP_EXT_INI_DIR_ACTIVE}"
for sapi in $SAPIS ; do
case "$sapi" in
cli|cgi|embed|fpm)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf="${sapi_conf} --enable-${sapi}"
else
sapi_conf="${sapi_conf} --disable-${sapi}"
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf="${sapi_conf} --with-apxs2=${EPREFIX}/usr/sbin/apxs"
else
sapi_conf="${sapi_conf} --without-apxs2"
fi
;;
esac
done
econf ${sapi_conf}
done
}
src_compile() {
# snmp seems to run during src_compile, too (bug #324739)
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
for sapi in ${SAPIS} ; do
if use "${sapi}"; then
cd "${WORKDIR}/sapis-build/$sapi" || "Failed to change dir to ${WORKDIR}/sapis-build/$1"
emake || die "emake failed"
fi
done
}
src_install() {
# see bug #324739 for what happens when we don't have that
addpredict /usr/share/snmp/mibs/.index
# grab the first SAPI that got built and install common files from there
local first_sapi=""
for sapi in $SAPIS ; do
if use $sapi ; then
first_sapi=$sapi
break
fi
done
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
# Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi"
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs \
|| die "emake install failed"
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir /usr/share/php${PHP_MV}
local sapi="", file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
cd "${WORKDIR}/sapis-build/${sapi}"
if [[ "${sapi}" == "apache2" ]] ; then
# We're specifically not using emake install-sapi as libtool
# may cause unnecessary relink failures (see bug #351266)
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
newins ".libs/libphp5$(get_libname)" "libphp${PHP_MV}$(get_libname)"
keepdir "/usr/$(get_libdir)/apache2/modules"
else
# needed each time, php_install_ini would reset it
local dest="${PHP_DESTDIR#${EPREFIX}}"
into "${dest}"
case "$sapi" in
cli)
source="sapi/cli/php"
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp${PHP_MV}$(get_libname)"
;;
*)
die "unhandled sapi in src_install"
;;
esac
if [[ "${source}" == *"$(get_libname)" ]]; then
dolib.so "${source}" || die "Unable to install ${sapi} sapi"
else
dobin "${source}" || die "Unable to install ${sapi} sapi"
local name="$(basename ${source})"
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use_if_iuse opcache ; then
dolib.so "modules/opcache$(get_libname)" || die "Unable to install opcache module"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" \
"20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i \
"${ED}/etc/env.d/20php${SLOT}"
sed -e "s|php5|php${SLOT}|g" -i \
"${ED}/etc/env.d/20php${SLOT}"
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config"
if use fpm ; then
if use systemd; then
systemd_newunit "${FILESDIR}/php-fpm_at.service" "php-fpm@${SLOT}.service"
else
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" "php-fpm@${SLOT}.service"
fi
fi
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d "session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d "session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
APACHE2_MOD_DEFINE="PHP"
APACHE2_MOD_CONF="70_mod_php" # provided by app-eselect/eselect-php
apache-module_pkg_postinst
fi
# Create the symlinks for php
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT}
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
elog "Make sure that PHP_TARGETS in ${EPREFIX}/etc/make.conf includes php${SLOT/./-} in order"
elog "to compile extensions for the ${SLOT} ABI"
elog
if ! use readline && use cli ; then
ewarn "Note that in order to use php interactivly, you need to enable"
ewarn "the readline USE flag or php -a will hang"
fi
elog
elog "This ebuild installed a version of php.ini based on php.ini-${PHP_INI_VERSION} version."
elog "You can chose which version of php.ini to install by default by setting PHP_INI_VERSION to either"
elog "'production' or 'development' in ${EPREFIX}/etc/make.conf"
elog "Both versions of php.ini can be found in ${EPREFIX}/usr/share/doc/${PF}"
elog
elog "For more details on how minor version slotting works (PHP_TARGETS) please read the upgrade guide:"
elog "https://www.gentoo.org/proj/en/php/php-upgrading.xml"
elog
}
pkg_prerm() {
eselect php cleanup
}

@ -0,0 +1,807 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils autotools flag-o-matic versionator depend.apache apache-module libtool systemd
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
function php_get_uri ()
{
case "${1}" in
"php-pre")
echo "http://downloads.php.net/dsp/${2}"
;;
"php")
echo "http://www.php.net/distributions/${2}"
;;
"olemarkus")
echo "https://dev.gentoo.org/~olemarkus/php/${2}"
;;
"gentoo")
echo "mirror://gentoo/${2}"
;;
*)
die "unhandled case in php_get_uri"
;;
esac
}
PHP_MV="$(get_major_version)"
SLOT="$(get_version_component_range 1-2)"
# alias, so we can handle different types of releases (finals, rcs, alphas,
# betas, ...) w/o changing the whole ebuild
PHP_PV="${PV/_rc/RC}"
PHP_PV="${PHP_PV/_alpha/alpha}"
PHP_PV="${PHP_PV/_beta/beta}"
PHP_RELEASE="php"
[[ ${PV} == ${PV/_alpha/} ]] || PHP_RELEASE="php-pre"
[[ ${PV} == ${PV/_beta/} ]] || PHP_RELEASE="php-pre"
[[ ${PV} == ${PV/_rc/} ]] || PHP_RELEASE="php-pre"
PHP_P="${PN}-${PHP_PV}"
PHP_SRC_URI="$(php_get_uri "${PHP_RELEASE}" "${PHP_P}.tar.bz2")"
PHP_FPM_CONF_VER="1"
SRC_URI="${PHP_SRC_URI}"
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="http://php.net/"
LICENSE="PHP-3"
S="${WORKDIR}/${PHP_P}"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
crypt +ctype curl debug
enchant exif frontbase +fileinfo +filter firebird
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
mhash mssql mysql libmysqlclient mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline recode selinux +session sharedmem
+simplexml snmp soap sockets spell sqlite ssl
sybase-ct sysvipc systemd tidy +tokenizer truetype unicode vpx wddx
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
DEPEND="
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
>=dev-libs/libpcre-8.32[unicode]
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
<www-servers/apache-2.4[threads=] ) )"
# The supported (that is, autodetected) versions of BDB are listed in
# the ./configure script. Other versions *work*, but we need to stick to
# the ones that can be detected to avoid a repeat of bug #564824.
DEPEND="${DEPEND}
berkdb? ( || ( sys-libs/db:5.3
sys-libs/db:5.1
sys-libs/db:4.8
sys-libs/db:4.7
sys-libs/db:4.6
sys-libs/db:4.5 ) )
bzip2? ( app-arch/bzip2 )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
cjk? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
crypt? ( >=dev-libs/libmcrypt-2.4 )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( app-text/enchant )
exif? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
firebird? ( dev-db/firebird )
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
gdbm? ( >=sys-libs/gdbm-1.8.0 )
gmp? ( dev-libs/gmp:0 )
iconv? ( virtual/libiconv )
imap? ( virtual/imap-c-client[ssl=] )
intl? ( dev-libs/icu:= )
iodbc? ( dev-db/libiodbc )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
mssql? ( dev-db/freetds[mssql] )
libmysqlclient? (
mysql? ( virtual/mysql )
mysqli? ( >=virtual/mysql-4.1 )
)
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
odbc? ( >=dev-db/unixODBC-1.8.13 )
postgres? ( dev-db/postgresql:* )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline:0 )
recode? ( app-text/recode )
sharedmem? ( dev-libs/mm )
simplexml? ( >=dev-libs/libxml2-2.6.8 )
snmp? ( >=net-analyzer/net-snmp-5.2 )
soap? ( >=dev-libs/libxml2-2.6.8 )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? (
!libressl? ( dev-libs/openssl:0 )
libressl? ( dev-libs/libressl )
)
sybase-ct? ( dev-db/freetds )
tidy? ( app-text/htmltidy )
truetype? (
=media-libs/freetype-2*
>=media-libs/t1lib-5.0.0
!gd? (
virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
)
unicode? ( dev-libs/oniguruma )
vpx? ( media-libs/libvpx )
wddx? ( >=dev-libs/libxml2-2.6.8 )
xml? ( >=dev-libs/libxml2-2.6.8 )
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
xpm? (
x11-libs/libXpm
virtual/jpeg:0
media-libs/libpng:0= sys-libs/zlib
)
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
zip? ( sys-libs/zlib )
zlib? ( sys-libs/zlib )
virtual/mta
"
php="=${CATEGORY}/${PF}"
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
REQUIRED_USE="
cli? ( ^^ ( readline libedit ) )
truetype? ( gd )
vpx? ( gd )
cjk? ( gd )
exif? ( gd )
xpm? ( gd )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
wddx? ( xml )
xmlrpc? ( || ( xml iconv ) )
xmlreader? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
mhash? ( hash )
phar? ( hash )
libmysqlclient? ( || (
mysql
mysqli
pdo
) )
qdbm? ( !gdbm )
readline? ( !libedit )
recode? ( !imap !mysql !mysqli )
sharedmem? ( !threads )
!cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
RDEPEND="${DEPEND}"
RDEPEND="${RDEPEND}
fpm? (
selinux? ( sec-policy/selinux-phpfpm )
systemd? ( sys-apps/systemd ) )"
DEPEND="${DEPEND}
sys-devel/flex
>=sys-devel/m4-1.4.3
>=sys-devel/libtool-1.5.18"
# Allow users to install production version if they want to
case "${PHP_INI_VERSION}" in
production|development)
;;
*)
PHP_INI_VERSION="development"
;;
esac
PHP_INI_UPSTREAM="php.ini-${PHP_INI_VERSION}"
PHP_INI_FILE="php.ini"
want_apache
pkg_setup() {
depend.apache_pkg_setup
}
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
local phpinisrc="${PHP_INI_UPSTREAM}-${phpsapi}"
cp "${PHP_INI_UPSTREAM}" "${phpinisrc}" || die
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}" || die
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
dodir "${PHP_INI_DIR#${EPREFIX}}"
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${phpinisrc}" "${PHP_INI_FILE}"
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
elog
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
if use_if_iuse opcache; then
elog "Adding opcache to $PHP_EXT_INI_DIR"
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
fi
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
einfo "Installing FPM config file php-fpm.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
doins sapi/fpm/php-fpm.conf
fi
dodoc php.ini-development
dodoc php.ini-production
}
php_set_ini_dir() {
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}
src_prepare() {
# Change PHP branding
# Get the alpha/beta/rc version
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
-i configure.in || die "Unable to change PHP branding"
# Patch PHP to show Gentoo as the server platform
sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
-i configure.in || die "Failed to fix server platform name"
# Prevent PHP from activating the Apache config,
# as we will do that ourselves
sed -i \
-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4 \
|| die
# Patch PHP to support heimdal instead of mit-krb5
if has_version "app-crypt/heimdal" ; then
sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
|| die "Failed to fix heimdal libname"
sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
|| die "Failed to fix heimdal crypt library reference"
fi
# Add user patches #357637
epatch_user
# Force rebuilding aclocal.m4
rm -f aclocal.m4 || die
eautoreconf
if [[ ${CHOST} == *-darwin* ]] ; then
# http://bugs.php.net/bug.php?id=48795, bug #343481
sed -i -e '/BUILD_CGI="\\$(CC)/s/CC/CXX/' configure || die
fi
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
local our_conf=(
--prefix="${PHP_DESTDIR}"
--mandir="${PHP_DESTDIR}/man"
--infodir="${PHP_DESTDIR}/info"
--libdir="${PHP_DESTDIR}/lib"
--with-libdir="$(get_libdir)"
--localstatedir="${EPREFIX}/var"
--without-pear
$(use_enable threads maintainer-zts)
)
our_conf+=(
$(use_enable bcmath bcmath)
$(use_with bzip2 bz2 "${EPREFIX}/usr")
$(use_enable calendar calendar)
$(use_enable ctype ctype)
$(use_with curl curl "${EPREFIX}/usr")
$(use_enable xml dom)
$(use_with enchant enchant "${EPREFIX}/usr")
$(use_enable exif exif)
$(use_enable fileinfo fileinfo)
$(use_enable filter filter)
$(use_enable ftp ftp)
$(use_with nls gettext "${EPREFIX}/usr")
$(use_with gmp gmp "${EPREFIX}/usr")
$(use_enable hash hash)
$(use_with mhash mhash "${EPREFIX}/usr")
$(use_with iconv iconv \
$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
$(use_enable intl intl)
$(use_enable ipv6 ipv6)
$(use_enable json json)
$(use_with kerberos kerberos "${EPREFIX}/usr")
$(use_enable xml libxml)
$(use_with xml libxml-dir "${EPREFIX}/usr")
$(use_enable unicode mbstring)
$(use_with crypt mcrypt "${EPREFIX}/usr")
$(use_with mssql mssql "${EPREFIX}/usr")
$(use_with unicode onig "${EPREFIX}/usr")
$(use_with ssl openssl "${EPREFIX}/usr")
$(use_with ssl openssl-dir "${EPREFIX}/usr")
$(use_enable pcntl pcntl)
$(use_enable phar phar)
$(use_enable pdo pdo)
$(use_enable opcache opcache)
$(use_with postgres pgsql "${EPREFIX}/usr")
$(use_enable posix posix)
$(use_with spell pspell "${EPREFIX}/usr")
$(use_with recode recode "${EPREFIX}/usr")
$(use_enable simplexml simplexml)
$(use_enable sharedmem shmop)
$(use_with snmp snmp "${EPREFIX}/usr")
$(use_enable soap soap)
$(use_enable sockets sockets)
$(use_with sqlite sqlite3 "${EPREFIX}/usr")
$(use_with sybase-ct sybase-ct "${EPREFIX}/usr")
$(use_enable sysvipc sysvmsg)
$(use_enable sysvipc sysvsem)
$(use_enable sysvipc sysvshm)
$(use_with systemd fpm-systemd)
$(use_with tidy tidy "${EPREFIX}/usr")
$(use_enable tokenizer tokenizer)
$(use_enable wddx wddx)
$(use_enable xml xml)
$(use_enable xmlreader xmlreader)
$(use_enable xmlwriter xmlwriter)
$(use_with xmlrpc xmlrpc)
$(use_with xslt xsl "${EPREFIX}/usr")
$(use_enable zip zip)
$(use_with zlib zlib "${EPREFIX}/usr")
$(use_enable debug debug)
)
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm ; then
our_conf+=( "--enable-dba${shared}" )
fi
# DBA drivers support
our_conf+=(
$(use_with cdb cdb)
$(use_with berkdb db4 "${EPREFIX}/usr")
$(use_enable flatfile flatfile)
$(use_with gdbm gdbm "${EPREFIX}/usr")
$(use_enable inifile inifile)
$(use_with qdbm qdbm "${EPREFIX}/usr")
)
# Support for the GD graphics library
our_conf+=(
$(use_with truetype freetype-dir "${EPREFIX}/usr")
$(use_with truetype t1lib "${EPREFIX}/usr")
$(use_enable cjk gd-jis-conv)
$(use_with gd jpeg-dir "${EPREFIX}/usr")
$(use_with gd png-dir "${EPREFIX}/usr")
$(use_with xpm xpm-dir "${EPREFIX}/usr")
$(use_with vpx vpx-dir "${EPREFIX}/usr")
)
# enable gd last, so configure can pick up the previous settings
our_conf+=( $(use_with gd gd) )
# IMAP support
if use imap ; then
our_conf+=(
$(use_with imap imap "${EPREFIX}/usr")
$(use_with ssl imap-ssl "${EPREFIX}/usr")
)
fi
# Interbase/firebird support
our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
# LDAP support
if use ldap ; then
our_conf+=(
$(use_with ldap ldap "${EPREFIX}/usr")
$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
)
fi
# MySQL support
local mysqllib="mysqlnd"
local mysqlilib="mysqlnd"
use libmysqlclient && mysqllib="${EPREFIX}/usr"
use libmysqlclient && mysqlilib="${EPREFIX}/usr/bin/mysql_config"
our_conf+=( $(use_with mysql mysql "${mysqllib}") )
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
if use mysql || use mysqli ; then
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
fi
# ODBC support
our_conf+=(
$(use_with odbc unixODBC "${EPREFIX}/usr")
$(use_with iodbc iodbc "${EPREFIX}/usr")
)
# Oracle support
our_conf+=( $(use_with oci8-instant-client oci8) )
# PDO support
if use pdo ; then
our_conf+=(
$(use_with mssql pdo-dblib)
$(use_with mysql pdo-mysql "${mysqllib}")
$(use_with postgres pdo-pgsql)
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
$(use_with oci8-instant-client pdo-oci)
)
fi
# readline/libedit support
our_conf+=(
$(use_with readline readline "${EPREFIX}/usr")
$(use_with libedit libedit "${EPREFIX}/usr")
)
# Session support
if use session ; then
our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
else
our_conf+=( $(use_enable session session) )
fi
# Use pic for shared modules such as apache2's mod_php
our_conf+=( --with-pic )
# we use the system copy of pcre
# --with-pcre-regex affects ext/pcre
# --with-pcre-dir affects ext/filter and ext/zip
our_conf+=(
--with-pcre-regex="${EPREFIX}/usr"
--with-pcre-dir="${EPREFIX}/usr"
)
# Catch CFLAGS problems
# Fixes bug #14067.
# Changed order to run it in reverse for bug #32022 and #12021.
replace-cpu-flags "k6*" "i586"
# Support user-passed configuration parameters
our_conf+=( ${EXTRA_ECONF:-} )
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
mkdir -p "${WORKDIR}/sapis-build" || die
for one_sapi in $SAPIS ; do
use "${one_sapi}" || continue
php_set_ini_dir "${one_sapi}"
# The BUILD_DIR variable is used to determine where to output
# the files that autotools creates. This was all originally
# based on the autotools-utils eclass.
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
cp -r "${S}" "${BUILD_DIR}" || die
cd "${BUILD_DIR}" || die
local sapi_conf=(
--with-config-file-path="${PHP_INI_DIR}"
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
)
for sapi in $SAPIS ; do
case "$sapi" in
cli|cgi|embed|fpm)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( "--enable-${sapi}" )
else
sapi_conf+=( "--disable-${sapi}" )
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/sbin/apxs" )
else
sapi_conf+=( --without-apxs2 )
fi
;;
esac
done
# Construct the $myeconfargs array by concatenating $our_conf
# (the common args) and $sapi_conf (the SAPI-specific args).
local myeconfargs=( "${our_conf[@]}" )
myeconfargs+=( "${sapi_conf[@]}" )
pushd "${BUILD_DIR}" > /dev/null || die
econf "${myeconfargs[@]}"
popd > /dev/null || die
done
}
src_compile() {
# snmp seems to run during src_compile, too (bug #324739)
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
for sapi in ${SAPIS} ; do
if use "${sapi}"; then
cd "${WORKDIR}/sapis-build/$sapi" || \
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
emake
fi
done
}
src_install() {
# see bug #324739 for what happens when we don't have that
addpredict /usr/share/snmp/mibs/.index
# grab the first SAPI that got built and install common files from there
local first_sapi=""
for sapi in $SAPIS ; do
if use $sapi ; then
first_sapi=$sapi
break
fi
done
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
# Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi" || die
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir "/usr/share/php${PHP_MV}"
local sapi="", file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
cd "${WORKDIR}/sapis-build/${sapi}" || die
if [[ "${sapi}" == "apache2" ]] ; then
# We're specifically not using emake install-sapi as libtool
# may cause unnecessary relink failures (see bug #351266)
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
newins ".libs/libphp5$(get_libname)" \
"libphp${PHP_MV}$(get_libname)"
keepdir "/usr/$(get_libdir)/apache2/modules"
else
# needed each time, php_install_ini would reset it
local dest="${PHP_DESTDIR#${EPREFIX}}"
into "${dest}"
case "$sapi" in
cli)
source="sapi/cli/php"
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp${PHP_MV}$(get_libname)"
;;
*)
die "unhandled sapi in src_install"
;;
esac
if [[ "${source}" == *"$(get_libname)" ]]; then
dolib.so "${source}"
else
dobin "${source}"
local name="$(basename ${source})"
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use_if_iuse opcache ; then
dolib.so "modules/opcache$(get_libname)"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
if use fpm ; then
if use systemd; then
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
"php-fpm@${SLOT}.service"
else
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
"php-fpm@${SLOT}.service"
fi
fi
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
"session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
"session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
APACHE2_MOD_DEFINE="PHP"
APACHE2_MOD_CONF="70_mod_php" # Provided by app-eselect/eselect-php
apache-module_pkg_postinst
fi
# Create the symlinks for php
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT} || die
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
# Remove dead symlinks for SAPIs that were just disabled. For
# example, if the user has the cgi SAPI enabled, then he has an
# eselect-php symlink for it. If he later reinstalls PHP with
# USE="-cgi", that symlink will break. This call to eselect is
# supposed to remove that dead link per bug 572436.
eselect php cleanup || die
elog "Make sure that PHP_TARGETS in ${EPREFIX}/etc/make.conf includes"
elog "php${SLOT/./-} in order to compile extensions for the ${SLOT} ABI."
elog
elog "This ebuild installed a version of php.ini based on"
elog "php.ini-${PHP_INI_VERSION}. You can choose which version of"
elog "php.ini to install by default by setting PHP_INI_VERSION"
elog "to either 'production' or 'development' in your make.conf."
elog "Both versions of php.ini can be found with the PHP docs in"
elog "${EPREFIX}/usr/share/doc/${PF}"
elog
elog "For more details on how version slotting works, please see"
elog "the wiki:"
elog
elog " https://wiki.gentoo.org/wiki/PHP"
elog
}
pkg_postrm() {
# This serves two purposes. First, if we have just removed the last
# installed version of PHP, then this will remove any dead symlinks
# belonging to eselect-php. Second, if a user upgrades slots from
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
# his existing symlinks to point to the new 7.0 installation. The
# latter is bug 432962.
#
# Note: the eselect-php package may not be installed at this point,
# so we can't die() if this command fails.
eselect php cleanup
}

@ -49,7 +49,7 @@ PHP_FPM_CONF_VER="1"
SRC_URI="${PHP_SRC_URI}"
DESCRIPTION="The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs"
DESCRIPTION="The PHP language runtime engine"
HOMEPAGE="http://php.net/"
LICENSE="PHP-3"
@ -67,8 +67,8 @@ IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
crypt +ctype curl debug
enchant exif frontbase +fileinfo +filter firebird
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit mhash
mysql mysqli nls
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
mhash mysql mysqli nls
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
readline recode selinux +session sharedmem
+simplexml snmp soap sockets spell sqlite ssl
@ -131,7 +131,10 @@ DEPEND="${DEPEND}
soap? ( >=dev-libs/libxml2-2.6.8 )
spell? ( >=app-text/aspell-0.50 )
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
ssl? ( dev-libs/openssl:0 )
ssl? (
!libressl? ( dev-libs/openssl:0 )
libressl? ( dev-libs/libressl )
)
tidy? ( app-text/htmltidy )
truetype? (
=media-libs/freetype-2*

@ -2,5 +2,5 @@ DIST yap-6.2.2-gentoo-patchset-2.tar.gz 5736 SHA256 a4c74594a1342ae748c6f00b2ddd
DIST yap-6.2.2.tar.gz 5496746 SHA256 c9b5feb1ac6488797e8c722053db239cc208f7f6f09135f1e6d5f5802f90878e SHA512 8b357f02cd631b7e4d6a44911d82d329b82a654b24637d448ba0e4393ab34918df685c453f4e8b8ebb3aba71034f653c4522478cfafbb24f157c083b623bfc5e WHIRLPOOL 7d266b06874aab2c5b56391ee0d03be025f7cf2ae5ab9a2ca2ef5989b6ef5229bde491919a1b77f3af362798af83bc47614fd3bd293c0d9f4b74d202adb86ea5
DIST yap-6.3.2-gentoo-patchset-6.tar.gz 4138 SHA256 a5691612842b89e8dc3f5755fe076f3203574da34256bcba78ce282451cfde27 SHA512 c2dc49c0e185e6b6d7bdae175d470926f7b072dad1e46d30e36e885ca4d0abc8a7908b3abc946b1d7c77006973f8ef9e7dc862ecc4ef756eff5d83a06674e5a7 WHIRLPOOL 7046a9d74d34e9f561f71b762f81ae208784eb6daccb4e0bfe7980729bd5094d34858f7d88b54c9d4589e6b835707a0150fd0a6c2b98d41d9238efbc1badb805
DIST yap-6.3.2.tar.gz 6447312 SHA256 876a31a05a8e50a32bda8597d3381953e3ed99f37f06e7075209a501b8e2d1ed SHA512 8fd93d4e448e92f5dfd4b0dd18e0ce988766d99b3bf7a72bce3931d551c873a11468764bef6bbb132a5518870f2bce0a00658536614db3cdc6586af27d56555d WHIRLPOOL f4507cb41735f40bf343b608a443f017e118c2b99da38e8a59e630b397c4812ce087ce097e85d5af9552191b5f77559609b22f446d05a3513fec08582ea43804
DIST yap-6.3.3-gentoo-patchset-4.tar.gz 4428 SHA256 6fbf0e18191b768b608c1dc781a78fb3c8e3a4050ca4ba933b9651c80d6a0842 SHA512 fce5e997fe2efb1b1253dd8f36da14b351108b150a77c27e8d5404f96f106b7329e6ffc6a55e135ada975386c4e6ab8ccfc9a1c44e5d3eeb0e89f2aab52fcbf5 WHIRLPOOL 81ff5a6133d63a6c9588043fe0133ccf22227f58cd79338531a625271384b686226287fb608a4712378232d6e7fa6e7944236be3183f6ecd51c699fb9a853ed7
DIST yap-6.3.3-gentoo-patchset-5.tar.gz 4453 SHA256 33fad353352f983ebbadf3aa0aa5ecb8c5008b45493fba2e18a53fc40d4d45ac SHA512 892da147530e434352e0f628142dccb1966ef1bde9302fbc56efa77b566cb32ce6c99514ab227cfc66147e8380c2de030bdb09f2da3d32364be4e3a6d381a1b1 WHIRLPOOL f943be58161d88e81061370fdf177101cebc2a7bab9d6349f45b06c638d00794e8d1511743d96260266eec26efc84148c982f9aef02bfbe93ee3f849da43679a
DIST yap-6.3.3.tar.gz 7879301 SHA256 aee3b449b1669af07a8291ce6e7fb0a9b35e1343e2ab96fadb1a37552397fa78 SHA512 4ef45277ec84b6e072fa54afc7d6c18f11c3a0cdf477e35e35a0ce2181c9ff2e693f8735f63a1899373f6baf79ce0a972b37e1ae6ed8271bec60663f477bbe80 WHIRLPOOL 3b4095ff9ecbd532d2211e9158f6bd400248b43386027894c08754aadc14712a60325aeb950b361f14b2bc105053ff8a70b025e305fb79003a68f4226a39b724

@ -6,7 +6,7 @@ EAPI=5
inherit eutils flag-o-matic java-pkg-opt-2 multilib
PATCHSET_VER="4"
PATCHSET_VER="5"
DESCRIPTION="YAP is a high-performance Prolog compiler"
HOMEPAGE="http://www.dcc.fc.up.pt/~vsc/Yap/"

@ -0,0 +1,13 @@
Index: source/tools/toolutil/flagparser.c
===================================================================
--- a/source/tools/toolutil/flagparser.c (revision 38080)
+++ b/source/tools/toolutil/flagparser.c (revision 38081)
@@ -97,7 +97,7 @@
T_FileStream_close(f);
- if (U_FAILURE(*status)) {
+ if (U_FAILURE(*status) && *status != U_BUFFER_OVERFLOW_ERROR) {
return -1;
}

@ -34,6 +34,7 @@ src_prepare() {
local variable
epatch "${FILESDIR}/${PN}-remove-bashisms.patch"
epatch "${FILESDIR}/${PN}-flagparser.patch"
epatch_user
# Disable renaming as it is stupind thing to do

@ -18,7 +18,7 @@ IUSE="input_devices_wacom test"
RESTRICT="test"
RDEPEND="
input_devices_wacom? ( >=dev-libs/libwacom-0.1.2 )
input_devices_wacom? ( >=dev-libs/libwacom-0.12 )
>=dev-libs/libevdev-0.4
>=sys-libs/mtdev-1.1
virtual/libudev

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -12,7 +12,7 @@ SRC_URI="https://github.com/cjlin1/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0/3"
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86"
IUSE="blas"
RDEPEND="

@ -1,2 +1,2 @@
DIST libtommath-0.42.0.tar.gz 1732144 SHA256 5246356ba18c1b6edf4a7bc836a3d223842b86914cdba6dd8c112bfc59e227c8 SHA512 d26e7737e5750530a7b96432502f0d458931e67af528872c46ad8dfc921b8f6ef4b3e05cb07d22bd13a8b24db65812928ae4c381250a4df95f6ca55efc3dae23 WHIRLPOOL beab5007a204042fd0a5b86ccc639ee37d82bb4afe2ceebcfe062deffaa259c8a699c81a52e804c2a79cb36914d805c81826a6e456523f729063240d1bfca9e6
DIST libtommath-1.0.tar.gz 643248 SHA256 5a0d4f9a72dfbacb05cb5dbc545cffe58b08c103506de68b278dc76d05cfe010 SHA512 2744caa886d179a23a96b51dbf0c9090a7a4e923bb4b9c22d3e92fde73e11222861806018f565f3d5425d2ba31b9bb9e1dbf098bfc37d1fd26d33ceb81a8657e WHIRLPOOL 4830fb5a1802908652e4d4629cc205a55a267d60400041685f3c13fb03d2aff5b3e7f9a0b99e7813aaebf6cb41399c9a373de6296514215ac2fdfde90531d5ce
DIST ltm-1.0.tar.xz 2191540 SHA256 993a7df9ee091fca430cdde3263df57d88ef62af8103903214da49fc51bbb56c SHA512 da2ced516106fb056373d97f9ac443805c57ebeb0a33982c14703d6dd8c3925e49aeb690b790ba91768ed5d41f5875dc50a3d3435dbb4088cfa3fddee9162082 WHIRLPOOL 90997863f853626b82683864213cd74ae5558ea55e6a1fd10e2ffc3446aeadf07e8f657115cb6c79e121da695d0f0e3168f98f42fa3f158b720e8b94c8e63190

@ -8,7 +8,7 @@ inherit autotools eutils multilib toolchain-funcs
DESCRIPTION="highly optimized and portable routines for integer based number theoretic applications"
HOMEPAGE="https://github.com/libtom/libtommath"
SRC_URI="https://github.com/libtom/libtommath/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://github.com/libtom/libtommath/releases/download/v${PV}/ltm-${PV}.tar.xz"
LICENSE="WTFPL-2"
SLOT="0"

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -12,7 +12,7 @@ SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD BSD-2 ISC MIT"
SLOT="0/1"
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="static-libs"
RESTRICT="test"

@ -14,7 +14,7 @@ SRC_URI="mirror://openssl/source/${MY_P}.tar.gz"
LICENSE="openssl"
# subslot set to 1.0.2g version as this is the first release without SSLv2
# support and thus breaks nearly every openssl consumer (see bug #575548)
SLOT="0/1.0.2g"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
IUSE="+asm bindist gmp kerberos rfc3779 sctp cpu_flags_x86_sse2 static-libs test +tls-heartbeat vanilla zlib"
RESTRICT="!bindist? ( bindist )"
@ -156,6 +156,7 @@ multilib_src_configure() {
enable-mdc2 \
enable-rc5 \
enable-tlsext \
enable-ssl2 \
$(use_ssl asm) \
$(use_ssl gmp gmp -lgmp) \
$(use_ssl kerberos krb5 --with-krb5-flavor=${krb5}) \

@ -20,7 +20,7 @@ RDEPEND="dev-lang/ocaml:="
DEPEND="${RDEPEND}"
src_prepare() {
epatch "${FILESDIR}/ocaml43.patch"
has_version '>=dev-lang/ocaml-4.03.0_beta1' && epatch "${FILESDIR}/ocaml43.patch"
}
src_compile() {

@ -21,7 +21,7 @@ RDEPEND=">=dev-lang/ocaml-3.10.2:=[ocamlopt?]
DEPEND="${RDEPEND}"
src_prepare() {
epatch "${FILESDIR}/ocaml-4.03.patch"
has_version '>=dev-lang/ocaml-4.03.0_beta1' && epatch "${FILESDIR}/ocaml-4.03.patch"
}
src_compile() {

@ -1,23 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
MODULE_AUTHOR=SHLOMIF
MODULE_VERSION=2.71
inherit perl-module
DESCRIPTION="Work with IO sockets in ipv6"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
IUSE=""
RDEPEND="dev-perl/Socket6"
DEPEND="${RDEPEND}
dev-perl/Module-Build"
# Disabling tests since they seem to be more trouble than worth, esp. in re bug
# 115004
#SRC_TEST="do"

@ -1,2 +1 @@
DIST IO-Socket-INET6-2.71.tar.gz 18946 SHA256 344b6ceb5954023b7974fd93f83bc75125a84611c7ad716c3c734fdddcd83110 SHA512 8b64082c9d69a8620c6977182279e452ec04cf694221ea4d5a8bb72060bf1ad1e7a39c542acdadacceaf5cb0767fa458d8716b27827124875cf082487a4f6c24 WHIRLPOOL 8c924c45a4696f75387a63572be151618e0f69fb7e2c80dc7f634eb28ad75e491c2dc7ad2ac4e2c20bc3eae689bf2dcd0b57ce9e196b8590ca4f8aa5e33e0f77
DIST IO-Socket-INET6-2.72.tar.gz 27615 SHA256 85e020fa179284125fc1d08e60a9022af3ec1271077fe14b133c1785cdbf1ebb SHA512 c6dc0bbcc81682d317597de26d5023de84781e4bd2af224145cc4980db7fcbc93295a7d0a80c1eaa649c6aebf4057d0b0159f47e6a6379d4b545b49305f28a37 WHIRLPOOL 5f09c8390c29235bfd12983b404155a142d4069a013b1384c28b702f197e60f52d001d94d27b83b271cbf669f622078954befd96534a84c509298532281c7baf

@ -1,28 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
MODULE_AUTHOR=SULLR
MODULE_VERSION=1.953
inherit perl-module
DESCRIPTION="Nearly transparent SSL encapsulation for IO::Socket::INET"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="idn"
DEPEND="
>=dev-perl/Net-SSLeay-1.330.0
virtual/perl-Scalar-List-Utils
idn? (
|| (
>=dev-perl/URI-1.50
dev-perl/Net-LibIDN
)
)"
RDEPEND="${DEPEND}"
SRC_TEST="do"

@ -1,28 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
MODULE_AUTHOR=SULLR
MODULE_VERSION=1.967
inherit perl-module
DESCRIPTION="Nearly transparent SSL encapsulation for IO::Socket::INET"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="idn"
DEPEND="
>=dev-perl/Net-SSLeay-1.330.0
virtual/perl-Scalar-List-Utils
idn? (
|| (
>=dev-perl/URI-1.50
dev-perl/Net-LibIDN
)
)"
RDEPEND="${DEPEND}"
SRC_TEST="do"

@ -1,28 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
MODULE_AUTHOR=SULLR
MODULE_VERSION=1.998
inherit perl-module
DESCRIPTION="Nearly transparent SSL encapsulation for IO::Socket::INET"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="idn"
DEPEND="
>=dev-perl/Net-SSLeay-1.330.0
virtual/perl-Scalar-List-Utils
idn? (
|| (
>=dev-perl/URI-1.50
dev-perl/Net-LibIDN
)
)"
RDEPEND="${DEPEND}"
SRC_TEST="do"

@ -1,5 +1,2 @@
DIST IO-Socket-SSL-1.953.tar.gz 89807 SHA256 4fa57c9385999e942a1f296b9f45c387a78bccb40db574585b38a9da5736a3d1 SHA512 062a75b44dc4075d64412c22dbab28b8cccc4b396bb3a18eb8c5b27b44853cec89f34cea0b82226070fc3b0a68ede00c9d5117f89e0b6e9ffc9322afa55cae94 WHIRLPOOL 390d3db13d0243344106793ddfd2ffbed128243658d7150aeb45141c96b141d1f773a4e2ae4c8e48ee17d94b6386e6f1b2effc28b41f220712e58820b252cad8
DIST IO-Socket-SSL-1.967.tar.gz 97036 SHA256 d9ee42bf667ac92732e8c35d3930757fad6b8996d24a5e5b8eeb6250ba411299 SHA512 4705fa2d641030ad10d5d2f7e1a7aecac6da8b06c3b19c13c3c8d1396a91332e829c3d211a29d3db2d8d1db57d413a03db90df43f231169be335fcc728e28358 WHIRLPOOL 03c3d6e15b9a3c6808d94d27fc53bc6960ea0e2d68cc2d3689a1cd587b8aaacb3092146254deb0386e2608463e0535fced7c7ddffeb3eb3bded00442a74b497e
DIST IO-Socket-SSL-1.998.tar.gz 187327 SHA256 73c976ec288341f5ab30305590658b563a91f1af1ec3c3f531adbb434741711c SHA512 5faab280ab2d7ecef348ce70382302d482478aacb6e3e3d36b8c805e4d4446bbc924ea257c039f76be16f1fc29ff1f832d67bc4a7ed1bc535e329179c3ac6148 WHIRLPOOL b43b3f4f536583c63eb9f89761c341cd62e32cd2b6bd518d7a0831076b0b7145e97e10b296290205c9394bcbb17eae196c91e7e66d31d54e65faff4cf6d910e1
DIST IO-Socket-SSL-2.012.tar.gz 193636 SHA256 02bd7f17ceb492e396eca6627f50aaa2a3ddfcb5bfa3889ddf145383b0b179d9 SHA512 b77e89ec83ff78e59d8f11fde9f268ae47cc1a090338c3d17855cb6043120b9ce29867e297e5b7b83c0c98af37b9672826748b21f75dea50beecc7deb5a9f1ae WHIRLPOOL 4d4464c9807ed1a971c6aca7663130de2ee0df37af88ee5cada7fff43f0eb8d211e5a3afb3c33c37d2d46c2852718bdd83266a60e04298a32ea9494dc3df30ac
DIST IO-Socket-SSL-2.024.tar.gz 209567 SHA256 dab3125b004b24ff8dfc003aa81c00c0f976a1bc34a75e1d8d9de9de837ce6c9 SHA512 b76c43efbffba031b72efebc9f5348eb24ea1d48704e61c2256c0a23a754fb786cad23d7a330884f526ed31fc2878e27f4114793afa8135cc0caf8f251c07c3c WHIRLPOOL 37ae14c700a21a89fad3ca653925e07272d51a2f4ecee2a5342909d49491f42b3d3ee6e318fbb5d6a02ead1479916a6775e48f61cb3722d9526795482ae5ee58

@ -1,31 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
MODULE_AUTHOR=DAMS
MODULE_VERSION=0.27
inherit perl-module
DESCRIPTION="IO::Socket with read/write timeout"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RDEPEND="
>=dev-perl/PerlIO-via-Timeout-0.280.0
"
DEPEND="${RDEPEND}
>=dev-perl/Module-Build-Tiny-0.36.0
>=virtual/perl-ExtUtils-MakeMaker-6.300.0
virtual/perl-File-Spec
virtual/perl-IO
test? (
virtual/perl-Test-Simple
dev-perl/Test-TCP
)
"
mytargets="install"

@ -1,2 +1 @@
DIST IO-Socket-Timeout-0.27.tar.gz 18399 SHA256 2d5f7d78b0827c0fc3f2d63e22aa6b29a17f6b487e61b10a1e233868de92b529 SHA512 bd8c7e428fbf5e0a1f35a14acd5f3281d6fa7a84f1d6eb4c07712aa3c2601635fc832433f72c5470d60828ac774fc9f148649c0bc1ac20f0d93bab1c487114a9 WHIRLPOOL feca7cd0c3125d9c0515f641588ae0e3abfaede09c1004ffffab00732b2f4d3dd0083f055e2cf144f3d8aab56c8ea18f18a18dba9f35ed26ecddfaef93c2b6fb
DIST IO-Socket-Timeout-0.32.tar.gz 16294 SHA256 edf915d6cc66bee43503aa6dc2b373366f38eaff701582183dad10cb8adf2972 SHA512 013ad036c796880ab464b18f642260609095cf40c74f3127abaf3c8a596ba8ee85746129dc84d2d1e6f1bbfc86d75969e99c5a9b67736fa3e5e8bc7f5ddf83a6 WHIRLPOOL b4b9d8a3da2a3a48b2e6a931ab1d877b4b8d6f90c6bc92c664353922754eb3c0bad8f23a3397bcb63a0462f98c857bdc99def5d1582627ff6f7e548841048d5a

@ -1,17 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
MODULE_AUTHOR=TODDR
MODULE_VERSION=1.11
inherit perl-module
DESCRIPTION="IO::Tty and IO::Pty modules for Perl"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE=""
SRC_TEST=do

@ -1,2 +1 @@
DIST IO-Tty-1.11.tar.gz 24206 SHA256 a477fa0bf91d034bdd25abaa1fe670810f5f4992cea819f823ee91b8584fed51 SHA512 cadff091a40a2d1a013c35a116340c6701dcd354718d1af7c087e015c792391c4c5dd70e83e498468233198fadc9605843112fb14abe66a7e4f5e1ba320fdff0 WHIRLPOOL acd213061b94ed2592aae32f00b938d00152d9618c396889596feca9e786bad461aaf61eb39cbb133dd62d264fecfffc1287a71cc186f423520402226b0dd07f
DIST IO-Tty-1.12.tar.gz 24564 SHA256 a2ef8770d3309178203f8c8ac25e623e63cf76e97830fd3be280ade1a555290d SHA512 23733e7832a0de370952420df8a781f85d28ff60eb4cd55be22147337bf5587f4e1ec7fcfc190ae3ad1fd9df0f9697f2d647e00739f4a2927b1ac9c81435454d WHIRLPOOL 8647109386ce96ec20c7236b7cd2cde40a553e16a3f4bf009de5718c1e8288adb82a6b0a8755c67fbbeba20558e5bba1bdda07969bf7e47e7aa322550ef1a75f

@ -23,6 +23,7 @@ RDEPEND="
virtual/perl-Math-BigInt
virtual/perl-Time-Local
dev-perl/XML-Simple
!<dev-perl/Net-OpenID-Consumer-1.30.99
"
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -26,7 +26,9 @@ IUSE=""
# it does need to be the same version as is installed, hence the hard
# DEPEND below
RDEPEND="~sci-mathematics/pari-${PARI_VER}"
DEPEND="${RDEPEND}"
DEPEND="${RDEPEND}
app-arch/unzip
"
S_PARI=${WORKDIR}/pari-${PARI_VER}
SRC_TEST=do

@ -3,3 +3,4 @@ DIST keystonemiddleware-1.5.2.tar.gz 176172 SHA256 5f443162157946d2f33c4729d0bde
DIST keystonemiddleware-2.2.0.tar.gz 179743 SHA256 e3fca3fdc093d7fd3817bbd767faca7f0aa221b54155808694eb1286fae469f9 SHA512 9aa498aa0bceec1774c70dc7fc4ce8c398e72721d33e715594b3396e160f9b60dfc3533687f0706eb272abd812b44d31b2a76fece739a2ccad33039b37f3fca5 WHIRLPOOL a1b348e3e2f004038afa6b2b06d018d2e1130af1b2eb0e5740ea6a716dabaa98fe7a58cfd6e5100e5cdd6c7297fb150f4d9cc45dd8c831b7ca54a265b0d56662
DIST keystonemiddleware-2.3.1.tar.gz 181764 SHA256 9970f8187cb0a91cb2d78ef9a088147b2c9457653e95caa7b8bcd11bd450bec1 SHA512 976aece1d308607eec6f406bb94f1e6dddc27edebc8d99bd7bc00dfbc1f21479da2c76404a99eb677e6647afd42f68b82d6f519659d7483db6fa9d68f839cf5f WHIRLPOOL e6a568e7c96886907eaeba9bc843833ffece8f441bfbe760b77c597c38a5a2720b702a527830d61f07bf0e3adbe4a90d6198b97b487ca08c3e4829058f7e0ef4
DIST keystonemiddleware-2.3.2.tar.gz 180429 SHA256 ba4a3bc6224d8ba85319741034d3c6f0c569096e38c6f75a5f044b1c742feeb3 SHA512 ef3a36cd8daa2456b960b9677f06d3753ed3eb7bad83b5d32a1fb2e69239237a495649b5c8138b92b1ab2b6b8e7a8db9e1d02dd7c595962f82681c478e5dfb78 WHIRLPOOL 846b4efdb61a0680d6a71cfe7605c88c3e908c0391b974ba6517c0122a2720bbc5b8990c41907a306ace5d0d25f9362260acc44dfd8e7c9e8dcf6b19213fcda8
DIST keystonemiddleware-2.3.3.tar.gz 185140 SHA256 3a71fdd81d835dbf95086df29bed4f72a05f6588a193ee207877cdb954b9d155 SHA512 cc5a9d5d7411e59471993deff33e71198fe0124252f668e01dc32f84dd2cec56a3256c3a1f05c5f9ed15c25598472fce79a26809ed34123ad10fb90aa8bfde7a WHIRLPOOL 88cf95922b4f32e673b0c77ee95a4effc2f0a65aa3118d5e49c0f25ba83e356bd1af4aa05efe71dc69c1bc3453fea132eab3c53d24815edf1aebcebe01beeaa2

@ -0,0 +1,94 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
#PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
PYTHON_COMPAT=( python2_7 python3_4 )
inherit distutils-r1
DESCRIPTION="A middleware for the OpenStack Keystone API"
HOMEPAGE="https://github.com/openstack/keystonemiddleware"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples test"
CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
${CDEPEND}
test? (
>=dev-python/coverage-3.6[${PYTHON_USEDEP}]
>=dev-python/fixtures-1.3.1[${PYTHON_USEDEP}]
>=dev-python/mock-1.2[${PYTHON_USEDEP}]
>=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
>=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
>=dev-python/oslotest-1.10.0[${PYTHON_USEDEP}]
>=dev-python/oslo-messaging-1.16.0[${PYTHON_USEDEP}]
!~dev-python/oslo-messaging-1.17.0[${PYTHON_USEDEP}]
!~dev-python/oslo-messaging-1.17.1[${PYTHON_USEDEP}]
!~dev-python/oslo-messaging-2.6.0[${PYTHON_USEDEP}]
!~dev-python/oslo-messaging-2.6.1[${PYTHON_USEDEP}]
!~dev-python/oslo-messaging-2.7.0[${PYTHON_USEDEP}]
!~dev-python/oslo-messaging-2.8.0[${PYTHON_USEDEP}]
!~dev-python/oslo-messaging-2.8.1[${PYTHON_USEDEP}]
!~dev-python/oslo-messaging-2.9.0[${PYTHON_USEDEP}]
!~dev-python/oslo-messaging-3.1.0[${PYTHON_USEDEP}]
>=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
>=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
!~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
<dev-python/sphinx-1.3[${PYTHON_USEDEP}]
>=dev-python/stevedore-1.5.0[${PYTHON_USEDEP}]
>=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
>=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
>=dev-python/testtools-1.4.0[${PYTHON_USEDEP}]
>=dev-python/python-memcached-1.56[${PYTHON_USEDEP}]
>=dev-python/bandit-0.13.2[${PYTHON_USEDEP}]
)"
RDEPEND="
${CDEPEND}
>=dev-python/Babel-1.3[${PYTHON_USEDEP}]
>=dev-python/oslo-config-2.3.0[${PYTHON_USEDEP}]
>=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
>=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
>=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
>=dev-python/oslo-utils-2.0.0[${PYTHON_USEDEP}]
!~dev-python/oslo-utils-2.6.0[${PYTHON_USEDEP}]
>=dev-python/pycadf-1.1.0[${PYTHON_USEDEP}]
>=dev-python/python-keystoneclient-1.6.0[${PYTHON_USEDEP}]
!~dev-python/python-keystoneclient-1.8.0[${PYTHON_USEDEP}]
>=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
!~dev-python/requests-2.8.0[${PYTHON_USEDEP}]
!~dev-python/requests-2.9.0[${PYTHON_USEDEP}]
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
>=dev-python/webob-1.2.3[${PYTHON_USEDEP}]"
PATCHES=(
"${FILESDIR}/CVE-2015-7546_2.3.2.patch"
)
python_prepare_all() {
sed -i '/^hacking/d' test-requirements.txt || die
distutils-r1_python_prepare_all
}
python_compile_all() {
use doc && emake -C doc html
}
python_test() {
testr init
testr run || die "testsuite failed under python2.7"
flake8 ${PN/python-/}/tests || die "run over tests folder by flake8 drew error"
}
python_install_all() {
use doc && local HTML_DOCS=( doc/build/html/. )
use examples && local EXAMPLES=( examples/.)
distutils-r1_python_install_all
}

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -16,7 +16,8 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc examples"
RDEPEND=">=sys-fs/fuse-2.8.0"
RDEPEND=">=sys-fs/fuse-2.8.0
dev-python/contextlib2[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
virtual/pkgconfig"

@ -1,23 +1,4 @@
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-4.0.1-src.tar.bz2 17172844 SHA256 29f5aa6ba17b34fd980e85172dfeb4086fdc373ad392b1feff2677d2d8aea23c SHA512 66358cc3fe9ccb402b717379c48731aca8f9f85a1a754a54e3a060113398955b87a3f3048ba731a93be4b49c0f5c7e3bac49dc4523263e1bf4f4b5149d5db5c4 WHIRLPOOL 656a6c60aeb26cb6355db121a92bafcf2b744a7f09dccf21b4a16052c0117d239891ccf6762fcb4fee7f913862263c589becd5984498edc4a8b6d55784957994
DIST pypy-bin-2.6.0-amd64+bzip2+jit+ncurses+shadowstack.tar.xz 12713852 SHA256 5a23efc74a73f2073d14975949b29b46f85eb815e40fe617d788bcc8463914c2 SHA512 3dbb73047365ab39f328b1c48f370015577ac68aa8ae331d2f49b89a65f2146fa9f53629c33e424ca3949e03caf1b7616c852bd65f49a635a0a3d600f1f252ae WHIRLPOOL fdb1f43231a2e0b99f9a4db6077cda172160514b8504def1f925a66521033a522710b68f7755363701639069bb8d20edfc627dc4fb8c04015b78214581c0999d
DIST pypy-bin-2.6.0-amd64+bzip2+jit+ncurses.tar.xz 13707848 SHA256 f989708173de093a9d98f190b249a8ed32642fe96ace548f231457e4c743ce57 SHA512 c45cc995349f30630ae14171125bb2ddf8974a77eb817f01a0d86845050832932ca00f3d2c0fcabb15649d3b19a19cfa55d515a90e750d507828ec598aaf998e WHIRLPOOL 3e07920c7bbc9217dccbad948dd404af808c441a725c804e90b2a427fb37fbaaa08dbe12f1ad970292b301e4dd2c0014442761839290a8c7f39a3a11bf6a4019
DIST pypy-bin-2.6.0-amd64+bzip2+ncurses.tar.xz 7440860 SHA256 b86d2c6939949c16f745729082ee35ef221a48d745f98d0d9a09897187412ca9 SHA512 de9bfe9ddd342e806c59477e333c22afc672175fa3207519379c71d8d359b004a187ac0ed59211347beb562802daa05ba4e6cbb08dd8ad3587c2c9be41ed1307 WHIRLPOOL d62aec345b8a98b3ab790a2588108745c4e0203e8a76580ee700c2379b22215b141141c31d41ab211c451713aadebf05ae0f9cdd1e2b318b73e43a6f2a5ff76f
DIST pypy-bin-2.6.0-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz 9727668 SHA256 24166748d0aeb7d6943ba0441d5c545c9a7b526e7822ee7f128cfb80321bb379 SHA512 88ebe86b81e85b22213cfda7a2edf3f7deff29c080cef3688d4abaa719117cde168164e08d68cdc9bcfe4a5fd80ee2d19951b42aa4534d37fc79bd7fbb30cf5f WHIRLPOOL 07847adca7fc29165a8d12a3d7eeade9360370a2001fda8af9015b67c451056e15c742aa5d9d143d89dd17b11feaac9b850b6291b691bbd0e2dfa0dde46829b8
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 pypy-bin-4.0.1-amd64+bzip2+jit+ncurses+shadowstack.tar.xz 13085168 SHA256 79ab082d2d61a46ef80759455e06afa340a8d31b3eeb5f88f47b7a1bc3370562 SHA512 dd2a0b53bd86511a5e6c8fe4cdc78cda34911082e185d5e5cbe29343132f4e3b7e86e8ed1d826c2937ae9c72aec9944ace8108d0739ad0a83b9869e61fc4e541 WHIRLPOOL b8c1282a408e60006ac8afe8aae1af89b6603ab38961dac188c3474df39db101f8c2b8c887eeca30b34f8f6a84b34161275b4433f380f463cb29d86d118c7ec0
DIST pypy-bin-4.0.1-amd64+bzip2+jit+ncurses.tar.xz 14142344 SHA256 8251d5ac21e7cf49866ee2dfb16656a2369dc23bc8c6f50ac2439631240dc60f SHA512 ba4e4d952e895d11f164a128943d048af880077ee6d5f77154ac9dad9f46188232ff4e33b3d07f67917abfcb79ec8a55e71c2c2d4c287c6616a9b48148615221 WHIRLPOOL 14e03438503e5d914b21d91eb706a58e4772372dce300f6b4aa9be54b86b84c79b7f437d19d010a32988d92fa3645f633f70c241c6a2d6f077c204185529d328
DIST pypy-bin-4.0.1-amd64+bzip2+ncurses.tar.xz 7524080 SHA256 0417f17763a683928534f9394c183742dca917b2ec5c06e8d241bc86deab0860 SHA512 3a048b8a1af3df6b4a3c7611e8fd4d7586805f1f6e56f7a414f7b4b2b2e84d68307f732491c6fe2d72991b4505b841de9870ac1207f9f0799d41a73c9fa69673 WHIRLPOOL fadd736ff0bd8e8a03755b5f8992e86ed14773bc566cadeae17ce326122d5d9ce422ac5b33b80105b0d0f786d03e1aacf714798ec665dd5acbcef87de3bb3266
DIST pypy-bin-4.0.1-nossl2-amd64+bzip2+jit+ncurses+shadowstack.tar.lz 12866464 SHA256 e3570cc6936bbb2ac38eb93feaf0d2b8e0ad23e5dd03c252018094bd26236c83 SHA512 02d0471dfc64f93eb5ae1a1783673c383c09dc3d3e821c4b4b8755ec2d516e44fcf952b590032f5472425d41ae5854f3da7b0afad52f5149ea42c94f51f67c7a WHIRLPOOL 27d4e88e4935cecb28b4f608fb9f5081b56be99fb523a282ca8ca569d8a94a5f3d591aabffea27c3a7f521a93892de7ec16777ab93c0823912f13a30529bbf71
DIST pypy-bin-4.0.1-nossl2-amd64+bzip2+jit+ncurses.tar.lz 13825775 SHA256 d92924a933d058d89d3d6a9feba51b8595a6143fd41be14bd39b6588d5501246 SHA512 206b2fc285ef9f41905e947caf27afe8ba20a85724a2ec4b11f06d69f3a091732c5e5c80825afadea447c9babcf9ecf7a95197e410b725a35717bd687fe91387 WHIRLPOOL 30262866b2ceb6cc03cbc035402b1a182535291ca50ac5416cd9e53195017ea7278928fffc30f99c1726f764093e00671e1e8c766a4ebf541f695c45378fcc85
DIST pypy-bin-4.0.1-nossl2-amd64+bzip2+ncurses.tar.lz 7379496 SHA256 68918d38ef314fed1d2cb81c9f8ed2a3d3736d935ebf90f8367154d0504830e1 SHA512 f7b2454124278cad9157797eeee90ddbd54257f9e1eb746729b9c5ee20a18b0cd0191f60a686e7a24c6929cff3efd79d221eccc6b09a999f4815771ad7f30c41 WHIRLPOOL 2b8718a930d363d7dba395a32dd20c493ffc45ca11273b005d6020110e597d56720cf066b6d0b6a07ad0c311748d9facb20b2de3ec5c6408d0f37a13485d411a
@ -25,8 +6,4 @@ DIST pypy-bin-4.0.1-nossl2-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.lz 1023654
DIST pypy-bin-4.0.1-nossl2-x86+bzip2+jit+ncurses+sse2.tar.lz 11354814 SHA256 28a79c754c3da50de376ec957004236097855c3f5da942eb6f09e5a5d2492a58 SHA512 38a6381c08912dab200ea1925f3390b6a47f612b63ab7c2741ee4747ae3e7f2d60fb6832dab55796d0703d44a2d943e90fadcf120c4a1241150336c4b54f5c56 WHIRLPOOL 79db04119f34336a998f0aab6c1df4136bef358ad74e1d245c90334664c3ed413c496021cfcc1f027d157c26a621e3c12782673527bb659f377943ae36cf38e1
DIST pypy-bin-4.0.1-nossl2-x86+bzip2+ncurses+sse2.tar.lz 6014446 SHA256 3c18d0e35f0baf2391156156a63e9e6af643445881641ab2a52e3169021cba61 SHA512 7b098dd7b6f099f775e7f582f67c9969ca16c8134abba37df2a395d22cc2ec7c25b5a1fcf069eababf4f719921814646b77eeceb7d222f8131f83a249cc6cf70 WHIRLPOOL 36e51b38d4be88b64de33c1ad760d9ee33259bba29ddfe8d134d0586a699ba7c3609b33b548a24ed895ab4e54885a6b41b7c6ef3d7266c569c4ce1d146a29cca
DIST pypy-bin-4.0.1-nossl2-x86+bzip2+ncurses.tar.lz 6018557 SHA256 dfb4f2631a3acb5b8dbdd83213cf5b010f59419380e0f1726f57cac3ef7297ca SHA512 7d5a6b225e11f2fdfcc010fd3b771a69a77bafb6eb91da7a1c4282eba39de5447525f5274975e8d849adc74126a31960c9cacdc6aa7a7c479cdb84ca3121973b WHIRLPOOL 3c7a05c8b053088e992f0599a8ac51c95774160a99a2520e136b98f69b984bd03536f9e0171e943655c759b37ca9f996358c353e0fc8255c2cc9f0b508e622a9
DIST pypy-bin-4.0.1-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz 9948032 SHA256 d77948a7fd055303fe261f3364128793e61aa49bbad06488f924331082eb9fe4 SHA512 c7269694195064ed7ca5464d79b2efd3ad0ae7d409e3694a6b1cb7c9fb99a460f55393f02db795875214243ba616de58ec321f39e97c1eb6fa1ba3365fb56dbf WHIRLPOOL 394176b7bbd4d8cefe44cb209a0479eddb588f31c429f4576bd3f6d9f8497ae0108567a8f3f9d5a272170f61197635abc589bbb32ba5b59687ead5d64736f69d
DIST pypy-bin-4.0.1-x86+bzip2+jit+ncurses+sse2.tar.xz 11110500 SHA256 7cf8334c8f6fbdfbc4a08b8767e23bbe51f8082ad190c109b9e5d6fa7e1c5b77 SHA512 c5f9ee5997c84ea190d40ce0af052e6a401e4ad104ddc5bab69426913c29d0affe87a7fcb688fb7ad6862a7cd74ad4e8675ecdc8c0efe918cdef23f7516fabdb WHIRLPOOL 692ecfadda6020981510aa1ac85c4b8ff6ed6addf6b1f9fc2a7ca3a98e1630efd5fee917e3c6a25d7c7298ebbc9da7f4f9b628529896f0ca2de7149fc7496739
DIST pypy-bin-4.0.1-x86+bzip2+ncurses+sse2.tar.xz 5820624 SHA256 480b5fdfcc8757dfd44a3368627944c1234835ee01259572f94587fd134e74c4 SHA512 62f0b7c81fc7d3e71a4d43c81a8f212026d0390e52da2aa7ebb5f19d17bd1c8ce7c4760b9317e2782eba536e07f21afc19ab3a4c3bc04c5a28360a52ec7e1bb7 WHIRLPOOL af25d3b7903969a4488a5051b9dca8bea3987e6f4b16a8ff11e0d5089e3b788b9d2df4550f068ffb63d52f04f7f0ebb4f3ff9288d31b5f773b30cef90a80bafa
DIST pypy-bin-4.0.1-x86+bzip2+ncurses.tar.xz 5820156 SHA256 fa4cd54bcb42a189ab58fde4717af940700f94d50ada2452780f2ea71963313f SHA512 7c3fbdcdddb7f743706a69874d83634f8a7a58695136737187735fe884c89e46c17b12bba8ad8aada67ebc711a096a6d193bf2af56cecf39f28f07d7161fd882 WHIRLPOOL 7aececedc47931eb1d798dba3709c3e6d74079aead655794f77270ffe2ecd6b421b10a7ed91fd5d2e7ed83a58a65c16d2b37f5725362694ee241f4f715b6d3f0
DIST python-gentoo-patches-2.7.10-0.tar.xz 12892 SHA256 c9a838bd62ae50cc385da23a837acfd05f2b74e4f086c9c76eb4d3aa5366ef6d SHA512 5f100944635e360691dc0a2b340a906646c4ae9ee558246ddffc56e8b15d389f25f1fbdc1db4cc08e7d29560d04d66b058b3904902899d58ecae8c408ebdf056 WHIRLPOOL f69e9a518bb7ee50c1b262a21e70e1e2443f859ee6d2f4fa84421120dbd054a06ce8dd6cfea8512cbc64bce806322b879c25c561d5eb05e1ba6cc15035b373a9

@ -1,201 +0,0 @@
# 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-5*:0
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}/4.0.0-gentoo-path.patch" \
"${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
sed -e "s^@EPREFIX@^${EPREFIX}^" \
-e "s^@libdir@^$(get_libdir)^" \
-i lib-python/2.7/distutils/command/install.py || die
# 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 ..."
local -x PYTHON=${ED%/}${INSDESTTREE}/pypy-c
local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
# we can't use eclass function since PyPy is dumb and always gives
# paths relative to the interpreter
local PYTHON_SITEDIR=${EPREFIX}/usr/$(get_libdir)/pypy/site-packages
python_export pypy EPYTHON
echo "EPYTHON='${EPYTHON}'" > epython.py || die
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/release/package.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}"
}

@ -1,201 +0,0 @@
# 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}/4.0.0-gentoo-path.patch" \
"${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
sed -e "s^@EPREFIX@^${EPREFIX}^" \
-e "s^@libdir@^$(get_libdir)^" \
-i lib-python/2.7/distutils/command/install.py || die
# 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 ..."
local -x PYTHON=${ED%/}${INSDESTTREE}/pypy-c
local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
# we can't use eclass function since PyPy is dumb and always gives
# paths relative to the interpreter
local PYTHON_SITEDIR=${EPREFIX}/usr/$(get_libdir)/pypy/site-packages
python_export pypy EPYTHON
echo "EPYTHON='${EPYTHON}'" > epython.py || die
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}"
}

@ -55,13 +55,13 @@ 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
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
sys-libs/zlib:0=
gdbm? ( sys-libs/gdbm:0= )
sqlite? ( dev-db/sqlite:3= )
tk? (
@ -69,11 +69,11 @@ RDEPEND="
dev-tcltk/tix:0=
)
!dev-python/pypy:0"
DEPEND="app-arch/lzip
DEPEND="${RDEPEND}
app-arch/lzip
app-arch/xz-utils
doc? ( ${PYTHON_DEPS}
dev-python/sphinx )
test? ( ${RDEPEND} )"
dev-python/sphinx )"
PDEPEND="app-admin/python-updater"
S=${WORKDIR}/pypy-${PV}-src

@ -1,201 +0,0 @@
# 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="Pre-built version of PyPy"
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}/4.0.0-gentoo-path.patch" \
"${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
sed -e "s^@EPREFIX@^${EPREFIX}^" \
-e "s^@libdir@^$(get_libdir)^" \
-i lib-python/2.7/distutils/command/install.py || die
# 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 ..."
local -x PYTHON=${ED%/}${INSDESTTREE}/pypy-c
local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
# we can't use eclass function since PyPy is dumb and always gives
# paths relative to the interpreter
local PYTHON_SITEDIR=${EPREFIX}/usr/$(get_libdir)/pypy/site-packages
python_export pypy EPYTHON
echo "EPYTHON='${EPYTHON}'" > epython.py || die
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}"
}

@ -1,4 +1,2 @@
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-4.0.1-src.tar.bz2 17172844 SHA256 29f5aa6ba17b34fd980e85172dfeb4086fdc373ad392b1feff2677d2d8aea23c SHA512 66358cc3fe9ccb402b717379c48731aca8f9f85a1a754a54e3a060113398955b87a3f3048ba731a93be4b49c0f5c7e3bac49dc4523263e1bf4f4b5149d5db5c4 WHIRLPOOL 656a6c60aeb26cb6355db121a92bafcf2b744a7f09dccf21b4a16052c0117d239891ccf6762fcb4fee7f913862263c589becd5984498edc4a8b6d55784957994
DIST python-gentoo-patches-2.7.10-0.tar.xz 12892 SHA256 c9a838bd62ae50cc385da23a837acfd05f2b74e4f086c9c76eb4d3aa5366ef6d SHA512 5f100944635e360691dc0a2b340a906646c4ae9ee558246ddffc56e8b15d389f25f1fbdc1db4cc08e7d29560d04d66b058b3904902899d58ecae8c408ebdf056 WHIRLPOOL f69e9a518bb7ee50c1b262a21e70e1e2443f859ee6d2f4fa84421120dbd054a06ce8dd6cfea8512cbc64bce806322b879c25c561d5eb05e1ba6cc15035b373a9

@ -1,252 +0,0 @@
# 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 check-reqs eutils multilib multiprocessing pax-utils python-any-r1 toolchain-funcs versionator
CPY_PATCHSET_VERSION="2.7.10-0"
DESCRIPTION="A fast, compliant alternative implementation of the Python language"
HOMEPAGE="http://pypy.org/"
SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${P}-src.tar.bz2
https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${CPY_PATCHSET_VERSION}.tar.xz"
LICENSE="MIT"
SLOT="0/$(get_version_component_range 1-2 ${PV})"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="bzip2 doc gdbm +jit low-memory ncurses sandbox +shadowstack sqlite cpu_flags_x86_sse2 test tk"
RDEPEND=">=sys-libs/zlib-1.1.3:0=
virtual/libffi:0=
virtual/libintl:0=
dev-libs/expat:0=
dev-libs/openssl:0=[-bindist]
bzip2? ( app-arch/bzip2:0= )
gdbm? ( sys-libs/gdbm:0= )
ncurses? ( sys-libs/ncurses:0= )
sqlite? ( dev-db/sqlite:3= )
tk? (
dev-lang/tk:0=
dev-tcltk/tix:0=
)
!dev-python/pypy-bin:0"
DEPEND="${RDEPEND}
doc? ( dev-python/sphinx )
${PYTHON_DEPS}
test? ( dev-python/pytest )"
PDEPEND="app-admin/python-updater"
S="${WORKDIR}/${P}-src"
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]]; then
if use low-memory; then
if ! python_is_installed pypy; then
eerror "USE=low-memory requires a (possibly old) version of dev-python/pypy"
eerror "or dev-python/pypy-bin being installed. Please install it using e.g.:"
eerror
eerror " $ emerge -1v dev-python/pypy-bin"
eerror
eerror "before attempting to build dev-python/pypy[low-memory]."
die "dev-python/pypy-bin (or dev-python/pypy) needs to be installed for USE=low-memory"
fi
CHECKREQS_MEMORY="1750M"
use amd64 && CHECKREQS_MEMORY="3500M"
else
CHECKREQS_MEMORY="3G"
use amd64 && CHECKREQS_MEMORY="6G"
fi
check-reqs_pkg_pretend
fi
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]]; then
pkg_pretend
if python_is_installed pypy; then
if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] || use low-memory; then
einfo "Using already-installed PyPy to perform the translation."
local EPYTHON=pypy
else
einfo "Using ${EPYTHON} to perform the translation. Please note that upstream"
einfo "recommends using PyPy for that. If you wish to do so, please unset"
einfo "the EPYTHON variable."
fi
fi
python-any-r1_pkg_setup
fi
}
src_prepare() {
epatch "${FILESDIR}/4.0.0-gentoo-path.patch" \
"${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" \
"${FILESDIR}"/2.5.0-shared-lib.patch # 517002
sed -e "s^@EPREFIX@^${EPREFIX}^" \
-e "s^@libdir@^$(get_libdir)^" \
-i lib-python/2.7/distutils/command/install.py || die
# 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() {
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 cpu_flags_x86_sse2; then
jit_backend+=x86
else
jit_backend+=x86-without-sse2
fi
else
jit_backend+=auto
fi
fi
local args=(
--shared
$(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
local interp=( "${PYTHON}" )
if use low-memory; then
interp=( env PYPY_GC_MAX_DELTA=200MB
"${PYTHON}" --jit loop_longevity=300 )
fi
set -- "${interp[@]}" rpython/bin/rpython --batch "${args[@]}"
echo -e "\033[1m${@}\033[0m"
"${@}" || die "compile error"
use doc && emake -C pypy/doc/ html
pax-mark m "${ED%/}${INSDESTTREE}/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 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 ..."
local -x PYTHON=${ED%/}${INSDESTTREE}/pypy-c
local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
# we can't use eclass function since PyPy is dumb and always gives
# paths relative to the interpreter
local PYTHON_SITEDIR=${EPREFIX}/usr/$(get_libdir)/pypy/site-packages
python_export pypy EPYTHON
echo "EPYTHON='${EPYTHON}'" > epython.py || die
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/release/package.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 syslog pwdgrp )
use gdbm && cffi_targets+=( gdbm )
use ncurses && cffi_targets+=( curses )
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}"
}

@ -1,252 +0,0 @@
# 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 check-reqs eutils multilib multiprocessing pax-utils python-any-r1 toolchain-funcs versionator
CPY_PATCHSET_VERSION="2.7.10-0"
DESCRIPTION="A fast, compliant alternative implementation of the Python language"
HOMEPAGE="http://pypy.org/"
SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${P}-src.tar.bz2
https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${CPY_PATCHSET_VERSION}.tar.xz"
LICENSE="MIT"
SLOT="0/$(get_version_component_range 1-2 ${PV})"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="bzip2 doc gdbm +jit low-memory ncurses sandbox +shadowstack sqlite cpu_flags_x86_sse2 test tk"
RDEPEND=">=sys-libs/zlib-1.1.3:0=
virtual/libffi:0=
virtual/libintl:0=
dev-libs/expat:0=
dev-libs/openssl:0=[-bindist]
bzip2? ( app-arch/bzip2:0= )
gdbm? ( sys-libs/gdbm:0= )
ncurses? ( sys-libs/ncurses:0= )
sqlite? ( dev-db/sqlite:3= )
tk? (
dev-lang/tk:0=
dev-tcltk/tix:0=
)
!dev-python/pypy-bin:0"
DEPEND="${RDEPEND}
doc? ( dev-python/sphinx )
${PYTHON_DEPS}
test? ( dev-python/pytest )"
PDEPEND="app-admin/python-updater"
S="${WORKDIR}/${P}-src"
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]]; then
if use low-memory; then
if ! python_is_installed pypy; then
eerror "USE=low-memory requires a (possibly old) version of dev-python/pypy"
eerror "or dev-python/pypy-bin being installed. Please install it using e.g.:"
eerror
eerror " $ emerge -1v dev-python/pypy-bin"
eerror
eerror "before attempting to build dev-python/pypy[low-memory]."
die "dev-python/pypy-bin (or dev-python/pypy) needs to be installed for USE=low-memory"
fi
CHECKREQS_MEMORY="1750M"
use amd64 && CHECKREQS_MEMORY="3500M"
else
CHECKREQS_MEMORY="3G"
use amd64 && CHECKREQS_MEMORY="6G"
fi
check-reqs_pkg_pretend
fi
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]]; then
pkg_pretend
if python_is_installed pypy; then
if [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]] || use low-memory; then
einfo "Using already-installed PyPy to perform the translation."
local EPYTHON=pypy
else
einfo "Using ${EPYTHON} to perform the translation. Please note that upstream"
einfo "recommends using PyPy for that. If you wish to do so, please unset"
einfo "the EPYTHON variable."
fi
fi
python-any-r1_pkg_setup
fi
}
src_prepare() {
epatch "${FILESDIR}/4.0.0-gentoo-path.patch" \
"${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" \
"${FILESDIR}"/2.5.0-shared-lib.patch # 517002
sed -e "s^@EPREFIX@^${EPREFIX}^" \
-e "s^@libdir@^$(get_libdir)^" \
-i lib-python/2.7/distutils/command/install.py || die
# 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() {
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 cpu_flags_x86_sse2; then
jit_backend+=x86
else
jit_backend+=x86-without-sse2
fi
else
jit_backend+=auto
fi
fi
local args=(
--shared
$(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
local interp=( "${PYTHON}" )
if use low-memory; then
interp=( env PYPY_GC_MAX_DELTA=200MB
"${PYTHON}" --jit loop_longevity=300 )
fi
set -- "${interp[@]}" rpython/bin/rpython --batch "${args[@]}"
echo -e "\033[1m${@}\033[0m"
"${@}" || die "compile error"
use doc && emake -C pypy/doc/ html
pax-mark m "${ED%/}${INSDESTTREE}/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 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 ..."
local -x PYTHON=${ED%/}${INSDESTTREE}/pypy-c
local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
# we can't use eclass function since PyPy is dumb and always gives
# paths relative to the interpreter
local PYTHON_SITEDIR=${EPREFIX}/usr/$(get_libdir)/pypy/site-packages
python_export pypy EPYTHON
echo "EPYTHON='${EPYTHON}'" > epython.py || die
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 syslog pwdgrp )
use gdbm && cffi_targets+=( gdbm )
use ncurses && cffi_targets+=( curses )
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}"
}

@ -1,7 +1,4 @@
DIST pypy3-2.4.0-src.tar.bz2 14693194 SHA256 d9ba207d6eecf8a0dc4414e9f4e92db1abd143e8cc6ec4a6bdcac75b29f104f3 SHA512 7e2b0c21f1833b8cd61251c2d58c6a9f99207e5d582618f0036886ff28dcb313541dce1c36bd1b57b332a36a94b13e416bb7b67110be7c8ece8283749ba712be WHIRLPOOL bd02009c828b7b491b46b260d687d268561e5372766adccbcb58e87a3f1c545f293c54e5cdd6e6b7fb95feb678677137211ee890f106140ce1bc256f8563d2cd
DIST pypy3-bin-2.4.0-amd64+bzip2+jit+ncurses+shadowstack.tar.xz 9687272 SHA256 8f03fc87ec796877e5a13111f509a5d1c06284bc31133d25c4c9cca6a82f7039 SHA512 ec5e3ef4f2f4b06c31df5ab9fc4a9f7a2a08f744a0128e6ab8215767d4fba7a3e35e319ff9d9a0de4d018ed35eed24809c82928972a860a220ea45f284087770 WHIRLPOOL 15ba1d18ae4fc5d0968fa5c6cadfcb8762b258d683c770530ac35067ca91210f8d825facd775602a9d2b578542a4b760a0a11a9b0a6d59f539d4e7043fcad734
DIST pypy3-bin-2.4.0-amd64+bzip2+jit+ncurses.tar.xz 11047984 SHA256 558176dacd1e3222fb56b8c3226077288281ee2a131149fdbb2a54561d5bc7d9 SHA512 cde76c37bf9c043a4fde4a2d07a04366f3c906562e6ed640544ac0228b511729b481c6cd6b7b25b80c02a69cdd02707d427edcd8e46e41313b31161313c6c5fb WHIRLPOOL 9eb8dc5d3319bf2c09baae38ecaa23c1f7ee38b4ea20f72a9fde3f68004ac4f3cbe807ff93e6cba5318745a251d09d2f951cb5a86f04c41b2e05d151d1f6cd03
DIST pypy3-bin-2.4.0-amd64+bzip2+ncurses.tar.xz 6281232 SHA256 326115bcd7ad2d659b69842182dee4fc2adb558f20a3e44ab4b803fa70c43a21 SHA512 f938aa797e352f80a99095a15bf83a758f0c203adc402cf92494f909ad870457a28ae14b5959880e55898c2ce92ce0b08b05e3d691133758bca52f524c8aad73 WHIRLPOOL b0aa4c24d645aa914aa439646b813dfcae14e6731af86d4348d24637bbdb7f88a26d3a63ff5262749ee654715eaf5312beb4879341d222aaedfcd3e81acd2426
DIST pypy3-bin-2.4.0-nossl2-amd64+bzip2+jit+ncurses+shadowstack.tar.lz 9320887 SHA256 98a2a6f1ba738e8e39b272e757cfa4b90684be05b58f28e9d7766d2e3238bed2 SHA512 b9569c7d9f607ec89dfc2adadea86d485e99c2cc8a9bd2751fbf450b331a706acd8cab9b67730162f67a74ccb682ec23769556cfb3b028265a7e5b06e920bd07 WHIRLPOOL 450be6f24c7bd58fc801bb95ca08f1d5874c2df0a5e75e062847b25f7a11e1ed81dfbb1b38e9607882593f96a2d3171c7f59cb63fd039c3ebf542bee7a53d09d
DIST pypy3-bin-2.4.0-nossl2-amd64+bzip2+jit+ncurses.tar.lz 10751255 SHA256 aca3afd551ab073d91c9d3d6e7bfffdbee2ccab0672d461b9abc0d3087d6ccab SHA512 85032e9418f03319dbf827fd68870d8c5d8f368f5b416ff9a96af48a1b3bcfd651a66c0d1c3372bf522c1d7433734d1d167e8fb037ca998f55c1ad4c13ed5a5d WHIRLPOOL 0eb02a3c4e7d6d5fbbdf239a68c067f87449a07a8a63a3a03858ada73fcf13a09a1b3f9f8402a173fd17baee4565de9f2b68038471527b8f43f14c4251af6432
DIST pypy3-bin-2.4.0-nossl2-amd64+bzip2+ncurses.tar.lz 6188358 SHA256 2ee5d99218a02bac26a77327db3bcf754f36ed40ef0593567895ee2ad128bc04 SHA512 a07b3c3cdf16592af9ea76d8f70c053f6e75f3b92e10d019921dd8024161b8953477c3da7a5d82912f1f10f0ab4581e299215e7a5f50ee0ff923648e7a18d8cc WHIRLPOOL 75da4de6977382729d21881d7d66895871ad3e5f53a108bfad3c97d9f6db6dec6754f353e600436853d4d06586b350d4e47ccfa7ca25364c54b276fd629e5d5b
@ -9,7 +6,3 @@ DIST pypy3-bin-2.4.0-nossl2-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.lz 824613
DIST pypy3-bin-2.4.0-nossl2-x86+bzip2+jit+ncurses+sse2.tar.lz 9073643 SHA256 436128604cc9649228992206abcfef84ff14994984b3da91b2d4ee1ab654274c SHA512 0cffa75008f174d0703d07e86ed1036a27efe7707b14e2a5c6bfe92bd703ad0ce7223a0b590aeffe1e7dd11756d385ac9e2eba9a7d49d6d970377aef8aa2d8bb WHIRLPOOL 579625d8e36bd22ca04a2468592f784269bd514799725a5fe0f5ce47e09477dada96a95c2296e46a8f4d03fc82aff6100c7a89c4e71993b033a31516ffc0b2a4
DIST pypy3-bin-2.4.0-nossl2-x86+bzip2+ncurses+sse2.tar.lz 5549183 SHA256 ecb7dae543219b4bc1d75114a0a5316d870a4a92ae439b9679ae8436903fcc77 SHA512 06040c2f843ce77573616f9fc5a9773ffb67957860d33ca26538a39ba68aa56eea98bc0af0e99e6319f50ee42ff894a9f4944b7924348f20ce90078f0615a707 WHIRLPOOL ebf165deb7b65cbfef081841037206a74658906e49b52225c1966874f3f8ad39f19157c801653e2797a03b9fd0287a5c4e7ffb7d53d951fb5686eaba9c533b29
DIST pypy3-bin-2.4.0-nossl2-x86+bzip2+ncurses.tar.lz 5503668 SHA256 7cc045e8ec9e7d4c01eb0dd9e83296bbf38483bcd0a5af0298ef53b9dc0bc63d SHA512 fa398b43a479c71bcd708e30055716dbe0c8f6421ed632a3ed8b3fa1cf30310e5325106b2c5d2be70b3a7e3bc706e70b599ffa34497ef6a0aeb78df534397f79 WHIRLPOOL c13aee013422d552cbf34fa41326f7edfb1a3817801a3ac72ff472b92460528876505b88e6bd95866dbf731d707d1ba789f22ae76d3a004cded36772afab2436
DIST pypy3-bin-2.4.0-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz 8159232 SHA256 65bb567693048894d13c7ffecda126a222ebb641dc6c6e0a899197da8f0844d8 SHA512 734e42d6962b4411d9beab55013454dd27bd18c342ed334e07f85e217cd7d992cbaffb36ee3e74469662860f130d1065a381e49a6b8287fa83736ffe75cb8a5a WHIRLPOOL a5b7ed4a177dc5c1322e79551166d3be8e478e969b223db4fe6a2e9fddaf2e4c22633726a667e3deca19763f44edd4e3f4c20c477da5d7e26c88f21d4ce70544
DIST pypy3-bin-2.4.0-x86+bzip2+jit+ncurses+sse2.tar.xz 9121216 SHA256 5f03284815a313065b99da0154a08831e3ae2c6e43c4ce515de1aff60c4537ad SHA512 f069ece90666385eb8aade97ad81c4c6c2480dee1bf3b1cb520c4fc1d123d17f7ef2cbf7ed25b72b24e56165c08ded671c8bce74ed2ea2f1b6e57ca9fdd214ae WHIRLPOOL 8cf368e0efa416d3cba06ea61bc97ed7ead0e25f5008c948d1bec8d0494fd9908d1e6640414ffe7c6b6260badef41da114370f2a5ef28a63234203a604e1be4e
DIST pypy3-bin-2.4.0-x86+bzip2+ncurses+sse2.tar.xz 5366816 SHA256 bff57d563dbce1b4858d87161c2338e5ed6ed20008a8dc4fb78cbb9e320d1188 SHA512 afb395257b0259b096a9fdbae405ffb021950dfda39ddc490777662ab77d0573b5b51e6381241c09debbca0a706637dba39c8644c878e541b83d68a94fc9ad1e WHIRLPOOL a1e1079a68b03b65a0680c65080d6c6dc48e4a652dd634bfaa805a6117c67da84bcc65ee2fe6711a61ab86a905bd2a6993e0ac88547a807eca3722f70ca890fb
DIST pypy3-bin-2.4.0-x86+bzip2+ncurses.tar.xz 5439032 SHA256 3bd4e476ff76da1f3c111a11abe0ef72683ba719934ede1252c32de6200beb25 SHA512 d11805b704baa51097261f0886bd160f9d1a3e220ceeeaa5741c3aaf9ee8437479b2f371889dbe2ad72f16559de86c1e71bfd17f45375071cafc535d7c30b3cc WHIRLPOOL 41ef35df997da9aca90be8442001b6807c1a8dd0a7d4e66c0c925dc74546db35e6d54a2bf292c8bca732427786019e7e5041d19e6169e2573a058f269a0332ce

@ -1,11 +0,0 @@
--- a/lib-python/3/distutils/command/install.py
+++ b/lib-python/3/distutils/command/install.py
@@ -87,7 +87,7 @@
'purelib': '$base/site-packages',
'platlib': '$base/site-packages',
'headers': '$base/include',
- 'scripts': '$base/bin',
+ 'scripts': '/usr/bin',
'data' : '$base',
},
}

@ -0,0 +1,251 @@
http://bugs.python.org/issue1222585
--- Lib/distutils/cygwinccompiler.py
+++ Lib/distutils/cygwinccompiler.py
@@ -136,9 +136,13 @@
self.set_executables(compiler='gcc -mcygwin -O -Wall',
compiler_so='gcc -mcygwin -mdll -O -Wall',
compiler_cxx='g++ -mcygwin -O -Wall',
+ compiler_so_cxx='g++ -mcygwin -mdll -O -Wall',
linker_exe='gcc -mcygwin',
linker_so=('%s -mcygwin %s' %
- (self.linker_dll, shared_option)))
+ (self.linker_dll, shared_option)),
+ linker_exe_cxx='g++ -mcygwin',
+ linker_so_cxx=('%s -mcygwin %s' %
+ (self.linker_dll, shared_option)))
# cygwin and mingw32 need different sets of libraries
if self.gcc_version == "2.91.57":
@@ -162,8 +166,12 @@
raise CompileError(msg)
else: # for other files use the C-compiler
try:
- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
- extra_postargs)
+ if self.detect_language(src) == 'c++':
+ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
+ extra_postargs)
+ else:
+ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
+ extra_postargs)
except DistutilsExecError as msg:
raise CompileError(msg)
@@ -294,10 +302,15 @@
self.set_executables(compiler='gcc -mno-cygwin -O -Wall',
compiler_so='gcc -mno-cygwin -mdll -O -Wall',
compiler_cxx='g++ -mno-cygwin -O -Wall',
+ compiler_so_cxx='g++ -mno-cygwin -mdll -O -Wall',
linker_exe='gcc -mno-cygwin',
linker_so='%s -mno-cygwin %s %s'
% (self.linker_dll, shared_option,
- entry_point))
+ entry_point),
+ linker_exe_cxx='g++ -mno-cygwin',
+ linker_so_cxx='%s -mno-cygwin %s %s'
+ % (self.linker_dll, shared_option,
+ entry_point))
# Maybe we should also append -mthreads, but then the finished
# dlls need another dll (mingwm10.dll see Mingw32 docs)
# (-mthreads: Support thread-safe exception handling on `Mingw32')
--- Lib/distutils/emxccompiler.py
+++ Lib/distutils/emxccompiler.py
@@ -63,8 +63,12 @@
# XXX optimization, warnings etc. should be customizable.
self.set_executables(compiler='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
compiler_so='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
+ compiler_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
+ compiler_so_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
linker_exe='gcc -Zomf -Zmt -Zcrtdll',
- linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll')
+ linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll',
+ linker_exe_cxx='g++ -Zomf -Zmt -Zcrtdll',
+ linker_so_cxx='g++ -Zomf -Zmt -Zcrtdll -Zdll')
# want the gcc library statically linked (so that we don't have
# to distribute a version dependent on the compiler we have)
@@ -81,8 +85,12 @@
raise CompileError(msg)
else: # for other files use the C-compiler
try:
- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
- extra_postargs)
+ if self.detect_language(src) == 'c++':
+ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
+ extra_postargs)
+ else:
+ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
+ extra_postargs)
except DistutilsExecError as msg:
raise CompileError(msg)
--- Lib/distutils/sysconfig_cpython.py
+++ Lib/distutils/sysconfig_cpython.py
@@ -170,9 +170,12 @@
_osx_support.customize_compiler(_config_vars)
_config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
- (cc, cxx, opt, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags) = \
- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
- 'CCSHARED', 'LDSHARED', 'SHLIB_SUFFIX', 'AR', 'ARFLAGS')
+ (cc, cxx, ccshared, ldshared, ldcxxshared, shlib_suffix, ar, ar_flags) = \
+ get_config_vars('CC', 'CXX', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED',
+ 'SHLIB_SUFFIX', 'AR', 'ARFLAGS')
+
+ cflags = ''
+ cxxflags = ''
newcc = None
if 'CC' in os.environ:
@@ -181,19 +184,27 @@
cxx = os.environ['CXX']
if 'LDSHARED' in os.environ:
ldshared = os.environ['LDSHARED']
+ if 'LDCXXSHARED' in os.environ:
+ ldcxxshared = os.environ['LDCXXSHARED']
if 'CPP' in os.environ:
cpp = os.environ['CPP']
else:
cpp = cc + " -E" # not always
if 'LDFLAGS' in os.environ:
ldshared = ldshared + ' ' + os.environ['LDFLAGS']
+ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
if 'CFLAGS' in os.environ:
- cflags = opt + ' ' + os.environ['CFLAGS']
+ cflags = os.environ['CFLAGS']
ldshared = ldshared + ' ' + os.environ['CFLAGS']
+ if 'CXXFLAGS' in os.environ:
+ cxxflags = os.environ['CXXFLAGS']
+ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
if 'CPPFLAGS' in os.environ:
cpp = cpp + ' ' + os.environ['CPPFLAGS']
cflags = cflags + ' ' + os.environ['CPPFLAGS']
+ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
+ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
if 'AR' in os.environ:
ar = os.environ['AR']
if 'ARFLAGS' in os.environ:
@@ -202,13 +213,17 @@
archiver = ar + ' ' + ar_flags
cc_cmd = cc + ' ' + cflags
+ cxx_cmd = cxx + ' ' + cxxflags
compiler.set_executables(
preprocessor=cpp,
compiler=cc_cmd,
compiler_so=cc_cmd + ' ' + ccshared,
- compiler_cxx=cxx,
+ compiler_cxx=cxx_cmd,
+ compiler_so_cxx=cxx_cmd + ' ' + ccshared,
linker_so=ldshared,
linker_exe=cc,
+ linker_so_cxx=ldcxxshared,
+ linker_exe_cxx=cxx,
archiver=archiver)
compiler.shared_lib_extension = shlib_suffix
--- Lib/distutils/unixccompiler.py
+++ Lib/distutils/unixccompiler.py
@@ -52,14 +52,17 @@
# are pretty generic; they will probably have to be set by an outsider
# (eg. using information discovered by the sysconfig about building
# Python extensions).
- executables = {'preprocessor' : None,
- 'compiler' : ["cc"],
- 'compiler_so' : ["cc"],
- 'compiler_cxx' : ["cc"],
- 'linker_so' : ["cc", "-shared"],
- 'linker_exe' : ["cc"],
- 'archiver' : ["ar", "-cr"],
- 'ranlib' : None,
+ executables = {'preprocessor' : None,
+ 'compiler' : ["cc"],
+ 'compiler_so' : ["cc"],
+ 'compiler_cxx' : ["c++"],
+ 'compiler_so_cxx' : ["c++"],
+ 'linker_so' : ["cc", "-shared"],
+ 'linker_exe' : ["cc"],
+ 'linker_so_cxx' : ["c++", "-shared"],
+ 'linker_exe_cxx' : ["c++"],
+ 'archiver' : ["ar", "-cr"],
+ 'ranlib' : None,
}
if sys.platform[:6] == "darwin":
@@ -108,12 +111,19 @@
def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
compiler_so = self.compiler_so
+ compiler_so_cxx = self.compiler_so_cxx
if sys.platform == 'darwin':
compiler_so = _osx_support.compiler_fixup(compiler_so,
cc_args + extra_postargs)
+ compiler_so_cxx = _osx_support.compiler_fixup(compiler_so_cxx,
+ cc_args + extra_postargs)
try:
- self.spawn(compiler_so + cc_args + [src, '-o', obj] +
- extra_postargs)
+ if self.detect_language(src) == 'c++':
+ self.spawn(compiler_so_cxx + cc_args + [src, '-o', obj] +
+ extra_postargs)
+ else:
+ self.spawn(compiler_so + cc_args + [src, '-o', obj] +
+ extra_postargs)
except DistutilsExecError as msg:
raise CompileError(msg)
@@ -171,22 +181,16 @@
ld_args.extend(extra_postargs)
self.mkpath(os.path.dirname(output_filename))
try:
- if target_desc == CCompiler.EXECUTABLE:
- linker = self.linker_exe[:]
+ if target_lang == "c++":
+ if target_desc == CCompiler.EXECUTABLE:
+ linker = self.linker_exe_cxx[:]
+ else:
+ linker = self.linker_so_cxx[:]
else:
- linker = self.linker_so[:]
- if target_lang == "c++" and self.compiler_cxx:
- # skip over environment variable settings if /usr/bin/env
- # is used to set up the linker's environment.
- # This is needed on OSX. Note: this assumes that the
- # normal and C++ compiler have the same environment
- # settings.
- i = 0
- if os.path.basename(linker[0]) == "env":
- i = 1
- while '=' in linker[i]:
- i += 1
- linker[i] = self.compiler_cxx[i]
+ if target_desc == CCompiler.EXECUTABLE:
+ linker = self.linker_exe[:]
+ else:
+ linker = self.linker_so[:]
if sys.platform == 'darwin':
linker = _osx_support.compiler_fixup(linker, ld_args)
--- Lib/_osx_support.py
+++ Lib/_osx_support.py
@@ -14,13 +14,13 @@
# configuration variables that may contain universal build flags,
# like "-arch" or "-isdkroot", that may need customization for
# the user environment
-_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS', 'BASECFLAGS',
- 'BLDSHARED', 'LDSHARED', 'CC', 'CXX',
- 'PY_CFLAGS', 'PY_LDFLAGS', 'PY_CPPFLAGS',
- 'PY_CORE_CFLAGS')
+_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'CXXFLAGS', 'LDFLAGS', 'CPPFLAGS',
+ 'BASECFLAGS', 'BLDSHARED', 'LDSHARED', 'LDCXXSHARED',
+ 'CC', 'CXX', 'PY_CFLAGS', 'PY_LDFLAGS',
+ 'PY_CPPFLAGS', 'PY_CORE_CFLAGS')
# configuration variables that may contain compiler calls
-_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'CC', 'CXX')
+_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'LDCXXSHARED', 'CC', 'CXX')
# prefix added to original configuration variable names
_INITPRE = '_OSX_SUPPORT_INITIAL_'

@ -0,0 +1,187 @@
From 66bef80988c9efe60b61c6bc05f3206b4c3df7e8 Mon Sep 17 00:00:00 2001
From: hasufell <hasufell@gentoo.org>
Date: Mon, 12 Oct 2015 20:43:50 +0200
Subject: [PATCH] Add LibreSSL support, patches backported from upstream
https://bitbucket.org/pypy/pypy/pull-requests/333/deal-with-platforms-without-rand_egd-take/diff
---
pypy/module/_ssl/interp_ssl.py | 34 +++++++++++++++-----------
pypy/module/_ssl/test/test_ssl.py | 8 +++---
rpython/rlib/ropenssl.py | 6 ++++-
rpython/rtyper/tool/rffi_platform.py | 12 ++++++---
rpython/rtyper/tool/test/test_rffi_platform.py | 24 +++++++++++++++++-
5 files changed, 61 insertions(+), 23 deletions(-)
diff --git a/pypy/module/_ssl/interp_ssl.py b/pypy/module/_ssl/interp_ssl.py
index 0cac165..f210167 100644
--- a/pypy/module/_ssl/interp_ssl.py
+++ b/pypy/module/_ssl/interp_ssl.py
@@ -310,20 +310,26 @@ if HAVE_OPENSSL_RAND:
res = libssl_RAND_status()
return space.wrap(res)
- @unwrap_spec(path=str)
- def RAND_egd(space, path):
- """RAND_egd(path) -> bytes
-
- Queries the entropy gather daemon (EGD) on socket path. Returns number
- of bytes read. Raises socket.sslerror if connection to EGD fails or
- if it does provide enough data to seed PRNG."""
- with rffi.scoped_str2charp(path) as socket_path:
- bytes = libssl_RAND_egd(socket_path)
- if bytes == -1:
- raise ssl_error(space,
- "EGD connection failed or EGD did not return "
- "enough data to seed the PRNG")
- return space.wrap(bytes)
+ if HAVE_OPENSSL_RAND_EGD:
+ @unwrap_spec(path=str)
+ def RAND_egd(space, path):
+ """RAND_egd(path) -> bytes
+
+ Queries the entropy gather daemon (EGD) on socket path. Returns number
+ of bytes read. Raises socket.sslerror if connection to EGD fails or
+ if it does provide enough data to seed PRNG."""
+ with rffi.scoped_str2charp(path) as socket_path:
+ bytes = libssl_RAND_egd(socket_path)
+ if bytes == -1:
+ raise ssl_error(space,
+ "EGD connection failed or EGD did not return "
+ "enough data to seed the PRNG")
+ return space.wrap(bytes)
+ else:
+ # Dummy func for platforms missing RAND_egd(). Most likely LibreSSL.
+ @unwrap_spec(path=str)
+ def RAND_egd(space, path):
+ raise ssl_error(space, "RAND_egd unavailable")
class SSLSocket(W_Root):
diff --git a/pypy/module/_ssl/test/test_ssl.py b/pypy/module/_ssl/test/test_ssl.py
index 3204610..9722fd5 100644
--- a/pypy/module/_ssl/test/test_ssl.py
+++ b/pypy/module/_ssl/test/test_ssl.py
@@ -33,7 +33,8 @@ class AppTestSSL:
assert isinstance(_ssl.OPENSSL_VERSION_INFO, tuple)
assert len(_ssl.OPENSSL_VERSION_INFO) == 5
assert isinstance(_ssl.OPENSSL_VERSION, str)
- assert 'openssl' in _ssl.OPENSSL_VERSION.lower()
+ lower_version = _ssl.OPENSSL_VERSION.lower()
+ assert 'openssl' in lower_version or "libressl" in lower_version
def test_RAND_add(self):
import _ssl
@@ -64,8 +65,9 @@ class AppTestSSL:
def test_sslwrap(self):
import ssl, _socket, sys, gc
- if sys.platform == 'darwin' or 'freebsd' in sys.platform:
- skip("hangs indefinitely on OSX & FreeBSD (also on CPython)")
+ if sys.platform == 'darwin' or 'freebsd' in sys.platform or \
+ 'openbsd' in sys.platform:
+ skip("hangs indefinitely on OSX & BSD (also on CPython)")
s = _socket.socket()
ss = ssl.wrap_socket(s)
diff --git a/rpython/rlib/ropenssl.py b/rpython/rlib/ropenssl.py
index c36779d..6fe45d0 100644
--- a/rpython/rlib/ropenssl.py
+++ b/rpython/rlib/ropenssl.py
@@ -168,6 +168,9 @@ OBJ_NAME = rffi.CArrayPtr(OBJ_NAME_st)
HAVE_OPENSSL_RAND = OPENSSL_VERSION_NUMBER >= 0x0090500f
HAVE_SSL_CTX_CLEAR_OPTIONS = OPENSSL_VERSION_NUMBER >= 0x009080df
+HAVE_OPENSSL_RAND_EGD = rffi_platform.has('RAND_egd("/")',
+ '#include <openssl/rand.h>',
+ libraries=['ssl', 'crypto'])
def external(name, argtypes, restype, **kw):
kw['compilation_info'] = eci
@@ -194,7 +197,8 @@ ssl_external('CRYPTO_set_id_callback',
if HAVE_OPENSSL_RAND:
ssl_external('RAND_add', [rffi.CCHARP, rffi.INT, rffi.DOUBLE], lltype.Void)
ssl_external('RAND_status', [], rffi.INT)
- ssl_external('RAND_egd', [rffi.CCHARP], rffi.INT)
+ if HAVE_OPENSSL_RAND_EGD:
+ ssl_external('RAND_egd', [rffi.CCHARP], rffi.INT)
ssl_external('SSL_CTX_new', [SSL_METHOD], SSL_CTX)
ssl_external('SSL_get_SSL_CTX', [SSL], SSL_CTX)
ssl_external('TLSv1_method', [], SSL_METHOD)
diff --git a/rpython/rtyper/tool/rffi_platform.py b/rpython/rtyper/tool/rffi_platform.py
index 1760877..1d56c20 100755
--- a/rpython/rtyper/tool/rffi_platform.py
+++ b/rpython/rtyper/tool/rffi_platform.py
@@ -17,12 +17,15 @@ from rpython.rlib.rarithmetic import r_uint, r_longlong, r_ulonglong, intmask
#
# Helpers for simple cases
-def eci_from_header(c_header_source, include_dirs=None):
+def eci_from_header(c_header_source, include_dirs=None, libraries=None):
if include_dirs is None:
include_dirs = []
+ if libraries is None:
+ libraries = []
return ExternalCompilationInfo(
post_include_bits=[c_header_source],
- include_dirs=include_dirs
+ include_dirs=include_dirs,
+ libraries=libraries,
)
def getstruct(name, c_header_source, interesting_fields):
@@ -75,9 +78,10 @@ def getintegerfunctionresult(function, args=None, c_header_source='', includes=[
CConfig._compilation_info_.includes = includes
return configure(CConfig)['RESULT']
-def has(name, c_header_source, include_dirs=None):
+def has(name, c_header_source, include_dirs=None, libraries=None):
class CConfig:
- _compilation_info_ = eci_from_header(c_header_source, include_dirs)
+ _compilation_info_ = \
+ eci_from_header(c_header_source, include_dirs, libraries)
HAS = Has(name)
return configure(CConfig)['HAS']
diff --git a/rpython/rtyper/tool/test/test_rffi_platform.py b/rpython/rtyper/tool/test/test_rffi_platform.py
index bfa069e..4feae87 100644
--- a/rpython/rtyper/tool/test/test_rffi_platform.py
+++ b/rpython/rtyper/tool/test/test_rffi_platform.py
@@ -271,12 +271,34 @@ def test_array():
[("d_name", lltype.FixedSizeArray(rffi.CHAR, 1))])
assert dirent.c_d_name.length == 32
-def test_has():
+def test_has_0001():
assert rffi_platform.has("x", "int x = 3;")
assert not rffi_platform.has("x", "")
# has() should also not crash if it is given an invalid #include
assert not rffi_platform.has("x", "#include <some/path/which/cannot/exist>")
+def test_has_0002():
+ assert rffi_platform.has("pow", "#include <math.h>", libraries=["m"])
+
+def test_has_0003():
+ """multiple libraries"""
+ assert rffi_platform.has("pow", "#include <math.h>", libraries=["m", "c"])
+
+def test_has_0004():
+ """bogus symbol name"""
+ assert not rffi_platform.has("pow", "#include <math.h>",
+ libraries=["boguslibname"])
+
+def test_has_0005():
+ """bogus symbol name and lib name"""
+ assert not rffi_platform.has("bogus_symbol_name", "#include <math.h>",
+ libraries=["boguslibname"])
+
+def test_has_0006():
+ """missing include"""
+ assert not rffi_platform.has("pow", "", libraries=["m"])
+
+
def test_verify_eci():
eci = ExternalCompilationInfo()
rffi_platform.verify_eci(eci)
--
2.6.1

@ -1,176 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
# some random parts need python 2...
PYTHON_COMPAT=( python2_7 pypy )
inherit eutils multilib pax-utils python-any-r1 versionator
BINHOST="https://dev.gentoo.org/~mgorny/dist/pypy-bin/${PV}"
DESCRIPTION="A fast, compliant alternative implementation of Python 3 (binary package)"
HOMEPAGE="http://pypy.org/"
SRC_URI="https://bitbucket.org/pypy/pypy/downloads/pypy3-${PV}-src.tar.bz2
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="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
sys-libs/glibc:2.2
=sys-libs/ncurses-5*:0
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/pypy3:0"
DEPEND="app-arch/xz-utils
test? ( ${RDEPEND}
${PYTHON_DEPS} )"
# doc? ( ${PYTHON_DEPS}
# dev-python/sphinx )
PDEPEND="app-admin/python-updater"
S=${WORKDIR}/pypy3-${PV}-src
src_prepare() {
epatch "${FILESDIR}/1.9-scripts-location.patch" \
"${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
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...
"${PYTHON}" lib_pypy/ctypes_config_cache/rebuild.py \
|| die "Failed to rebuild ctypes config cache"
}
src_test() {
# (unset)
local -x PYTHONDONTWRITEBYTECODE
# Test runner requires Python 2 too. However, it spawns PyPy3
# internally so that we end up testing the correct interpreter.
"${PYTHON}" ./pypy/test_all.py --pypy=./pypy-c lib-python || die
}
src_install() {
einfo "Installing PyPy ..."
insinto "/usr/$(get_libdir)/pypy3"
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)/pypy3/pypy-c /usr/bin/pypy3
dodoc README.rst
if ! use gdbm; then
rm -r "${ED%/}${INSDESTTREE}"/lib_pypy/gdbm.py \
"${ED%/}${INSDESTTREE}"/lib-python/*3/test/test_gdbm.py || die
fi
if ! use sqlite; then
rm -r "${ED%/}${INSDESTTREE}"/lib-python/*3/sqlite3 \
"${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py \
"${ED%/}${INSDESTTREE}"/lib-python/*3/test/test_sqlite.py || die
fi
if ! use tk; then
rm -r "${ED%/}${INSDESTTREE}"/lib-python/*3/{idlelib,tkinter} \
"${ED%/}${INSDESTTREE}"/lib_pypy/_tkinter \
"${ED%/}${INSDESTTREE}"/lib-python/*3/test/test_{tcl,tk,ttk*}.py || die
fi
# Install docs
#use doc && dohtml -r pypy/doc/_build/html/
einfo "Generating caches and byte-compiling ..."
local -x PYTHON=${ED%/}${INSDESTTREE}/pypy-c
local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
# we can't use eclass function since PyPy is dumb and always gives
# paths relative to the interpreter
local PYTHON_SITEDIR=${EPREFIX}/usr/$(get_libdir)/pypy3/site-packages
python_export pypy3 EPYTHON
echo "EPYTHON='${EPYTHON}'" > epython.py || die
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 cache
# Please keep in sync with pypy/tool/release/package.py!
"${PYTHON}" -c "import _curses" || die "Failed to import _curses (cffi)"
"${PYTHON}" -c "import syslog" || die "Failed to import syslog (cffi)"
if use gdbm; then
"${PYTHON}" -c "import _gdbm" || die "Failed to import gdbm (cffi)"
fi
if use sqlite; then
"${PYTHON}" -c "import _sqlite3" || die "Failed to import _sqlite3 (cffi)"
fi
if use tk; then
"${PYTHON}" -c "import _tkinter" || die "Failed to import _tkinter (cffi)"
fi
# 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}"
}

@ -1,177 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
# some random parts need python 2...
PYTHON_COMPAT=( python2_7 pypy )
inherit eutils multilib pax-utils python-any-r1 versionator
BINHOST="https://dev.gentoo.org/~mgorny/dist/pypy-bin/${PV}"
DESCRIPTION="A fast, compliant alternative implementation of Python 3 (binary package)"
HOMEPAGE="http://pypy.org/"
SRC_URI="https://bitbucket.org/pypy/pypy/downloads/pypy3-${PV}-src.tar.bz2
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="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
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/pypy3:0"
DEPEND="app-arch/xz-utils
test? ( ${RDEPEND}
${PYTHON_DEPS} )"
# doc? ( ${PYTHON_DEPS}
# dev-python/sphinx )
PDEPEND="app-admin/python-updater"
S=${WORKDIR}/pypy3-${PV}-src
src_prepare() {
epatch "${FILESDIR}/4.0.0-gentoo-path.patch" \
"${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" \
"${FILESDIR}/2.4.0-ncurses6.patch"
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...
"${PYTHON}" lib_pypy/ctypes_config_cache/rebuild.py \
|| die "Failed to rebuild ctypes config cache"
}
src_test() {
# (unset)
local -x PYTHONDONTWRITEBYTECODE
# Test runner requires Python 2 too. However, it spawns PyPy3
# internally so that we end up testing the correct interpreter.
"${PYTHON}" ./pypy/test_all.py --pypy=./pypy-c lib-python || die
}
src_install() {
einfo "Installing PyPy ..."
insinto "/usr/$(get_libdir)/pypy3"
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)/pypy3/pypy-c /usr/bin/pypy3
dodoc README.rst
if ! use gdbm; then
rm -r "${ED%/}${INSDESTTREE}"/lib_pypy/gdbm.py \
"${ED%/}${INSDESTTREE}"/lib-python/*3/test/test_gdbm.py || die
fi
if ! use sqlite; then
rm -r "${ED%/}${INSDESTTREE}"/lib-python/*3/sqlite3 \
"${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py \
"${ED%/}${INSDESTTREE}"/lib-python/*3/test/test_sqlite.py || die
fi
if ! use tk; then
rm -r "${ED%/}${INSDESTTREE}"/lib-python/*3/{idlelib,tkinter} \
"${ED%/}${INSDESTTREE}"/lib_pypy/_tkinter \
"${ED%/}${INSDESTTREE}"/lib-python/*3/test/test_{tcl,tk,ttk*}.py || die
fi
# Install docs
#use doc && dohtml -r pypy/doc/_build/html/
einfo "Generating caches and byte-compiling ..."
local -x PYTHON=${ED%/}${INSDESTTREE}/pypy-c
local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
# we can't use eclass function since PyPy is dumb and always gives
# paths relative to the interpreter
local PYTHON_SITEDIR=${EPREFIX}/usr/$(get_libdir)/pypy3/site-packages
python_export pypy3 EPYTHON
echo "EPYTHON='${EPYTHON}'" > epython.py || die
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 cache
# Please keep in sync with pypy/tool/release/package.py!
"${PYTHON}" -c "import _curses" || die "Failed to import _curses (cffi)"
"${PYTHON}" -c "import syslog" || die "Failed to import syslog (cffi)"
if use gdbm; then
"${PYTHON}" -c "import _gdbm" || die "Failed to import gdbm (cffi)"
fi
if use sqlite; then
"${PYTHON}" -c "import _sqlite3" || die "Failed to import _sqlite3 (cffi)"
fi
if use tk; then
"${PYTHON}" -c "import _tkinter" || die "Failed to import _tkinter (cffi)"
fi
# 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}"
}

@ -54,13 +54,13 @@ IUSE="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
sys-libs/glibc:2.2
app-arch/bzip2:0=
dev-libs/expat:0=
dev-libs/libffi:0=
dev-libs/openssl:0=
sys-libs/glibc:2.2=
sys-libs/ncurses:0/6
sys-libs/zlib:0
sys-libs/zlib:0=
gdbm? ( sys-libs/gdbm:0= )
sqlite? ( dev-db/sqlite:3= )
tk? (
@ -68,9 +68,9 @@ RDEPEND="
dev-tcltk/tix:0=
)
!dev-python/pypy3:0"
DEPEND="app-arch/lzip
test? ( ${RDEPEND}
${PYTHON_DEPS} )"
DEPEND="${RDEPEND}
app-arch/lzip
test? ( ${PYTHON_DEPS} )"
# doc? ( ${PYTHON_DEPS}
# dev-python/sphinx )
PDEPEND="app-admin/python-updater"
@ -82,9 +82,20 @@ QA_PREBUILT="
usr/lib*/pypy3/libpypy-c.so"
src_prepare() {
epatch "${FILESDIR}/4.0.0-gentoo-path.patch" \
"${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" \
"${FILESDIR}/2.4.0-ncurses6.patch"
epatch \
"${FILESDIR}/4.0.0-gentoo-path.patch" \
"${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
epatch "${FILESDIR}/2.4.0-ncurses6.patch"
epatch "${FILESDIR}"/pypy3-2.4.0-libressl.patch
sed -e "s^@EPREFIX@^${EPREFIX}^" \
-e "s^@libdir@^$(get_libdir)^" \
-i lib-python/3/distutils/command/install.py || die
# apply CPython stdlib patches
pushd lib-python/3 > /dev/null || die
epatch "${FILESDIR}"/2.4.0-21_all_distutils_c++.patch
popd > /dev/null || die
epatch_user
}

@ -1,11 +0,0 @@
--- a/lib-python/3/distutils/command/install.py
+++ b/lib-python/3/distutils/command/install.py
@@ -87,7 +87,7 @@
'purelib': '$base/site-packages',
'platlib': '$base/site-packages',
'headers': '$base/include',
- 'scripts': '$base/bin',
+ 'scripts': '/usr/bin',
'data' : '$base',
},
}

@ -0,0 +1,251 @@
http://bugs.python.org/issue1222585
--- Lib/distutils/cygwinccompiler.py
+++ Lib/distutils/cygwinccompiler.py
@@ -136,9 +136,13 @@
self.set_executables(compiler='gcc -mcygwin -O -Wall',
compiler_so='gcc -mcygwin -mdll -O -Wall',
compiler_cxx='g++ -mcygwin -O -Wall',
+ compiler_so_cxx='g++ -mcygwin -mdll -O -Wall',
linker_exe='gcc -mcygwin',
linker_so=('%s -mcygwin %s' %
- (self.linker_dll, shared_option)))
+ (self.linker_dll, shared_option)),
+ linker_exe_cxx='g++ -mcygwin',
+ linker_so_cxx=('%s -mcygwin %s' %
+ (self.linker_dll, shared_option)))
# cygwin and mingw32 need different sets of libraries
if self.gcc_version == "2.91.57":
@@ -162,8 +166,12 @@
raise CompileError(msg)
else: # for other files use the C-compiler
try:
- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
- extra_postargs)
+ if self.detect_language(src) == 'c++':
+ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
+ extra_postargs)
+ else:
+ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
+ extra_postargs)
except DistutilsExecError as msg:
raise CompileError(msg)
@@ -294,10 +302,15 @@
self.set_executables(compiler='gcc -mno-cygwin -O -Wall',
compiler_so='gcc -mno-cygwin -mdll -O -Wall',
compiler_cxx='g++ -mno-cygwin -O -Wall',
+ compiler_so_cxx='g++ -mno-cygwin -mdll -O -Wall',
linker_exe='gcc -mno-cygwin',
linker_so='%s -mno-cygwin %s %s'
% (self.linker_dll, shared_option,
- entry_point))
+ entry_point),
+ linker_exe_cxx='g++ -mno-cygwin',
+ linker_so_cxx='%s -mno-cygwin %s %s'
+ % (self.linker_dll, shared_option,
+ entry_point))
# Maybe we should also append -mthreads, but then the finished
# dlls need another dll (mingwm10.dll see Mingw32 docs)
# (-mthreads: Support thread-safe exception handling on `Mingw32')
--- Lib/distutils/emxccompiler.py
+++ Lib/distutils/emxccompiler.py
@@ -63,8 +63,12 @@
# XXX optimization, warnings etc. should be customizable.
self.set_executables(compiler='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
compiler_so='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
+ compiler_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
+ compiler_so_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
linker_exe='gcc -Zomf -Zmt -Zcrtdll',
- linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll')
+ linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll',
+ linker_exe_cxx='g++ -Zomf -Zmt -Zcrtdll',
+ linker_so_cxx='g++ -Zomf -Zmt -Zcrtdll -Zdll')
# want the gcc library statically linked (so that we don't have
# to distribute a version dependent on the compiler we have)
@@ -81,8 +85,12 @@
raise CompileError(msg)
else: # for other files use the C-compiler
try:
- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
- extra_postargs)
+ if self.detect_language(src) == 'c++':
+ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
+ extra_postargs)
+ else:
+ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
+ extra_postargs)
except DistutilsExecError as msg:
raise CompileError(msg)
--- Lib/distutils/sysconfig_cpython.py
+++ Lib/distutils/sysconfig_cpython.py
@@ -170,9 +170,12 @@
_osx_support.customize_compiler(_config_vars)
_config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
- (cc, cxx, opt, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags) = \
- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
- 'CCSHARED', 'LDSHARED', 'SHLIB_SUFFIX', 'AR', 'ARFLAGS')
+ (cc, cxx, ccshared, ldshared, ldcxxshared, shlib_suffix, ar, ar_flags) = \
+ get_config_vars('CC', 'CXX', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED',
+ 'SHLIB_SUFFIX', 'AR', 'ARFLAGS')
+
+ cflags = ''
+ cxxflags = ''
newcc = None
if 'CC' in os.environ:
@@ -181,19 +184,27 @@
cxx = os.environ['CXX']
if 'LDSHARED' in os.environ:
ldshared = os.environ['LDSHARED']
+ if 'LDCXXSHARED' in os.environ:
+ ldcxxshared = os.environ['LDCXXSHARED']
if 'CPP' in os.environ:
cpp = os.environ['CPP']
else:
cpp = cc + " -E" # not always
if 'LDFLAGS' in os.environ:
ldshared = ldshared + ' ' + os.environ['LDFLAGS']
+ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
if 'CFLAGS' in os.environ:
- cflags = opt + ' ' + os.environ['CFLAGS']
+ cflags = os.environ['CFLAGS']
ldshared = ldshared + ' ' + os.environ['CFLAGS']
+ if 'CXXFLAGS' in os.environ:
+ cxxflags = os.environ['CXXFLAGS']
+ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
if 'CPPFLAGS' in os.environ:
cpp = cpp + ' ' + os.environ['CPPFLAGS']
cflags = cflags + ' ' + os.environ['CPPFLAGS']
+ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
+ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
if 'AR' in os.environ:
ar = os.environ['AR']
if 'ARFLAGS' in os.environ:
@@ -202,13 +213,17 @@
archiver = ar + ' ' + ar_flags
cc_cmd = cc + ' ' + cflags
+ cxx_cmd = cxx + ' ' + cxxflags
compiler.set_executables(
preprocessor=cpp,
compiler=cc_cmd,
compiler_so=cc_cmd + ' ' + ccshared,
- compiler_cxx=cxx,
+ compiler_cxx=cxx_cmd,
+ compiler_so_cxx=cxx_cmd + ' ' + ccshared,
linker_so=ldshared,
linker_exe=cc,
+ linker_so_cxx=ldcxxshared,
+ linker_exe_cxx=cxx,
archiver=archiver)
compiler.shared_lib_extension = shlib_suffix
--- Lib/distutils/unixccompiler.py
+++ Lib/distutils/unixccompiler.py
@@ -52,14 +52,17 @@
# are pretty generic; they will probably have to be set by an outsider
# (eg. using information discovered by the sysconfig about building
# Python extensions).
- executables = {'preprocessor' : None,
- 'compiler' : ["cc"],
- 'compiler_so' : ["cc"],
- 'compiler_cxx' : ["cc"],
- 'linker_so' : ["cc", "-shared"],
- 'linker_exe' : ["cc"],
- 'archiver' : ["ar", "-cr"],
- 'ranlib' : None,
+ executables = {'preprocessor' : None,
+ 'compiler' : ["cc"],
+ 'compiler_so' : ["cc"],
+ 'compiler_cxx' : ["c++"],
+ 'compiler_so_cxx' : ["c++"],
+ 'linker_so' : ["cc", "-shared"],
+ 'linker_exe' : ["cc"],
+ 'linker_so_cxx' : ["c++", "-shared"],
+ 'linker_exe_cxx' : ["c++"],
+ 'archiver' : ["ar", "-cr"],
+ 'ranlib' : None,
}
if sys.platform[:6] == "darwin":
@@ -108,12 +111,19 @@
def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
compiler_so = self.compiler_so
+ compiler_so_cxx = self.compiler_so_cxx
if sys.platform == 'darwin':
compiler_so = _osx_support.compiler_fixup(compiler_so,
cc_args + extra_postargs)
+ compiler_so_cxx = _osx_support.compiler_fixup(compiler_so_cxx,
+ cc_args + extra_postargs)
try:
- self.spawn(compiler_so + cc_args + [src, '-o', obj] +
- extra_postargs)
+ if self.detect_language(src) == 'c++':
+ self.spawn(compiler_so_cxx + cc_args + [src, '-o', obj] +
+ extra_postargs)
+ else:
+ self.spawn(compiler_so + cc_args + [src, '-o', obj] +
+ extra_postargs)
except DistutilsExecError as msg:
raise CompileError(msg)
@@ -171,22 +181,16 @@
ld_args.extend(extra_postargs)
self.mkpath(os.path.dirname(output_filename))
try:
- if target_desc == CCompiler.EXECUTABLE:
- linker = self.linker_exe[:]
+ if target_lang == "c++":
+ if target_desc == CCompiler.EXECUTABLE:
+ linker = self.linker_exe_cxx[:]
+ else:
+ linker = self.linker_so_cxx[:]
else:
- linker = self.linker_so[:]
- if target_lang == "c++" and self.compiler_cxx:
- # skip over environment variable settings if /usr/bin/env
- # is used to set up the linker's environment.
- # This is needed on OSX. Note: this assumes that the
- # normal and C++ compiler have the same environment
- # settings.
- i = 0
- if os.path.basename(linker[0]) == "env":
- i = 1
- while '=' in linker[i]:
- i += 1
- linker[i] = self.compiler_cxx[i]
+ if target_desc == CCompiler.EXECUTABLE:
+ linker = self.linker_exe[:]
+ else:
+ linker = self.linker_so[:]
if sys.platform == 'darwin':
linker = _osx_support.compiler_fixup(linker, ld_args)
--- Lib/_osx_support.py
+++ Lib/_osx_support.py
@@ -14,13 +14,13 @@
# configuration variables that may contain universal build flags,
# like "-arch" or "-isdkroot", that may need customization for
# the user environment
-_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS', 'BASECFLAGS',
- 'BLDSHARED', 'LDSHARED', 'CC', 'CXX',
- 'PY_CFLAGS', 'PY_LDFLAGS', 'PY_CPPFLAGS',
- 'PY_CORE_CFLAGS')
+_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'CXXFLAGS', 'LDFLAGS', 'CPPFLAGS',
+ 'BASECFLAGS', 'BLDSHARED', 'LDSHARED', 'LDCXXSHARED',
+ 'CC', 'CXX', 'PY_CFLAGS', 'PY_LDFLAGS',
+ 'PY_CPPFLAGS', 'PY_CORE_CFLAGS')
# configuration variables that may contain compiler calls
-_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'CC', 'CXX')
+_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'LDCXXSHARED', 'CC', 'CXX')
# prefix added to original configuration variable names
_INITPRE = '_OSX_SUPPORT_INITIAL_'

@ -50,9 +50,9 @@ pkg_pretend() {
CHECKREQS_MEMORY="3G"
use amd64 && CHECKREQS_MEMORY="6G"
fi
fi
check-reqs_pkg_pretend
check-reqs_pkg_pretend
fi
}
pkg_setup() {
@ -83,6 +83,15 @@ src_prepare() {
epatch "${FILESDIR}/2.4.0-ncurses6.patch"
epatch "${FILESDIR}"/${PN}-2.4.0-libressl.patch
sed -e "s^@EPREFIX@^${EPREFIX}^" \
-e "s^@libdir@^$(get_libdir)^" \
-i lib-python/3/distutils/command/install.py || die
# apply CPython stdlib patches
pushd lib-python/3 > /dev/null || die
epatch "${FILESDIR}"/2.4.0-21_all_distutils_c++.patch
popd > /dev/null || die
epatch_user
}

@ -1,231 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
# pypy3 needs to be built using python 2
PYTHON_COMPAT=( python2_7 pypy )
inherit check-reqs eutils multilib multiprocessing pax-utils \
python-any-r1 toolchain-funcs versionator
DESCRIPTION="A fast, compliant alternative implementation of Python 3"
HOMEPAGE="http://pypy.org/"
SRC_URI="https://bitbucket.org/pypy/pypy/downloads/${P}-src.tar.bz2"
LICENSE="MIT"
SLOT="0/$(get_version_component_range 1-2 ${PV})"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="bzip2 gdbm +jit libressl low-memory ncurses sandbox +shadowstack sqlite cpu_flags_x86_sse2 tk"
RDEPEND=">=sys-libs/zlib-1.1.3:0=
virtual/libffi:0=
virtual/libintl:0=
dev-libs/expat:0=
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
bzip2? ( app-arch/bzip2:0= )
gdbm? ( sys-libs/gdbm:0= )
ncurses? ( =sys-libs/ncurses-5*:0= )
sqlite? ( dev-db/sqlite:3= )
tk? (
dev-lang/tk:0=
dev-tcltk/tix:0=
)
!dev-python/pypy3-bin:0"
DEPEND="${RDEPEND}
low-memory? ( virtual/pypy:0 )
!low-memory? ( ${PYTHON_DEPS} )"
# doc? ( dev-python/sphinx )
PDEPEND="app-admin/python-updater"
S="${WORKDIR}/${P}-src"
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]]; then
if use low-memory; then
CHECKREQS_MEMORY="1750M"
use amd64 && CHECKREQS_MEMORY="3500M"
else
CHECKREQS_MEMORY="3G"
use amd64 && CHECKREQS_MEMORY="6G"
fi
fi
check-reqs_pkg_pretend
}
pkg_setup() {
if [[ ${MERGE_TYPE} != binary ]]; then
pkg_pretend
# unset to allow forcing pypy below :)
use low-memory && local EPYTHON=
if python_is_installed pypy && [[ ! ${EPYTHON} || ${EPYTHON} == pypy ]]; then
einfo "Using PyPy to perform the translation."
local EPYTHON=pypy
else
einfo "Using ${EPYTHON:-python2} to perform the translation. Please note that upstream"
einfo "recommends using PyPy for that. If you wish to do so, please install"
einfo "virtual/pypy and ensure that EPYTHON variable is unset."
fi
python-any-r1_pkg_setup
fi
}
src_prepare() {
epatch \
"${FILESDIR}"/${P}-gcc-4.9.patch \
"${FILESDIR}/1.9-scripts-location.patch" \
"${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch" \
"${FILESDIR}"/2.3.1-shared-lib.patch # 517002
epatch "${FILESDIR}"/${PN}-2.4.0-libressl.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 cpu_flags_x86_sse2; then
jit_backend+=x86
else
jit_backend+=x86-without-sse2
fi
else
jit_backend+=auto
fi
fi
local args=(
--shared
$(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
local interp=( "${PYTHON}" )
if use low-memory; then
interp=( env PYPY_GC_MAX_DELTA=200MB
"${PYTHON}" --jit loop_longevity=300 )
fi
set -- "${interp[@]}" rpython/bin/rpython --batch "${args[@]}"
echo -e "\033[1m${@}\033[0m"
"${@}" || die "compile error"
# Exception occurred:
# File "/tmp/1/pypy3-2.4.0-src/pypy/config/makerestdoc.py", line 199, in config_role
# assert txt.check()
# AssertionError
#use doc && emake -C pypy/doc/ html
pax-mark m "${ED%/}${INSDESTTREE}/pypy-c"
}
src_test() {
# (unset)
local -x PYTHONDONTWRITEBYTECODE
# Test runner requires Python 2 too. However, it spawns PyPy3
# internally so that we end up testing the correct interpreter.
"${PYTHON}" ./pypy/test_all.py --pypy=./pypy-c lib-python || die
}
src_install() {
einfo "Installing PyPy ..."
insinto "/usr/$(get_libdir)/pypy3"
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)/pypy3/pypy-c /usr/bin/pypy3
dodoc README.rst
if ! use gdbm; then
rm -r "${ED%/}${INSDESTTREE}"/lib_pypy/gdbm.py \
"${ED%/}${INSDESTTREE}"/lib-python/*3/test/test_gdbm.py || die
fi
if ! use sqlite; then
rm -r "${ED%/}${INSDESTTREE}"/lib-python/*3/sqlite3 \
"${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py \
"${ED%/}${INSDESTTREE}"/lib-python/*3/test/test_sqlite.py || die
fi
if ! use tk; then
rm -r "${ED%/}${INSDESTTREE}"/lib-python/*3/{idlelib,tkinter} \
"${ED%/}${INSDESTTREE}"/lib_pypy/_tkinter \
"${ED%/}${INSDESTTREE}"/lib-python/*3/test/test_{tcl,tk,ttk*}.py || die
fi
# Install docs
#use doc && dohtml -r pypy/doc/_build/html/
einfo "Generating caches and byte-compiling ..."
local -x PYTHON=${ED%/}${INSDESTTREE}/pypy-c
local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
# we can't use eclass function since PyPy is dumb and always gives
# paths relative to the interpreter
local PYTHON_SITEDIR=${EPREFIX}/usr/$(get_libdir)/pypy3/site-packages
python_export pypy3 EPYTHON
echo "EPYTHON='${EPYTHON}'" > epython.py || die
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 cache
# Please keep in sync with pypy/tool/release/package.py!
"${PYTHON}" -c "import syslog" || die "Failed to import syslog (cffi)"
if use gdbm; then
"${PYTHON}" -c "import _gdbm" || die "Failed to import gdbm (cffi)"
fi
if use ncurses; then
"${PYTHON}" -c "import _curses" || die "Failed to import _curses (cffi)"
fi
if use sqlite; then
"${PYTHON}" -c "import _sqlite3" || die "Failed to import _sqlite3 (cffi)"
fi
if use tk; then
"${PYTHON}" -c "import _tkinter" || die "Failed to import _tkinter (cffi)"
fi
# 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}"
}

@ -9,22 +9,24 @@ PYTHON_COMPAT=( python2_7 pypy )
EHG_PROJECT="pypy"
EHG_REPO_URI="https://bitbucket.org/pypy/pypy"
EHG_REVISION="py3k"
inherit check-reqs eutils mercurial multilib multiprocessing pax-utils python-any-r1 toolchain-funcs versionator
inherit check-reqs eutils mercurial multilib multiprocessing pax-utils \
python-any-r1 toolchain-funcs versionator
DESCRIPTION="A fast, compliant alternative implementation of the Python language"
DESCRIPTION="A fast, compliant alternative implementation of Python 3"
HOMEPAGE="http://pypy.org/"
SRC_URI=""
LICENSE="MIT"
SLOT="0/$(get_version_component_range 1-2 ${PV})"
KEYWORDS=""
IUSE="bzip2 gdbm +jit low-memory ncurses sandbox +shadowstack sqlite cpu_flags_x86_sse2 test tk"
IUSE="bzip2 gdbm +jit libressl low-memory ncurses sandbox +shadowstack sqlite cpu_flags_x86_sse2 tk"
RDEPEND=">=sys-libs/zlib-1.1.3:0=
virtual/libffi:0=
virtual/libintl:0=
dev-libs/expat:0=
dev-libs/openssl:0=[-bindist]
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
bzip2? ( app-arch/bzip2:0= )
gdbm? ( sys-libs/gdbm:0= )
ncurses? ( sys-libs/ncurses:0= )

@ -20,11 +20,12 @@ IUSE="debug doc examples svg"
RDEPEND="
x11-libs/qwt:5[svg?]
dev-python/PyQt4[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]"
DEPEND="${DEPEND}
dev-python/sip[${PYTHON_USEDEP}]
~dev-python/PyQt4-4.11.1[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
DEPEND="${DEPEND}
dev-python/sip[${PYTHON_USEDEP}]"
S="${WORKDIR}/${MY_P}/configure"

@ -1,3 +1,4 @@
DIST python-keystoneclient-1.3.1.tar.gz 338187 SHA256 8a421dbdf01251119164bf6baa0ef78b261e5dd4d3508748e47b77d7652e7e92 SHA512 d11825b717d0aeec67d4dfb0382173ee834fe3dea2097b8ff9505b86bb08a5579d6fe87509d65022d4436a3a1b4d20f2a877ece3160b53979999495b77df0f08 WHIRLPOOL 9aa0af722f56eb4d98d7efb8a35b1db95207970fba0b32496a9ae4593a16471f976efe1e9bb3690106ec0f5a76b5a744e9177cc7c03d9ffe9ed54111e3bb138c
DIST python-keystoneclient-1.3.2.tar.gz 342434 SHA256 1b2fd5ceeefd8d75ee749acd2c3dd8805c833c89828075b814392069cd5ae1eb SHA512 4cd986c42256fbc366b81c07ab637fe81358dde530a8e9a5b3f59f4deef5d56fb1799fc82d35a3f04d3e3b810c94bfc21235e93a77c925d235322aeaa20e420c WHIRLPOOL 65b776c928126f92108c1585658a10b89e6563ff8e71f8f249fdb86e11b29811de12b17ddddb39845d66ff9533ae44d93148bd811d1e31577092c3b598348c03
DIST python-keystoneclient-1.7.3.tar.gz 355578 SHA256 805a317c92cd8700a4733ee80f383b2187de75aeb8e9895015799628df97c68f SHA512 36682247de6c6afee2e0cdf35115b4e6adc4bafef05311337e3299f97a8608a967ca537e8aeaea2e030344a7a8a103c627ff7d118c96c75ac1d169e1bc53d1af WHIRLPOOL 91f6744ea96f8343f1e6665e6db4159fa7d48e9cbc891a8c14aa5bd2165437f9d242f3ee9c960502fda0e26ab1669abec4b32f12be1c79626fe67f6bf25c2137
DIST python-keystoneclient-1.7.4.tar.gz 356596 SHA256 0bcf562831c4552851f1fa5562f068efd339186a746baae1786498917dc78803 SHA512 c5190e874804baa41f7a4f816eaf974dea943dfbf008a0c66893113168747ffd3910a87dc63edce7f6d4b52ceb5f6f255383a2d88d79a50f4d75d337b3421b46 WHIRLPOOL 172193536486edac34c709355e09e0a1eba9e794f483134c4fa1c33d965f26c573012bc60006dbe707f4267b4f807fade509d67ab56cde3d0285e0cf5a9e0831

@ -0,0 +1,99 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python{2_7,3_{3,4,5}} )
inherit distutils-r1
DESCRIPTION="Client Library for OpenStack Identity"
HOMEPAGE="http://www.openstack.org/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples test"
# Note: blacklist version not in portage:
#doc? ( !~dev-python/sphinx-1.3_preb1[${PYTHON_USEDEP}] )
CDEPEND="
>=dev-python/pbr-1.6[${PYTHON_USEDEP}]"
TCDEPEND="
>=dev-python/lxml-2.3[${PYTHON_USEDEP}]
>=dev-python/mock-1.2[${PYTHON_USEDEP}]
>=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
>=dev-python/tempest-lib-0.8.0[${PYTHON_USEDEP}]
>=dev-python/testresources-0.2.4[${PYTHON_USEDEP}]
>=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
>=dev-python/bandit-0.13.2[${PYTHON_USEDEP}]
"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
${CDEPEND}
test? (
${TCDEPEND}
>=dev-python/coverage-3.6[${PYTHON_USEDEP}]
>=dev-python/keyring-2.1[${PYTHON_USEDEP}]
!~dev-python/keyring-3.3[${PYTHON_USEDEP}]
>=dev-python/oauthlib-0.6[${PYTHON_USEDEP}]
>=dev-python/oslotest-1.10.0[${PYTHON_USEDEP}]
>=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
>=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
>=dev-python/testtools-1.4.0[${PYTHON_USEDEP}]
)
doc? (
${TCDEPEND}
>=dev-python/fixtures-1.3.1[${PYTHON_USEDEP}]
>=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
>=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
!~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
<dev-python/sphinx-1.3[${PYTHON_USEDEP}]
)
"
RDEPEND="
${CDEPEND}
>=dev-python/Babel-1.3[${PYTHON_USEDEP}]
>=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
>=dev-python/debtcollector-0.3.0[${PYTHON_USEDEP}]
>=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
!~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
>=dev-python/oslo-config-2.3.0[${PYTHON_USEDEP}]
>=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
>=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
>=dev-python/oslo-utils-2.0.0[${PYTHON_USEDEP}]
!~dev-python/oslo-utils-2.6.0[${PYTHON_USEDEP}]
>=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
<dev-python/prettytable-0.8[${PYTHON_USEDEP}]
>=dev-python/requests-2.5.2[${PYTHON_USEDEP}]
!~dev-python/requests-2.8.0[${PYTHON_USEDEP}]
!~dev-python/requests-2.9.0[${PYTHON_USEDEP}]
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
>=dev-python/stevedore-1.5.0[${PYTHON_USEDEP}]
"
PATCHES=(
)
python_prepare_all() {
use doc && esetup.py build_sphinx
sed -i '/^argparse/d' requirements.txt || die
sed -i '/^hacking/d' test-requirements.txt || die
distutils-r1_python_prepare_all
}
python_test() {
rm -rf .testrepository || die "couldn't remove '.testrepository' under ${EPYTHON}"
testr init || die "testr init failed under ${EPYTHON}"
testr run || die "testr run failed under ${EPYTHON}"
}
python_install_all() {
use doc && local HTML_DOCS=( doc/build/html/. )
use examples && local EXAMPLES=( examples/. )
distutils-r1_python_install_all
}

@ -4,7 +4,7 @@
EAPI=5
USE_RUBY="ruby20 ruby21"
USE_RUBY="ruby20 ruby21 ruby22"
RUBY_FAKEGEM_TASK_DOC=""
RUBY_FAKEGEM_EXTRADOC="CHANGELOG Readme.md"
@ -22,7 +22,7 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
ruby_add_bdepend "test? ( dev-ruby/activerecord dev-ruby/protected_attributes dev-ruby/bundler )"
ruby_add_bdepend "test? ( dev-ruby/activerecord dev-ruby/bundler )"
all_ruby_prepare() {
rm Gemfile.lock || die

@ -1,3 +1,2 @@
DIST gettext_i18n_rails-1.3.1.tar.gz 20261 SHA256 d50193878e7b8eee61ba48fe33c10f7eed28afdcb7e500dd135743cbc9ffd72f SHA512 761c941aa4d4a746067b84c703b7ca661af3229a2886113a0c5beb1872efd5e74dae7bcf0c6bb476078e636835d19a66e93c8c9c7850024c4ca025e153f1b708 WHIRLPOOL 0b865211641224a5dfc6e76e88297fc2cc8576789a099ca65bc3deefb95318313ec8bae24070fde65c0cd219402cc928265b7ef626435836d3fa8e908ad4ece4
DIST gettext_i18n_rails-1.3.2.tar.gz 20260 SHA256 7c11f3a1d6d9ae394fd77070013a4fa19330bf4b203a7972d651d2ca2b9056de SHA512 04412b5e6b7389b3882d33385fbec22de7c61cd93e4cc7bc09c2bb4afb5d61d08e4c513e17aac18cf250f8efe12c6362633f9722f0e335bb9913484ce7abca15 WHIRLPOOL c96c23242a5ffc03d7e929bf1e05d12a41a8f01957efaebfbad122df842e212b2f6f306125b2047a2366328181fe40959c9fabf3b672bfc8074f8b9f1d6fb785
DIST gettext_i18n_rails-1.4.0.tar.gz 21787 SHA256 456f80d679437347cd2a9c516b442302dc93d8776d6503512dff03bdbceda54e SHA512 c6455acafbc498ba33703b028b54c30c15ee8454274677eb5dbe402354e178a880d53840d7c7b8f0e1a5a3212184f93043f7df2ab743955c8a869c79a16d4679 WHIRLPOOL ffa186594756a51dadd834e83788e630090bd1a9563e27accf86e5c187908a999d77188963b2b5b2cf9874c2fecf8add7a21b97b453023329d99b3acc529f973
DIST gettext_i18n_rails-1.5.0.tar.gz 21841 SHA256 7797598d06b2cee4dc12db4ca0f7c11f966d58b8bdd4337caff0a6ddc5813317 SHA512 ce962315b912c0978d4637aa451644186c5159aa529a4e12e7906e3d7cf1d5e9ff81bda33effd2947a22eff53d1bc51560ca682b95b98782f8d6d180d8d633c9 WHIRLPOOL 77e501274e0aceb1b2ee219623b17cd1868c9099c30760c840df04b492c3adc335042a1a717ed34e2ec44d418d928bb3574a7c508d2d940f6e148ccf82ad7f56

@ -1,36 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
USE_RUBY="ruby20 ruby21"
RUBY_FAKEGEM_TASK_DOC=""
RUBY_FAKEGEM_EXTRADOC="Readme.md"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
inherit ruby-fakegem
DESCRIPTION="FastGettext / Rails integration"
HOMEPAGE="https://github.com/grosser/gettext_i18n_rails"
SRC_URI="https://github.com/grosser/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="public-domain"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
ruby_add_bdepend "test? ( dev-ruby/rails:4.1 dev-ruby/activerecord:4.1[sqlite] dev-ruby/temple )"
ruby_add_rdepend ">=dev-ruby/fast_gettext-0.9.0"
all_ruby_prepare() {
rm Gemfile Gemfile.lock || die
# Remove specs for slim and hamlet, template engines we don't package.
rm spec/gettext_i18n_rails/slim_parser_spec.rb spec/gettext_i18n_rails/haml_parser_spec.rb || die
# Test against Rails 4.1.0 to match keywords.
sed -e '1igem "rails", "~>4.1.0"' -i spec/spec_helper.rb || die
}

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -22,7 +22,7 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
ruby_add_bdepend "test? ( dev-ruby/rails:4.1 dev-ruby/activerecord:4.1[sqlite] dev-ruby/temple )"
ruby_add_bdepend "test? ( dev-ruby/rails:4.2 dev-ruby/activerecord:4.2[sqlite] dev-ruby/temple )"
ruby_add_rdepend ">=dev-ruby/fast_gettext-0.9.0"
all_ruby_prepare() {
@ -31,6 +31,6 @@ all_ruby_prepare() {
# Remove specs for slim and hamlet, template engines we don't package.
rm spec/gettext_i18n_rails/slim_parser_spec.rb spec/gettext_i18n_rails/haml_parser_spec.rb || die
# Test against Rails 4.1.0
sed -e '1igem "rails", "~>4.1.0"' -i spec/spec_helper.rb || die
# Test against Rails 4.2.0
sed -e '1igem "rails", "~>4.2.0"' -i spec/spec_helper.rb || die
}

@ -1,3 +1 @@
DIST hiera-eyaml-2.0.6.gem 27136 SHA256 f8d570650647a176546563967ca2f257cb0835a698f79863e36a1d48939c567c SHA512 50d8d67b9d56d7f56b1e0f029638416489f8f990fa6154003269543d34a9bcc5dbcb58f79be16eecc21e875f1badded8492dfb2b80cd1cb0931837b62129db28 WHIRLPOOL dfda7e6726bf75d8794faa2f95a3f74086d2e690a9d1a02b287794ce24dad36d7dd5547f5c55ce9757260b9a60dcd7cc4f77d7146d4b8b9bf224a6bec5418b77
DIST hiera-eyaml-2.0.7.tar.gz 44480 SHA256 bec3086448c091e61a8f3ed30317a4839ce05659bc99d8eb371019fd3ed63d98 SHA512 f68aa9322799b956178839885352867dbf7332f04d7b0e80d5ba683ddc523885491f693cdf3887bd35dae76fa3c1d96c192ded7e1b216cc4cef5c02c40d8e26e WHIRLPOOL 4a67c04d061c170796aaf8763cfd4312300be4ae896de4c594815816e89813c49d9454aa48cb2c5958a2f62add2eccfc935799adcebfbe6a3847c89e89634f35
DIST hiera-eyaml-2.0.8.tar.gz 44914 SHA256 232257c4fce926cd814992ab8c369ee5748bf68a2499216917ac0fb77fa1573c SHA512 2b7b51f88de1d21f3773f29ed87eb4ea241805efd474340b6b33ed431625b57e118e2335b3f6617cbe8b27745a9f1615aa8d1dbfa1b34c0e9f663a26691938a9 WHIRLPOOL 093cee0ed76f93903adc9f88c8a657ecd3f3581e55508c583114312ac7e2b59810ab5f6fa26a9a943b451ef4e41623e4d3be329917b7e488fac10aa74017db69

@ -1,22 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
USE_RUBY="ruby19 ruby20 ruby21"
RUBY_FAKEGEM_TASK_DOC=""
RUBY_FAKEGEM_EXTRADOC="README.md CHANGES.md PLUGINS.md"
inherit ruby-fakegem
DESCRIPTION="Encrypted YAML backend for hiera"
HOMEPAGE="https://github.com/TomPoulton/hiera-eyaml"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
ruby_add_rdepend "dev-ruby/highline"
ruby_add_rdepend "dev-ruby/trollop"

@ -1,38 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
USE_RUBY="ruby19 ruby20 ruby21"
RUBY_FAKEGEM_TASK_DOC=""
RUBY_FAKEGEM_EXTRADOC="README.md CHANGES.md PLUGINS.md"
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
inherit ruby-fakegem
DESCRIPTION="Encrypted YAML backend for hiera"
HOMEPAGE="https://github.com/TomPoulton/hiera-eyaml"
SRC_URI="https://github.com/TomPoulton/hiera-eyaml/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
ruby_add_rdepend ">=dev-ruby/highline-1.6.19"
ruby_add_rdepend "dev-ruby/trollop:2"
ruby_add_bdepend "test? ( dev-util/cucumber dev-util/aruba app-admin/puppet dev-ruby/hiera-eyaml-plaintext )"
all_ruby_prepare() {
# Fix highline dependency to be compatible with more versions.
sed -i -e '/highline/ s/~>/>=/' \
-e '/gem.files/d' ${RUBY_FAKEGEM_GEMSPEC} || die
}
each_ruby_test() {
${RUBY} -S cucumber --format progress features || die
}

@ -1,2 +1,2 @@
DIST twitter-text-1.13.0.gem 44544 SHA256 11c44fabb6f3a3c298f614328ed6ae7f42e14c46d87c01191599b8e2d428205b SHA512 bfd4315e827149a6a7c34ad26fe6026fd17ebca39557edbab0dfe59380f14528f927c7b9332f28e24cf6a12e00b703b9edb94122fae60757f179f1a71a0e2ea7 WHIRLPOOL a981da96b7b4b27d48159e5d62899d753974b0e3fe53b4bfa31929ee170ee70ce60f011141a3234b9657bf9686938e368cfbf7575c74052078ab576ce9566425
DIST twitter-text-1.13.3.gem 44544 SHA256 fa526bf9ec6acd67ec28cd8047be4f37e56b949c413ba1fd27680d6c6d765636 SHA512 263ec8c1ca418a733019e0a96b68dfc7a8af461a5d363f3c28ff46e0d28e1454163f139dfe73a0d95d451c22de41eabbaf726a5532006391e5028567707d4048 WHIRLPOOL 30b272b494a48b405b6e7ead138b12473de57e5439cfc079cc8c8b7b798a94d80f3f65d184094eca667364523633990d94a510bb642ecfc9bf8f0f296999bae2
DIST twitter-text-1.13.4.gem 44544 SHA256 fec0db6f459002c1cbc6168dff53534e273029c60ae690451083b230d700e99d SHA512 e865246c41659a9479958e715c971cacb83e0787dc541b57154084dfd853b1fc72705bb71d50d58afe1d6ea62ff684b356d22d20065d4595f7c6f5fe65dca997 WHIRLPOOL 8a49b5f641b0b7cc0b8ca47691f945618137d22ca682063a922e782374e417e46bc0866e71cd8d2504d7360e1bff3d750b211eb3993cf6cc5c6cc78b94e726fa

@ -1,9 +1,9 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
USE_RUBY="ruby19 ruby20 ruby21 ruby22"
USE_RUBY="ruby20 ruby21 ruby22"
RUBY_FAKEGEM_RECIPE_TEST="rspec"
@ -22,8 +22,10 @@ IUSE=""
ruby_add_rdepend "=dev-ruby/unf-0.1*"
ruby_add_bdepend "test? ( >=dev-ruby/nokogiri-1.5.10 )"
ruby_add_bdepend "test? ( >=dev-ruby/multi_json-1.3
>=dev-ruby/nokogiri-1.5.10 )"
all_ruby_prepare() {
sed -i -e 's/2.14.0/2.14/' twitter-text.gemspec || die
sed -i -e '/simplecov/,/end/ s:^:#:' spec/spec_helper.rb || die
}

@ -1,2 +1,3 @@
DIST biblatex-3.1.tds.tgz 18983013 SHA256 96280c084f7f1a5ccde679130f80ae0b7e43265aa51b0ea083caadd01c5ec7d1 SHA512 62a4be3d875f70987c2faf83b7558b46ae936ef4e52afa357a2ac80a65afc15dfd783c1a4a4e140d9aa906bb49153ddec2b4e8233ed2d2a26599468190cde951 WHIRLPOOL 5e75313543b5b36a18e593dda68e3c655142e378877bb74513406ca6515a3d8eea5d67ef802594834a766af270d44e23d9f887f8d71e66e6fc8948c6180af864
DIST biblatex-3.2.tds.tgz 18986441 SHA256 b2eeface82991a8f6b3a37d42324ebaf5912768f33b059378df607657aca8ec1 SHA512 a2a1aa4a35199d6ab9684e456889816e1bd7df3fe63fe2bcf9c5071bc4e104a2f42d16290c424ba3e501f57b183c2ecef8b1358064cc01cd95ac2a58f68d00ae WHIRLPOOL 3e9f9e63e739aa95b430170fb48882e5cf88e840e6458e7b1a63e885d38364896b32171d7fe38f052f46ac3edc8da9755fb95cee4506541faca7e5f42d3309b2
DIST biblatex-3.3.tds.tgz 19277161 SHA256 23caae5a4d4e89c47adf263f67329bc733d9046b0b8fc18aace963b00701d3a0 SHA512 530b2e910c70b2204d3c6cac65324472d92782196234d5b74e672250448e60ca67436e9bcfd7f34bb31aa0490156e5984081f7af959da9941ab4af3ec7857c99 WHIRLPOOL 3ea7e3d8dc0351d03434931d050940ac6107ba554050c206774cecc7c7b563bc18591717407c397777c8990777e8977f624d8e238ac9356af166a5243a7a89a5

@ -0,0 +1,35 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit latex-package
DESCRIPTION="Reimplementation of the bibliographic facilities provided by LaTeX"
HOMEPAGE="http://www.ctan.org/tex-archive/macros/latex/contrib/biblatex https://github.com/plk/biblatex/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tds.tgz"
LICENSE="LPPL-1.3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc examples"
RDEPEND="dev-texlive/texlive-bibtexextra
dev-texlive/texlive-latexextra"
DEPEND="${RDEPEND}"
S=${WORKDIR}
TEXMF=/usr/share/texmf-site
src_install() {
insinto "${TEXMF}"
doins -r bibtex tex
dodoc doc/latex/biblatex/{README,RELEASE}
use doc && { pushd doc/ ; latex-package_src_doinstall doc ; popd ; }
if use examples ; then
docinto examples
dodoc -r doc/latex/biblatex/examples
fi
}

@ -0,0 +1,119 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
if [[ ${PV} == *9999* ]]; then
SRC_ECLASS="git-2"
EGIT_REPO_URI="anongit.gentoo.org/proj/catalyst.git"
EGIT_MASTER="master"
S="${WORKDIR}/${PN}"
else
SRC_URI="mirror://gentoo/${P}.tar.bz2
https://dev.gentoo.org/~jmbsvicetto/distfiles/${P}.tar.bz2
https://dev.gentoo.org/~mattst88/distfiles/${P}.tar.bz2
https://dev.gentoo.org/~zerochaos/distfiles/${P}.tar.bz2
https://dev.gentoo.org/~dolsen/releases/catalyst/${P}.tar.bz2"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
fi
PYTHON_COMPAT=( python2_7 )
inherit eutils multilib python-single-r1 ${SRC_ECLASS}
DESCRIPTION="Release metatool used for creating releases based on Gentoo Linux"
HOMEPAGE="https://www.gentoo.org/proj/en/releng/catalyst/"
LICENSE="GPL-2"
SLOT="0"
IUSE="ccache kernel_linux"
DEPEND="
app-text/asciidoc
${PYTHON_DEPS}
"
RDEPEND="
app-arch/lbzip2
app-crypt/shash
app-arch/tar[xattr]
virtual/cdrtools
amd64? ( >=sys-boot/syslinux-3.72 )
ia64? ( sys-fs/dosfstools )
x86? ( >=sys-boot/syslinux-3.72 )
ccache? ( dev-util/ccache )
kernel_linux? ( app-misc/zisofs-tools >=sys-fs/squashfs-tools-2.1 )
${PYTHON_DEPS}
"
REQUIRED_USE=${PYTHON_REQUIRED_USE}
PATCHES=(
"${FILESDIR}/catalyst-2.0.18-Do-notuntarwith--acls.patch"
"${FILESDIR}/catalyst-2.0.18-fix-quotes.patch"
)
pkg_setup() {
if use ccache ; then
einfo "Enabling ccache support for catalyst."
else
ewarn "By default, ccache support for catalyst is disabled."
ewarn "If this is not what you intended,"
ewarn "then you should add ccache to your USE."
fi
echo
einfo "The template spec files are now installed by default. You can find"
einfo "them under /usr/share/doc/${PF}/examples"
einfo "and they are considered to be the authorative source of information"
einfo "on catalyst."
echo
python-single-r1_pkg_setup
}
src_prepare() {
epatch "${PATCHES[@]}"
}
src_install() {
insinto /usr/$(get_libdir)/${PN}
exeinto /usr/$(get_libdir)/${PN}
doexe catalyst || die "copying catalyst"
if [[ ${PV} == 3.9999* ]]; then
doins -r modules files || die "copying files"
else
doins -r arch modules livecd || die "copying files"
fi
for x in targets/*; do
exeinto /usr/$(get_libdir)/${PN}/$x
doexe $x/* || die "copying ${x}"
done
# Here is where we actually enable ccache
use ccache && \
sed -i -e 's:options="autoresume kern:options="autoresume ccache kern:' \
files/catalyst.conf
sed -i -e "s:/usr/lib/catalyst:/usr/$(get_libdir)/catalyst:" \
files/catalyst.conf
make_wrapper catalyst /usr/$(get_libdir)/${PN}/catalyst
insinto /etc/catalyst
doins files/catalyst.conf files/catalystrc || die "copying configuration"
insinto /usr/share/doc/${PF}/examples
doins examples/* || die
dodoc README AUTHORS
doman files/catalyst.1 files/catalyst-spec.5
python_fix_shebang "${ED}usr/$(get_libdir)/catalyst/catalyst"
python_optimize "${ED}"
}
pkg_postinst() {
einfo "You can find more information about catalyst by checking out the"
einfo "catalyst project page at:"
einfo "https://www.gentoo.org/proj/en/releng/catalyst/index.xml"
}

@ -0,0 +1,38 @@
From 1eabce3a9c15c5caf022e71c1959e8c8f4819fad Mon Sep 17 00:00:00 2001
From: "Anthony G. Basile" <blueness@gentoo.org>
Date: Thu, 3 Mar 2016 20:48:43 -0500
Subject: [PATCH] targets/support/chroot-functions.sh: correct quotes to allow
expansion of $1
This is a backport of commit b2473eff. The single quotes prevented the proper
expansion of $1 in setup_pkgmgr(). Since this is usually called as
`setup_pkgmgr "build"` during stage1 builds, it is surprising this was
not caught earlier.
---
targets/support/chroot-functions.sh | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/targets/support/chroot-functions.sh b/targets/support/chroot-functions.sh
index 3b7f77b..6c1a31c 100755
--- a/targets/support/chroot-functions.sh
+++ b/targets/support/chroot-functions.sh
@@ -172,12 +172,12 @@ setup_pkgmgr(){
# Use --update or portage might just waste time/cycles and reinstall the same version.
# Use --newuse to make sure it rebuilds with any changed use flags.
if [ -n "$1" ];then
- echo "Adding USE='${USE} $1' to make.conf for portage build"
- [ -e /etc/portage/make.conf ] && echo 'USE="${USE} $1"' >> /etc/portage/make.conf
+ echo "Adding USE=\"${USE} $1\" to make.conf for portage build"
+ [ -e /etc/portage/make.conf ] && echo "USE=\"\${USE} $1\"" >> /etc/portage/make.conf
run_merge --oneshot --update --newuse sys-apps/portage
- sed -i '/USE="${USE} $1"/d' /etc/portage/make.conf
+ sed -i "/USE=\"\${USE} $1\"/d" /etc/portage/make.conf
else
- echo "Updating portage with USE='${USE}'"
+ echo "Updating portage with USE=\"${USE}\""
run_merge --oneshot --update --newuse sys-apps/portage
fi
}
--
2.4.10

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -15,7 +15,7 @@ LICENSE="LGPL-2+"
SLOT="0"
IUSE=""
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
RDEPEND="
>=dev-libs/glib-2.45.8:2

@ -17,7 +17,13 @@ inherit autotools eutils flag-o-matic multilib ssl-cert user toolchain-funcs ver
case ${EAPI:-0} in
0|1|2|3|4)
die "This eclass requires >=EAPI-5"
die "This eclass is banned for EAPI<5"
;;
5)
:;
;;
6)
die "This eclass is not yet ready for EAPI-6"
;;
esac

@ -1,3 +1,5 @@
DIST freedm-0.10.1.zip 7230096 SHA256 da75ebe8af648fc315491f4051d46458b134ad844fc87742551aa1930ccd6857 SHA512 cc3b393e20b503e83ca2bf90ac528d42c951881b58d22970b154fd262e69f7bae038f7300d74e467af6e31e626a12d4a9fb5bf5ff3e9da84506df41be18577f2 WHIRLPOOL 05ca68e780b95bb2ea8c599821c6a20a151df9222104de0bede8089da3c5d2259ae482f8dc31131cd326a7e6ffdedbdeffa475d0dbc175435082e88bf93e036b
DIST freedm-0.7.zip 4777958 SHA256 379e29e4ee2355d150fba04507c14544bc8af4cc5449aef2cf80b6709a78e59a SHA512 4f339f05d7a258b76b1d55ed8d69026b6870c181ba4a3f3672e12ed41a8c8eeeb7064193009f7c7ffb24ace18365d7744050f64cfd9db5dfa330983fa9669b8d WHIRLPOOL 02b0934fb5e28b623f4bfb05e2f91447aef1473e746e889269cbabfe3bc740dd012cdd8984de23b23c3668077707ace881e1166112fc6aed6e669787698d164b
DIST freedoom-0.10.1.zip 18496121 SHA256 7d20c4b458b6966a58f8f1d9d67db67999364a66e67616e2c320d01b396338da SHA512 a98d400267801dfdf67aa035def6d62fffff1c3a2d1aebd482929274e1f86e05e79c9cbe528a80d5c87df7306364ca74a3b03674273a0079bad724e7b23e38eb WHIRLPOOL f7c926c80603c5631b00497195c4cf8e16d01bbefab4af48957d39683047259b50246381ce486c27fdae46ea52100c8dc03df9a86680562fec1cbb60501657b7
DIST freedoom-demo-0.7.zip 2800744 SHA256 4caf386adbf217e3c96d1d8f18cbdf5335caf7c1e88d64cdc44065aa92785286 SHA512 5a101da1c473f0bec899db03ec8c8afce5c95a6c0e041dbfebe95a370e7d64746c3f1ff0304535b58ac766518e282899887f6bad415e3519dd811fc39a0c89d8 WHIRLPOOL de48bb1c19a557ef1a4bde2839a5f9c95d10a0c4364bb88f363cc0b4ab09033a19d4ee656e190a2b31d3e1edb194f24a8e80db3284a4692e3b16c442ddc95050
DIST freedoom-iwad-0.7.zip 9697891 SHA256 f8f75fd1909801fe42de0e74db9adcfd33f753374e4923bd93e3d9a9b802ab1f SHA512 7363517097be2bb584a8481b3c658dc046dc35f8508cbd79af602e3d15b1f570537fbf1b620684e2931d644670fbb453064ab5699f542888a29cc1b4ca295b7a WHIRLPOOL b55fd43624f21a2f2c16c8f1e56ccd6e5d5c324c381a30a258bfa36c50f17e5b905fd552598cf2ae3f83bede5a0697f02959e1533e5bd5d2e62ed2b2b467c211

@ -0,0 +1,43 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit games
DESCRIPTION="Freedoom - Open Source Doom resources"
HOMEPAGE="http://www.nongnu.org/freedoom/"
SRC_URI="https://github.com/freedoom/freedoom/releases/download/v${PV}/freedoom-${PV}.zip
https://github.com/freedoom/freedoom/releases/download/v${PV}/freedm-${PV}.zip"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~x86"
IUSE=""
DEPEND="app-arch/unzip"
S=${WORKDIR}
src_install() {
insinto "${GAMES_DATADIR}"/doom-data/${PN}
doins */*.wad
dodoc ${P}/CREDITS
dohtml ${P}/README.html
prepgamesdirs
}
pkg_postinst() {
games_pkg_postinst
elog "A Doom engine is required to play the wad"
elog "but games-fps/doomsday doesn't count since it doesn't"
elog "have the necessary features."
echo
ewarn "To play freedoom with Doom engines which do not support"
ewarn "subdirectories, create symlinks by running the following:"
ewarn "(Be careful of overwriting existing wads.)"
ewarn
ewarn " cd ${GAMES_DATADIR}/doom-data"
ewarn " ln -sn freedoom/*.wad ."
ewarn
}

@ -26,7 +26,7 @@ RDEPEND="${DEPEND}
S="${WORKDIR}/${MY_PN}-${PV}"
PATCHES=( "${FILESDIR}/${P}-coverity.patch" )
PATCHES=( "${FILESDIR}/${PN}-5.5.4-coverity.patch" )
src_configure() {
local mycmakeargs=(

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save