parent
6522026fef
commit
52ca7bc7fd
@ -0,0 +1,138 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-crypt/gnupg/gnupg-1.4.13.ebuild,v 1.1 2013/01/01 16:19:30 alonbl Exp $
|
||||
|
||||
EAPI="4"
|
||||
|
||||
inherit eutils flag-o-matic toolchain-funcs
|
||||
|
||||
ECCVER="0.2.0"
|
||||
ECCVER_GNUPG="1.4.9"
|
||||
ECC_PATCH="${PN}-${ECCVER_GNUPG}-ecc${ECCVER}.diff"
|
||||
MY_P=${P/_/}
|
||||
|
||||
DESCRIPTION="The GNU Privacy Guard, a GPL pgp replacement"
|
||||
HOMEPAGE="http://www.gnupg.org/"
|
||||
SRC_URI="mirror://gnupg/gnupg/${P}.tar.bz2"
|
||||
# ecc? ( http://www.calcurco.cat/eccGnuPG/src/${ECC_PATCH}.bz2 )
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-macos"
|
||||
IUSE="bzip2 curl ldap nls readline selinux smartcard static usb zlib linguas_ru"
|
||||
#IUSE="bzip2 bindist curl ecc ldap nls readline selinux smartcard static usb zlib linguas_ru"
|
||||
|
||||
COMMON_DEPEND="
|
||||
ldap? ( net-nds/openldap )
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
zlib? ( sys-libs/zlib )
|
||||
curl? ( net-misc/curl )
|
||||
virtual/mta
|
||||
readline? ( sys-libs/readline )
|
||||
smartcard? ( =virtual/libusb-0* )
|
||||
usb? ( =virtual/libusb-0* )"
|
||||
|
||||
RDEPEND="!static? ( ${COMMON_DEPEND} )
|
||||
selinux? ( sec-policy/selinux-gpg )
|
||||
nls? ( virtual/libintl )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
dev-lang/perl
|
||||
nls? ( sys-devel/gettext )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_prepare() {
|
||||
# if use ecc; then
|
||||
# if use bindist; then
|
||||
# einfo "Skipping ECC patch to comply with binary distribution (bug #148907)."
|
||||
# else
|
||||
# sed -i \
|
||||
# "s/- VERSION='${ECCVER_GNUPG}'/- VERSION='${PV}'/" \
|
||||
# "${WORKDIR}/${ECC_PATCH}"
|
||||
# sed -i \
|
||||
# "s/+ VERSION='${ECCVER_GNUPG}-ecc${ECCVER}'/+ VERSION='${PV}-ecc${ECCVER}'/" \
|
||||
# "${WORKDIR}/${ECC_PATCH}"
|
||||
#
|
||||
# epatch "${WORKDIR}/${ECC_PATCH}"
|
||||
# fi
|
||||
# fi
|
||||
|
||||
# Install RU man page in right location
|
||||
sed -e "/^man_MANS =/s/ gpg\.ru\.1//" -i doc/Makefile.in || die "sed doc/Makefile.in failed"
|
||||
|
||||
# Fix PIC definitions
|
||||
sed -i -e 's:PIC:__PIC__:' mpi/i386/mpih-{add,sub}1.S intl/relocatable.c \
|
||||
|| die "sed PIC failed"
|
||||
sed -i -e 's:if PIC:ifdef __PIC__:' mpi/sparc32v8/mpih-mul{1,2}.S || \
|
||||
die "sed PIC failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Certain sparc32 machines seem to have trouble building correctly with
|
||||
# -mcpu enabled. While this is not a gnupg problem, it is a temporary
|
||||
# fix until the gcc problem can be tracked down.
|
||||
if [ "${ARCH}" == "sparc" ] && [ "${PROFILE_ARCH}" == "sparc" ]; then
|
||||
filter-flags -mcpu=supersparc -mcpu=v8 -mcpu=v7
|
||||
fi
|
||||
|
||||
# 'USE=static' support was requested in #29299
|
||||
use static && append-ldflags -static
|
||||
|
||||
econf \
|
||||
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
|
||||
$(use_enable ldap) \
|
||||
--enable-mailto \
|
||||
--enable-hkp \
|
||||
--enable-finger \
|
||||
$(use_with !zlib included-zlib) \
|
||||
$(use_with curl libcurl /usr) \
|
||||
$(use_enable nls) \
|
||||
$(use_enable bzip2) \
|
||||
$(use_enable smartcard card-support) \
|
||||
$(use_enable selinux selinux-support) \
|
||||
--without-capabilities \
|
||||
$(use_with readline) \
|
||||
$(use_with usb libusb /usr) \
|
||||
--enable-static-rnd=linux \
|
||||
--libexecdir="${EPREFIX}/usr/libexec" \
|
||||
--enable-noexecstack \
|
||||
CC_FOR_BUILD=$(tc-getBUILD_CC) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
# keep the documentation in /usr/share/doc/...
|
||||
rm -rf "${ED}usr/share/gnupg/FAQ" "${ED}usr/share/gnupg/faq.html" || die
|
||||
|
||||
dodoc AUTHORS BUGS ChangeLog NEWS PROJECTS README THANKS \
|
||||
TODO VERSION doc/{FAQ,HACKING,DETAILS,OpenPGP}
|
||||
|
||||
exeinto /usr/libexec/gnupg
|
||||
doexe tools/make-dns-cert
|
||||
|
||||
# install RU documentation in right location
|
||||
if use linguas_ru; then
|
||||
cp doc/gpg.ru.1 "${T}/gpg.1" || die
|
||||
doman -i18n=ru "${T}/gpg.1"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
ewarn "If you are using a non-Linux system, or a kernel older than 2.6.9,"
|
||||
ewarn "you MUST make the gpg binary setuid."
|
||||
echo
|
||||
# if use !bindist && use ecc; then
|
||||
# ewarn
|
||||
# ewarn "The elliptical curves patch is experimental"
|
||||
# ewarn "Further info available at http://alumnes.eps.udl.es/%7Ed4372211/index.en.html"
|
||||
# fi
|
||||
elog
|
||||
elog "See http://www.gentoo.org/doc/en/gnupg-user.xml for documentation on gnupg"
|
||||
elog
|
||||
elog "If you wish to view images emerge:"
|
||||
elog "media-gfx/xloadimage, media-gfx/xli or any other viewer"
|
||||
elog "Remember to use photo-viewer option in configuration file to activate the right viewer"
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
--- a/Makefile.in 2000-09-27 01:16:27.000000000 +0200
|
||||
+++ b/Makefile.in 2010-09-21 00:30:37.000000000 +0200
|
||||
@@ -35,6 +35,7 @@
|
||||
SED = @SED@
|
||||
ECHO = @ECHO@
|
||||
TR = @TR@
|
||||
+AR = @AR@
|
||||
|
||||
TARFLAGS = -cvzf ${DISTFILE}
|
||||
YACCFLAGS2 = -d -p kv -b z
|
||||
@@ -45,6 +46,7 @@
|
||||
RMFLAGS2 = -rf
|
||||
RMFLAGS = -f
|
||||
NROFFFLAGS = -mandoc
|
||||
+LDFLAGS = @LDFLAGS@
|
||||
|
||||
SSLCONF = testsuite/openssl.cnf
|
||||
SSLCERT = testsuite/test.cert.pem
|
||||
@@ -83,7 +85,7 @@
|
||||
$(RANLIB) $(TARGET)
|
||||
|
||||
$(TARGET2): $(TARGET) $(OBJS2)
|
||||
- $(CC) $(CFLAGS) -o $(TARGET2) $(OBJS2) $(LIBS)
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TARGET2) $(OBJS2) $(LIBS)
|
||||
|
||||
k.tab.c: keynote.y header.h keynote.h assertion.h config.h
|
||||
$(YACC) $(YACCFLAGS) keynote.y
|
||||
@@ -131,7 +133,7 @@
|
||||
-keyout $(SSLKEY)
|
||||
|
||||
test-sample: all $(OBJS3)
|
||||
- $(CC) $(CFLAGS) -o $(TARGET3) $(OBJS3) $(LIBS)
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(TARGET3) $(OBJS3) $(LIBS)
|
||||
|
||||
test-sig: all $(SSLCERT) $(SSLKEY)
|
||||
$(SED) -e 's/--.*//' < $(SSLCERT) > $(SSLCERT).1
|
@ -1,51 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-crypt/keynote/keynote-2.3-r2.ebuild,v 1.4 2012/06/07 21:14:38 johu Exp $
|
||||
|
||||
EAPI="4"
|
||||
|
||||
inherit eutils toolchain-funcs
|
||||
|
||||
DESCRIPTION="The KeyNote Trust-Management System"
|
||||
HOMEPAGE="http://www1.cs.columbia.edu/~angelos/keynote.html"
|
||||
SRC_URI="http://www1.cs.columbia.edu/~angelos/Code/${P}.tar.gz"
|
||||
|
||||
LICENSE="as-is"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="ssl"
|
||||
|
||||
RDEPEND="ssl? ( dev-libs/openssl )"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/yacc"
|
||||
|
||||
src_prepare() {
|
||||
cp -av Makefile.in{,.orig} || die
|
||||
epatch "${FILESDIR}"/${P}-make.patch
|
||||
epatch "${FILESDIR}"/$P-parallel-build.patch
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR CC RANLIB
|
||||
econf
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use ssl; then
|
||||
emake
|
||||
else
|
||||
emake nocrypto
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin keynote
|
||||
|
||||
dolib.a libkeynote.a
|
||||
|
||||
insinto /usr/include
|
||||
doins keynote.h
|
||||
|
||||
doman man/keynote.[1345]
|
||||
dodoc README HOWTO.add.crypto TODO
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,25 +0,0 @@
|
||||
From c40c21fe0670c6fb58bc82e4df2825e23c7406bb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tchvatal@suse.cz>
|
||||
Date: Tue, 3 Apr 2012 14:40:12 +0200
|
||||
Subject: [PATCH] Do not run build again during the install phase.
|
||||
|
||||
---
|
||||
solenv/gbuild/extensions/post_AuxTargets.mk | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/solenv/gbuild/extensions/post_AuxTargets.mk b/solenv/gbuild/extensions/post_AuxTargets.mk
|
||||
index 72414b7..825b130 100644
|
||||
--- a/solenv/gbuild/extensions/post_AuxTargets.mk
|
||||
+++ b/solenv/gbuild/extensions/post_AuxTargets.mk
|
||||
@@ -83,7 +83,7 @@ distclean: clean
|
||||
desktop/scripts/soffice.sh ooo.lst post_download post_download.log \
|
||||
set_soenv set_soenv.last set_soenv.stamp src.downloaded warn
|
||||
|
||||
-install: build
|
||||
+install:
|
||||
echo "Installing in $(INSTALLDIR)..." && \
|
||||
ooinstall "$(INSTALLDIR)" && \
|
||||
echo "" && \
|
||||
--
|
||||
1.7.7
|
||||
|
@ -1,202 +0,0 @@
|
||||
From 20c24114143d6d38774b56a142fd4ae05094308e Mon Sep 17 00:00:00 2001
|
||||
From: Caolán McNamara <caolanm@redhat.com>
|
||||
Date: Sun, 13 May 2012 21:41:30 +0000
|
||||
Subject: Resolves: fdo#49849 implement Unicode 6.1 hebrew line breaking rules
|
||||
|
||||
i.e. sync with svn diff -c 31071
|
||||
http://source.icu-project.org/repos/icu/icu/trunk/source/data/brkitr/line.txt
|
||||
|
||||
Change-Id: I I I41b3d02f1a0da3b83a9684f29d466660d96254c6
|
||||
---
|
||||
diff --git a/i18npool/source/breakiterator/data/line.txt b/i18npool/source/breakiterator/data/line.txt
|
||||
index cbabee6..91c8f3d 100644
|
||||
--- a/i18npool/source/breakiterator/data/line.txt
|
||||
+++ b/i18npool/source/breakiterator/data/line.txt
|
||||
@@ -61,11 +61,13 @@ $BB = [:LineBreak = Break_Before:];
|
||||
$BK = [:LineBreak = Mandatory_Break:];
|
||||
$B2 = [:LineBreak = Break_Both:];
|
||||
$CB = [:LineBreak = Contingent_Break:];
|
||||
+$CJ = [:LineBreak = Conditional_Japanese_Starter:];
|
||||
$CL = [:LineBreak = Close_Punctuation:] ;
|
||||
$CM = [:LineBreak = Combining_Mark:];
|
||||
$CR = [:LineBreak = Carriage_Return:];
|
||||
$EX = [:LineBreak = Exclamation:];
|
||||
$GL = [:LineBreak = Glue:];
|
||||
+$HL = [:LineBreak = Hebrew_Letter:];
|
||||
$HY = [:LineBreak = Hyphen:];
|
||||
$H2 = [:LineBreak = H2:];
|
||||
$H3 = [:LineBreak = H3:];
|
||||
@@ -77,7 +79,7 @@ $JV = [:LineBreak = JV:];
|
||||
$JT = [:LineBreak = JT:];
|
||||
$LF = [:LineBreak = Line_Feed:];
|
||||
$NL = [:LineBreak = Next_Line:];
|
||||
-$NS = [:LineBreak = Nonstarter:];
|
||||
+$NS = [[:LineBreak = Nonstarter:] $CJ];
|
||||
$NU = [:LineBreak = Numeric:];
|
||||
$OP = [[:LineBreak = Open_Punctuation:] - $DG];
|
||||
$PO = [:LineBreak = Postfix_Numeric:];
|
||||
@@ -118,6 +120,7 @@ $B2cm = $B2 $CM*;
|
||||
$CLcm = $CL $CM*;
|
||||
$EXcm = $EX $CM*;
|
||||
$GLcm = $GL $CM*;
|
||||
+$HLcm = $HL $CM*;
|
||||
$HYcm = $HY $CM*;
|
||||
$H2cm = $H2 $CM*;
|
||||
$H3cm = $H3 $CM*;
|
||||
@@ -150,6 +153,7 @@ $B2 $CM+;
|
||||
$CL $CM+;
|
||||
$EX $CM+;
|
||||
$GL $CM+;
|
||||
+$HL $CM+;
|
||||
$HY $CM+;
|
||||
$H2 $CM+;
|
||||
$H3 $CM+;
|
||||
@@ -186,7 +190,7 @@ $CANT_CM = [ $SP $BK $CR $LF $NL $ZW $CM]; # Bases that can't take CMs
|
||||
# so for this one case we need to manually list out longer sequences.
|
||||
#
|
||||
$AL_FOLLOW_NOCM = [$BK $CR $LF $NL $ZW $SP];
|
||||
-$AL_FOLLOW_CM = [$CL $EX $IS $SY $WJ $GL $QU $BA $HY $NS $IN $NU $ALPlus $OP];
|
||||
+$AL_FOLLOW_CM = [$CL $EX $HL $IS $SY $WJ $GL $QU $BA $HY $NS $IN $NU $ALPlus $OP];
|
||||
$AL_FOLLOW = [$AL_FOLLOW_NOCM $AL_FOLLOW_CM];
|
||||
|
||||
|
||||
@@ -320,8 +324,13 @@ $LB20NonBreaks $CM* ($BAcm | $HYcm | $NScm);
|
||||
$BBcm [^$CB]; # $BB x
|
||||
$BBcm $LB20NonBreaks $CM*;
|
||||
|
||||
+# LB 21a Don't break after Hebrew + Hyphen
|
||||
+# HL (HY | BA) x
|
||||
+#
|
||||
+$HLcm ($HYcm | $BAcm) [^$CB]?;
|
||||
+
|
||||
# LB 22
|
||||
-$ALcm $INcm;
|
||||
+($ALcm | $HLcm) $INcm;
|
||||
$CM+ $INcm; # by rule 10, any otherwise unattached CM behaves as AL
|
||||
$IDcm $INcm;
|
||||
$INcm $INcm;
|
||||
@@ -331,16 +340,18 @@ $NUcm $INcm;
|
||||
# $LB 23
|
||||
$IDcm $POcm;
|
||||
$ALcm $NUcm; # includes $LB19
|
||||
+$HLcm $NUcm;
|
||||
$CM+ $NUcm; # Rule 10, any otherwise unattached CM behaves as AL
|
||||
$NUcm $ALcm;
|
||||
+$NUcm $HLcm;
|
||||
|
||||
#
|
||||
# LB 24
|
||||
#
|
||||
$PRcm $IDcm;
|
||||
$ALcm $PRcm;
|
||||
-$PRcm $ALcm;
|
||||
-$POcm $ALcm;
|
||||
+$PRcm ($ALcm | $HLcm);
|
||||
+$POcm ($ALcm | $HLcm);
|
||||
|
||||
#
|
||||
# LB 25 Numbers.
|
||||
@@ -361,8 +372,8 @@ $PRcm ($JLcm | $JVcm | $JTcm | $H2cm | $H3cm);
|
||||
|
||||
# LB 28 Do not break between alphabetics
|
||||
#
|
||||
-$ALcm $ALcm;
|
||||
-$CM+ $ALcm; # The $CM+ is from rule 10, and unattached CM is treated as AL
|
||||
+($ALcm | $HLcm) ($ALcm | $HLcm);
|
||||
+$CM+ ($ALcm | $HLcm); # The $CM+ is from rule 10, an unattached CM is treated as AL
|
||||
|
||||
# LB 29
|
||||
$IScm ($ALcm | $NUcm);
|
||||
@@ -371,11 +382,9 @@ $IScm ($ALcm | $NUcm);
|
||||
# Rule 30 Do not break between letters, numbers or ordinary symbols
|
||||
# and opening or closing punctuation
|
||||
#
|
||||
-($ALcm | $NUcm) $OPcm;
|
||||
+($ALcm | $HLcm | $NUcm) $OPcm;
|
||||
$CM+ $OPcm;
|
||||
-$CLcm ($ALcm | $NUcm);
|
||||
-
|
||||
-
|
||||
+$CLcm ($ALcm | $HLcm | $NUcm);
|
||||
|
||||
#
|
||||
# Reverse Rules.
|
||||
@@ -391,6 +400,7 @@ $CM+ $B2;
|
||||
$CM+ $CL;
|
||||
$CM+ $EX;
|
||||
$CM+ $GL;
|
||||
+$CM+ $HL;
|
||||
$CM+ $HY;
|
||||
$CM+ $H2;
|
||||
$CM+ $H3;
|
||||
@@ -544,24 +554,25 @@ $CM* ($BA | $HY | $NS) $CM* [$LB20NonBreaks-$CM]; # . x (BA | HY | NS)
|
||||
$CM* [$LB20NonBreaks-$CM] $CM* $BB; # BB x .
|
||||
[^$CB] $CM* $BB; #
|
||||
|
||||
-
|
||||
+# LB21a
|
||||
+[^$CB] $CM* ($HY | $BA) $CM* $HL;
|
||||
|
||||
# LB 22
|
||||
-$CM* $IN $CM* $ALPlus;
|
||||
+$CM* $IN $CM* ($ALPlus | $HL);
|
||||
$CM* $IN $CM* $ID;
|
||||
$CM* $IN $CM* $IN;
|
||||
$CM* $IN $CM* $NU;
|
||||
|
||||
# LB 23
|
||||
$CM* $PO $CM* $ID;
|
||||
-$CM* $NU $CM* $ALPlus;
|
||||
-$CM* $ALPlus $CM* $NU;
|
||||
+$CM* $NU $CM* ($ALPlus | $HL);
|
||||
+$CM* ($ALPlus | $HL) $CM* $NU;
|
||||
|
||||
# LB 24
|
||||
$CM* $ID $CM* $PR;
|
||||
$CM* $PR $CM* $ALPlus;
|
||||
-$CM* $ALPlus $CM* $PR;
|
||||
-$CM* $ALPlus $CM* $PO;
|
||||
+$CM* ($ALPlus | $HL) $CM* $PR;
|
||||
+$CM* ($ALPlus | $HL) $CM* $PO;
|
||||
|
||||
$CM* $ALPlus $CM* ($IS | $SY | $HY)+ / $SP;
|
||||
$CM* $NU+ $CM* $HY+ / $SP;
|
||||
@@ -580,15 +591,14 @@ $CM* $PO $CM* ($H3 | $H2 | $JT | $JV | $JL);
|
||||
$CM* ($H3 | $H2 | $JT | $JV | $JL) $CM* $PR;
|
||||
|
||||
# LB 28
|
||||
-$CM* $ALPlus $CM* $ALPlus;
|
||||
-
|
||||
+$CM* ($ALPlus | $HL) $CM* ($ALPlus | $HL);
|
||||
|
||||
# LB 29
|
||||
$CM* ($NU | $ALPlus) $CM* $IS+ [^$SP];
|
||||
|
||||
# LB 30
|
||||
-$CM* $OP $CM* ($NU | $ALPlus);
|
||||
-$CM* ($NU | $ALPlus) $CM* ($CL | $SY)+ [^$SP];
|
||||
+$CM* $OP $CM* ($ALPlus | $HL | $NU);
|
||||
+$CM* ($ALPlus | $HL | $NU) $CM* ($CL | $SY)+ [^$SP];
|
||||
|
||||
|
||||
## -------------------------------------------------
|
||||
@@ -609,6 +619,9 @@ $SP+ $CM* $QU;
|
||||
$SP+ $CM* $CL;
|
||||
$SP+ $CM* $B2;
|
||||
|
||||
+# LB 21
|
||||
+$CM* ($HY | $BA) $CM* $HL;
|
||||
+
|
||||
# LB 18
|
||||
($CM* ($IS | $SY))+ $CM* $NU;
|
||||
$CL $CM* ($NU | $IS | $SY);
|
||||
@@ -629,6 +642,6 @@ $dictionary $dictionary;
|
||||
# turn off rule chaining. We don't want to move more
|
||||
# than necessary.
|
||||
#
|
||||
-[$CM $OP $QU $CL $B2 $PR $HY $SP $dictionary]+ [^$CM $OP $QU $CL $B2 $PR $HY $dictionary];
|
||||
+[$CM $OP $QU $CL $B2 $PR $HY $BA $SP $dictionary]+ [^$CM $OP $QU $CL $B2 $PR $HY $BA $dictionary];
|
||||
$dictionary $dictionary;
|
||||
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
@ -1,25 +0,0 @@
|
||||
From 07fc748fb1b242859913df178a0c41dc95a9f3e7 Mon Sep 17 00:00:00 2001
|
||||
From: Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
|
||||
Date: Wed, 21 Dec 2011 22:29:02 +0100
|
||||
Subject: [PATCH] propagate gb_FULLDEPS
|
||||
|
||||
---
|
||||
solenv/gbuild/source_and_rerun.mk | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/solenv/gbuild/source_and_rerun.mk b/solenv/gbuild/source_and_rerun.mk
|
||||
index a2aaea0..27de233 100644
|
||||
--- a/solenv/gbuild/source_and_rerun.mk
|
||||
+++ b/solenv/gbuild/source_and_rerun.mk
|
||||
@@ -2,7 +2,7 @@
|
||||
gb_MAKEFILEDIR:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
|
||||
|
||||
define gb_SourceEnvAndRecurse_recurse
|
||||
-$(MAKE) -f $(firstword $(MAKEFILE_LIST)) -j $${GMAKE_PARALLELISM} $(1) gb_SourceEnvAndRecurse_STAGE=$(2)
|
||||
+$(MAKE) -f $(firstword $(MAKEFILE_LIST)) -j $${GMAKE_PARALLELISM} $(1) gb_SourceEnvAndRecurse_STAGE=$(2) gb_FULLDEPS=$(gb_FULLDEPS)
|
||||
endef
|
||||
|
||||
ifneq ($(strip $(gb_PARTIALBUILD)),)
|
||||
--
|
||||
1.7.5.4
|
||||
|
@ -1,23 +0,0 @@
|
||||
From 25a605f36544582bd454d4bc0e71e684749a0b80 Mon Sep 17 00:00:00 2001
|
||||
From: Caolán McNamara <caolanm@redhat.com>
|
||||
Date: Fri, 25 May 2012 14:51:04 +0000
|
||||
Subject: this is supposed to just be the number of bytes
|
||||
|
||||
Change-Id: Iecd376aba13f94c5c62fab2f3278c5f3efda20b4
|
||||
---
|
||||
diff --git a/lingucomponent/source/languageguessing/simpleguesser.cxx b/lingucomponent/source/languageguessing/simpleguesser.cxx
|
||||
index 383ab3e..3346ef2 100644
|
||||
--- a/lingucomponent/source/languageguessing/simpleguesser.cxx
|
||||
+++ b/lingucomponent/source/languageguessing/simpleguesser.cxx
|
||||
@@ -117,8 +117,7 @@ vector<Guess> SimpleGuesser::GuessLanguage(const char* text)
|
||||
if (!h)
|
||||
return guesses;
|
||||
|
||||
- //calculate le number of unicode charcters (symbols)
|
||||
- int len = utfstrlen(text);
|
||||
+ int len = strlen(text);
|
||||
|
||||
if (len > MAX_STRING_LENGTH_TO_ANALYSE)
|
||||
len = MAX_STRING_LENGTH_TO_ANALYSE;
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
@ -1,49 +0,0 @@
|
||||
From 1296db324d5962ff904c0ed488a62132dd36a66f Mon Sep 17 00:00:00 2001
|
||||
From: Rene Engelhard <rene@debian.org>
|
||||
Date: Wed, 31 Oct 2012 17:00:18 +0000
|
||||
Subject: fix sdext build with poppler >= 0.19.x
|
||||
|
||||
Conflicts:
|
||||
|
||||
configure.ac
|
||||
|
||||
Change-Id: I655e8e15c7f7a8c292b3a1820ee48c29e847d05a
|
||||
Signed-off-by: Tomas Chvatal <tchvatal@suse.cz>
|
||||
---
|
||||
diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
|
||||
index 87c0ab2..9d38e9b 100644
|
||||
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
|
||||
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
|
||||
@@ -497,7 +497,9 @@ void PDFOutDev::endPage()
|
||||
printf("endPage\n");
|
||||
}
|
||||
|
||||
-#if POPPLER_CHECK_VERSION(0, 17, 0)
|
||||
+#if POPPLER_CHECK_VERSION(0, 19, 0)
|
||||
+void PDFOutDev::processLink(AnnotLink *link)
|
||||
+#elif POPPLER_CHECK_VERSION(0, 17, 0)
|
||||
void PDFOutDev::processLink(AnnotLink *link, Catalog *)
|
||||
#else
|
||||
void PDFOutDev::processLink(Link* link, Catalog*)
|
||||
diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
|
||||
index bba8f58..1911d57 100644
|
||||
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
|
||||
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
|
||||
@@ -201,10 +201,12 @@ namespace pdfi
|
||||
// virtual void cvtDevToUser(double dx, double dy, double *ux, double *uy);
|
||||
// virtual void cvtUserToDev(double ux, double uy, int *dx, int *dy);
|
||||
|
||||
- #if POPPLER_CHECK_VERSION(0, 17, 0)
|
||||
- virtual void processLink(AnnotLink *link, Catalog *catalog);
|
||||
- #else
|
||||
//----- link borders
|
||||
+ #if POPPLER_CHECK_VERSION(0, 19, 0)
|
||||
+ virtual void processLink(AnnotLink *link);
|
||||
+ #elif POPPLER_CHECK_VERSION(0, 17, 0)
|
||||
+ virtual void processLink(AnnotLink *link, Catalog *catalog);
|
||||
+ #else
|
||||
virtual void processLink(Link *link, Catalog *catalog);
|
||||
#endif
|
||||
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
@ -1,44 +0,0 @@
|
||||
diff --git a/desktop/scripts/soffice.sh.in b/desktop/scripts/soffice.sh.in
|
||||
index defd7b2..ea2a809 100755
|
||||
--- a/desktop/scripts/soffice.sh.in
|
||||
+++ b/desktop/scripts/soffice.sh.in
|
||||
@@ -128,6 +128,9 @@ if echo "$checks" | grep -q "cc" ; then
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
+PYTHONPATH=$sd_prog${PYTHONPATH+:$PYTHONPATH}
|
||||
+export PYTHONPATH
|
||||
+
|
||||
case "`uname -s`" in
|
||||
NetBSD|OpenBSD|FreeBSD|DragonFly)
|
||||
# this is a temporary hack until we can live with the default search paths
|
||||
diff --git a/pyuno/source/module/uno.py b/pyuno/source/module/uno.py
|
||||
index f93ac5e..92a2891 100644
|
||||
--- a/pyuno/source/module/uno.py
|
||||
+++ b/pyuno/source/module/uno.py
|
||||
@@ -26,8 +26,12 @@
|
||||
# for a copy of the LGPLv3 License.
|
||||
#
|
||||
#*************************************************************************
|
||||
+import os
|
||||
import sys
|
||||
|
||||
+sys.path.append('%eprefix%/usr/%libdir%/libreoffice/program')
|
||||
+if getattr(os.environ, 'URE_BOOTSTRAP', None) is None:
|
||||
+ os.environ['URE_BOOTSTRAP'] = "vnd.sun.star.pathname:%eprefix%/usr/%libdir%/libreoffice/program/fundamentalrc"
|
||||
import pyuno
|
||||
|
||||
try:
|
||||
diff --git a/scripting/source/pyprov/officehelper.py b/scripting/source/pyprov/officehelper.py
|
||||
index 610ac5f..df243d0 100755
|
||||
--- a/scripting/source/pyprov/officehelper.py
|
||||
+++ b/scripting/source/pyprov/officehelper.py
|
||||
@@ -53,7 +53,7 @@ def bootstrap():
|
||||
if "UNO_PATH" in os.environ:
|
||||
sOffice = os.environ["UNO_PATH"]
|
||||
else:
|
||||
- sOffice = "" # lets hope for the best
|
||||
+ sOffice = "%eprefix%/usr/%libdir%/libreoffice/program"
|
||||
sOffice = os.path.join(sOffice, "soffice")
|
||||
if platform.startswith("win"):
|
||||
sOffice += ".exe"
|
@ -1,547 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-office/libreoffice/libreoffice-3.5.7.2.ebuild,v 1.2 2012/11/07 21:10:10 tetromino Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
KDE_REQUIRED="optional"
|
||||
QT_MINIMAL="4.7.4"
|
||||
KDE_SCM="git"
|
||||
CMAKE_REQUIRED="never"
|
||||
|
||||
PYTHON_DEPEND="2"
|
||||
PYTHON_USE_WITH="threads,xml"
|
||||
|
||||
# experimental ; release ; old
|
||||
# Usually the tarballs are moved a lot so this should make
|
||||
# everyone happy.
|
||||
DEV_URI="
|
||||
http://dev-builds.libreoffice.org/pre-releases/src
|
||||
http://download.documentfoundation.org/libreoffice/src/3.5.7/
|
||||
http://download.documentfoundation.org/libreoffice/old/src
|
||||
"
|
||||
EXT_URI="http://ooo.itc.hu/oxygenoffice/download/libreoffice"
|
||||
ADDONS_URI="http://dev-www.libreoffice.org/src/"
|
||||
|
||||
BRANDING="${PN}-branding-gentoo-0.5.tar.xz"
|
||||
# PATCHSET="${P}-patchset-01.tar.xz"
|
||||
|
||||
[[ ${PV} == *9999* ]] && SCM_ECLASS="git-2"
|
||||
inherit base autotools bash-completion-r1 check-reqs eutils java-pkg-opt-2 kde4-base pax-utils python multilib toolchain-funcs flag-o-matic nsplugins ${SCM_ECLASS}
|
||||
unset SCM_ECLASS
|
||||
|
||||
DESCRIPTION="LibreOffice, a full office productivity suite."
|
||||
HOMEPAGE="http://www.libreoffice.org"
|
||||
SRC_URI="branding? ( http://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
|
||||
[[ -n ${PATCHSET} ]] && SRC_URI+=" http://dev.gentooexperimental.org/~scarabeus/${PATCHSET}"
|
||||
|
||||
# Split modules following git/tarballs
|
||||
# Core MUST be first!
|
||||
MODULES="core binfilter help"
|
||||
# Only release has the tarballs
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
for i in ${DEV_URI}; do
|
||||
for mod in ${MODULES}; do
|
||||
if [[ ${mod} == binfilter ]]; then
|
||||
SRC_URI+=" binfilter? ( ${i}/${PN}-${mod}-${PV}.tar.xz )"
|
||||
else
|
||||
SRC_URI+=" ${i}/${PN}-${mod}-${PV}.tar.xz"
|
||||
fi
|
||||
done
|
||||
unset mod
|
||||
done
|
||||
unset i
|
||||
fi
|
||||
unset DEV_URI
|
||||
|
||||
# Really required addons
|
||||
# These are bundles that can't be removed for now due to huge patchsets.
|
||||
# If you want them gone, patches are welcome.
|
||||
ADDONS_SRC+=" ${ADDONS_URI}/ea91f2fb4212a21d708aced277e6e85a-vigra1.4.0.tar.gz"
|
||||
ADDONS_SRC+=" xmlsec? ( ${ADDONS_URI}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz )"
|
||||
ADDONS_SRC+=" java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
|
||||
ADDONS_SRC+=" java? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )"
|
||||
ADDONS_SRC+=" java? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )"
|
||||
ADDONS_SRC+=" java? ( ${ADDONS_URI}/ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip )"
|
||||
ADDONS_SRC+=" odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )"
|
||||
SRC_URI+=" ${ADDONS_SRC}"
|
||||
|
||||
unset ADDONS_URI
|
||||
unset EXT_URI
|
||||
unset ADDONS_SRC
|
||||
|
||||
IUSE="binfilter binfilterdebug +branding +cups dbus eds gnome +graphite gstreamer +gtk
|
||||
jemalloc kde mysql nlpsolver +nsplugin odk opengl pdfimport postgres svg test
|
||||
+vba +webdav +xmlsec"
|
||||
LICENSE="LGPL-3"
|
||||
SLOT="0"
|
||||
[[ ${PV} == *9999* ]] || KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
NSS_DEPEND="
|
||||
>=dev-libs/nspr-4.8.8
|
||||
>=dev-libs/nss-3.12.9
|
||||
"
|
||||
|
||||
COMMON_DEPEND="
|
||||
app-arch/zip
|
||||
app-arch/unzip
|
||||
>=app-text/hunspell-1.3.2-r3
|
||||
app-text/mythes
|
||||
>=app-text/libexttextcat-3.2
|
||||
app-text/libwpd:0.9[tools]
|
||||
app-text/libwpg:0.2
|
||||
>=app-text/libwps-0.2.2
|
||||
<dev-cpp/libcmis-0.2
|
||||
dev-db/unixODBC
|
||||
dev-libs/expat
|
||||
>=dev-libs/glib-2.28
|
||||
>=dev-libs/hyphen-2.7.1
|
||||
>=dev-libs/icu-49
|
||||
>=dev-lang/perl-5.0
|
||||
>=dev-libs/openssl-1.0.0d
|
||||
>=dev-libs/redland-1.0.14[ssl]
|
||||
>=media-libs/fontconfig-2.8.0
|
||||
media-libs/freetype:2
|
||||
>=media-libs/libpng-1.4
|
||||
media-libs/libvisio
|
||||
>=net-misc/curl-7.21.4
|
||||
sci-mathematics/lpsolve
|
||||
>=sys-libs/db-4.8
|
||||
virtual/jpeg
|
||||
>=x11-libs/cairo-1.10.0[X]
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
dbus? ( >=dev-libs/dbus-glib-0.92 )
|
||||
eds? ( gnome-extra/evolution-data-server )
|
||||
gnome? ( gnome-base/gconf:2 )
|
||||
gtk? ( >=x11-libs/gtk+-2.24:2 )
|
||||
graphite? ( media-gfx/graphite2 )
|
||||
gstreamer? (
|
||||
>=media-libs/gstreamer-0.10:0.10
|
||||
>=media-libs/gst-plugins-base-0.10:0.10
|
||||
)
|
||||
java? (
|
||||
>=dev-java/bsh-2.0_beta4
|
||||
dev-java/lucene:2.9
|
||||
dev-java/lucene-analyzers:2.3
|
||||
)
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
mysql? ( >=dev-db/mysql-connector-c++-1.1.0 )
|
||||
opengl? ( virtual/opengl )
|
||||
pdfimport? ( >=app-text/poppler-0.16[xpdf-headers(+),cxx] )
|
||||
postgres? ( >=dev-db/postgresql-base-8.4.0 )
|
||||
svg? ( gnome-base/librsvg )
|
||||
webdav? ( net-libs/neon )
|
||||
xmlsec? ( ${NSS_DEPEND} )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
!app-office/libreoffice-bin
|
||||
!app-office/libreoffice-bin-debug
|
||||
!<app-openoffice/openoffice-bin-3.4.0-r1
|
||||
!app-office/openoffice
|
||||
media-fonts/libertine-ttf
|
||||
media-fonts/liberation-fonts
|
||||
media-fonts/urw-fonts
|
||||
cups? ( net-print/cups )
|
||||
java? ( >=virtual/jre-1.6 )
|
||||
"
|
||||
|
||||
PDEPEND="
|
||||
>=app-office/libreoffice-l10n-3.5.0
|
||||
"
|
||||
|
||||
# FIXME: cppunit should be moved to test conditional
|
||||
# after everything upstream is under gbuild
|
||||
# as dmake execute tests right away
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=dev-libs/boost-1.46
|
||||
>=dev-libs/libxml2-2.7.8
|
||||
dev-libs/libxslt
|
||||
dev-perl/Archive-Zip
|
||||
dev-util/cppunit
|
||||
>=dev-util/gperf-3
|
||||
dev-util/intltool
|
||||
dev-util/mdds
|
||||
virtual/pkgconfig
|
||||
media-libs/sampleicc
|
||||
net-misc/npapi-sdk
|
||||
net-print/cups
|
||||
>=sys-apps/findutils-4.4.2
|
||||
sys-devel/bison
|
||||
sys-apps/coreutils
|
||||
sys-devel/flex
|
||||
sys-devel/gettext
|
||||
>=sys-devel/make-3.82
|
||||
sys-libs/zlib
|
||||
x11-libs/libXt
|
||||
x11-libs/libXtst
|
||||
x11-proto/randrproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xineramaproto
|
||||
x11-proto/xproto
|
||||
java? (
|
||||
>=virtual/jdk-1.6
|
||||
>=dev-java/ant-core-1.7
|
||||
test? ( dev-java/junit:4 )
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-system-pyuno.patch"
|
||||
"${FILESDIR}/${PN}-3.5-propagate-gb_FULLDEPS.patch"
|
||||
"${FILESDIR}/${PN}-3.5-doublebuild.patch"
|
||||
"${FILESDIR}/${PN}-3.5-hebrew-icu49.patch"
|
||||
)
|
||||
|
||||
REQUIRED_USE="
|
||||
nsplugin? ( gtk )
|
||||
gnome? ( gtk )
|
||||
eds? ( gnome )
|
||||
nlpsolver? ( java )
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${PN}-core-${PV}"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_pretend() {
|
||||
local pgslot
|
||||
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
CHECKREQS_MEMORY="512M"
|
||||
CHECKREQS_DISK_BUILD="6G"
|
||||
check-reqs_pkg_pretend
|
||||
|
||||
if [[ $(gcc-major-version) -lt 4 ]] || \
|
||||
( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 5 ]] ) \
|
||||
; then
|
||||
eerror "Compilation with gcc older than 4.5 is not supported"
|
||||
die "Too old gcc found."
|
||||
fi
|
||||
fi
|
||||
|
||||
# ensure pg version
|
||||
if use postgres; then
|
||||
pgslot=$(postgresql-config show)
|
||||
if [[ ${pgslot//.} < 90 ]] ; then
|
||||
eerror "PostgreSQL slot must be set to 9.0 or higher."
|
||||
eerror " postgresql-config set 9.0"
|
||||
die "PostgreSQL slot is not set to 9.0 or higher."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
java-pkg-opt-2_pkg_setup
|
||||
kde4-base_pkg_setup
|
||||
|
||||
python_set_active_version 2
|
||||
python_pkg_setup
|
||||
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
CHECKREQS_MEMORY="512M"
|
||||
CHECKREQS_DISK_BUILD="6G"
|
||||
check-reqs_pkg_pretend
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
local mod dest tmplfile tmplname mypv
|
||||
|
||||
[[ -n ${PATCHSET} ]] && unpack ${PATCHSET}
|
||||
if use branding; then
|
||||
unpack "${BRANDING}"
|
||||
fi
|
||||
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
for mod in ${MODULES}; do
|
||||
if [[ ${mod} == binfilter ]] && ! use binfilter; then
|
||||
continue
|
||||
fi
|
||||
unpack "${PN}-${mod}-${PV}.tar.xz"
|
||||
if [[ ${mod} != core ]]; then
|
||||
mv -n "${WORKDIR}/${PN}-${mod}-${PV}"/* "${S}"
|
||||
rm -rf "${WORKDIR}/${PN}-${mod}-${PV}"
|
||||
fi
|
||||
done
|
||||
else
|
||||
for mod in ${MODULES}; do
|
||||
if [[ ${mod} == binfilter ]] && ! use binfilter; then
|
||||
continue
|
||||
fi
|
||||
mypv=${PV/.9999}
|
||||
[[ ${mypv} != ${PV} ]] && EGIT_BRANCH="${PN}-${mypv/./-}"
|
||||
EGIT_PROJECT="${PN}/${mod}"
|
||||
EGIT_SOURCEDIR="${WORKDIR}/${PN}-${mod}-${PV}"
|
||||
EGIT_REPO_URI="git://anongit.freedesktop.org/${PN}/${mod}"
|
||||
EGIT_NOUNPACK="true"
|
||||
git-2_src_unpack
|
||||
if [[ ${mod} != core ]]; then
|
||||
mv -n "${WORKDIR}/${PN}-${mod}-${PV}"/* "${S}"
|
||||
rm -rf "${WORKDIR}/${PN}-${mod}-${PV}"
|
||||
fi
|
||||
done
|
||||
unset EGIT_PROJECT EGIT_SOURCEDIR EGIT_REPO_URI EGIT_BRANCH
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# optimization flags
|
||||
export ARCH_FLAGS="${CXXFLAGS}"
|
||||
export LINKFLAGSOPTIMIZE="${LDFLAGS}"
|
||||
|
||||
# patchset
|
||||
if [[ -n ${PATCHSET} ]]; then
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_SOURCE="${WORKDIR}/${PATCHSET/.tar.xz/}" \
|
||||
EPATCH_SUFFIX="patch" \
|
||||
epatch
|
||||
fi
|
||||
|
||||
base_src_prepare
|
||||
|
||||
# please no debug in binfilter, it blows up things insanely
|
||||
if use binfilter && ! use binfilterdebug ; then
|
||||
for name in $(find "${S}/binfilter" -name makefile.mk) ; do
|
||||
sed -i -e '1i\CFLAGS+= -g0' $name || die
|
||||
done
|
||||
fi
|
||||
|
||||
eautoreconf
|
||||
# hack in the autogen.sh
|
||||
touch autogen.lastrun
|
||||
# system pyuno mess
|
||||
sed \
|
||||
-e "s:%eprefix%:${EPREFIX}:g" \
|
||||
-e "s:%libdir%:$(get_libdir):g" \
|
||||
-i pyuno/source/module/uno.py \
|
||||
-i scripting/source/pyprov/officehelper.py || die
|
||||
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local java_opts
|
||||
local internal_libs
|
||||
local jbs=$(sed -ne 's/.*\(-j[[:space:]]*\|--jobs=\)\([[:digit:]]\+\).*/\2/;T;p' <<< "${MAKEOPTS}")
|
||||
|
||||
# recheck that there is some value in jobs
|
||||
[[ -z ${jbs} ]] && jbs="1"
|
||||
|
||||
# sane: just sane.h header that is used for scan in writer, not
|
||||
# linked or anything else, worthless to depend on
|
||||
# vigra: just uses templates from there
|
||||
# it is serious pain in the ass for packaging
|
||||
# should be replaced by boost::gil if someone interested
|
||||
internal_libs+="
|
||||
--without-system-sane
|
||||
--without-system-vigra
|
||||
"
|
||||
|
||||
if use java; then
|
||||
# hsqldb: system one is too new
|
||||
# saxon: system one does not work properly
|
||||
java_opts="
|
||||
--without-system-hsqldb
|
||||
--without-system-saxon
|
||||
--with-ant-home="${ANT_HOME}"
|
||||
--with-jdk-home=$(java-config --jdk-home 2>/dev/null)
|
||||
--with-java-target-version=$(java-pkg_get-target)
|
||||
--with-jvm-path="${EPREFIX}/usr/$(get_libdir)/"
|
||||
--with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar)
|
||||
--with-lucene-core-jar=$(java-pkg_getjar lucene-2.9 lucene-core.jar)
|
||||
--with-lucene-analyzers-jar=$(java-pkg_getjar lucene-analyzers-2.3 lucene-analyzers.jar)
|
||||
"
|
||||
if use test; then
|
||||
java_opts+=" --with-junit=$(java-pkg_getjar junit-4 junit.jar)"
|
||||
else
|
||||
java_opts+=" --without-junit"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use branding; then
|
||||
internal_libs+="
|
||||
--with-about-bitmap="${WORKDIR}/branding-about.png"
|
||||
--with-intro-bitmap="${WORKDIR}/branding-intro.png"
|
||||
"
|
||||
fi
|
||||
|
||||
# system headers/libs/...: enforce using system packages
|
||||
# --enable-unix-qstart-libpng: use libpng splashscreen that is faster
|
||||
# --enable-cairo: ensure that cairo is always required
|
||||
# --enable-*-link: link to the library rather than just dlopen on runtime
|
||||
# --enable-release-build: build the libreoffice as release
|
||||
# --disable-fetch-external: prevent dowloading during compile phase
|
||||
# --disable-gnome-vfs: old gnome virtual fs support
|
||||
# --disable-kdeab: kde3 adressbook
|
||||
# --disable-kde: kde3 support
|
||||
# --disable-ldap: ldap requires internal mozilla stuff, same like mozab
|
||||
# --disable-mozilla: disable mozilla build that is used for adresbook, not
|
||||
# affecting the nsplugin that is always ON
|
||||
# --disable-pch: precompiled headers cause build crashes
|
||||
# --disable-rpath: relative runtime path is not desired
|
||||
# --disable-static-gtk: ensure that gtk is linked dynamically
|
||||
# --disable-ugly: disable ugly pieces of code
|
||||
# --disable-zenity: disable build icon
|
||||
# --enable-extension-integration: enable any extension integration support
|
||||
# --with-{max-jobs,num-cpus}: ensuring parallel building
|
||||
# --without-{afms,fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
|
||||
# --without-stlport: disable deprecated extensions framework
|
||||
# --disable-ext-report-builder: too much java packages pulled in
|
||||
econf \
|
||||
--docdir="${EPREFIX}/usr/share/doc/${PF}/" \
|
||||
--with-system-headers \
|
||||
--with-system-libs \
|
||||
--with-system-jars \
|
||||
--with-system-dicts \
|
||||
--enable-cairo-canvas \
|
||||
--enable-largefile \
|
||||
--enable-python=system \
|
||||
--enable-randr \
|
||||
--enable-randr-link \
|
||||
--enable-release-build \
|
||||
--enable-unix-qstart-libpng \
|
||||
--enable-mergelibs \
|
||||
--disable-ccache \
|
||||
--disable-crashdump \
|
||||
--disable-dependency-tracking \
|
||||
--disable-epm \
|
||||
--disable-fetch-external \
|
||||
--disable-gnome-vfs \
|
||||
--disable-ext-report-builder \
|
||||
--disable-kdeab \
|
||||
--disable-kde \
|
||||
--disable-ldap \
|
||||
--disable-mozilla \
|
||||
--disable-online-update \
|
||||
--disable-pch \
|
||||
--disable-rpath \
|
||||
--disable-systray \
|
||||
--disable-static-gtk \
|
||||
--disable-strip-solver \
|
||||
--disable-ugly \
|
||||
--disable-zenity \
|
||||
--with-alloc=$(use jemalloc && echo "jemalloc" || echo "system") \
|
||||
--with-build-version="Gentoo official package" \
|
||||
--enable-extension-integration \
|
||||
--with-external-dict-dir="${EPREFIX}/usr/share/myspell" \
|
||||
--with-external-hyph-dir="${EPREFIX}/usr/share/myspell" \
|
||||
--with-external-thes-dir="${EPREFIX}/usr/share/myspell" \
|
||||
--with-external-tar="${DISTDIR}" \
|
||||
--with-lang="" \
|
||||
--with-max-jobs=${jbs} \
|
||||
--with-num-cpus=2 \
|
||||
--with-unix-wrapper=libreoffice \
|
||||
--with-vendor="Gentoo Foundation" \
|
||||
--with-x \
|
||||
--without-afms \
|
||||
--without-fonts \
|
||||
--without-myspell-dicts \
|
||||
--without-stlport \
|
||||
--without-system-mozilla \
|
||||
--without-help \
|
||||
--with-helppack-integration \
|
||||
--without-sun-templates \
|
||||
$(use_enable binfilter) \
|
||||
$(use_enable dbus) \
|
||||
$(use_enable eds evolution2) \
|
||||
$(use_enable gnome gconf) \
|
||||
$(use_enable gnome gio) \
|
||||
$(use_enable gnome lockdown) \
|
||||
$(use_enable graphite) \
|
||||
$(use_enable gstreamer) \
|
||||
$(use_enable gtk) \
|
||||
--disable-gtk3 \
|
||||
$(use_enable java ext-scripting-beanshell) \
|
||||
$(use_enable kde kde4) \
|
||||
$(use_enable mysql ext-mysql-connector) \
|
||||
$(use_enable nlpsolver ext-nlpsolver) \
|
||||
$(use_enable nsplugin) \
|
||||
$(use_enable odk) \
|
||||
$(use_enable opengl) \
|
||||
$(use_enable pdfimport ext-pdfimport) \
|
||||
$(use_enable postgres postgresql-sdbc) \
|
||||
$(use_enable svg librsvg system) \
|
||||
$(use_enable test linkoo) \
|
||||
$(use_enable vba) \
|
||||
$(use_enable vba activex-component) \
|
||||
$(use_enable webdav neon) \
|
||||
$(use_enable xmlsec) \
|
||||
$(use_with java) \
|
||||
$(use_with mysql system-mysql-cppconn) \
|
||||
${internal_libs} \
|
||||
${java_opts}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# hack for offlinehelp, this needs fixing upstream at some point
|
||||
# it is broken because we send --without-help
|
||||
# https://bugs.freedesktop.org/show_bug.cgi?id=46506
|
||||
(
|
||||
source "${S}/Env.Host.sh" 2&> /dev/null
|
||||
|
||||
local path="${SOLARVER}/${INPATH}/res/img"
|
||||
mkdir -p "${path}" || die
|
||||
|
||||
echo "perl \"${S}/helpcontent2/helpers/create_ilst.pl\" -dir=default_images/res/helpimg > \"${path}/helpimg.ilst\""
|
||||
perl "${S}/helpcontent2/helpers/create_ilst.pl" \
|
||||
-dir=default_images/res/helpimg \
|
||||
> "${path}/helpimg.ilst"
|
||||
[[ -s "${path}/helpimg.ilst" ]] || ewarn "The help images list is empty, something is fishy, report a bug."
|
||||
)
|
||||
|
||||
# not a proper make script
|
||||
make build || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
make check || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# This is not Makefile so no buildserver
|
||||
make DESTDIR="${D}" distro-pack-install -o build -o check || die
|
||||
|
||||
# Fix bash completion placement
|
||||
newbashcomp "${ED}"/etc/bash_completion.d/libreoffice.sh ${PN}
|
||||
rm -rf "${ED}"/etc/
|
||||
|
||||
# symlink the nsplugin to system location
|
||||
if use nsplugin; then
|
||||
inst_plugin /usr/$(get_libdir)/libreoffice/program/libnpsoplugin.so
|
||||
fi
|
||||
|
||||
if use branding; then
|
||||
insinto /usr/$(get_libdir)/${PN}/program
|
||||
newins "${WORKDIR}/branding-sofficerc" sofficerc
|
||||
fi
|
||||
|
||||
# Hack for offlinehelp, this needs fixing upstream at some point.
|
||||
# It is broken because we send --without-help
|
||||
# https://bugs.freedesktop.org/show_bug.cgi?id=46506
|
||||
insinto /usr/$(get_libdir)/libreoffice/help
|
||||
doins xmlhelp/util/*.xsl
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# Cache updates - all handled by kde eclass for all environments
|
||||
kde4-base_pkg_preinst
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
kde4-base_pkg_postinst
|
||||
|
||||
pax-mark -m "${EPREFIX}"/usr/$(get_libdir)/libreoffice/program/soffice.bin
|
||||
pax-mark -m "${EPREFIX}"/usr/$(get_libdir)/libreoffice/program/unopkg.bin
|
||||
|
||||
use cups || \
|
||||
ewarn 'You will need net-print/cups to be able to print and export to PDF with libreoffice.'
|
||||
|
||||
use java || \
|
||||
ewarn 'If you plan to use lbase aplication you should enable java or you will get various crashes.'
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
kde4-base_pkg_postrm
|
||||
}
|
@ -1,4 +1,2 @@
|
||||
DIST eigen-2.0.16.tar.bz2 367748 SHA256 0c9379d6bfdde78c5a1794e0bdfcc875688bea4a9ff2e40b8a631a8c4981687b SHA512 23ca985204d003f280646631554274d58d8321b8ac4f4cc87d47dbb0a22ec15554d50d075f0c941efc55c5ae4c827f2259c1196f2480e7095dff11d990a2e463 WHIRLPOOL 8b97f6f1ba6f6e60214af8741cff715e6ab0aa1b400325e38f32cd68ef26f2a35517423f0157282c8d969fcc1d64e39629e030ec9a2ce3321aea9111923961b5
|
||||
DIST eigen-2.0.17.tar.bz2 367890 SHA256 7255e856ed367ce6e6e2d4153b0e4e753c8b8d36918bf440dd34ad56aff09960 SHA512 8fa0e4507864f61c30de14e3b29d963eb8b777d1a6bb04192d53e1f4c9db323b9fab2ddcedb63bf2af243fe0e26dcd717e97eb72216b6a1d444e455520192c72 WHIRLPOOL d80f12b378e23b758e4dbd173b87bed93bc42a97f2541b653b4373ea6ce0803bd712de00cf5a014a72cd439bb3ad10fd24b2ef8982975e044ff4d7bb2b63f585
|
||||
DIST eigen-3.0.5.tar.bz2 960679 SHA256 eea706ea59b534d0c8dba6f94f022158e54f812f171c9956f89873ecb1ee577c SHA512 37d0bf932d97fc7315ef836976cdba7aaa9938aba6abf6ed7562bd0ef7de7f01b9bdb7980bae13f5432ff0342b230883f00aea5bcf96d3364007694b40fc566e WHIRLPOOL 5f0060cb80b6824782ab39274b8763288b90bfad0e446dfe3965b40b8502e7660986ac7924c6f1e127f57cbe6e37ed51cb374442b8d24e5babd7559d161e2b8b
|
||||
DIST eigen-3.0.6.tar.bz2 961722 SHA256 32e1275a105339003ba34007dd07dc1c62077d75882f3eeddd40a7ec5a5bfd87 SHA512 97cf5126984848f31b3c45c44d7ee6b8d42eca459ff2cc5535413efc768254a1ab738d935c70f9a457a9eaee5faa3c1b08c1f17193b6fcecb5ae0f0b6b32d1fa WHIRLPOOL e17409a807228b63b866c282f767c9107e6c0b45ad84bb311a5ef70053dca3d48580c8839bb6b8fcf5c5bab1a0c102413a96c06007bfbd2218bf260c4a522586
|
||||
|
@ -1,76 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-cpp/eigen/eigen-2.0.16.ebuild,v 1.8 2012/10/17 14:16:25 jer Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit cmake-utils
|
||||
|
||||
DESCRIPTION="C++ template library for linear algebra: vectors, matrices, and related algorithms"
|
||||
HOMEPAGE="http://eigen.tuxfamily.org/"
|
||||
SRC_URI="https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
KEYWORDS="alpha amd64 ~hppa ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
|
||||
SLOT="2"
|
||||
IUSE="debug doc examples"
|
||||
|
||||
COMMON_DEPEND="
|
||||
examples? (
|
||||
x11-libs/qt-gui:4
|
||||
x11-libs/qt-opengl:4
|
||||
)"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
doc? ( app-doc/doxygen )"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
!dev-cpp/eigen:0"
|
||||
|
||||
MAKEOPTS+=" -j1"
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
mv ${PN}* ${P} || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# benchmarks (BTL) brings up damn load of external deps including fortran
|
||||
# compiler
|
||||
# library hangs up complete compilation proccess, test later
|
||||
mycmakeargs=(
|
||||
-DEIGEN_BUILD_LIB=OFF
|
||||
-DEIGEN_BUILD_BTL=OFF
|
||||
-DEIGEN_BUILD_PKGCONFIG=ON
|
||||
$(cmake-utils_use examples EIGEN_BUILD_DEMOS)
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake-utils_src_compile
|
||||
if use doc; then
|
||||
cd "${CMAKE_BUILD_DIR}"
|
||||
emake doc
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake-utils_src_install
|
||||
if use doc; then
|
||||
cd "${CMAKE_BUILD_DIR}"/doc
|
||||
dohtml -r html/*
|
||||
fi
|
||||
if use examples; then
|
||||
cd "${CMAKE_BUILD_DIR}"/demos
|
||||
dobin mandelbrot/mandelbrot opengl/quaternion_demo
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
mycmakeargs=(
|
||||
-DEIGEN_BUILD_TESTS=ON
|
||||
-DEIGEN_TEST_NO_FORTRAN=ON
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
cmake-utils_src_compile
|
||||
cmake-utils_src_test
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-cpp/eigen/eigen-3.0.5.ebuild,v 1.1 2012/03/08 03:04:01 dilfridge Exp $
|
||||
|
||||
EAPI="2"
|
||||
|
||||
inherit cmake-utils
|
||||
|
||||
DESCRIPTION="C++ template library for linear algebra: vectors, matrices, and related algorithms"
|
||||
HOMEPAGE="http://eigen.tuxfamily.org/"
|
||||
SRC_URI="http://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2 GPL-3"
|
||||
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
SLOT="3"
|
||||
IUSE="debug doc"
|
||||
|
||||
DEPEND="doc? ( app-doc/doxygen )"
|
||||
RDEPEND="!dev-cpp/eigen:0"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-3.0.0-gcc46.patch
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
mv ${PN}* ${P}
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# benchmarks (BTL) brings up damn load of external deps including fortran
|
||||
# compiler
|
||||
CMAKE_BUILD_TYPE="release"
|
||||
mycmakeargs=(
|
||||
-DEIGEN_BUILD_BTL=OFF
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake-utils_src_compile
|
||||
if use doc; then
|
||||
cd "${CMAKE_BUILD_DIR}"
|
||||
emake doc || die "building documentation failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake-utils_src_install
|
||||
if use doc; then
|
||||
cd "${CMAKE_BUILD_DIR}"/doc
|
||||
dohtml -r html/* || die "dohtml failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
mycmakeargs=(
|
||||
-DEIGEN_BUILD_TESTS=ON
|
||||
-DEIGEN_TEST_NO_FORTRAN=ON
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
cmake-utils_src_compile
|
||||
cmake-utils_src_test
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
diff -ruN eigen-3.0.2.orig/Eigen/src/Core/Fuzzy.h eigen-3.0.2/Eigen/src/Core/Fuzzy.h
|
||||
--- eigen-3.0.2.orig/Eigen/src/Core/Fuzzy.h 2011-08-26 14:56:26.000000000 +0200
|
||||
+++ eigen-3.0.2/Eigen/src/Core/Fuzzy.h 2011-09-30 23:29:55.459594976 +0200
|
||||
@@ -94,7 +94,7 @@
|
||||
*
|
||||
* \note The fuzzy compares are done multiplicatively. Two vectors \f$ v \f$ and \f$ w \f$
|
||||
* are considered to be approximately equal within precision \f$ p \f$ if
|
||||
- * \f[ \Vert v - w \Vert \leqslant p\,\(min)(\Vert v\Vert, \Vert w\Vert). \f]
|
||||
+ * \f[ \Vert v - w \Vert \leqslant p\,\min(\Vert v\Vert, \Vert w\Vert). \f]
|
||||
* For matrices, the comparison is done using the Hilbert-Schmidt norm (aka Frobenius norm
|
||||
* L2 norm).
|
||||
*
|
@ -1 +1,2 @@
|
||||
DIST bloomfilter-1.2.6.10.tar.gz 21533 SHA256 927420bcc1e1dec89ddfc1437d551fb2de325fd6bd01d79b207b3a84ca6152fc SHA512 c3bad38edf59bd59439c24385e300fab90f4ccd1b1faf7bea6c4b25b2bcabdfc806a7274d1cad40a711312b016d6fbb99a0ca9cf8b358ad874bbbabc14e1f454 WHIRLPOOL 2008461972b46dc1253972d7e31badb7e8e286556ee03e7bd7e0c7c35cdffccec801eea41cc6096beedc1cf40fb1fb4a84925efdab39202a1f869a80899d4e6d
|
||||
DIST bloomfilter-1.2.6.8.tar.gz 20282 SHA256 ce1625badd464db49433fd03844aec807e54d927bab3c017e37a2eec5d2b6263 SHA512 569320da18a40b3c3828654058e74995cbcb8698f1053c3033af7aa1cd055e6f4d57b7a7aa2fd5af43bd20d93ff75da748037cb42806b92c8017c92c37420aa2 WHIRLPOOL 9d535daad1137e0792f468b4a150cc61dd0a0607ef25c0d1c31382e3eac28e8ae15960543578a8418562aba57fe59af16a56df854076f37d37d4fda8957a68e7
|
||||
|
@ -0,0 +1,39 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-haskell/bloomfilter/bloomfilter-1.2.6.10-r1.ebuild,v 1.1 2013/01/01 13:17:08 slyfox Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
# ebuild generated by hackport 0.2.18.9999
|
||||
|
||||
CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
|
||||
inherit eutils haskell-cabal
|
||||
|
||||
DESCRIPTION="Pure and impure Bloom Filter implementations."
|
||||
HOMEPAGE="https://github.com/bos/bloomfilter"
|
||||
SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="dev-haskell/deepseq:=[profile?]
|
||||
>=dev-lang/ghc-6.8.2:="
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( >=dev-haskell/quickcheck-2.4
|
||||
<dev-haskell/quickcheck-2.6
|
||||
dev-haskell/random
|
||||
dev-haskell/test-framework
|
||||
dev-haskell/test-framework-quickcheck2
|
||||
)
|
||||
>=dev-haskell/cabal-1.8"
|
||||
|
||||
src_prepare() {
|
||||
cabal_chdeps \
|
||||
'QuickCheck == 2.4.*' 'QuickCheck >= 2.4 && < 2.6'
|
||||
|
||||
if has_version ">=dev-haskell/quickcheck-2.5"; then
|
||||
epatch "${FILESDIR}/${PN}-1.2.6.10-quickcheck-2.6.patch"
|
||||
fi
|
||||
}
|
@ -1,80 +0,0 @@
|
||||
{-
|
||||
Setup.hs: based on code from ghc-paths of Simon Marlow
|
||||
Fixed to not use the .buildinfo, and use -Dfoo flags for both libraries and executables
|
||||
|
||||
Modified 2010-03-30 to work with both cabal-1.6 and cabal-1.8. See bug #302489.
|
||||
-}
|
||||
import Distribution.Simple
|
||||
import Distribution.Simple.Setup
|
||||
import Distribution.PackageDescription
|
||||
import Distribution.Simple.LocalBuildInfo
|
||||
import Distribution.InstalledPackageInfo
|
||||
import Distribution.Simple.Program
|
||||
import Distribution.Simple.PackageIndex as Pkg
|
||||
|
||||
import System.Exit
|
||||
import System.IO
|
||||
import Data.IORef
|
||||
import Data.Char
|
||||
import Data.Maybe
|
||||
|
||||
main = defaultMainWithHooks simpleUserHooks {
|
||||
confHook = myCustomConfHook
|
||||
}
|
||||
where
|
||||
{- With cabal-1.6, myCustomConfHook has this type
|
||||
myCustomConfHook :: (Either GenericPackageDescription PackageDescription, HookedBuildInfo)
|
||||
-> ConfigFlags
|
||||
-> IO LocalBuildInfo
|
||||
With cabal-1.8, myCustomConfHook has this type
|
||||
myCustomConfHook :: (GenericPackageDescription, HookedBuildInfo)
|
||||
|
||||
So, better to not specify the type at all as we're not required to...
|
||||
-}
|
||||
myCustomConfHook gpd flags = do
|
||||
-- get the default LBI
|
||||
lbi <- confHook simpleUserHooks gpd flags
|
||||
let programs = withPrograms lbi
|
||||
|
||||
libdir_ <- rawSystemProgramStdoutConf (fromFlag (configVerbosity flags))
|
||||
ghcProgram programs ["--print-libdir"]
|
||||
let libdir = reverse $ dropWhile isSpace $ reverse libdir_
|
||||
|
||||
ghc_pkg = case lookupProgram ghcPkgProgram programs of
|
||||
Just p -> programPath p
|
||||
Nothing -> error "ghc-pkg was not found"
|
||||
ghc = case lookupProgram ghcProgram programs of
|
||||
Just p -> programPath p
|
||||
Nothing -> error "ghc was not found"
|
||||
|
||||
-- figure out docdir from base's haddock-html field
|
||||
base_pkg = case searchByName (installedPkgs lbi) "base" of
|
||||
None -> error "no base package"
|
||||
Unambiguous (x:_) -> x
|
||||
_ -> error "base ambiguous"
|
||||
base_html = case haddockHTMLs base_pkg of
|
||||
[] -> ""
|
||||
(x:_) -> x
|
||||
docdir = fromMaybe base_html $
|
||||
fmap reverse (stripPrefix (reverse "/libraries/base")
|
||||
(reverse base_html))
|
||||
|
||||
let programs' = userSpecifyArgs "ghc" ["-DGHC_PATHS_GHC_PKG=" ++ show ghc_pkg,
|
||||
"-DGHC_PATHS_GHC=" ++ show ghc,
|
||||
"-DGHC_PATHS_LIBDIR=" ++ show libdir,
|
||||
"-DGHC_PATHS_DOCDIR=" ++ show docdir
|
||||
] programs
|
||||
-- returning our modified LBI that includes the -D definitions
|
||||
return lbi { withPrograms = programs' }
|
||||
|
||||
die :: String -> IO a
|
||||
die msg = do
|
||||
hFlush stdout
|
||||
hPutStr stderr msg
|
||||
exitWith (ExitFailure 1)
|
||||
|
||||
stripPrefix :: Eq a => [a] -> [a] -> Maybe [a]
|
||||
stripPrefix [] ys = Just ys
|
||||
stripPrefix (x:xs) (y:ys)
|
||||
| x == y = stripPrefix xs ys
|
||||
stripPrefix _ _ = Nothing
|
@ -1,70 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-haskell/haddock/haddock-2.10.0.ebuild,v 1.4 2012/10/21 08:04:50 slyfox Exp $
|
||||
|
||||
EAPI="4"
|
||||
|
||||
CABAL_FEATURES="bin lib profile haddock hscolour nocabaldep"
|
||||
inherit eutils haskell-cabal pax-utils
|
||||
|
||||
DESCRIPTION="A documentation-generation tool for Haskell libraries"
|
||||
HOMEPAGE="http://www.haskell.org/haddock/"
|
||||
SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
# ia64 lost as we don't have ghc-7 there yet
|
||||
# ppc64 needs to be rekeyworded due to xhtml not being keyworded
|
||||
KEYWORDS="~alpha ~amd64 -ia64 ~ppc ~sparc ~x86 ~x86-fbsd"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="dev-haskell/ghc-paths[profile?]
|
||||
=dev-haskell/xhtml-3000.2*[profile?]
|
||||
>=dev-lang/ghc-7.4"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-haskell/cabal-1.14"
|
||||
|
||||
RESTRICT="test" # avoid depends on QC
|
||||
|
||||
CABAL_EXTRA_BUILD_FLAGS="--ghc-options=-rtsopts"
|
||||
|
||||
src_prepare() {
|
||||
# we would like to avoid happy and alex depends
|
||||
epatch "${FILESDIR}"/${P}-drop-tools.patch
|
||||
|
||||
for f in Lex Parse; do
|
||||
rm "src/Haddock/$f."*
|
||||
mv "dist/build/haddock/haddock-tmp/Haddock/$f.hs" src/Haddock/
|
||||
done
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# create a fake haddock executable. it'll set the right version to cabal
|
||||
# configure, but will eventually get overwritten in src_compile by
|
||||
# the real executable.
|
||||
local exe="${S}/dist/build/haddock/haddock"
|
||||
mkdir -p $(dirname "${exe}")
|
||||
echo -e "#!/bin/sh\necho Haddock version ${PV}" > "${exe}"
|
||||
chmod +x "${exe}"
|
||||
|
||||
# we use 'nocabaldep' to use ghc's bundled Cabal
|
||||
# as external one is likely to break our haddock
|
||||
# (known to work on 1.16.0 and breaks on 1.16.0.1!)
|
||||
haskell-cabal_src_configure \
|
||||
--with-haddock="${exe}" \
|
||||
--constraint="Cabal == $(cabal-version)"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# when building the (recursive..) haddock docs, change the datadir to the
|
||||
# current directory, as we're using haddock inplace even if it's built to be
|
||||
# installed into the system first.
|
||||
haddock_datadir="${S}" haskell-cabal_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cabal_src_install
|
||||
# haddock uses GHC-api to process TH source.
|
||||
# TH requires GHCi which needs mmap('rwx') (bug #299709)
|
||||
pax-mark -m "${D}/usr/bin/${PN}"
|
||||
}
|
@ -1,80 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-haskell/haddock/haddock-2.4.2.ebuild,v 1.11 2012/09/14 07:03:20 qnikst Exp $
|
||||
|
||||
CABAL_FEATURES="bin lib"
|
||||
# don't enable profiling as the 'ghc' package is not built with profiling
|
||||
inherit haskell-cabal autotools pax-utils
|
||||
|
||||
GHCPATHS_PN="ghc-paths"
|
||||
GHCPATHS_PV="0.1.0.5"
|
||||
GHCPATHS_P="${GHCPATHS_PN}-${GHCPATHS_PV}"
|
||||
|
||||
DESCRIPTION="A documentation-generation tool for Haskell libraries"
|
||||
HOMEPAGE="http://www.haskell.org/haddock/"
|
||||
SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz
|
||||
mirror://hackage/packages/archive/${GHCPATHS_PN}/${GHCPATHS_PV}/${GHCPATHS_P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="doc"
|
||||
|
||||
# haddock-2.4.2 also deps on the upgradeable package dev-haskell/filepath.
|
||||
# however, it's included in >=ghc-6.10, so we use the core package without
|
||||
# stating the dependency in DEPEND.
|
||||
|
||||
# we bundle the dep on ghc-paths to reduce the dependencies on this critical
|
||||
# package. ghc-paths would like to be compiled with USE=doc, which pulls in
|
||||
# haddock, which requires ghc-paths, which pulls in haddock...
|
||||
|
||||
# doesn't build with ghc-6.10.1, but that has never been in portage
|
||||
RDEPEND="=dev-lang/ghc-6.10*"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-haskell/cabal-1.6
|
||||
doc? ( ~app-text/docbook-xml-dtd-4.2
|
||||
app-text/docbook-xsl-stylesheets
|
||||
>=dev-libs/libxslt-1.1.2 )"
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
|
||||
# use ghc-paths directly, not as a library
|
||||
sed -e "s|build-depends: ghc-paths|hs-source-dirs: ../${GHCPATHS_P}|" \
|
||||
-e "s|Simple|Custom|" \
|
||||
-i "${S}/${PN}.cabal"
|
||||
|
||||
# ghc-paths has a custom Setup.hs, haddock has the default Setup.lhs.
|
||||
# we use a somewhat modified ghc-paths Setup.hs that works better for our
|
||||
# purposes.
|
||||
rm "${S}/Setup.lhs"
|
||||
cp "${FILESDIR}/${P}-Setup.hs" "${S}/Setup.hs"
|
||||
|
||||
if use doc; then
|
||||
cd "${S}/doc"
|
||||
eautoreconf
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
src_compile () {
|
||||
cabal_src_compile
|
||||
if use doc; then
|
||||
cd "${S}/doc"
|
||||
./configure --prefix="${D}/usr/" \
|
||||
|| die 'error configuring documentation.'
|
||||
emake html || die 'error building documentation.'
|
||||
fi
|
||||
}
|
||||
|
||||
src_install () {
|
||||
cabal_src_install
|
||||
# haddock uses GHC-api to process TH source.
|
||||
# TH requires GHCi which needs mmap('rwx') (bug #299709)
|
||||
pax-mark -m "${D}/usr/bin/${PN}"
|
||||
|
||||
if use doc; then
|
||||
dohtml -r "${S}/doc/haddock/"*
|
||||
fi
|
||||
dodoc CHANGES README
|
||||
}
|
@ -1,77 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-haskell/haddock/haddock-2.9.2.ebuild,v 1.4 2012/09/14 07:03:20 qnikst Exp $
|
||||
|
||||
# ebuild generated by hackport 0.2.9
|
||||
|
||||
# haddock-2.8.{0,1} on hackage does not work with ghc-7.
|
||||
# this ebuild uses a tarball of what's distributed with ghc-7.
|
||||
|
||||
EAPI="3"
|
||||
|
||||
CABAL_FEATURES="bin lib profile haddock hscolour"
|
||||
inherit haskell-cabal pax-utils
|
||||
|
||||
DESCRIPTION="A documentation-generation tool for Haskell libraries"
|
||||
HOMEPAGE="http://www.haskell.org/haddock/"
|
||||
SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
# ia64 lost as we don't have ghc-7 there yet
|
||||
# ppc64 needs to be rekeyworded due to xhtml not being keyworded
|
||||
KEYWORDS="~alpha ~amd64 -ia64 ~ppc ~sparc ~x86 ~x86-fbsd"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="dev-haskell/ghc-paths
|
||||
=dev-haskell/xhtml-3000.2*
|
||||
>=dev-lang/ghc-7"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-haskell/cabal-1.10 <dev-haskell/cabal-1.14"
|
||||
|
||||
CABAL_EXTRA_BUILD_FLAGS="--ghc-options=-rtsopts"
|
||||
|
||||
# although haddock depends on alex and happy to build from scratch, we don't
|
||||
# want this ebuild to depend on those packages.
|
||||
# we use haddock to build the documentation enabled by USE="doc".
|
||||
# alex and happy only build executables, which does not require haddock.
|
||||
# however, happy depends on mtl which can be build with USE="doc", which would
|
||||
# create a circular dependency.
|
||||
# haddock upstream solved this by bundling preprocessed files.
|
||||
# unfortunately cabal has recently changed which directory it uses for these
|
||||
# intermediate files and thus the solution does not work anymore.
|
||||
# to fix this we move those preprocessed files back to the source tree.
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${P}-cabal-1.10.patch
|
||||
for f in Lex Parse; do
|
||||
rm "src/Haddock/$f."*
|
||||
mv "dist/build/haddock/haddock-tmp/Haddock/$f.hs" src/Haddock/
|
||||
done
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# create a fake haddock executable. it'll set the right version to cabal
|
||||
# configure, but will eventually get overwritten in src_compile by
|
||||
# the real executable.
|
||||
local exe="${S}/dist/build/haddock/haddock"
|
||||
mkdir -p $(dirname "${exe}")
|
||||
echo -e "#!/bin/sh\necho Haddock version ${PV}" > "${exe}"
|
||||
chmod +x "${exe}"
|
||||
|
||||
haskell-cabal_src_configure --with-haddock="${exe}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# when building the (recursive..) haddock docs, change the datadir to the
|
||||
# current directory, as we're using haddock inplace even if it's built to be
|
||||
# installed into the system first.
|
||||
haddock_datadir="${S}" haskell-cabal_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cabal_src_install
|
||||
# haddock uses GHC-api to process TH source.
|
||||
# TH requires GHCi which needs mmap('rwx') (bug #299709)
|
||||
pax-mark -m "${D}/usr/bin/${PN}"
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,15 +1,18 @@
|
||||
DIST php-5.3.15.tar.bz2 11307865 SHA256 f9b725659e64228a60883bd134afe1f638900b6b8fa93ba98053095b0892f1ef SHA512 40334a3c7957637506d265fc9c534a8e35dabd83683d30094f1b48b69e4b20a40715d0b4ad98fb8467e91f74f878fb148b910e7d0a5df22ee3e601b4228c8180 WHIRLPOOL 7b8fee9c90a9af88d95b5ee7877081b0030cee0ccc2d431ddb97c3bd857624c1124aa2109b709334387e4b073ce3bbf3297bd13c1d805791fb41cb226faac0df
|
||||
DIST php-5.3.18.tar.bz2 11335289 SHA256 f065deecb78abb8ef101e1098866024af4ca10cb30139608c9a18e40236f1a2f SHA512 39b9532b65b86737ad825c76c42551840707c7eee311af7307bfbb1a41f7533ff6afec07fc9c3d42c8684aa08d814118ae3ff020b25fab1faaf1229e0ab9568d WHIRLPOOL 480916325f4e05ed4f7d4b40a62c6c8966111abdab687a74772749f9291991797106b39d74b9a00984eeb70b28096059032c77439d38a2e1467f2362e46ebd79
|
||||
DIST php-5.3.19.tar.bz2 11359557 SHA256 814ce55b950158c4ddadbcd0b2d7d8cb4b570de4a29b9db021020594e2469fd6 SHA512 917dc765c917b8e33bc60afe528ec5477995970cb1fc45325c0abf5ebf88b35741a97c3b51b53491695cb7e50acc15ac1731eb040517e6a67703ddd603881a39 WHIRLPOOL ca90bb1f3e45839f2d6797e0825613ddec869f2d8007570f2c9056d16e22d3c50b0a0560244ede75ae014b4b98df5efa774e397e82fb18e8f16a45cb08eb4723
|
||||
DIST php-5.3.20.tar.bz2 11358034 SHA256 578c26e6932dd7a37ff14e4e2237bc3235386fe897ba2e456e937e647727cd07 SHA512 1f3282cef5d553f28324b8f011acef59319441a8a258355b908fb6f69eaad8f1d736dc03259ddc168c20332510b7c73b5afb21934d3d14cb4f893f5cee59bd9b WHIRLPOOL 7e41bea91aec20a371b1e5a0de7e76f3e34d2b51c0378e76155c101297ac3811c9f0ced43abe911e64f812ca8130dd9cfc27090f29beb5cfaec1957de0f3d38e
|
||||
DIST php-5.4.10.tar.bz2 11145757 SHA256 c5bffda2154aedd9851c1e9b7da66f6c44c199716bd202054dd5d4a4f5f997e4 SHA512 2d8074dba24776113be208fa354c839168ce138b407ca45ed2334f91a54aff041f34280a87fb9e64ce29638047a48d481c384ffbf19cc0b5eb88aa39aba5beb4 WHIRLPOOL 2f39f62f618d4752031ddba98b95c7d00e7ac71318dd87ed0a1bc162a9b0d8383d376a8038598a0c2c291bb4f8421c84aa74c2eca6e8c173e60a8a51950b7c8c
|
||||
DIST php-5.4.5.tar.bz2 11011780 SHA256 7af9a1b6b1653f15d679c8e505b24c4dc2dc2a8d55521a142a7f523d06ae6ad9 SHA512 568144b57ecf8ceadbeb33a2071bae68a58e60624084fec4e6b11f96c94ad2bc136a0db9a8d8a1b1663a7baf8a0a97dacf35578cfde0642ee0cc8b047c177866 WHIRLPOOL ecb8c8c35cf896db94c5f5c9a673fbabd40ba71511fd651ac52f2b6dd25070dc5236854149f51e550f58aa26214693d0875cad4bd6bbbb820062143eac27d71d
|
||||
DIST php-5.4.6.tar.bz2 11026249 SHA256 031181ef9167b31ce1dad9146b7a1a6151da44b3bafc0756fb7c5794b24ac0f5 SHA512 bf6c377999538c815ddc149ed7f8ba5feb08e3ae4e2f1abe559a6ad2a9ce6a7205ec62345640c1f8498d3ddea62bc997f31f8f77caca6a483b123551f1695cf1 WHIRLPOOL e7d0924b0a9c0d85e257be0cf0c314cda19d6da02f02111562a47873ab72b0ea20419e4c25b29c46cfc3df0aa1a30f767d88f5131456c36af60f71b47bcf76fe
|
||||
DIST php-5.4.8.tar.bz2 11056057 SHA256 d02810b7949938ee7190116e7483e1a06b3fa8373d3bbc0ea65a41265afce79f SHA512 e04ee08e7d1b6f80183846206d02576ad22ea3f41e956bab970344b195f1d2267f1ff69439988cea7084c18576d7855383e48094bdb7684d43cb0f78e4a5e7b8 WHIRLPOOL 963153d85236bd105cbf11a89dd0db11e590cc292bb499abaa9271dbb47eeb124ef011af9561cb5569840d32130934c70cd8ebb4d619147892044ab8c3be09bd
|
||||
DIST php-5.4.9.tar.bz2 11144400 SHA256 c0649971cfa9723701d085e227376374569689689b8421e4dcfac56c2f6fcac5 SHA512 70b42e6f160aadc6a0d0541617acf0decd85bfe18db88bb524dd479dd4a1c1b63a519eb116eb594a542b90b627494a1a3388a616350ea6c4203abce325a1edb5 WHIRLPOOL 9d27c3e6ebbb8b8f95e9c21a62363a3e6a43ff12eae279372204c281513fb7f1625a0da779d84024ef4410f6fd403c9fc9812f0f2d148f0d137fe71f0b7007f7
|
||||
DIST php-5.5.0alpha1.tar.bz2 11572429 SHA256 8dd5b13fd5372b613722d1814ad2fbd733ea3b59866f078610ca9a73b3f10994 SHA512 dcf99740ae3cff53758e78f41f10bc32e64c3ac4bffe784a9ae3ac957f216402d744920ce253124914411b0ae936684a86fd965a0531bc038553b31718840c8d WHIRLPOOL 397d4ca4233041b66e3073640a6daf5b5c07d0daf72f58493b1befd0fdb176f4f8a2d408676708dd4bcc7ae4270fd5abf1a0e71f8c060cef5543bed1effdf51c
|
||||
DIST php-5.5.0alpha2.tar.bz2 11572909 SHA256 d618f8f570e3d29fff8f581a1e4228e9c0e3e51ecc6a295621863181822d913c SHA512 24dc24998aa8ecd29075f0c7b8f67b732e9b1aa7a36576a0b1536ff479679e8fb8c78681644be42d5ca948b20ec0a58a14c57f30c888a432daf7a0f5ab582e78 WHIRLPOOL e962d168091c65c957fb1df75cd64349a74e9cab7fc66efa2ab514d44b49bd5a7e28152c9c4e189390dfaff0925ab75583cf0c0286aa14397b8dabc1ced75848
|
||||
DIST php-patchset-5.3-r0.tar.bz2 7368 SHA256 1a67b34a681dea33ea38f0ffc32b70a78b4c5dc1c3603d1bba31bb130d803ef7 SHA512 765b0cf56a3e63ded4ad1d1ba67567881ad06bdc2814cc07004fa338f38fd69078819c7463d2c55e00805c8f33fa925b94228bf7bc3d223acc33c6cff540024c WHIRLPOOL 59e18b33e11d968fac2a4571173121bf8141bb2f1eab62192e15bc59e351d3ab973f04343b447681d8a2adddf0844edb8a481d027bfc14c7e1fd8222169094ec
|
||||
DIST php-patchset-5.3.15-r0.tar.bz2 7357 SHA256 df239b883d40386cf98e44bd107a36ebcb34554058c0857748c5715ba2dcb1e8 SHA512 c1bd1933a2119037c38fbb46fc0799dd0a9c5acaf11fc4d8d885f644a429350ddcf170bb74e91bfa11139e35b52c73c5db60a2783ab0b5113c675373699c11d1 WHIRLPOOL 87a2993c0c9573241f73e1fa3f0e6bcaee39df6f4ce5501299ea84731ef15eeca05e3d04948c92cf278df6c45edc3f580c28a99667f22d377b1566662c67ff9f
|
||||
DIST php-patchset-5.3.18-r0.tar.bz2 7360 SHA256 8e7d449a4ab50dd8da241f2992fdaee012eafe4da6c66609231cff68d84c5c9f SHA512 625f456649964a959c7aa399c6c4fbeff8dd0b45372153819d42b447069e78cce99b4b6c30d89a64b211d230e17ef28e99d5e3b9055dd59e19b8103337de8d09 WHIRLPOOL cb1ae11173fa6d0a0f26a313d036f6f2109bc704531c5db76a584cc243b5f16ccff3c5e0c943196b5f13a7603e222c2f2c0eb393d754faf66fa5d54e5f627fde
|
||||
DIST php-patchset-5.4-2.tar.bz2 5824 SHA256 4a47f4d31f50a244f85349486cdb3474cf315562e097ed4c116c2b9b5730ecef SHA512 3c2523458a627373da7acb93fb2cd621f50b19fe2ba1d30beb62eeaaa39045262b917cfd0b631046fec9c8027cfa99bd0426a079ab45eb172b21d25d6e085dde WHIRLPOOL fe4f015e2f0dc66cc23ef16fb5bb33117952593ae0770d4bcd37ecc1c431cbcc7874189d265696305c60b4e395e7ce902667e38203db46867304868271affdea
|
||||
DIST php-patchset-5.4-r2.tar.bz2 5824 SHA256 4a47f4d31f50a244f85349486cdb3474cf315562e097ed4c116c2b9b5730ecef SHA512 3c2523458a627373da7acb93fb2cd621f50b19fe2ba1d30beb62eeaaa39045262b917cfd0b631046fec9c8027cfa99bd0426a079ab45eb172b21d25d6e085dde WHIRLPOOL fe4f015e2f0dc66cc23ef16fb5bb33117952593ae0770d4bcd37ecc1c431cbcc7874189d265696305c60b4e395e7ce902667e38203db46867304868271affdea
|
||||
DIST php-patchset-5.5-r0.tar.bz2 5824 SHA256 4a47f4d31f50a244f85349486cdb3474cf315562e097ed4c116c2b9b5730ecef SHA512 3c2523458a627373da7acb93fb2cd621f50b19fe2ba1d30beb62eeaaa39045262b917cfd0b631046fec9c8027cfa99bd0426a079ab45eb172b21d25d6e085dde WHIRLPOOL fe4f015e2f0dc66cc23ef16fb5bb33117952593ae0770d4bcd37ecc1c431cbcc7874189d265696305c60b4e395e7ce902667e38203db46867304868271affdea
|
||||
DIST php-patchset-5.5-r0.tar.bz2 7407 SHA256 8e7f36c6d625b5d66bc9e61ad20abbea0b58470cfac5605704c281947f9d52fd SHA512 8bac862f53a1ba21d5acc3cbe68d11b55cb75eed841e840a49ab5769cbc1595f2f487c9fabb3c1183916b2911ecefe710625aca83382f4871593cac8cbc5301a WHIRLPOOL 9d0b0a4603d46edcd5bbc98a89eb36ed5310e56f97960e1fe4283258c4d3ac2d15b93c2287e351ae2359bf661f2d131d4176e92e7d078582b4bfa1af37a40c81
|
||||
DIST suhosin-patch-5.3.9-0.9.10.patch.gz 40967 SHA256 4438caeab0a10c6c94aee9f7eaa703f5799f97d4e0579f43a947bb7314e38317 SHA512 98c56d41fac123626cbd1bcf4ca8afba5a9a960fd58a60e08c91a68cab7589162c4f9e1b0c39abaf173775cb63091a04c4224ee278410ec0afdbe9f3cf05f322 WHIRLPOOL f551823324919cc14cc5f0b4dc2ed75e292fcb2dbe3a34b2c954d4f3cd8ff27937b7a8a0e5665ddc4e737908d2530abf3c61397b040dd6aadcc31163d762b42e
|
||||
|
@ -0,0 +1,912 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/php-5.3.20.ebuild,v 1.1 2013/01/01 13:44:17 olemarkus Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use libtool
|
||||
|
||||
SUHOSIN_VERSION=""
|
||||
FPM_VERSION="builtin"
|
||||
EXPECTED_TEST_FAILURES=""
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd"
|
||||
|
||||
function php_get_uri ()
|
||||
{
|
||||
case "${1}" in
|
||||
"php-pre")
|
||||
echo "http://downloads.php.net/johannes/${2}"
|
||||
;;
|
||||
"php")
|
||||
echo "http://www.php.net/distributions/${2}"
|
||||
;;
|
||||
"suhosin")
|
||||
echo "http://download.suhosin.org/${2}"
|
||||
;;
|
||||
"olemarkus")
|
||||
echo "http://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/_rc/} ]] || PHP_RELEASE="php-pre"
|
||||
PHP_P="${PN}-${PHP_PV}"
|
||||
|
||||
PHP_PATCHSET_LOC="olemarkus"
|
||||
|
||||
PHP_SRC_URI="$(php_get_uri "${PHP_RELEASE}" "${PHP_P}.tar.bz2")"
|
||||
|
||||
PHP_PATCHSET="0"
|
||||
PHP_PATCHSET_URI="
|
||||
$(php_get_uri "${PHP_PATCHSET_LOC}" "php-patchset-${SLOT}-r${PHP_PATCHSET}.tar.bz2")"
|
||||
|
||||
PHP_FPM_INIT_VER="4"
|
||||
PHP_FPM_CONF_VER="1"
|
||||
|
||||
if [[ ${SUHOSIN_VERSION} == *-gentoo ]]; then
|
||||
# in some cases we use our own suhosin patch (very recent version,
|
||||
# patch conflicts, etc.)
|
||||
SUHOSIN_TYPE="olemarkus"
|
||||
else
|
||||
SUHOSIN_TYPE="suhosin"
|
||||
fi
|
||||
|
||||
if [[ -n ${SUHOSIN_VERSION} ]]; then
|
||||
SUHOSIN_PATCH="suhosin-patch-${SUHOSIN_VERSION}.patch";
|
||||
SUHOSIN_URI="$(php_get_uri ${SUHOSIN_TYPE} ${SUHOSIN_PATCH}.gz )"
|
||||
fi
|
||||
|
||||
SRC_URI="
|
||||
${PHP_SRC_URI}
|
||||
${PHP_PATCHSET_URI}"
|
||||
|
||||
if [[ -n ${SUHOSIN_VERSION} ]]; then
|
||||
SRC_URI="${SRC_URI}
|
||||
suhosin? ( ${SUHOSIN_URI} )"
|
||||
fi
|
||||
|
||||
DESCRIPTION="The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs."
|
||||
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"
|
||||
|
||||
# Gentoo-specific, common features
|
||||
IUSE="kolab"
|
||||
|
||||
# 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 curlwrappers debug doc
|
||||
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 mysqlnd mysqli nls
|
||||
oci8-instant-client odbc pcntl pdo +phar pic +posix postgres qdbm
|
||||
readline recode selinux +session sharedmem
|
||||
+simplexml snmp soap sockets spell sqlite2 sqlite ssl
|
||||
sybase-ct sysvipc tidy +tokenizer truetype unicode wddx
|
||||
+xml xmlreader xmlwriter xmlrpc xpm xsl zip zlib"
|
||||
|
||||
# Enable suhosin if available
|
||||
[[ -n $SUHOSIN_VERSION ]] && IUSE="${IUSE} suhosin"
|
||||
|
||||
DEPEND="!dev-lang/php:5
|
||||
>=app-admin/eselect-php-0.6.2
|
||||
>=dev-libs/libpcre-8.12[unicode]
|
||||
apache2? ( www-servers/apache[threads=] )
|
||||
berkdb? ( =sys-libs/db-4* )
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
|
||||
cjk? ( !gd? (
|
||||
virtual/jpeg
|
||||
media-libs/libpng
|
||||
sys-libs/zlib
|
||||
) )
|
||||
crypt? ( >=dev-libs/libmcrypt-2.4 )
|
||||
curl? ( >=net-misc/curl-7.10.5 )
|
||||
enchant? ( app-text/enchant )
|
||||
exif? ( !gd? (
|
||||
virtual/jpeg
|
||||
media-libs/libpng
|
||||
sys-libs/zlib
|
||||
) )
|
||||
firebird? ( dev-db/firebird )
|
||||
gd? ( virtual/jpeg media-libs/libpng 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 )
|
||||
kolab? ( >=net-libs/c-client-2004g-r1 )
|
||||
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] )
|
||||
!mysqlnd? (
|
||||
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-base )
|
||||
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 )
|
||||
sqlite2? ( =dev-db/sqlite-2* )
|
||||
sqlite? ( >=dev-db/sqlite-3.7.7.1 )
|
||||
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 media-libs/libpng sys-libs/zlib )
|
||||
)
|
||||
unicode? ( dev-libs/oniguruma )
|
||||
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
|
||||
media-libs/libpng sys-libs/zlib
|
||||
)
|
||||
xsl? ( 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 )
|
||||
cjk? ( gd )
|
||||
exif? ( gd )
|
||||
|
||||
xpm? ( gd )
|
||||
gd? ( zlib )
|
||||
simplexml? ( xml )
|
||||
soap? ( xml )
|
||||
wddx? ( xml )
|
||||
xmlrpc? ( || ( xml iconv ) )
|
||||
xmlreader? ( xml )
|
||||
xsl? ( xml )
|
||||
ldap-sasl? ( ldap )
|
||||
kolab? ( imap )
|
||||
mhash? ( hash )
|
||||
phar? ( hash )
|
||||
mysqlnd? ( || (
|
||||
mysql
|
||||
mysqli
|
||||
pdo
|
||||
) )
|
||||
|
||||
qdbm? ( !gdbm )
|
||||
readline? ( !libedit )
|
||||
recode? ( !imap !mysql !mysqli )
|
||||
sharedmem? ( !threads )
|
||||
|
||||
!cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
[[ -n $SUHOSIN_VERSION ]] && RDEPEND="${RDEPEND} suhosin? ( =${CATEGORY}/${PN}-${SLOT}*[unicode] )"
|
||||
|
||||
RDEPEND="${RDEPEND} fpm? ( selinux? ( sec-policy/selinux-phpfpm ) )"
|
||||
|
||||
DEPEND="${DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-devel/m4-1.4.3
|
||||
>=sys-devel/libtool-1.5.18"
|
||||
|
||||
# They are in PDEPEND because we need PHP installed first!
|
||||
PDEPEND="doc? ( app-doc/php-docs )"
|
||||
|
||||
# No longer depend on the extension. The suhosin USE flag only installs the
|
||||
# patch
|
||||
#[[ -n $SUHOSIN_VERSION ]] && PDEPEND="${PDEPEND} suhosin? ( dev-php${PHP_MV}/suhosin )"
|
||||
|
||||
# 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}}"
|
||||
|
||||
# SAPI-specific handling
|
||||
if [[ "${sapi}" == "apache2" ]] ; then
|
||||
insinto "${APACHE_MODULES_CONFDIR#${EPREFIX}}"
|
||||
newins "${FILESDIR}/70_mod_php${PHP_MV}.conf-apache2" \
|
||||
"70_mod_php${PHP_MV}.conf"
|
||||
fi
|
||||
|
||||
if [[ "${sapi}" == "fpm" ]] ; then
|
||||
[[ -z ${PHP_FPM_INIT_VER} ]] && PHP_FPM_INIT_VER=3
|
||||
[[ -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
|
||||
dodir "/etc/init.d"
|
||||
insinto "/etc/init.d"
|
||||
newinitd "${FILESDIR}/php-fpm-r${PHP_FPM_INIT_VER}.init" "php-fpm"
|
||||
# dosym "${PHP_DESTDIR#${EPREFIX}}/bin/php-fpm" "/usr/bin/php-fpm"
|
||||
|
||||
# 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
|
||||
|
||||
# kolab support (support for imap annotations)
|
||||
use kolab && epatch "${WORKDIR}/patches/opt/imap-kolab-annotations.patch"
|
||||
|
||||
# Change PHP branding
|
||||
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1${PHP_EXTRA_BRANDING}-pl${PR/r/}-gentoo\2|g" \
|
||||
-i configure.in || die "Unable to change PHP branding"
|
||||
|
||||
# Apply generic PHP patches
|
||||
EPATCH_SOURCE="${WORKDIR}/patches/generic" EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_MULTI_MSG="Applying generic patches and fixes from upstream..." epatch
|
||||
|
||||
# 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
|
||||
|
||||
# Suhosin support
|
||||
if [[ -n $SUHOSIN_VERSION ]] ; then
|
||||
if use suhosin ; then
|
||||
epatch "${WORKDIR}/${SUHOSIN_PATCH}"
|
||||
fi
|
||||
else
|
||||
ewarn "Please note that this version of PHP does not yet come with a suhosin patch"
|
||||
fi
|
||||
|
||||
#Add user patches #357637
|
||||
epatch_user
|
||||
|
||||
# rebuild the whole autotools stuff as we are heavily patching it
|
||||
# (suhosin, fastbuild, ...)
|
||||
|
||||
# eaclocal doesn't accept --force, so we try to force re-generation
|
||||
# this way
|
||||
rm aclocal.m4
|
||||
|
||||
# work around divert() issues with newer autoconf, bug #281697
|
||||
if has_version '>=sys-devel/autoconf-2.64' ; then
|
||||
sed -i -r \
|
||||
-e 's:^((m4_)?divert)[(]([0-9]*)[)]:\1(600\3):' \
|
||||
$(grep -l divert $(find . -name '*.m4') configure.in) || die
|
||||
fi
|
||||
eautoreconf --force -W no-cross
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
addpredict /usr/share/snmp/mibs/.index
|
||||
addpredict /var/lib/net-snmp/mib_indexes
|
||||
|
||||
PHP_DESTDIR="/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 )
|
||||
$(use_enable calendar calendar )
|
||||
$(use_enable ctype ctype )
|
||||
$(use_with curl curl )
|
||||
$(use_with curlwrappers curlwrappers )
|
||||
$(use_enable xml dom )
|
||||
$(use_with enchant enchant /usr)
|
||||
$(use_enable exif exif )
|
||||
$(use_enable fileinfo fileinfo )
|
||||
$(use_enable filter filter )
|
||||
$(use_enable ftp ftp )
|
||||
$(use_with nls gettext )
|
||||
$(use_with gmp gmp )
|
||||
$(use_enable hash hash )
|
||||
$(use_with mhash mhash )
|
||||
$(use_with iconv iconv )
|
||||
$(use_enable intl intl )
|
||||
$(use_enable ipv6 ipv6 )
|
||||
$(use_enable json json )
|
||||
$(use_with kerberos kerberos /usr)
|
||||
$(use_enable xml libxml )
|
||||
$(use_enable unicode mbstring )
|
||||
$(use_with crypt mcrypt )
|
||||
$(use_with mssql mssql )
|
||||
$(use_with unicode onig /usr)
|
||||
$(use_with ssl openssl )
|
||||
$(use_with ssl openssl-dir /usr)
|
||||
$(use_enable pcntl pcntl )
|
||||
$(use_enable phar phar )
|
||||
$(use_enable pdo pdo )
|
||||
$(use_with postgres pgsql )
|
||||
$(use_enable posix posix )
|
||||
$(use_with spell pspell )
|
||||
$(use_with recode recode )
|
||||
$(use_enable simplexml simplexml )
|
||||
$(use_enable sharedmem shmop )
|
||||
$(use_with snmp snmp )
|
||||
$(use_enable soap soap )
|
||||
$(use_enable sockets sockets )"
|
||||
if version_is_at_least 5.3.16-r2; then
|
||||
my_conf+=" $(use_with sqlite2 sqlite /usr) "
|
||||
use sqlite2 && my_conf+=" $(use_enable unicode sqlite-utf8)"
|
||||
else
|
||||
my_conf+=" $(use_with sqlite sqlite /usr) "
|
||||
use sqlite && my_conf+=" $(use_enable unicode sqlite-utf8)"
|
||||
fi
|
||||
my_conf+="
|
||||
$(use_with sqlite sqlite3 /usr)
|
||||
$(use_with sybase-ct sybase-ct /usr)
|
||||
$(use_enable sysvipc sysvmsg )
|
||||
$(use_enable sysvipc sysvsem )
|
||||
$(use_enable sysvipc sysvshm )
|
||||
$(use_with tidy tidy )
|
||||
$(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 xsl xsl )
|
||||
$(use_enable zip zip )
|
||||
$(use_with zlib zlib )
|
||||
$(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 )
|
||||
$(use_enable flatfile flatfile )
|
||||
$(use_with gdbm gdbm )
|
||||
$(use_enable inifile inifile )
|
||||
$(use_with qdbm qdbm )"
|
||||
|
||||
# Support for the GD graphics library
|
||||
my_conf+="
|
||||
$(use_with truetype freetype-dir /usr)
|
||||
$(use_with truetype t1lib /usr)
|
||||
$(use_enable cjk gd-jis-conv )
|
||||
$(use_with gd jpeg-dir /usr)
|
||||
$(use_with gd png-dir /usr)
|
||||
$(use_with xpm xpm-dir /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 )
|
||||
$(use_with ssl imap-ssl )"
|
||||
fi
|
||||
|
||||
# Interbase/firebird support
|
||||
|
||||
if use firebird ; then
|
||||
my_conf+="
|
||||
$(use_with firebird interbase /usr)"
|
||||
fi
|
||||
|
||||
# LDAP support
|
||||
if use ldap ; then
|
||||
my_conf+="
|
||||
$(use_with ldap ldap )
|
||||
$(use_with ldap-sasl ldap-sasl )"
|
||||
fi
|
||||
|
||||
# MySQL support
|
||||
if use mysql ; then
|
||||
if use mysqlnd ; then
|
||||
my_conf+="
|
||||
$(use_with mysql mysql mysqlnd)"
|
||||
else
|
||||
my_conf+="
|
||||
$(use_with mysql mysql /usr)"
|
||||
fi
|
||||
my_conf+="
|
||||
$(use_with mysql mysql-sock /var/run/mysqld/mysqld.sock)"
|
||||
fi
|
||||
|
||||
# MySQLi support
|
||||
if use mysqlnd ; then
|
||||
my_conf+="
|
||||
$(use_with mysqli mysqli mysqlnd)"
|
||||
else
|
||||
my_conf+="
|
||||
$(use_with mysqli mysqli /usr/bin/mysql_config)"
|
||||
fi
|
||||
|
||||
# ODBC support
|
||||
if use odbc ; then
|
||||
my_conf+="
|
||||
$(use_with odbc unixODBC /usr)"
|
||||
fi
|
||||
|
||||
if use iodbc ; then
|
||||
my_conf+="
|
||||
$(use_with iodbc iodbc /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 )"
|
||||
if use mysqlnd ; then
|
||||
my_conf+="
|
||||
$(use_with mysql pdo-mysql mysqlnd)"
|
||||
else
|
||||
my_conf+="
|
||||
$(use_with mysql pdo-mysql /usr)"
|
||||
fi
|
||||
my_conf+="
|
||||
$(use_with postgres pdo-pgsql )
|
||||
$(use_with sqlite pdo-sqlite /usr)
|
||||
$(use_with odbc pdo-odbc unixODBC,/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 )
|
||||
$(use_with libedit libedit )"
|
||||
|
||||
# Session support
|
||||
if use session ; then
|
||||
my_conf+="
|
||||
$(use_with sharedmem mm )"
|
||||
else
|
||||
my_conf+="
|
||||
$(use_enable session session )"
|
||||
fi
|
||||
|
||||
if use pic ; then
|
||||
my_conf="${my_conf} --with-pic"
|
||||
fi
|
||||
|
||||
# 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=/usr --with-pcre-dir=/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=/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/mibs/.index
|
||||
|
||||
SAPI_DIR="${WORKDIR}/sapis"
|
||||
|
||||
for sapi in ${SAPIS} ; do
|
||||
use "${sapi}" || continue
|
||||
|
||||
php_sapi_build "${sapi}"
|
||||
php_sapi_copy "${sapi}"
|
||||
done
|
||||
}
|
||||
|
||||
php_sapi_build() {
|
||||
mkdir -p "${SAPI_DIR}/$1"
|
||||
|
||||
cd "${WORKDIR}/sapis-build/$1"
|
||||
emake || die "emake failed"
|
||||
}
|
||||
|
||||
php_sapi_copy() {
|
||||
local sapi="$1"
|
||||
local source=""
|
||||
|
||||
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}.so"
|
||||
;;
|
||||
|
||||
apache2)
|
||||
# apache2 is a special case; the necessary files
|
||||
# (yes, multiple) are copied by make install, not
|
||||
# by the ebuild; that's the reason, why apache2 has
|
||||
# to be the last sapi
|
||||
emake INSTALL_ROOT="${SAPI_DIR}/${sapi}/" install-sapi
|
||||
;;
|
||||
|
||||
*)
|
||||
die "unhandled sapi in php_sapi_copy"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "${source}" ]] ; then
|
||||
cp "$source" "${SAPI_DIR}/$sapi" || die "Unable to copy ${sapi} SAPI"
|
||||
fi
|
||||
}
|
||||
|
||||
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
|
||||
into "${PHP_DESTDIR#${EPREFIX}}"
|
||||
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"
|
||||
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
|
||||
|
||||
# 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"
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
#Do not use eblit for this because it will not get sourced when installing from
|
||||
#binary package (bug #380845)
|
||||
pkg_postinst() {
|
||||
# Output some general info to the user
|
||||
if use apache2 ; then
|
||||
APACHE2_MOD_DEFINE="PHP5"
|
||||
APACHE2_MOD_CONF="70_mod_php5"
|
||||
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 /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 /etc/make.conf"
|
||||
ewarn "Both versions of php.ini can be found in /usr/share/doc/${PF}"
|
||||
|
||||
# check for not yet migrated old style config dirs
|
||||
ls "${ROOT}"/etc/php/*-php5 &>/dev/null
|
||||
if [[ $? -eq 0 ]]; then
|
||||
ewarn "Make sure to migrate your config files, starting with php-5.3.4 and php-5.2.16 config"
|
||||
ewarn "files are now kept at ${ROOT}etc/php/{apache2,cli,cgi,fpm}-php5.x"
|
||||
fi
|
||||
elog
|
||||
elog "For more details on how minor version slotting works (PHP_TARGETS) please read the upgrade guide:"
|
||||
elog "http://www.gentoo.org/proj/en/php/php-upgrading.xml"
|
||||
elog
|
||||
|
||||
if ( [[ -z SUHOSIN_VERSION ]] && use suhosin && version_is_at_least 5.3.6_rc1 ) ; then
|
||||
ewarn "The suhosin USE flag now only installs the suhosin patch!"
|
||||
ewarn "If you want the suhosin extension, make sure you install"
|
||||
ewarn " dev-php5/suhosin"
|
||||
ewarn
|
||||
fi
|
||||
}
|
@ -0,0 +1,863 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/php-5.4.10.ebuild,v 1.1 2013/01/01 13:44:17 olemarkus Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use libtool
|
||||
|
||||
SUHOSIN_VERSION=""
|
||||
FPM_VERSION="builtin"
|
||||
EXPECTED_TEST_FAILURES=""
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-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/stas/${2}"
|
||||
;;
|
||||
"php")
|
||||
echo "http://www.php.net/distributions/${2}"
|
||||
;;
|
||||
"suhosin")
|
||||
echo "http://download.suhosin.org/${2}"
|
||||
;;
|
||||
"olemarkus")
|
||||
echo "http://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/_rc/} ]] || PHP_RELEASE="php-pre"
|
||||
PHP_P="${PN}-${PHP_PV}"
|
||||
|
||||
PHP_PATCHSET_LOC="olemarkus"
|
||||
|
||||
PHP_SRC_URI="$(php_get_uri "${PHP_RELEASE}" "${PHP_P}.tar.bz2")"
|
||||
|
||||
PHP_PATCHSET="2"
|
||||
PHP_PATCHSET_URI="
|
||||
$(php_get_uri "${PHP_PATCHSET_LOC}" "php-patchset-${SLOT}-r${PHP_PATCHSET}.tar.bz2")"
|
||||
|
||||
PHP_FPM_INIT_VER="4"
|
||||
PHP_FPM_CONF_VER="1"
|
||||
|
||||
if [[ ${SUHOSIN_VERSION} == *-gentoo ]]; then
|
||||
# in some cases we use our own suhosin patch (very recent version,
|
||||
# patch conflicts, etc.)
|
||||
SUHOSIN_TYPE="olemarkus"
|
||||
else
|
||||
SUHOSIN_TYPE="suhosin"
|
||||
fi
|
||||
|
||||
if [[ -n ${SUHOSIN_VERSION} ]]; then
|
||||
SUHOSIN_PATCH="suhosin-patch-${SUHOSIN_VERSION}.patch";
|
||||
SUHOSIN_URI="$(php_get_uri ${SUHOSIN_TYPE} ${SUHOSIN_PATCH}.gz )"
|
||||
fi
|
||||
|
||||
SRC_URI="
|
||||
${PHP_SRC_URI}
|
||||
${PHP_PATCHSET_URI}"
|
||||
|
||||
if [[ -n ${SUHOSIN_VERSION} ]]; then
|
||||
SRC_URI="${SRC_URI}
|
||||
suhosin? ( ${SUHOSIN_URI} )"
|
||||
fi
|
||||
|
||||
DESCRIPTION="The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs."
|
||||
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"
|
||||
|
||||
# Gentoo-specific, common features
|
||||
IUSE="kolab"
|
||||
|
||||
# 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 curlwrappers debug doc
|
||||
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 mysqlnd mysqli nls
|
||||
oci8-instant-client odbc pcntl pdo +phar pic +posix postgres qdbm
|
||||
readline recode selinux +session sharedmem
|
||||
+simplexml snmp soap sockets spell sqlite ssl
|
||||
sybase-ct sysvipc tidy +tokenizer truetype unicode wddx
|
||||
+xml xmlreader xmlwriter xmlrpc xpm xsl zip zlib"
|
||||
|
||||
# Enable suhosin if available
|
||||
[[ -n $SUHOSIN_VERSION ]] && IUSE="${IUSE} suhosin"
|
||||
|
||||
DEPEND="
|
||||
>=app-admin/eselect-php-0.6.2
|
||||
>=dev-libs/libpcre-8.12[unicode]
|
||||
apache2? ( www-servers/apache[threads=] )
|
||||
berkdb? ( =sys-libs/db-4* )
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
|
||||
cjk? ( !gd? (
|
||||
virtual/jpeg
|
||||
media-libs/libpng
|
||||
sys-libs/zlib
|
||||
) )
|
||||
crypt? ( >=dev-libs/libmcrypt-2.4 )
|
||||
curl? ( >=net-misc/curl-7.10.5 )
|
||||
enchant? ( app-text/enchant )
|
||||
exif? ( !gd? (
|
||||
virtual/jpeg
|
||||
media-libs/libpng
|
||||
sys-libs/zlib
|
||||
) )
|
||||
firebird? ( dev-db/firebird )
|
||||
gd? ( virtual/jpeg media-libs/libpng 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 )
|
||||
kolab? ( >=net-libs/c-client-2004g-r1 )
|
||||
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] )
|
||||
!mysqlnd? (
|
||||
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-base )
|
||||
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 media-libs/libpng sys-libs/zlib )
|
||||
)
|
||||
unicode? ( dev-libs/oniguruma )
|
||||
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
|
||||
media-libs/libpng sys-libs/zlib
|
||||
)
|
||||
xsl? ( 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 )
|
||||
cjk? ( gd )
|
||||
exif? ( gd )
|
||||
|
||||
xpm? ( gd )
|
||||
gd? ( zlib )
|
||||
simplexml? ( xml )
|
||||
soap? ( xml )
|
||||
wddx? ( xml )
|
||||
xmlrpc? ( || ( xml iconv ) )
|
||||
xmlreader? ( xml )
|
||||
xsl? ( xml )
|
||||
ldap-sasl? ( ldap )
|
||||
kolab? ( imap )
|
||||
mhash? ( hash )
|
||||
phar? ( hash )
|
||||
mysqlnd? ( || (
|
||||
mysql
|
||||
mysqli
|
||||
pdo
|
||||
) )
|
||||
|
||||
qdbm? ( !gdbm )
|
||||
readline? ( !libedit )
|
||||
recode? ( !imap !mysql !mysqli )
|
||||
sharedmem? ( !threads )
|
||||
|
||||
!cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
[[ -n $SUHOSIN_VERSION ]] && RDEPEND="${RDEPEND} suhosin? (
|
||||
=${CATEGORY}/${PN}-${SLOT}*[unicode] )"
|
||||
|
||||
RDEPEND="${RDEPEND} fpm? ( selinux? ( sec-policy/selinux-phpfpm ) )"
|
||||
|
||||
DEPEND="${DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-devel/m4-1.4.3
|
||||
>=sys-devel/libtool-1.5.18"
|
||||
|
||||
# They are in PDEPEND because we need PHP installed first!
|
||||
PDEPEND="doc? ( app-doc/php-docs )"
|
||||
|
||||
# No longer depend on the extension. The suhosin USE flag only installs the
|
||||
# patch
|
||||
#[[ -n $SUHOSIN_VERSION ]] && PDEPEND="${PDEPEND} suhosin? ( dev-php${PHP_MV}/suhosin )"
|
||||
|
||||
# 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}}"
|
||||
|
||||
# SAPI-specific handling
|
||||
if [[ "${sapi}" == "apache2" ]] ; then
|
||||
insinto "${APACHE_MODULES_CONFDIR#${EPREFIX}}"
|
||||
newins "${FILESDIR}/70_mod_php${PHP_MV}.conf-apache2" \
|
||||
"70_mod_php${PHP_MV}.conf"
|
||||
fi
|
||||
|
||||
if [[ "${sapi}" == "fpm" ]] ; then
|
||||
[[ -z ${PHP_FPM_INIT_VER} ]] && PHP_FPM_INIT_VER=3
|
||||
[[ -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
|
||||
dodir "/etc/init.d"
|
||||
insinto "/etc/init.d"
|
||||
newinitd "${FILESDIR}/php-fpm-r${PHP_FPM_INIT_VER}.init" "php-fpm"
|
||||
# dosym "${PHP_DESTDIR#${EPREFIX}}/bin/php-fpm" "/usr/bin/php-fpm"
|
||||
|
||||
# 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
|
||||
|
||||
# kolab support (support for imap annotations)
|
||||
use kolab && epatch "${WORKDIR}/patches/opt/imap-kolab-annotations.patch"
|
||||
|
||||
# Change PHP branding
|
||||
# Get the alpha/beta/rc version
|
||||
local ver=$(get_version_component_range 4)
|
||||
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1${PHP_EXTRA_BRANDING}-${ver}-pl${PR/r/}-gentoo\2|g" \
|
||||
-i configure.in || die "Unable to change PHP branding"
|
||||
|
||||
# Apply generic PHP patches
|
||||
EPATCH_SOURCE="${WORKDIR}/patches/generic" EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_MULTI_MSG="Applying generic patches and fixes from upstream..." epatch
|
||||
|
||||
# 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
|
||||
|
||||
# Suhosin support
|
||||
if [[ -n $SUHOSIN_VERSION ]] ; then
|
||||
if use suhosin ; then
|
||||
epatch "${WORKDIR}/${SUHOSIN_PATCH}"
|
||||
fi
|
||||
else
|
||||
ewarn "Please note that this version of PHP does not yet come with a suhosin patch"
|
||||
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_with curlwrappers curlwrappers "${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_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_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 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 xsl 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)"
|
||||
# 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
|
||||
if use mysql ; then
|
||||
if use mysqlnd ; then
|
||||
my_conf+="
|
||||
$(use_with mysql mysql mysqlnd)"
|
||||
else
|
||||
my_conf+="
|
||||
$(use_with mysql mysql ${EPREFIX}/usr)"
|
||||
fi
|
||||
my_conf+="
|
||||
$(use_with mysql mysql-sock ${EPREFIX}/var/run/mysqld/mysqld.sock)"
|
||||
fi
|
||||
|
||||
# MySQLi support
|
||||
if use mysqlnd ; then
|
||||
my_conf+="
|
||||
$(use_with mysqli mysqli mysqlnd)"
|
||||
else
|
||||
my_conf+="
|
||||
$(use_with mysqli mysqli ${EPREFIX}/usr/bin/mysql_config)"
|
||||
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 )"
|
||||
if use mysqlnd ; then
|
||||
my_conf+="
|
||||
$(use_with mysql pdo-mysql mysqlnd)"
|
||||
else
|
||||
my_conf+="
|
||||
$(use_with mysql pdo-mysql ${EPREFIX}/usr)"
|
||||
fi
|
||||
my_conf+="
|
||||
$(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
|
||||
|
||||
if use pic ; then
|
||||
my_conf="${my_conf} --with-pic"
|
||||
fi
|
||||
|
||||
# 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
|
||||
into "${PHP_DESTDIR#${EPREFIX}}"
|
||||
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"
|
||||
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
|
||||
|
||||
# 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"
|
||||
}
|
||||
|
||||
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="PHP5"
|
||||
APACHE2_MOD_CONF="70_mod_php5"
|
||||
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 "http://www.gentoo.org/proj/en/php/php-upgrading.xml"
|
||||
elog
|
||||
|
||||
if ( [[ -z SUHOSIN_VERSION ]] && use suhosin && version_is_at_least 5.3.6_rc1 ) ; then
|
||||
ewarn
|
||||
ewarn "The suhosin USE flag now only installs the suhosin patch!"
|
||||
ewarn "If you want the suhosin extension, make sure you install"
|
||||
ewarn " dev-php/suhosin"
|
||||
ewarn
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
local sapi
|
||||
local slot
|
||||
for sapi in ${SAPIS}; do
|
||||
slot=$(eselect php show $sapi 2> /dev/null)
|
||||
slot=${slot/php/}
|
||||
if [[ $slot == $SLOT ]]; then
|
||||
ewarn "You have removed the active version of the $sapi SAPI"
|
||||
ewarn "Fix the issue using \`eselect php\`"
|
||||
fi
|
||||
done
|
||||
}
|
@ -0,0 +1,875 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/php-5.5.0_alpha2.ebuild,v 1.1 2013/01/01 13:44:17 olemarkus Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use libtool
|
||||
|
||||
SUHOSIN_VERSION=""
|
||||
FPM_VERSION="builtin"
|
||||
EXPECTED_TEST_FAILURES=""
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-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}"
|
||||
;;
|
||||
"suhosin")
|
||||
echo "http://download.suhosin.org/${2}"
|
||||
;;
|
||||
"olemarkus")
|
||||
echo "http://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/_rc/} ]] || PHP_RELEASE="php-pre"
|
||||
PHP_P="${PN}-${PHP_PV}"
|
||||
|
||||
PHP_PATCHSET_LOC="olemarkus"
|
||||
|
||||
PHP_SRC_URI="$(php_get_uri "${PHP_RELEASE}" "${PHP_P}.tar.bz2")"
|
||||
|
||||
PHP_PATCHSET="0"
|
||||
PHP_PATCHSET_URI="
|
||||
$(php_get_uri "${PHP_PATCHSET_LOC}" "php-patchset-${SLOT}-r${PHP_PATCHSET}.tar.bz2")"
|
||||
|
||||
PHP_FPM_INIT_VER="4"
|
||||
PHP_FPM_CONF_VER="1"
|
||||
|
||||
if [[ ${SUHOSIN_VERSION} == *-gentoo ]]; then
|
||||
# in some cases we use our own suhosin patch (very recent version,
|
||||
# patch conflicts, etc.)
|
||||
SUHOSIN_TYPE="olemarkus"
|
||||
else
|
||||
SUHOSIN_TYPE="suhosin"
|
||||
fi
|
||||
|
||||
if [[ -n ${SUHOSIN_VERSION} ]]; then
|
||||
SUHOSIN_PATCH="suhosin-patch-${SUHOSIN_VERSION}.patch";
|
||||
SUHOSIN_URI="$(php_get_uri ${SUHOSIN_TYPE} ${SUHOSIN_PATCH}.gz )"
|
||||
fi
|
||||
|
||||
SRC_URI="
|
||||
${PHP_SRC_URI}
|
||||
${PHP_PATCHSET_URI}"
|
||||
|
||||
if [[ -n ${SUHOSIN_VERSION} ]]; then
|
||||
SRC_URI="${SRC_URI}
|
||||
suhosin? ( ${SUHOSIN_URI} )"
|
||||
fi
|
||||
|
||||
DESCRIPTION="The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs."
|
||||
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"
|
||||
|
||||
# Gentoo-specific, common features
|
||||
IUSE="kolab"
|
||||
|
||||
# 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 curlwrappers debug doc
|
||||
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 mysqlnd mysqli nls
|
||||
oci8-instant-client odbc pcntl pdo +phar pic +posix postgres qdbm
|
||||
readline recode selinux +session sharedmem
|
||||
+simplexml snmp soap sockets spell sqlite ssl
|
||||
sybase-ct sysvipc tidy +tokenizer truetype unicode wddx
|
||||
+xml xmlreader xmlwriter xmlrpc xpm xsl zip zlib"
|
||||
|
||||
# Enable suhosin if available
|
||||
[[ -n $SUHOSIN_VERSION ]] && IUSE="${IUSE} suhosin"
|
||||
|
||||
DEPEND="
|
||||
>=app-admin/eselect-php-0.6.2
|
||||
>=dev-libs/libpcre-8.12[unicode]
|
||||
apache2? ( www-servers/apache[threads=] )
|
||||
berkdb? ( =sys-libs/db-4* )
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
|
||||
cjk? ( !gd? (
|
||||
virtual/jpeg
|
||||
media-libs/libpng
|
||||
sys-libs/zlib
|
||||
) )
|
||||
crypt? ( >=dev-libs/libmcrypt-2.4 )
|
||||
curl? ( >=net-misc/curl-7.10.5 )
|
||||
enchant? ( app-text/enchant )
|
||||
exif? ( !gd? (
|
||||
virtual/jpeg
|
||||
media-libs/libpng
|
||||
sys-libs/zlib
|
||||
) )
|
||||
firebird? ( dev-db/firebird )
|
||||
gd? ( virtual/jpeg media-libs/libpng 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 )
|
||||
kolab? ( >=net-libs/c-client-2004g-r1 )
|
||||
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] )
|
||||
!mysqlnd? (
|
||||
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-base )
|
||||
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 media-libs/libpng sys-libs/zlib )
|
||||
)
|
||||
unicode? ( dev-libs/oniguruma )
|
||||
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
|
||||
media-libs/libpng sys-libs/zlib
|
||||
)
|
||||
xsl? ( 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 )
|
||||
cjk? ( gd )
|
||||
exif? ( gd )
|
||||
|
||||
xpm? ( gd )
|
||||
gd? ( zlib )
|
||||
simplexml? ( xml )
|
||||
soap? ( xml )
|
||||
wddx? ( xml )
|
||||
xmlrpc? ( || ( xml iconv ) )
|
||||
xmlreader? ( xml )
|
||||
xsl? ( xml )
|
||||
ldap-sasl? ( ldap )
|
||||
kolab? ( imap )
|
||||
mhash? ( hash )
|
||||
phar? ( hash )
|
||||
mysqlnd? ( || (
|
||||
mysql
|
||||
mysqli
|
||||
pdo
|
||||
) )
|
||||
|
||||
qdbm? ( !gdbm )
|
||||
readline? ( !libedit )
|
||||
recode? ( !imap !mysql !mysqli )
|
||||
sharedmem? ( !threads )
|
||||
|
||||
!cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
[[ -n $SUHOSIN_VERSION ]] && RDEPEND="${RDEPEND} suhosin? (
|
||||
=${CATEGORY}/${PN}-${SLOT}*[unicode] )"
|
||||
|
||||
RDEPEND="${RDEPEND} fpm? ( selinux? ( sec-policy/selinux-phpfpm ) )"
|
||||
|
||||
DEPEND="${DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-devel/m4-1.4.3
|
||||
>=sys-devel/libtool-1.5.18"
|
||||
|
||||
# They are in PDEPEND because we need PHP installed first!
|
||||
PDEPEND="doc? ( app-doc/php-docs )"
|
||||
|
||||
# No longer depend on the extension. The suhosin USE flag only installs the
|
||||
# patch
|
||||
#[[ -n $SUHOSIN_VERSION ]] && PDEPEND="${PDEPEND} suhosin? ( dev-php${PHP_MV}/suhosin )"
|
||||
|
||||
# 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}}"
|
||||
|
||||
# SAPI-specific handling
|
||||
if [[ "${sapi}" == "apache2" ]] ; then
|
||||
insinto "${APACHE_MODULES_CONFDIR#${EPREFIX}}"
|
||||
newins "${FILESDIR}/70_mod_php${PHP_MV}.conf-apache2" \
|
||||
"70_mod_php${PHP_MV}.conf"
|
||||
fi
|
||||
|
||||
if [[ "${sapi}" == "fpm" ]] ; then
|
||||
[[ -z ${PHP_FPM_INIT_VER} ]] && PHP_FPM_INIT_VER=3
|
||||
[[ -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
|
||||
dodir "/etc/init.d"
|
||||
insinto "/etc/init.d"
|
||||
newinitd "${FILESDIR}/php-fpm-r${PHP_FPM_INIT_VER}.init" "php-fpm"
|
||||
# dosym "${PHP_DESTDIR#${EPREFIX}}/bin/php-fpm" "/usr/bin/php-fpm"
|
||||
|
||||
# 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
|
||||
if [[ ${SLOT} == '5.2' ]]; then
|
||||
newdoc php.ini-dist php.ini-development
|
||||
newdoc php.ini-recommended php.ini-production
|
||||
fi
|
||||
|
||||
if [[ ${SLOT} == '5.3' ]]; then
|
||||
dodoc php.ini-development
|
||||
dodoc php.ini-production
|
||||
fi
|
||||
|
||||
if [[ ${SLOT} == '5.4' ]]; then
|
||||
dodoc php.ini-development
|
||||
dodoc php.ini-production
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
# kolab support (support for imap annotations)
|
||||
use kolab && epatch "${WORKDIR}/patches/opt/imap-kolab-annotations.patch"
|
||||
|
||||
# Change PHP branding
|
||||
# Get the alpha/beta/rc version
|
||||
local ver=$(get_version_component_range 3)
|
||||
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
|
||||
-i configure.in || die "Unable to change PHP branding"
|
||||
|
||||
# Apply generic PHP patches
|
||||
EPATCH_SOURCE="${WORKDIR}/patches/generic" EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_MULTI_MSG="Applying generic patches and fixes from upstream..." epatch
|
||||
|
||||
# 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
|
||||
|
||||
# Suhosin support
|
||||
if [[ -n $SUHOSIN_VERSION ]] ; then
|
||||
if use suhosin ; then
|
||||
epatch "${WORKDIR}/${SUHOSIN_PATCH}"
|
||||
fi
|
||||
else
|
||||
ewarn "Please note that this version of PHP does not yet come with a suhosin patch"
|
||||
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_with curlwrappers curlwrappers "${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_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_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 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 xsl 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)"
|
||||
# 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
|
||||
if use mysql ; then
|
||||
if use mysqlnd ; then
|
||||
my_conf+="
|
||||
$(use_with mysql mysql mysqlnd)"
|
||||
else
|
||||
my_conf+="
|
||||
$(use_with mysql mysql ${EPREFIX}/usr)"
|
||||
fi
|
||||
my_conf+="
|
||||
$(use_with mysql mysql-sock ${EPREFIX}/var/run/mysqld/mysqld.sock)"
|
||||
fi
|
||||
|
||||
# MySQLi support
|
||||
if use mysqlnd ; then
|
||||
my_conf+="
|
||||
$(use_with mysqli mysqli mysqlnd)"
|
||||
else
|
||||
my_conf+="
|
||||
$(use_with mysqli mysqli ${EPREFIX}/usr/bin/mysql_config)"
|
||||
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 )"
|
||||
if use mysqlnd ; then
|
||||
my_conf+="
|
||||
$(use_with mysql pdo-mysql mysqlnd)"
|
||||
else
|
||||
my_conf+="
|
||||
$(use_with mysql pdo-mysql ${EPREFIX}/usr)"
|
||||
fi
|
||||
my_conf+="
|
||||
$(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
|
||||
|
||||
if use pic ; then
|
||||
my_conf="${my_conf} --with-pic"
|
||||
fi
|
||||
|
||||
# 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
|
||||
into "${PHP_DESTDIR#${EPREFIX}}"
|
||||
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"
|
||||
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
|
||||
|
||||
# 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"
|
||||
}
|
||||
|
||||
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="PHP5"
|
||||
APACHE2_MOD_CONF="70_mod_php5"
|
||||
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 "http://www.gentoo.org/proj/en/php/php-upgrading.xml"
|
||||
elog
|
||||
|
||||
if ( [[ -z SUHOSIN_VERSION ]] && use suhosin && version_is_at_least 5.3.6_rc1 ) ; then
|
||||
ewarn
|
||||
ewarn "The suhosin USE flag now only installs the suhosin patch!"
|
||||
ewarn "If you want the suhosin extension, make sure you install"
|
||||
ewarn " dev-php/suhosin"
|
||||
ewarn
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
local sapi
|
||||
local slot
|
||||
for sapi in ${SAPIS}; do
|
||||
slot=$(eselect php show $sapi 2> /dev/null)
|
||||
slot=${slot/php/}
|
||||
if [[ $slot == $SLOT ]]; then
|
||||
ewarn "You have removed the active version of the $sapi SAPI"
|
||||
ewarn "Fix the issue using \`eselect php\`"
|
||||
fi
|
||||
done
|
||||
}
|
@ -0,0 +1 @@
|
||||
DIST luvit-0.6_p20121221.tar.xz 21018492 SHA256 a7189b44ccde2a97b5a4b40381efaaf8ffd50348c00d463645ef60db92f36ab7 SHA512 83622cedd20a8e20e42bfa1d346d35355bc1b72ac92258b5146fbafb92cee3a11399059b3cfc6fde86e7613dd7c1ece287c8a774ccfe59f691ea6f1d87bef5da WHIRLPOOL ff84a6e2a0dc900b3439c5a53807cc2988e6172cfc9f131a3f9334b1fc18a02a025fdea6cbcc6e8c407fb5aa9f0edd75adc2e968c1264865d87b37a40862afde
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue