diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index acbd83369c52..be13f14bc5c7 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -12512,6 +12512,16 @@ fingerprint = "61AE D40F 368B 6F26 9DAE 3892 6861 6B2D 8AC4 DCC5"; }]; }; + zenithal = { + name = "zenithal"; + email = "i@zenithal.me"; + github = "ZenithalHourlyRate"; + githubId = 19512674; + keys = [{ + longkeyid = "rsa4096/0x87E17EEF9B18B6C9"; + fingerprint = "1127 F188 280A E312 3619 3329 87E1 7EEF 9B18 B6C9"; + }]; + }; zeri = { name = "zeri"; email = "68825133+zeri42@users.noreply.github.com"; diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index 9692e409a98b..704fc15fe207 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -263,6 +263,7 @@ in script = config.system.userActivationScripts.script; unitConfig.ConditionUser = "!@system"; serviceConfig.Type = "oneshot"; + wantedBy = [ "default.target" ]; }; }; }; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 4836bce97528..52b8b9a70483 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -461,6 +461,7 @@ in unit-php = handleTest ./web-servers/unit-php.nix {}; upnp = handleTest ./upnp.nix {}; usbguard = handleTest ./usbguard.nix {}; + user-activation-scripts = handleTest ./user-activation-scripts.nix {}; uwsgi = handleTest ./uwsgi.nix {}; v2ray = handleTest ./v2ray.nix {}; vault = handleTest ./vault.nix {}; diff --git a/nixos/tests/user-activation-scripts.nix b/nixos/tests/user-activation-scripts.nix new file mode 100644 index 000000000000..0de8664c5ef0 --- /dev/null +++ b/nixos/tests/user-activation-scripts.nix @@ -0,0 +1,33 @@ +import ./make-test-python.nix ({ lib, ... }: { + name = "user-activation-scripts"; + meta = with lib.maintainers; { maintainers = [ chkno ]; }; + + machine = { + system.userActivationScripts.foo = "mktemp ~/user-activation-ran.XXXXXX"; + users.users.alice = { + initialPassword = "pass1"; + isNormalUser = true; + }; + }; + + testScript = '' + def verify_user_activation_run_count(n): + machine.succeed( + '[[ "$(find /home/alice/ -name user-activation-ran.\\* | wc -l)" == %s ]]' % n + ) + + + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("getty@tty1.service") + machine.wait_until_tty_matches(1, "login: ") + machine.send_chars("alice\n") + machine.wait_until_tty_matches(1, "Password: ") + machine.send_chars("pass1\n") + machine.send_chars("touch login-ok\n") + machine.wait_for_file("/home/alice/login-ok") + verify_user_activation_run_count(1) + + machine.succeed("/run/current-system/bin/switch-to-configuration test") + verify_user_activation_run_count(2) + ''; +}) diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix index 15da60ad3f82..5231b0a0f933 100644 --- a/pkgs/applications/networking/browsers/palemoon/default.nix +++ b/pkgs/applications/networking/browsers/palemoon/default.nix @@ -1,6 +1,6 @@ { stdenv , lib -, fetchFromGitHub +, fetchzip , writeScript , alsa-lib , autoconf213 @@ -52,15 +52,12 @@ let in stdenv.mkDerivation rec { pname = "palemoon"; - version = "29.4.0.2"; + version = "29.4.1"; - src = fetchFromGitHub { - githubBase = "repo.palemoon.org"; - owner = "MoonchildProductions"; - repo = "Pale-Moon"; - rev = "${version}_Release"; - sha256 = "086f517xkk4smx57klyyvx4m3g6r5f1667w990zhpapbh997hfri"; - fetchSubmodules = true; + src = fetchzip { + url = "http://archive.palemoon.org/source/palemoon-${version}-source.tar.xz"; + stripRoot = false; + sha256 = "0kb9yn1q8rrmnlsyvxvv2gdgyyf12g6rxlyh82lmc0gysvd4qd2c"; }; passthru.updateScript = writeScript "update-${pname}" '' diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix index 2db814c635f0..e49d0450d900 100644 --- a/pkgs/applications/networking/cluster/minikube/default.nix +++ b/pkgs/applications/networking/cluster/minikube/default.nix @@ -11,9 +11,9 @@ buildGoModule rec { pname = "minikube"; - version = "1.22.0"; + version = "1.23.0"; - vendorSha256 = "sha256-zAXEwGJ3dnqN/+3k189zqppdiNHPyJ+mdZvDNEWQLsA="; + vendorSha256 = "sha256-KhUmyQn97rXX49EFqUrR7UEm0J5gIdogUJMVW1Wjrdw="; doCheck = false; @@ -21,7 +21,7 @@ buildGoModule rec { owner = "kubernetes"; repo = "minikube"; rev = "v${version}"; - sha256 = "sha256-wL/HsdV6MZcsR3Y8pGZ5WYUMJ7j+VyJGpLeLIXm5MJM="; + sha256 = "sha256-Cf77qaAsavkSpSoBJz3kcPzL2SL7X9O9lCTYcm1tFFQ="; }; nativeBuildInputs = [ installShellFiles pkg-config which ]; diff --git a/pkgs/applications/science/biology/bowtie/default.nix b/pkgs/applications/science/biology/bowtie/default.nix index 0722ffe09fc9..81cdaecf2c1c 100644 --- a/pkgs/applications/science/biology/bowtie/default.nix +++ b/pkgs/applications/science/biology/bowtie/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "bowtie"; - version = "1.3.0"; + version = "1.3.1"; src = fetchFromGitHub { owner = "BenLangmead"; repo = pname; rev = "v${version}"; - sha256 = "0da2kzyfsn6xv8mlqsv2vv7k8g0c9d2vgqzq8yqk888yljdzcrjp"; + sha256 = "sha256-mWItmrTMPst/NnzSpxxTHcBztDqHPCza9yOsZPwp7G4="; }; buildInputs = [ zlib ]; diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix index 1c1a0fb3d84c..4abc2b6546aa 100644 --- a/pkgs/applications/video/streamlink/default.nix +++ b/pkgs/applications/video/streamlink/default.nix @@ -2,6 +2,7 @@ , python3Packages , rtmpdump , ffmpeg +, fetchpatch }: python3Packages.buildPythonApplication rec { @@ -33,11 +34,14 @@ python3Packages.buildPythonApplication rec { ffmpeg ]; - # note that upstream currently uses requests 2.25.1 in Windows builds - postPatch = '' - substituteInPlace setup.py \ - --replace 'requests>=2.26.0,<3.0' 'requests' - ''; + patches = [ + # Patch failing tests to expect correct Accept-Encoding as generated by Requests + (fetchpatch { + url = "https://github.com/streamlink/streamlink/commit/ae747a113199c119bced4613d33edcc67a222bb9.patch"; + includes = [ "tests/test_stream_json.py" ]; + sha256 = "sha256-KEgyWdh5DNgNktmLSvKQowUQO9p9Q7zP4NbCQJPNgKw="; + }) + ]; meta = with lib; { homepage = "https://streamlink.github.io/"; diff --git a/pkgs/development/libraries/science/math/openlibm/default.nix b/pkgs/development/libraries/science/math/openlibm/default.nix index 34ebc36ebb92..0252b7baa162 100644 --- a/pkgs/development/libraries/science/math/openlibm/default.nix +++ b/pkgs/development/libraries/science/math/openlibm/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "openlibm"; - version = "0.7.5"; + version = "0.8.0"; src = fetchurl { url = "https://github.com/JuliaLang/openlibm/archive/v${version}.tar.gz"; - sha256 = "sha256-vpg7nh5A5pbou7frj2N208oK5nWubYKTZUA4Ww7uwVs="; + sha256 = "sha256-A2IHaN9MpSamPdZ1xt6VpcnRZ/9ZVVzlemHGv0nkAO4="; }; makeFlags = [ "prefix=$(out)" ]; diff --git a/pkgs/development/python-modules/aiobotocore/default.nix b/pkgs/development/python-modules/aiobotocore/default.nix index 591fd8c17874..f6024c953fda 100644 --- a/pkgs/development/python-modules/aiobotocore/default.nix +++ b/pkgs/development/python-modules/aiobotocore/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { # relax version constraints: aiobotocore works with newer botocore versions # the pinning used to match some `extras_require` we're not using. postPatch = '' - substituteInPlace setup.py --replace 'botocore>=1.20.49,<1.20.50' 'botocore' + substituteInPlace setup.py --replace 'botocore>=1.20.106,<1.20.107' 'botocore' ''; propagatedBuildInputs = [ wrapt aiohttp aioitertools botocore ]; diff --git a/pkgs/development/tools/pscale/default.nix b/pkgs/development/tools/pscale/default.nix index 2e7a68a698c5..8b8cbffe2775 100644 --- a/pkgs/development/tools/pscale/default.nix +++ b/pkgs/development/tools/pscale/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "pscale"; - version = "0.68.0"; + version = "0.72.0"; src = fetchFromGitHub { owner = "planetscale"; repo = "cli"; rev = "v${version}"; - sha256 = "sha256-SAKbz33Fpi3sQcqwD2UK5wloJqNs2HohsiGMl1gkfA0="; + sha256 = "sha256-+T1C7qLXSmdpx9uHFK3o4hzaAImd5or/MkE3PB8ZiAs="; }; - vendorSha256 = "sha256-dEkCJe6qiyB/pNh78o2/TTRmWQDsUV2TsXiuchC1JLA="; + vendorSha256 = "sha256-7VtDAln/uGalio0pcpqh8XLC0+72dokF+4SmuhPF8AY="; meta = with lib; { homepage = "https://www.planetscale.com/"; diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/misc/vscode-extensions/default.nix index 92c530432a89..0a8174689577 100644 --- a/pkgs/misc/vscode-extensions/default.nix +++ b/pkgs/misc/vscode-extensions/default.nix @@ -393,6 +393,23 @@ let }; }; + denoland.vscode-deno = buildVscodeMarketplaceExtension { + mktplcRef = { + name = "vscode-deno"; + publisher = "denoland"; + version = "3.9.1"; + sha256 = "sha256-OuGTjmJQFAWrYp7YnFpyo0NnnCcXYF8itYjGKMa3FCs="; + }; + meta = with lib; { + changelog = "https://marketplace.visualstudio.com/items/denoland.vscode-deno/changelog"; + description = "A language server client for Deno"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno"; + homepage = "https://github.com/denoland/vscode_deno"; + license = licenses.mit; + maintainers = with maintainers; [ ratsclub ]; + }; + }; + dhall.dhall-lang = buildVscodeMarketplaceExtension { mktplcRef = { name = "dhall-lang"; diff --git a/pkgs/servers/gerbera/default.nix b/pkgs/servers/gerbera/default.nix index 04043600e961..50ceb77829d9 100644 --- a/pkgs/servers/gerbera/default.nix +++ b/pkgs/servers/gerbera/default.nix @@ -65,13 +65,13 @@ let in stdenv.mkDerivation rec { pname = "gerbera"; - version = "1.9.0"; + version = "1.9.1"; src = fetchFromGitHub { repo = "gerbera"; owner = "gerbera"; rev = "v${version}"; - sha256 = "sha256-2nSxc5Tvy5EXYH1FqR455r84Y07Jg0sOgIScuAdDn6Q="; + sha256 = "sha256-FtUKj3IhLMRs3VzawFgy6rnd+beW+Kvzq6tk8wPv7pw="; }; postPatch = lib.optionalString enableMysql '' diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 9cd83d69eec3..866bbe25a866 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -743,7 +743,7 @@ in with py.pkgs; buildPythonApplication rec { pytestFlagsArray = [ # parallelize test run - "--numprocesses auto" + "--numprocesses $NIX_BUILD_CORES" # assign tests grouped by file to workers "--dist loadfile" # retry racy tests that end in "RuntimeError: Event loop is closed" diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix index 16c6e0fc8a07..073d61a3d4c0 100644 --- a/pkgs/tools/audio/abcmidi/default.nix +++ b/pkgs/tools/audio/abcmidi/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "abcMIDI"; - version = "2021.06.27"; + version = "2021.09.15"; src = fetchzip { url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip"; - sha256 = "sha256-tLKxs1p1CIU/2XV1fMgWrwdtePeXOBZUMjz46kgp9C0="; + sha256 = "sha256-BrEgvrAHNfJpFTlI8tec+9w3G+5YR15lbzh/RKKpQ1c="; }; meta = with lib; { diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix index 9cb2d1dea0da..e2c90ef05308 100644 --- a/pkgs/tools/misc/yt-dlp/default.nix +++ b/pkgs/tools/misc/yt-dlp/default.nix @@ -27,12 +27,6 @@ buildPythonPackage rec { sha256 = "sha256-yn53zbBVuiaD31sIB6qxweEgy+AsjzXZ0yk9lNva6mM="; }; - # build_lazy_extractors assumes this directory exists but it is not present in - # the PyPI package - postPatch = '' - mkdir -p ytdlp_plugins/extractor - ''; - propagatedBuildInputs = [ websockets mutagen ] ++ lib.optional hlsEncryptedSupport pycryptodome; diff --git a/pkgs/tools/networking/proxychains-ng/default.nix b/pkgs/tools/networking/proxychains-ng/default.nix new file mode 100644 index 000000000000..cc1cc9daf656 --- /dev/null +++ b/pkgs/tools/networking/proxychains-ng/default.nix @@ -0,0 +1,24 @@ +{ lib +, stdenv +, fetchFromGitHub +}: + +stdenv.mkDerivation rec { + pname = "proxychains-ng"; + version = "4.15"; + + src = fetchFromGitHub { + owner = "rofl0r"; + repo = pname; + rev = "v${version}"; + sha256 = "128d502y8pn7q2ls6glx9bvibwzfh321sah5r5li6b6iywh2zqlc"; + }; + + meta = with lib; { + description = "A preloader which hooks calls to sockets in dynamically linked programs and redirects it through one or more socks/http proxies"; + homepage = "https://github.com/rofl0r/proxychains-ng"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ zenithal ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/networking/sish/default.nix b/pkgs/tools/networking/sish/default.nix index 769b0c57698c..45d1479e86fe 100644 --- a/pkgs/tools/networking/sish/default.nix +++ b/pkgs/tools/networking/sish/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "sish"; - version = "1.1.6"; + version = "1.1.7"; src = fetchFromGitHub { owner = "antoniomika"; repo = pname; rev = "v${version}"; - sha256 = "sha256-tljJp6Yoc19kkG7F3g1XhSDK2Y/D/2oRHiDkkOP3nn0="; + sha256 = "sha256-v/7DhakTVlcbnhujZOoVx5mpeyMwVI4CfYV12QqR7I4="; }; - vendorSha256 = "sha256-AHCa6ErxXzDPUFuq4ATD08e2Wz0tNibV2lLXoD7Sygk="; + vendorSha256 = "sha256-eMqHPxewQ9mvBpcBb+13HmaLDabCGt6C+qfbgaW8/YE="; meta = with lib; { description = "HTTP(S)/WS(S)/TCP Tunnels to localhost"; diff --git a/pkgs/tools/security/hcxtools/default.nix b/pkgs/tools/security/hcxtools/default.nix index d0fa57820795..2a08ce6a1c8f 100644 --- a/pkgs/tools/security/hcxtools/default.nix +++ b/pkgs/tools/security/hcxtools/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "hcxtools"; - version = "6.2.0"; + version = "6.2.4"; src = fetchFromGitHub { owner = "ZerBea"; repo = pname; rev = version; - sha256 = "sha256-4/kqy0oIe2FdKWtVj11PAUbdWPcKmZ1aIxLx/Zw1E2w="; + sha256 = "sha256-C6nAZkkdtBSv4WDxoXPsHzcGglB8PEX3ioFaTydiHsU="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6c1f98b48fdf..52b25877ff3a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8357,6 +8357,8 @@ with pkgs; proxychains = callPackage ../tools/networking/proxychains { }; + proxychains-ng = callPackage ../tools/networking/proxychains-ng { }; + proxify = callPackage ../tools/networking/proxify { }; proxytunnel = callPackage ../tools/misc/proxytunnel {