Merge pull request #201000 from drupol/php/8.2.0

php82: init at 8.2.0rc6

Changed files
+104 -9
nixos
doc
manual
from_md
release-notes
release-notes
tests
pkgs
development
interpreters
php
php-packages
datadog_trace
gnupg
oci8
xdebug
top-level
+5
nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
···
</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.
+2
nixos/doc/manual/release-notes/rl-2211.section.md
···
`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.
+1
nixos/tests/all-tests.nix
···
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 {};
+61
pkgs/development/interpreters/php/8.2.nix
···
+
{ 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
+
]))
+2 -1
pkgs/development/php-packages/datadog_trace/default.nix
···
-
{ buildPecl, curl, fetchFromGitHub, lib, pcre2 }:
+
{ buildPecl, curl, fetchFromGitHub, lib, pcre2, php }:
buildPecl rec {
pname = "ddtrace";
···
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;
+2 -1
pkgs/development/php-packages/gnupg/default.nix
···
-
{ buildPecl, lib, gpgme, file, gnupg }:
+
{ buildPecl, lib, gpgme, file, gnupg, php }:
buildPecl {
pname = "gnupg";
···
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";
+10 -4
pkgs/development/php-packages/oci8/default.nix
···
-
{ 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" ];
+11 -3
pkgs/development/php-packages/xdebug/default.nix
···
-
{ 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";
+10
pkgs/top-level/all-packages.nix
···
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;