Merge staging-next into staging

authored by github-actions[bot] and committed by GitHub aaa6cd4e 9b0c7899

+477 -84
+2 -2
nixos/doc/manual/default.nix
··· 158 158 '@NIXOS_TEST_OPTIONS_JSON@' \ 159 159 ${testOptionsDoc.optionsJSON}/share/doc/nixos/options.json 160 160 161 - nixos-render-docs manual docbook \ 161 + nixos-render-docs -j $NIX_BUILD_CORES manual docbook \ 162 162 --manpage-urls ${manpageUrls} \ 163 163 --revision ${lib.escapeShellArg revision} \ 164 164 ./manual.md \ ··· 285 285 '' 286 286 else '' 287 287 mkdir -p $out/share/man/man5 288 - nixos-render-docs options manpage \ 288 + nixos-render-docs -j $NIX_BUILD_CORES options manpage \ 289 289 --revision ${lib.escapeShellArg revision} \ 290 290 ${optionsJSON}/share/doc/nixos/options.json \ 291 291 $out/share/man/man5/configuration.nix.5
+1 -1
nixos/lib/make-options-doc/default.nix
··· 152 152 pkgs.nixos-render-docs 153 153 ]; 154 154 } '' 155 - nixos-render-docs options docbook \ 155 + nixos-render-docs -j $NIX_BUILD_CORES options docbook \ 156 156 --manpage-urls ${pkgs.path + "/doc/manpage-urls.json"} \ 157 157 --revision ${lib.escapeShellArg revision} \ 158 158 --document-type ${lib.escapeShellArg documentType} \
+2
pkgs/applications/graphics/kodelife/default.nix
··· 95 95 runHook postInstall 96 96 ''; 97 97 98 + passthru.updateScript = ./update.sh; 99 + 98 100 meta = with lib; { 99 101 homepage = "https://hexler.net/kodelife"; 100 102 description = "Real-time GPU shader editor";
+54
pkgs/applications/graphics/kodelife/update.sh
··· 1 + #!/usr/bin/env nix-shell 2 + #!nix-shell -i bash -p nix curl libxml2 jq 3 + 4 + set -euo pipefail 5 + 6 + nixpkgs="$(git rev-parse --show-toplevel || (printf 'Could not find root of nixpkgs repo\nAre we running from within the nixpkgs git repo?\n' >&2; exit 1))" 7 + 8 + attr="${UPDATE_NIX_ATTR_PATH:-kodelife}" 9 + version="$(curl -sSL https://hexler.net/kodelife/appcast/linux | xmllint --xpath '/rss/channel/item/enclosure/@*[local-name()="version"]' - | cut -d= -f2- | tr -d '"' | head -n1)" 10 + 11 + narhash() { 12 + nix --extra-experimental-features nix-command store prefetch-file --json "$url" | jq -r .hash 13 + } 14 + 15 + nixeval() { 16 + if [ "$#" -ge 2 ]; then 17 + systemargs=(--argstr system "$2") 18 + else 19 + systemargs=() 20 + fi 21 + 22 + nix --extra-experimental-features nix-command eval --json --impure "${systemargs[@]}" -f "$nixpkgs" "$1" | jq -r . 23 + } 24 + 25 + findpath() { 26 + path="$(nix --extra-experimental-features nix-command eval --json --impure -f "$nixpkgs" "$1.meta.position" | jq -r . | cut -d: -f1)" 27 + outpath="$(nix --extra-experimental-features nix-command eval --json --impure --expr "builtins.fetchGit \"$nixpkgs\"")" 28 + 29 + if [ -n "$outpath" ]; then 30 + path="${path/$(echo "$outpath" | jq -r .)/$nixpkgs}" 31 + fi 32 + 33 + echo "$path" 34 + } 35 + 36 + oldversion="${UPDATE_NIX_OLD_VERSION:-$(nixeval "$attr".version)}" 37 + 38 + pkgpath="$(findpath "$attr")" 39 + 40 + if [ "$version" = "$oldversion" ]; then 41 + echo 'update.sh: New version same as old version, nothing to do.' 42 + exit 0 43 + fi 44 + 45 + sed -i -e "/version\s*=/ s|\"$oldversion\"|\"$version\"|" "$pkgpath" 46 + 47 + for system in aarch64-linux armv7l-linux x86_64-linux; do 48 + url="$(nixeval "$attr".src.url "$system")" 49 + 50 + curhash="$(nixeval "$attr".src.outputHash "$system")" 51 + newhash="$(narhash "$url")" 52 + 53 + sed -i -e "s|\"$curhash\"|\"$newhash\"|" "$pkgpath" 54 + done
+60
pkgs/applications/networking/cluster/kubeshark/default.nix
··· 1 + { stdenv, lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, kubeshark, nix-update-script }: 2 + 3 + buildGoModule rec { 4 + pname = "kubeshark"; 5 + version = "38.5"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "kubeshark"; 9 + repo = "kubeshark"; 10 + rev = version; 11 + sha256 = "sha256-xu+IcmYNsFBYhb0Grnqyi31LCG/3XhSh1LH8XakQ3Yk="; 12 + }; 13 + 14 + vendorHash = "sha256-o04XIUsHNqOBkvcejASHNz1HDnV6F9t+Q2Hg8eL/Uoc="; 15 + 16 + ldflags = let t = "github.com/kubeshark/kubeshark"; in [ 17 + "-s" "-w" 18 + "-X ${t}/misc.GitCommitHash=${src.rev}" 19 + "-X ${t}/misc.Branch=master" 20 + "-X ${t}/misc.BuildTimestamp=0" 21 + "-X ${t}/misc.Platform=unknown" 22 + "-X ${t}/misc.Ver=${version}" 23 + ]; 24 + 25 + nativeBuildInputs = [ installShellFiles ]; 26 + 27 + checkPhase = '' 28 + go test ./... 29 + ''; 30 + doCheck = true; 31 + 32 + postInstall = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' 33 + installShellCompletion --cmd kubeshark \ 34 + --bash <($out/bin/kubeshark completion bash) \ 35 + --fish <($out/bin/kubeshark completion fish) \ 36 + --zsh <($out/bin/kubeshark completion zsh) 37 + ''; 38 + 39 + passthru = { 40 + tests.version = testers.testVersion { 41 + package = kubeshark; 42 + command = "kubeshark version"; 43 + inherit version; 44 + }; 45 + updateScript = nix-update-script { }; 46 + }; 47 + 48 + meta = with lib; { 49 + changelog = "https://github.com/kubeshark/kubeshark/releases/tag/${version}"; 50 + description = "The API Traffic Viewer for Kubernetes"; 51 + homepage = "https://kubeshark.co/"; 52 + license = licenses.asl20; 53 + longDescription = '' 54 + The API traffic viewer for Kubernetes providing real-time, protocol-aware visibility into Kubernetes’ internal network, 55 + Think TCPDump and Wireshark re-invented for Kubernetes 56 + capturing, dissecting and monitoring all traffic and payloads going in, out and across containers, pods, nodes and clusters. 57 + ''; 58 + maintainers = with maintainers; [ bryanasdev000 ]; 59 + }; 60 + }
+10 -10
pkgs/applications/networking/cluster/terraform-providers/providers.json
··· 119 119 "vendorHash": "sha256-WndEg+n0hId7R35OeHamP+OxzzRee7f+qXIhWmos8WI=" 120 120 }, 121 121 "azuread": { 122 - "hash": "sha256-StoT7ujiJhEMpQ4wMN/qzILFxJ18ZkgLkY56LwxKY+Y=", 122 + "hash": "sha256-CTiYxmH39Jjh7wGKWmH0EoQa1H1bkV9hBNeHR+WVvF0=", 123 123 "homepage": "https://registry.terraform.io/providers/hashicorp/azuread", 124 124 "owner": "hashicorp", 125 125 "repo": "terraform-provider-azuread", 126 - "rev": "v2.34.0", 126 + "rev": "v2.34.1", 127 127 "spdx": "MPL-2.0", 128 128 "vendorHash": null 129 129 }, 130 130 "azurerm": { 131 - "hash": "sha256-40oarnfSdA2Sif40C1gi+SupY4bNsp78TBfgNDCFf7U=", 131 + "hash": "sha256-FPgq/BsciisMhdSYsYiHnMQJFaTAa/llQ1RVS/sOzhQ=", 132 132 "homepage": "https://registry.terraform.io/providers/hashicorp/azurerm", 133 133 "owner": "hashicorp", 134 134 "repo": "terraform-provider-azurerm", 135 - "rev": "v3.44.0", 135 + "rev": "v3.44.1", 136 136 "spdx": "MPL-2.0", 137 137 "vendorHash": null 138 138 }, ··· 420 420 "vendorHash": "sha256-uWTY8cFztXFrQQ7GW6/R+x9M6vHmsb934ldq+oeW5vk=" 421 421 }, 422 422 "github": { 423 - "hash": "sha256-QobAIpDDl5SXG9hmpdq8lDm8Sg5w2oK4A+e8WKw52Cc=", 423 + "hash": "sha256-GieysqBcXSgHuT13FqDtPPklFPRBREwMrTZZ7QH14pY=", 424 424 "homepage": "https://registry.terraform.io/providers/integrations/github", 425 425 "owner": "integrations", 426 426 "repo": "terraform-provider-github", 427 - "rev": "v5.17.0", 427 + "rev": "v5.18.0", 428 428 "spdx": "MIT", 429 429 "vendorHash": null 430 430 }, ··· 540 540 "vendorHash": "sha256-rxh8Me+eOKPCbfHFT3tRsbM7JU67dBqv2JOiWArI/2Y=" 541 541 }, 542 542 "huaweicloud": { 543 - "hash": "sha256-8H9DgpZukJ6K78H6YITPgWai8lPPb8O1tITRTl/azHw=", 543 + "hash": "sha256-oZUPfhndpht9EuBiltLknblGaMX2M/dD1iOiwDJKgWY=", 544 544 "homepage": "https://registry.terraform.io/providers/huaweicloud/huaweicloud", 545 545 "owner": "huaweicloud", 546 546 "repo": "terraform-provider-huaweicloud", 547 - "rev": "v1.44.1", 547 + "rev": "v1.44.2", 548 548 "spdx": "MPL-2.0", 549 549 "vendorHash": null 550 550 }, ··· 1172 1172 "vendorHash": "sha256-yTcroKTdYv0O8cX80A451I1vjYclVjA8P69fsb0wY/U=" 1173 1173 }, 1174 1174 "vault": { 1175 - "hash": "sha256-aNyCUDV1yjpmbPNYlxuJNaiXtG3fJySxRsDLJx/hZ04=", 1175 + "hash": "sha256-cYSw5aN7TvVMUY+YnyyosB4HjiosXYB7kDiNDQ258Eg=", 1176 1176 "homepage": "https://registry.terraform.io/providers/hashicorp/vault", 1177 1177 "owner": "hashicorp", 1178 1178 "proxyVendor": true, 1179 1179 "repo": "terraform-provider-vault", 1180 - "rev": "v3.12.0", 1180 + "rev": "v3.13.0", 1181 1181 "spdx": "MPL-2.0", 1182 1182 "vendorHash": "sha256-EOBNoEW9GI21IgXSiEN93B3skxfCrBkNwLxGXaso1oE=" 1183 1183 },
+2 -2
pkgs/applications/networking/flexget/default.nix
··· 5 5 6 6 python3Packages.buildPythonApplication rec { 7 7 pname = "flexget"; 8 - version = "3.5.24"; 8 + version = "3.5.25"; 9 9 format = "pyproject"; 10 10 11 11 # Fetch from GitHub in order to use `requirements.in` ··· 13 13 owner = "flexget"; 14 14 repo = "flexget"; 15 15 rev = "refs/tags/v${version}"; 16 - hash = "sha256-4RQBaqC3nmyEq9Kqg0n9KIN9Gw4Z+uCl6hQeqo/NTls="; 16 + hash = "sha256-Xb33/wz85RjBpRkKD09hfDr6txoB1ksKphbjrVt0QWg="; 17 17 }; 18 18 19 19 postPatch = ''
+2 -2
pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
··· 75 75 in 76 76 env.mkDerivation rec { 77 77 pname = "telegram-desktop"; 78 - version = "4.6.2"; 78 + version = "4.6.3"; 79 79 # Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py 80 80 81 81 # Telegram-Desktop with submodules ··· 84 84 repo = "tdesktop"; 85 85 rev = "v${version}"; 86 86 fetchSubmodules = true; 87 - sha256 = "0lrflhnlsajay8gbz1x91fqk2ckxwpqmm19hyjfqxkvi56nl7a0g"; 87 + sha256 = "1kv7aqj4d85iz6vbgvfplyfr9y3rw31xhdgwiskrdfv8mqb0mr5v"; 88 88 }; 89 89 90 90 postPatch = ''
+21 -11
pkgs/build-support/build-graalvm-native-image/default.nix
··· 1 - { lib, stdenv, graalvm-ce, glibcLocales }: 2 - 3 - { name ? "${args.pname}-${args.version}" 4 - # Final executable name 1 + { lib 2 + , stdenv 3 + , glibcLocales 4 + # The GraalVM derivation to use 5 + , graalvmDrv 6 + , name ? "${args.pname}-${args.version}" 5 7 , executable ? args.pname 6 8 # JAR used as input for GraalVM derivation, defaults to src 7 9 , jar ? args.src ··· 9 11 # Default native-image arguments. You probably don't want to set this, 10 12 # except in special cases. In most cases, use extraNativeBuildArgs instead 11 13 , nativeImageBuildArgs ? [ 12 - "-jar" jar 13 14 (lib.optionalString stdenv.isDarwin "-H:-CheckToolchain") 14 15 "-H:Name=${executable}" 15 16 "--verbose" ··· 18 19 , extraNativeImageBuildArgs ? [ ] 19 20 # XMX size of GraalVM during build 20 21 , graalvmXmx ? "-J-Xmx6g" 21 - # The GraalVM derivation to use 22 - , graalvmDrv ? graalvm-ce 23 22 # Locale to be used by GraalVM compiler 24 23 , LC_ALL ? "en_US.UTF-8" 25 24 , meta ? { } 26 25 , ... 27 26 } @ args: 28 27 29 - stdenv.mkDerivation (args // { 30 - inherit dontUnpack LC_ALL; 28 + let 29 + extraArgs = builtins.removeAttrs args [ 30 + "lib" 31 + "stdenv" 32 + "glibcLocales" 33 + "jar" 34 + "dontUnpack" 35 + "LC_ALL" 36 + "meta" 37 + ]; 38 + in 39 + stdenv.mkDerivation ({ 40 + inherit dontUnpack LC_ALL jar; 31 41 32 42 nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvmDrv glibcLocales ]; 33 43 ··· 36 46 buildPhase = args.buildPhase or '' 37 47 runHook preBuild 38 48 39 - native-image ''${nativeImageBuildArgs[@]} 49 + native-image -jar "$jar" ''${nativeImageBuildArgs[@]} 40 50 41 51 runHook postBuild 42 52 ''; ··· 61 71 # need to have native-image-installable-svm available 62 72 broken = !(builtins.any (p: (p.product or "") == "native-image-installable-svm") graalvmDrv.products); 63 73 } // meta; 64 - }) 74 + } // extraArgs)
+2 -2
pkgs/development/interpreters/erlang/R25.nix
··· 1 1 { mkDerivation }: 2 2 3 3 mkDerivation { 4 - version = "25.2.2"; 5 - sha256 = "HfEh2IhifFe/gQ4sK99uBnmUGvNCeJ2mlTQf7IzenEs="; 4 + version = "25.2.3"; 5 + sha256 = "peTH8hDOEuMq18exbFhtEMrQQEqg2FPkapfNnnEfTYE="; 6 6 }
-2
pkgs/development/libraries/libvisual/default.nix
··· 43 43 buildInputs = [ SDL glib ]; 44 44 45 45 configureFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ 46 - "ac_cv_func_malloc_0_nonnull=yes" 47 - "ac_cv_func_realloc_0_nonnull=yes" 48 46 # Remove once "sdl-cross-prereq.patch" patch above is removed. 49 47 "--disable-lv-tool" 50 48 ];
+2 -2
pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
··· 16 16 17 17 stdenv.mkDerivation rec { 18 18 pname = "qtstyleplugin-kvantum"; 19 - version = "1.0.7"; 19 + version = "1.0.9"; 20 20 21 21 src = fetchFromGitHub { 22 22 owner = "tsujan"; 23 23 repo = "Kvantum"; 24 24 rev = "V${version}"; 25 - sha256 = "Ys77z5BoeQEOYe1h5ITEuVtVn6Uug9zQjrCBxLQOrSs="; 25 + sha256 = "5/cScJpi5Z5Z/SjizKfMTGytuEo2uUT6QtpMnn7JhKc="; 26 26 }; 27 27 28 28 nativeBuildInputs = [
+2
pkgs/development/ocaml-modules/mirage-net-xen/default.nix
··· 20 20 meta 21 21 ; 22 22 23 + duneVersion = "3"; 24 + 23 25 nativeBuildInputs = [ 24 26 ppx_sexp_conv 25 27 ];
+3 -2
pkgs/development/ocaml-modules/netchannel/default.nix
··· 19 19 20 20 buildDunePackage rec { 21 21 pname = "netchannel"; 22 - version = "2.1.1"; 22 + version = "2.1.2"; 23 23 24 24 minimalOCamlVersion = "4.08"; 25 + duneVersion = "3"; 25 26 26 27 src = fetchurl { 27 28 url = "https://github.com/mirage/mirage-net-xen/releases/download/v${version}/mirage-net-xen-${version}.tbz"; 28 - sha256 = "sha256-kYsAf6ntwWKUp26dMcp5BScdUOaGpM46050jVZe6gfs="; 29 + hash = "sha256-lTmwcNKiaq5EdJdM4UaaAVdZ+hTCX5U9MPKY/r3i7fw="; 29 30 }; 30 31 31 32 buildInputs = [
+9 -4
pkgs/development/python-modules/ciscoconfparse/default.nix
··· 1 1 { lib 2 2 , buildPythonPackage 3 3 , dnspython 4 + , deprecat 4 5 , fetchFromGitHub 5 6 , loguru 6 7 , passlib ··· 12 13 13 14 buildPythonPackage rec { 14 15 pname = "ciscoconfparse"; 15 - version = "1.6.50"; 16 + version = "1.7.15"; 16 17 format = "pyproject"; 17 18 18 19 disabled = pythonOlder "3.7"; ··· 20 21 src = fetchFromGitHub { 21 22 owner = "mpenning"; 22 23 repo = pname; 23 - rev = version; 24 - hash = "sha256-OKPw7P2hhk8yzqjOcf2NYEueJR1ecC/D93ULfkM88Xg="; 24 + rev = "refs/tags/${version}"; 25 + hash = "sha256-oGvwtaIgVvvW8Oq/dZN+Zj/PESpqWALFYPia9yeilco="; 25 26 }; 26 27 27 28 postPatch = '' ··· 34 35 35 36 propagatedBuildInputs = [ 36 37 passlib 38 + deprecat 37 39 dnspython 38 40 loguru 39 41 toml ··· 51 53 # Tests require network access 52 54 "test_dns_lookup" 53 55 "test_reverse_dns_lookup" 56 + # Path issues with configuration files 57 + "testParse_valid_filepath" 54 58 ]; 55 59 56 60 pythonImportsCheck = [ ··· 58 62 ]; 59 63 60 64 meta = with lib; { 61 - description = "Parse, Audit, Query, Build, and Modify Cisco IOS-style configurations"; 65 + description = "Module to parse, audit, query, build, and modify Cisco IOS-style configurations"; 62 66 homepage = "https://github.com/mpenning/ciscoconfparse"; 67 + changelog = "https://github.com/mpenning/ciscoconfparse/blob/${version}/CHANGES.md"; 63 68 license = licenses.gpl3Only; 64 69 maintainers = with maintainers; [ astro ]; 65 70 };
+47
pkgs/development/python-modules/deprecat/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , pytestCheckHook 5 + , pythonOlder 6 + , setuptools-scm 7 + , wrapt 8 + }: 9 + 10 + buildPythonPackage rec { 11 + pname = "deprecat"; 12 + version = "2.1.1"; 13 + format = "setuptools"; 14 + 15 + disabled = pythonOlder "3.7"; 16 + 17 + src = fetchFromGitHub { 18 + owner = "mjhajharia"; 19 + repo = pname; 20 + rev = "refs/tags/v${version}"; 21 + hash = "sha256-3Xl/IC+ImFUxxLry15MIIVRf6aR+gA9K5S2IQomkv+o="; 22 + }; 23 + 24 + nativeBuildInputs = [ 25 + setuptools-scm 26 + ]; 27 + 28 + propagatedBuildInputs = [ 29 + wrapt 30 + ]; 31 + 32 + nativeCheckInputs = [ 33 + pytestCheckHook 34 + ]; 35 + 36 + pythonImportsCheck = [ 37 + "deprecat" 38 + ]; 39 + 40 + meta = with lib; { 41 + description = "Decorator to deprecate old python classes, functions or methods"; 42 + homepage = "https://github.com/mjhajharia/deprecat"; 43 + changelog = "https://github.com/mjhajharia/deprecat/releases/tag/v${version}"; 44 + license = licenses.mit; 45 + maintainers = with maintainers; [ fab ]; 46 + }; 47 + }
+12 -3
pkgs/development/python-modules/fortiosapi/default.nix
··· 5 5 , packaging 6 6 , paramiko 7 7 , pexpect 8 + , pythonOlder 8 9 , requests 10 + , six 9 11 }: 10 12 11 13 buildPythonPackage rec { 12 14 pname = "fortiosapi"; 13 15 version = "1.0.5"; 16 + format = "setuptools"; 17 + 18 + disabled = pythonOlder "3.7"; 14 19 15 20 src = fetchFromGitHub { 16 21 owner = "fortinet-solutions-cse"; 17 22 repo = pname; 18 - rev = "v${version}"; 19 - sha256 = "0679dizxcd4sk1b4h6ss8qsbjb3c8qyijlp4gzjqji91w6anzg9k"; 23 + rev = "refs/tags/v${version}"; 24 + hash = "sha256-M71vleEhRYnlf+RSGT1GbCy5NEZaG0hWmJo01n9s6Rg="; 20 25 }; 21 26 22 27 propagatedBuildInputs = [ ··· 25 30 paramiko 26 31 packaging 27 32 oyaml 33 + six 28 34 ]; 29 35 30 36 # Tests require a local VM 31 37 doCheck = false; 32 - pythonImportsCheck = [ "fortiosapi" ]; 38 + 39 + pythonImportsCheck = [ 40 + "fortiosapi" 41 + ]; 33 42 34 43 meta = with lib; { 35 44 description = "Python module to work with Fortigate/Fortios devices";
+3 -3
pkgs/development/python-modules/jaconv/default.nix
··· 8 8 9 9 buildPythonPackage rec { 10 10 pname = "jaconv"; 11 - version = "0.3.1"; 11 + version = "0.3.4"; 12 12 format = "setuptools"; 13 13 14 14 disabled = pythonOlder "3.7"; ··· 16 16 src = fetchFromGitHub { 17 17 owner = "ikegami-yukino"; 18 18 repo = pname; 19 - rev = "v${version}"; 20 - hash = "sha256-uzGHvklFHVoNloZauczgITeHQIgYQAfI9cjLWgG/vyI="; 19 + rev = "refs/tags/v${version}"; 20 + hash = "sha256-9ruhOLaYNESeKOwJs3IN6ct66fSq7My9DOyA7/cH3d0="; 21 21 }; 22 22 23 23 nativeCheckInputs = [
+2 -2
pkgs/development/python-modules/pipdeptree/default.nix
··· 14 14 15 15 buildPythonPackage rec { 16 16 pname = "pipdeptree"; 17 - version = "2.3.3"; 17 + version = "2.4.0"; 18 18 format = "pyproject"; 19 19 20 20 disabled = pythonOlder "3.7"; ··· 23 23 owner = "tox-dev"; 24 24 repo = "pipdeptree"; 25 25 rev = "refs/tags/${version}"; 26 - hash = "sha256-ivqu9b+4FhGa5y+WnKRk4nF6MR4Vj62pSs2d7ycIZMc="; 26 + hash = "sha256-agjerQTSkrpHCleqNUxg+NFiPnf9u9DQrs3vSR917oE="; 27 27 }; 28 28 29 29 SETUPTOOLS_SCM_PRETEND_VERSION = version;
+1 -3
pkgs/development/python-modules/tensorflow/default.nix
··· 18 18 # it would also make the default tensorflow package unfree. See 19 19 # https://groups.google.com/a/tensorflow.org/forum/#!topic/developers/iRCt5m4qUz0 20 20 , cudaSupport ? false, cudaPackages ? {} 21 - , mklSupport ? false, mkl ? null 21 + , mklSupport ? false, mkl 22 22 , tensorboardSupport ? true 23 23 # XLA without CUDA is broken 24 24 , xlaSupport ? cudaSupport ··· 38 38 39 39 # unsupported combination 40 40 assert ! (stdenv.isDarwin && cudaSupport); 41 - 42 - assert mklSupport -> mkl != null; 43 41 44 42 let 45 43 withTensorboard = (pythonOlder "3.6") || tensorboardSupport;
+7 -7
pkgs/development/python-modules/tvdb_api/default.nix
··· 1 1 { lib 2 2 , buildPythonPackage 3 - , fetchPypi 3 + , fetchFromGitHub 4 4 , requests-cache 5 5 , pytest 6 6 }: 7 7 8 8 buildPythonPackage rec { 9 9 pname = "tvdb_api"; 10 - version = "3.1.0"; 10 + version = "3.2.0-beta"; 11 11 12 - src = fetchPypi { 13 - inherit pname version; 14 - sha256 = "f63f6db99441bb202368d44aaabc956acc4202b18fc343a66bf724383ee1f563"; 12 + src = fetchFromGitHub { 13 + owner = "dbr"; 14 + repo = "tvdb_api"; 15 + rev = "ce0382181a9e08a5113bfee0fed2c78f8b1e613f"; 16 + sha256 = "sha256-poUuwySr6+8U9PIHhqFaR7nXzh8kSaW7mZkuKTUJKj8="; 15 17 }; 16 18 17 19 propagatedBuildInputs = [ requests-cache ]; ··· 26 28 homepage = "https://github.com/dbr/tvdb_api"; 27 29 license = licenses.unlicense; 28 30 maintainers = with maintainers; [ peterhoeg ]; 29 - # https://github.com/dbr/tvdb_api/issues/94 30 - broken = true; 31 31 }; 32 32 }
+3 -3
pkgs/development/tools/rust/cargo-semver-checks/default.nix
··· 10 10 11 11 rustPlatform.buildRustPackage rec { 12 12 pname = "cargo-semver-checks"; 13 - version = "0.18.0"; 13 + version = "0.18.1"; 14 14 15 15 src = fetchFromGitHub { 16 16 owner = "obi1kenobi"; 17 17 repo = pname; 18 18 rev = "v${version}"; 19 - sha256 = "sha256-ugcmsm1j2a1wOnUe9u70yoRXALCmtXSnb80N4B4IUWE="; 19 + sha256 = "sha256-nxQ060M5TEUMKtJZ1j3A3v3s1cW1mnHy0/2ZXbxoaMc="; 20 20 }; 21 21 22 - cargoSha256 = "sha256-PxnPCevjVvmFMlmYv6qwIBZk2MThz65hgUyVhm2tzlc="; 22 + cargoSha256 = "sha256-D/rY9d50uKkheEeHe6S04TSdmTyUVgrABIYrFOuZudY="; 23 23 24 24 nativeBuildInputs = [ pkg-config ]; 25 25
+3 -3
pkgs/misc/kitty-themes/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "kitty-themes"; 5 - version = "unstable-2022-08-11"; 5 + version = "unstable-2023-01-08"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "kovidgoyal"; 9 9 repo = pname; 10 - rev = "72cf0dc4338ab1ad85f5ed93fdb13318916cae14"; 11 - sha256 = "d9mO2YqA7WD2dTPsmNeQg2dUR/iv2T/l7yxrt6WKX60="; 10 + rev = "e0bb9d751033e82e455bf658744872c83f04b89d"; 11 + sha256 = "sha256-ol/AWScGsskoxOEW32aGkJFgg8V6pIujoYIMQaVskWM="; 12 12 }; 13 13 14 14 installPhase = ''
+87
pkgs/os-specific/linux/kernel/fix-em-ice-bonding.patch
··· 1 + From 1640688018f329559c61352646f283f98938af31 Mon Sep 17 00:00:00 2001 2 + From: Cole Helbling <cole.helbling@determinate.systems> 3 + Date: Thu, 16 Feb 2023 09:30:21 -0800 4 + Subject: [PATCH] Revert "RDMA/irdma: Report the correct link speed" 5 + 6 + This reverts commit 425c9bd06b7a70796d880828d15c11321bdfb76d. 7 + 8 + Some Equinix Metal instances, such as a3.large.x86, m3.large.x86 9 + (specific hardware revisions), and n3.large.x86, use the `ice` kernel 10 + driver for their network cards, in conjunction with bonded devices. 11 + However, this commit caused a regression where these bonded devices 12 + would deadlock. This was initially reported by Jaroslav Pulchart on 13 + the netdev mailing list[1], and there were follow-up patches from Dave 14 + Ertman[2][3] that attempted to fix this but were not up to snuff for 15 + various reasons[4]. 16 + 17 + Specifically, v2 of the patch ([3]) appears to fix the issue on some 18 + devices (tested with 8086:159B network cards), while it is still broken 19 + on others (such as an 8086:1593 network card). 20 + 21 + We revert the patch exposing the issue until upstream has a working 22 + solution in order to make Equinix Metal instances work reliably again. 23 + 24 + [1]: https://lore.kernel.org/netdev/CAK8fFZ6A_Gphw_3-QMGKEFQk=sfCw1Qmq0TVZK3rtAi7vb621A@mail.gmail.com/ 25 + [2]: https://patchwork.ozlabs.org/project/intel-wired-lan/patch/20230111183145.1497367-1-david.m.ertman@intel.com/ 26 + [3]: https://patchwork.ozlabs.org/project/intel-wired-lan/patch/20230215191757.1826508-1-david.m.ertman@intel.com/ 27 + [4]: https://lore.kernel.org/netdev/cb31a911-ba80-e2dc-231f-851757cfd0b8@intel.com/T/#m6e53f8c43093693c10268140126abe99e082dc1c 28 + --- 29 + drivers/infiniband/hw/irdma/verbs.c | 35 ++++++++++++++++++++++++++--- 30 + 1 file changed, 32 insertions(+), 3 deletions(-) 31 + 32 + diff --git a/drivers/infiniband/hw/irdma/verbs.c b/drivers/infiniband/hw/irdma/verbs.c 33 + index c5971a840b87..911902d2b93e 100644 34 + --- a/drivers/infiniband/hw/irdma/verbs.c 35 + +++ b/drivers/infiniband/hw/irdma/verbs.c 36 + @@ -60,6 +60,36 @@ static int irdma_query_device(struct ib_device *ibdev, 37 + return 0; 38 + } 39 + 40 + +/** 41 + + * irdma_get_eth_speed_and_width - Get IB port speed and width from netdev speed 42 + + * @link_speed: netdev phy link speed 43 + + * @active_speed: IB port speed 44 + + * @active_width: IB port width 45 + + */ 46 + +static void irdma_get_eth_speed_and_width(u32 link_speed, u16 *active_speed, 47 + + u8 *active_width) 48 + +{ 49 + + if (link_speed <= SPEED_1000) { 50 + + *active_width = IB_WIDTH_1X; 51 + + *active_speed = IB_SPEED_SDR; 52 + + } else if (link_speed <= SPEED_10000) { 53 + + *active_width = IB_WIDTH_1X; 54 + + *active_speed = IB_SPEED_FDR10; 55 + + } else if (link_speed <= SPEED_20000) { 56 + + *active_width = IB_WIDTH_4X; 57 + + *active_speed = IB_SPEED_DDR; 58 + + } else if (link_speed <= SPEED_25000) { 59 + + *active_width = IB_WIDTH_1X; 60 + + *active_speed = IB_SPEED_EDR; 61 + + } else if (link_speed <= SPEED_40000) { 62 + + *active_width = IB_WIDTH_4X; 63 + + *active_speed = IB_SPEED_FDR10; 64 + + } else { 65 + + *active_width = IB_WIDTH_4X; 66 + + *active_speed = IB_SPEED_EDR; 67 + + } 68 + +} 69 + + 70 + /** 71 + * irdma_query_port - get port attributes 72 + * @ibdev: device pointer from stack 73 + @@ -87,9 +117,8 @@ static int irdma_query_port(struct ib_device *ibdev, u32 port, 74 + props->state = IB_PORT_DOWN; 75 + props->phys_state = IB_PORT_PHYS_STATE_DISABLED; 76 + } 77 + - 78 + - ib_get_eth_speed(ibdev, port, &props->active_speed, 79 + - &props->active_width); 80 + + irdma_get_eth_speed_and_width(SPEED_100000, &props->active_speed, 81 + + &props->active_width); 82 + 83 + if (rdma_protocol_roce(ibdev, 1)) { 84 + props->gid_tbl_len = 32; 85 + -- 86 + 2.39.0 87 +
+5
pkgs/os-specific/linux/kernel/patches.nix
··· 57 57 name = "export-rt-sched-migrate"; 58 58 patch = ./export-rt-sched-migrate.patch; 59 59 }; 60 + 61 + fix-em-ice-bonding = { 62 + name = "fix-em-ice-bonding"; 63 + patch = ./fix-em-ice-bonding.patch; 64 + }; 60 65 }
+6 -5
pkgs/servers/x11/xorg/xwayland.nix
··· 95 95 zlib 96 96 ]; 97 97 mesonFlags = [ 98 - "-Dxwayland_eglstream=true" 99 - "-Ddefault_font_path=${defaultFontPath}" 100 - "-Dxkb_bin_dir=${xkbcomp}/bin" 101 - "-Dxkb_dir=${xkeyboard_config}/etc/X11/xkb" 102 - "-Dxkb_output_dir=${placeholder "out"}/share/X11/xkb/compiled" 98 + (lib.mesonBool "xwayland_eglstream" true) 99 + (lib.mesonOption "default_font_path" defaultFontPath) 100 + (lib.mesonOption "xkb_bin_dir" "${xkbcomp}/bin") 101 + (lib.mesonOption "xkb_dir" "${xkeyboard_config}/etc/X11/xkb") 102 + (lib.mesonOption "xkb_output_dir" "${placeholder "out"}/share/X11/xkb/compiled") 103 + (lib.mesonBool "libunwind" (libunwind != null)) 103 104 ]; 104 105 105 106 meta = with lib; {
+2 -2
pkgs/tools/admin/lxd/default.nix
··· 32 32 33 33 buildGoModule rec { 34 34 pname = "lxd"; 35 - version = "5.10"; 35 + version = "5.11"; 36 36 37 37 src = fetchurl { 38 38 urls = [ 39 39 "https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz" 40 40 "https://github.com/lxc/lxd/releases/download/lxd-${version}/lxd-${version}.tar.gz" 41 41 ]; 42 - hash = "sha256-sYJkPr/tE22xJEjKX7fMjOLQ9zBDm52UjqbVLrm39zU="; 42 + hash = "sha256-6z6C1nWmnHLdLtLf7l1f4riGhuP2J2mt8mVWZIiege0="; 43 43 }; 44 44 45 45 vendorSha256 = null;
+8 -4
pkgs/tools/misc/tvnamer/default.nix
··· 4 4 5 5 let 6 6 python' = python3.override { 7 - packageOverrides = self: super: rec { 7 + packageOverrides = final: prev: rec { 8 8 # tvdb_api v3.1.0 has a hard requirement on requests-cache < 0.6 9 - requests-cache = super.requests-cache.overridePythonAttrs (super: rec { 9 + requests-cache = prev.requests-cache.overridePythonAttrs (oldAttrs: rec { 10 10 version = "0.5.2"; 11 - src = self.fetchPypi { 12 - inherit (super) pname; 11 + src = final.fetchPypi { 12 + inherit (oldAttrs) pname; 13 13 inherit version; 14 14 sha256 = "sha256-gTAjJpaGBF+OAeIonMHn6a5asi3dHihJqQk6s6tycOs="; 15 15 }; 16 + 17 + nativeBuildInputs = with final; [ 18 + setuptools 19 + ]; 16 20 17 21 # too many changes have been made to requests-cache based on version 0.6 so 18 22 # simply disable tests
+3
pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/__init__.py
··· 10 10 from .md import Converter 11 11 from . import manual 12 12 from . import options 13 + from . import parallel 13 14 14 15 def pretty_print_exc(e: BaseException, *, _desc_text: str = "error") -> None: 15 16 print(f"\x1b[1;31m{_desc_text}:\x1b[0m", file=sys.stderr) ··· 35 36 36 37 def main() -> None: 37 38 parser = argparse.ArgumentParser(description='render nixos manual bits') 39 + parser.add_argument('-j', '--jobs', type=int, default=None) 38 40 39 41 commands = parser.add_subparsers(dest='command', required=True) 40 42 ··· 43 45 44 46 args = parser.parse_args() 45 47 try: 48 + parallel.pool_processes = args.jobs 46 49 if args.command == 'options': 47 50 options.run_cli(args) 48 51 elif args.command == 'manual':
+41 -4
pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py
··· 1 + from __future__ import annotations 2 + 1 3 import argparse 2 4 import json 3 5 ··· 10 12 11 13 import markdown_it 12 14 15 + from . import parallel 13 16 from .docbook import DocBookRenderer, make_xml_id 14 17 from .manpage import ManpageRenderer, man_escape 15 18 from .md import Converter, md_escape ··· 148 151 149 152 return [ l for part in blocks for l in part ] 150 153 154 + # this could return a TState parameter, but that does not allow dependent types and 155 + # will cause headaches when using BaseConverter as a type bound anywhere. Any is the 156 + # next best thing we can use, and since this is internal it will be mostly safe. 157 + @abstractmethod 158 + def _parallel_render_prepare(self) -> Any: raise NotImplementedError() 159 + # this should return python 3.11's Self instead to ensure that a prepare+finish 160 + # round-trip ends up with an object of the same type. for now we'll use BaseConverter 161 + # since it's good enough so far. 162 + @classmethod 163 + @abstractmethod 164 + def _parallel_render_init_worker(cls, a: Any) -> BaseConverter: raise NotImplementedError() 165 + 151 166 def _render_option(self, name: str, option: dict[str, Any]) -> RenderedOption: 152 167 try: 153 168 return RenderedOption(option['loc'], self._convert_one(option)) 154 169 except Exception as e: 155 170 raise Exception(f"Failed to render option {name}") from e 156 171 172 + @classmethod 173 + def _parallel_render_step(cls, s: BaseConverter, a: Any) -> RenderedOption: 174 + return s._render_option(*a) 175 + 157 176 def add_options(self, options: dict[str, Any]) -> None: 158 - for (name, option) in options.items(): 159 - self._options[name] = self._render_option(name, option) 177 + mapped = parallel.map(self._parallel_render_step, options.items(), 100, 178 + self._parallel_render_init_worker, self._parallel_render_prepare()) 179 + for (name, option) in zip(options.keys(), mapped): 180 + self._options[name] = option 160 181 161 182 @abstractmethod 162 183 def finalize(self) -> str: raise NotImplementedError() ··· 193 214 self._document_type = document_type 194 215 self._varlist_id = varlist_id 195 216 self._id_prefix = id_prefix 217 + 218 + def _parallel_render_prepare(self) -> Any: 219 + return (self._manpage_urls, self._revision, self._markdown_by_default, self._document_type, 220 + self._varlist_id, self._id_prefix) 221 + @classmethod 222 + def _parallel_render_init_worker(cls, a: Any) -> DocBookConverter: 223 + return cls(*a) 196 224 197 225 def _render_code(self, option: dict[str, Any], key: str) -> list[str]: 198 226 if lit := option_is(option, key, 'literalDocBook'): ··· 283 311 _options_by_id: dict[str, str] 284 312 _links_in_last_description: Optional[list[str]] = None 285 313 286 - def __init__(self, revision: str, markdown_by_default: bool): 287 - self._options_by_id = {} 314 + def __init__(self, revision: str, markdown_by_default: bool, 315 + *, 316 + # only for parallel rendering 317 + _options_by_id: Optional[dict[str, str]] = None): 318 + self._options_by_id = _options_by_id or {} 288 319 super().__init__({}, revision, markdown_by_default) 320 + 321 + def _parallel_render_prepare(self) -> Any: 322 + return ((self._revision, self._markdown_by_default), { '_options_by_id': self._options_by_id }) 323 + @classmethod 324 + def _parallel_render_init_worker(cls, a: Any) -> ManpageConverter: 325 + return cls(*a[0], **a[1]) 289 326 290 327 def _render_option(self, name: str, option: dict[str, Any]) -> RenderedOption: 291 328 assert isinstance(self._md.renderer, OptionsManpageRenderer)
+58
pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/parallel.py
··· 1 + # this module only has to exist because cpython has a global interpreter lock 2 + # and markdown-it is pure python code. ideally we'd just use thread pools, but 3 + # the GIL prohibits this. 4 + 5 + import multiprocessing 6 + 7 + from typing import Any, Callable, ClassVar, Iterable, Optional, TypeVar 8 + 9 + R = TypeVar('R') 10 + S = TypeVar('S') 11 + T = TypeVar('T') 12 + A = TypeVar('A') 13 + 14 + pool_processes: Optional[int] = None 15 + 16 + # this thing is impossible to type because there's so much global state involved. 17 + # wrapping in a class to get access to Generic[] parameters is not sufficient 18 + # because mypy is too weak, and unnecessarily obscures how much global state is 19 + # needed in each worker to make this whole brouhaha work. 20 + _map_worker_fn: Any = None 21 + _map_worker_state_fn: Any = None 22 + _map_worker_state_arg: Any = None 23 + 24 + def _map_worker_init(*args: Any) -> None: 25 + global _map_worker_fn, _map_worker_state_fn, _map_worker_state_arg 26 + (_map_worker_fn, _map_worker_state_fn, _map_worker_state_arg) = args 27 + 28 + # NOTE: the state argument is never passed by any caller, we only use it as a localized 29 + # cache for the created state in lieu of another global. it is effectively a global though. 30 + def _map_worker_step(arg: Any, state: Any = []) -> Any: 31 + global _map_worker_fn, _map_worker_state_fn, _map_worker_state_arg 32 + # if a Pool initializer throws it'll just be retried, leading to endless loops. 33 + # doing the proper initialization only on first use avoids this. 34 + if not state: 35 + state.append(_map_worker_state_fn(_map_worker_state_arg)) 36 + return _map_worker_fn(state[0], arg) 37 + 38 + def map(fn: Callable[[S, T], R], d: Iterable[T], chunk_size: int, 39 + state_fn: Callable[[A], S], state_arg: A) -> list[R]: 40 + """ 41 + `[ fn(state, i) for i in d ]` where `state = state_fn(state_arg)`, but using multiprocessing 42 + if `pool_processes` is not `None`. when using multiprocessing is used the state function will 43 + be run once in ever worker process and `multiprocessing.Pool.imap` will be used. 44 + 45 + **NOTE:** neither `state_fn` nor `fn` are allowed to mutate global state! doing so will cause 46 + discrepancies if `pool_processes` is not None, since each worker will have its own copy. 47 + 48 + **NOTE**: all data types that potentially cross a process boundary (so, all of them) must be 49 + pickle-able. this excludes lambdas, bound functions, local functions, and a number of other 50 + types depending on their exact internal structure. *theoretically* the pool constructor 51 + can transfer non-pickleable data to worker processes, but this only works when using the 52 + `fork` spawn method (and is thus not available on darwin or windows). 53 + """ 54 + if pool_processes is None: 55 + state = state_fn(state_arg) 56 + return [ fn(state, i) for i in d ] 57 + with multiprocessing.Pool(pool_processes, _map_worker_init, (fn, state_fn, state_arg)) as p: 58 + return list(p.imap(_map_worker_step, d, chunk_size))
+3 -3
pkgs/tools/security/grype/default.nix
··· 8 8 9 9 buildGoModule rec { 10 10 pname = "grype"; 11 - version = "0.56.0"; 11 + version = "0.57.1"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "anchore"; 15 15 repo = pname; 16 16 rev = "v${version}"; 17 - hash = "sha256-xNv4pI6iT6lNmjeUIW8ObPFJw9H1SiVTg9fRx6Osiwc="; 17 + hash = "sha256-NACasOoCABoHmb4U5LvQ8EPO7G10A7uQtX4th/WJqrw="; 18 18 # populate values that require us to use git. By doing this in postFetch we 19 19 # can delete .git afterwards and maintain better reproducibility of the src. 20 20 leaveDotGit = true; ··· 28 28 }; 29 29 proxyVendor = true; 30 30 31 - vendorHash = "sha256-Sez5jNFdL11cHBBPcY0b8qUiupmjPo9MHwUUi7FaNiA="; 31 + vendorHash = "sha256-DLY0tcacGFcP17IqUVvpVkUjd2xQMO5JZxltmL4b+Wo="; 32 32 33 33 nativeBuildInputs = [ 34 34 installShellFiles
+10 -2
pkgs/top-level/all-packages.nix
··· 8869 8869 8870 8870 kubepug = callPackage ../development/tools/kubepug { }; 8871 8871 8872 + kubeshark = callPackage ../applications/networking/cluster/kubeshark { }; 8873 + 8872 8874 kubergrunt = callPackage ../applications/networking/cluster/kubergrunt { }; 8873 8875 8874 8876 kubo = callPackage ../applications/networking/kubo { }; ··· 10363 10365 10364 10366 openfortivpn = callPackage ../tools/networking/openfortivpn { }; 10365 10367 10366 - opensnitch = callPackage ../tools/networking/opensnitch/daemon.nix { }; 10368 + opensnitch = callPackage ../tools/networking/opensnitch/daemon.nix { 10369 + # Build currently fails on Go > 1.18 10370 + # See https://github.com/evilsocket/opensnitch/issues/851 10371 + buildGoModule = buildGo118Module; 10372 + }; 10367 10373 10368 10374 opensnitch-ui = libsForQt5.callPackage ../tools/networking/opensnitch/ui.nix { }; 10369 10375 ··· 15054 15060 graalvm-ce = graalvm11-ce; 15055 15061 graalvm11-ce = graalvmCEPackages.graalvm11-ce; 15056 15062 graalvm17-ce = graalvmCEPackages.graalvm17-ce; 15057 - buildGraalvmNativeImage = callPackage ../build-support/build-graalvm-native-image { }; 15063 + buildGraalvmNativeImage = (callPackage ../build-support/build-graalvm-native-image { 15064 + graalvmDrv = graalvm-ce; 15065 + }).override; 15058 15066 15059 15067 openshot-qt = libsForQt5.callPackage ../applications/video/openshot-qt { }; 15060 15068
+2
pkgs/top-level/linux-kernels.nix
··· 148 148 kernelPatches = [ 149 149 kernelPatches.bridge_stp_helper 150 150 kernelPatches.request_key_helper 151 + kernelPatches.fix-em-ice-bonding 151 152 ]; 152 153 }; 153 154 ··· 169 170 kernelPatches = [ 170 171 kernelPatches.bridge_stp_helper 171 172 kernelPatches.request_key_helper 173 + kernelPatches.fix-em-ice-bonding 172 174 ]; 173 175 }; 174 176
+2
pkgs/top-level/python-packages.nix
··· 2375 2375 2376 2376 deploykit = callPackage ../development/python-modules/deploykit { }; 2377 2377 2378 + deprecat = callPackage ../development/python-modules/deprecat { }; 2379 + 2378 2380 deprecated = callPackage ../development/python-modules/deprecated { }; 2379 2381 2380 2382 deprecation = callPackage ../development/python-modules/deprecation { };