Merge master into staging-next

main
github-actions[bot] 2 years ago committed by GitHub
commit ba5122823c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      doc/languages-frameworks/python.section.md
  2. 1
      nixos/tests/all-tests.nix
  3. 90
      nixos/tests/nginx-http3.nix
  4. 11
      pkgs/applications/misc/openambit/default.nix
  5. 4
      pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix
  6. 2
      pkgs/applications/networking/syncplay/default.nix
  7. 2
      pkgs/applications/office/paperless-ngx/default.nix
  8. 4
      pkgs/applications/version-management/gitea/default.nix
  9. 27
      pkgs/development/compilers/crystal/build-package.nix
  10. 5
      pkgs/development/compilers/miranda/default.nix
  11. 40
      pkgs/development/embedded/platformio/core.nix
  12. 4
      pkgs/development/embedded/platformio/default.nix
  13. 2
      pkgs/development/embedded/platformio/use-local-spdx-license-list.patch
  14. 4
      pkgs/development/interpreters/falcon/default.nix
  15. 12
      pkgs/development/libraries/pe-parse/default.nix
  16. 20
      pkgs/development/php-packages/grpc/default.nix
  17. 4
      pkgs/development/python-modules/Mako/default.nix
  18. 6
      pkgs/development/python-modules/adb-shell/default.nix
  19. 9
      pkgs/development/python-modules/airtouch4pyapi/default.nix
  20. 8
      pkgs/development/python-modules/androidtv/default.nix
  21. 6
      pkgs/development/python-modules/autobahn/default.nix
  22. 2
      pkgs/development/python-modules/buildbot/default.nix
  23. 2
      pkgs/development/python-modules/clize/default.nix
  24. 2
      pkgs/development/python-modules/dask/default.nix
  25. 2
      pkgs/development/python-modules/datashader/default.nix
  26. 4
      pkgs/development/python-modules/django_modelcluster/default.nix
  27. 2
      pkgs/development/python-modules/fastapi/default.nix
  28. 10
      pkgs/development/python-modules/flask-security-too/default.nix
  29. 6
      pkgs/development/python-modules/httpcore/default.nix
  30. 2
      pkgs/development/python-modules/httpx-socks/default.nix
  31. 8
      pkgs/development/python-modules/httpx/default.nix
  32. 4
      pkgs/development/python-modules/ibis-framework/default.nix
  33. 2
      pkgs/development/python-modules/ldaptor/default.nix
  34. 4
      pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix
  35. 4
      pkgs/development/python-modules/magic-wormhole/default.nix
  36. 8
      pkgs/development/python-modules/passlib/default.nix
  37. 4
      pkgs/development/python-modules/pure-python-adb/default.nix
  38. 4
      pkgs/development/python-modules/pygatt/default.nix
  39. 4
      pkgs/development/python-modules/pyglet/default.nix
  40. 4
      pkgs/development/python-modules/python-barcode/default.nix
  41. 12
      pkgs/development/python-modules/python-glanceclient/default.nix
  42. 4
      pkgs/development/python-modules/pytradfri/default.nix
  43. 12
      pkgs/development/python-modules/rasterio/default.nix
  44. 6
      pkgs/development/python-modules/rdflib/default.nix
  45. 2
      pkgs/development/python-modules/redis/default.nix
  46. 4
      pkgs/development/python-modules/relatorio/default.nix
  47. 4
      pkgs/development/python-modules/requests-aws4auth/default.nix
  48. 2
      pkgs/development/python-modules/samsungctl/default.nix
  49. 6
      pkgs/development/python-modules/samsungtvws/default.nix
  50. 2
      pkgs/development/python-modules/treq/default.nix
  51. 6
      pkgs/development/python-modules/trytond/default.nix
  52. 2
      pkgs/development/python-modules/twisted/default.nix
  53. 2
      pkgs/development/python-modules/txtorcon/default.nix
  54. 4
      pkgs/development/python-modules/vivisect/default.nix
  55. 4
      pkgs/development/python-modules/volvooncall/default.nix
  56. 2
      pkgs/development/tools/devpi-server/default.nix
  57. 39
      pkgs/development/tools/parsing/hammer/default.nix
  58. 18
      pkgs/servers/home-assistant/component-packages.nix
  59. 6
      pkgs/servers/home-assistant/parse-requirements.py
  60. 1
      pkgs/servers/home-assistant/tests.nix
  61. 2
      pkgs/servers/http/nginx/generic.nix
  62. 2
      pkgs/servers/radicale/3.x.nix
  63. 6
      pkgs/servers/roon-bridge/default.nix
  64. 4
      pkgs/servers/roon-server/default.nix
  65. 20
      pkgs/servers/sql/mariadb/default.nix
  66. 4
      pkgs/tools/misc/nautilus-open-any-terminal/default.nix
  67. 4
      pkgs/tools/networking/curl/default.nix
  68. 4
      pkgs/tools/networking/p2p/tahoe-lafs/default.nix
  69. 2
      pkgs/tools/security/chipsec/default.nix
  70. 8
      pkgs/tools/security/gopass/default.nix
  71. 4
      pkgs/tools/security/wapiti/default.nix
  72. 33
      pkgs/tools/text/difftastic/default.nix
  73. 15
      pkgs/tools/text/html-tidy/default.nix
  74. 4
      pkgs/top-level/all-packages.nix
  75. 2
      pkgs/top-level/php-packages.nix

@ -982,12 +982,13 @@ in python.withPackages(ps: [ps.blaze])).env
#### Optional extra dependencies #### Optional extra dependencies
Some packages define optional dependencies for additional features. With 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 method for supporting this is by declaring the extras of a package in its
`passthru`, e.g. in case of the package `dask` `passthru`, e.g. in case of the package `dask`
```nix ```nix
passthru.extras-require = { passthru.optional-dependencies = {
complete = [ distributed ]; complete = [ distributed ];
}; };
``` ```
@ -997,7 +998,7 @@ and letting the package requiring the extra add the list to its dependencies
```nix ```nix
propagatedBuildInputs = [ propagatedBuildInputs = [
... ...
] ++ dask.extras-require.complete; ] ++ dask.optional-dependencies.complete;
``` ```
Note this method is preferred over adding parameters to builders, as that can Note this method is preferred over adding parameters to builders, as that can

@ -365,6 +365,7 @@ in
nginx = handleTest ./nginx.nix {}; nginx = handleTest ./nginx.nix {};
nginx-auth = handleTest ./nginx-auth.nix {}; nginx-auth = handleTest ./nginx-auth.nix {};
nginx-etag = handleTest ./nginx-etag.nix {}; nginx-etag = handleTest ./nginx-etag.nix {};
nginx-http3 = handleTest ./nginx-http3.nix {};
nginx-modsecurity = handleTest ./nginx-modsecurity.nix {}; nginx-modsecurity = handleTest ./nginx-modsecurity.nix {};
nginx-pubhtml = handleTest ./nginx-pubhtml.nix {}; nginx-pubhtml = handleTest ./nginx-pubhtml.nix {};
nginx-sandbox = handleTestOn ["x86_64-linux"] ./nginx-sandbox.nix {}; nginx-sandbox = handleTestOn ["x86_64-linux"] ./nginx-sandbox.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" <<EOF
<html><body>Hello World!</body></html>
EOF
cat > "$out/example.txt" <<EOF
Check http3 protocol.
EOF
'');
};
};
};
client = { pkgs, ... }: {
environment.systemPackages = [ pkgs.curlHTTP3 ];
networking = {
interfaces.eth1 = {
ipv4.addresses = [
{ address = "192.168.2.201"; prefixLength = 24; }
];
};
extraHosts = hosts;
};
security.pki.certificates = [
(builtins.readFile ./common/acme/server/ca.cert.pem)
];
};
};
testScript = ''
start_all()
# Check http connections
client.succeed("curl --verbose --http3 https://acme.test | grep 'Hello World!'")
# Check downloadings
client.succeed("curl --verbose --http3 https://acme.test/example.txt --output /tmp/example.txt")
client.succeed("cat /tmp/example.txt | grep 'Check http3 protocol.'")
# Check header reading
client.succeed("curl --verbose --http3 --head https://acme.test | grep 'content-type'")
# Check change User-Agent
client.succeed("curl --verbose --http3 --user-agent 'Curl test 3.0' https://acme.test")
server.succeed("cat /var/log/nginx/access.log | grep 'Curl test 3.0'")
server.shutdown()
client.shutdown()
'';
})

