forked from mirrors/nixpkgs
Adding php 5.2 (5.3 does not build on arm), although not the default in the attribute 'php'.
svn path=/nixpkgs/trunk/; revision=24872
This commit is contained in:
parent
0c455b53ac
commit
5387036c50
166
pkgs/development/interpreters/php/5.2.nix
Normal file
166
pkgs/development/interpreters/php/5.2.nix
Normal file
|
@ -0,0 +1,166 @@
|
|||
args: with args;
|
||||
|
||||
let
|
||||
|
||||
inherit (args.composableDerivation) composableDerivation edf wwf;
|
||||
|
||||
in
|
||||
|
||||
composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
|
||||
|
||||
version = "5.2.14";
|
||||
|
||||
name = "php_configurable-${version}";
|
||||
|
||||
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=${args.curl}" "--with-curlwrappers"];
|
||||
buildInputs = [curl openssl];
|
||||
};
|
||||
|
||||
zlib = {
|
||||
configureFlags = ["--with-zlib=${args.zlib}"];
|
||||
buildInputs = [zlib];
|
||||
};
|
||||
|
||||
libxml2 = {
|
||||
configureFlags = [
|
||||
"--with-libxml-dir=${libxml2}"
|
||||
"--with-iconv-dir=${libiconv}"
|
||||
];
|
||||
buildInputs = [ libxml2 ];
|
||||
};
|
||||
|
||||
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 = {
|
||||
configureFlags = ["--with-gd=${args.gd}"];
|
||||
buildInputs = [gd libpng libjpeg ];
|
||||
};
|
||||
|
||||
soap = {
|
||||
configureFlags = ["--enable-soap"];
|
||||
};
|
||||
|
||||
sockets = {
|
||||
configureFlags = ["--enable-sockets"];
|
||||
};
|
||||
|
||||
openssl = {
|
||||
configureFlags = ["--with-openssl=${args.openssl}"];
|
||||
buildInputs = ["openssl"];
|
||||
};
|
||||
|
||||
mbstring = {
|
||||
configureFlags = ["--enable-mbstring"];
|
||||
};
|
||||
|
||||
/*
|
||||
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 = getConfig ["php" "mysql"] true;
|
||||
mysqliSupport = getConfig ["php" "mysqli"] true;
|
||||
pdo_mysqlSupport = getConfig ["php" "pdo_mysql"] true;
|
||||
libxml2Support = getConfig ["php" "libxml2"] true;
|
||||
apxs2Support = getConfig ["php" "apxs2"] true;
|
||||
bcmathSupport = getConfig ["php" "bcmath"] true;
|
||||
socketsSupport = getConfig ["php" "sockets"] true;
|
||||
curlSupport = getConfig ["php" "curl"] true;
|
||||
gettextSupport = getConfig ["php" "gettext"] true;
|
||||
postgresqlSupport = getConfig ["php" "postgresql"] true;
|
||||
sqliteSupport = getConfig ["php" "sqlite"] true;
|
||||
soapSupport = getConfig ["php" "soap"] true;
|
||||
zlibSupport = getConfig ["php" "zlib"] true;
|
||||
opensslSupport = getConfig ["php" "openssl"] true;
|
||||
mbstringSupport = getConfig ["php" "mbstring"] true;
|
||||
gdSupport = getConfig ["php" "gd"] 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-${ if builtins.lessThan (builtins.compareVersions version "5.3") 0
|
||||
then "recommended" /* < PHP 5.3 */
|
||||
else "production" /* >= PHP 5.3 */
|
||||
} $iniFile
|
||||
'';
|
||||
|
||||
src = args.fetchurl {
|
||||
url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror";
|
||||
sha256 = "1l9b7iv0f6ds9x2ayclcfgjh62xbabbv11ixp5cqsyaq2ba5ynsi";
|
||||
name = "php-${version}.tar.bz2";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "The PHP language runtime engine";
|
||||
homepage = http://www.php.net/;
|
||||
license = "PHP-3";
|
||||
};
|
||||
|
||||
patches = [./fix.patch];
|
||||
|
||||
})
|
|
@ -2109,7 +2109,16 @@ let
|
|||
|
||||
perl = if system != "i686-cygwin" then perl510 else sysPerl;
|
||||
|
||||
php = makeOverridable (import ../development/interpreters/php) {
|
||||
php = php5_3;
|
||||
|
||||
php5_2 = makeOverridable (import ../development/interpreters/php/5.2.nix) {
|
||||
inherit
|
||||
stdenv fetchurl lib composableDerivation autoconf automake
|
||||
flex bison apacheHttpd mysql libxml2
|
||||
zlib curl gd postgresql openssl pkgconfig sqlite getConfig libiconv libjpeg libpng;
|
||||
};
|
||||
|
||||
php5_3 = makeOverridable (import ../development/interpreters/php/5.3.nix) {
|
||||
inherit
|
||||
stdenv fetchurl lib composableDerivation autoconf automake
|
||||
flex bison apacheHttpd mysql libxml2
|
||||
|
|
Loading…
Reference in a new issue