summary refs log tree commit diff
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-11-26 14:26:15 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-11-26 14:26:15 +0000
commit5387036c50018fd32c5d37e3bf41d48aa7a1ed64 (patch)
treedcf28f6cf958a42acf7188289b336c008224a39a
parent0c455b53ac68342ab3ded557871000278dd4c437 (diff)
downloadnixpkgs-5387036c50018fd32c5d37e3bf41d48aa7a1ed64.tar
nixpkgs-5387036c50018fd32c5d37e3bf41d48aa7a1ed64.tar.gz
nixpkgs-5387036c50018fd32c5d37e3bf41d48aa7a1ed64.tar.bz2
nixpkgs-5387036c50018fd32c5d37e3bf41d48aa7a1ed64.tar.lz
nixpkgs-5387036c50018fd32c5d37e3bf41d48aa7a1ed64.tar.xz
nixpkgs-5387036c50018fd32c5d37e3bf41d48aa7a1ed64.tar.zst
nixpkgs-5387036c50018fd32c5d37e3bf41d48aa7a1ed64.zip
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
-rw-r--r--pkgs/development/interpreters/php/5.2.nix166
-rw-r--r--pkgs/development/interpreters/php/5.3.nix (renamed from pkgs/development/interpreters/php/default.nix)0
-rw-r--r--pkgs/top-level/all-packages.nix11
3 files changed, 176 insertions, 1 deletions
diff --git a/pkgs/development/interpreters/php/5.2.nix b/pkgs/development/interpreters/php/5.2.nix
new file mode 100644
index 00000000000..8063b1a5512
--- /dev/null
+++ b/pkgs/development/interpreters/php/5.2.nix
@@ -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];
+
+})
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/5.3.nix
index 8277021b0dc..8277021b0dc 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/5.3.nix
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2a01ec25f37..eaeed3a2104 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -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