From 5e7850f08838a7823d2a99c48f8f5f0acf61d9cb Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Fri, 17 Jul 2015 16:33:49 +0000 Subject: [PATCH] php70: init at 7.0beta1 The first beta of php7 has been released. This enables developers to test their code for breakage in preparation for the stable release and allows us to make sure we don't have any bugs in the packaging prior to the stable release. --- pkgs/development/interpreters/php/7.0.nix | 8 +++++++ .../interpreters/php/fix-paths-php7.patch | 23 +++++++++++++++++++ pkgs/development/interpreters/php/generic.nix | 20 +++++++++++----- pkgs/top-level/all-packages.nix | 2 ++ 4 files changed, 47 insertions(+), 6 deletions(-) create mode 100644 pkgs/development/interpreters/php/7.0.nix create mode 100644 pkgs/development/interpreters/php/fix-paths-php7.patch diff --git a/pkgs/development/interpreters/php/7.0.nix b/pkgs/development/interpreters/php/7.0.nix new file mode 100644 index 00000000000..1369cf4a219 --- /dev/null +++ b/pkgs/development/interpreters/php/7.0.nix @@ -0,0 +1,8 @@ +{ 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/fix-paths-php7.patch b/pkgs/development/interpreters/php/fix-paths-php7.patch new file mode 100644 index 00000000000..2b9e4ad0ebb --- /dev/null +++ b/pkgs/development/interpreters/php/fix-paths-php7.patch @@ -0,0 +1,23 @@ +--- php-7.0.0beta1/configure 2015-07-10 12:11:41.810045613 +0000 ++++ php-7.0.0beta1-new/configure 2015-07-17 16:10:21.775528267 +0000 +@@ -6172,7 +6172,7 @@ + as_fn_error $? "Please note that Apache version >= 2.0.44 is required" "$LINENO" 5 + fi + +- APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR` ++ APXS_LIBEXECDIR="$prefix/modules" + if test -z `$APXS -q SYSCONFDIR`; then + INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ + $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ +@@ -37303,9 +37303,7 @@ + + + if test "$PHP_GETTEXT" != "no"; then +- for i in $PHP_GETTEXT /usr/local /usr; do +- test -r $i/include/libintl.h && GETTEXT_DIR=$i && break +- done ++ GETTEXT_DIR=$PHP_GETTEXT + + if test -z "$GETTEXT_DIR"; then + as_fn_error $? "Cannot locate header file libintl.h" "$LINENO" 5 + diff --git a/pkgs/development/interpreters/php/generic.nix b/pkgs/development/interpreters/php/generic.nix index 33b5b0f9024..065ce21bf10 100644 --- a/pkgs/development/interpreters/php/generic.nix +++ b/pkgs/development/interpreters/php/generic.nix @@ -4,7 +4,8 @@ , libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds , uwimap, pam, gmp -, phpVersion, apacheHttpd, sha }: +, phpVersion, apacheHttpd, sha +, php7 ? false, url ? null }: let libmcryptOverride = libmcrypt.override { disablePosixThreads = true; }; @@ -212,7 +213,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) imapSupport = config.php.imap or true; ldapSupport = config.php.ldap or true; mhashSupport = config.php.mhash or true; - mysqlSupport = config.php.mysql 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; @@ -220,7 +221,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) bcmathSupport = config.php.bcmath or true; socketsSupport = config.php.sockets or true; curlSupport = config.php.curl or true; - curlWrappersSupport = config.php.curlWrappers 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; @@ -241,7 +242,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) ftpSupport = config.php.ftp or true; fpmSupport = config.php.fpm or true; gmpSupport = config.php.gmp or true; - mssqlSupport = config.php.mssql or (!stdenv.isDarwin); + mssqlSupport = (!php7) && (config.php.mssql or (!stdenv.isDarwin)); ztsSupport = config.php.zts or false; calendarSupport = config.php.calendar or true; }; @@ -267,7 +268,10 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) ''; src = fetchurl { - url = "http://www.php.net/distributions/php-${version}.tar.bz2"; + url = if url == null then + "http://www.php.net/distributions/php-${version}.tar.bz2" + else + url; sha256 = sha; }; @@ -278,6 +282,10 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) maintainers = with maintainers; [ globin ]; }; - patches = [ ./fix-paths.patch ]; + patches = if !php7 then + [ ./fix-paths.patch ] + else + [ ./fix-paths-php7.patch ] + ; }) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 18aeb39ac4b..9fd664bd339 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5003,6 +5003,8 @@ let php56 = callPackage ../development/interpreters/php/5.6.nix { }; + php70 = callPackage ../development/interpreters/php/7.0.nix { }; + picoc = callPackage ../development/interpreters/picoc {}; picolisp = callPackage ../development/interpreters/picolisp {};