php: Add 5.4
We'll keep 5.3 around for a while.
This commit is contained in:
parent
2e8cab953a
commit
4539668937
212
pkgs/development/interpreters/php/5.4.nix
Normal file
212
pkgs/development/interpreters/php/5.4.nix
Normal file
@ -0,0 +1,212 @@
|
||||
{ stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison
|
||||
, apacheHttpd, mysql, libxml2, readline, zlib, curl, gd, postgresql, gettext
|
||||
, openssl, pkgconfig, sqlite, config, libiconv, libjpeg, libpng, freetype
|
||||
, libxslt, libmcrypt, bzip2, icu }:
|
||||
|
||||
let
|
||||
libmcryptOverride = libmcrypt.override { disablePosixThreads = true; };
|
||||
in
|
||||
|
||||
composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
|
||||
|
||||
version = "5.4.14";
|
||||
|
||||
name = "php-${version}";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildInputs = ["flex" "bison" "pkgconfig"];
|
||||
|
||||
flags = {
|
||||
|
||||
# much left to do here...
|
||||
|
||||
# SAPI modules:
|
||||
|
||||
apxs2 = {
|
||||
configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"];
|
||||
buildInputs = [apacheHttpd];
|
||||
};
|
||||
|
||||
# Extensions
|
||||
|
||||
curl = {
|
||||
configureFlags = ["--with-curl=${curl}" "--with-curlwrappers"];
|
||||
buildInputs = [curl openssl];
|
||||
};
|
||||
|
||||
zlib = {
|
||||
configureFlags = ["--with-zlib=${zlib}"];
|
||||
buildInputs = [zlib];
|
||||
};
|
||||
|
||||
libxml2 = {
|
||||
configureFlags = [
|
||||
"--with-libxml-dir=${libxml2}"
|
||||
#"--with-iconv-dir=${libiconv}"
|
||||
];
|
||||
buildInputs = [ libxml2 ];
|
||||
};
|
||||
|
||||
readline = {
|
||||
configureFlags = ["--with-readline=${readline}"];
|
||||
buildInputs = [ readline ];
|
||||
};
|
||||
|
||||
sqlite = {
|
||||
configureFlags = ["--with-pdo-sqlite=${sqlite}"];
|
||||
buildInputs = [ sqlite ];
|
||||
};
|
||||
|
||||
postgresql = {
|
||||
configureFlags = ["--with-pgsql=${postgresql}"];
|
||||
buildInputs = [ postgresql ];
|
||||
};
|
||||
|
||||
mysql = {
|
||||
configureFlags = ["--with-mysql=${mysql}"];
|
||||
buildInputs = [ mysql ];
|
||||
};
|
||||
|
||||
mysqli = {
|
||||
configureFlags = ["--with-mysqli=${mysql}/bin/mysql_config"];
|
||||
buildInputs = [ mysql];
|
||||
};
|
||||
|
||||
mysqli_embedded = {
|
||||
configureFlags = ["--enable-embedded-mysqli"];
|
||||
depends = "mysqli";
|
||||
assertion = fixed.mysqliSupport;
|
||||
};
|
||||
|
||||
pdo_mysql = {
|
||||
configureFlags = ["--with-pdo-mysql=${mysql}"];
|
||||
buildInputs = [ mysql ];
|
||||
};
|
||||
|
||||
bcmath = {
|
||||
configureFlags = ["--enable-bcmath"];
|
||||
};
|
||||
|
||||
gd = {
|
||||
# FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
|
||||
configureFlags = ["--with-gd=shared --with-freetype-dir=${freetype} --with-png-dir=${libpng}"];
|
||||
buildInputs = [ libpng libjpeg freetype ];
|
||||
};
|
||||
|
||||
soap = {
|
||||
configureFlags = ["--enable-soap"];
|
||||
};
|
||||
|
||||
sockets = {
|
||||
configureFlags = ["--enable-sockets"];
|
||||
};
|
||||
|
||||
openssl = {
|
||||
configureFlags = ["--with-openssl=${openssl}"];
|
||||
buildInputs = ["openssl"];
|
||||
};
|
||||
|
||||
mbstring = {
|
||||
configureFlags = ["--enable-mbstring"];
|
||||
};
|
||||
|
||||
gettext = {
|
||||
configureFlags = ["--with-gettext=${gettext}"];
|
||||
buildInputs = [gettext];
|
||||
};
|
||||
|
||||
intl = {
|
||||
configureFlags = ["--enable-intl"];
|
||||
buildInputs = [icu];
|
||||
};
|
||||
|
||||
exif = {
|
||||
configureFlags = ["--enable-exif"];
|
||||
};
|
||||
|
||||
xsl = {
|
||||
configureFlags = ["--with-xsl=${libxslt}"];
|
||||
buildInputs = [libxslt];
|
||||
};
|
||||
|
||||
mcrypt = {
|
||||
configureFlags = ["--with-mcrypt=${libmcrypt}"];
|
||||
buildInputs = [libmcryptOverride];
|
||||
};
|
||||
|
||||
bz2 = {
|
||||
configureFlags = ["--with-bz2=${bzip2}"];
|
||||
buildInputs = [bzip2];
|
||||
};
|
||||
|
||||
zip = {
|
||||
configureFlags = ["--enable-zip"];
|
||||
};
|
||||
|
||||
/*
|
||||
php is build within this derivation in order to add the xdebug lines to the php.ini.
|
||||
So both Apache and command line php both use xdebug without having to configure anything.
|
||||
Xdebug could be put in its own derivation.
|
||||
* /
|
||||
meta = {
|
||||
description = "debugging support for PHP";
|
||||
homepage = http://xdebug.org;
|
||||
license = "based on the PHP license - as is";
|
||||
};
|
||||
*/
|
||||
};
|
||||
|
||||
cfg = {
|
||||
mysqlSupport = config.php.mysql or true;
|
||||
mysqliSupport = config.php.mysqli or true;
|
||||
pdo_mysqlSupport = config.php.pdo_mysql or true;
|
||||
libxml2Support = config.php.libxml2 or true;
|
||||
apxs2Support = config.php.apxs2 or true;
|
||||
bcmathSupport = config.php.bcmath or true;
|
||||
socketsSupport = config.php.sockets or true;
|
||||
curlSupport = config.php.curl or true;
|
||||
gettextSupport = config.php.gettext or true;
|
||||
postgresqlSupport = config.php.postgresql or true;
|
||||
readlineSupport = config.php.readline or true;
|
||||
sqliteSupport = config.php.sqlite or true;
|
||||
soapSupport = config.php.soap or true;
|
||||
zlibSupport = config.php.zlib or true;
|
||||
opensslSupport = config.php.openssl or true;
|
||||
mbstringSupport = config.php.mbstring or true;
|
||||
gdSupport = config.php.gd or true;
|
||||
intlSupport = config.php.intl or true;
|
||||
exifSupport = config.php.exif or true;
|
||||
xslSupport = config.php.xsl or false;
|
||||
mcryptSupport = config.php.mcrypt or false;
|
||||
bz2Support = config.php.bz2 or false;
|
||||
zipSupport = config.php.zip or true;
|
||||
};
|
||||
|
||||
configurePhase = ''
|
||||
iniFile=$out/etc/php-recommended.ini
|
||||
[[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin
|
||||
./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags
|
||||
echo configurePhase end
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
unset installPhase; installPhase;
|
||||
cp php.ini-production $iniFile
|
||||
'';
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror";
|
||||
sha256 = "02p23g4gjijazq16r5kwbkval2lkw76g0086n0zynlf67f2g6l2l";
|
||||
name = "php-${version}.tar.bz2";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "The PHP language runtime engine";
|
||||
homepage = http://www.php.net/;
|
||||
license = "PHP-3";
|
||||
};
|
||||
|
||||
patches = [ ./fix-5.4.patch ];
|
||||
|
||||
})
|
68
pkgs/development/interpreters/php/fix-5.4.patch
Normal file
68
pkgs/development/interpreters/php/fix-5.4.patch
Normal file
@ -0,0 +1,68 @@
|
||||
diff -ru php-5.4.14/configure php-5.4.14-new/configure
|
||||
--- php-5.4.14/configure 2013-04-10 09:53:26.000000000 +0200
|
||||
+++ php-5.4.14-new/configure 2013-04-22 17:13:55.039043622 +0200
|
||||
@@ -6513,7 +6513,7 @@
|
||||
|
||||
case $host_alias in
|
||||
*aix*)
|
||||
- APXS_LIBEXECDIR=`$APXS -q LIBEXECDIR`
|
||||
+ APXS_LIBEXECDIR="$prefix/modules"
|
||||
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-brtl -Wl,-bI:$APXS_LIBEXECDIR/httpd.exp"
|
||||
PHP_AIX_LDFLAGS="-Wl,-brtl"
|
||||
build_type=shared
|
||||
@@ -6706,7 +6706,7 @@
|
||||
if test "$?" != "0"; then
|
||||
APACHE_INSTALL="$APXS -i -a -n php5 $SAPI_SHARED" # Old apxs does not have -S option
|
||||
else
|
||||
- APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR`
|
||||
+ APXS_LIBEXECDIR="$prefix/modules"
|
||||
if test -z `$APXS -q SYSCONFDIR`; then
|
||||
APACHE_INSTALL="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
|
||||
$APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
|
||||
@@ -7909,7 +7909,7 @@
|
||||
{ (exit 1); exit 1; }; }
|
||||
fi
|
||||
|
||||
- APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR`
|
||||
+ APXS_LIBEXECDIR="$prefix/modules"
|
||||
if test -z `$APXS -q SYSCONFDIR`; then
|
||||
INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
|
||||
$APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
|
||||
@@ -8779,7 +8779,7 @@
|
||||
{ (exit 1); exit 1; }; }
|
||||
fi
|
||||
|
||||
- APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR`
|
||||
+ APXS_LIBEXECDIR="$prefix/modules"
|
||||
if test -z `$APXS -q SYSCONFDIR`; then
|
||||
INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
|
||||
$APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
|
||||
@@ -9634,7 +9634,7 @@
|
||||
|
||||
case $host_alias in
|
||||
*aix*)
|
||||
- APXS_LIBEXECDIR=`$APXS -q LIBEXECDIR`
|
||||
+ APXS_LIBEXECDIR="$prefix/modules"
|
||||
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-brtl -Wl,-bI:$APXS_LIBEXECDIR/httpd.exp"
|
||||
PHP_AIX_LDFLAGS="-Wl,-brtl"
|
||||
build_type=shared
|
||||
@@ -9827,7 +9827,7 @@
|
||||
if test "$?" != "0"; then
|
||||
APACHE_HOOKS_INSTALL="$APXS -i -a -n php5 $SAPI_SHARED" # Old apxs does not have -S option
|
||||
else
|
||||
- APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR`
|
||||
+ APXS_LIBEXECDIR="$prefix/modules"
|
||||
if test -z `$APXS -q SYSCONFDIR`; then
|
||||
APACHE_HOOKS_INSTALL="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
|
||||
$APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
|
||||
@@ -59657,9 +59657,7 @@
|
||||
|
||||
|
||||
if test "$PHP_GETTEXT" != "no"; then
|
||||
- for i in $PHP_GETTEXT /usr/local /usr; do
|
||||
- test -r $i/include/libintl.h && GETTEXT_DIR=$i && break
|
||||
- done
|
||||
+ GETTEXT_DIR=$PHP_GETTEXT
|
||||
|
||||
if test -z "$GETTEXT_DIR"; then
|
||||
{ { $as_echo "$as_me:$LINENO: error: Cannot locate header file libintl.h" >&5
|
@ -2894,7 +2894,11 @@ let
|
||||
|
||||
perl = if system != "i686-cygwin" then perl516 else sysPerl;
|
||||
|
||||
php = callPackage ../development/interpreters/php/5.3.nix { };
|
||||
php = php54;
|
||||
|
||||
php53 = callPackage ../development/interpreters/php/5.3.nix { };
|
||||
|
||||
php54 = callPackage ../development/interpreters/php/5.4.nix { };
|
||||
|
||||
php_apc = callPackage ../development/libraries/php-apc { };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user