summary refs log tree commit diff
path: root/pkgs/development/interpreters
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2015-08-11 13:13:28 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2015-08-11 13:24:23 +0200
commit64b3974d1361cdc436d13b624b69b0e7cc1014e9 (patch)
tree3c30adfb10f5e8030301969405fb5f6f74ddccb7 /pkgs/development/interpreters
parente7504ebf716796ba6db9f1461869728213504caf (diff)
downloadnixlib-64b3974d1361cdc436d13b624b69b0e7cc1014e9.tar
nixlib-64b3974d1361cdc436d13b624b69b0e7cc1014e9.tar.gz
nixlib-64b3974d1361cdc436d13b624b69b0e7cc1014e9.tar.bz2
nixlib-64b3974d1361cdc436d13b624b69b0e7cc1014e9.tar.lz
nixlib-64b3974d1361cdc436d13b624b69b0e7cc1014e9.tar.xz
nixlib-64b3974d1361cdc436d13b624b69b0e7cc1014e9.tar.zst
nixlib-64b3974d1361cdc436d13b624b69b0e7cc1014e9.zip
php: Use callPackages
Diffstat (limited to 'pkgs/development/interpreters')
-rw-r--r--pkgs/development/interpreters/php/5.4.nix6
-rw-r--r--pkgs/development/interpreters/php/5.5.nix6
-rw-r--r--pkgs/development/interpreters/php/5.6.nix6
-rw-r--r--pkgs/development/interpreters/php/7.0.nix8
-rw-r--r--pkgs/development/interpreters/php/default.nix308
-rw-r--r--pkgs/development/interpreters/php/generic.nix291
6 files changed, 308 insertions, 317 deletions
diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix
deleted file mode 100644
index f9f13b73ae2a..000000000000
--- a/pkgs/development/interpreters/php/5.4.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, apacheHttpd }:
-callPackage ./generic.nix {
-  phpVersion = "5.4.44";
-  sha = "0vc5lf0yjk1fs7inri76mh0lrcmq32ji4m6yqdmg7314x5f9xmcd";
-  apacheHttpd = apacheHttpd;
-}
diff --git a/pkgs/development/interpreters/php/5.5.nix b/pkgs/development/interpreters/php/5.5.nix
deleted file mode 100644
index 260419346502..000000000000
--- a/pkgs/development/interpreters/php/5.5.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, apacheHttpd  }:
-callPackage ./generic.nix {
-  phpVersion = "5.5.28";
-  sha = "1wy2v5rmbiia3v6fc8nwg1y3sdkdmicksxnkadz1f3035rbjqz8r";
-  apacheHttpd = apacheHttpd;
-}
diff --git a/pkgs/development/interpreters/php/5.6.nix b/pkgs/development/interpreters/php/5.6.nix
deleted file mode 100644
index bc9d5a90c318..000000000000
--- a/pkgs/development/interpreters/php/5.6.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, apacheHttpd  }:
-callPackage ./generic.nix {
-  phpVersion = "5.6.12";
-  sha = "0fl5r0lzav7icg97p7gkvbxk0xk2mh7i1r45dycjlyxgf91109vg";
-  apacheHttpd = apacheHttpd;
-}
diff --git a/pkgs/development/interpreters/php/7.0.nix b/pkgs/development/interpreters/php/7.0.nix
deleted file mode 100644
index 1369cf4a219a..000000000000
--- a/pkgs/development/interpreters/php/7.0.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ callPackage, apacheHttpd  }:
-callPackage ./generic.nix {
-  phpVersion = "7.0.0beta1";
-  url = "https://downloads.php.net/~ab/php-7.0.0beta1.tar.bz2";
-  sha = "1pj3ysfhswg2r370ivp33fv9zbcl3yvhmxgnc731k08hv6hmd984";
-  apacheHttpd = apacheHttpd;
-  php7 = true;
-}
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
new file mode 100644
index 000000000000..2d1fd454c0f2
--- /dev/null
+++ b/pkgs/development/interpreters/php/default.nix
@@ -0,0 +1,308 @@
+{ lib, stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison
+, mysql, libxml2, readline, zlib, curl, postgresql, gettext
+, openssl, pkgconfig, sqlite, config, libjpeg, libpng, freetype
+, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds
+, uwimap, pam, gmp, apacheHttpd }:
+
+let
+
+  generic =
+    { version, sha256, url ? "http://www.php.net/distributions/php-${version}.tar.bz2" }:
+
+    let php7 = lib.versionAtLeast version "7.0"; in
+
+    composableDerivation.composableDerivation {} (fixed: {
+
+      inherit version;
+
+      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
+        imap = {
+          configureFlags = [
+            "--with-imap=${uwimap}"
+            "--with-imap-ssl"
+            ];
+          buildInputs = [ uwimap openssl pam ];
+        };
+
+        ldap = {
+          configureFlags = ["--with-ldap=${openldap}"];
+          buildInputs = [openldap cyrus_sasl openssl];
+        };
+
+        mhash = {
+          configureFlags = ["--with-mhash"];
+          buildInputs = [libmhash];
+        };
+
+        curl = {
+          configureFlags = ["--with-curl=${curl}"];
+          buildInputs = [curl openssl];
+        };
+
+        curlWrappers = {
+          configureFlags = ["--with-curlwrappers"];
+        };
+
+        zlib = {
+          configureFlags = ["--with-zlib=${zlib}"];
+          buildInputs = [zlib];
+        };
+
+        libxml2 = {
+          configureFlags = [
+            "--with-libxml-dir=${libxml2}"
+            ];
+          buildInputs = [ libxml2 ];
+        };
+
+        pcntl = {
+          configureFlags = [ "--enable-pcntl" ];
+        };
+
+        readline = {
+          configureFlags = ["--with-readline=${readline}"];
+          buildInputs = [ readline ];
+        };
+
+        sqlite = {
+          configureFlags = ["--with-pdo-sqlite=${sqlite}"];
+          buildInputs = [ sqlite ];
+        };
+
+        postgresql = {
+          configureFlags = ["--with-pgsql=${postgresql}"];
+          buildInputs = [ postgresql ];
+        };
+
+        pdo_pgsql = {
+          configureFlags = ["--with-pdo-pgsql=${postgresql}"];
+          buildInputs = [ postgresql ];
+        };
+
+        mysql = {
+          configureFlags = ["--with-mysql=${mysql.lib}"];
+          buildInputs = [ mysql.lib ];
+        };
+
+        mysqli = {
+          configureFlags = ["--with-mysqli=${mysql.lib}/bin/mysql_config"];
+          buildInputs = [ mysql.lib ];
+        };
+
+        mysqli_embedded = {
+          configureFlags = ["--enable-embedded-mysqli"];
+          depends = "mysqli";
+          assertion = fixed.mysqliSupport;
+        };
+
+        pdo_mysql = {
+          configureFlags = ["--with-pdo-mysql=${mysql.lib}"];
+          buildInputs = [ mysql.lib ];
+        };
+
+        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"
+            "--with-freetype-dir=${freetype}"
+            "--with-png-dir=${libpng}"
+            "--with-jpeg-dir=${libjpeg}"
+          ];
+          buildInputs = [ libpng libjpeg freetype ];
+        };
+
+        gmp = {
+          configureFlags = ["--with-gmp=${gmp}"];
+          buildInputs = [ gmp ];
+        };
+
+        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 = let libmcrypt' = libmcrypt.override { disablePosixThreads = true; }; in {
+          configureFlags = ["--with-mcrypt=${libmcrypt'}"];
+          buildInputs = [libmcrypt'];
+        };
+
+        bz2 = {
+          configureFlags = ["--with-bz2=${bzip2}"];
+          buildInputs = [bzip2];
+        };
+
+        zip = {
+          configureFlags = ["--enable-zip"];
+        };
+
+        ftp = {
+          configureFlags = ["--enable-ftp"];
+        };
+
+        fpm = {
+          configureFlags = ["--enable-fpm"];
+        };
+
+        mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
+          configureFlags = ["--with-mssql=${freetds}"];
+          buildInputs = [freetds];
+        };
+
+        zts = {
+          configureFlags = ["--enable-maintainer-zts"];
+        };
+
+        calendar = {
+          configureFlags = ["--enable-calendar"];
+        };
+      };
+
+      cfg = {
+        imapSupport = config.php.imap or true;
+        ldapSupport = config.php.ldap or true;
+        mhashSupport = config.php.mhash or true;
+        mysqlSupport = (!php7) && (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;
+        curlWrappersSupport = (!php7) && (config.php.curlWrappers or true);
+        gettextSupport = config.php.gettext or true;
+        pcntlSupport = config.php.pcntl or true;
+        postgresqlSupport = config.php.postgresql or true;
+        pdo_pgsqlSupport = config.php.pdo_pgsql 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 true;
+        bz2Support = config.php.bz2 or false;
+        zipSupport = config.php.zip or true;
+        ftpSupport = config.php.ftp or true;
+        fpmSupport = config.php.fpm or true;
+        gmpSupport = config.php.gmp or true;
+        mssqlSupport = (!php7) && (config.php.mssql or (!stdenv.isDarwin));
+        ztsSupport = config.php.zts or false;
+        calendarSupport = config.php.calendar or true;
+      };
+
+      configurePhase = ''
+        # Don't record the configure flags since this causes unnecessary
+        # runtime dependencies.
+        for i in main/build-defs.h.in scripts/php-config.in; do
+          substituteInPlace $i \
+            --replace '@CONFIGURE_COMMAND@' '(omitted)' \
+            --replace '@CONFIGURE_OPTIONS@' "" \
+            --replace '@PHP_LDFLAGS@' ""
+        done
+
+        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
+      '';
+
+      installPhase = ''
+        unset installPhase; installPhase;
+        cp php.ini-production $iniFile
+      '';
+
+      src = fetchurl {
+        inherit url sha256;
+      };
+
+      meta = with stdenv.lib; {
+        description = "An HTML-embedded scripting language";
+        homepage = http://www.php.net/;
+        license = stdenv.lib.licenses.php301;
+        maintainers = with maintainers; [ globin ];
+      };
+
+      patches = if !php7 then [ ./fix-paths.patch ] else [ ./fix-paths-php7.patch ];
+
+    });
+
+in {
+
+  php54 = generic {
+    version = "5.4.44";
+    sha256 = "0vc5lf0yjk1fs7inri76mh0lrcmq32ji4m6yqdmg7314x5f9xmcd";
+  };
+
+  php55 = generic {
+    version = "5.5.28";
+    sha256 = "1wy2v5rmbiia3v6fc8nwg1y3sdkdmicksxnkadz1f3035rbjqz8r";
+  };
+
+  php56 = generic {
+    version = "5.6.12";
+    sha256 = "0fl5r0lzav7icg97p7gkvbxk0xk2mh7i1r45dycjlyxgf91109vg";
+  };
+
+  php70 = lib.lowPrio (generic {
+    version = "7.0.0beta1";
+    url = "https://downloads.php.net/~ab/php-7.0.0beta1.tar.bz2";
+    sha256 = "1pj3ysfhswg2r370ivp33fv9zbcl3yvhmxgnc731k08hv6hmd984";
+  });
+
+}
diff --git a/pkgs/development/interpreters/php/generic.nix b/pkgs/development/interpreters/php/generic.nix
deleted file mode 100644
index e71b62381735..000000000000
--- a/pkgs/development/interpreters/php/generic.nix
+++ /dev/null
@@ -1,291 +0,0 @@
-{ stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison
-, mysql, libxml2, readline, zlib, curl, postgresql, gettext
-, openssl, pkgconfig, sqlite, config, libjpeg, libpng, freetype
-, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds
-, uwimap, pam, gmp
-
-, phpVersion, apacheHttpd, sha
-, php7 ? false, url ? null }:
-
-let
-  libmcryptOverride = libmcrypt.override { disablePosixThreads = true; };
-in
-
-composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
-
-  version = "${phpVersion}";
-
-  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
-    imap = {
-      configureFlags = [
-        "--with-imap=${uwimap}"
-        "--with-imap-ssl"
-        ];
-      buildInputs = [ uwimap openssl pam ];
-    };
-
-    ldap = {
-      configureFlags = ["--with-ldap=${openldap}"];
-      buildInputs = [openldap cyrus_sasl openssl];
-    };
-
-    mhash = {
-      configureFlags = ["--with-mhash"];
-      buildInputs = [libmhash];
-    };
-
-    curl = {
-      configureFlags = ["--with-curl=${curl}"];
-      buildInputs = [curl openssl];
-    };
-
-    curlWrappers = {
-      configureFlags = ["--with-curlwrappers"];
-    };
-
-    zlib = {
-      configureFlags = ["--with-zlib=${zlib}"];
-      buildInputs = [zlib];
-    };
-
-    libxml2 = {
-      configureFlags = [
-        "--with-libxml-dir=${libxml2}"
-        ];
-      buildInputs = [ libxml2 ];
-    };
-
-    pcntl = {
-      configureFlags = [ "--enable-pcntl" ];
-    };
-
-    readline = {
-      configureFlags = ["--with-readline=${readline}"];
-      buildInputs = [ readline ];
-    };
-
-    sqlite = {
-      configureFlags = ["--with-pdo-sqlite=${sqlite}"];
-      buildInputs = [ sqlite ];
-    };
-
-    postgresql = {
-      configureFlags = ["--with-pgsql=${postgresql}"];
-      buildInputs = [ postgresql ];
-    };
-
-    pdo_pgsql = {
-      configureFlags = ["--with-pdo-pgsql=${postgresql}"];
-      buildInputs = [ postgresql ];
-    };
-
-    mysql = {
-      configureFlags = ["--with-mysql=${mysql.lib}"];
-      buildInputs = [ mysql.lib ];
-    };
-
-    mysqli = {
-      configureFlags = ["--with-mysqli=${mysql.lib}/bin/mysql_config"];
-      buildInputs = [ mysql.lib ];
-    };
-
-    mysqli_embedded = {
-      configureFlags = ["--enable-embedded-mysqli"];
-      depends = "mysqli";
-      assertion = fixed.mysqliSupport;
-    };
-
-    pdo_mysql = {
-      configureFlags = ["--with-pdo-mysql=${mysql.lib}"];
-      buildInputs = [ mysql.lib ];
-    };
-
-    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"
-        "--with-freetype-dir=${freetype}"
-        "--with-png-dir=${libpng}"
-        "--with-jpeg-dir=${libjpeg}"
-      ];
-      buildInputs = [ libpng libjpeg freetype ];
-    };
-
-    gmp = {
-      configureFlags = ["--with-gmp=${gmp}"];
-      buildInputs = [ gmp ];
-    };
-
-    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=${libmcryptOverride}"];
-      buildInputs = [libmcryptOverride];
-    };
-
-    bz2 = {
-      configureFlags = ["--with-bz2=${bzip2}"];
-      buildInputs = [bzip2];
-    };
-
-    zip = {
-      configureFlags = ["--enable-zip"];
-    };
-
-    ftp = {
-      configureFlags = ["--enable-ftp"];
-    };
-
-    fpm = {
-      configureFlags = ["--enable-fpm"];
-    };
-
-    mssql = stdenv.lib.optionalAttrs (!stdenv.isDarwin) {
-      configureFlags = ["--with-mssql=${freetds}"];
-      buildInputs = [freetds];
-    };
-
-    zts = {
-      configureFlags = ["--enable-maintainer-zts"];
-    };
-
-    calendar = {
-      configureFlags = ["--enable-calendar"];
-    };
-  };
-
-  cfg = {
-    imapSupport = config.php.imap or true;
-    ldapSupport = config.php.ldap or true;
-    mhashSupport = config.php.mhash or true;
-    mysqlSupport = (!php7) && (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;
-    curlWrappersSupport = (!php7) && (config.php.curlWrappers or true);
-    gettextSupport = config.php.gettext or true;
-    pcntlSupport = config.php.pcntl or true;
-    postgresqlSupport = config.php.postgresql or true;
-    pdo_pgsqlSupport = config.php.pdo_pgsql 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 true;
-    bz2Support = config.php.bz2 or false;
-    zipSupport = config.php.zip or true;
-    ftpSupport = config.php.ftp or true;
-    fpmSupport = config.php.fpm or true;
-    gmpSupport = config.php.gmp or true;
-    mssqlSupport = (!php7) && (config.php.mssql or (!stdenv.isDarwin));
-    ztsSupport = config.php.zts or false;
-    calendarSupport = config.php.calendar or true;
-  };
-
-  configurePhase = ''
-    # Don't record the configure flags since this causes unnecessary
-    # runtime dependencies.
-    for i in main/build-defs.h.in scripts/php-config.in; do
-      substituteInPlace $i \
-        --replace '@CONFIGURE_COMMAND@' '(omitted)' \
-        --replace '@CONFIGURE_OPTIONS@' "" \
-        --replace '@PHP_LDFLAGS@' ""
-    done
-
-    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
-  '';
-
-  installPhase = ''
-    unset installPhase; installPhase;
-    cp php.ini-production $iniFile
-  '';
-
-  src = fetchurl {
-    url = if url == null then
-      "http://www.php.net/distributions/php-${version}.tar.bz2"
-    else
-      url;
-    sha256 = sha;
-  };
-
-  meta = with stdenv.lib; {
-    description = "An HTML-embedded scripting language";
-    homepage = http://www.php.net/;
-    license = stdenv.lib.licenses.php301;
-    maintainers = with maintainers; [ globin ];
-  };
-
-  patches = if !php7 then
-    [ ./fix-paths.patch ]
-  else
-    [ ./fix-paths-php7.patch ]
-  ;
-
-})