Merge pull request #125500 from etu/php-spring-release-cleaning

php: post-release spring cleaning and upgrade to 8.0 as default

authored by Kim Lindberger and committed by GitHub 8960c09e 42e87863

+97 -309
+13 -2
nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
··· 14 14 </itemizedlist> 15 15 <section xml:id="highlights"> 16 16 <title>Highlights</title> 17 - <para> 18 - </para> 17 + <itemizedlist spacing="compact"> 18 + <listitem> 19 + <para> 20 + PHP now defaults to PHP 8.0, updated from 7.4. 21 + </para> 22 + </listitem> 23 + </itemizedlist> 19 24 </section> 20 25 <section xml:id="new-services"> 21 26 <title>New Services</title> ··· 43 48 <literal>services.geoip-updater</literal> was broken and has 44 49 been replaced by 45 50 <link xlink:href="options.html#opt-services.geoipupdate.enable">services.geoipupdate</link>. 51 + </para> 52 + </listitem> 53 + <listitem> 54 + <para> 55 + PHP 7.3 is no longer supported due to upstream not supporting 56 + this version for the entire lifecycle of the 21.11 release. 46 57 </para> 47 58 </listitem> 48 59 </itemizedlist>
+5
nixos/doc/manual/release-notes/rl-2111.section.md
··· 6 6 7 7 ## Highlights 8 8 9 + * PHP now defaults to PHP 8.0, updated from 7.4. 10 + 9 11 ## New Services 10 12 11 13 * [geoipupdate](https://github.com/maxmind/geoipupdate), a GeoIP ··· 18 20 19 21 * `services.geoip-updater` was broken and has been replaced by 20 22 [services.geoipupdate](options.html#opt-services.geoipupdate.enable). 23 + 24 + * PHP 7.3 is no longer supported due to upstream not supporting this 25 + version for the entire lifecycle of the 21.11 release. 21 26 22 27 ## Other Notable Changes
-1
nixos/tests/all-tests.nix
··· 325 325 pgjwt = handleTest ./pgjwt.nix {}; 326 326 pgmanage = handleTest ./pgmanage.nix {}; 327 327 php = handleTest ./php {}; 328 - php73 = handleTest ./php { php = pkgs.php73; }; 329 328 php74 = handleTest ./php { php = pkgs.php74; }; 330 329 php80 = handleTest ./php { php = pkgs.php80; }; 331 330 pinnwand = handleTest ./pinnwand.nix {};
+18 -28
nixos/tests/web-servers/unit-php.nix
··· 1 1 import ../make-test-python.nix ({pkgs, ...}: 2 - let 3 - testdir = pkgs.writeTextDir "www/info.php" "<?php phpinfo();"; 2 + let 3 + testdir = pkgs.writeTextDir "www/info.php" "<?php phpinfo();"; 4 4 5 5 in { 6 6 name = "unit-php-test"; ··· 9 9 machine = { config, lib, pkgs, ... }: { 10 10 services.unit = { 11 11 enable = true; 12 - config = '' 13 - { 14 - "listeners": { 15 - "*:9074": { 16 - "application": "php_74" 17 - } 18 - }, 19 - "applications": { 20 - "php_74": { 21 - "type": "php 7.4", 22 - "processes": 1, 23 - "user": "testuser", 24 - "group": "testgroup", 25 - "root": "${testdir}/www", 26 - "index": "info.php", 27 - "options": { 28 - "file": "${pkgs.unit.usedPhp74}/lib/php.ini" 29 - } 30 - } 31 - } 32 - } 33 - ''; 12 + config = pkgs.lib.strings.toJSON { 13 + listeners."*:9080".application = "php_80"; 14 + applications.php_80 = { 15 + type = "php 8.0"; 16 + processes = 1; 17 + user = "testuser"; 18 + group = "testgroup"; 19 + root = "${testdir}/www"; 20 + index = "info.php"; 21 + options.file = "${pkgs.unit.usedPhp80}/lib/php.ini"; 22 + }; 23 + }; 34 24 }; 35 25 users = { 36 26 users.testuser = { 37 27 isSystemUser = true; 38 - uid = 1074; 28 + uid = 1080; 39 29 group = "testgroup"; 40 30 }; 41 31 groups.testgroup = { 42 - gid= 1074; 32 + gid = 1080; 43 33 }; 44 34 }; 45 35 }; ··· 47 37 machine.wait_for_unit("unit.service") 48 38 49 39 # Check so we get an evaluated PHP back 50 - response = machine.succeed("curl -f -vvv -s http://127.0.0.1:9074/") 51 - assert "PHP Version ${pkgs.unit.usedPhp74.version}" in response, "PHP version not detected" 40 + response = machine.succeed("curl -f -vvv -s http://127.0.0.1:9080/") 41 + assert "PHP Version ${pkgs.unit.usedPhp80.version}" in response, "PHP version not detected" 52 42 53 43 # Check so we have database and some other extensions loaded 54 44 for ext in ["json", "opcache", "pdo_mysql", "pdo_pgsql", "pdo_sqlite"]:
-1
pkgs/applications/misc/rss-bridge-cli/default.nix
··· 6 6 curl 7 7 filter 8 8 iconv 9 - json 10 9 mbstring 11 10 openssl 12 11 simplexml
-20
pkgs/development/interpreters/php/7.3.nix
··· 1 - { callPackage, lib, stdenv, nixosTests, ... }@_args: 2 - 3 - let 4 - generic = (import ./generic.nix) _args; 5 - 6 - base = callPackage generic (_args // { 7 - version = "7.3.28"; 8 - sha256 = "0r4r8famg3a8x6ch24y1370nsphkxg4k9zq5x8v88f4l8mj6wqwg"; 9 - 10 - # https://bugs.php.net/bug.php?id=76826 11 - extraPatches = lib.optional stdenv.isDarwin ./php73-darwin-isfinite.patch; 12 - }); 13 - 14 - in base.withExtensions ({ all, ... }: with all; ([ 15 - bcmath calendar curl ctype dom exif fileinfo filter ftp gd 16 - gettext gmp hash iconv intl json ldap mbstring mysqli mysqlnd 17 - opcache openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql pdo_sqlite 18 - pgsql posix readline session simplexml sockets soap sodium sqlite3 19 - tokenizer xmlreader xmlwriter zip zlib 20 - ] ++ lib.optionals (!stdenv.isDarwin) [ imap ]))
+7 -9
pkgs/development/interpreters/php/generic.nix
··· 7 7 generic = 8 8 { callPackage, lib, stdenv, nixosTests, fetchurl, makeWrapper 9 9 , symlinkJoin, writeText, autoconf, automake, bison, flex, libtool 10 - , pkg-config, re2c, apacheHttpd, libargon2, libxml2, pcre, pcre2 10 + , pkg-config, re2c, apacheHttpd, libargon2, libxml2, pcre2 11 11 , systemd, system-sendmail, valgrind, xcbuild 12 12 13 13 , version ··· 103 103 ${extraConfig} 104 104 ''; 105 105 106 - phpWithExtensions = symlinkJoin rec { 106 + phpWithExtensions = symlinkJoin { 107 107 name = "php-with-extensions-${version}"; 108 108 inherit (php) version; 109 109 nativeBuildInputs = [ makeWrapper ]; ··· 142 142 143 143 mkWithExtensions = prevArgs: prevExtensionFunctions: extensions: 144 144 mkBuildEnv prevArgs prevExtensionFunctions { inherit extensions; }; 145 - 146 - pcre' = if (lib.versionAtLeast version "7.3") then pcre2 else pcre; 147 145 in 148 146 stdenv.mkDerivation { 149 147 pname = "php"; ··· 157 155 158 156 buildInputs = 159 157 # PCRE extension 160 - [ pcre' ] 158 + [ pcre2 ] 161 159 162 160 # Enable sapis 163 161 ++ lib.optional pearSupport [ libxml2.dev ] ··· 176 174 [ "--disable-all" ] 177 175 178 176 # PCRE 179 - ++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre'.dev}" ] 180 - ++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre'.dev}" ] 181 - ++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre'.dev}" ] 182 - ++ [ "PCRE_LIBDIR=${pcre'}" ] 177 + ++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre2.dev}" ] 178 + ++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre2.dev}" ] 179 + ++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre2.dev}" ] 180 + ++ [ "PCRE_LIBDIR=${pcre2}" ] 183 181 184 182 185 183 # Enable sapis
-60
pkgs/development/interpreters/php/php73-darwin-isfinite.patch
··· 1 - diff -ru a/configure.ac b/configure.ac 2 - --- a/configure.ac 2018-12-04 19:12:20.000000000 +0300 3 - +++ b/configure.ac 2018-12-10 12:30:37.798917520 +0300 4 - @@ -68,7 +68,7 @@ 5 - #include <math.h> 6 - 7 - #ifndef zend_isnan 8 - -#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L) 9 - +#if HAVE_DECL_ISNAN && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L) 10 - #define zend_isnan(a) isnan(a) 11 - #elif defined(HAVE_FPCLASS) 12 - #define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN)) 13 - @@ -77,7 +77,7 @@ 14 - #endif 15 - #endif 16 - 17 - -#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L) 18 - +#if HAVE_DECL_ISINF && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L) 19 - #define zend_isinf(a) isinf(a) 20 - #elif defined(INFINITY) 21 - /* Might not work, but is required by ISO C99 */ 22 - @@ -88,7 +88,7 @@ 23 - #define zend_isinf(a) 0 24 - #endif 25 - 26 - -#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L) 27 - +#if HAVE_DECL_ISFINITE && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L) 28 - #define zend_finite(a) isfinite(a) 29 - #elif defined(HAVE_FINITE) 30 - #define zend_finite(a) finite(a) 31 - diff -ru a/Zend/configure.ac b/Zend/configure.ac 32 - --- a/Zend/configure.ac 2018-12-04 19:12:30.000000000 +0300 33 - +++ b/Zend/configure.ac 2018-12-10 12:28:50.350929699 +0300 34 - @@ -59,7 +59,7 @@ 35 - #include <math.h> 36 - 37 - #ifndef zend_isnan 38 - -#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L) 39 - +#if HAVE_DECL_ISNAN && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L) 40 - #define zend_isnan(a) isnan(a) 41 - #elif defined(HAVE_FPCLASS) 42 - #define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN)) 43 - @@ -68,7 +68,7 @@ 44 - #endif 45 - #endif 46 - 47 - -#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L) 48 - +#if HAVE_DECL_ISINF && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L) 49 - #define zend_isinf(a) isinf(a) 50 - #elif defined(INFINITY) 51 - /* Might not work, but is required by ISO C99 */ 52 - @@ -79,7 +79,7 @@ 53 - #define zend_isinf(a) 0 54 - #endif 55 - 56 - -#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L) 57 - +#if HAVE_DECL_ISFINITE && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L) 58 - #define zend_finite(a) isfinite(a) 59 - #elif defined(HAVE_FINITE) 60 - #define zend_finite(a) finite(a)
+2 -2
pkgs/development/php-packages/apcu/default.nix
··· 1 - { buildPecl, lib, pcre' }: 1 + { buildPecl, lib, pcre2 }: 2 2 3 3 buildPecl { 4 4 pname = "apcu"; ··· 6 6 version = "5.1.20"; 7 7 sha256 = "sha256-uZ1A+v7Ab00TL87lPnUm3b/B0EHqbgThc4nfrSj5w5A="; 8 8 9 - buildInputs = [ pcre' ]; 9 + buildInputs = [ pcre2 ]; 10 10 doCheck = true; 11 11 checkTarget = "test"; 12 12 checkFlagsArray = [ "REPORT_EXIT_STATUS=1" "NO_INTERACTION=1" ];
+2 -2
pkgs/development/php-packages/apcu_bc/default.nix
··· 1 - { buildPecl, lib, pcre', php }: 1 + { buildPecl, lib, pcre2, php }: 2 2 3 3 buildPecl { 4 4 pname = "apcu_bc"; ··· 8 8 9 9 peclDeps = [ php.extensions.apcu ]; 10 10 11 - buildInputs = [ pcre' ]; 11 + buildInputs = [ pcre2 ]; 12 12 13 13 postInstall = '' 14 14 mv $out/lib/php/extensions/apc.so $out/lib/php/extensions/apcu_bc.so
-34
pkgs/development/php-packages/composer/1.x.nix
··· 1 - { mkDerivation, fetchurl, makeWrapper, unzip, lib, php }: 2 - let 3 - pname = "composer"; 4 - version = "1.10.22"; 5 - in 6 - mkDerivation { 7 - inherit pname version; 8 - 9 - src = fetchurl { 10 - url = "https://getcomposer.org/download/${version}/composer.phar"; 11 - sha256 = "00073smi1jja00d4bqfs6p4fqs38mki2ziy7b1kwsmiv5lcsw9v1"; 12 - }; 13 - 14 - dontUnpack = true; 15 - 16 - nativeBuildInputs = [ makeWrapper ]; 17 - 18 - installPhase = '' 19 - runHook preInstall 20 - mkdir -p $out/bin 21 - install -D $src $out/libexec/composer/composer.phar 22 - makeWrapper ${php}/bin/php $out/bin/composer \ 23 - --add-flags "$out/libexec/composer/composer.phar" \ 24 - --prefix PATH : ${lib.makeBinPath [ unzip ]} 25 - runHook postInstall 26 - ''; 27 - 28 - meta = with lib; { 29 - description = "Dependency Manager for PHP"; 30 - license = licenses.mit; 31 - homepage = "https://getcomposer.org/"; 32 - maintainers = with maintainers; [ offline ] ++ teams.php.members; 33 - }; 34 - }
+1 -1
pkgs/development/php-packages/couchbase/default.nix
··· 14 14 }; 15 15 16 16 configureFlags = [ "--with-couchbase" ]; 17 - broken = lib.versionAtLeast php.version "8.0"; 18 17 19 18 buildInputs = [ libcouchbase zlib ]; 20 19 internalDeps = lib.optionals (lib.versionOlder php.version "8.0") [ php.extensions.json ]; ··· 45 44 '') 46 45 ]; 47 46 47 + meta.broken = lib.versionAtLeast php.version "8.0"; 48 48 meta.maintainers = lib.teams.php.members; 49 49 }
+2 -2
pkgs/development/php-packages/imagick/default.nix
··· 1 - { buildPecl, fetchpatch, lib, imagemagick, pkg-config, pcre' }: 1 + { buildPecl, fetchpatch, lib, imagemagick, pkg-config, pcre2 }: 2 2 3 3 buildPecl { 4 4 pname = "imagick"; ··· 21 21 22 22 configureFlags = [ "--with-imagick=${imagemagick.dev}" ]; 23 23 nativeBuildInputs = [ pkg-config ]; 24 - buildInputs = [ pcre' ]; 24 + buildInputs = [ pcre2 ]; 25 25 26 26 meta.maintainers = lib.teams.php.members; 27 27 }
+2 -2
pkgs/development/php-packages/mongodb/default.nix
··· 1 - { stdenv, buildPecl, lib, pcre', pkg-config, cyrus_sasl, icu64 1 + { stdenv, buildPecl, lib, pcre2, pkg-config, cyrus_sasl, icu64 2 2 , openssl, snappy, zlib, darwin }: 3 3 4 4 buildPecl { ··· 14 14 openssl 15 15 snappy 16 16 zlib 17 - pcre' 17 + pcre2 18 18 ] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security; 19 19 20 20 meta.maintainers = lib.teams.php.members;
+2 -2
pkgs/development/php-packages/pcov/default.nix
··· 1 - { buildPecl, lib, pcre' }: 1 + { buildPecl, lib, pcre2 }: 2 2 3 3 buildPecl { 4 4 pname = "pcov"; ··· 6 6 version = "1.0.8"; 7 7 sha256 = "sha256-6rbniyxLIHPW/e+eWZN1qS8F1rOB7ld1N8JKUS1geRQ="; 8 8 9 - buildInputs = [ pcre' ]; 9 + buildInputs = [ pcre2 ]; 10 10 11 11 meta.maintainers = lib.teams.php.members; 12 12 }
+2 -1
pkgs/development/php-packages/php_excel/default.nix
··· 1 - { buildPecl, fetchurl, lib, libxl }: 1 + { buildPecl, fetchurl, lib, libxl, php }: 2 2 let 3 3 pname = "php_excel"; 4 4 phpVersion = "php7"; ··· 20 20 "--with-libxl-libdir=${libxl}/lib" 21 21 ]; 22 22 23 + meta.broken = lib.versionAtLeast php.version "8.0"; 23 24 meta.maintainers = lib.teams.php.members; 24 25 }
+5 -14
pkgs/development/php-packages/pinba/default.nix
··· 1 1 { buildPecl, lib, fetchFromGitHub, php }: 2 - let 3 - pname = "pinba"; 4 2 5 - isPhp73 = lib.versionAtLeast php.version "7.3"; 6 - 7 - version = if isPhp73 then "1.1.2-dev" else "1.1.1"; 3 + buildPecl { 4 + pname = "pinba"; 5 + version = "1.1.2-dev"; 8 6 9 - src = fetchFromGitHub ({ 7 + src = fetchFromGitHub { 10 8 owner = "tony2001"; 11 9 repo = "pinba_extension"; 12 - } // (if (isPhp73) then { 13 10 rev = "edbc313f1b4fb8407bf7d5acf63fbb0359c7fb2e"; 14 11 sha256 = "02sljqm6griw8ccqavl23f7w1hp2zflcv24lpf00k6pyrn9cwx80"; 15 - } else { 16 - rev = "RELEASE_1_1_1"; 17 - sha256 = "1kdp7vav0y315695vhm3xifgsh6h6y6pny70xw3iai461n58khj5"; 18 - })); 19 - in 20 - buildPecl { 21 - inherit pname version src; 12 + }; 22 13 23 14 meta = with lib; { 24 15 description = "PHP extension for Pinba";
+2 -2
pkgs/development/php-packages/protobuf/default.nix
··· 1 - { buildPecl, lib, pcre', fetchpatch }: 1 + { buildPecl, lib, pcre2, fetchpatch }: 2 2 3 3 buildPecl { 4 4 pname = "protobuf"; ··· 6 6 version = "3.14.0"; 7 7 sha256 = "1ldc4s28hq61cfg8l4c06pgicj0ng7k37f28a0dnnbs7xkr7cibd"; 8 8 9 - buildInputs = [ pcre' ]; 9 + buildInputs = [ pcre2 ]; 10 10 11 11 patches = [ 12 12 # TODO: remove with next update
-28
pkgs/development/php-packages/pthreads/default.nix
··· 1 - { buildPecl, lib, fetchFromGitHub, php, pcre' }: 2 - let 3 - pname = "pthreads"; 4 - 5 - isPhp73 = lib.versionAtLeast php.version "7.3"; 6 - isPhp74 = lib.versionAtLeast php.version "7.4"; 7 - 8 - version = if isPhp73 then "3.2.0-dev" else "3.2.0"; 9 - 10 - src = fetchFromGitHub ({ 11 - owner = "krakjoe"; 12 - repo = "pthreads"; 13 - } // (if (isPhp73) then { 14 - rev = "4d1c2483ceb459ea4284db4eb06646d5715e7154"; 15 - sha256 = "07kdxypy0bgggrfav2h1ccbv67lllbvpa3s3zsaqci0gq4fyi830"; 16 - } else { 17 - rev = "v3.2.0"; 18 - sha256 = "17hypm75d4w7lvz96jb7s0s87018yzmmap0l125d5fd7abnhzfvv"; 19 - })); 20 - in 21 - buildPecl { 22 - inherit pname version src; 23 - 24 - buildInputs = [ pcre'.dev ]; 25 - 26 - meta.broken = isPhp74; 27 - meta.maintainers = lib.teams.php.members; 28 - }
+2 -2
pkgs/development/php-packages/rdkafka/default.nix
··· 1 - { buildPecl, lib, rdkafka, pcre' }: 1 + { buildPecl, lib, rdkafka, pcre2 }: 2 2 3 3 buildPecl { 4 4 pname = "rdkafka"; ··· 6 6 version = "5.0.0"; 7 7 sha256 = "sha256-Qy+6rkPczhdxFbDhcuzmUTLMPUXYZ0HaheDBhkh4FXs="; 8 8 9 - buildInputs = [ rdkafka pcre' ]; 9 + buildInputs = [ rdkafka pcre2 ]; 10 10 11 11 postPhpize = '' 12 12 substituteInPlace configure \
+2 -2
pkgs/development/php-packages/snuffleupagus/default.nix
··· 2 2 , lib 3 3 , php 4 4 , fetchFromGitHub 5 - , pcre' 5 + , pcre2 6 6 , fetchpatch 7 7 }: 8 8 ··· 17 17 }; 18 18 19 19 buildInputs = [ 20 - pcre' 20 + pcre2 21 21 ]; 22 22 23 23 internalDeps = with php.extensions; [
+2 -2
pkgs/development/php-packages/swoole/default.nix
··· 1 - { lib, buildPecl, php, valgrind, pcre' }: 1 + { lib, buildPecl, php, valgrind, pcre2 }: 2 2 3 3 buildPecl { 4 4 pname = "swoole"; ··· 6 6 version = "4.6.4"; 7 7 sha256 = "0hgndnn27q7fbsb0nw6bfdg0kyy5di9vrmf7g53jc6lsnf73ha31"; 8 8 9 - buildInputs = [ valgrind pcre' ]; 9 + buildInputs = [ valgrind pcre2 ]; 10 10 internalDeps = lib.optionals (lib.versionOlder php.version "7.4") [ php.extensions.hash ]; 11 11 12 12 doCheck = true;
+2 -2
pkgs/development/tools/misc/drush/default.nix
··· 1 - { lib, stdenv, fetchurl, php73, which, makeWrapper, bash, coreutils, ncurses }: 1 + { lib, stdenv, fetchurl, php, which, makeWrapper, bash, coreutils, ncurses }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 name = "drush-6.1.0"; ··· 32 32 mkdir -p "$out" 33 33 cp -r . "$out/src" 34 34 mkdir "$out/bin" 35 - wrapProgram "$out/src/drush" --prefix PATH : "${lib.makeBinPath [ which php73 bash coreutils ncurses ]}" 35 + wrapProgram "$out/src/drush" --prefix PATH : "${lib.makeBinPath [ which php bash coreutils ncurses ]}" 36 36 ln -s "$out/src/drush" "$out/bin/drush" 37 37 ''; 38 38 }
+6 -6
pkgs/servers/http/unit/default.nix
··· 2 2 , pcre2 3 3 , withPython2 ? false, python2 4 4 , withPython3 ? true, python3, ncurses 5 - , withPHP73 ? false, php73 6 - , withPHP74 ? true, php74 5 + , withPHP74 ? false, php74 6 + , withPHP80 ? true, php80 7 7 , withPerl530 ? false, perl530 8 8 , withPerl532 ? true, perl532 9 9 , withPerldevel ? false, perldevel ··· 26 26 fpmSupport = false; 27 27 }; 28 28 29 - php73-unit = php73.override phpConfig; 30 29 php74-unit = php74.override phpConfig; 30 + php80-unit = php80.override phpConfig; 31 31 32 32 in stdenv.mkDerivation rec { 33 33 version = "1.24.0"; ··· 45 45 buildInputs = [ pcre2.dev ] 46 46 ++ optional withPython2 python2 47 47 ++ optionals withPython3 [ python3 ncurses ] 48 - ++ optional withPHP73 php73-unit 49 48 ++ optional withPHP74 php74-unit 49 + ++ optional withPHP80 php80-unit 50 50 ++ optional withPerl530 perl530 51 51 ++ optional withPerl532 perl532 52 52 ++ optional withPerldevel perldevel ··· 64 64 ++ optional withDebug "--debug"; 65 65 66 66 # Optionally add the PHP derivations used so they can be addressed in the configs 67 - usedPhp73 = optionals withPHP73 php73-unit; 68 67 usedPhp74 = optionals withPHP74 php74-unit; 68 + usedPhp80 = optionals withPHP80 php80-unit; 69 69 70 70 postConfigure = '' 71 71 ${optionalString withPython2 "./configure python --module=python2 --config=python2-config --lib-path=${python2}/lib"} 72 72 ${optionalString withPython3 "./configure python --module=python3 --config=python3-config --lib-path=${python3}/lib"} 73 - ${optionalString withPHP73 "./configure php --module=php73 --config=${php73-unit.unwrapped.dev}/bin/php-config --lib-path=${php73-unit}/lib"} 74 73 ${optionalString withPHP74 "./configure php --module=php74 --config=${php74-unit.unwrapped.dev}/bin/php-config --lib-path=${php74-unit}/lib"} 74 + ${optionalString withPHP80 "./configure php --module=php80 --config=${php80-unit.unwrapped.dev}/bin/php-config --lib-path=${php80-unit}/lib"} 75 75 ${optionalString withPerl530 "./configure perl --module=perl530 --perl=${perl530}/bin/perl"} 76 76 ${optionalString withPerl532 "./configure perl --module=perl532 --perl=${perl532}/bin/perl"} 77 77 ${optionalString withPerldevel "./configure perl --module=perldev --perl=${perldevel}/bin/perl"}
+7 -2
pkgs/top-level/aliases.nix
··· 528 528 pgp-tools = signing-party; # added 2017-03-26 529 529 pg_tmp = ephemeralpg; # added 2018-01-16 530 530 531 + # Obsolete PHP version aliases 532 + php73 = throw "php73 has been dropped due to the lack of maintanence from upstream for future releases."; # added 2021-06-03 533 + php73Packages = php73; # added 2021-06-03 534 + php73Extensions = php73; # added 2021-06-03 535 + 531 536 php-embed = throw '' 532 537 php*-embed has been dropped, you can build something similar 533 538 with the following snippet: ··· 541 546 similar with the following snippet: 542 547 (php74.override { embedSupport = true; apxs2Support = false; }).packages 543 548 ''; # added 2020-04-01 544 - php74Packages-embed = phpPackages-embed; 545 549 php73Packages-embed = phpPackages-embed; 550 + php74Packages-embed = phpPackages-embed; 546 551 547 552 php-unit = throw '' 548 553 php*-unit has been dropped, you can build something similar with ··· 571 576 fpmSupport = false; 572 577 }).packages 573 578 ''; # added 2020-04-01 574 - php74Packages-unit = phpPackages-unit; 575 579 php73Packages-unit = phpPackages-unit; 580 + php74Packages-unit = phpPackages-unit; 576 581 577 582 pidgin-with-plugins = pidgin; # added 2016-06 578 583 pidginlatex = pidgin-latex; # added 2018-01-08
+4 -11
pkgs/top-level/all-packages.nix
··· 1091 1091 }) arangodb_3_3 arangodb_3_4 arangodb_3_5; 1092 1092 arangodb = arangodb_3_4; 1093 1093 1094 - arcanist = callPackage ../development/tools/misc/arcanist {}; 1094 + arcanist = callPackage ../development/tools/misc/arcanist { php = php74; }; 1095 1095 1096 1096 arduino = arduino-core.override { withGui = true; }; 1097 1097 ··· 12290 12290 # PHP interpreters, packages and extensions. 12291 12291 # 12292 12292 # Set default PHP interpreter, extensions and packages 12293 - php = php74; 12293 + php = php80; 12294 12294 phpExtensions = php.extensions; 12295 12295 phpPackages = php.packages; 12296 12296 ··· 12308 12308 php74Extensions = recurseIntoAttrs php74.extensions; 12309 12309 php74Packages = recurseIntoAttrs php74.packages; 12310 12310 12311 - # Import PHP73 interpreter, extensions and packages 12312 - php73 = callPackage ../development/interpreters/php/7.3.nix { 12313 - stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv; 12314 - }; 12315 - php73Extensions = recurseIntoAttrs php73.extensions; 12316 - php73Packages = recurseIntoAttrs php73.packages; 12317 - 12318 12311 12319 12312 picoc = callPackage ../development/interpreters/picoc {}; 12320 12313 ··· 19070 19063 19071 19064 dspam = callPackage ../servers/mail/dspam { }; 19072 19065 19073 - engelsystem = callPackage ../servers/web-apps/engelsystem { }; 19066 + engelsystem = callPackage ../servers/web-apps/engelsystem { php = php74; }; 19074 19067 19075 19068 envoy = callPackage ../servers/http/envoy { }; 19076 19069 ··· 24951 24944 24952 24945 lrzsz = callPackage ../tools/misc/lrzsz { }; 24953 24946 24954 - lsp-plugins = callPackage ../applications/audio/lsp-plugins { }; 24947 + lsp-plugins = callPackage ../applications/audio/lsp-plugins { php = php74; }; 24955 24948 24956 24949 luminanceHDR = libsForQt5.callPackage ../applications/graphics/luminance-hdr { }; 24957 24950
+9 -71
pkgs/top-level/php-packages.nix
··· 1 1 { stdenv, lib, pkgs, fetchgit, phpPackage, autoconf, pkg-config, re2c 2 2 , gettext, bzip2, curl, libxml2, openssl, gmp, icu64, oniguruma, libsodium 3 - , html-tidy, libzip, zlib, pcre, pcre2, libxslt, aspell, openldap, cyrus_sasl 3 + , html-tidy, libzip, zlib, pcre2, libxslt, aspell, openldap, cyrus_sasl 4 4 , uwimap, pam, libiconv, enchant1, libXpm, gd, libwebp, libjpeg, libpng 5 5 , freetype, libffi, freetds, postgresql, sqlite, net-snmp, unixODBC, libedit 6 6 , readline, rsync, fetchpatch, valgrind ··· 19 19 pname = "php-${pname}"; 20 20 }); 21 21 22 - pcre' = if (lib.versionAtLeast php.version "7.3") then pcre2 else pcre; 23 - 24 22 php = phpPackage; 25 23 26 24 # This is a set of interactive tools based on PHP. ··· 28 26 box = callPackage ../development/php-packages/box { }; 29 27 30 28 composer = callPackage ../development/php-packages/composer { }; 31 - 32 - composer1 = callPackage ../development/php-packages/composer/1.x.nix { }; 33 29 34 30 deployer = callPackage ../development/php-packages/deployer { }; 35 31 ··· 92 88 93 89 pcov = callPackage ../development/php-packages/pcov { }; 94 90 95 - pcs = buildPecl { 96 - version = "1.3.3"; 97 - pname = "pcs"; 98 - 99 - sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p"; 100 - 101 - internalDeps = [ php.extensions.tokenizer ]; 102 - 103 - meta.maintainers = lib.teams.php.members; 104 - meta.broken = lib.versionAtLeast php.version "7.3"; # Runtime failure on 7.3, build error on 7.4 105 - }; 106 - 107 91 pdo_oci = buildPecl rec { 108 92 inherit (php.unwrapped) src version; 109 93 ··· 129 113 pinba = callPackage ../development/php-packages/pinba { }; 130 114 131 115 protobuf = callPackage ../development/php-packages/protobuf { }; 132 - 133 - pthreads = callPackage ../development/php-packages/pthreads { }; 134 116 135 117 rdkafka = callPackage ../development/php-packages/rdkafka { }; 136 118 ··· 144 126 145 127 swoole = callPackage ../development/php-packages/swoole { }; 146 128 147 - v8 = buildPecl { 148 - version = "0.2.2"; 149 - pname = "v8"; 150 - 151 - sha256 = "103nys7zkpi1hifqp9miyl0m1mn07xqshw3sapyz365nb35g5q71"; 152 - 153 - buildInputs = [ pkgs.v8 ]; 154 - configureFlags = [ "--with-v8=${pkgs.v8}" ]; 155 - 156 - meta.maintainers = lib.teams.php.members; 157 - meta.broken = true; 158 - }; 159 - 160 - v8js = buildPecl { 161 - version = "2.1.0"; 162 - pname = "v8js"; 163 - 164 - sha256 = "0g63dyhhicngbgqg34wl91nm3556vzdgkq19gy52gvmqj47rj6rg"; 165 - 166 - buildInputs = [ pkgs.v8 ]; 167 - configureFlags = [ "--with-v8js=${pkgs.v8}" ]; 168 - 169 - meta.maintainers = lib.teams.php.members; 170 - meta.broken = true; 171 - }; 172 - 173 129 xdebug = callPackage ../development/php-packages/xdebug { }; 174 130 175 131 yaml = callPackage ../development/php-packages/yaml { }; 176 - 177 - zmq = buildPecl { 178 - version = "1.1.3"; 179 - pname = "zmq"; 180 - 181 - sha256 = "1kj487vllqj9720vlhfsmv32hs2dy2agp6176mav6ldx31c3g4n4"; 182 - 183 - configureFlags = [ 184 - "--with-zmq=${pkgs.zeromq}" 185 - ]; 186 - 187 - nativeBuildInputs = [ pkgs.pkg-config ]; 188 - 189 - meta.maintainers = lib.teams.php.members; 190 - meta.broken = lib.versionAtLeast php.version "7.3"; 191 - }; 192 132 } // (let 193 133 # Function to build a single php extension based on the php version. 194 134 # ··· 297 237 doCheck = false; } 298 238 { name = "exif"; doCheck = false; } 299 239 { name = "ffi"; buildInputs = [ libffi ]; enable = lib.versionAtLeast php.version "7.4"; } 300 - { name = "fileinfo"; buildInputs = [ pcre' ]; } 301 - { name = "filter"; buildInputs = [ pcre' ]; } 240 + { name = "fileinfo"; buildInputs = [ pcre2 ]; } 241 + { name = "filter"; buildInputs = [ pcre2 ]; } 302 242 { name = "ftp"; buildInputs = [ openssl ]; } 303 243 { name = "gd"; 304 244 buildInputs = [ zlib gd ]; ··· 350 290 ]; 351 291 doCheck = false; } 352 292 { name = "imap"; 353 - buildInputs = [ uwimap openssl pam pcre' ]; 293 + buildInputs = [ uwimap openssl pam pcre2 ]; 354 294 configureFlags = [ "--with-imap=${uwimap}" "--with-imap-ssl" ]; 355 295 # uwimap doesn't build on darwin. 356 296 enable = (!stdenv.isDarwin); } 357 - # interbase (7.3, 7.2) 358 297 { name = "intl"; 359 298 buildInputs = [ icu64 ]; 360 299 patches = lib.optionals (lib.versionOlder php.version "7.4") [ ··· 377 316 ]; 378 317 doCheck = false; } 379 318 { name = "mbstring"; buildInputs = [ oniguruma ] ++ lib.optionals (lib.versionAtLeast php.version "8.0") [ 380 - pcre' 319 + pcre2 381 320 ]; doCheck = false; } 382 321 { name = "mysqli"; 383 322 internalDeps = [ php.extensions.mysqlnd ]; ··· 425 364 # oci8 (7.4, 7.3, 7.2) 426 365 # odbc (7.4, 7.3, 7.2) 427 366 { name = "opcache"; 428 - buildInputs = [ pcre' ] ++ lib.optionals (!stdenv.isDarwin && lib.versionAtLeast php.version "8.0") [ 367 + buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.isDarwin && lib.versionAtLeast php.version "8.0") [ 429 368 valgrind.dev 430 369 ]; 431 370 patches = lib.optionals (lib.versionOlder php.version "7.4") [ ··· 480 419 configureFlags = [ "--with-pdo-sqlite=${sqlite.dev}" ]; 481 420 doCheck = false; } 482 421 { name = "pgsql"; 483 - buildInputs = [ pcre' ]; 422 + buildInputs = [ pcre2 ]; 484 423 configureFlags = [ "--with-pgsql=${postgresql}" ]; 485 424 doCheck = false; } 486 425 { name = "posix"; doCheck = false; } ··· 493 432 ''; 494 433 doCheck = false; 495 434 } 496 - # recode (7.3, 7.2) 497 435 { name = "session"; doCheck = !(lib.versionAtLeast php.version "8.0"); } 498 436 { name = "shmop"; } 499 437 { name = "simplexml"; 500 - buildInputs = [ libxml2 pcre' ]; 438 + buildInputs = [ libxml2 pcre2 ]; 501 439 configureFlags = [ "--enable-simplexml" ] 502 440 # Required to build on darwin. 503 441 ++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ]; } ··· 558 496 configureFlags = [ "--with-xsl=${libxslt.dev}" ]; } 559 497 { name = "zend_test"; } 560 498 { name = "zip"; 561 - buildInputs = [ libzip pcre' ]; 499 + buildInputs = [ libzip pcre2 ]; 562 500 configureFlags = [ "--with-zip" ] 563 501 ++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-zlib-dir=${zlib.dev}" ] 564 502 ++ lib.optionals (lib.versionOlder php.version "7.3") [ "--with-libzip" ];