diff --git a/pkgs/development/interpreters/php/5.3.nix b/pkgs/development/interpreters/php/5.3.nix index 014ce9d3b97..683ba73f8b0 100644 --- a/pkgs/development/interpreters/php/5.3.nix +++ b/pkgs/development/interpreters/php/5.3.nix @@ -1,6 +1,11 @@ { stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison , apacheHttpd, mysql, libxml2, readline, zlib, curl, gd, postgresql, gettext -, openssl, pkgconfig, sqlite, config, libiconv, libjpeg, libpng, freetype }: +, 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 { @@ -110,6 +115,34 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) 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. @@ -141,12 +174,18 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) 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 + ./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags echo configurePhase end ''; diff --git a/pkgs/development/libraries/libmcrypt/default.nix b/pkgs/development/libraries/libmcrypt/default.nix index eac577869e2..79019cbc489 100644 --- a/pkgs/development/libraries/libmcrypt/default.nix +++ b/pkgs/development/libraries/libmcrypt/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, disablePosixThreads ? false }: + +with stdenv.lib; stdenv.mkDerivation rec { name = "libmcrypt-2.5.8"; @@ -10,7 +12,12 @@ stdenv.mkDerivation rec { buildInputs = []; + configureFlags = optional disablePosixThreads + [ "--disable-posix-threads" ]; + meta = { + description = "MCrypt is a replacement for the old crypt() package and crypt(1) command, with extensions."; homepage = http://mcrypt.sourceforge.net; + license = "GPL"; }; }