diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 6bc374af1bb..44c983d06ff 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -8784,10 +8784,14 @@ }]; }; roosemberth = { - email = "roosembert.palacios+nixpkgs@gmail.com"; + email = "roosembert.palacios+nixpkgs@posteo.ch"; github = "roosemberth"; githubId = 3621083; name = "Roosembert (Roosemberth) Palacios"; + keys = [{ + longkeyid = "rsa2048/0xCAAAECE5C2242BB7"; + fingerprint = "78D9 1871 D059 663B 6117 7532 CAAA ECE5 C224 2BB7"; + }]; }; rople380 = { name = "rople380"; 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/modules/services/monitoring/prometheus/exporters/dovecot.nix b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix index aba3533e439..472652fe8a7 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/dovecot.nix @@ -35,13 +35,28 @@ in { = true; = "/var/run/dovecot2/old-stats"; + = [ "old_stats" ]; = ''' - mail_plugins = $mail_plugins old_stats service old-stats { unix_listener old-stats { user = dovecot-exporter group = dovecot-exporter + mode = 0660 } + fifo_listener old-stats-mail { + mode = 0660 + user = dovecot + group = dovecot + } + fifo_listener old-stats-user { + mode = 0660 + user = dovecot + group = dovecot + } + } + plugin { + old_stats_refresh = 30 secs + old_stats_track_cmds = yes } '''; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mail.nix b/nixos/modules/services/monitoring/prometheus/exporters/mail.nix index 18c5c4dd162..7e196149fbb 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/mail.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/mail.nix @@ -112,6 +112,24 @@ let ''; description = '' List of servers that should be probed. + + Note: if your mailserver has + rspamd8 configured, + it can happen that emails from this exporter are marked as spam. + + It's possible to work around the issue with a config like this: + + { + services.rspamd.locals."multimap.conf".text = ''' + ALLOWLIST_PROMETHEUS { + filter = "email:domain:tld"; + type = "from"; + map = "''${pkgs.writeText "allowmap" "domain.tld"}"; + score = -100.0; + } + '''; + } + ''; }; }; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix b/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix index d95e5ed9e83..994670a376e 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix @@ -5,21 +5,19 @@ with lib; let cfg = config.services.prometheus.exporters.rspamd; - prettyJSON = conf: - pkgs.runCommand "rspamd-exporter-config.yml" { } '' - echo '${builtins.toJSON conf}' | ${pkgs.buildPackages.jq}/bin/jq '.' > $out - ''; + mkFile = conf: + pkgs.writeText "rspamd-exporter-config.yml" (builtins.toJSON conf); generateConfig = extraLabels: { metrics = (map (path: { - name = "rspamd_${replaceStrings [ "." " " ] [ "_" "_" ] path}"; + name = "rspamd_${replaceStrings [ "[" "." " " "]" "\\" "'" ] [ "_" "_" "_" "" "" "" ] path}"; path = "{ .${path} }"; labels = extraLabels; }) [ - "actions.'add header'" - "actions.'no action'" - "actions.'rewrite subject'" - "actions.'soft reject'" + "actions['add\\ header']" + "actions['no\\ action']" + "actions['rewrite\\ subject']" + "actions['soft\\ reject']" "actions.greylist" "actions.reject" "bytes_allocated" @@ -40,18 +38,18 @@ let ]) ++ [{ name = "rspamd_statfiles"; type = "object"; - path = "$.statfiles[*]"; + path = "{.statfiles[*]}"; labels = recursiveUpdate { - symbol = "$.symbol"; - type = "$.type"; + symbol = "{.symbol}"; + type = "{.type}"; } extraLabels; values = { - revision = "$.revision"; - size = "$.size"; - total = "$.total"; - used = "$.used"; - languages = "$.languages"; - users = "$.users"; + revision = "{.revision}"; + size = "{.size}"; + total = "{.total}"; + used = "{.used}"; + languages = "{.languages}"; + users = "{.users}"; }; }]; }; @@ -76,7 +74,7 @@ in }; serviceOpts.serviceConfig.ExecStart = '' ${pkgs.prometheus-json-exporter}/bin/json_exporter \ - --config.file ${prettyJSON (generateConfig cfg.extraLabels)} \ + --config.file ${mkFile (generateConfig cfg.extraLabels)} \ --web.listen-address "${cfg.listenAddress}:${toString cfg.port}" \ ${concatStringsSep " \\\n " cfg.extraFlags} ''; 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" "rc files + # below is the equivalent of what it injects + # Write to a file as it doesn't like EOF within <() cat > waypoint.fish < - - #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/python-modules/notify-py/default.nix b/pkgs/development/python-modules/notify-py/default.nix index 46c72fb6979..ea9f0485bef 100644 --- a/pkgs/development/python-modules/notify-py/default.nix +++ b/pkgs/development/python-modules/notify-py/default.nix @@ -1,33 +1,37 @@ -{ lib, buildPythonPackage, fetchPypi, isPy3k, alsaUtils, libnotify, which, loguru, pytest }: +{ lib, stdenv, buildPythonPackage, fetchFromGitHub, isPy3k, coreutils, alsaUtils +, libnotify, which, jeepney, loguru, pytestCheckHook }: buildPythonPackage rec { - pname = "notify_py"; - version = "0.3.1"; + pname = "notify-py"; + version = "0.3.3"; disabled = !isPy3k; - src = fetchPypi { - inherit pname version; - sha256 = "5ba696d18ffe1d7070f3d0a5b4923fee4d6c863de6843af105bec0ce9915ebad"; + src = fetchFromGitHub { + owner = "ms7m"; + repo = pname; + rev = "v${version}"; + sha256 = "1n35adwsyhz304n4ifnsz6qzkymwhyqc8sg8d76qv5psv2xsnzlf"; }; - postPatch = '' - substituteInPlace setup.py \ - --replace "loguru==0.4.1" "loguru~=0.5.0" - ''; + propagatedNativeBuildInputs = [ which ] + ++ lib.optionals stdenv.isLinux [ alsaUtils libnotify ]; + propagatedBuildInputs = [ loguru ] + ++ lib.optionals stdenv.isLinux [ jeepney ]; - propagatedBuildInputs = [ alsaUtils libnotify loguru which ]; + checkInputs = [ coreutils pytestCheckHook ]; - checkInputs = [ alsaUtils libnotify pytest which ]; - - checkPhase = '' - pytest + # Tests search for "afplay" binary which is built in to MacOS and not available in nixpkgs + preCheck = '' + mkdir $TMP/bin + ln -s ${coreutils}/bin/true $TMP/bin/afplay + export PATH="$TMP/bin:$PATH" ''; pythonImportsCheck = [ "notifypy" ]; meta = with lib; { - description = " Python Module for sending cross-platform desktop notifications on Windows, macOS, and Linux."; + description = "Python Module for sending cross-platform desktop notifications on Windows, macOS, and Linux."; homepage = "https://github.com/ms7m/notify-py/"; license = licenses.mit; maintainers = with maintainers; [ austinbutler ]; diff --git a/pkgs/development/python-modules/toggl-cli/default.nix b/pkgs/development/python-modules/toggl-cli/default.nix index d7eece65002..d8225e7031e 100644 --- a/pkgs/development/python-modules/toggl-cli/default.nix +++ b/pkgs/development/python-modules/toggl-cli/default.nix @@ -1,54 +1,41 @@ -{ lib, buildPythonPackage, fetchPypi, pythonAtLeast, pythonOlder -, click -, click-completion -, factory_boy -, faker -, inquirer -, notify-py -, pbr -, pendulum -, ptable -, pytest -, pytestcov -, pytest-mock -, requests -, twine -, validate-email -}: - +{ lib, buildPythonPackage, fetchPypi, pythonAtLeast, pythonOlder, click +, click-completion, factory_boy, faker, inquirer, notify-py, pbr, pendulum +, ptable, pytestCheckHook, pytestcov, pytest-mock, requests, twine +, validate-email }: buildPythonPackage rec { pname = "toggl-cli"; - version = "2.4.1"; + version = "2.4.2"; disabled = pythonOlder "3.5"; src = fetchPypi { pname = "togglCli"; inherit version; - sha256 = "19lry8adcznzmzbvghyid3yl4j05db6931bw38af5vrkkyzyf62i"; + sha256 = "1wgh231r16jyvaj1ch1pajvl9szflb4srs505pfdwdlqvz7rzww8"; }; postPatch = '' - substituteInPlace requirements.txt \ - --replace "inquirer==2.6.3" "inquirer>=2.6.3" \ - --replace "notify-py==0.2.2" "notify-py>=0.2.2" + substituteInPlace requirements.txt \ + --replace "notify-py==0.3.1" "notify-py>=0.3.1" ''; nativeBuildInputs = [ pbr twine ]; - checkInputs = [ pbr pytest pytestcov pytest-mock faker factory_boy ]; + checkInputs = [ pbr pytestCheckHook pytestcov pytest-mock faker factory_boy ]; preCheck = '' export TOGGL_API_TOKEN=your_api_token export TOGGL_PASSWORD=toggl_password export TOGGL_USERNAME=user@example.com - ''; - - checkPhase = '' - runHook preCheck - pytest -k "not premium and not TestDateTimeType and not TestDateTimeField" tests/unit --maxfail=20 - runHook postCheck ''; + disabledTests = [ + "integration" + "premium" + "test_parsing" + "test_type_check" + "test_now" + ]; + propagatedBuildInputs = [ click click-completion diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix index 62476cacbb2..ea1aee669c5 100644 --- a/pkgs/development/tools/analysis/flow/default.nix +++ b/pkgs/development/tools/analysis/flow/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "flow"; - version = "0.150.1"; + version = "0.152.0"; src = fetchFromGitHub { owner = "facebook"; repo = "flow"; rev = "refs/tags/v${version}"; - sha256 = "sha256-waQdS0HJVW2WFQFklmZJC0jr09JrDP5Fl7SxVS0dsgU="; + sha256 = "1af9z6xah3rk99pv984nikkpq8jzl5r0fccb1gdhmi7y5a6y6g1m"; }; installPhase = '' @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { install -Dm644 resources/shell/bash-completion $out/share/bash-completion/completions/flow ''; - buildInputs = (with ocamlPackages; [ ocaml findlib ocamlbuild ocaml-migrate-parsetree dtoa core_kernel sedlex_2 ocaml_lwt lwt_log lwt_ppx ppx_deriving ppx_gen_rec ppx_tools_versioned visitors wtf8 ]) + buildInputs = (with ocamlPackages; [ ocaml findlib ocamlbuild ocaml-migrate-parsetree-2-1 dtoa core_kernel sedlex_2 ocaml_lwt lwt_log lwt_ppx ppx_deriving ppx_gen_rec ppx_tools_versioned visitors wtf8 ]) ++ lib.optionals stdenv.isDarwin [ CoreServices ]; meta = with lib; { description = "A static type checker for JavaScript"; homepage = "https://flow.org/"; - changelog = "https://github.com/facebook/flow/releases/tag/v${version}"; + changelog = "https://github.com/facebook/flow/raw/v${version}/Changelog.md"; license = licenses.mit; platforms = ocamlPackages.ocaml.meta.platforms; maintainers = with maintainers; [ marsam puffnfresh ]; 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/development/tools/open-policy-agent/default.nix b/pkgs/development/tools/open-policy-agent/default.nix index eb9bd6de5dc..739a562227a 100644 --- a/pkgs/development/tools/open-policy-agent/default.nix +++ b/pkgs/development/tools/open-policy-agent/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "open-policy-agent"; - version = "0.28.0"; + version = "0.29.4"; src = fetchFromGitHub { owner = "open-policy-agent"; repo = "opa"; rev = "v${version}"; - sha256 = "sha256-khXcpV4bPfFwoQ4LrHFohhlTHOIDClZuE3qg+MYk36k="; + sha256 = "sha256-AjNr+t30ftF92+cEfvt8iHBDVD/SO52ojJRLAkYF9l4="; }; vendorSha256 = null; @@ -28,6 +28,8 @@ buildGoModule rec { ''; meta = with lib; { + homepage = "https://www.openpolicyagent.org"; + changelog = "https://github.com/open-policy-agent/opa/blob/v${version}/CHANGELOG.md"; description = "General-purpose policy engine"; longDescription = '' The Open Policy Agent (OPA, pronounced "oh-pa") is an open source, general-purpose policy engine that unifies @@ -35,7 +37,6 @@ buildGoModule rec { as code and simple APIs to offload policy decision-making from your software. You can use OPA to enforce policies in microservices, Kubernetes, CI/CD pipelines, API gateways, and more. ''; - homepage = "https://www.openpolicyagent.org"; license = licenses.asl20; maintainers = with maintainers; [ lewo jk ]; }; diff --git a/pkgs/games/osu-lazer/default.nix b/pkgs/games/osu-lazer/default.nix index 827eb89eba9..4cde6b032ee 100644 --- a/pkgs/games/osu-lazer/default.nix +++ b/pkgs/games/osu-lazer/default.nix @@ -16,13 +16,13 @@ let in stdenv.mkDerivation rec { pname = "osu-lazer"; - version = "2021.515.0"; + version = "2021.602.0"; src = fetchFromGitHub { owner = "ppy"; repo = "osu"; rev = version; - sha256 = "c2+Ybb9wMb9FSTxprJPLKGEv2q6y0jcMA4kEN2r7yyA="; + sha256 = "t9Byn3eAAkxnBQBfdvz2CGGXu8d3JzTnSz7I68Ntp3A="; }; patches = [ ./bypass-tamper-detection.patch ]; diff --git a/pkgs/games/osu-lazer/deps.nix b/pkgs/games/osu-lazer/deps.nix index 170a0497adf..0b6579bae06 100644 --- a/pkgs/games/osu-lazer/deps.nix +++ b/pkgs/games/osu-lazer/deps.nix @@ -24,240 +24,260 @@ version = "1.2.1.1"; sha256 = "1zkndglmz0s8rblfhnqcvv90rkq2i7lf4bc380g7z8h1avf2ikll"; }) + (fetchNuGet { + name = "HtmlAgilityPack"; + version = "1.11.33"; + sha256 = "08valqp6hzdfy532kv70fgzhizyc3xs9y0sw0rsr3z2h7pk1vp6n"; + }) (fetchNuGet { name = "Humanizer"; - version = "2.8.26"; - sha256 = "11kddzyzqpq9gkz0hmrblq494nh86va6wxx6z89xi6w1f4vj15ak"; + version = "2.10.1"; + sha256 = "0bcs3vp028dq7hs0dxvqynichgbnhzwdx61phwl8yvls15hav05c"; + }) + (fetchNuGet { + name = "Humanizer.Core"; + version = "2.10.1"; + sha256 = "1vn52y8pkg8ny7sz83nag4cwmna61jscs2n68bx7x4xkgialzhzy"; }) (fetchNuGet { name = "Humanizer.Core"; version = "2.2.0"; sha256 = "08mzg65y9d3zvq16rsmpapcdan71ggq2mpks6k777h3wlm2sh3p5"; }) - (fetchNuGet { - name = "Humanizer.Core"; - version = "2.8.26"; - sha256 = "1v8xd12yms4qq1md4vh6faxicmqrvahqdd7sdkyzrphab9v44nsm"; - }) (fetchNuGet { name = "Humanizer.Core.af"; - version = "2.8.26"; - sha256 = "0znrq4frlkq1qi20301hlzxa6mdc275fa1i1a1i8ldgk9cjq94k9"; + version = "2.10.1"; + sha256 = "0a7x11kprn650kk3qzhsncyfxazwanqwmrizkxbzyc29y46bmsr3"; }) (fetchNuGet { name = "Humanizer.Core.ar"; - version = "2.8.26"; - sha256 = "1hi7mln48p1nmxlgdq725s4cvla9nlkvbmrsql1rfjjlsy8hn6n7"; + version = "2.10.1"; + sha256 = "0k40zj3jpscv0k780x5p8cc45ivd8pla1hqz8416qgywg9kc6b7z"; }) (fetchNuGet { name = "Humanizer.Core.az"; - version = "2.8.26"; - sha256 = "0av7ycrqwvmikqia3z3qkp9967zilrhayny17zkm0d0mnjq62vs6"; + version = "2.10.1"; + sha256 = "1djhspqlxj6qys915bd8is1hfy87ykrpxpjwlwsw2gvrrc74p16c"; }) (fetchNuGet { name = "Humanizer.Core.bg"; - version = "2.8.26"; - sha256 = "13j6zk2cmk7a119azxlpjhfwykrzk0vkf5a799fb2fzkvhnj4hkg"; + version = "2.10.1"; + sha256 = "1z89a9sc3ny2bm2h3g8cnb6c77q2yhh4wmi18yj98y6irdmimn16"; }) (fetchNuGet { name = "Humanizer.Core.bn-BD"; - version = "2.8.26"; - sha256 = "0h619sksggfi7dnaycz6bj9aiqdgn0d8dpgjgdl73crw52lr70p9"; + version = "2.10.1"; + sha256 = "17cwk09h3fkjl76z0w3ihj3448h8lchf3l9l10zrjisjf918mxp8"; }) (fetchNuGet { name = "Humanizer.Core.cs"; - version = "2.8.26"; - sha256 = "11bh3k15388bi5wizaihnwqk7wb4n7q636fqjllwdhjggqrsc3f6"; + version = "2.10.1"; + sha256 = "0403f5mbyzyjw8jm988rbw2xim353rd4lc0pnkdcn7qlhcrm3gbj"; }) (fetchNuGet { name = "Humanizer.Core.da"; - version = "2.8.26"; - sha256 = "09b3x3bw3cgby9qvaccnqz2y6d8gl3497dh7q0dk1iznsxbk4x4m"; + version = "2.10.1"; + sha256 = "0am71dkxyzh40vqb7aa9k6p8whh4fwdrrwwjar9vc3c49wnw7nky"; }) (fetchNuGet { name = "Humanizer.Core.de"; - version = "2.8.26"; - sha256 = "1pyp2a9my20wlwjjzv563kshl9fpjb2kd4cw41l4wvsz1bsq3l22"; + version = "2.10.1"; + sha256 = "027iydimqnx5r7lw0661zyz41kd4nh6sxx75dmh9lcgawz8h8agy"; }) (fetchNuGet { name = "Humanizer.Core.el"; - version = "2.8.26"; - sha256 = "0v3sdcxca4dam1y5yjh9n6v711ys0zdv38hr4kij35s6277ls6lb"; + version = "2.10.1"; + sha256 = "1k3g4ffv51da0p12xg7mw21zm6hdvz28x1vaqpspyb156042vxqq"; }) (fetchNuGet { name = "Humanizer.Core.es"; - version = "2.8.26"; - sha256 = "0wh9qvqf80cngwsz2jnrsjpmaax4xa2xp8bbk5xs480kp071z37q"; + version = "2.10.1"; + sha256 = "0rv3b39hwc1spb0r036sjcn8hkl9bfaka1p8bdh7zsnq21674pqb"; }) (fetchNuGet { name = "Humanizer.Core.fa"; - version = "2.8.26"; - sha256 = "00v56ddjfv6sr6w5246gn5z0padwswvnngp8mdl7gjfg5ycmbkl1"; + version = "2.10.1"; + sha256 = "0v3ccydbf9cpv54lk65fqaiq1lfzz6cnxq0wyaa5014axwh9h8nn"; }) (fetchNuGet { name = "Humanizer.Core.fi-FI"; - version = "2.8.26"; - sha256 = "1pgs0j5ri50a6vhljplhrlc8jj1hrd9ggxkj60d9v5kk9xibzzyd"; + version = "2.10.1"; + sha256 = "0gvm0g24ccrk6081sz2ligbskn5rv2i0bfarndhf5k12zwvx0y67"; }) (fetchNuGet { name = "Humanizer.Core.fr"; - version = "2.8.26"; - sha256 = "0kkhgy3yn8vfqlx3dhb9m3cazkgfxarknam4macng9y17l7wj83m"; + version = "2.10.1"; + sha256 = "1307byhrygg45vrba5h30gmr94zp8spxqy75xi482y5va6vxv778"; }) (fetchNuGet { name = "Humanizer.Core.fr-BE"; - version = "2.8.26"; - sha256 = "13spcx07hph366qk073pz63s56nadaac7l4mr4a66gbpqd3814kb"; + version = "2.10.1"; + sha256 = "11mdqwz3nx3a9rval2y9vhxyrfzas2rasbilljky3k893anrpr36"; }) (fetchNuGet { name = "Humanizer.Core.he"; - version = "2.8.26"; - sha256 = "1ccn82aj3rhrhsa3kvkrmjw0p687icxlfja8ngbh7sby4cszx9bk"; + version = "2.10.1"; + sha256 = "1rvzgh6hky9gl55625a7pjd8n9rai4vxl05qbjg3icg86a27ia9b"; }) (fetchNuGet { name = "Humanizer.Core.hr"; - version = "2.8.26"; - sha256 = "12ii79bhai3kv7zr3k9k9dh569r6p3m4l4gj25cln2isr4wdi5r9"; + version = "2.10.1"; + sha256 = "1adm2k7ydgbdhvy1wpilhclg3xvcbvcynh4g3qhl1zk7kpicwzy1"; }) (fetchNuGet { name = "Humanizer.Core.hu"; - version = "2.8.26"; - sha256 = "0cibbdxiqhwrjmxlr805mg3l9v0fl2ydx4m50608rkysjq6vxx7y"; + version = "2.10.1"; + sha256 = "19kznch1wm6pyy4dbinp0zn991s84ak4x9hpq9sjhd60azrc9vr9"; }) (fetchNuGet { name = "Humanizer.Core.hy"; - version = "2.8.26"; - sha256 = "15aikm04f74abm4ak8rvnnkrlcz155gibn1y81pbgsyn7yrh84v3"; + version = "2.10.1"; + sha256 = "047427rspi90rbhzmzanfqkn6rzcgvnnhbn7h923kg07d4lky6l7"; }) (fetchNuGet { name = "Humanizer.Core.id"; - version = "2.8.26"; - sha256 = "1i9gpzdfhmbvrqg858kqz5461sp3sh60g16dmcmyi1ik0qlspijn"; + version = "2.10.1"; + sha256 = "0r3spq1in5y7dxkp3yk5695csair5w0jrc0xjlicqadgfk9j809f"; }) (fetchNuGet { name = "Humanizer.Core.it"; - version = "2.8.26"; - sha256 = "01j7qskmqcxsakbx3bkxcjyzrh6nxi2v6kfzsfb0vf980qqq331l"; + version = "2.10.1"; + sha256 = "1191qns3gpbq45phhaz9vy5bj0cdmznn3c2zgl4pn323knhgjfxf"; }) (fetchNuGet { name = "Humanizer.Core.ja"; - version = "2.8.26"; - sha256 = "07d19ns4a4pa2k4vdc1af7wj10gaflq1ny4mx6y574afkdi8v6d5"; + version = "2.10.1"; + sha256 = "0a0gf2vkgnqyxa3fxzs7pq6almpzv6a53bi7yhn9w4ki1jqjjv6v"; + }) + (fetchNuGet { + name = "Humanizer.Core.ko-KR"; + version = "2.10.1"; + sha256 = "0x9x7134f8ikbvvalahrb3q080w2zxd9dx0k32gd10axcvqpgxq3"; + }) + (fetchNuGet { + name = "Humanizer.Core.ku"; + version = "2.10.1"; + sha256 = "0ry4fjfvwp13p1qq8hjykg60ga0vxirdl7l7czj56lwj29ll8zqa"; }) (fetchNuGet { name = "Humanizer.Core.lv"; - version = "2.8.26"; - sha256 = "1pm64sj65nmngyfa3hjcw67icfmlzr232hmgpnw7306sb7dxmnfv"; + version = "2.10.1"; + sha256 = "1v08ds9r2k7vx5b2rw9swc3gxfj7mb9r2as0sqg5n2wy04w9ki5j"; }) (fetchNuGet { name = "Humanizer.Core.ms-MY"; - version = "2.8.26"; - sha256 = "1yx4cc023kc4k14abk2ycmjy6y2xaknaz4zria7xsadf0fabd1jc"; + version = "2.10.1"; + sha256 = "0cfb7wmffbwdv8w7j082mc3z59cj3hh6rnnii55wfrbziv1ci5yz"; }) (fetchNuGet { name = "Humanizer.Core.mt"; - version = "2.8.26"; - sha256 = "0iai35pzka9g6c3sgswki06fk6gdnq8kc88wyb4pcciivazz31px"; + version = "2.10.1"; + sha256 = "1pn00dmn1k3jp0s23rfzv8sj7fdbmy0i45ls0agvy1wxxjyg7cn9"; }) (fetchNuGet { name = "Humanizer.Core.nb"; - version = "2.8.26"; - sha256 = "0xprhiyjyq6mpha2lrav59n1f48508ddvm9nmdk5sm5k26ff3l90"; + version = "2.10.1"; + sha256 = "122b1wk8acnc7sm8bs3ww9kl6z8sw0ym7y1ar9wyiw9aw36a94f3"; }) (fetchNuGet { name = "Humanizer.Core.nb-NO"; - version = "2.8.26"; - sha256 = "160c98wfh7d2xlvlra4x5rdj4klgcjwcy3gkb4ipg655byn2m1j2"; + version = "2.10.1"; + sha256 = "0mry95z4ch5bdl71k88wsswmcdxsckhp3d578l9fwy8kgj7dg597"; }) (fetchNuGet { name = "Humanizer.Core.nl"; - version = "2.8.26"; - sha256 = "067pqm4i1mk83fqqr0bvzrchrvxwdnff18z3djgagclh1i4xqlvk"; + version = "2.10.1"; + sha256 = "03cm6vfsi5rgnc456b07vc7h3rfn3qjxfykq8f6cq61z1xgh9i53"; }) (fetchNuGet { name = "Humanizer.Core.pl"; - version = "2.8.26"; - sha256 = "1r1bbqb990war1hiag5f88yxw0k9jiid1ihb4s5bc1lzs3vfsb6x"; + version = "2.10.1"; + sha256 = "1gsrfp8d3ay5kra95sk0sy8vcak0ncxmddpwh9vw2sdhlj453bzx"; }) (fetchNuGet { name = "Humanizer.Core.pt"; - version = "2.8.26"; - sha256 = "1bik0vjjdzw51yl11ng9gsi3ihz50ibwh1gdhh2vd13jxjzb512p"; + version = "2.10.1"; + sha256 = "1z9asjsng8njvi8vr5ryklwdrfmgkjk2knd8q3hkf0k1zj4bkhsf"; }) (fetchNuGet { name = "Humanizer.Core.ro"; - version = "2.8.26"; - sha256 = "12f2hry6x1p1mgx6g4kpig2jpybx52ibghvhdhjbbfhy32gv8dr0"; + version = "2.10.1"; + sha256 = "0r8b1yl5dby56x6q0vgkzdnb08q3ar9kvnqz7pxfld9zh03k0snp"; }) (fetchNuGet { name = "Humanizer.Core.ru"; - version = "2.8.26"; - sha256 = "1hri12kwymzvdqcr66l8yiqiw3pmf9fk492z10yqljm576kyshgg"; + version = "2.10.1"; + sha256 = "1nqgscy7wqfbpld3bb6g1hwy2zdl88as1kxcflfiyysmnysavviz"; }) (fetchNuGet { name = "Humanizer.Core.sk"; - version = "2.8.26"; - sha256 = "07jfgk67axw97b85dn4bwpjwf3swd74j9hdd870qps12xfp98i9j"; + version = "2.10.1"; + sha256 = "0wk4a7g87s26da57a4srwnmhm9d2x68afn961lkd2anz8wixr97x"; }) (fetchNuGet { name = "Humanizer.Core.sl"; - version = "2.8.26"; - sha256 = "060xbzwb7p9ypbqfklih2zal2rh6h55gq4hv3i6alvlbd3vsx29n"; + version = "2.10.1"; + sha256 = "1vsjl6nbk2mxlvkk0zi0igzmfxfhr3jmnnx8ljwpz8a501svksxl"; }) (fetchNuGet { name = "Humanizer.Core.sr"; - version = "2.8.26"; - sha256 = "0i2c24qmqnhp85b088qlbagxd48hcl0v1ly4m7hfbvx5s7fg8riv"; + version = "2.10.1"; + sha256 = "03n64v7hl9awvq06y94wc0czqqf5nrw0d0k7xyx0l3lgw02jpgy2"; }) (fetchNuGet { name = "Humanizer.Core.sr-Latn"; - version = "2.8.26"; - sha256 = "1911a69sqssh9f007vmxbgyj4ym2ym4423xvw6cmbfhjcrhkfpbi"; + version = "2.10.1"; + sha256 = "0yw5k8g4672kcaia82aq36asjkjlkssi8lkkjn35hn9spq5734lc"; }) (fetchNuGet { name = "Humanizer.Core.sv"; - version = "2.8.26"; - sha256 = "056h8n9i18yl78f9ppzn2kkrz2cs46aqv0j5y8xq360zarggh0nm"; + version = "2.10.1"; + sha256 = "1n0631ka9cdikjyw9kr3vqwgd33g83chdabra50hnwcrykkigy4f"; + }) + (fetchNuGet { + name = "Humanizer.Core.th-TH"; + version = "2.10.1"; + sha256 = "0s1v0sap22xzqis95wmg66vriaavf6fgk8hcpm3as185dn37gxwn"; }) (fetchNuGet { name = "Humanizer.Core.tr"; - version = "2.8.26"; - sha256 = "0dk8ga3fpxifxxkz0n68654h65cvrx00hy7q00m5vgvmcp70gxxn"; + version = "2.10.1"; + sha256 = "063qr62a8cqa82xc3calv37x6d5v29wdssmrq9b7pas60vd5n7yd"; }) (fetchNuGet { name = "Humanizer.Core.uk"; - version = "2.8.26"; - sha256 = "0bnj5xqlcqp4n8i04ra78dax4854zbf2jsygvb4lpiayyyaj2bxw"; + version = "2.10.1"; + sha256 = "0n0zh9z19fwbb0dbpdld6jzydmwv7zj0nf2x0vpilrhcdhd4icfm"; }) (fetchNuGet { name = "Humanizer.Core.uz-Cyrl-UZ"; - version = "2.8.26"; - sha256 = "1bbf6mxas6brjw7rjljq5saz6v3ic6zbvm1b3c1jbk0hc0qkd7c8"; + version = "2.10.1"; + sha256 = "1q6z6c4hkxi5kq13k5qm6i6dx2namkdsysb09jvkvj2vl54gj074"; }) (fetchNuGet { name = "Humanizer.Core.uz-Latn-UZ"; - version = "2.8.26"; - sha256 = "1bfgfihpynax30g9kq8kra7c4jxps2ccxsxrs9gls47xbs35cw2f"; + version = "2.10.1"; + sha256 = "1758m8b2kv1k5r26al9x4vhss1f7b7yhk971b41zqapw7z66sgmx"; }) (fetchNuGet { name = "Humanizer.Core.vi"; - version = "2.8.26"; - sha256 = "1vm765nvkp6wyfwlcgppimjrk04lkg8lscch3n1i1i5hlqxrs9ch"; + version = "2.10.1"; + sha256 = "1z45zd7gpx20zaaxrv9ac6v0ig0s3d80nxdiig2pm1zrlx01ps33"; }) (fetchNuGet { name = "Humanizer.Core.zh-CN"; - version = "2.8.26"; - sha256 = "1qyl12rdh4iv1k1qcivcmxxnh8y93ainf22pmch8vvw9yjhs1y7s"; + version = "2.10.1"; + sha256 = "02pdpzzwk4wnj1bvzl059ndh67i5yx5ab8ayq5qkrg2hfkid9nn5"; }) (fetchNuGet { name = "Humanizer.Core.zh-Hans"; - version = "2.8.26"; - sha256 = "1gqv3dyk236wlp5wb7kd4qnyrmp3cy36ycykl7zr91s25cdls5vy"; + version = "2.10.1"; + sha256 = "1pm73sl5s1axzmwks68kdyskyv183z5yy020bhzcf0rwbrv3s2qi"; }) (fetchNuGet { name = "Humanizer.Core.zh-Hant"; - version = "2.8.26"; - sha256 = "1rhzbiqbx04l3kvzjklix90fxyc6vvmmw0p564ajdiximivs0pbh"; + version = "2.10.1"; + sha256 = "0fxyl2m05qgmnycdsbzv2dyzixq4jqnvvx7al87d6v5rvkrzwgik"; }) (fetchNuGet { name = "JetBrains.Annotations"; @@ -301,53 +321,53 @@ }) (fetchNuGet { name = "Microsoft.AspNetCore.Connections.Abstractions"; - version = "5.0.5"; - sha256 = "0qi4q54v7qiyc7xjbby88vmg1zcnb39sg8g1s7h0dnvapa436jv5"; + version = "5.0.6"; + sha256 = "1ggvdz6sq668w8nv99qg9pi2i3vx0vihfybjbyyywjgjppq93y8l"; }) (fetchNuGet { name = "Microsoft.AspNetCore.Http.Connections.Client"; - version = "5.0.5"; - sha256 = "1lpsjv6475p2vdvwv9wwmpzxc0r9bfya15nc5xqiv8m9z8d4sxlh"; + version = "5.0.6"; + sha256 = "16xzbs1mvbgzblzmzxznr4fpkwk9lz318rnscj7498k1dmk972s4"; }) (fetchNuGet { name = "Microsoft.AspNetCore.Http.Connections.Common"; - version = "5.0.5"; - sha256 = "1knfn9d1wsczaic3vlnracmj5frpaxwx15x7j06kgi2kl6j2hbc7"; + version = "5.0.6"; + sha256 = "1zqvmcb1zc704zf246byhf3sm1isixrdr4hlrqpss7zwd89vznv3"; }) (fetchNuGet { name = "Microsoft.AspNetCore.Http.Features"; - version = "5.0.5"; - sha256 = "011xdkqna8q0r2h9i1f646rkfjbl9qbaq56a487zagp8plwxvaxl"; + version = "5.0.6"; + sha256 = "18y9np24ybhzgv5lmaaah98l9s53c07lawld4y3nnngy4a2l8byq"; }) (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Client"; - version = "5.0.5"; - sha256 = "0r16n5c4im7gkfrhx2miiz9w58j0z87wjysbi4rsdav94hmkvgj4"; + version = "5.0.6"; + sha256 = "0vyqd11b02vfh1xbkq01z4nsj73rqnjpms1xm461x2p1yajs3792"; }) (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Client.Core"; - version = "5.0.5"; - sha256 = "11phwns2sn44vfd3vn6c0lh3aiiysfpav7rmv4cmjkxp3jmpay8r"; + version = "5.0.6"; + sha256 = "0q2fcz6g1jqiwqy05va26wf6mn7vjd915igaiqgmhqzjc2rgif88"; }) (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Common"; - version = "5.0.5"; - sha256 = "0am84ckim30djh4inv7mqph50axik79dwbfyrzlnaxcd3jr73c8c"; + version = "5.0.6"; + sha256 = "1apa35dffb29w9fj79ypdyvwkz37v04bbsl51hxrx1pa66jj4ymx"; }) (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Protocols.Json"; - version = "5.0.5"; - sha256 = "1z8d2dsgj9bh9a2xcz5xlrw4iijgmrm1midkdqni9b4nypbyraf6"; + version = "5.0.6"; + sha256 = "1yr94d8yry7i22a2zvcan7rr9lwbx298lz7k6wsgscj1isg5nrr7"; }) (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Protocols.MessagePack"; - version = "5.0.5"; - sha256 = "0p52j1mrihvm4y4yp2rnimp4vdypn0hbba0p79vp617jj17vs45l"; + version = "5.0.6"; + sha256 = "1asz4kaa0c42z8lgsh6ywn0399v1w8axvhxjbb6m39w9xq596rdr"; }) (fetchNuGet { name = "Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson"; - version = "5.0.5"; - sha256 = "0jllzr9sba5m9ccdslr4dysmxzrfzy9zvianmqhmj4is6dg2krfs"; + version = "5.0.6"; + sha256 = "1l5bl8zqw9wnincd7yxghik0k3yzip02zz26bah7mwyqaf4nhbma"; }) (fetchNuGet { name = "Microsoft.Bcl.AsyncInterfaces"; @@ -729,10 +749,15 @@ version = "0.5.3.1"; sha256 = "17dxsvcz9g8kzydk5xlfz9kfxl62x9wi20609rh76wjd881bg1br"; }) + (fetchNuGet { + name = "ppy.LocalisationAnalyser"; + version = "2021.525.0"; + sha256 = "1h8p8d1xk03904fifhi77zrjkh4sknp4mxjqd3nbpfyikd8f7c8p"; + }) (fetchNuGet { name = "ppy.osu.Framework"; - version = "2021.513.0"; - sha256 = "17cqmgfd40jbdkm5rq9wl1rcvv870yqryc29k4c8bdsvxxf4arv2"; + version = "2021.601.0"; + sha256 = "0y17s60r4q0c05gm67fmp700zwb7k74xdi45hprblyxsplnbkmi0"; }) (fetchNuGet { name = "ppy.osu.Framework.NativeLibs"; @@ -741,8 +766,8 @@ }) (fetchNuGet { name = "ppy.osu.Game.Resources"; - version = "2021.422.0"; - sha256 = "1zw0197k6wmmjqjh022q3302mrwn59msx06y66378pahmhrr0sjc"; + version = "2021.525.0"; + sha256 = "15ksxv5fasfzdkmwikjbn17c1d4rssjfm2vp71b7m834ghm6pnbd"; }) (fetchNuGet { name = "ppy.osuTK.NS20"; @@ -866,8 +891,8 @@ }) (fetchNuGet { name = "Sentry"; - version = "3.3.4"; - sha256 = "188rlyg6xfmgk6ypyg1mmbvm8d64q3wfjn3h0ays73b9wlypk8x6"; + version = "3.4.0"; + sha256 = "0yivi1gmay29831parvsy4x9kzbv04754l0lgzv0v0p4l8m1gy6s"; }) (fetchNuGet { name = "SharpCompress"; 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/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix index 21a02f1e99c..e57caa8cc7f 100644 --- a/pkgs/tools/misc/diffoscope/default.nix +++ b/pkgs/tools/misc/diffoscope/default.nix @@ -16,11 +16,11 @@ let in python3Packages.buildPythonApplication rec { pname = "diffoscope"; - version = "176"; + version = "177"; src = fetchurl { url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2"; - sha256 = "sha256-Hr3GNgpvKCLs+HA8QLOewh5nz9npZr5MZ65wRrat7l0="; + sha256 = "sha256-yTOaDhAKtMhQYxolALnuc7FuXoMUOhjmsabtS1FeW/Q="; }; outputs = [ "out" "man" ]; 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 c8aeac2b65a..75fa38e74a3 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 {}; @@ -19068,7 +19061,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 { }; @@ -24897,9 +24890,7 @@ in liferea = callPackage ../applications/networking/newsreaders/liferea { }; - lightworks = callPackage ../applications/video/lightworks { - portaudio = portaudio2014; - }; + lightworks = callPackage ../applications/video/lightworks { }; lingot = callPackage ../applications/audio/lingot { }; @@ -24951,7 +24942,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" ];