diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml index e0b52ffa342..7ac120b693f 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml @@ -14,8 +14,13 @@
Highlights - - + + + + PHP now defaults to PHP 8.0, updated from 7.4. + + +
New Services @@ -45,6 +50,12 @@ services.geoipupdate. + + + PHP 7.3 is no longer supported due to upstream not supporting + this version for the entire lifecycle of the 21.11 release. + +
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md index d4604447f83..577d7592935 100644 --- a/nixos/doc/manual/release-notes/rl-2111.section.md +++ b/nixos/doc/manual/release-notes/rl-2111.section.md @@ -6,6 +6,8 @@ In addition to numerous new and upgraded packages, this release has the followin ## Highlights +* PHP now defaults to PHP 8.0, updated from 7.4. + ## New Services * [geoipupdate](https://github.com/maxmind/geoipupdate), a GeoIP @@ -19,4 +21,7 @@ In addition to numerous new and upgraded packages, this release has the followin * `services.geoip-updater` was broken and has been replaced by [services.geoipupdate](options.html#opt-services.geoipupdate.enable). +* PHP 7.3 is no longer supported due to upstream not supporting this + version for the entire lifecycle of the 21.11 release. + ## Other Notable Changes diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index f062208a3b6..d8fcbde6bc0 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -325,7 +325,6 @@ in pgjwt = handleTest ./pgjwt.nix {}; pgmanage = handleTest ./pgmanage.nix {}; php = handleTest ./php {}; - php73 = handleTest ./php { php = pkgs.php73; }; php74 = handleTest ./php { php = pkgs.php74; }; php80 = handleTest ./php { php = pkgs.php80; }; pinnwand = handleTest ./pinnwand.nix {}; diff --git a/nixos/tests/web-servers/unit-php.nix b/nixos/tests/web-servers/unit-php.nix index c4e89f069f1..00512b506cc 100644 --- a/nixos/tests/web-servers/unit-php.nix +++ b/nixos/tests/web-servers/unit-php.nix @@ -1,6 +1,6 @@ import ../make-test-python.nix ({pkgs, ...}: - let - testdir = pkgs.writeTextDir "www/info.php" " - - #ifndef zend_isnan --#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L) -+#if HAVE_DECL_ISNAN && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L) - #define zend_isnan(a) isnan(a) - #elif defined(HAVE_FPCLASS) - #define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN)) -@@ -77,7 +77,7 @@ - #endif - #endif - --#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L) -+#if HAVE_DECL_ISINF && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L) - #define zend_isinf(a) isinf(a) - #elif defined(INFINITY) - /* Might not work, but is required by ISO C99 */ -@@ -88,7 +88,7 @@ - #define zend_isinf(a) 0 - #endif - --#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L) -+#if HAVE_DECL_ISFINITE && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L) - #define zend_finite(a) isfinite(a) - #elif defined(HAVE_FINITE) - #define zend_finite(a) finite(a) -diff -ru a/Zend/configure.ac b/Zend/configure.ac ---- a/Zend/configure.ac 2018-12-04 19:12:30.000000000 +0300 -+++ b/Zend/configure.ac 2018-12-10 12:28:50.350929699 +0300 -@@ -59,7 +59,7 @@ - #include - - #ifndef zend_isnan --#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L) -+#if HAVE_DECL_ISNAN && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L) - #define zend_isnan(a) isnan(a) - #elif defined(HAVE_FPCLASS) - #define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN)) -@@ -68,7 +68,7 @@ - #endif - #endif - --#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L) -+#if HAVE_DECL_ISINF && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L) - #define zend_isinf(a) isinf(a) - #elif defined(INFINITY) - /* Might not work, but is required by ISO C99 */ -@@ -79,7 +79,7 @@ - #define zend_isinf(a) 0 - #endif - --#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L) -+#if HAVE_DECL_ISFINITE && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L) - #define zend_finite(a) isfinite(a) - #elif defined(HAVE_FINITE) - #define zend_finite(a) finite(a) diff --git a/pkgs/development/php-packages/apcu/default.nix b/pkgs/development/php-packages/apcu/default.nix index 3301d949c22..5aa8b2b4f9b 100644 --- a/pkgs/development/php-packages/apcu/default.nix +++ b/pkgs/development/php-packages/apcu/default.nix @@ -1,4 +1,4 @@ -{ buildPecl, lib, pcre' }: +{ buildPecl, lib, pcre2 }: buildPecl { pname = "apcu"; @@ -6,7 +6,7 @@ buildPecl { version = "5.1.20"; sha256 = "sha256-uZ1A+v7Ab00TL87lPnUm3b/B0EHqbgThc4nfrSj5w5A="; - buildInputs = [ pcre' ]; + buildInputs = [ pcre2 ]; doCheck = true; checkTarget = "test"; checkFlagsArray = [ "REPORT_EXIT_STATUS=1" "NO_INTERACTION=1" ]; diff --git a/pkgs/development/php-packages/apcu_bc/default.nix b/pkgs/development/php-packages/apcu_bc/default.nix index a9c34a8d778..448c25bee64 100644 --- a/pkgs/development/php-packages/apcu_bc/default.nix +++ b/pkgs/development/php-packages/apcu_bc/default.nix @@ -1,4 +1,4 @@ -{ buildPecl, lib, pcre', php }: +{ buildPecl, lib, pcre2, php }: buildPecl { pname = "apcu_bc"; @@ -8,7 +8,7 @@ buildPecl { peclDeps = [ php.extensions.apcu ]; - buildInputs = [ pcre' ]; + buildInputs = [ pcre2 ]; postInstall = '' mv $out/lib/php/extensions/apc.so $out/lib/php/extensions/apcu_bc.so diff --git a/pkgs/development/php-packages/composer/1.x.nix b/pkgs/development/php-packages/composer/1.x.nix deleted file mode 100644 index 35cee92972e..00000000000 --- a/pkgs/development/php-packages/composer/1.x.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ mkDerivation, fetchurl, makeWrapper, unzip, lib, php }: -let - pname = "composer"; - version = "1.10.22"; -in -mkDerivation { - inherit pname version; - - src = fetchurl { - url = "https://getcomposer.org/download/${version}/composer.phar"; - sha256 = "00073smi1jja00d4bqfs6p4fqs38mki2ziy7b1kwsmiv5lcsw9v1"; - }; - - dontUnpack = true; - - nativeBuildInputs = [ makeWrapper ]; - - installPhase = '' - runHook preInstall - mkdir -p $out/bin - install -D $src $out/libexec/composer/composer.phar - makeWrapper ${php}/bin/php $out/bin/composer \ - --add-flags "$out/libexec/composer/composer.phar" \ - --prefix PATH : ${lib.makeBinPath [ unzip ]} - runHook postInstall - ''; - - meta = with lib; { - description = "Dependency Manager for PHP"; - license = licenses.mit; - homepage = "https://getcomposer.org/"; - maintainers = with maintainers; [ offline ] ++ teams.php.members; - }; -} diff --git a/pkgs/development/php-packages/couchbase/default.nix b/pkgs/development/php-packages/couchbase/default.nix index 24d4e02a328..6d6bdf76e40 100644 --- a/pkgs/development/php-packages/couchbase/default.nix +++ b/pkgs/development/php-packages/couchbase/default.nix @@ -14,7 +14,6 @@ buildPecl { }; configureFlags = [ "--with-couchbase" ]; - broken = lib.versionAtLeast php.version "8.0"; buildInputs = [ libcouchbase zlib ]; internalDeps = lib.optionals (lib.versionOlder php.version "8.0") [ php.extensions.json ]; @@ -45,5 +44,6 @@ buildPecl { '') ]; + meta.broken = lib.versionAtLeast php.version "8.0"; meta.maintainers = lib.teams.php.members; } diff --git a/pkgs/development/php-packages/imagick/default.nix b/pkgs/development/php-packages/imagick/default.nix index ebff9b00f02..744ba2302f7 100644 --- a/pkgs/development/php-packages/imagick/default.nix +++ b/pkgs/development/php-packages/imagick/default.nix @@ -1,4 +1,4 @@ -{ buildPecl, fetchpatch, lib, imagemagick, pkg-config, pcre' }: +{ buildPecl, fetchpatch, lib, imagemagick, pkg-config, pcre2 }: buildPecl { pname = "imagick"; @@ -21,7 +21,7 @@ buildPecl { configureFlags = [ "--with-imagick=${imagemagick.dev}" ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ pcre' ]; + buildInputs = [ pcre2 ]; meta.maintainers = lib.teams.php.members; } diff --git a/pkgs/development/php-packages/mongodb/default.nix b/pkgs/development/php-packages/mongodb/default.nix index 95e51892f04..d0e5e545f6b 100644 --- a/pkgs/development/php-packages/mongodb/default.nix +++ b/pkgs/development/php-packages/mongodb/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPecl, lib, pcre', pkg-config, cyrus_sasl, icu64 +{ stdenv, buildPecl, lib, pcre2, pkg-config, cyrus_sasl, icu64 , openssl, snappy, zlib, darwin }: buildPecl { @@ -14,7 +14,7 @@ buildPecl { openssl snappy zlib - pcre' + pcre2 ] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security; meta.maintainers = lib.teams.php.members; diff --git a/pkgs/development/php-packages/pcov/default.nix b/pkgs/development/php-packages/pcov/default.nix index 1422e1b176d..0583f776e56 100644 --- a/pkgs/development/php-packages/pcov/default.nix +++ b/pkgs/development/php-packages/pcov/default.nix @@ -1,4 +1,4 @@ -{ buildPecl, lib, pcre' }: +{ buildPecl, lib, pcre2 }: buildPecl { pname = "pcov"; @@ -6,7 +6,7 @@ buildPecl { version = "1.0.8"; sha256 = "sha256-6rbniyxLIHPW/e+eWZN1qS8F1rOB7ld1N8JKUS1geRQ="; - buildInputs = [ pcre' ]; + buildInputs = [ pcre2 ]; meta.maintainers = lib.teams.php.members; } diff --git a/pkgs/development/php-packages/php_excel/default.nix b/pkgs/development/php-packages/php_excel/default.nix index 8b83f558a53..4effddaed49 100644 --- a/pkgs/development/php-packages/php_excel/default.nix +++ b/pkgs/development/php-packages/php_excel/default.nix @@ -1,4 +1,4 @@ -{ buildPecl, fetchurl, lib, libxl }: +{ buildPecl, fetchurl, lib, libxl, php }: let pname = "php_excel"; phpVersion = "php7"; @@ -20,5 +20,6 @@ buildPecl { "--with-libxl-libdir=${libxl}/lib" ]; + meta.broken = lib.versionAtLeast php.version "8.0"; meta.maintainers = lib.teams.php.members; } diff --git a/pkgs/development/php-packages/pinba/default.nix b/pkgs/development/php-packages/pinba/default.nix index 0880c2a46e2..4c1b42183ba 100644 --- a/pkgs/development/php-packages/pinba/default.nix +++ b/pkgs/development/php-packages/pinba/default.nix @@ -1,24 +1,15 @@ { buildPecl, lib, fetchFromGitHub, php }: -let + +buildPecl { pname = "pinba"; + version = "1.1.2-dev"; - isPhp73 = lib.versionAtLeast php.version "7.3"; - - version = if isPhp73 then "1.1.2-dev" else "1.1.1"; - - src = fetchFromGitHub ({ + src = fetchFromGitHub { owner = "tony2001"; repo = "pinba_extension"; - } // (if (isPhp73) then { rev = "edbc313f1b4fb8407bf7d5acf63fbb0359c7fb2e"; sha256 = "02sljqm6griw8ccqavl23f7w1hp2zflcv24lpf00k6pyrn9cwx80"; - } else { - rev = "RELEASE_1_1_1"; - sha256 = "1kdp7vav0y315695vhm3xifgsh6h6y6pny70xw3iai461n58khj5"; - })); -in -buildPecl { - inherit pname version src; + }; meta = with lib; { description = "PHP extension for Pinba"; diff --git a/pkgs/development/php-packages/protobuf/default.nix b/pkgs/development/php-packages/protobuf/default.nix index e2ef068120d..2112e84cfff 100644 --- a/pkgs/development/php-packages/protobuf/default.nix +++ b/pkgs/development/php-packages/protobuf/default.nix @@ -1,4 +1,4 @@ -{ buildPecl, lib, pcre', fetchpatch }: +{ buildPecl, lib, pcre2, fetchpatch }: buildPecl { pname = "protobuf"; @@ -6,7 +6,7 @@ buildPecl { version = "3.14.0"; sha256 = "1ldc4s28hq61cfg8l4c06pgicj0ng7k37f28a0dnnbs7xkr7cibd"; - buildInputs = [ pcre' ]; + buildInputs = [ pcre2 ]; patches = [ # TODO: remove with next update diff --git a/pkgs/development/php-packages/pthreads/default.nix b/pkgs/development/php-packages/pthreads/default.nix deleted file mode 100644 index 31b32e82967..00000000000 --- a/pkgs/development/php-packages/pthreads/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ buildPecl, lib, fetchFromGitHub, php, pcre' }: -let - pname = "pthreads"; - - isPhp73 = lib.versionAtLeast php.version "7.3"; - isPhp74 = lib.versionAtLeast php.version "7.4"; - - version = if isPhp73 then "3.2.0-dev" else "3.2.0"; - - src = fetchFromGitHub ({ - owner = "krakjoe"; - repo = "pthreads"; - } // (if (isPhp73) then { - rev = "4d1c2483ceb459ea4284db4eb06646d5715e7154"; - sha256 = "07kdxypy0bgggrfav2h1ccbv67lllbvpa3s3zsaqci0gq4fyi830"; - } else { - rev = "v3.2.0"; - sha256 = "17hypm75d4w7lvz96jb7s0s87018yzmmap0l125d5fd7abnhzfvv"; - })); -in -buildPecl { - inherit pname version src; - - buildInputs = [ pcre'.dev ]; - - meta.broken = isPhp74; - meta.maintainers = lib.teams.php.members; -} diff --git a/pkgs/development/php-packages/rdkafka/default.nix b/pkgs/development/php-packages/rdkafka/default.nix index 0e78d3bbc97..c8dea9463d6 100644 --- a/pkgs/development/php-packages/rdkafka/default.nix +++ b/pkgs/development/php-packages/rdkafka/default.nix @@ -1,4 +1,4 @@ -{ buildPecl, lib, rdkafka, pcre' }: +{ buildPecl, lib, rdkafka, pcre2 }: buildPecl { pname = "rdkafka"; @@ -6,7 +6,7 @@ buildPecl { version = "5.0.0"; sha256 = "sha256-Qy+6rkPczhdxFbDhcuzmUTLMPUXYZ0HaheDBhkh4FXs="; - buildInputs = [ rdkafka pcre' ]; + buildInputs = [ rdkafka pcre2 ]; postPhpize = '' substituteInPlace configure \ diff --git a/pkgs/development/php-packages/snuffleupagus/default.nix b/pkgs/development/php-packages/snuffleupagus/default.nix index 222a243606f..4318a49a8aa 100644 --- a/pkgs/development/php-packages/snuffleupagus/default.nix +++ b/pkgs/development/php-packages/snuffleupagus/default.nix @@ -2,7 +2,7 @@ , lib , php , fetchFromGitHub -, pcre' +, pcre2 , fetchpatch }: @@ -17,7 +17,7 @@ buildPecl rec { }; buildInputs = [ - pcre' + pcre2 ]; internalDeps = with php.extensions; [ diff --git a/pkgs/development/php-packages/swoole/default.nix b/pkgs/development/php-packages/swoole/default.nix index b3d43acd1b3..ef228c2ddc3 100644 --- a/pkgs/development/php-packages/swoole/default.nix +++ b/pkgs/development/php-packages/swoole/default.nix @@ -1,4 +1,4 @@ -{ lib, buildPecl, php, valgrind, pcre' }: +{ lib, buildPecl, php, valgrind, pcre2 }: buildPecl { pname = "swoole"; @@ -6,7 +6,7 @@ buildPecl { version = "4.6.4"; sha256 = "0hgndnn27q7fbsb0nw6bfdg0kyy5di9vrmf7g53jc6lsnf73ha31"; - buildInputs = [ valgrind pcre' ]; + buildInputs = [ valgrind pcre2 ]; internalDeps = lib.optionals (lib.versionOlder php.version "7.4") [ php.extensions.hash ]; doCheck = true; diff --git a/pkgs/development/tools/misc/drush/default.nix b/pkgs/development/tools/misc/drush/default.nix index 32d9975e332..70e7f42c5c2 100644 --- a/pkgs/development/tools/misc/drush/default.nix +++ b/pkgs/development/tools/misc/drush/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, php73, which, makeWrapper, bash, coreutils, ncurses }: +{ lib, stdenv, fetchurl, php, which, makeWrapper, bash, coreutils, ncurses }: stdenv.mkDerivation rec { name = "drush-6.1.0"; @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { mkdir -p "$out" cp -r . "$out/src" mkdir "$out/bin" - wrapProgram "$out/src/drush" --prefix PATH : "${lib.makeBinPath [ which php73 bash coreutils ncurses ]}" + wrapProgram "$out/src/drush" --prefix PATH : "${lib.makeBinPath [ which php bash coreutils ncurses ]}" ln -s "$out/src/drush" "$out/bin/drush" ''; } diff --git a/pkgs/servers/http/unit/default.nix b/pkgs/servers/http/unit/default.nix index e8d51f9efff..cb5fafd17cf 100644 --- a/pkgs/servers/http/unit/default.nix +++ b/pkgs/servers/http/unit/default.nix @@ -2,8 +2,8 @@ , pcre2 , withPython2 ? false, python2 , withPython3 ? true, python3, ncurses -, withPHP73 ? false, php73 -, withPHP74 ? true, php74 +, withPHP74 ? false, php74 +, withPHP80 ? true, php80 , withPerl530 ? false, perl530 , withPerl532 ? true, perl532 , withPerldevel ? false, perldevel @@ -26,8 +26,8 @@ let fpmSupport = false; }; - php73-unit = php73.override phpConfig; php74-unit = php74.override phpConfig; + php80-unit = php80.override phpConfig; in stdenv.mkDerivation rec { version = "1.24.0"; @@ -45,8 +45,8 @@ in stdenv.mkDerivation rec { buildInputs = [ pcre2.dev ] ++ optional withPython2 python2 ++ optionals withPython3 [ python3 ncurses ] - ++ optional withPHP73 php73-unit ++ optional withPHP74 php74-unit + ++ optional withPHP80 php80-unit ++ optional withPerl530 perl530 ++ optional withPerl532 perl532 ++ optional withPerldevel perldevel @@ -64,14 +64,14 @@ in stdenv.mkDerivation rec { ++ optional withDebug "--debug"; # Optionally add the PHP derivations used so they can be addressed in the configs - usedPhp73 = optionals withPHP73 php73-unit; usedPhp74 = optionals withPHP74 php74-unit; + usedPhp80 = optionals withPHP80 php80-unit; postConfigure = '' ${optionalString withPython2 "./configure python --module=python2 --config=python2-config --lib-path=${python2}/lib"} ${optionalString withPython3 "./configure python --module=python3 --config=python3-config --lib-path=${python3}/lib"} - ${optionalString withPHP73 "./configure php --module=php73 --config=${php73-unit.unwrapped.dev}/bin/php-config --lib-path=${php73-unit}/lib"} ${optionalString withPHP74 "./configure php --module=php74 --config=${php74-unit.unwrapped.dev}/bin/php-config --lib-path=${php74-unit}/lib"} + ${optionalString withPHP80 "./configure php --module=php80 --config=${php80-unit.unwrapped.dev}/bin/php-config --lib-path=${php80-unit}/lib"} ${optionalString withPerl530 "./configure perl --module=perl530 --perl=${perl530}/bin/perl"} ${optionalString withPerl532 "./configure perl --module=perl532 --perl=${perl532}/bin/perl"} ${optionalString withPerldevel "./configure perl --module=perldev --perl=${perldevel}/bin/perl"} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 4429742fbe6..cd4ad8b1a7a 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -528,6 +528,11 @@ mapAliases ({ pgp-tools = signing-party; # added 2017-03-26 pg_tmp = ephemeralpg; # added 2018-01-16 + # Obsolete PHP version aliases + php73 = throw "php73 has been dropped due to the lack of maintanence from upstream for future releases."; # added 2021-06-03 + php73Packages = php73; # added 2021-06-03 + php73Extensions = php73; # added 2021-06-03 + php-embed = throw '' php*-embed has been dropped, you can build something similar with the following snippet: @@ -541,8 +546,8 @@ mapAliases ({ similar with the following snippet: (php74.override { embedSupport = true; apxs2Support = false; }).packages ''; # added 2020-04-01 - php74Packages-embed = phpPackages-embed; php73Packages-embed = phpPackages-embed; + php74Packages-embed = phpPackages-embed; php-unit = throw '' php*-unit has been dropped, you can build something similar with @@ -571,8 +576,8 @@ mapAliases ({ fpmSupport = false; }).packages ''; # added 2020-04-01 - php74Packages-unit = phpPackages-unit; php73Packages-unit = phpPackages-unit; + php74Packages-unit = phpPackages-unit; pidgin-with-plugins = pidgin; # added 2016-06 pidginlatex = pidgin-latex; # added 2018-01-08 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 22baaa0c71f..5d2e41482ee 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1091,7 +1091,7 @@ in }) arangodb_3_3 arangodb_3_4 arangodb_3_5; arangodb = arangodb_3_4; - arcanist = callPackage ../development/tools/misc/arcanist {}; + arcanist = callPackage ../development/tools/misc/arcanist { php = php74; }; arduino = arduino-core.override { withGui = true; }; @@ -12290,7 +12290,7 @@ in # PHP interpreters, packages and extensions. # # Set default PHP interpreter, extensions and packages - php = php74; + php = php80; phpExtensions = php.extensions; phpPackages = php.packages; @@ -12308,13 +12308,6 @@ in php74Extensions = recurseIntoAttrs php74.extensions; php74Packages = recurseIntoAttrs php74.packages; - # Import PHP73 interpreter, extensions and packages - php73 = callPackage ../development/interpreters/php/7.3.nix { - stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv; - }; - php73Extensions = recurseIntoAttrs php73.extensions; - php73Packages = recurseIntoAttrs php73.packages; - picoc = callPackage ../development/interpreters/picoc {}; @@ -19070,7 +19063,7 @@ in dspam = callPackage ../servers/mail/dspam { }; - engelsystem = callPackage ../servers/web-apps/engelsystem { }; + engelsystem = callPackage ../servers/web-apps/engelsystem { php = php74; }; envoy = callPackage ../servers/http/envoy { }; @@ -24951,7 +24944,7 @@ in lrzsz = callPackage ../tools/misc/lrzsz { }; - lsp-plugins = callPackage ../applications/audio/lsp-plugins { }; + lsp-plugins = callPackage ../applications/audio/lsp-plugins { php = php74; }; luminanceHDR = libsForQt5.callPackage ../applications/graphics/luminance-hdr { }; diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index f7527d4df2a..5575c1d429c 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -1,6 +1,6 @@ { stdenv, lib, pkgs, fetchgit, phpPackage, autoconf, pkg-config, re2c , gettext, bzip2, curl, libxml2, openssl, gmp, icu64, oniguruma, libsodium -, html-tidy, libzip, zlib, pcre, pcre2, libxslt, aspell, openldap, cyrus_sasl +, html-tidy, libzip, zlib, pcre2, libxslt, aspell, openldap, cyrus_sasl , uwimap, pam, libiconv, enchant1, libXpm, gd, libwebp, libjpeg, libpng , freetype, libffi, freetds, postgresql, sqlite, net-snmp, unixODBC, libedit , readline, rsync, fetchpatch, valgrind @@ -19,8 +19,6 @@ lib.makeScope pkgs.newScope (self: with self; { pname = "php-${pname}"; }); - pcre' = if (lib.versionAtLeast php.version "7.3") then pcre2 else pcre; - php = phpPackage; # This is a set of interactive tools based on PHP. @@ -29,8 +27,6 @@ lib.makeScope pkgs.newScope (self: with self; { composer = callPackage ../development/php-packages/composer { }; - composer1 = callPackage ../development/php-packages/composer/1.x.nix { }; - deployer = callPackage ../development/php-packages/deployer { }; php-cs-fixer = callPackage ../development/php-packages/php-cs-fixer { }; @@ -92,18 +88,6 @@ lib.makeScope pkgs.newScope (self: with self; { pcov = callPackage ../development/php-packages/pcov { }; - pcs = buildPecl { - version = "1.3.3"; - pname = "pcs"; - - sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p"; - - internalDeps = [ php.extensions.tokenizer ]; - - meta.maintainers = lib.teams.php.members; - meta.broken = lib.versionAtLeast php.version "7.3"; # Runtime failure on 7.3, build error on 7.4 - }; - pdo_oci = buildPecl rec { inherit (php.unwrapped) src version; @@ -130,8 +114,6 @@ lib.makeScope pkgs.newScope (self: with self; { protobuf = callPackage ../development/php-packages/protobuf { }; - pthreads = callPackage ../development/php-packages/pthreads { }; - rdkafka = callPackage ../development/php-packages/rdkafka { }; redis = callPackage ../development/php-packages/redis { }; @@ -144,51 +126,9 @@ lib.makeScope pkgs.newScope (self: with self; { swoole = callPackage ../development/php-packages/swoole { }; - v8 = buildPecl { - version = "0.2.2"; - pname = "v8"; - - sha256 = "103nys7zkpi1hifqp9miyl0m1mn07xqshw3sapyz365nb35g5q71"; - - buildInputs = [ pkgs.v8 ]; - configureFlags = [ "--with-v8=${pkgs.v8}" ]; - - meta.maintainers = lib.teams.php.members; - meta.broken = true; - }; - - v8js = buildPecl { - version = "2.1.0"; - pname = "v8js"; - - sha256 = "0g63dyhhicngbgqg34wl91nm3556vzdgkq19gy52gvmqj47rj6rg"; - - buildInputs = [ pkgs.v8 ]; - configureFlags = [ "--with-v8js=${pkgs.v8}" ]; - - meta.maintainers = lib.teams.php.members; - meta.broken = true; - }; - xdebug = callPackage ../development/php-packages/xdebug { }; yaml = callPackage ../development/php-packages/yaml { }; - - zmq = buildPecl { - version = "1.1.3"; - pname = "zmq"; - - sha256 = "1kj487vllqj9720vlhfsmv32hs2dy2agp6176mav6ldx31c3g4n4"; - - configureFlags = [ - "--with-zmq=${pkgs.zeromq}" - ]; - - nativeBuildInputs = [ pkgs.pkg-config ]; - - meta.maintainers = lib.teams.php.members; - meta.broken = lib.versionAtLeast php.version "7.3"; - }; } // (let # Function to build a single php extension based on the php version. # @@ -297,8 +237,8 @@ lib.makeScope pkgs.newScope (self: with self; { doCheck = false; } { name = "exif"; doCheck = false; } { name = "ffi"; buildInputs = [ libffi ]; enable = lib.versionAtLeast php.version "7.4"; } - { name = "fileinfo"; buildInputs = [ pcre' ]; } - { name = "filter"; buildInputs = [ pcre' ]; } + { name = "fileinfo"; buildInputs = [ pcre2 ]; } + { name = "filter"; buildInputs = [ pcre2 ]; } { name = "ftp"; buildInputs = [ openssl ]; } { name = "gd"; buildInputs = [ zlib gd ]; @@ -350,11 +290,10 @@ lib.makeScope pkgs.newScope (self: with self; { ]; doCheck = false; } { name = "imap"; - buildInputs = [ uwimap openssl pam pcre' ]; + buildInputs = [ uwimap openssl pam pcre2 ]; configureFlags = [ "--with-imap=${uwimap}" "--with-imap-ssl" ]; # uwimap doesn't build on darwin. enable = (!stdenv.isDarwin); } - # interbase (7.3, 7.2) { name = "intl"; buildInputs = [ icu64 ]; patches = lib.optionals (lib.versionOlder php.version "7.4") [ @@ -377,7 +316,7 @@ lib.makeScope pkgs.newScope (self: with self; { ]; doCheck = false; } { name = "mbstring"; buildInputs = [ oniguruma ] ++ lib.optionals (lib.versionAtLeast php.version "8.0") [ - pcre' + pcre2 ]; doCheck = false; } { name = "mysqli"; internalDeps = [ php.extensions.mysqlnd ]; @@ -425,7 +364,7 @@ lib.makeScope pkgs.newScope (self: with self; { # oci8 (7.4, 7.3, 7.2) # odbc (7.4, 7.3, 7.2) { name = "opcache"; - buildInputs = [ pcre' ] ++ lib.optionals (!stdenv.isDarwin && lib.versionAtLeast php.version "8.0") [ + buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.isDarwin && lib.versionAtLeast php.version "8.0") [ valgrind.dev ]; patches = lib.optionals (lib.versionOlder php.version "7.4") [ @@ -480,7 +419,7 @@ lib.makeScope pkgs.newScope (self: with self; { configureFlags = [ "--with-pdo-sqlite=${sqlite.dev}" ]; doCheck = false; } { name = "pgsql"; - buildInputs = [ pcre' ]; + buildInputs = [ pcre2 ]; configureFlags = [ "--with-pgsql=${postgresql}" ]; doCheck = false; } { name = "posix"; doCheck = false; } @@ -493,11 +432,10 @@ lib.makeScope pkgs.newScope (self: with self; { ''; doCheck = false; } - # recode (7.3, 7.2) { name = "session"; doCheck = !(lib.versionAtLeast php.version "8.0"); } { name = "shmop"; } { name = "simplexml"; - buildInputs = [ libxml2 pcre' ]; + buildInputs = [ libxml2 pcre2 ]; configureFlags = [ "--enable-simplexml" ] # Required to build on darwin. ++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ]; } @@ -558,7 +496,7 @@ lib.makeScope pkgs.newScope (self: with self; { configureFlags = [ "--with-xsl=${libxslt.dev}" ]; } { name = "zend_test"; } { name = "zip"; - buildInputs = [ libzip pcre' ]; + buildInputs = [ libzip pcre2 ]; configureFlags = [ "--with-zip" ] ++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-zlib-dir=${zlib.dev}" ] ++ lib.optionals (lib.versionOlder php.version "7.3") [ "--with-libzip" ];