summary refs log tree commit diff
path: root/pkgs/development/interpreters/php_configurable/default.nix
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2009-03-06 23:21:28 +0000
committerMarc Weber <marco-oweber@gmx.de>2009-03-06 23:21:28 +0000
commitb56ed358510c2c2f44af2dd5bd278c24a0b77bcd (patch)
tree3209e32b4745e13d189faeb3b5f3b61c3f9b30ca /pkgs/development/interpreters/php_configurable/default.nix
parent51289a41b011209fdf5955f3a9e1d3e69d70c5be (diff)
downloadnixpkgs-b56ed358510c2c2f44af2dd5bd278c24a0b77bcd.tar
nixpkgs-b56ed358510c2c2f44af2dd5bd278c24a0b77bcd.tar.gz
nixpkgs-b56ed358510c2c2f44af2dd5bd278c24a0b77bcd.tar.bz2
nixpkgs-b56ed358510c2c2f44af2dd5bd278c24a0b77bcd.tar.lz
nixpkgs-b56ed358510c2c2f44af2dd5bd278c24a0b77bcd.tar.xz
nixpkgs-b56ed358510c2c2f44af2dd5bd278c24a0b77bcd.tar.zst
nixpkgs-b56ed358510c2c2f44af2dd5bd278c24a0b77bcd.zip
replacing applyAndFun by lib.defaultOverridableDelayableArgs
applyAndFun has a bug resulting in the same arg beeing added more than
once when using a concatenating merge function for the attr set.

I've tried giving the function a name "overridableDelayableArgs" which
resembles its usage much more.

important refactoring:
  applyAndFun had .fun and .funMerge only when passing the merge
  function lib.mergeOrApply

  composableDerivation {
    initial = {
      ...
    };
  }

to

  overridableDelayableArgs has always .replace and .merge
  composableDerivation {} {
    ...
  }

svn path=/nixpkgs/trunk/; revision=14428
Diffstat (limited to 'pkgs/development/interpreters/php_configurable/default.nix')
-rw-r--r--pkgs/development/interpreters/php_configurable/default.nix295
1 files changed, 146 insertions, 149 deletions
diff --git a/pkgs/development/interpreters/php_configurable/default.nix b/pkgs/development/interpreters/php_configurable/default.nix
index 025e48a0a7b..954cea1a4d4 100644
--- a/pkgs/development/interpreters/php_configurable/default.nix
+++ b/pkgs/development/interpreters/php_configurable/default.nix
@@ -4,177 +4,174 @@ args: with args;
 
 let inherit (args.composableDerivation) composableDerivation edf wwf; in
 
