diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index fe28f94c069d..9cb9d2ba7bfd 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -982,12 +982,13 @@ in python.withPackages(ps: [ps.blaze])).env #### Optional extra dependencies Some packages define optional dependencies for additional features. With -`setuptools` this is called `extras_require` and `flit` calls it `extras-require`. A +`setuptools` this is called `extras_require` and `flit` calls it +`extras-require`, while PEP 621 calls these `optional-dependencies`. A method for supporting this is by declaring the extras of a package in its `passthru`, e.g. in case of the package `dask` ```nix -passthru.extras-require = { +passthru.optional-dependencies = { complete = [ distributed ]; }; ``` @@ -997,7 +998,7 @@ and letting the package requiring the extra add the list to its dependencies ```nix propagatedBuildInputs = [ ... -] ++ dask.extras-require.complete; +] ++ dask.optional-dependencies.complete; ``` Note this method is preferred over adding parameters to builders, as that can diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 84433806b48c..0de71030c4fb 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -365,6 +365,7 @@ in nginx = handleTest ./nginx.nix {}; nginx-auth = handleTest ./nginx-auth.nix {}; nginx-etag = handleTest ./nginx-etag.nix {}; + nginx-http3 = handleTest ./nginx-http3.nix {}; nginx-modsecurity = handleTest ./nginx-modsecurity.nix {}; nginx-pubhtml = handleTest ./nginx-pubhtml.nix {}; nginx-sandbox = handleTestOn ["x86_64-linux"] ./nginx-sandbox.nix {}; diff --git a/nixos/tests/nginx-http3.nix b/nixos/tests/nginx-http3.nix new file mode 100644 index 000000000000..edd0759464c8 --- /dev/null +++ b/nixos/tests/nginx-http3.nix @@ -0,0 +1,90 @@ +import ./make-test-python.nix ({lib, pkgs, ...}: +let + hosts = '' + 192.168.2.101 acme.test + ''; + +in +{ + name = "nginx-http3"; + meta.maintainers = with pkgs.lib.maintainers; [ izorkin ]; + + nodes = { + server = { pkgs, ... }: { + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { address = "192.168.2.101"; prefixLength = 24; } + ]; + }; + extraHosts = hosts; + firewall.allowedTCPPorts = [ 443 ]; + firewall.allowedUDPPorts = [ 443 ]; + }; + + security.pki.certificates = [ + (builtins.readFile ./common/acme/server/ca.cert.pem) + ]; + + services.nginx = { + enable = true; + package = pkgs.nginxQuic; + + virtualHosts."acme.test" = { + onlySSL = true; + sslCertificate = ./common/acme/server/acme.test.cert.pem; + sslCertificateKey = ./common/acme/server/acme.test.key.pem; + http2 = true; + http3 = true; + reuseport = true; + root = lib.mkForce (pkgs.runCommandLocal "testdir2" {} '' + mkdir "$out" + cat > "$out/index.html" <Hello World! + EOF + cat > "$out/example.txt" < /dev/null + ''; + meta = with lib; { description = "Python package to read and write geospatial raster data"; homepage = "https://rasterio.readthedocs.io/en/latest/"; diff --git a/pkgs/development/python-modules/rdflib/default.nix b/pkgs/development/python-modules/rdflib/default.nix index 1aa998911343..1aa995d85d77 100644 --- a/pkgs/development/python-modules/rdflib/default.nix +++ b/pkgs/development/python-modules/rdflib/default.nix @@ -43,7 +43,7 @@ buildPythonPackage rec { importlib-metadata ]; - passthru.extras-require = { + passthru.optional-dependencies = { html = [ html5lib ]; @@ -55,8 +55,8 @@ buildPythonPackage rec { checkInputs = [ pytestCheckHook ] - ++ passthru.extras-require.networkx - ++ passthru.extras-require.html; + ++ passthru.optional-dependencies.networkx + ++ passthru.optional-dependencies.html; pytestFlagsArray = [ # requires network access diff --git a/pkgs/development/python-modules/redis/default.nix b/pkgs/development/python-modules/redis/default.nix index b38975c9c6d6..2018006caa9b 100644 --- a/pkgs/development/python-modules/redis/default.nix +++ b/pkgs/development/python-modules/redis/default.nix @@ -40,7 +40,7 @@ buildPythonPackage rec { importlib-metadata ]; - passthru.extras-require = { + passthru.optional-dependencies = { hidredis = [ hiredis ]; diff --git a/pkgs/development/python-modules/relatorio/default.nix b/pkgs/development/python-modules/relatorio/default.nix index 86e53cde95d5..1baf6f4b0aac 100644 --- a/pkgs/development/python-modules/relatorio/default.nix +++ b/pkgs/development/python-modules/relatorio/default.nix @@ -27,14 +27,14 @@ buildPythonPackage rec { lxml ]; - passthru.extras-require = { + passthru.optional-dependencies = { chart = [ /* pycha */ pyyaml ]; fodt = [ python-magic ]; }; checkInputs = [ pytestCheckHook - ] ++ passthru.extras-require.fodt; + ] ++ passthru.optional-dependencies.fodt; pythonImportsCheck = [ "relatorio" ]; diff --git a/pkgs/development/python-modules/requests-aws4auth/default.nix b/pkgs/development/python-modules/requests-aws4auth/default.nix index c38309f6d8d9..e024efb58b0f 100644 --- a/pkgs/development/python-modules/requests-aws4auth/default.nix +++ b/pkgs/development/python-modules/requests-aws4auth/default.nix @@ -28,13 +28,13 @@ buildPythonPackage rec { six ]; - passthru.extras-require = { + passthru.optional-dependencies = { httpx = [ httpx ]; }; checkInputs = [ pytestCheckHook - ] ++ passthru.extras-require.httpx; + ] ++ passthru.optional-dependencies.httpx; pythonImportsCheck = [ "requests_aws4auth" diff --git a/pkgs/development/python-modules/samsungctl/default.nix b/pkgs/development/python-modules/samsungctl/default.nix index f917c265973a..92af8775d81d 100644 --- a/pkgs/development/python-modules/samsungctl/default.nix +++ b/pkgs/development/python-modules/samsungctl/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { sha256 = "0ipz3fd65rqkxlb02sql0awc3vnslrwb2pfrsnpfnf8bfgxpbh9g"; }; - passthru.extras-require = { + passthru.optional-dependencies = { websocket = [ websocket-client ]; diff --git a/pkgs/development/python-modules/samsungtvws/default.nix b/pkgs/development/python-modules/samsungtvws/default.nix index 383841caffa4..2e97bae92b6a 100644 --- a/pkgs/development/python-modules/samsungtvws/default.nix +++ b/pkgs/development/python-modules/samsungtvws/default.nix @@ -39,7 +39,7 @@ buildPythonPackage rec { websocket-client ]; - passthru.extras-require = { + passthru.optional-dependencies = { async = [ aiohttp websockets @@ -55,8 +55,8 @@ buildPythonPackage rec { pytest-asyncio pytestCheckHook ] - ++ passthru.extras-require.async - ++ passthru.extras-require.encrypted; + ++ passthru.optional-dependencies.async + ++ passthru.optional-dependencies.encrypted; pythonImportsCheck = [ "samsungtvws" ]; diff --git a/pkgs/development/python-modules/treq/default.nix b/pkgs/development/python-modules/treq/default.nix index 1902a578ec2b..0f77463077a0 100644 --- a/pkgs/development/python-modules/treq/default.nix +++ b/pkgs/development/python-modules/treq/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { requests incremental twisted - ] ++ twisted.extras-require.tls; + ] ++ twisted.optional-dependencies.tls; checkInputs = [ httpbin diff --git a/pkgs/development/python-modules/trytond/default.nix b/pkgs/development/python-modules/trytond/default.nix index 431342cf02d5..7a1ae2af2cc3 100644 --- a/pkgs/development/python-modules/trytond/default.nix +++ b/pkgs/development/python-modules/trytond/default.nix @@ -53,9 +53,9 @@ buildPythonPackage rec { weasyprint gevent pillow - ] ++ relatorio.extras-require.fodt - ++ passlib.extras-require.bcrypt - ++ passlib.extras-require.argon2 + ] ++ relatorio.optional-dependencies.fodt + ++ passlib.optional-dependencies.bcrypt + ++ passlib.optional-dependencies.argon2 ++ lib.optional withPostgresql psycopg2; checkPhase = '' diff --git a/pkgs/development/python-modules/twisted/default.nix b/pkgs/development/python-modules/twisted/default.nix index 8bc03b1e5cf9..ab950e6a96bd 100644 --- a/pkgs/development/python-modules/twisted/default.nix +++ b/pkgs/development/python-modules/twisted/default.nix @@ -41,7 +41,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ zope_interface incremental automat constantly hyperlink pyhamcrest attrs setuptools typing-extensions ]; - passthru.extras-require = rec { + passthru.optional-dependencies = rec { tls = [ pyopenssl service-identity idna ]; conch = [ pyasn1 cryptography appdirs bcrypt ]; conch_nacl = conch ++ [ pynacl ]; diff --git a/pkgs/development/python-modules/txtorcon/default.nix b/pkgs/development/python-modules/txtorcon/default.nix index 7196e88e8dd9..16dbbbe5395f 100644 --- a/pkgs/development/python-modules/txtorcon/default.nix +++ b/pkgs/development/python-modules/txtorcon/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ incremental twisted automat zope_interface - ] ++ twisted.extras-require.tls + ] ++ twisted.optional-dependencies.tls ++ lib.optionals (!isPy3k) [ ipaddress ]; checkInputs = [ pytestCheckHook mock lsof GeoIP ]; diff --git a/pkgs/development/python-modules/vivisect/default.nix b/pkgs/development/python-modules/vivisect/default.nix index 8eddde2b65b7..68375a8eadc3 100644 --- a/pkgs/development/python-modules/vivisect/default.nix +++ b/pkgs/development/python-modules/vivisect/default.nix @@ -43,9 +43,9 @@ buildPythonPackage rec { cxxfilt msgpack pycparser - ] ++ lib.optionals (withGui) passthru.extras-require.gui; + ] ++ lib.optionals (withGui) passthru.optional-dependencies.gui; - passthru.extras-require.gui = [ + passthru.optional-dependencies.gui = [ pyqt5 pyqtwebengine ]; diff --git a/pkgs/development/python-modules/volvooncall/default.nix b/pkgs/development/python-modules/volvooncall/default.nix index 247a192588de..3511d16962ed 100644 --- a/pkgs/development/python-modules/volvooncall/default.nix +++ b/pkgs/development/python-modules/volvooncall/default.nix @@ -33,7 +33,7 @@ buildPythonPackage rec { aiohttp ]; - passthru.extras-require = { + passthru.optional-dependencies = { console = [ certifi docopt @@ -49,7 +49,7 @@ buildPythonPackage rec { asynctest pytest-asyncio pytestCheckHook - ] ++ passthru.extras-require.mqtt; + ] ++ passthru.optional-dependencies.mqtt; pythonImportsCheck = [ "volvooncall" ]; diff --git a/pkgs/development/tools/devpi-server/default.nix b/pkgs/development/tools/devpi-server/default.nix index 3f89bd4a1c50..dad3b14c4ca9 100644 --- a/pkgs/development/tools/devpi-server/default.nix +++ b/pkgs/development/tools/devpi-server/default.nix @@ -46,7 +46,7 @@ buildPythonApplication rec { pyramid strictyaml waitress - ] ++ passlib.extras-require.argon2; + ] ++ passlib.optional-dependencies.argon2; checkInputs = [ beautifulsoup4 diff --git a/pkgs/development/tools/parsing/hammer/default.nix b/pkgs/development/tools/parsing/hammer/default.nix index 86697c0acdcb..d1cd4b167003 100644 --- a/pkgs/development/tools/parsing/hammer/default.nix +++ b/pkgs/development/tools/parsing/hammer/default.nix @@ -1,33 +1,38 @@ -{ lib, stdenv, fetchFromGitHub, glib, pkg-config, scons }: +{ fetchFromGitLab +, glib +, lib +, pkg-config +, scons +, stdenv +}: -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "hammer"; - version = "e7aa734"; + version = "nightly_20220416"; - src = fetchFromGitHub { - owner = "UpstandingHackers"; + src = fetchFromGitLab { + domain = "gitlab.special-circumstanc.es"; + owner = "hammer"; repo = "hammer"; - rev = "47f34b81e4de834fd3537dd71928c4f3cdb7f533"; - sha256 = "sha256-aNSmbSgcABF9T1HoFhCnkmON4hY2MtUs7dW38+HigAY="; + rev = version; + sha256 = "sha256-xMZhUnycGeHkNZfHQ2d9mETti8HwGHZNskFqh9f0810="; }; nativeBuildInputs = [ pkg-config scons ]; buildInputs = [ glib ]; - strictDeps = true; - meta = with lib; { description = "A bit-oriented parser combinator library"; longDescription = '' - Hammer is a parsing library. Like many modern parsing libraries, - it provides a parser combinator interface for writing grammars - as inline domain-specific languages, but Hammer also provides a - variety of parsing backends. It's also bit-oriented rather than - character-oriented, making it ideal for parsing binary data such - as images, network packets, audio, and executables. + Hammer is a parsing library. Like many modern parsing libraries, it + provides a parser combinator interface for writing grammars as inline + domain-specific languages, but Hammer also provides a variety of parsing + backends. It's also bit-oriented rather than character-oriented, making it + ideal for parsing binary data such as images, network packets, audio, and + executables. ''; - homepage = "https://github.com/UpstandingHackers/hammer"; + homepage = "https://gitlab.special-circumstanc.es/hammer/hammer"; license = licenses.gpl2; - platforms = platforms.linux; + maintainers = with maintainers; [ azahi ]; }; } diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 581cd277f157..a312105d7dbb 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -118,9 +118,9 @@ androidtv pure-python-adb ] - ++ adb-shell.extras-require.async - ++ androidtv.extras-require.async - ++ pure-python-adb.extras-require.async; + ++ adb-shell.optional-dependencies.async + ++ androidtv.optional-dependencies.async + ++ pure-python-adb.optional-dependencies.async; "anel_pwrctrl" = ps: with ps; [ ]; # missing inputs: anel_pwrctrl-homeassistant "anthemav" = ps: with ps; [ @@ -279,7 +279,7 @@ "bluetooth_le_tracker" = ps: with ps; [ pygatt ] - ++ pygatt.extras-require.GATTTOOL; + ++ pygatt.optional-dependencies.GATTTOOL; "bluetooth_tracker" = ps: with ps; [ bt-proximity pybluez @@ -2273,9 +2273,9 @@ wakeonlan zeroconf ] - ++ samsungctl.extras-require.websocket - ++ samsungtvws.extras-require.async - ++ samsungtvws.extras-require.encrypted; + ++ samsungctl.optional-dependencies.websocket + ++ samsungtvws.optional-dependencies.async + ++ samsungtvws.optional-dependencies.encrypted; "satel_integra" = ps: with ps; [ ]; # missing inputs: satel_integra "scene" = ps: with ps; [ @@ -2388,7 +2388,7 @@ "skybeacon" = ps: with ps; [ pygatt ] - ++ pygatt.extras-require.GATTTOOL; + ++ pygatt.optional-dependencies.GATTTOOL; "skybell" = ps: with ps; [ skybellpy ]; @@ -2769,7 +2769,7 @@ "tradfri" = ps: with ps; [ pytradfri ] - ++ pytradfri.extras-require.async; + ++ pytradfri.optional-dependencies.async; "trafikverket_ferry" = ps: with ps; [ pytrafikverket ]; diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py index 28d8331cfe43..e2ac808b33b4 100755 --- a/pkgs/servers/home-assistant/parse-requirements.py +++ b/pkgs/servers/home-assistant/parse-requirements.py @@ -103,13 +103,13 @@ def repository_root() -> str: return os.path.abspath(sys.argv[0] + "/../../../..") -# For a package attribute and and an extra, check if the package exposes it via passthru.extras-require +# For a package attribute and and an extra, check if the package exposes it via passthru.optional-dependencies def has_extra(package: str, extra: str): cmd = [ "nix-instantiate", repository_root(), "-A", - f"{package}.extras-require.{extra}", + f"{package}.optional-dependencies.{extra}", ] try: subprocess.run( @@ -209,7 +209,7 @@ def main() -> None: attr_paths.append(pname) for extra in extras: # Check if package advertises extra requirements - extra_attr = f"{pname}.extras-require.{extra}" + extra_attr = f"{pname}.optional-dependencies.{extra}" if has_extra(attr_path, extra): extra_attrs.append(extra_attr) else: diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix index 26f67e69a546..d8436bcc9402 100644 --- a/pkgs/servers/home-assistant/tests.nix +++ b/pkgs/servers/home-assistant/tests.nix @@ -71,7 +71,6 @@ in lib.listToAttrs (map (component: lib.nameValuePair component ( meta = old.meta // { broken = lib.elem component [ - "airtouch4" "bsblan" "dnsip" "efergy" diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix index e189a7d2fdff..79ca0d2eb5d8 100644 --- a/pkgs/servers/http/nginx/generic.nix +++ b/pkgs/servers/http/nginx/generic.nix @@ -165,7 +165,7 @@ stdenv.mkDerivation { passthru = { modules = modules; tests = { - inherit (nixosTests) nginx nginx-auth nginx-etag nginx-pubhtml nginx-sandbox nginx-sso; + inherit (nixosTests) nginx nginx-auth nginx-etag nginx-http3 nginx-pubhtml nginx-sandbox nginx-sso; variants = lib.recurseIntoAttrs nixosTests.nginx-variants; acme-integration = nixosTests.acme; } // passthru.tests; diff --git a/pkgs/servers/radicale/3.x.nix b/pkgs/servers/radicale/3.x.nix index a8f5a29db8d6..670db1532978 100644 --- a/pkgs/servers/radicale/3.x.nix +++ b/pkgs/servers/radicale/3.x.nix @@ -21,7 +21,7 @@ python3.pkgs.buildPythonApplication rec { vobject python-dateutil pytz # https://github.com/Kozea/Radicale/issues/816 - ] ++ passlib.extras-require.bcrypt; + ] ++ passlib.optional-dependencies.bcrypt; checkInputs = with python3.pkgs; [ pytestCheckHook diff --git a/pkgs/servers/roon-bridge/default.nix b/pkgs/servers/roon-bridge/default.nix index 4e590dd98186..8b4d81437e2d 100644 --- a/pkgs/servers/roon-bridge/default.nix +++ b/pkgs/servers/roon-bridge/default.nix @@ -11,7 +11,7 @@ }: stdenv.mkDerivation rec { pname = "roon-bridge"; - version = "1.8-918"; + version = "1.8-943"; src = let @@ -21,11 +21,11 @@ stdenv.mkDerivation rec { { x86_64-linux = fetchurl { url = "http://download.roonlabs.com/builds/RoonBridge_linuxx64_${urlVersion}.tar.bz2"; - hash = "sha256-Tx8KmGKh6BNoo2RKJm0HfPHRXiFsz+FtX5gQZ1FCEEg="; + hash = "sha256-knmy2zlRh+ehvYKHC7UN60pMCt8bYPuo9kTz2m0pOW0"; }; aarch64-linux = fetchurl { url = "http://download.roonlabs.com/builds/RoonBridge_linuxarmv8_${urlVersion}.tar.bz2"; - hash = "sha256-UkdAs+/l9c4j8PNlAZfNNCJogjxZItcDikS+tOjYjA0="; + hash = "sha256-urMhtBUjP4HpV9EDZOLLnfnMqhmsWPx0M2+Xdvc8YnU="; }; }.${system} or (throw "Unsupposed system: ${system}"); diff --git a/pkgs/servers/roon-server/default.nix b/pkgs/servers/roon-server/default.nix index 9e8c0254fca9..206490e49f2a 100644 --- a/pkgs/servers/roon-server/default.nix +++ b/pkgs/servers/roon-server/default.nix @@ -16,7 +16,7 @@ }: stdenv.mkDerivation rec { pname = "roon-server"; - version = "1.8-935"; + version = "1.8-943"; src = let @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { in fetchurl { url = "http://download.roonlabs.com/builds/RoonServer_linuxx64_${urlVersion}.tar.bz2"; - hash = "sha256-6I612imOCqxVlNu6zCXWS/Yy8bnot+0723t3Se4DjLg="; + hash = "sha256-osQ0/HhcSO6pirUDjOnw0yUsGUsxZI62ViHc6Lb/rT4="; }; dontConfigure = true; diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index b1c71f28a835..50989a42e3e3 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -238,27 +238,27 @@ in stdenv.mkDerivation (common // { in { mariadb_104 = mariadbPackage { # Supported until 2024-06-18 - version = "10.4.24"; - sha256 = "0ipqilri8isn0mfvwg8imwf36zm3jsw0wf2yx905c2bznd8mb5zy"; + version = "10.4.25"; + sha256 = "1y3ym8pb0pyra3dwy8sbzc4656c4y7g1savgyrsvf1mw2573r5pz"; }; mariadb_105 = mariadbPackage { # Supported until 2025-06-24 - version = "10.5.15"; - sha256 = "0nfvyxb157qsbl0d1i5gfzr2hb1nm0iv58f7qcbk5kkhz0vyv049"; + version = "10.5.16"; + sha256 = "19nj7ilk1aqs9zvvzhx4619pgfqjp7ac90ffr3fdaw4viljqfgn1"; }; mariadb_106 = mariadbPackage { # Supported until 2026-07 - version = "10.6.7"; - sha256 = "1idjnkjfkjvyr6r899xbiwq9wwbs84cm85mbc725yxjshqghzvkm"; + version = "10.6.8"; + sha256 = "0f6lkvv0dbq64y7zpks7nvhy1n08gad0i0dp0s2zpgfcb62liaap"; }; mariadb_107 = mariadbPackage { # Supported until 2023-02 - version = "10.7.3"; - sha256 = "1m2wa67vvdm61ap8spl18b9vqkmsnq4rfd0248l17jf9zwcnja6s"; + version = "10.7.4"; + sha256 = "0ws17azsw3f26pkphjkyxmmi9qbv9gwidvz0ll6g482m6afrrpbk"; }; mariadb_108 = mariadbPackage { # Supported until 2023-05 - version = "10.8.2"; - sha256 = "0v4mms3mihylnqlc0ifvwzykah6lkdd39lmxbv5vnhbsh7wggq0l"; + version = "10.8.3"; + sha256 = "14h80lfb9b3rv3fd8nkljbqhx6dmwjnqkz6c3ynixb3na72sszl8"; }; } diff --git a/pkgs/tools/misc/nautilus-open-any-terminal/default.nix b/pkgs/tools/misc/nautilus-open-any-terminal/default.nix index c62bcbe0bc76..5f0c41cbd400 100644 --- a/pkgs/tools/misc/nautilus-open-any-terminal/default.nix +++ b/pkgs/tools/misc/nautilus-open-any-terminal/default.nix @@ -15,13 +15,13 @@ python3.pkgs.buildPythonPackage rec { pname = "nautilus-open-any-terminal"; - version = "0.2.16"; + version = "0.3.0"; src = fetchFromGitHub { owner = "Stunkymonkey"; repo = pname; rev = version; - sha256 = "sha256-g5B+tp131vmjShBCGrKR5ZQCjtJY823/kPacZ0S9E80="; + sha256 = "sha256-PF6DVpiAPL9NG4jK6wDqdqYw+26Nks/bGEbbaV/5aIs="; }; patches = [ ./hardcode-gsettings.patch ]; diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index 66d2dfcdb9ae..879f8e2e38f1 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, perl +{ lib, stdenv, fetchurl, pkg-config, perl, nixosTests , brotliSupport ? false, brotli ? null , c-aresSupport ? false, c-ares ? null , gnutlsSupport ? false, gnutls ? null @@ -177,6 +177,8 @@ stdenv.mkDerivation rec { ''; passthru = { + # Additional checking with support http3 protocol. + tests.nginx-http3 = nixosTests.nginx-http3; inherit opensslSupport openssl; tests = { inherit curlpp coeurl; diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix index 938bfa1dcd61..c6107086fde5 100644 --- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix +++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix @@ -60,8 +60,8 @@ python3Packages.buildPythonApplication rec { html5lib magic-wormhole netifaces pyasn1 pycrypto pyutil pyyaml recommonmark service-identity simplejson sphinx_rtd_theme testtools treq twisted zfec zope_interface - ] ++ twisted.extras-require.tls - ++ twisted.extras-require.conch; + ] ++ twisted.optional-dependencies.tls + ++ twisted.optional-dependencies.conch; checkInputs = with python3Packages; [ mock hypothesis twisted ]; diff --git a/pkgs/tools/security/chipsec/default.nix b/pkgs/tools/security/chipsec/default.nix index 64d8885eedd4..5b4957139d75 100644 --- a/pkgs/tools/security/chipsec/default.nix +++ b/pkgs/tools/security/chipsec/default.nix @@ -68,6 +68,6 @@ python3.pkgs.buildPythonApplication rec { license = licenses.gpl2Only; homepage = "https://github.com/chipsec/chipsec"; maintainers = with maintainers; [ johnazoidberg ]; - platforms = if withDriver then [ "x86_64-linux" ] else platforms.all; + platforms = [ "x86_64-linux" ] ++ lib.optional (!withDriver) "x86_64-darwin"; }; } diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix index 4e3926d7f064..f283a911a62c 100644 --- a/pkgs/tools/security/gopass/default.nix +++ b/pkgs/tools/security/gopass/default.nix @@ -13,7 +13,7 @@ buildGoModule rec { pname = "gopass"; - version = "1.14.1"; + version = "1.14.2"; nativeBuildInputs = [ installShellFiles makeWrapper ]; @@ -21,10 +21,10 @@ buildGoModule rec { owner = "gopasspw"; repo = pname; rev = "v${version}"; - sha256 = "sha256-vdMOD6Zrl718jcntjEzOG+4Rr0aqhm0YidA0x3Gseqg="; + sha256 = "sha256-JhLFax0UR/AVl/736pdsAyyQF/555YmLWLnZrsLDjlA="; }; - vendorSha256 = "sha256-mdPAZrcdlq7R7DRIfuxf4PCpEJoJjzo/+TDKAVglk7A="; + vendorSha256 = "sha256-ESIlmY3SzmfWLqLxf62dOhAsHPOKc2YYSOhzpJCjvCQ="; subPackages = [ "." ]; @@ -57,7 +57,7 @@ buildGoModule rec { description = "The slightly more awesome Standard Unix Password Manager for Teams. Written in Go"; homepage = "https://www.gopass.pw/"; license = licenses.mit; - maintainers = with maintainers; [ rvolosatovs ]; + maintainers = with maintainers; [ rvolosatovs sikmir ]; changelog = "https://github.com/gopasspw/gopass/raw/v${version}/CHANGELOG.md"; longDescription = '' diff --git a/pkgs/tools/security/wapiti/default.nix b/pkgs/tools/security/wapiti/default.nix index 4c24535f8d8c..c86cd9b8f87e 100644 --- a/pkgs/tools/security/wapiti/default.nix +++ b/pkgs/tools/security/wapiti/default.nix @@ -39,8 +39,8 @@ python3.pkgs.buildPythonApplication rec { yaswfp ] ++ lib.optionals (python3.pythonOlder "3.8") [ importlib-metadata - ] ++ httpx.extras-require.brotli - ++ httpx.extras-require.socks; + ] ++ httpx.optional-dependencies.brotli + ++ httpx.optional-dependencies.socks; checkInputs = with python3.pkgs; [ respx diff --git a/pkgs/tools/text/difftastic/default.nix b/pkgs/tools/text/difftastic/default.nix index 1c1d6fc6bfa0..500aae3fc080 100644 --- a/pkgs/tools/text/difftastic/default.nix +++ b/pkgs/tools/text/difftastic/default.nix @@ -1,4 +1,11 @@ -{ lib, fetchFromGitHub, rustPlatform, tree-sitter, difftastic, testers }: +{ lib +, fetchFromGitHub +, fetchpatch +, rustPlatform +, tree-sitter +, difftastic +, testers +}: rustPlatform.buildRustPackage rec { pname = "difftastic"; @@ -11,7 +18,29 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-jdkyDsuOOG1dJmgRmMp2KhY9ermccjrxK2JAIzpO6nw="; }; - cargoSha256 = "sha256-qHG3ve8HoMWBS/x6mRbXMsrpcqNqfVcbAkfYOk7Su/0="; + depsExtraArgs = { + postBuild = let + mimallocPatch = (fetchpatch { + name = "mimalloc-older-macos-fixes.patch"; + url = "https://github.com/microsoft/mimalloc/commit/40e0507a5959ee218f308d33aec212c3ebeef3bb.patch"; + stripLen = 1; + extraPrefix = "libmimalloc-sys/c_src/mimalloc/"; + sha256 = "1cqgay6ayzxsj8v1dy8405kwd8av34m4bjc84iyg9r52amlijbg4"; + }); + in '' + pushd $name + patch -p1 < ${mimallocPatch} + substituteInPlace libmimalloc-sys/.cargo-checksum.json \ + --replace \ + '6a2e9f0db0d3de160f9f15ddc8a870dbc42bba724f19f1e69b8c4952cb36821a' \ + '201ab8874d9ba863406e084888e492b785a7edae00a222f395c079028d21a89a' \ + --replace \ + 'a87a27e8432a63e5de25703ff5025588afd458e3a573e51b3c3dee2281bff0d4' \ + 'ab98a2da81d2145003a9cba7b7025efbd2c7b37c7a23c058c150705a3ec39298' + popd + ''; + }; + cargoSha256 = "12a12ng9wz2rrj3xzhgrqlg3lxpqxwdgvkz3fxny17nysmmpnhvv"; passthru.tests.version = testers.testVersion { package = difftastic; }; diff --git a/pkgs/tools/text/html-tidy/default.nix b/pkgs/tools/text/html-tidy/default.nix index 9694295ed1fa..d80b8e8c899c 100644 --- a/pkgs/tools/text/html-tidy/default.nix +++ b/pkgs/tools/text/html-tidy/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, cmake, libxslt }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, libxslt, html-tidy }: stdenv.mkDerivation rec { pname = "html-tidy"; @@ -11,9 +11,18 @@ stdenv.mkDerivation rec { sha256 = "sha256-ZMz0NySxzX2XHiqB8f5asvwjIG6kdIcq8Gb3EbAxBaU="; }; - nativeBuildInputs = [ cmake libxslt/*manpage*/ ]; + # https://github.com/htacg/tidy-html5/pull/1036 + patches = (fetchpatch { + url = "https://github.com/htacg/tidy-html5/commit/e9aa038bd06bd8197a0dc049380bc2945ff55b29.diff"; + sha256 = "sha256-Q2GjinNBWLL+HXUtslzDJ7CJSTflckbjweiSMCnIVwg="; + }); - cmakeFlags = []; + nativeBuildInputs = [ cmake libxslt/*manpage*/ ] + ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) html-tidy; + + cmakeFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "-DHOST_TIDY=tidy" + ]; # ATM bin/tidy is statically linked, as upstream provides no other option yet. # https://github.com/htacg/tidy-html5/issues/326#issuecomment-160322107 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 03c7cc7101cc..0e70449d99ba 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13061,7 +13061,9 @@ with pkgs; hop = callPackage ../development/compilers/hop { }; - falcon = callPackage ../development/interpreters/falcon { }; + falcon = callPackage ../development/interpreters/falcon { + stdenv = gcc10Stdenv; + }; fsharp = callPackage ../development/compilers/fsharp { }; diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index db47de7f1982..3637a7a4bcf1 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -212,6 +212,8 @@ lib.makeScope pkgs.newScope (self: with self; { gnupg = callPackage ../development/php-packages/gnupg { }; + grpc = callPackage ../development/php-packages/grpc { }; + igbinary = callPackage ../development/php-packages/igbinary { }; imagick = callPackage ../development/php-packages/imagick { };