diff options
author | Elis Hirwing <elis@hirwing.se> | 2022-11-20 16:01:00 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-20 16:01:00 +0100 |
commit | 14cc62d7e6df14ac259da55a04aba30e14279483 (patch) | |
tree | e9ad1badbba82bb52bb6458f284ad41ccf0c3407 | |
parent | 9e69c9c351cecfc641090456929dd2a2ccab56ae (diff) | |
parent | 1812d1540e5ed7eabb5252c0b442ff2b2d09752d (diff) |
Merge pull request #201000 from drupol/php/8.2.0
php82: init at 8.2.0rc6
-rw-r--r-- | nixos/doc/manual/from_md/release-notes/rl-2211.section.xml | 5 | ||||
-rw-r--r-- | nixos/doc/manual/release-notes/rl-2211.section.md | 2 | ||||
-rw-r--r-- | nixos/tests/all-tests.nix | 1 | ||||
-rw-r--r-- | pkgs/development/interpreters/php/8.2.nix | 61 | ||||
-rw-r--r-- | pkgs/development/php-packages/datadog_trace/default.nix | 3 | ||||
-rw-r--r-- | pkgs/development/php-packages/gnupg/default.nix | 3 | ||||
-rw-r--r-- | pkgs/development/php-packages/oci8/default.nix | 14 | ||||
-rw-r--r-- | pkgs/development/php-packages/xdebug/default.nix | 14 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 10 |
9 files changed, 104 insertions, 9 deletions
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml index 1b6e9a0f7f356..a1e01bd92921e 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml @@ -141,6 +141,11 @@ </listitem> <listitem> <para> + PHP 8.2.0 RC 6 is available. + </para> + </listitem> + <listitem> + <para> <literal>protonup</literal> has been aliased to and replaced by <literal>protonup-ng</literal> due to upstream not maintaining it. diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md index dab7d3723e306..642009e9f44e4 100644 --- a/nixos/doc/manual/release-notes/rl-2211.section.md +++ b/nixos/doc/manual/release-notes/rl-2211.section.md @@ -57,6 +57,8 @@ In addition to numerous new and upgraded packages, this release has the followin `mod_php` usage we still enable `ZTS` (Zend Thread Safe). This has been a common practice for a long time in other distributions. +- PHP 8.2.0 RC 6 is available. + - `protonup` has been aliased to and replaced by `protonup-ng` due to upstream not maintaining it. - Perl has been updated to 5.36, and its core module `HTTP::Tiny` was patched to verify SSL/TLS certificates by default. diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 96330bd40f60e..d3dc8b9ca08a4 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -495,6 +495,7 @@ in { php = handleTest ./php {}; php80 = handleTest ./php { php = pkgs.php80; }; php81 = handleTest ./php { php = pkgs.php81; }; + php82 = handleTest ./php { php = pkgs.php82; }; phylactery = handleTest ./web-apps/phylactery.nix {}; pict-rs = handleTest ./pict-rs.nix {}; pinnwand = handleTest ./pinnwand.nix {}; diff --git a/pkgs/development/interpreters/php/8.2.nix b/pkgs/development/interpreters/php/8.2.nix new file mode 100644 index 0000000000000..72816da1d4b11 --- /dev/null +++ b/pkgs/development/interpreters/php/8.2.nix @@ -0,0 +1,61 @@ +{ callPackage, lib, stdenv, fetchurl, ... }@_args: + +let + hash = "sha256-sbT8sIwle3OugXxqLZO3jKXlrOQsX1iH7WRH8G+nv8Y="; + + base = callPackage ./generic.nix (_args // { + version = "8.2.0"; + phpAttrsOverrides = attrs: attrs // { + src = fetchurl { + url = "https://downloads.php.net/~sergey/php-8.2.0RC6.tar.xz"; + inherit hash; + }; + }; + inherit hash; + }); + +in +base.withExtensions ({ all, ... }: with all; ([ + bcmath + calendar + curl + ctype + dom + exif + fileinfo + filter + ftp + gd + gettext + gmp + iconv + imap + intl + ldap + mbstring + mysqli + mysqlnd + opcache + openssl + pcntl + pdo + pdo_mysql + pdo_odbc + pdo_pgsql + pdo_sqlite + pgsql + posix + readline + session + simplexml + sockets + soap + sodium + sysvsem + sqlite3 + tokenizer + xmlreader + xmlwriter + zip + zlib +])) diff --git a/pkgs/development/php-packages/datadog_trace/default.nix b/pkgs/development/php-packages/datadog_trace/default.nix index 9b91d85fefe5f..f77433a8a9ec3 100644 --- a/pkgs/development/php-packages/datadog_trace/default.nix +++ b/pkgs/development/php-packages/datadog_trace/default.nix @@ -1,4 +1,4 @@ -{ buildPecl, curl, fetchFromGitHub, lib, pcre2 }: +{ buildPecl, curl, fetchFromGitHub, lib, pcre2, php }: buildPecl rec { pname = "ddtrace"; @@ -14,6 +14,7 @@ buildPecl rec { buildInputs = [ curl pcre2 ]; meta = with lib; { + broken = lib.versionOlder php.version "8.1"; # Broken on PHP older than 8.1. description = "Datadog Tracing PHP Client"; homepage = "https://github.com/DataDog/dd-trace-php"; license = licenses.apsl20; diff --git a/pkgs/development/php-packages/gnupg/default.nix b/pkgs/development/php-packages/gnupg/default.nix index 1d0b65d2c5625..22ce2be4473b5 100644 --- a/pkgs/development/php-packages/gnupg/default.nix +++ b/pkgs/development/php-packages/gnupg/default.nix @@ -1,4 +1,4 @@ -{ buildPecl, lib, gpgme, file, gnupg }: +{ buildPecl, lib, gpgme, file, gnupg, php }: buildPecl { pname = "gnupg"; @@ -29,6 +29,7 @@ buildPecl { doCheck = true; meta = with lib; { + broken = lib.versionOlder php.version "8.1"; # Broken on PHP older than 8.1. description = "PHP wrapper for GpgME library that provides access to GnuPG"; license = licenses.bsd3; homepage = "https://pecl.php.net/package/gnupg"; diff --git a/pkgs/development/php-packages/oci8/default.nix b/pkgs/development/php-packages/oci8/default.nix index 2657a67d38ba7..477eea5898e59 100644 --- a/pkgs/development/php-packages/oci8/default.nix +++ b/pkgs/development/php-packages/oci8/default.nix @@ -1,12 +1,18 @@ -{ buildPecl, lib, oracle-instantclient }: +{ buildPecl, lib, oracle-instantclient, php }: + let - version = "3.0.1"; - sha256 = "108ds92620dih5768z19hi0jxfa7wfg5hdvyyvpapir87c0ap914"; + versionData = if (lib.versionOlder php.version "8.1") then { + version = "3.0.1"; + sha256 = "108ds92620dih5768z19hi0jxfa7wfg5hdvyyvpapir87c0ap914"; + } else { + version = "3.2.1"; + sha256 = "zyF703DzRZDBhlNFFt/dknmZ7layqhgjG1/ZDN+PEsg="; + }; in buildPecl { pname = "oci8"; - inherit version sha256; + inherit (versionData) version sha256; buildInputs = [ oracle-instantclient ]; configureFlags = [ "--with-oci8=shared,instantclient,${oracle-instantclient.lib}/lib" ]; diff --git a/pkgs/development/php-packages/xdebug/default.nix b/pkgs/development/php-packages/xdebug/default.nix index 80b0ec73109c3..388360462dcf6 100644 --- a/pkgs/development/php-packages/xdebug/default.nix +++ b/pkgs/development/php-packages/xdebug/default.nix @@ -1,10 +1,18 @@ -{ buildPecl, lib }: +{ buildPecl, lib, php }: +let + versionData = if (lib.versionOlder php.version "8.1") then { + version = "3.1.6"; + sha256 = "1lnmrb5kgq8lbhjs48j3wwhqgk44pnqb1yjq4b5r6ysv9l5wlkjm"; + } else { + version = "3.2.0RC2"; + sha256 = "dQgXDP3Ifg+D0niWxaJ4ec71Vfr8KH40jv6QbxSyY+4="; + }; +in buildPecl { pname = "xdebug"; - version = "3.1.6"; - sha256 = "1lnmrb5kgq8lbhjs48j3wwhqgk44pnqb1yjq4b5r6ysv9l5wlkjm"; + inherit (versionData) version sha256; doCheck = true; checkTarget = "test"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8b9d3a7af6475..3af1f7983fe68 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15788,6 +15788,16 @@ with pkgs; phpExtensions = php.extensions; phpPackages = php.packages; + # Import PHP82 interpreter, extensions and packages + php82 = callPackage ../development/interpreters/php/8.2.nix { + stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv; + pcre2 = pcre2.override { + withJitSealloc = !stdenv.isDarwin; + }; + }; + php82Extensions = recurseIntoAttrs php82.extensions; + php82Packages = recurseIntoAttrs php82.packages; + # Import PHP81 interpreter, extensions and packages php81 = callPackage ../development/interpreters/php/8.1.nix { stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv; |