-composableDerivation {
-  initial = fixed : {
+composableDerivation {} ( fixed : {
 
-    name = "php_configurable-${version}";
+  name = "php_configurable-${version}";
 
-    buildInputs = ["flex" "bison" "pkgconfig"];
+  buildInputs = ["flex" "bison" "pkgconfig"];
 
-    flags = {
+  flags = {
 
 # much left to do here...
 
-      # SAPI modules:
-      
-        apxs2 = {
-          configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"];
-          buildInputs = [apacheHttpd];
-        };
-
-        # Extensions
+    # SAPI modules:
+    
+      apxs2 = {
+        configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"];
+        buildInputs = [apacheHttpd];
+      };
 
-        curl = {
-          configureFlags = ["--with-curl=${args.curl}" "--with-curlwrappers"];
-          buildInputs = [curl];
-        };
-        
-        zlib = {
-          configureFlags = ["--with-zlib=${args.zlib}"];
-          buildInputs = [zlib];
-        };
+      # Extensions
 
-        libxml2 = {
-          configureFlags = ["--with-libxml-dir=${libxml2}"];
-          buildInputs = [ libxml2 ];
-        };
-      
-        postgresql = {
-          configureFlags = ["--with-pgsql=${postgresql}"];
-          buildInputs = [ postgresql ];
-        };
+      curl = {
+        configureFlags = ["--with-curl=${args.curl}" "--with-curlwrappers"];
+        buildInputs = [curl];
+      };
       
-        mysql = {
-          configureFlags = ["--with-mysql=${mysql}"];
-          buildInputs = [ mysql ];
-        };
-
-        mysqli = {
-          configureFlags = ["--with-mysqli=${mysql}/bin/mysql_config"];
-          buildInputs = [ mysql];
-        };
+      zlib = {
+        configureFlags = ["--with-zlib=${args.zlib}"];
+        buildInputs = [zlib];
+      };
 
-        mysqli_embedded = {
-          configureFlags = ["--enable-embedded-mysqli"];
-          depends = "mysqli";
-          assertion = fixed.mysqliSupport;
-        };
+      libxml2 = {
+        configureFlags = ["--with-libxml-dir=${libxml2}"];
+        buildInputs = [ libxml2 ];
+      };
+    
+      postgresql = {
+        configureFlags = ["--with-pgsql=${postgresql}"];
+        buildInputs = [ postgresql ];
+      };
+    
+      mysql = {
+        configureFlags = ["--with-mysql=${mysql}"];
+        buildInputs = [ mysql ];
+      };
 
-        pdo_mysql = {
-          configureFlags = ["--with-pdo-mysql=${mysql}"];
-          buildInputs = [ mysql ];
-        };
-      
-        bcmath = {
-          configureFlags = ["--enable-bcmath"];
-        };
+      mysqli = {
+        configureFlags = ["--with-mysqli=${mysql}/bin/mysql_config"];
+        buildInputs = [ mysql];
+      };
 
-        gd = {
-          configureFlags = ["--with-gd=${args.gd}"];
-          buildInputs = [gd];
-        };
+      mysqli_embedded = {
+        configureFlags = ["--enable-embedded-mysqli"];
+        depends = "mysqli";
+        assertion = fixed.mysqliSupport;
+      };
 
-        sockets = {
-          configureFlags = ["--enable-sockets"];
-        };
+      pdo_mysql = {
+        configureFlags = ["--with-pdo-mysql=${mysql}"];
+        buildInputs = [ mysql ];
+      };
+    
+      bcmath = {
+        configureFlags = ["--enable-bcmath"];
+      };
 
-        openssl = {
-          configureFlags = ["--with-openssl=${args.openssl}"];
-          buildInputs = ["openssl"];
-        };
+      gd = {
+        configureFlags = ["--with-gd=${args.gd}"];
+        buildInputs = [gd];
+      };
 
-        mbstring = {
-          configureFlags = ["--enable-mbstring"];
-        };
+      sockets = {
+        configureFlags = ["--enable-sockets"];
+      };
 
-        /*
-           Building xdebug withing php to be able to add the parameters to the ini file.. Ther should be a better way
-          meta = {
-                  description = "debugging support for PHP";
-                  homepage = http://xdebug.org;
-                  license = "based on the PHP license - as is";
-                  };
-        */
-        xdebug = {
-          buildInputs = [ automake autoconf ];
-          xdebug_src = args.fetchurl {
-            name = "xdebug-2.0.2.tar.gz";
-            url = "http://xdebug.org/link.php?url=xdebug202";
-            sha256 = "1h0bxvf8krr203fmk1k7izrrr81gz537xmd3pqh4vslwdlbhrvic";
-          };
-        };
+      openssl = {
+        configureFlags = ["--with-openssl=${args.openssl}"];
+        buildInputs = ["openssl"];
       };
 
-    cfg = {
-      mysqlSupport = true;
-      mysqliSupport = true;
-      pdo_mysqlSupport = true;
-      libxml2Support = true;
-      apxs2Support = true;
-      bcmathSupport = true;
-      socketsSupport = true;
-      curlSupport = true;
-      gettextSupport = true;
-      postgresqlSupport = true;
-      zlibSupport = true;
-      opnesslSupport = true;
-      xdebugSupport = true;
-      mbstringSupport = true;
-      gdSupport = true;
-    };
+      mbstring = {
+        configureFlags = ["--enable-mbstring"];
+      };
 
-    configurePhase = ''
-      iniFile=$out/etc/$name.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-recommended $iniFile
-
-      # Now Let's build xdebug if flag has been given
-      # TODO I think there are better paths than the given below
-      if [ -n $flag_set_xdebug ]; then
-        PATH=$PATH:$out/bin
-        tar xfz $xdebug_src;
-        cd xdebug*
-        phpize
-        ./configure --prefix=$out
-        make
-        ensureDir $out/lib; cp modules/xdebug.so $out/lib
-        cat >> $out/etc/php.ini << EOF
-          zend_extension="$out/lib/xdebug.so"
-          zend_extension_ts="$out/lib/xdebug.so"
-          zend_extension_debug="$out/lib/xdebug.so"
-          xdebug.remote_enable=true
-          xdebug.remote_host=127.0.0.1
-          xdebug.remote_port=9000
-          xdebug.remote_handler=dbgp
-          xdebug.profiler_enable=0
-          xdebug.profiler_output_dir="/tmp/xdebug"
-          xdebug.remote_mode=req
-          max_execution_time = 300
-          date.timezone = UTC
-    EOF
-      fi
-    '';
-
-    src = args.fetchurl {
-      url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror";
-      md5 = "7380ffecebd95c6edb317ef861229ebd";
-      name = "php-${version}.tar.bz2";
+      /*
+         Building xdebug withing php to be able to add the parameters to the ini file.. Ther should be a better way
+        meta = {
+                description = "debugging support for PHP";
+                homepage = http://xdebug.org;
+                license = "based on the PHP license - as is";
+                };
+      */
+      xdebug = {
+        buildInputs = [ automake autoconf ];
+        xdebug_src = args.fetchurl {
+          name = "xdebug-2.0.2.tar.gz";
+          url = "http://xdebug.org/link.php?url=xdebug202";
+          sha256 = "1h0bxvf8krr203fmk1k7izrrr81gz537xmd3pqh4vslwdlbhrvic";
+        };
+      };
     };
 
-    meta = {
-      description = "The PHP language runtime engine";
-      homepage = http://www.php.net/;
-      license = "PHP-3";
-    };
+  cfg = {
+    mysqlSupport = true;
+    mysqliSupport = true;
+    pdo_mysqlSupport = true;
+    libxml2Support = true;
+    apxs2Support = true;
+    bcmathSupport = true;
+    socketsSupport = true;
+    curlSupport = true;
+    gettextSupport = true;
+    postgresqlSupport = true;
+    zlibSupport = true;
+    opnesslSupport = true;
+    xdebugSupport = true;
+    mbstringSupport = true;
+    gdSupport = true;
+  };
 
-    patches = [./fix.patch];
+  configurePhase = ''
+    iniFile=$out/etc/$name.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-recommended $iniFile
+
+    # Now Let's build xdebug if flag has been given
+    # TODO I think there are better paths than the given below
+    if [ -n $flag_set_xdebug ]; then
+      PATH=$PATH:$out/bin
+      tar xfz $xdebug_src;
+      cd xdebug*
+      phpize
+      ./configure --prefix=$out
+      make
+      ensureDir $out/lib; cp modules/xdebug.so $out/lib
+      cat >> $out/etc/php.ini << EOF
+        zend_extension="$out/lib/xdebug.so"
+        zend_extension_ts="$out/lib/xdebug.so"
+        zend_extension_debug="$out/lib/xdebug.so"
+        xdebug.remote_enable=true
+        xdebug.remote_host=127.0.0.1
+        xdebug.remote_port=9000
+        xdebug.remote_handler=dbgp
+        xdebug.profiler_enable=0
+        xdebug.profiler_output_dir="/tmp/xdebug"
+        xdebug.remote_mode=req
+        max_execution_time = 300
+        date.timezone = UTC
+  EOF
+    fi
+  '';
+
+  src = args.fetchurl {
+    url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror";
+    md5 = "7380ffecebd95c6edb317ef861229ebd";
+    name = "php-${version}.tar.bz2";
+  };
 
+  meta = {
+    description = "The PHP language runtime engine";
+    homepage = http://www.php.net/;
+    license = "PHP-3";
   };
 
-}
+  patches = [./fix.patch];
+
+})