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
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

@ -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 {};

@ -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
, fetchFromGitHub
, fetchpatch
, lib
, libusb1
, mkDerivation
@ -21,6 +22,16 @@ mkDerivation rec {
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 ];
buildInputs = [ libusb1 python3 qtbase udev zlib ];

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

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

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

@ -16,12 +16,12 @@ with lib;
buildGoPackage rec {
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
src = fetchurl {
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 = ''

@ -24,6 +24,7 @@
# Specify binaries to build in the form { foo.src = "src/foo.cr"; }
# The default `crystal build` options can be overridden with { foo.options = [ "--optionname" ]; }
, crystalBinaries ? { }
, enableParallelBuilding ? true
, ...
}@args:
@ -51,6 +52,20 @@ let
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
stdenv.mkDerivation (mkDerivationArgs // {
@ -72,6 +87,7 @@ stdenv.mkDerivation (mkDerivationArgs // {
PREFIX = placeholder "out";
inherit enableParallelBuilding;
strictDeps = true;
buildInputs = args.buildInputs or [ ] ++ [ crystal ];
@ -88,16 +104,7 @@ stdenv.mkDerivation (mkDerivationArgs // {
"runHook preBuild"
] ++ lib.optional (format == "make")
"make \${buildTargets:-build} $makeFlags"
++ lib.optionals (format == "crystal") (lib.mapAttrsToList
(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.optionals (format == "crystal") (lib.mapAttrsToList mkCrystalBuildArgs crystalBinaries)
++ lib.optional (format == "shards")
"shards build --local --production ${lib.concatStringsSep " " (args.options or defaultOptions)}"
++ [ "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 = [
"CC=${stdenv.cc.targetPrefix}cc"
"CFLAGS=-O2"

@ -9,32 +9,13 @@
let
python = python3.override {
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 {
version = "0.18.0";
version = "0.20.0";
src = fetchFromGitHub {
owner = "encode";
repo = "starlette";
rev = version;
sha256 = "1dpj33cggjjvpd3qdf6hv04z5ckcn9f5dfn98p5a8hx262kgsr9p";
};
});
uvicorn = super.uvicorn.overridePythonAttrs (oldAttrs: rec {
version = "0.17.0";
src = fetchFromGitHub {
owner = "encode";
repo = "uvicorn";
rev = version;
sha256 = "142x8skb1yfys6gndfaay2r240j56dkr006p49pw4y9i0v85kynp";
sha256 = "sha256-bSgPjKqM262PSufz1LHwrdM+uU8xO55Mifv66HRN02Y=";
};
});
};
@ -75,6 +56,8 @@ with python.pkgs; buildPythonApplication rec {
];
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_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_enable_auto_uploading"
"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_vscode"
"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_stats"
"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_install_force"
"package/test_manager.py::test_install_from_registry"
@ -132,12 +113,21 @@ with python.pkgs; buildPythonApplication rec {
"test_misc.py::test_platformio_cli"
"test_pkgmanifest.py::test_packages"
]) ++ (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_check.py"
"commands/test_platform.py"
"commands/test_run.py"
"commands/test_test.py"
"commands/test_update.py"
"test_maintenance.py"
"test_ino2cpp.py"
"test_maintenance.py"
]) ++ [
"tests"
];

@ -4,14 +4,14 @@
let
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
src = fetchFromGitHub {
owner = "platformio";
repo = "platformio-core";
rev = "v${version}";
sha256 = "1x1jqprwzpb09ca953rqbh2jvizh7bz8yj30krphb6007bnjilwy";
sha256 = "sha256-noLdQctAaMNmfuxI3iybHFx3Q9aTr3gZaUZ+/uO+fnA=";
};
self = {

@ -6,7 +6,7 @@ index 416dccfd..896c3649 100644
@staticmethod
@memoized(expire="1h")
def load_spdx_licenses():
- version = "3.16"
- version = "3.17"
- spdx_data_url = (
- "https://raw.githubusercontent.com/spdx/license-list-data/"
- "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";
version = "unstable-2018-10-23";

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, cmake }:
{ stdenv, lib, fetchFromGitHub, cmake, fetchpatch }:
stdenv.mkDerivation rec {
pname = "pe-parse";
@ -11,10 +11,14 @@ stdenv.mkDerivation rec {
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
NIX_CFLAGS_COMPILE = "-Wno-sign-conversion";
nativeBuildInputs = [ cmake ];
doInstallCheck = true;
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
];
passthru.extras-require = {
passthru.optional-dependencies = {
babel = [
babel
];
@ -39,7 +39,7 @@ buildPythonPackage rec {
checkInputs = [
pytestCheckHook
mock
] ++ passthru.extras-require.babel;
] ++ passthru.optional-dependencies.babel;
disabledTests = lib.optionals isPyPy [
# https://github.com/sqlalchemy/mako/issues/315

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -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

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

@ -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" ];

@ -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"

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

@ -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" ];

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

@ -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 = ''

@ -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 ];

@ -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 ];

@ -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
];

@ -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" ];

@ -46,7 +46,7 @@ buildPythonApplication rec {
pyramid
strictyaml
waitress
] ++ passlib.extras-require.argon2;
] ++ passlib.optional-dependencies.argon2;
checkInputs = [
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";
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 ];
};
}

@ -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
];

@ -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:

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

@ -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;

@ -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

@ -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}");

@ -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;

@ -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";
};
}

@ -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 ];

@ -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;

@ -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 ];

@ -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";
};
}

@ -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 = ''

@ -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

@ -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; };

@ -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

@ -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 { };

@ -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 { };

Loading…
Cancel
Save