@ -1,5 +1,6 @@
{ cmake { cmake
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, lib , lib
, libusb1 , libusb1
, mkDerivation , mkDerivation
@ -21,6 +22,16 @@ mkDerivation rec {
sha256 = "1074kvkamwnlkwdajsw1799wddcfkjh2ay6l842r0s4cvrxrai85"; sha256 = "1074kvkamwnlkwdajsw1799wddcfkjh2ay6l842r0s4cvrxrai85";
}; };
patches = [
# Pull upstream patch for -fno-common toolchain support:
# https://github.com/openambitproject/openambit/pull/244
(fetchpatch {
name = "fno-common.patch";
url = "https://github.com/openambitproject/openambit/commit/b6d97eab417977b6dbe355e0b071d0a56cc3df6b.patch";
sha256 = "1p0dg902mlcfjvs01dxl9wv2b50ayp4330p38d14q87mn0c2xl5d";
})
];
nativeBuildInputs = [ cmake qttools ]; nativeBuildInputs = [ cmake qttools ];
buildInputs = [ libusb1 python3 qtbase udev zlib ]; buildInputs = [ libusb1 python3 qtbase udev zlib ];

@ -5,13 +5,13 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "deltachat-cursed"; pname = "deltachat-cursed";
version = "0.3.1"; version = "0.4.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "adbenitez"; owner = "adbenitez";
repo = "deltachat-cursed"; repo = "deltachat-cursed";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-IZrTPnj6eX1qgEPnEiD9qmVkwn1SMK38gVKAJFgZNfw="; hash = "sha256-li6HsatiRJPVKKBBHyWhq2b8HhvDrOUiVT2tSupjuag=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

@ -14,7 +14,7 @@ buildPythonApplication rec {
}; };
propagatedBuildInputs = [ twisted certifi ] propagatedBuildInputs = [ twisted certifi ]
++ twisted.extras-require.tls ++ twisted.optional-dependencies.tls
++ lib.optional enableGUI pyside2; ++ lib.optional enableGUI pyside2;
nativeBuildInputs = lib.optionals enableGUI [ qt5.wrapQtAppsHook ]; nativeBuildInputs = lib.optionals enableGUI [ qt5.wrapQtAppsHook ];

@ -122,7 +122,7 @@ py.pkgs.pythonPackages.buildPythonApplication rec {
threadpoolctl threadpoolctl
tika tika
tqdm tqdm
twisted.extras-require.tls twisted.optional-dependencies.tls
txaio txaio
tzlocal tzlocal
urllib3 urllib3

@ -16,12 +16,12 @@ with lib;
buildGoPackage rec { buildGoPackage rec {
pname = "gitea"; pname = "gitea";
version = "1.16.7"; version = "1.16.8";
# not fetching directly from the git repo, because that lacks several vendor files for the web UI # not fetching directly from the git repo, because that lacks several vendor files for the web UI
src = fetchurl { src = fetchurl {
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz"; url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
sha256 = "sha256-UVmbFtHC4W3WF+DptdHMMUoe8UE5TVgoM9QRuczSrEg="; sha256 = "sha256-W/AbRfnEQfnTjXJ8wTKEFOTld4rFsBvJiXnYK8Ugoj0=";
}; };
unpackPhase = '' unpackPhase = ''

@ -24,6 +24,7 @@
# Specify binaries to build in the form { foo.src = "src/foo.cr"; } # Specify binaries to build in the form { foo.src = "src/foo.cr"; }
# The default `crystal build` options can be overridden with { foo.options = [ "--optionname" ]; } # The default `crystal build` options can be overridden with { foo.options = [ "--optionname" ]; }
, crystalBinaries ? { } , crystalBinaries ? { }
, enableParallelBuilding ? true
, ... , ...
}@args: }@args:
@ -51,6 +52,20 @@ let
buildDirectly = shardsFile == null || crystalBinaries != { }; buildDirectly = shardsFile == null || crystalBinaries != { };
mkCrystalBuildArgs = bin: attrs:
lib.concatStringsSep " " ([
"crystal"
"build"
] ++ lib.optionals enableParallelBuilding [
"--threads"
"$NIX_BUILD_CORES"
] ++ [
"-o"
bin
(attrs.src or (throw "No source file for crystal binary ${bin} provided"))
(lib.concatStringsSep " " (attrs.options or defaultOptions))
]);
in in
stdenv.mkDerivation (mkDerivationArgs // { stdenv.mkDerivation (mkDerivationArgs // {
@ -72,6 +87,7 @@ stdenv.mkDerivation (mkDerivationArgs // {
PREFIX = placeholder "out"; PREFIX = placeholder "out";
inherit enableParallelBuilding;
strictDeps = true; strictDeps = true;
buildInputs = args.buildInputs or [ ] ++ [ crystal ]; buildInputs = args.buildInputs or [ ] ++ [ crystal ];
@ -88,16 +104,7 @@ stdenv.mkDerivation (mkDerivationArgs // {
"runHook preBuild" "runHook preBuild"
] ++ lib.optional (format == "make") ] ++ lib.optional (format == "make")
"make \${buildTargets:-build} $makeFlags" "make \${buildTargets:-build} $makeFlags"
++ lib.optionals (format == "crystal") (lib.mapAttrsToList ++ lib.optionals (format == "crystal") (lib.mapAttrsToList mkCrystalBuildArgs crystalBinaries)
(bin: attrs: ''
crystal ${lib.escapeShellArgs ([
"build"
"-o"
bin
(attrs.src or (throw "No source file for crystal binary ${bin} provided"))
] ++ (attrs.options or defaultOptions))}
'')
crystalBinaries)
++ lib.optional (format == "shards") ++ lib.optional (format == "shards")
"shards build --local --production ${lib.concatStringsSep " " (args.options or defaultOptions)}" "shards build --local --production ${lib.concatStringsSep " " (args.options or defaultOptions)}"
++ [ "runHook postBuild" ])); ++ [ "runHook postBuild" ]));

@ -52,6 +52,11 @@ stdenv.mkDerivation rec {
}) })
]; ];
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: types.o:(.bss+0x11b0): multiple definition of `current_file'; y.tab.o:(.bss+0x70): first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
makeFlags = [ makeFlags = [
"CC=${stdenv.cc.targetPrefix}cc" "CC=${stdenv.cc.targetPrefix}cc"
"CFLAGS=-O2" "CFLAGS=-O2"

@ -9,32 +9,13 @@
let let
python = python3.override { python = python3.override {
packageOverrides = self: super: { packageOverrides = self: super: {
semantic-version = super.semantic-version.overridePythonAttrs (oldAttrs: rec {
version = "2.9.0";
src = fetchPypi {
pname = "semantic_version";
version = version;
sha256 = "1chjd8019wnwb5mnd4x4jw9f8nhzg0xnapsdznk0fpiyamrlixdb";
};
});
starlette = super.starlette.overridePythonAttrs (oldAttrs: rec { starlette = super.starlette.overridePythonAttrs (oldAttrs: rec {
version = "0.18.0"; version = "0.20.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "encode"; owner = "encode";
repo = "starlette"; repo = "starlette";
rev = version; rev = version;
sha256 = "1dpj33cggjjvpd3qdf6hv04z5ckcn9f5dfn98p5a8hx262kgsr9p"; sha256 = "sha256-bSgPjKqM262PSufz1LHwrdM+uU8xO55Mifv66HRN02Y=";
};
});
uvicorn = super.uvicorn.overridePythonAttrs (oldAttrs: rec {
version = "0.17.0";
src = fetchFromGitHub {
owner = "encode";
repo = "uvicorn";
rev = version;
sha256 = "142x8skb1yfys6gndfaay2r240j56dkr006p49pw4y9i0v85kynp";
}; };
}); });
}; };
@ -75,6 +56,8 @@ with python.pkgs; buildPythonApplication rec {
]; ];
pytestFlagsArray = (map (e: "--deselect tests/${e}") [ pytestFlagsArray = (map (e: "--deselect tests/${e}") [
"commands/pkg/test_exec.py::test_pkg_specified"
"commands/pkg/test_exec.py::test_unrecognized_options"
"commands/test_ci.py::test_ci_boards" "commands/test_ci.py::test_ci_boards"
"commands/test_ci.py::test_ci_build_dir" "commands/test_ci.py::test_ci_build_dir"
"commands/test_ci.py::test_ci_keep_build_dir" "commands/test_ci.py::test_ci_keep_build_dir"
@ -84,6 +67,7 @@ with python.pkgs; buildPythonApplication rec {
"commands/test_init.py::test_init_duplicated_boards" "commands/test_init.py::test_init_duplicated_boards"
"commands/test_init.py::test_init_enable_auto_uploading" "commands/test_init.py::test_init_enable_auto_uploading"
"commands/test_init.py::test_init_ide_atom" "commands/test_init.py::test_init_ide_atom"
"commands/test_init.py::test_init_ide_clion"
"commands/test_init.py::test_init_ide_eclipse" "commands/test_init.py::test_init_ide_eclipse"
"commands/test_init.py::test_init_ide_vscode" "commands/test_init.py::test_init_ide_vscode"
"commands/test_init.py::test_init_incorrect_board" "commands/test_init.py::test_init_incorrect_board"
@ -112,9 +96,6 @@ with python.pkgs; buildPythonApplication rec {
"commands/test_lib_complex.py::test_lib_show" "commands/test_lib_complex.py::test_lib_show"
"commands/test_lib_complex.py::test_lib_stats" "commands/test_lib_complex.py::test_lib_stats"
"commands/test_lib_complex.py::test_search" "commands/test_lib_complex.py::test_search"
"commands/test_test.py::test_local_env"
"commands/test_test.py::test_multiple_env_build"
"commands/test_test.py::test_setup_teardown_are_compilable"
"package/test_manager.py::test_download" "package/test_manager.py::test_download"
"package/test_manager.py::test_install_force" "package/test_manager.py::test_install_force"
"package/test_manager.py::test_install_from_registry" "package/test_manager.py::test_install_from_registry"
@ -132,12 +113,21 @@ with python.pkgs; buildPythonApplication rec {
"test_misc.py::test_platformio_cli" "test_misc.py::test_platformio_cli"
"test_pkgmanifest.py::test_packages" "test_pkgmanifest.py::test_packages"
]) ++ (map (e: "--ignore=tests/${e}") [ ]) ++ (map (e: "--ignore=tests/${e}") [
"commands/pkg/test_install.py"
"commands/pkg/test_list.py"
"commands/pkg/test_outdated.py"
"commands/pkg/test_search.py"
"commands/pkg/test_show.py"
"commands/pkg/test_uninstall.py"
"commands/pkg/test_update.py"
"commands/test_boards.py" "commands/test_boards.py"
"commands/test_check.py" "commands/test_check.py"
"commands/test_platform.py" "commands/test_platform.py"
"commands/test_run.py"
"commands/test_test.py"
"commands/test_update.py" "commands/test_update.py"
"test_maintenance.py"
"test_ino2cpp.py" "test_ino2cpp.py"
"test_maintenance.py"
]) ++ [ ]) ++ [
"tests" "tests"
]; ];

@ -4,14 +4,14 @@
let let
callPackage = newScope self; callPackage = newScope self;
version = "5.2.5"; version = "6.0.1";
# pypi tarballs don't contain tests - https://github.com/platformio/platformio-core/issues/1964 # pypi tarballs don't contain tests - https://github.com/platformio/platformio-core/issues/1964
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "platformio"; owner = "platformio";
repo = "platformio-core"; repo = "platformio-core";
rev = "v${version}"; rev = "v${version}";
sha256 = "1x1jqprwzpb09ca953rqbh2jvizh7bz8yj30krphb6007bnjilwy"; sha256 = "sha256-noLdQctAaMNmfuxI3iybHFx3Q9aTr3gZaUZ+/uO+fnA=";
}; };
self = { self = {

@ -6,7 +6,7 @@ index 416dccfd..896c3649 100644
@staticmethod @staticmethod
@memoized(expire="1h") @memoized(expire="1h")
def load_spdx_licenses(): def load_spdx_licenses():
- version = "3.16" - version = "3.17"
- spdx_data_url = ( - spdx_data_url = (
- "https://raw.githubusercontent.com/spdx/license-list-data/" - "https://raw.githubusercontent.com/spdx/license-list-data/"
- "v%s/json/licenses.json" % version - "v%s/json/licenses.json" % version

@ -1,6 +1,6 @@
{ lib, gccStdenv, fetchFromGitHub, cmake, pkg-config, pcre, zlib, sqlite }: { lib, stdenv, fetchFromGitHub, cmake, pkg-config, pcre, zlib, sqlite }:
gccStdenv.mkDerivation { stdenv.mkDerivation {
pname = "falcon"; pname = "falcon";
version = "unstable-2018-10-23"; version = "unstable-2018-10-23";

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, cmake }: { stdenv, lib, fetchFromGitHub, cmake, fetchpatch }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pe-parse"; pname = "pe-parse";
@ -11,10 +11,14 @@ stdenv.mkDerivation rec {
hash = "sha256-HwWlMRhpB/sa/JRyAZF7LZzkXCCyuxB+gtDAfHt7e6k="; hash = "sha256-HwWlMRhpB/sa/JRyAZF7LZzkXCCyuxB+gtDAfHt7e6k=";
}; };
nativeBuildInputs = [ cmake ]; patches = [
(fetchpatch {
url = "https://github.com/trailofbits/pe-parse/commit/eecdb3d36eb44e306398a2e66e85490f9bdcc74c.patch";
hash = "sha256-pd6D/JMctiQqJxnJU9Nm/GDVf4/CaIGeXx1UfdcCupo=";
})
];
# See https://github.com/trailofbits/pe-parse/issues/169 nativeBuildInputs = [ cmake ];
NIX_CFLAGS_COMPILE = "-Wno-sign-conversion";
doInstallCheck = true; doInstallCheck = true;
installCheckPhase = '' installCheckPhase = ''

@ -0,0 +1,20 @@
{ buildPecl, zlib, lib }:
buildPecl {
pname = "grpc";
version = "1.45.0";
sha256 = "sha256-SPnECBZ80sXfXYiVJjGfOsSxZBBZnasO9pPu9Q5klIg";
doCheck = true;
checkTarget = "test";
nativeBuildInputs = [ zlib ];
meta = with lib; {
description = "A high performance, open source, general RPC framework that puts mobile and HTTP/2 first.";
license = licenses.asl20;
homepage = "https://github.com/grpc/grpc/tree/master/src/php/ext/grpc";
maintainers = teams.php.members;
};
}

@ -30,7 +30,7 @@ buildPythonPackage rec {
markupsafe markupsafe
]; ];
passthru.extras-require = { passthru.optional-dependencies = {
babel = [ babel = [
babel babel
]; ];
@ -39,7 +39,7 @@ buildPythonPackage rec {
checkInputs = [ checkInputs = [
pytestCheckHook pytestCheckHook
mock mock
] ++ passthru.extras-require.babel; ] ++ passthru.optional-dependencies.babel;
disabledTests = lib.optionals isPyPy [ disabledTests = lib.optionals isPyPy [
# https://github.com/sqlalchemy/mako/issues/315 # https://github.com/sqlalchemy/mako/issues/315

@ -33,7 +33,7 @@ buildPythonPackage rec {
rsa rsa
]; ];
passthru.extras-require = { passthru.optional-dependencies = {
async = [ async = [
aiofiles aiofiles
]; ];
@ -47,8 +47,8 @@ buildPythonPackage rec {
pycryptodome pycryptodome
pytestCheckHook pytestCheckHook
] ]
++ passthru.extras-require.async ++ passthru.optional-dependencies.async
++ passthru.extras-require.usb; ++ passthru.optional-dependencies.usb;
disabledTests = lib.optionals (pythonAtLeast "3.10") [ disabledTests = lib.optionals (pythonAtLeast "3.10") [
# Tests are failing with Python 3.10 # Tests are failing with Python 3.10

@ -1,6 +1,7 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, numpy , numpy
, pythonOlder , pythonOlder
}: }:
@ -20,6 +21,14 @@ buildPythonPackage rec {
sha256 = "17c7fm72p085pg9msvsfdggbskvm12a6jlb5bw1cndrqsqcrxywx"; sha256 = "17c7fm72p085pg9msvsfdggbskvm12a6jlb5bw1cndrqsqcrxywx";
}; };
patches = [
# https://github.com/LonePurpleWolf/airtouch4pyapi/pull/10
(fetchpatch {
url = "https://github.com/LonePurpleWolf/airtouch4pyapi/commit/5b5d91fad63495c83422e7a850897946ac95b25d.patch";
hash = "sha256-tVlCLXuOJSqjbs0jj0iHCIXWZE8wmMV3ChzmE6uq3SM=";
})
];
propagatedBuildInputs = [ propagatedBuildInputs = [
numpy numpy
]; ];

@ -28,19 +28,19 @@ buildPythonPackage rec {
pure-python-adb pure-python-adb
]; ];
passthru.extras-require = { passthru.optional-dependencies = {
async = [ async = [
aiofiles aiofiles
]; ];
inherit (adb-shell.extras-require) usb; inherit (adb-shell.optional-dependencies) usb;
}; };
checkInputs = [ checkInputs = [
mock mock
pytestCheckHook pytestCheckHook
] ]
++ passthru.extras-require.async ++ passthru.optional-dependencies.async
++ passthru.extras-require.usb; ++ passthru.optional-dependencies.usb;
disabledTests = [ disabledTests = [
# Requires git but fails anyway # Requires git but fails anyway

@ -68,8 +68,8 @@ buildPythonPackage rec {
mock mock
pytest-asyncio pytest-asyncio
pytestCheckHook pytestCheckHook
] ++ passthru.extras-require.scram ] ++ passthru.optional-dependencies.scram
++ passthru.extras-require.serialization; ++ passthru.optional-dependencies.serialization;
postPatch = '' postPatch = ''
substituteInPlace setup.py \ substituteInPlace setup.py \
@ -89,7 +89,7 @@ buildPythonPackage rec {
"autobahn" "autobahn"
]; ];
passthru.extras-require = rec { passthru.optional-dependencies = rec {
all = accelerate ++ compress ++ encryption ++ nvx ++ serialization ++ scram ++ twisted ++ ui ++ xbr; all = accelerate ++ compress ++ encryption ++ nvx ++ serialization ++ scram ++ twisted ++ ui ++ xbr;
accelerate = [ /* wsaccel */ ]; accelerate = [ /* wsaccel */ ];
compress = [ python-snappy ]; compress = [ python-snappy ];

@ -54,7 +54,7 @@ let
pyyaml pyyaml
] ]
# tls # tls
++ twisted.extras-require.tls; ++ twisted.optional-dependencies.tls;
checkInputs = [ checkInputs = [
treq treq

@ -40,7 +40,7 @@ buildPythonPackage rec {
six six
]; ];
passthru.extras-require = { passthru.optional-dependencies = {
datetime = [ datetime = [
python-dateutil python-dateutil
]; ];

@ -98,7 +98,7 @@ buildPythonPackage rec {
"dask.diagnostics" "dask.diagnostics"
]; ];
passthru.extras-require = { passthru.optional-dependencies = {
complete = [ distributed ]; complete = [ distributed ];
}; };

@ -46,7 +46,7 @@ buildPythonPackage rec {
param param
pyct pyct
scipy scipy
] ++ dask.extras-require.complete; ] ++ dask.optional-dependencies.complete;
checkInputs = [ checkInputs = [
pytestCheckHook pytestCheckHook

@ -27,11 +27,11 @@ buildPythonPackage rec {
pytz pytz
]; ];
passthru.extras-require.taggit = [ passthru.optional-dependencies.taggit = [
django-taggit django-taggit
]; ];
checkInputs = passthru.extras-require.taggit; checkInputs = passthru.optional-dependencies.taggit;
checkPhase = '' checkPhase = ''
runHook preCheck runHook preCheck

@ -49,7 +49,7 @@ buildPythonPackage rec {
pytest-asyncio pytest-asyncio
sqlalchemy sqlalchemy
trio trio
] ++ passlib.extras-require.bcrypt; ] ++ passlib.optional-dependencies.bcrypt;
patches = [ patches = [
# Bump starlette, https://github.com/tiangolo/fastapi/pull/4483 # Bump starlette, https://github.com/tiangolo/fastapi/pull/4483

@ -63,7 +63,7 @@ buildPythonPackage rec {
passlib passlib
]; ];
passthru.extras-require = { passthru.optional-dependencies = {
babel = [ babel = [
babel babel
flask-babel flask-babel
@ -95,10 +95,10 @@ buildPythonPackage rec {
pytestCheckHook pytestCheckHook
zxcvbn zxcvbn
] ]
++ passthru.extras-require.babel ++ passthru.optional-dependencies.babel
++ passthru.extras-require.common ++ passthru.optional-dependencies.common
++ passthru.extras-require.fsqla ++ passthru.optional-dependencies.fsqla
++ passthru.extras-require.mfa; ++ passthru.optional-dependencies.mfa;
pythonImportsCheck = [ "flask_security" ]; pythonImportsCheck = [ "flask_security" ];

@ -42,7 +42,7 @@ buildPythonPackage rec {
sniffio sniffio
]; ];
passthru.extras-require = { passthru.optional-dependencies = {
http2 = [ h2 ]; http2 = [ h2 ];
socks = [ socksio ]; socks = [ socksio ];
}; };
@ -56,8 +56,8 @@ buildPythonPackage rec {
trio trio
trustme trustme
uvicorn uvicorn
] ++ passthru.extras-require.http2 ] ++ passthru.optional-dependencies.http2
++ passthru.extras-require.socks; ++ passthru.optional-dependencies.socks;
pythonImportsCheck = [ "httpcore" ]; pythonImportsCheck = [ "httpcore" ];

@ -38,7 +38,7 @@ buildPythonPackage rec {
python-socks python-socks
]; ];
passthru.extras-require = { passthru.optional-dependencies = {
asyncio = [ async-timeout ]; asyncio = [ async-timeout ];
trio = [ trio ]; trio = [ trio ];
}; };

@ -49,7 +49,7 @@ buildPythonPackage rec {
async_generator async_generator
]; ];
passthru.extras-require = { passthru.optional-dependencies = {
http2 = [ h2 ]; http2 = [ h2 ];
socks = [ socksio ]; socks = [ socksio ];
brotli = if isPyPy then [ brotlicffi ] else [ brotli ]; brotli = if isPyPy then [ brotlicffi ] else [ brotli ];
@ -63,9 +63,9 @@ buildPythonPackage rec {
trustme trustme
typing-extensions typing-extensions
uvicorn uvicorn
] ++ passthru.extras-require.http2 ] ++ passthru.optional-dependencies.http2
++ passthru.extras-require.brotli ++ passthru.optional-dependencies.brotli
++ passthru.extras-require.socks; ++ passthru.optional-dependencies.socks;
postPatch = '' postPatch = ''
substituteInPlace setup.py \ substituteInPlace setup.py \

@ -99,7 +99,7 @@ buildPythonPackage rec {
pytest-mock pytest-mock
pytest-randomly pytest-randomly
pytest-xdist pytest-xdist
] ++ lib.concatMap (name: passthru.extras-require.${name}) testBackends; ] ++ lib.concatMap (name: passthru.optional-dependencies.${name}) testBackends;
preBuild = '' preBuild = ''
# setup.py exists only for developer convenience and is automatically generated # setup.py exists only for developer convenience and is automatically generated
@ -139,7 +139,7 @@ buildPythonPackage rec {
] ++ map (backend: "ibis.backends.${backend}") testBackends; ] ++ map (backend: "ibis.backends.${backend}") testBackends;
passthru = { passthru = {
extras-require = { optional-dependencies = {
clickhouse = [ clickhouse-cityhash clickhouse-driver lz4 ]; clickhouse = [ clickhouse-cityhash clickhouse-driver lz4 ];
dask = [ dask pyarrow ]; dask = [ dask pyarrow ];
datafusion = [ datafusion ]; datafusion = [ datafusion ];

@ -27,7 +27,7 @@ buildPythonPackage rec {
six six
twisted twisted
zope_interface zope_interface
] ++ twisted.extras-require.tls; ] ++ twisted.optional-dependencies.tls;
checkInputs = [ checkInputs = [
twisted twisted

@ -25,8 +25,8 @@ buildPythonPackage rec {
six six
twisted twisted
autobahn autobahn
] ++ autobahn.extras-require.twisted ] ++ autobahn.optional-dependencies.twisted
++ twisted.extras-require.tls; ++ twisted.optional-dependencies.tls;
checkInputs = [ checkInputs = [
treq treq

@ -42,8 +42,8 @@ buildPythonPackage rec {
click click
humanize humanize
txtorcon txtorcon
] ++ autobahn.extras-require.twisted ] ++ autobahn.optional-dependencies.twisted
++ twisted.extras-require.tls; ++ twisted.optional-dependencies.tls;
checkInputs = [ checkInputs = [
mock mock

@ -16,7 +16,7 @@ buildPythonPackage rec {
sha256 = "defd50f72b65c5402ab2c573830a6978e5f202ad0d984793c8dde2c4152ebe04"; sha256 = "defd50f72b65c5402ab2c573830a6978e5f202ad0d984793c8dde2c4152ebe04";
}; };
passthru.extras-require = { passthru.optional-dependencies = {
argon2 = [ argon2-cffi ]; argon2 = [ argon2-cffi ];
bcrypt = [ bcrypt ]; bcrypt = [ bcrypt ];
totp = [ cryptography ]; totp = [ cryptography ];
@ -24,9 +24,9 @@ buildPythonPackage rec {
checkInputs = [ checkInputs = [
pytestCheckHook pytestCheckHook
] ++ passthru.extras-require.argon2 ] ++ passthru.optional-dependencies.argon2
++ passthru.extras-require.bcrypt ++ passthru.optional-dependencies.bcrypt
++ passthru.extras-require.totp; ++ passthru.optional-dependencies.totp;
meta = with lib; { meta = with lib; {
description = "A password hashing library for Python"; description = "A password hashing library for Python";

@ -17,7 +17,7 @@ buildPythonPackage rec {
sha256 = "0kdr7w2fhgjpcf1k3l6an9im583iqkr6v8hb4q1zw30nh3bqkk0f"; sha256 = "0kdr7w2fhgjpcf1k3l6an9im583iqkr6v8hb4q1zw30nh3bqkk0f";
}; };
passthru.extras-require = { passthru.optional-dependencies = {
async = [ async = [
aiofiles aiofiles
]; ];
@ -28,7 +28,7 @@ buildPythonPackage rec {
checkInputs = [ checkInputs = [
pytestCheckHook pytestCheckHook
] ]
++ passthru.extras-require.async; ++ passthru.optional-dependencies.async;
pythonImportsCheck = [ pythonImportsCheck = [
"ppadb.client" "ppadb.client"

@ -25,7 +25,7 @@ buildPythonPackage rec {
pyserial pyserial
]; ];
passthru.extras-require.GATTTOOL = [ passthru.optional-dependencies.GATTTOOL = [
pexpect pexpect
]; ];
@ -34,7 +34,7 @@ buildPythonPackage rec {
nose nose
pytestCheckHook pytestCheckHook
] ]
++ passthru.extras-require.GATTTOOL; ++ passthru.optional-dependencies.GATTTOOL;
postPatch = '' postPatch = ''
# Not support for Python < 3.4 # Not support for Python < 3.4

@ -18,13 +18,13 @@
}: }:
buildPythonPackage rec { buildPythonPackage rec {
version = "1.5.24"; version = "1.5.26";
pname = "pyglet"; pname = "pyglet";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-W0pNXlrVSUbjFJLqxn9ykuUaZXckRkGidxgPkKAZKo4="; sha256 = "sha256-7oxeC1uH34QYjiDlUpguuo2gCUS0xVYPHP3VyXFNGbA=";
extension = "zip"; extension = "zip";
}; };

@ -23,7 +23,7 @@ buildPythonPackage rec {
setuptools-scm setuptools-scm
]; ];
passthru.extras-require = { passthru.optional-dependencies = {
images = [ images = [
pillow pillow
]; ];
@ -38,7 +38,7 @@ buildPythonPackage rec {
checkInputs = [ checkInputs = [
pytestCheckHook pytestCheckHook
] ++ passthru.extras-require.images; ] ++ passthru.optional-dependencies.images;
pythonImportsCheck = [ "barcode" ]; pythonImportsCheck = [ "barcode" ];

@ -11,6 +11,7 @@
, oslo-i18n , oslo-i18n
, wrapt , wrapt
, pyopenssl , pyopenssl
, pythonOlder
, stestr , stestr
, testscenarios , testscenarios
, ddt , ddt
@ -19,11 +20,14 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "python-glanceclient"; pname = "python-glanceclient";
version = "3.6.0"; version = "4.0.0";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-gi1IYtWJL2pltoKTRy5gsHTRwHlp0GHoBMbh1UP5g9o="; hash = "sha256-a3tFLmSKuaKbBQy32EkU7sPIEQtN5gaDqoGT03gka+w=";
}; };
postPatch = '' postPatch = ''
@ -54,7 +58,9 @@ buildPythonApplication rec {
stestr run stestr run
''; '';
pythonImportsCheck = [ "glanceclient" ]; pythonImportsCheck = [
"glanceclient"
];
meta = with lib; { meta = with lib; {
description = "Python bindings for the OpenStack Images API"; description = "Python bindings for the OpenStack Images API";

@ -21,7 +21,7 @@ buildPythonPackage rec {
hash = "sha256-12ol+2CnoPfkxmDGJJAkoafHGpQuWC4lh0N7lSvx2DE="; hash = "sha256-12ol+2CnoPfkxmDGJJAkoafHGpQuWC4lh0N7lSvx2DE=";
}; };
passthru.extras-require = { passthru.optional-dependencies = {
async = [ async = [
aiocoap aiocoap
dtlssocket dtlssocket
@ -31,7 +31,7 @@ buildPythonPackage rec {
checkInputs = [ checkInputs = [
pytestCheckHook pytestCheckHook
] ]
++ passthru.extras-require.async; ++ passthru.optional-dependencies.async;
pythonImportsCheck = [ pythonImportsCheck = [
"pytradfri" "pytradfri"

@ -1,4 +1,5 @@
{ lib { lib
, stdenv
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, pythonOlder , pythonOlder
@ -17,6 +18,7 @@
, matplotlib , matplotlib
, numpy , numpy
, snuggs , snuggs
, setuptools
# tests # tests
, hypothesis , hypothesis
@ -55,6 +57,7 @@ buildPythonPackage rec {
matplotlib matplotlib
numpy numpy
snuggs snuggs
setuptools # needs pkg_resources at runtime
]; ];
preCheck = '' preCheck = ''
@ -73,10 +76,19 @@ buildPythonPackage rec {
"-m 'not network'" "-m 'not network'"
]; ];
disabledTests = lib.optionals stdenv.isDarwin [
"test_reproject_error_propagation"
];
pythonImportsCheck = [ pythonImportsCheck = [
"rasterio" "rasterio"
]; ];
doInstallCheck = true;
installCheckPhase = ''
$out/bin/rio --version | grep ${version} > /dev/null
'';
meta = with lib; { meta = with lib; {
description = "Python package to read and write geospatial raster data"; description = "Python package to read and write geospatial raster data";
homepage = "https://rasterio.readthedocs.io/en/latest/"; homepage = "https://rasterio.readthedocs.io/en/latest/";

@ -43,7 +43,7 @@ buildPythonPackage rec {
importlib-metadata importlib-metadata
]; ];
passthru.extras-require = { passthru.optional-dependencies = {
html = [ html = [
html5lib html5lib
]; ];
@ -55,8 +55,8 @@ buildPythonPackage rec {
checkInputs = [ checkInputs = [
pytestCheckHook pytestCheckHook
] ]
++ passthru.extras-require.networkx ++ passthru.optional-dependencies.networkx
++ passthru.extras-require.html; ++ passthru.optional-dependencies.html;
pytestFlagsArray = [ pytestFlagsArray = [
# requires network access # requires network access

@ -40,7 +40,7 @@ buildPythonPackage rec {
importlib-metadata importlib-metadata
]; ];
passthru.extras-require = { passthru.optional-dependencies = {
hidredis = [ hidredis = [
hiredis hiredis
]; ];

@ -27,14 +27,14 @@ buildPythonPackage rec {
lxml lxml
]; ];
passthru.extras-require = { passthru.optional-dependencies = {
chart = [ /* pycha */ pyyaml ]; chart = [ /* pycha */ pyyaml ];
fodt = [ python-magic ]; fodt = [ python-magic ];
}; };
checkInputs = [ checkInputs = [
pytestCheckHook pytestCheckHook
] ++ passthru.extras-require.fodt; ] ++ passthru.optional-dependencies.fodt;
pythonImportsCheck = [ "relatorio" ]; pythonImportsCheck = [ "relatorio" ];

@ -28,13 +28,13 @@ buildPythonPackage rec {
six six
]; ];
passthru.extras-require = { passthru.optional-dependencies = {
httpx = [ httpx ]; httpx = [ httpx ];
}; };
checkInputs = [ checkInputs = [
pytestCheckHook pytestCheckHook
] ++ passthru.extras-require.httpx; ] ++ passthru.optional-dependencies.httpx;
pythonImportsCheck = [ pythonImportsCheck = [
"requests_aws4auth" "requests_aws4auth"

@ -15,7 +15,7 @@ buildPythonPackage rec {
sha256 = "0ipz3fd65rqkxlb02sql0awc3vnslrwb2pfrsnpfnf8bfgxpbh9g"; sha256 = "0ipz3fd65rqkxlb02sql0awc3vnslrwb2pfrsnpfnf8bfgxpbh9g";
}; };
passthru.extras-require = { passthru.optional-dependencies = {
websocket = [ websocket = [
websocket-client websocket-client
]; ];

@ -39,7 +39,7 @@ buildPythonPackage rec {
websocket-client websocket-client
]; ];
passthru.extras-require = { passthru.optional-dependencies = {
async = [ async = [
aiohttp aiohttp
websockets websockets
@ -55,8 +55,8 @@ buildPythonPackage rec {
pytest-asyncio pytest-asyncio
pytestCheckHook pytestCheckHook
] ]
++ passthru.extras-require.async ++ passthru.optional-dependencies.async
++ passthru.extras-require.encrypted; ++ passthru.optional-dependencies.encrypted;
pythonImportsCheck = [ "samsungtvws" ]; pythonImportsCheck = [ "samsungtvws" ];

@ -20,7 +20,7 @@ buildPythonPackage rec {
requests requests
incremental incremental
twisted twisted
] ++ twisted.extras-require.tls; ] ++ twisted.optional-dependencies.tls;
checkInputs = [ checkInputs = [
httpbin httpbin

@ -53,9 +53,9 @@ buildPythonPackage rec {
weasyprint weasyprint
gevent gevent
pillow pillow
] ++ relatorio.extras-require.fodt ] ++ relatorio.optional-dependencies.fodt
++ passlib.extras-require.bcrypt ++ passlib.optional-dependencies.bcrypt
++ passlib.extras-require.argon2 ++ passlib.optional-dependencies.argon2
++ lib.optional withPostgresql psycopg2; ++ lib.optional withPostgresql psycopg2;
checkPhase = '' checkPhase = ''

@ -41,7 +41,7 @@ buildPythonPackage rec {
propagatedBuildInputs = [ zope_interface incremental automat constantly hyperlink pyhamcrest attrs setuptools typing-extensions ]; 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 ]; tls = [ pyopenssl service-identity idna ];
conch = [ pyasn1 cryptography appdirs bcrypt ]; conch = [ pyasn1 cryptography appdirs bcrypt ];
conch_nacl = conch ++ [ pynacl ]; conch_nacl = conch ++ [ pynacl ];

@ -13,7 +13,7 @@ buildPythonPackage rec {
propagatedBuildInputs = [ propagatedBuildInputs = [
incremental twisted automat zope_interface incremental twisted automat zope_interface
] ++ twisted.extras-require.tls ] ++ twisted.optional-dependencies.tls
++ lib.optionals (!isPy3k) [ ipaddress ]; ++ lib.optionals (!isPy3k) [ ipaddress ];
checkInputs = [ pytestCheckHook mock lsof GeoIP ]; checkInputs = [ pytestCheckHook mock lsof GeoIP ];

@ -43,9 +43,9 @@ buildPythonPackage rec {
cxxfilt cxxfilt
msgpack msgpack
pycparser pycparser
] ++ lib.optionals (withGui) passthru.extras-require.gui; ] ++ lib.optionals (withGui) passthru.optional-dependencies.gui;
passthru.extras-require.gui = [ passthru.optional-dependencies.gui = [
pyqt5 pyqt5
pyqtwebengine pyqtwebengine
]; ];

@ -33,7 +33,7 @@ buildPythonPackage rec {
aiohttp aiohttp
]; ];
passthru.extras-require = { passthru.optional-dependencies = {
console = [ console = [
certifi certifi
docopt docopt
@ -49,7 +49,7 @@ buildPythonPackage rec {
asynctest asynctest
pytest-asyncio pytest-asyncio
pytestCheckHook pytestCheckHook
] ++ passthru.extras-require.mqtt; ] ++ passthru.optional-dependencies.mqtt;
pythonImportsCheck = [ "volvooncall" ]; pythonImportsCheck = [ "volvooncall" ];

@ -46,7 +46,7 @@ buildPythonApplication rec {
pyramid pyramid
strictyaml strictyaml
waitress waitress
] ++ passlib.extras-require.argon2; ] ++ passlib.optional-dependencies.argon2;
checkInputs = [ checkInputs = [
beautifulsoup4 beautifulsoup4

@ -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"; pname = "hammer";
version = "e7aa734"; version = "nightly_20220416";
src = fetchFromGitHub { src = fetchFromGitLab {
owner = "UpstandingHackers"; domain = "gitlab.special-circumstanc.es";
owner = "hammer";
repo = "hammer"; repo = "hammer";
rev = "47f34b81e4de834fd3537dd71928c4f3cdb7f533"; rev = version;
sha256 = "sha256-aNSmbSgcABF9T1HoFhCnkmON4hY2MtUs7dW38+HigAY="; sha256 = "sha256-xMZhUnycGeHkNZfHQ2d9mETti8HwGHZNskFqh9f0810=";
}; };
nativeBuildInputs = [ pkg-config scons ]; nativeBuildInputs = [ pkg-config scons ];
buildInputs = [ glib ]; buildInputs = [ glib ];
strictDeps = true;
meta = with lib; { meta = with lib; {
description = "A bit-oriented parser combinator library"; description = "A bit-oriented parser combinator library";
longDescription = '' longDescription = ''
Hammer is a parsing library. Like many modern parsing libraries, Hammer is a parsing library. Like many modern parsing libraries, it
it provides a parser combinator interface for writing grammars provides a parser combinator interface for writing grammars as inline
as inline domain-specific languages, but Hammer also provides a domain-specific languages, but Hammer also provides a variety of parsing
variety of parsing backends. It's also bit-oriented rather than backends. It's also bit-oriented rather than character-oriented, making it
character-oriented, making it ideal for parsing binary data such ideal for parsing binary data such as images, network packets, audio, and
as images, network packets, audio, and executables. executables.
''; '';
homepage = "https://github.com/UpstandingHackers/hammer"; homepage = "https://gitlab.special-circumstanc.es/hammer/hammer";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; maintainers = with maintainers; [ azahi ];
}; };
} }

@ -118,9 +118,9 @@
androidtv androidtv
pure-python-adb pure-python-adb
] ]
++ adb-shell.extras-require.async ++ adb-shell.optional-dependencies.async
++ androidtv.extras-require.async ++ androidtv.optional-dependencies.async
++ pure-python-adb.extras-require.async; ++ pure-python-adb.optional-dependencies.async;
"anel_pwrctrl" = ps: with ps; [ "anel_pwrctrl" = ps: with ps; [
]; # missing inputs: anel_pwrctrl-homeassistant ]; # missing inputs: anel_pwrctrl-homeassistant
"anthemav" = ps: with ps; [ "anthemav" = ps: with ps; [
@ -279,7 +279,7 @@
"bluetooth_le_tracker" = ps: with ps; [ "bluetooth_le_tracker" = ps: with ps; [
pygatt pygatt
] ]
++ pygatt.extras-require.GATTTOOL; ++ pygatt.optional-dependencies.GATTTOOL;
"bluetooth_tracker" = ps: with ps; [ "bluetooth_tracker" = ps: with ps; [
bt-proximity bt-proximity
pybluez pybluez
@ -2273,9 +2273,9 @@
wakeonlan wakeonlan
zeroconf zeroconf
] ]
++ samsungctl.extras-require.websocket ++ samsungctl.optional-dependencies.websocket
++ samsungtvws.extras-require.async ++ samsungtvws.optional-dependencies.async
++ samsungtvws.extras-require.encrypted; ++ samsungtvws.optional-dependencies.encrypted;
"satel_integra" = ps: with ps; [ "satel_integra" = ps: with ps; [
]; # missing inputs: satel_integra ]; # missing inputs: satel_integra
"scene" = ps: with ps; [ "scene" = ps: with ps; [
@ -2388,7 +2388,7 @@
"skybeacon" = ps: with ps; [ "skybeacon" = ps: with ps; [
pygatt pygatt
] ]
++ pygatt.extras-require.GATTTOOL; ++ pygatt.optional-dependencies.GATTTOOL;
"skybell" = ps: with ps; [ "skybell" = ps: with ps; [
skybellpy skybellpy
]; ];
@ -2769,7 +2769,7 @@
"tradfri" = ps: with ps; [ "tradfri" = ps: with ps; [
pytradfri pytradfri
] ]
++ pytradfri.extras-require.async; ++ pytradfri.optional-dependencies.async;
"trafikverket_ferry" = ps: with ps; [ "trafikverket_ferry" = ps: with ps; [
pytrafikverket pytrafikverket
]; ];

@ -103,13 +103,13 @@ def repository_root() -> str:
return os.path.abspath(sys.argv[0] + "/../../../..") 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): def has_extra(package: str, extra: str):
cmd = [ cmd = [
"nix-instantiate", "nix-instantiate",
repository_root(), repository_root(),
"-A", "-A",
f"{package}.extras-require.{extra}", f"{package}.optional-dependencies.{extra}",
] ]
try: try:
subprocess.run( subprocess.run(
@ -209,7 +209,7 @@ def main() -> None:
attr_paths.append(pname) attr_paths.append(pname)
for extra in extras: for extra in extras:
# Check if package advertises extra requirements # 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): if has_extra(attr_path, extra):
extra_attrs.append(extra_attr) extra_attrs.append(extra_attr)
else: else:

@ -71,7 +71,6 @@ in lib.listToAttrs (map (component: lib.nameValuePair component (
meta = old.meta // { meta = old.meta // {
broken = lib.elem component [ broken = lib.elem component [
"airtouch4"
"bsblan" "bsblan"
"dnsip" "dnsip"
"efergy" "efergy"

@ -165,7 +165,7 @@ stdenv.mkDerivation {
passthru = { passthru = {
modules = modules; modules = modules;
tests = { 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; variants = lib.recurseIntoAttrs nixosTests.nginx-variants;
acme-integration = nixosTests.acme; acme-integration = nixosTests.acme;
} // passthru.tests; } // passthru.tests;

@ -21,7 +21,7 @@ python3.pkgs.buildPythonApplication rec {
vobject vobject
python-dateutil python-dateutil
pytz # https://github.com/Kozea/Radicale/issues/816 pytz # https://github.com/Kozea/Radicale/issues/816
] ++ passlib.extras-require.bcrypt; ] ++ passlib.optional-dependencies.bcrypt;
checkInputs = with python3.pkgs; [ checkInputs = with python3.pkgs; [
pytestCheckHook pytestCheckHook

@ -11,7 +11,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "roon-bridge"; pname = "roon-bridge";
version = "1.8-918"; version = "1.8-943";
src = src =
let let
@ -21,11 +21,11 @@ stdenv.mkDerivation rec {
{ {
x86_64-linux = fetchurl { x86_64-linux = fetchurl {
url = "http://download.roonlabs.com/builds/RoonBridge_linuxx64_${urlVersion}.tar.bz2"; url = "http://download.roonlabs.com/builds/RoonBridge_linuxx64_${urlVersion}.tar.bz2";
hash = "sha256-Tx8KmGKh6BNoo2RKJm0HfPHRXiFsz+FtX5gQZ1FCEEg="; hash = "sha256-knmy2zlRh+ehvYKHC7UN60pMCt8bYPuo9kTz2m0pOW0";
}; };
aarch64-linux = fetchurl { aarch64-linux = fetchurl {
url = "http://download.roonlabs.com/builds/RoonBridge_linuxarmv8_${urlVersion}.tar.bz2"; 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}"); }.${system} or (throw "Unsupposed system: ${system}");

@ -16,7 +16,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "roon-server"; pname = "roon-server";
version = "1.8-935"; version = "1.8-943";
src = src =
let let
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
in in
fetchurl { fetchurl {
url = "http://download.roonlabs.com/builds/RoonServer_linuxx64_${urlVersion}.tar.bz2"; url = "http://download.roonlabs.com/builds/RoonServer_linuxx64_${urlVersion}.tar.bz2";
hash = "sha256-6I612imOCqxVlNu6zCXWS/Yy8bnot+0723t3Se4DjLg="; hash = "sha256-osQ0/HhcSO6pirUDjOnw0yUsGUsxZI62ViHc6Lb/rT4=";
}; };
dontConfigure = true; dontConfigure = true;

@ -238,27 +238,27 @@ in stdenv.mkDerivation (common // {
in { in {
mariadb_104 = mariadbPackage { mariadb_104 = mariadbPackage {
# Supported until 2024-06-18 # Supported until 2024-06-18
version = "10.4.24"; version = "10.4.25";
sha256 = "0ipqilri8isn0mfvwg8imwf36zm3jsw0wf2yx905c2bznd8mb5zy"; sha256 = "1y3ym8pb0pyra3dwy8sbzc4656c4y7g1savgyrsvf1mw2573r5pz";
}; };
mariadb_105 = mariadbPackage { mariadb_105 = mariadbPackage {
# Supported until 2025-06-24 # Supported until 2025-06-24
version = "10.5.15"; version = "10.5.16";
sha256 = "0nfvyxb157qsbl0d1i5gfzr2hb1nm0iv58f7qcbk5kkhz0vyv049"; sha256 = "19nj7ilk1aqs9zvvzhx4619pgfqjp7ac90ffr3fdaw4viljqfgn1";
}; };
mariadb_106 = mariadbPackage { mariadb_106 = mariadbPackage {
# Supported until 2026-07 # Supported until 2026-07
version = "10.6.7"; version = "10.6.8";
sha256 = "1idjnkjfkjvyr6r899xbiwq9wwbs84cm85mbc725yxjshqghzvkm"; sha256 = "0f6lkvv0dbq64y7zpks7nvhy1n08gad0i0dp0s2zpgfcb62liaap";
}; };
mariadb_107 = mariadbPackage { mariadb_107 = mariadbPackage {
# Supported until 2023-02 # Supported until 2023-02
version = "10.7.3"; version = "10.7.4";
sha256 = "1m2wa67vvdm61ap8spl18b9vqkmsnq4rfd0248l17jf9zwcnja6s"; sha256 = "0ws17azsw3f26pkphjkyxmmi9qbv9gwidvz0ll6g482m6afrrpbk";
}; };
mariadb_108 = mariadbPackage { mariadb_108 = mariadbPackage {
# Supported until 2023-05 # Supported until 2023-05
version = "10.8.2"; version = "10.8.3";
sha256 = "0v4mms3mihylnqlc0ifvwzykah6lkdd39lmxbv5vnhbsh7wggq0l"; sha256 = "14h80lfb9b3rv3fd8nkljbqhx6dmwjnqkz6c3ynixb3na72sszl8";
}; };
} }

@ -15,13 +15,13 @@
python3.pkgs.buildPythonPackage rec { python3.pkgs.buildPythonPackage rec {
pname = "nautilus-open-any-terminal"; pname = "nautilus-open-any-terminal";
version = "0.2.16"; version = "0.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Stunkymonkey"; owner = "Stunkymonkey";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-g5B+tp131vmjShBCGrKR5ZQCjtJY823/kPacZ0S9E80="; sha256 = "sha256-PF6DVpiAPL9NG4jK6wDqdqYw+26Nks/bGEbbaV/5aIs=";
}; };
patches = [ ./hardcode-gsettings.patch ]; patches = [ ./hardcode-gsettings.patch ];

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, pkg-config, perl { lib, stdenv, fetchurl, pkg-config, perl, nixosTests
, brotliSupport ? false, brotli ? null , brotliSupport ? false, brotli ? null
, c-aresSupport ? false, c-ares ? null , c-aresSupport ? false, c-ares ? null
, gnutlsSupport ? false, gnutls ? null , gnutlsSupport ? false, gnutls ? null
@ -177,6 +177,8 @@ stdenv.mkDerivation rec {
''; '';
passthru = { passthru = {
# Additional checking with support http3 protocol.
tests.nginx-http3 = nixosTests.nginx-http3;
inherit opensslSupport openssl; inherit opensslSupport openssl;
tests = { tests = {
inherit curlpp coeurl; inherit curlpp coeurl;

@ -60,8 +60,8 @@ python3Packages.buildPythonApplication rec {
html5lib magic-wormhole netifaces pyasn1 pycrypto pyutil pyyaml recommonmark html5lib magic-wormhole netifaces pyasn1 pycrypto pyutil pyyaml recommonmark
service-identity simplejson sphinx_rtd_theme testtools treq twisted zfec service-identity simplejson sphinx_rtd_theme testtools treq twisted zfec
zope_interface zope_interface
] ++ twisted.extras-require.tls ] ++ twisted.optional-dependencies.tls
++ twisted.extras-require.conch; ++ twisted.optional-dependencies.conch;
checkInputs = with python3Packages; [ mock hypothesis twisted ]; checkInputs = with python3Packages; [ mock hypothesis twisted ];

@ -68,6 +68,6 @@ python3.pkgs.buildPythonApplication rec {
license = licenses.gpl2Only; license = licenses.gpl2Only;
homepage = "https://github.com/chipsec/chipsec"; homepage = "https://github.com/chipsec/chipsec";
maintainers = with maintainers; [ johnazoidberg ]; maintainers = with maintainers; [ johnazoidberg ];
platforms = if withDriver then [ "x86_64-linux" ] else platforms.all; platforms = [ "x86_64-linux" ] ++ lib.optional (!withDriver) "x86_64-darwin";
}; };
} }

@ -13,7 +13,7 @@
buildGoModule rec { buildGoModule rec {
pname = "gopass"; pname = "gopass";
version = "1.14.1"; version = "1.14.2";
nativeBuildInputs = [ installShellFiles makeWrapper ]; nativeBuildInputs = [ installShellFiles makeWrapper ];
@ -21,10 +21,10 @@ buildGoModule rec {
owner = "gopasspw"; owner = "gopasspw";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-vdMOD6Zrl718jcntjEzOG+4Rr0aqhm0YidA0x3Gseqg="; sha256 = "sha256-JhLFax0UR/AVl/736pdsAyyQF/555YmLWLnZrsLDjlA=";
}; };
vendorSha256 = "sha256-mdPAZrcdlq7R7DRIfuxf4PCpEJoJjzo/+TDKAVglk7A="; vendorSha256 = "sha256-ESIlmY3SzmfWLqLxf62dOhAsHPOKc2YYSOhzpJCjvCQ=";
subPackages = [ "." ]; subPackages = [ "." ];
@ -57,7 +57,7 @@ buildGoModule rec {
description = "The slightly more awesome Standard Unix Password Manager for Teams. Written in Go"; description = "The slightly more awesome Standard Unix Password Manager for Teams. Written in Go";
homepage = "https://www.gopass.pw/"; homepage = "https://www.gopass.pw/";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ rvolosatovs ]; maintainers = with maintainers; [ rvolosatovs sikmir ];
changelog = "https://github.com/gopasspw/gopass/raw/v${version}/CHANGELOG.md"; changelog = "https://github.com/gopasspw/gopass/raw/v${version}/CHANGELOG.md";
longDescription = '' longDescription = ''

@ -39,8 +39,8 @@ python3.pkgs.buildPythonApplication rec {
yaswfp yaswfp
] ++ lib.optionals (python3.pythonOlder "3.8") [ ] ++ lib.optionals (python3.pythonOlder "3.8") [
importlib-metadata importlib-metadata
] ++ httpx.extras-require.brotli ] ++ httpx.optional-dependencies.brotli
++ httpx.extras-require.socks; ++ httpx.optional-dependencies.socks;
checkInputs = with python3.pkgs; [ checkInputs = with python3.pkgs; [
respx respx

@ -1,4 +1,11 @@
{ lib, fetchFromGitHub, rustPlatform, tree-sitter, difftastic, testers }: { lib
, fetchFromGitHub
, fetchpatch
, rustPlatform
, tree-sitter
, difftastic
, testers
}:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "difftastic"; pname = "difftastic";
@ -11,7 +18,29 @@ rustPlatform.buildRustPackage rec {
sha256 = "sha256-jdkyDsuOOG1dJmgRmMp2KhY9ermccjrxK2JAIzpO6nw="; 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; }; passthru.tests.version = testers.testVersion { package = difftastic; };

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, cmake, libxslt }: { lib, stdenv, fetchFromGitHub, fetchpatch, cmake, libxslt, html-tidy }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "html-tidy"; pname = "html-tidy";
@ -11,9 +11,18 @@ stdenv.mkDerivation rec {
sha256 = "sha256-ZMz0NySxzX2XHiqB8f5asvwjIG6kdIcq8Gb3EbAxBaU="; 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. # ATM bin/tidy is statically linked, as upstream provides no other option yet.
# https://github.com/htacg/tidy-html5/issues/326#issuecomment-160322107 # https://github.com/htacg/tidy-html5/issues/326#issuecomment-160322107

@ -13061,7 +13061,9 @@ with pkgs;
hop = callPackage ../development/compilers/hop { }; hop = callPackage ../development/compilers/hop { };
falcon = callPackage ../development/interpreters/falcon { }; falcon = callPackage ../development/interpreters/falcon {
stdenv = gcc10Stdenv;
};
fsharp = callPackage ../development/compilers/fsharp { }; fsharp = callPackage ../development/compilers/fsharp { };

@ -212,6 +212,8 @@ lib.makeScope pkgs.newScope (self: with self; {
gnupg = callPackage ../development/php-packages/gnupg { }; gnupg = callPackage ../development/php-packages/gnupg { };
grpc = callPackage ../development/php-packages/grpc { };
igbinary = callPackage ../development/php-packages/igbinary { }; igbinary = callPackage ../development/php-packages/igbinary { };
imagick = callPackage ../development/php-packages/imagick { }; imagick = callPackage ../development/php-packages/imagick { };

Loading…
Cancel
Save