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
|
||||
}
|
@ -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
|
||||
}
|
@ -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,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 +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
|
||||
}
|
@ -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
|
||||
}
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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,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}"
|
||||
}
|
@ -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,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}"
|
||||
}
|
@ -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_'
|
@ -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}"
|
||||
}
|
@ -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
|
||||
}
|
@ -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,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,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,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
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue