This commit is contained in:
Micha Glave 2011-05-20 12:07:06 +02:00
commit 737f77e27b
19 changed files with 87 additions and 874 deletions

3
app-text/ecub/Manifest Normal file
View File

@ -0,0 +1,3 @@
DIST ecub_1.11-1_amd64.deb 4511550 RMD160 a8654979e3422398ee20d61a1286e4117ef4bb42 SHA1 04cd669f3c46e9f1b02eb0e24392732861ed93d4 SHA256 8c02351cf71bc46f2f6ccc818c3e216d87de943dd4fd622051c9e8ed4dab87bc
DIST ecub_1.11-1_i386.deb 4464632 RMD160 ea411556f7cf768cba0dbb0fd813011ed6b4a3d7 SHA1 b5613cc0fad36800a57f98b5d063e05519b0ef40 SHA256 cd39b483b0d08678b0cb8824c32abefddd296fa445ae0375db4a2db37b3d74d9
EBUILD ecub-1.11.ebuild 1172 RMD160 1fc958ffe712a108c4c6b837d3a439bdc6ee439b SHA1 424e92e017a14f35b1b64463d7b426a9d129162f SHA256 5ffea11d22eaa9f14b6599da15ed50e0aaf4d9115bcb9a5147104eaf7c654f2e

View File

@ -0,0 +1,52 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
DESCRIPTION="A simple to use EPUB and MobiPocket ebook creator"
HOMEPAGE="http://www.juliansmart.com/ecub"
SRC_URI="x86? ( http://www.anthemion.co.uk/ecub/ecub_${PV}-1_i386.deb )
amd64? ( http://www.anthemion.co.uk/ecub/ecub_${PV}-1_amd64.deb )"
# LICENSE="eCub"
SLOT="0"
KEYWORDS="x86 amd64"
IUSE=""
DEPEND="app-arch/deb2targz"
RDEPEND=""
src_unpack() {
ARCH_SUFFIX=""
if use x86 ; then
ARCH_SUFFIX="i386"
fi
if use amd64 ; then
ARCH_SUFFIX="amd64"
fi
DEBFILE="ecub_${PV}-1_${ARCH_SUFFIX}.deb"
TGZFILE="ecub_${PV}-1_${ARCH_SUFFIX}.tar.gz"
cd ${WORKDIR}
ln -s ${DISTDIR}/${DEBFILE} .
deb2targz ${DEBFILE}
tar xzf ${TGZFILE}
rm ${DEBFILE}
}
src_compile() {
true
}
src_install() {
dodir /usr/bin
dodir /usr/share
dodir /usr/share/applications
dodir /usr/share/pixmaps
cd ${WORKDIR}
cp -R "usr/share/ecub" "${D}usr/share/" || die
dosym /usr/share/ecub/ecub /usr/bin/ecub
insinto /usr/share/pixmaps
newins usr/share/ecub/appicons/ecub48x48.png ecub.png
insinto /usr/share/applications
doins usr/share/ecub/ecub.desktop
}

View File

@ -1,2 +1,2 @@
DIST jarjar-src-1.0rc8.zip 136130 RMD160 76f3231a72a495dd18273bb60489f5c6f7b2a641 SHA1 74b2d7a6801eddc0d1dcc5ad8d02271e58c6d490 SHA256 350b721052ffda3069551e11490be5e65ca93a27b6d0642ca5d153f9d073389a DIST jarjar-1.1.jar 113329 RMD160 0ff57ce5d32ef3b34d9ba3f5d076b1b868a4ebad SHA1 88085e95e0c9cf49e29116bd467a5dccd07d40a0 SHA256 4838f4f29a027522363cef1bcda1b48808880b0de4953fab6db4121ee27b649b
EBUILD jarjar-1.0.ebuild 1426 RMD160 d726f573ee25c9534995f0444d6ca7e3ee68fe73 SHA1 97a3ae9b2149c76ee28ff02e2e71df4b7a9b8d1c SHA256 707ee026f8f3cc4ff2f6d5e638c2bd6ba1eea7959a827c15420a810a1c0e05c7 EBUILD jarjar-1.1.ebuild 630 RMD160 390dd0c22aa4cab143f2e5561ba7be593a84ea34 SHA1 dda57746ddfd02b22477533663f9e84ead3dcba4 SHA256 86e24f0dfbb96a8215893b2edc1a88180f0753a76fbcda1d9fd61563ab7ef627

View File

@ -1,58 +0,0 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="2"
JAVA_PKG_IUSE="doc source test"
inherit java-pkg-2 java-ant-2
DESCRIPTION="Tool for repackaging third-party jars."
HOMEPAGE="http://code.google.com/p/jarjar/"
# 1.0 has no source tarball, but there are no changes from 1.0rc8 to 1.0 anyway
SRC_URI="http://${PN}.googlecode.com/files/${PN}-src-${PV}rc8.zip"
LICENSE="Apache-2.0"
SLOT="1"
KEYWORDS="~amd64"
IUSE=""
COMMON_DEP="dev-java/ant-core:0"
RDEPEND=">=virtual/jre-1.5
${COMMON_DEP}"
DEPEND=">=virtual/jdk-1.5
app-arch/unzip:0
dev-java/asm:3
dev-java/maven-plugin-api:2.1
test? (
dev-java/junit:0
dev-java/ant-junit:0
)
${COMMON_DEP}"
S="${WORKDIR}/${P}rc8"
java_prepare() {
# bug #191378
epatch "${FILESDIR}/0.9-bootclasspath.patch"
# bug #305929
epatch "${FILESDIR}/1.0-ant-1.8-compat.patch"
cd lib/ && rm * || die
java-pkg_jar-from ant-core
java-pkg_jar-from --build-only asm-3 asm.jar asm-3.1.jar
java-pkg_jar-from --build-only asm-3 asm-commons.jar asm-commons-3.1.jar
java-pkg_jar-from --build-only maven-plugin-api-2.1
use test && java-pkg_jar-from --build-only junit
}
src_test() {
ANT_TASKS="ant-junit" eant test
}
src_install() {
java-pkg_newjar "dist/${PN}-snapshot.jar" "${PN}.jar"
java-pkg_register-ant-task
use doc && java-pkg_dojavadoc dist/javadoc
use source && java-pkg_dosrc src/main/com
}

View File

@ -0,0 +1,30 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="2"
inherit java-pkg-2 java-ant-2
DESCRIPTION="Tool for repackaging third-party jars."
HOMEPAGE="http://code.google.com/p/jarjar/"
SRC_URI="http://${PN}.googlecode.com/files/${P}.jar"
LICENSE="Apache-2.0"
SLOT="1"
KEYWORDS="~amd64"
IUSE=""
COMMON_DEP="dev-java/ant-core:0"
RDEPEND=">=virtual/jre-1.5
${COMMON_DEP}"
DEPEND=">=virtual/jdk-1.5
${COMMON_DEP}"
src_unpack() {
einfo "Nothing to unpack"
}
src_install() {
java-pkg_newjar "${DISTDIR}/${P}.jar" "${PN}.jar"
java-pkg_register-ant-task
}

View File

@ -1,17 +0,0 @@
AUX 20php4-envd 145 RMD160 fb57b2d202ab1031303e7525a8ef5b353dc04ef8 SHA1 34ef066d2de22f147fc86bbe884692af7631f726 SHA256 17cd1a952434988b4c2125e4d1eef1df7114809f404605d35f255674419dd5d5
AUX 20php5-envd 145 RMD160 8c81fb7dc1d1ddf16fd956d748514db3bcb27603 SHA1 f1cef57c0def8e2c5422aaf136f40b4ff47801d2 SHA256 efaae9e6ae5f7010e073c2ab6d8a9dda009f0707c7d7b0c027e142c94f7041a4
AUX 70_mod_php5.conf-apache2 490 RMD160 745bdb5db622577f473703d5ee8dc7f3c66f8f0c SHA1 7daf9c9ec2e6d108f850981853f9f4f599be0b71 SHA256 5667d06cb7a18c30d11decd28d55b87e36287c76c4d3a450b1cb37271e7fdcd1
AUX 70_mod_php5.conf-apache2-r1 374 RMD160 ca06cdc9d1a3dc4129a60c938ee3a1b542497fbb SHA1 4733066b6324c5870e716485484c44c7c26a9ff1 SHA256 815c1ca23c9afe8479568ceaac4057eb91ea5444fbd863866b29adb4eea2c82b
AUX 70_mod_php5_concurr.conf-apache2 414 RMD160 1783b6c830119f021c3fb6cb35a631f43c4fa70c SHA1 09f9076f35bc84994fc8c687b4befc0400475f1a SHA256 ccc3bc073eafc83f98049679a411801e80f84620bd51c37c36de2b9ee9492aa2
AUX 70_mod_php5_concurr.conf-apache2-r1 376 RMD160 4f7de5c0784b6191450b5c1a7de7ad941620e199 SHA1 c42a23bd7a1d3e8c7e0ac906f50f180116349f76 SHA256 c05f499d9c8927391c586b94716a9f59d63767165552ea527ec7ff63c36eaa40
AUX php-5.2.10-fpm-0.5.13.diff-ext.patch 616 RMD160 f2c7404a06106bbea4f25c684730549f0738adf1 SHA1 dcebc68c4367caa2b62a9df460ec28f1bfdd3a8e SHA256 73097d238ae907408c4affacc5478818f3a4b877e29e7490de6ac8e7c071b4d6
AUX php-5.2.10-pdo_dblib.patch 559 RMD160 062604e291113b2bb86044b5eeffb72fad210fbc SHA1 d59d26e6557dac86e582e1a6ed7bb4795cf150c6 SHA256 0548d63d7379cd19f7ade6ca1222b1b577f684b142ff6b0e8e23742b1f7f9794
AUX php-fpm.init 545 RMD160 cf1f1325282a4ef4ce9832b3363c14ca773fe6a9 SHA1 35bf2b987169d3847d21e252f1d1d3367b66d2ed SHA256 db8347cac1ce24555711be27cf28d25449aa25862b562fe4f86c466b48154a95
AUX php4-ldvs 22 RMD160 e70c565b3930d9d9e3253062b7c633346cb99a63 SHA1 8c66355dfb80e2ecc6ee6faae30bf7dbb1727651 SHA256 4aee18478b09cda7e925ccde157db6099ea0122b5c4efb0868e3761b65688dde
AUX php5-ldvs 22 RMD160 5846dab2745b68a88175dd4e72d0b8cf4756dd46 SHA1 592398c92575adb14ec972847ce2aca28a7b9c2c SHA256 b79d0e52b1b3b4543b31ad45525ae1c2814a27ea8e676772ab10bf6fb12dfe79
DIST php-5.2.13.tar.bz2 9084518 RMD160 9e21d32a7b757d25ed827834b26235ea1eebfcc8 SHA1 7127a21f1b493e3cd43f45cadecdb46b623eb1fb SHA256 2b50a2535e3bb9a98cd4d1633f9452d877276c40b385915261f040d535c7eadb
DIST php-fpm-0.6~5.2.patch 285105 RMD160 297db9b433233abb0ee38a3e2d3744db36082e65 SHA1 3a8d0825cb6f728f5c9b9e956eb2221a9c07845c SHA256 569f07eb95cf258c655b0dcab2bf75b1b2ccc38d17f31b44d804790f5c2f0c54
DIST php-patchset-5.2.13-r0.tar.bz2 10207 RMD160 b367c17742553fcfbf4cb1b76f8dd4aae9f08cf8 SHA1 20b60e3aef34d0b558f0c896c6981957490b2ba9 SHA256 c71dad65178186786393164a0cb4f056b85f0e00579da3dc2dbe5b863ec4262b
DIST suhosin-patch-5.2.11-0.9.7.patch.gz 23050 RMD160 0f6d442aace34c221f9fbff42a63e7f3b4489f15 SHA1 248419332131efc53f3306c2a57a4b1a9dc92cc1 SHA256 392f10c9b7d9c47f30e989fb7775cc46d36153b933bf7ac9ccd8826b2954584b
EBUILD php-5.2.13.ebuild 19835 RMD160 1c95bc96bf8697dbfd85ecefdfd9737591f66ace SHA1 74961857993ea620bb70b7348cf5c9f02beaa44a SHA256 f9cfd6998afce5bb633c100afb427e2bcca9bc713896e6251e03ce0096decc10
MISC metadata.xml 1609 RMD160 d38bf6db4068985b22b93e8d0d7f813b6598456f SHA1 c58a51a1286a0b9960ddd1511a16ca79f00b556e SHA256 949a48d14d9f2b5898c46e733b165802b52dbff9f146fe2cd7d562bc3b0075db

View File

@ -1,2 +0,0 @@
MANPATH="/usr/lib/php4/man/"
CONFIG_PROTECT_MASK="/etc/php/cli-php4/ext-active/ /etc/php/cgi-php4/ext-active/ /etc/php/apache2-php4/ext-active/"

View File

@ -1,2 +0,0 @@
MANPATH="/usr/lib/php5/man/"
CONFIG_PROTECT_MASK="/etc/php/cli-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/apache2-php5/ext-active/"

View File

@ -1,18 +0,0 @@
<IfDefine PHP5>
# Load the module first
<IfModule !mod_php5.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
# Set it to handle the files
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5
AddType application/x-httpd-php-source .phps
</IfModule>
DirectoryIndex index.php index.phtml
</IfDefine>

View File

@ -1,17 +0,0 @@
<IfDefine PHP5>
# Load the module first
<IfModule !mod_php5.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
# Set it to handle the files
<FilesMatch "\.ph(p5?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
DirectoryIndex index.php index.phtml
</IfDefine>

View File

@ -1,16 +0,0 @@
<IfDefine PHP5>
# Load the module first
<IfModule !mod_php5.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
# Set it to handle the files
<IfModule mod_mime.c>
AddType application/x-httpd-php5 .php
AddType application/x-httpd-php5 .phtml
AddType application/x-httpd-php5 .php5
AddType application/x-httpd-php5-source .phps
</IfModule>
DirectoryIndex index.php index.phtml
</IfDefine>

View File

@ -1,17 +0,0 @@
<IfDefine PHP5>
# Load the module first
<IfModule !mod_php5.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
# Set it to handle the files
<FilesMatch "\.ph(p5?|tml)$">
SetHandler application/x-httpd-php5
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php5-source
</FilesMatch>
DirectoryIndex index.php index.phtml
</IfDefine>

View File

@ -1,16 +0,0 @@
diff -ur php-5.2.10-orig/sapi/cgi/fpm/conf/php-fpm.conf.in php-5.2.10/sapi/cgi/fpm/conf/php-fpm.conf.in
--- php-5.2.10-orig/sapi/cgi/fpm/conf/php-fpm.conf.in 2009-07-22 13:31:05.000000000 +0800
+++ php-5.2.10/sapi/cgi/fpm/conf/php-fpm.conf.in 2009-07-22 13:36:28.000000000 +0800
@@ -60,10 +60,10 @@
</value>
Unix user of processes
- <!-- <value name="user">nobody</value> -->
+ <value name="user">nobody</value>
Unix group of processes
- <!-- <value name="group">@php_fpm_group@</value> -->
+ <value name="group">@php_fpm_group@</value>
Process manager settings
<value name="pm">

View File

@ -1,16 +0,0 @@
diff -Naur php-5.2.10.old/ext/pdo_dblib/dblib_driver.c php-5.2.10/ext/pdo_dblib/dblib_driver.c
--- php-5.2.10.old/ext/pdo_dblib/dblib_driver.c 2009-03-20 23:14:17.000000000 +0100
+++ php-5.2.10/ext/pdo_dblib/dblib_driver.c 2009-09-25 00:19:31.000000000 +0200
@@ -230,9 +230,9 @@
goto cleanup;
}
- if (DBSETOPT(H->link, DBTEXTLIMIT, "2147483647") == FAIL) {
- goto cleanup;
- }
+// if (DBSETOPT(H->link, DBTEXTLIMIT, "2147483647") == FAIL) {
+// goto cleanup;
+// }
if (vars[3].optval && FAIL == dbuse(H->link, vars[3].optval)) {
goto cleanup;

View File

@ -1,26 +0,0 @@
#!/sbin/runscript
opts="depend start stop reload"
depend() {
need net
}
start() {
ebegin "Starting PHP FastCGI server"
start-stop-daemon --start --pidfile=/var/run/php-fpm.pid \
--exec /usr/bin/php-fpm
eend $?
}
stop() {
ebegin "Stopping PHP FastCGI server"
start-stop-daemon --stop --pidfile=/var/run/php-fpm.pid
eend $?
}
reload() {
ebegin "Restart gracefully PHP FastCGI server"
kill -SIGUSR2 `cat /var/run/php-fpm.pid` &>/dev/null
eend $?
}

View File

@ -1 +0,0 @@
PHP_4 { global: *; };

View File

@ -1 +0,0 @@
PHP_5 { global: *; };

View File

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>php</herd>
<use>
<flag name='cli'>Enable CLI SAPI</flag>
<flag name='concurrentmodphp'>Make it possible to load both mod_php4 and mod_php5 into the same Apache2 instance (experimental)</flag>
<flag name='discard-path'>Switch on common security setting for CGI SAPI</flag>
<flag name='fastbuild'>Build PHP quicker (experimental)</flag>
<flag name='fdftk'>Add supports for Adobe's FDF toolkit.</flag>
<flag name='filter'>Add filter extension support</flag>
<flag name='force-cgi-redirect'>Switch on common security setting for CGI SAPI</flag>
<flag name='hash'>Enable the hash extension</flag>
<flag name='java-external'>Use the external java extension rather than the bundled one</flag>
<flag name='json'>Enable JSON support</flag>
<flag name='ldap-sasl'>Add SASL support for the PHP LDAP extension</flag>
<flag name='pic'>Force shared modules to build as PIC on x86 (speed tradeoff with memory usage)</flag>
<flag name='pdo'>Enable the bundled PDO extensions</flag>
<flag name='reflection'>Enable the reflection extension (Reflection API)</flag>
<flag name='suhosin'>Add Suhosin support (patch and extension from http://www.suhosin.org/)</flag>
<flag name='fpm'>Add php-fpm: PHP FastCGI Process Manager support (patch from http://php-fpm.anight.org/)</flag>
<flag name='xmlreader'>Enable XMLReader support</flag>
<flag name='xmlwriter'>Enable XMLWriter support</flag>
<flag name='zip'>Enable ZIP file support</flag>
</use>
</pkgmetadata>

View File

@ -1,639 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/php-5.2.12.ebuild,v 1.8 2010/01/05 19:56:43 armin76 Exp $
CGI_SAPI_USE="discard-path force-cgi-redirect"
APACHE2_SAPI_USE="concurrentmodphp threads"
IUSE="cli cgi ${CGI_SAPI_USE} ${APACHE2_SAPI_USE} fastbuild fpm"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
# NOTE: Portage doesn't support setting PROVIDE based on the USE flags
# that have been enabled, so we have to PROVIDE everything for now
# and hope for the best
PROVIDE="virtual/php virtual/httpd-php"
# php package settings
SLOT="5"
MY_PHP_PV="${PV}"
MY_PHP_P="php-${MY_PHP_PV}"
PHP_PACKAGE="1"
# php patch settings, general
PHP_PATCHSET_REV="${PR/r/}"
PHP_PATCHSET_URI="http://dev.gentoo.org/~hoffie/distfiles/php-patchset-${PV}-r${PHP_PATCHSET_REV}.tar.bz2"
SUHOSIN_PATCH="suhosin-patch-5.2.11-0.9.7.patch.gz"
FPM_PATCH="php-fpm-0.6~5.2.patch"
MULTILIB_PATCH="${MY_PHP_PV}/opt/multilib-search-path.patch"
# php patch settings, ebuild specific
FASTBUILD_PATCH="${MY_PHP_PV}/opt/fastbuild.patch"
CONCURRENTMODPHP_PATCH="${MY_PHP_PV}/opt/concurrent_apache_modules.patch"
# kolab patch - http://kolab.org/cgi-bin/viewcvs-kolab.cgi/server/patches/php/
# bugs about this go to wrobel@gentoo.org
KOLAB_PATCH="${MY_PHP_PV}/opt/kolab-imap-annotations.patch"
inherit versionator php5_2-sapi apache-module
# Suhosin patch support
[[ -n "${SUHOSIN_PATCH}" ]] && SRC_URI="${SRC_URI} suhosin? ( http://gentoo.longitekk.com/${SUHOSIN_PATCH} )"
# FPM patch support
[[ -n "${FPM_PATCH}" ]] && SRC_URI="${SRC_URI} fpm? ( http://launchpad.net/php-fpm/master/0.6/+download/${FPM_PATCH} )"
DESCRIPTION="The PHP language runtime engine: CLI, CGI and Apache2 SAPIs."
DEPEND=">=app-admin/php-toolkit-1.0.2
fpm? ( >=dev-libs/libxml2-2.7.2-r2 >=dev-libs/libevent-1.4.11 )
imap? ( >=virtual/imap-c-client-2006k )
pcre? ( >=dev-libs/libpcre-7.8 )
xml? ( >=dev-libs/libxml2-2.7.2-r2 )
xmlrpc? ( >=dev-libs/libxml2-2.7.2-r2 virtual/libiconv )"
RDEPEND="${DEPEND}"
if [[ -n "${KOLAB_PATCH}" ]] ; then
IUSE="${IUSE} kolab"
DEPEND="${DEPEND}
kolab? ( >=net-libs/c-client-2004g-r1 )"
fi
PDEPEND="suhosin? ( >=dev-php5/suhosin-0.9.29 )"
want_apache
pkg_setup() {
PHPCONFUTILS_AUTO_USE=""
# Make sure the user has specified at least one SAPI
einfo "Determining SAPI(s) to build"
phpconfutils_require_any " Enabled SAPI:" " Disabled SAPI:" cli cgi apache2
# php-fpm patch support
if use fpm && ! use cgi ; then
eerror
eerror "You must enable CGI SAPI for php-fpm patch to work"
eerror
ebeep 1
die
fi
# Threaded Apache2 support
if use apache2 ; then
has_apache_threads
fi
# Concurrent PHP Apache2 modules support
if use apache2 ; then
if use concurrentmodphp ; then
ewarn
ewarn "'concurrentmodphp' makes it possible to load multiple, differently"
ewarn "versioned mod_php's into the same Apache instance. This is done with"
ewarn "a few linker tricks and workarounds, and is not guaranteed to always"
ewarn "work correctly, so use it at your own risk. Especially, do not use"
ewarn "this in conjunction with PHP modules (PECL, ...) other than the ones"
ewarn "you may find in the Portage tree or the PHP Overlay!"
ewarn "This is an experimental feature, so please rebuild PHP"
ewarn "without the 'concurrentmodphp' USE flag if you experience"
ewarn "any problems, and then reproduce any bugs before filing"
ewarn "them in Gentoo's Bugzilla or bugs.php.net."
ewarn "If you have conclusive evidence that a bug directly"
ewarn "derives from 'concurrentmodphp', please file a bug in"
ewarn "Gentoo's Bugzilla only."
ewarn
ebeep 5
fi
fi
# fastbuild support
if use fastbuild ; then
ewarn
ewarn "'fastbuild' attempts to build all SAPIs in a single pass."
ewarn "This is an experimental feature, so please rebuild PHP"
ewarn "without the 'fastbuild' USE flag if you experience"
ewarn "any problems, and then reproduce any bugs before filing"
ewarn "them in Gentoo's Bugzilla or bugs.php.net."
ewarn "If you have conclusive evidence that a bug directly"
ewarn "derives from 'fastbuild', please file a bug in"
ewarn "Gentoo's Bugzilla only."
ewarn
fi
if use pcre ; then
built_with_use dev-libs/libpcre unicode || \
die "Please rebuild dev-libs/libpcre with USE=unicode"
fi
depend.apache_pkg_setup
php5_2-sapi_pkg_setup
}
php_determine_sapis() {
# holds the list of sapis that we want to build
PHPSAPIS=
if use cli || phpconfutils_usecheck cli ; then
PHPSAPIS="${PHPSAPIS} cli"
fi
if use cgi ; then
PHPSAPIS="${PHPSAPIS} cgi"
fi
if use fpm ; then
PHPSAPIS="${PHPSAPIS} fpm"
fi
# note - apache SAPI comes after the simpler cli/cgi sapis
if use apache2 ; then
PHPSAPIS="${PHPSAPIS} apache${APACHE_VERSION}"
fi
}
src_unpack() {
if [[ "${PHP_PACKAGE}" == 1 ]] ; then
unpack ${A}
fi
cd "${S}"
# php-fpm support
if use fpm ; then
EPATCH_OPTS="-p1 -d ${S}" epatch "${DISTDIR}/${FPM_PATCH}"
fi
# Concurrent PHP Apache2 modules support
if use apache2 ; then
if use concurrentmodphp ; then
if [[ -n "${CONCURRENTMODPHP_PATCH}" ]] && [[ -f "${WORKDIR}/${CONCURRENTMODPHP_PATCH}" ]] ; then
epatch "${WORKDIR}/${CONCURRENTMODPHP_PATCH}"
else
ewarn "There is no concurrent mod_php patch available for this PHP release yet!"
fi
fi
fi
# fastbuild support
if use fastbuild ; then
if [[ -n "${FASTBUILD_PATCH}" ]] && [[ -f "${WORKDIR}/${FASTBUILD_PATCH}" ]] ; then
epatch "${WORKDIR}/${FASTBUILD_PATCH}"
else
ewarn "There is no fastbuild patch available for this PHP release yet!"
fi
fi
# kolab support
if [[ -n "${KOLAB_PATCH}" ]] ; then
use kolab && epatch "${WORKDIR}/${KOLAB_PATCH}"
fi
# pretend to not have flex, bug 221357
sed -re 's:( +)PHP_SUBST\(LEX\):\1LEX="exit 0;"\n\0:' -i acinclude.m4
# Now let the eclass do the rest and regenerate the configure
php5_2-sapi_src_unpack
# Fix Makefile.global:test to consider the CGI SAPI if present
if use cgi ; then
sed -e "s|test \! -z \"\$(top_builddir)/php-cli\" \&\& test -x \"\$(top_builddir)/php-cli\"|test \! -z \"\$(top_builddir)/php-cli\" \&\& test -x \"\$(top_builddir)/php-cli\" \&\& test \! -z \"\$(top_builddir)/php-cgi\" \&\& test -x \"\$(top_builddir)/php-cgi\"|g" -i Makefile.global
sed -e "s|TEST_PHP_EXECUTABLE=\"\$(top_builddir)/php-cli\"|TEST_PHP_EXECUTABLE=\"\$(top_builddir)/php-cli\" TEST_PHP_CGI_EXECUTABLE=\"\$(top_builddir)/php-cgi\"|g" -i Makefile.global
fi
# try to fix some test cases which fail because of sandbox otherwise
sed -e 's:/no/such/:.\0:' -i ext/standard/tests/file/005_error.phpt \
ext/standard/tests/file/006_error.phpt \
ext/standard/tests/file/touch.phpt
# REMOVING BROKEN TESTS:
# removing this test as it has been broken for ages and is not easily
# fixable (depends on a lot of factors)
rm ext/standard/tests/general_functions/phpinfo.phpt
# never worked properly, no easy fix
rm ext/iconv/tests/iconv_stream_filter.phpt
# needs write access to /tmp and others
rm ext/session/tests/session_save_path_variation5.phpt
# new tests since 5.2.7 which have never been working for me
rm ext/spl/tests/arrayObject___construct_basic4.phpt \
ext/spl/tests/arrayObject___construct_basic5.phpt \
ext/spl/tests/arrayObject_exchangeArray_basic3.phpt \
ext/spl/tests/arrayObject_setFlags_basic1.phpt
# those might as well be related to suhosin
rm ext/session/tests/session_decode_variation3.phpt \
ext/session/tests/session_encode_variation8.phpt
# missing skipif
use reflection || \
rm ext/standard/tests/directory/DirectoryClass_basic_001.phpt
# sandbox-related (sandbox checks for permissions before even looking
# at the fs, but the tests expect "No such file or directory"
sed -e 's:/blah:./bla:' -i \
ext/session/tests/session_save_path_variation{2,3}.phpt
rm ext/standard/tests/file/rename_variation13.phpt
# test passes, but run-tests.php claims failure
rm ext/standard/tests/file/tempnam_variation4.phpt
# these tests behave differently with suhosin enabled, adapting them...
use suhosin && sed -e 's:File(\.\./):File(..):g' -i \
tests/security/open_basedir*{.inc,.phpt}
}
src_compile() {
# bug 217392 (autconf-2.62 behavior changes)
export CFLAGS="${CFLAGS} -D_GNU_SOURCE"
export CXXFLAGS="${CXXFLAGS} -D_GNU_SOURCE"
if use fastbuild && [[ -n "${FASTBUILD_PATCH}" ]] ; then
src_compile_fastbuild
else
src_compile_normal
fi
}
src_compile_fastbuild() {
php_determine_sapis
build_cli=0
build_cgi=0
build_fpm=0
build_apache2=0
my_conf=""
for x in ${PHPSAPIS} ; do
case ${x} in
cli)
build_cli=1
;;
cgi)
build_cgi=1
;;
fpm)
build_fpm=1
;;
apache2)
build_apache2=1
;;
esac
done
if [[ ${build_cli} = 1 ]] ; then
my_conf="${my_conf} --enable-cli"
else
my_conf="${my_conf} --disable-cli"
fi
if [[ ${build_cgi} = 1 ]] ; then
my_conf="${my_conf} --enable-cgi --enable-fastcgi"
phpconfutils_extension_enable "discard-path" "discard-path" 0
phpconfutils_extension_enable "force-cgi-redirect" "force-cgi-redirect" 0
else
my_conf="${my_conf} --disable-cgi"
fi
if [[ ${build_fpm} = 1 ]] ; then
my_conf="${my_conf} \
--with-fpm \
--with-libevent=shared,/usr/lib \
--with-fpm-conf=/etc/php/fpm-php5/php-fpm.conf \
--with-fpm-user=php-fpm \
--with-fpm-group=php-fpm \
--with-fpm-log=/var/log/php-fpm.log \
--with-fpm-pid=/var/run/php-fpm.pid"
fi
if [[ ${build_apache2} = 1 ]] ; then
my_conf="${my_conf} --with-apxs2=/usr/sbin/apxs2"
# Threaded Apache2 support
if use threads ; then
my_conf="${my_conf} --enable-maintainer-zts"
ewarn "Enabling ZTS for Apache2 MPM"
fi
# Concurrent PHP Apache2 modules support
if use concurrentmodphp ; then
append-ldflags "-Wl,--version-script=${FILESDIR}/php5-ldvs"
fi
fi
if use pcre || phpconfutils_usecheck pcre ; then
myconf="${my_conf} --with-pcre-dir=/usr"
phpconfutils_extension_with "pcre-regex" "pcre" 0 "/usr"
fi
# Now we know what we are building, build it
php5_2-sapi_src_compile
# To keep the separate php.ini files for each SAPI, we change the
# build-defs.h and recompile
if [[ ${build_cli} = 1 ]] ; then
einfo
einfo "Building CLI SAPI"
einfo
sed -e 's|^#define PHP_CONFIG_FILE_PATH.*|#define PHP_CONFIG_FILE_PATH "/etc/php/cli-php5"|g;' -i main/build-defs.h
sed -e 's|^#define PHP_CONFIG_FILE_SCAN_DIR.*|#define PHP_CONFIG_FILE_SCAN_DIR "/etc/php/cli-php5/ext-active"|g;' -i main/build-defs.h
for x in main/main.o main/main.lo main/php_ini.o main/php_ini.lo ; do
[[ -f ${x} ]] && rm -f ${x}
done
make sapi/cli/php || die "Unable to make CLI SAPI"
cp sapi/cli/php php-cli || die "Unable to copy CLI SAPI"
fi
if [[ ${build_cgi} = 1 ]] ; then
einfo
einfo "Building CGI SAPI"
einfo
sed -e 's|^#define PHP_CONFIG_FILE_PATH.*|#define PHP_CONFIG_FILE_PATH "/etc/php/cgi-php5"|g;' -i main/build-defs.h
sed -e 's|^#define PHP_CONFIG_FILE_SCAN_DIR.*|#define PHP_CONFIG_FILE_SCAN_DIR "/etc/php/cgi-php5/ext-active"|g;' -i main/build-defs.h
for x in main/main.o main/main.lo main/php_ini.o main/php_ini.lo ; do
[[ -f ${x} ]] && rm -f ${x}
done
make sapi/cgi/php-cgi || die "Unable to make CGI SAPI"
cp sapi/cgi/php-cgi php-cgi || die "Unable to copy CGI SAPI"
fi
if [[ ${build_fpm} = 1 ]] ; then
einfo
einfo "Building FPM SAPI"
einfo
sed -e 's|^#define PHP_CONFIG_FILE_PATH.*|#define PHP_CONFIG_FILE_PATH "/etc/php/fpm-php5"|g;' -i main/build-defs.h
sed -e 's|^#define PHP_CONFIG_FILE_SCAN_DIR.*|#define PHP_CONFIG_FILE_SCAN_DIR "/etc/php/fpm-php5/ext-active"|g;' -i main/build-defs.h
for x in main/main.o main/main.lo main/php_ini.o main/php_ini.lo ; do
[[ -f ${x} ]] && rm -f ${x}
done
make sapi/fpm/php-fpm || die "Unable to make FPM SAPI"
cp sapi/fpm/php-fpm php-fpm || die "Unable to copy FPM SAPI"
fi
if [[ ${build_apache2} = 1 ]] ; then
einfo
einfo "Building apache${APACHE_VERSION} SAPI"
einfo
sed -e "s|^#define PHP_CONFIG_FILE_PATH.*|#define PHP_CONFIG_FILE_PATH \"/etc/php/apache${APACHE_VERSION}-php5\"|g;" -i main/build-defs.h
sed -e "s|^#define PHP_CONFIG_FILE_SCAN_DIR.*|#define PHP_CONFIG_FILE_SCAN_DIR \"/etc/php/apache${APACHE_VERSION}-php5/ext-active\"|g;" -i main/build-defs.h
for x in main/main.o main/main.lo main/php_ini.o main/php_ini.lo ; do
[[ -f ${x} ]] && rm -f ${x}
done
make || die "Unable to make apache${APACHE_VERSION} SAPI"
fi
}
src_compile_normal() {
php_determine_sapis
CLEAN_REQUIRED=0
my_conf=""
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
if use apache2 ; then
# Concurrent PHP Apache2 modules support
if use concurrentmodphp ; then
append-ldflags "-Wl,--version-script=${FILESDIR}/php5-ldvs"
fi
fi
for x in ${PHPSAPIS} ; do
if use pcre || phpconfutils_usecheck pcre ; then
myconf="${my_conf} --with-pcre-dir=/usr"
phpconfutils_extension_with "pcre-regex" "pcre" 0 "/usr"
fi
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
if use apache2 ; then
# Threaded Apache2 support
if use threads ; then
my_conf="${my_conf} --enable-maintainer-zts"
ewarn "Enabling ZTS for Apache2 MPM"
fi
fi
if [[ "${CLEAN_REQUIRED}" = 1 ]] ; then
make clean
fi
PHPSAPI="${x}"
case ${x} in
cli)
my_conf="${my_conf} --enable-cli --disable-cgi"
php5_2-sapi_src_compile
cp sapi/cli/php php-cli || die "Unable to copy CLI SAPI"
;;
cgi)
my_conf="${my_conf} --disable-cli --enable-cgi --enable-fastcgi"
phpconfutils_extension_enable "discard-path" "discard-path" 0
phpconfutils_extension_enable "force-cgi-redirect" "force-cgi-redirect" 0
php5_2-sapi_src_compile
cp sapi/cgi/php-cgi php-cgi || die "Unable to copy CGI SAPI"
;;
fpm)
my_conf="${my_conf} \
--with-fpm \
--with-libevent=shared,/usr/lib \
--with-fpm-conf=/etc/php/fpm-php5/php-fpm.conf \
--with-fpm-user=php-fpm \
--with-fpm-group=php-fpm \
--with-fpm-log=/var/log/php-fpm.log \
--with-fpm-pid=/var/run/php-fpm.pid"
phpconfutils_extension_enable "discard-path" "discard-path" 0
phpconfutils_extension_enable "force-cgi-redirect" "force-cgi-redirect" 0
php5_2-sapi_src_compile
cp sapi/fpm/php-fpm php-fpm || die "Unable to copy CGI SAPI"
;;
apache2)
my_conf="${my_conf} --disable-cli --with-apxs2=/usr/sbin/apxs2"
php5_2-sapi_src_compile
;;
esac
CLEAN_REQUIRED=1
my_conf=""
done
}
src_install() {
php_determine_sapis
destdir=/usr/$(get_libdir)/php5
# Let the eclass do the common work
php5_2-sapi_src_install
einfo
einfo "Installing SAPI(s) ${PHPSAPIS}"
einfo
for x in ${PHPSAPIS} ; do
PHPSAPI="${x}"
case ${x} in
cli)
einfo "Installing CLI SAPI"
into ${destdir}
newbin php-cli php || die "Unable to install ${x} sapi"
php5_2-sapi_install_ini
;;
cgi)
einfo "Installing CGI SAPI"
into ${destdir}
dobin php-cgi || die "Unable to install ${x} sapi"
php5_2-sapi_install_ini
;;
fpm)
einfo "Installing FPM SAPI"
into ${destdir}
dobin php-fpm || die "Unable to install ${x} sapi"
php5_2-sapi_install_ini
insinto ${PHP_INI_DIR}
newins "${S}/sapi/fpm/php_fpm.conf" "php-fpm.conf" || die "Failed to install php-fpm.conf"
newins "${S}/sapi/fpm/php_fpm.conf" "php-fpm.conf.dist" || die "Failed to install php-fpm.conf.dist"
einfo "Installing php-fpm init.d"
newinitd "${FILESDIR}/php-fpm.init" "php-fpm"
;;
apache2)
einfo "Installing Apache${APACHE_VERSION} SAPI"
make INSTALL_ROOT="${D}" install-sapi || die "Unable to install ${x} SAPI"
if use concurrentmodphp ; then
einfo "Installing Apache${APACHE_VERSION} config file for PHP5-concurrent (70_mod_php5_concurr.conf)"
insinto ${APACHE_MODULES_CONFDIR}
newins "${FILESDIR}/70_mod_php5_concurr.conf-apache2-r1" "70_mod_php5_concurr.conf"
# Put the ld version script in the right place so it's always accessible
insinto "/var/lib/php-pkg/${CATEGORY}/${PN}-${PVR}/"
doins "${FILESDIR}/php5-ldvs"
# Redefine the extension dir to have the modphp suffix
PHPEXTDIR="`"${D}/${destdir}/bin/php-config" --extension-dir`-versioned"
else
einfo "Installing Apache${APACHE_VERSION} config file for PHP5 (70_mod_php5.conf)"
insinto ${APACHE_MODULES_CONFDIR}
newins "${FILESDIR}/70_mod_php5.conf-apache2-r1" "70_mod_php5.conf"
fi
php5_2-sapi_install_ini
;;
esac
done
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" "20php5"
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${D}/etc/env.d/20php5"
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
APACHE2_MOD_DEFINE="PHP5"
if use concurrentmodphp ; then
APACHE2_MOD_CONF="70_mod_php5_concurr"
else
APACHE2_MOD_CONF="70_mod_php5"
fi
apache-module_pkg_postinst
fi
# Update Apache2 to use mod_php
if use apache2 ; then
"${ROOT}/usr/sbin/php-select" -t apache2 php5 > /dev/null 2>&1
exitStatus=$?
if [[ ${exitStatus} == 2 ]] ; then
php-select apache2 php5
elif [[ ${exitStatus} == 4 ]] ; then
ewarn
ewarn "Apache2 is configured to load a different version of PHP."
ewarn "To make Apache2 use PHP v5, use php-select:"
ewarn
ewarn " php-select apache2 php5"
ewarn
fi
fi
# Create the symlinks for php-cli
if use cli || phpconfutils_usecheck cli ; then
"${ROOT}/usr/sbin/php-select" -t php php5 > /dev/null 2>&1
exitStatus=$?
if [[ ${exitStatus} == 5 ]] ; then
php-select php php5
elif [[ ${exitStatus} == 4 ]] ; then
ewarn
ewarn "/usr/bin/php links to a different version of PHP."
ewarn "To make /usr/bin/php point to PHP v5, use php-select:"
ewarn
ewarn " php-select php php5"
ewarn
fi
fi
# Create the symlinks for php-cgi
if use cgi ; then
"${ROOT}/usr/sbin/php-select" -t php-cgi php5 > /dev/null 2>&1
exitStatus=$?
if [[ ${exitStatus} == 5 ]] ; then
php-select php-cgi php5
elif [[ ${exitStatus} == 4 ]] ; then
ewarn
ewarn "/usr/bin/php-cgi links to a different version of PHP."
ewarn "To make /usr/bin/php-cgi point to PHP v5, use php-select:"
ewarn
ewarn " php-select php-cgi php5"
ewarn
fi
fi
# Create the symlinks and user for php-fpm
if use fpm ; then
"${ROOT}/usr/sbin/php-select" -t php-fpm php5 > /dev/null 2>&1
exitStatus=$?
if [[ ${exitStatus} == 5 ]] ; then
php-select php-fpm php5
fi
ebegin "Creating php-fpm user and group"
enewgroup php-fpm
enewuser php-fpm -1 -1 /dev/null php-fpm
eend ${?}
einfo "php-fpm config installed to /etc/php/fpm-php5/php-fpm.conf"
fi
# Create the symlinks for php-devel
"${ROOT}/usr/sbin/php-select" -t php-devel php5 > /dev/null 2>&1
exitStatus=$?
if [[ $exitStatus == 5 ]] ; then
php-select php-devel php5
elif [[ $exitStatus == 4 ]] ; then
ewarn
ewarn "/usr/bin/php-config and/or /usr/bin/phpize are linked to a"
ewarn "different version of PHP. To make them point to PHP v5, use"
ewarn "php-select:"
ewarn
ewarn " php-select php-devel php5"
ewarn
fi
php5_2-sapi_pkg_postinst
}
src_test() {
vecho ">>> Test phase [test]: ${CATEGORY}/${PF}"
if [[ ! -x "${S}"/php-cli ]]; then
ewarn "Running the php test suite requires USE=cli"
return
fi
export TEST_PHP_EXECUTABLE="${S}"/php-cli
if [[ -x "${S}"/php-cgi ]]; then
export TEST_PHP_CGI_EXECUTABLE="${S}"/php-cgi
fi
REPORT_EXIT_STATUS=1 "${S}"/php-cli -n "${S}"/run-tests.php -n
if [[ $? != 0 ]] ; then
eerror "Not all tests were successful!"
fi
}