summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornixpkgs-ci[bot] <190413589+nixpkgs-ci[bot]@users.noreply.github.com>2026-05-21 07:18:55 +0000
committerGitHub <noreply@github.com>2026-05-21 07:18:55 +0000
commite79630333ee3d1ce926db88cc404d0961c5b9829 (patch)
tree78909e8decabf47748db677528126605c5245c41
parent18524bc0e112194e6b1b2cb65a2e07f4fd945341 (diff)
parenta3c4cf99ba3f2b054c5f387446ee13b49a66be85 (diff)
Merge master into staging-nextstaging-next
-rw-r--r--lib/customisation.nix44
-rw-r--r--lib/fetchers.nix69
-rw-r--r--lib/licenses/helpers.nix83
-rw-r--r--pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix4
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json6
-rw-r--r--pkgs/by-name/_1/_1password-gui/sources.json20
-rw-r--r--pkgs/by-name/ar/arwen/package.nix46
-rw-r--r--pkgs/by-name/cl/claude-code/manifest.json38
-rw-r--r--pkgs/by-name/cs/csmith/package.nix17
-rw-r--r--pkgs/by-name/dr/drupal/package.nix6
-rw-r--r--pkgs/by-name/fl/flow/package.nix4
-rw-r--r--pkgs/by-name/gh/ghgrab/package.nix6
-rw-r--r--pkgs/by-name/hm/hmcl/package.nix6
-rw-r--r--pkgs/by-name/im/impression/package.nix6
-rw-r--r--pkgs/by-name/ki/kiro/package.nix2
-rw-r--r--pkgs/by-name/ki/kiro/sources.json12
-rw-r--r--pkgs/by-name/ky/kyverno/package.nix4
-rw-r--r--pkgs/by-name/mi/minijinja/package.nix6
-rw-r--r--pkgs/by-name/mo/monophony/package.nix4
-rw-r--r--pkgs/by-name/ne/nezha/package.nix6
-rw-r--r--pkgs/by-name/ri/ringboard/package.nix8
-rw-r--r--pkgs/by-name/st/stevenblack-blocklist/package.nix4
-rw-r--r--pkgs/by-name/vc/vcmi/package.nix4
-rw-r--r--pkgs/development/python-modules/asn1/default.nix4
-rw-r--r--pkgs/development/python-modules/geodatasets/default.nix4
-rw-r--r--pkgs/development/python-modules/py-arwen/default.nix58
-rw-r--r--pkgs/development/python-modules/wand/default.nix4
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix135
-rw-r--r--pkgs/tools/networking/openssh/default.nix23
-rw-r--r--pkgs/top-level/python-packages.nix2
31 files changed, 415 insertions, 230 deletions
diff --git a/lib/customisation.nix b/lib/customisation.nix
index e9e88aff7cb5..d025b0bcea46 100644
--- a/lib/customisation.nix
+++ b/lib/customisation.nix
@@ -30,7 +30,6 @@ let
flatten
deepSeq
extends
- toFunction
id
;
inherit (lib.strings) levenshtein levenshteinAtMost;
@@ -842,14 +841,6 @@ rec {
:::
*/
extendMkDerivation =
- let
- extendsWithExclusion =
- excludedNames: g: f: final:
- let
- previous = f final;
- in
- removeAttrs previous excludedNames // g final previous;
- in
{
constructDrv,
excludeDrvArgNames ? [ ],
@@ -858,24 +849,27 @@ rec {
inheritFunctionArgs ? true,
transformDrv ? id,
}:
- setFunctionArgs
+ {
# Adds the fixed-point style support
- (
- fpargs:
+ __functor =
+ self: fpargs:
transformDrv (
- constructDrv (extendsWithExclusion excludeDrvArgNames extendDrvArgs (toFunction fpargs))
- )
- )
- # Add __functionArgs
- (
- removeAttrs (
- # Inherit the __functionArgs from the base build helper
- optionalAttrs inheritFunctionArgs (removeAttrs (functionArgs constructDrv) excludeDrvArgNames)
- # Recover the __functionArgs from the derived build helper
- // functionArgs (extendDrvArgs { })
- ) excludeFunctionArgNames
- )
- // {
+ constructDrv (
+ final:
+ let
+ previous = if isFunction fpargs then fpargs final else fpargs;
+ in
+ removeAttrs previous excludeDrvArgNames // extendDrvArgs final previous
+ )
+ );
+
+ __functionArgs = removeAttrs (
+ # Inherit the __functionArgs from the base build helper
+ optionalAttrs inheritFunctionArgs (removeAttrs (functionArgs constructDrv) excludeDrvArgNames)
+ # Recover the __functionArgs from the derived build helper
+ // functionArgs (extendDrvArgs { })
+ ) excludeFunctionArgNames;
+
inherit
# Expose to the result build helper.
constructDrv
diff --git a/lib/fetchers.nix b/lib/fetchers.nix
index 402c18ab1fc4..0f4192cc6822 100644
--- a/lib/fetchers.nix
+++ b/lib/fetchers.nix
@@ -1,16 +1,38 @@
# snippets that can be shared by multiple fetchers (pkgs/build-support)
{ lib }:
let
- commonH = hashTypes: rec {
- hashNames = [ "hash" ] ++ hashTypes;
- hashSet = lib.genAttrs hashNames (lib.const { });
- };
+ commonH =
+ let
+ defaultHashNames = [ "hash" ];
+ in
+ hashTypes: rec {
+ hashNames = defaultHashNames ++ hashTypes;
+ hashSet = genAttrs hashNames (const { });
+ };
fakeH = {
hash = lib.fakeHash;
sha256 = lib.fakeSha256;
sha512 = lib.fakeSha512;
};
+
+ defaultHashTypes = [ "sha256" ];
+
+ inherit (lib)
+ concatMapStringsSep
+ head
+ length
+ throwIf
+ ;
+ inherit (lib.attrsets)
+ attrsToList
+ intersectAttrs
+ genAttrs
+ removeAttrs
+ optionalAttrs
+ ;
+
+ inherit (lib.trivial) const functionArgs setFunctionArgs;
in
rec {
@@ -90,27 +112,14 @@ rec {
*/
normalizeHash =
{
- hashTypes ? [ "sha256" ],
+ hashTypes ? defaultHashTypes,
required ? true,
}:
let
- inherit (lib)
- concatMapStringsSep
- head
- tail
- throwIf
- ;
- inherit (lib.attrsets)
- attrsToList
- intersectAttrs
- removeAttrs
- optionalAttrs
- ;
-
inherit (commonH hashTypes) hashNames hashSet;
in
args:
- if args ? "outputHash" then
+ if args ? outputHash then
args
else
let
@@ -122,7 +131,7 @@ rec {
in
if hashesAsNVPairs == [ ] then
throwIf required "fetcher called without `hash`" null
- else if tail hashesAsNVPairs != [ ] then
+ else if length hashesAsNVPairs != 1 then
throw "fetcher called with mutually-incompatible arguments: ${
concatMapStringsSep ", " (a: a.name) hashesAsNVPairs
}"
@@ -190,15 +199,20 @@ rec {
and is implemented somewhat more efficiently.
*/
withNormalizedHash =
+ let
+ removedAttributes = [
+ "outputHash"
+ "outputHashAlgo"
+ ];
+ in
{
- hashTypes ? [ "sha256" ],
+ hashTypes ? defaultHashTypes,
}:
- fetcher:
let
- inherit (lib.attrsets) intersectAttrs removeAttrs;
- inherit (lib.trivial) functionArgs setFunctionArgs;
-
inherit (commonH hashTypes) hashSet;
+ in
+ fetcher:
+ let
fArgs = functionArgs fetcher;
normalize = normalizeHash {
@@ -211,10 +225,7 @@ rec {
assert intersectAttrs fArgs hashSet == { };
setFunctionArgs (args: fetcher (normalize args)) (
- removeAttrs fArgs [
- "outputHash"
- "outputHashAlgo"
- ]
+ removeAttrs fArgs removedAttributes
// {
hash = fArgs.outputHash;
}
diff --git a/lib/licenses/helpers.nix b/lib/licenses/helpers.nix
index b234515284f8..37721489f77a 100644
--- a/lib/licenses/helpers.nix
+++ b/lib/licenses/helpers.nix
@@ -1,4 +1,23 @@
{ lib }:
+
+let
+ inherit (lib) all any elem;
+ handleComplexProperty =
+ evaluateSubProperty: AND: OR: license:
+ if license.licenseType == "compound" then
+ if license.operator == "OR" then
+ OR evaluateSubProperty license.licenses
+ else if license.operator == "AND" then
+ AND evaluateSubProperty license.licenses
+ else
+ throw "Unknown license operator"
+ else if license.licenseType == "exception" then
+ evaluateSubProperty license.license && evaluateSubProperty license.exception
+ else if license.licenseType == "plus" then
+ evaluateSubProperty license.license
+ else
+ throw "Unknown license type or legacy license";
+in
rec {
/**
Evaluate a license expression for a given predicate.
@@ -21,29 +40,45 @@ rec {
- [license] license expression to check
*/
evaluateProperty =
- predicate: permissive: license:
+ predicate: permissive:
let
- OR = if permissive then lib.any else lib.all;
- AND = if permissive then lib.all else lib.any;
+ OR = if permissive then any else all;
+ AND = if permissive then all else any;
+ evaluateComplexProperty = handleComplexProperty (evaluateProperty predicate permissive) AND OR;
in
- if license.licenseType == "simple" then
- predicate license
- else if license.licenseType == "compound" then
- if license.operator == "OR" then
- OR (x: evaluateProperty predicate permissive x) license.licenses
- else if license.operator == "AND" then
- AND (x: evaluateProperty predicate permissive x) license.licenses
- else
- throw "Unknown license operator"
- else if license.licenseType == "exception" then
- AND (x: evaluateProperty predicate permissive x) [
- license.license
- license.exception
- ]
- else if license.licenseType == "plus" then
- evaluateProperty predicate permissive license.license
- else
- throw "Unknown license type or legacy license";
+ license:
+ if license.licenseType == "simple" then predicate license else evaluateComplexProperty license;
+
+ /**
+ Evaluate a license expression for a given property name. The property must
+ be defined as a boolean attribute of all licenses passed.
+
+ # Example
+
+ ```nix
+ evaluateNamedProperty "deprecated" true (with lib.licenses; AND [ ncsa (WITH asl20 llvm-exception) ])
+ ```
+ # Type
+
+ ```
+ evaluateProperty :: String -> Bool -> AttrSet -> Bool
+ ```
+
+ # Arguments
+
+ - [name] name of the attribute to check
+ - [permissive] whether to apply checks permissive or reciprocal
+ - [license] license expression to check
+ */
+ evaluateNamedProperty =
+ name: permissive:
+ let
+ OR = if permissive then any else all;
+ AND = if permissive then all else any;
+ evaluateComplexProperty = handleComplexProperty (evaluateNamedProperty name permissive) AND OR;
+ in
+ license:
+ if license.licenseType == "simple" then license.${name} else evaluateComplexProperty license;
/**
Check whether a license expression is free.
@@ -65,7 +100,7 @@ rec {
- [license] License expression to check if free
*/
- isFree = evaluateProperty (x: x.free) true;
+ isFree = evaluateNamedProperty "free" true;
/**
Check whether a license expression is redistributable.
@@ -87,7 +122,7 @@ rec {
- [license] License expression to check if redistributable
*/
- isRedistributable = evaluateProperty (x: x.redistributable) true;
+ isRedistributable = evaluateNamedProperty "redistributable" true;
/**
Check whether any of the given licenses is required in the license expression.
@@ -110,7 +145,7 @@ rec {
- [licenses] List of licenses to look
- [license] License expression to check
*/
- containsLicenses = licenses: evaluateProperty (x: lib.lists.elem x licenses) false;
+ containsLicenses = licenses: evaluateProperty (x: elem x licenses) false;
/**
Convert a license expression to an SPDX license expression string.
diff --git a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix
index c288d54edfb7..c88a5cb19827 100644
--- a/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix
@@ -21,26 +21,26 @@ vscode-utils.buildVscodeMarketplaceExtension (finalAttrs: {
sources = {
"x86_64-linux" = {
arch = "linux-x64";
- hash = "sha256-VTbeOLAGmaVy9PL5/Y+ebbCNa6ki4cx0VGXhzLuz1ow=";
+ hash = "sha256-bAD+NqqkEe5RfMQdMSAokPzb+SqoVc6DKnTPrW0+MA0=";
};
"aarch64-linux" = {
arch = "linux-arm64";
- hash = "sha256-j8cDVoxT38/dmorTlPQjrd2GQS+BkoatIbQQzB1c7GA=";
+ hash = "sha256-AzF2ZK4mOHoQnZz1W8IhLzGQzdysr6skbICxvfY+iHA=";
};
"x86_64-darwin" = {
arch = "darwin-x64";
- hash = "sha256-Kl23fdHFlh9cvfMtXNr6GI+AWknPFMM1lGFCuJY5kXw=";
+ hash = "sha256-vky+lZyLDeA3o04FXGPTnKQCRsV3L7Ry0RJ9w2XCmUo=";
};
"aarch64-darwin" = {
arch = "darwin-arm64";
- hash = "sha256-M1dfKzjfHeH4xmvnuRmBsnhaQryL6c84nPrl2NGQT5k=";
+ hash = "sha256-MU0ZptlmHlpSvJu+j/QY7p+xXiKG6+iF65DMAuE98v0=";
};
};
in
{
name = "claude-code";
publisher = "anthropic";
- version = "2.1.143";
+ version = "2.1.145";
}
// sources.${stdenvNoCC.hostPlatform.system}
or (throw "Unsupported system ${stdenvNoCC.hostPlatform.system}");
diff --git a/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix b/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix
index 235be9bf0062..64b9d7a3e7ac 100644
--- a/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages/firefox-devedition.nix
@@ -10,13 +10,13 @@
buildMozillaMach rec {
pname = "firefox-devedition";
binaryName = "firefox-devedition";
- version = "150.0b7";
+ version = "152.0b1";
applicationName = "Firefox Developer Edition";
requireSigning = false;
branding = "browser/branding/aurora";
src = fetchurl {
url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
- sha512 = "e4240a9c13bbe188763eb03d65935576c03ba4ead80411ff2ca528a06788bbe4b61be3fa221c01f70e4601428bf8c7895506df28a782078e8171d34d017299a0";
+ sha512 = "1fcbb8bd7b80415639dec2e1f28e6e893b43592115e1a445f447868f114f04b9b20307af030017fd19fa9f3d7b8ae13e7083229aaa1af9d092f44f6eaa0ae798";
};
# buildMozillaMach sets MOZ_APP_REMOTINGNAME during configuration, but
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 5edddf51e0ac..470391ea66bf 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -679,13 +679,13 @@
"vendorHash": "sha256-boeh/lZHlBD/bQqLnrY9oul4GcRZUHT97FyhKb4nE/c="
},
"hashicorp_tls": {
- "hash": "sha256-r7nthgw7MycME+edQ4jHQQ33mmpNv3t/LDbD5IkXDYA=",
+ "hash": "sha256-mTfWFYkot4iMFosHZUyj1265PpJafavG68sWG9k/wp4=",
"homepage": "https://registry.terraform.io/providers/hashicorp/tls",
"owner": "hashicorp",
"repo": "terraform-provider-tls",
- "rev": "v4.2.1",
+ "rev": "v4.3.0",
"spdx": "MPL-2.0",
- "vendorHash": "sha256-OvotUEh+P2b3ngaD/8lVbemnM3lrtwqduPXPjF/bqVA="
+ "vendorHash": "sha256-aM9bDzYM4RW3cIeJCMnIB9VqEaPV4D0r3zMOU3d0QDs="
},
"hashicorp_vault": {
"hash": "sha256-k/S1ez6q70vvnHMfU2aweTFzRnLlYbxUEh4xZumT1mo=",
diff --git a/pkgs/by-name/_1/_1password-gui/sources.json b/pkgs/by-name/_1/_1password-gui/sources.json
index ff8aa8fa2dcf..a7f258fa0f52 100644
--- a/pkgs/by-name/_1/_1password-gui/sources.json
+++ b/pkgs/by-name/_1/_1password-gui/sources.json
@@ -1,28 +1,28 @@
{
"stable": {
"linux": {
- "version": "8.12.12",
+ "version": "8.12.21",
"sources": {
"x86_64": {
- "url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.12.12.x64.tar.gz",
- "hash": "sha256-tdhuBJeCXbepDN6Z9Yqs6gE5lMUh72sOJuQSv4Qoj1M="
+ "url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.12.21.x64.tar.gz",
+ "hash": "sha256-+TNkHD+CEODImJqxsvYO008UYqOAyrFpfXiaI5zYuDs="
},
"aarch64": {
- "url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.12.12.arm64.tar.gz",
- "hash": "sha256-RNwZOqr29aLgNJYH/66TFEKCK3AVBhk+qnSax+Y7Dl4="
+ "url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.12.21.arm64.tar.gz",
+ "hash": "sha256-zY2hwSANgpGLGh/qOXUbY2JlZnNpXByysAgZvnuS+Qc="
}
}
},
"darwin": {
- "version": "8.12.12",
+ "version": "8.12.21",
"sources": {
"x86_64": {
- "url": "https://downloads.1password.com/mac/1Password-8.12.12-x86_64.zip",
- "hash": "sha256-6vVMkra7T4kVRrVn8QexBMRkHDrUoZXP/eALyBPYPow="
+ "url": "https://downloads.1password.com/mac/1Password-8.12.21-x86_64.zip",
+ "hash": "sha256-3CX1Qv2lYTy23XXRaAblOE+mp5YoX4qtV0SXV4hP8xI="
},
"aarch64": {
- "url": "https://downloads.1password.com/mac/1Password-8.12.12-aarch64.zip",
- "hash": "sha256-IqMw4dgMhHkzjMVbmZy/h3li74JZxbY8D4COeMEg+1o="
+ "url": "https://downloads.1password.com/mac/1Password-8.12.21-aarch64.zip",
+ "hash": "sha256-dwE97R0ZXn5kH9GGlyE+Zizb2T5GasgpGW+5zUFog8U="
}
}
}
diff --git a/pkgs/by-name/ar/arwen/package.nix b/pkgs/by-name/ar/arwen/package.nix
new file mode 100644
index 000000000000..71d35e8a80e3
--- /dev/null
+++ b/pkgs/by-name/ar/arwen/package.nix
@@ -0,0 +1,46 @@
+{
+ lib,
+ rustPlatform,
+ fetchFromGitHub,
+}:
+
+rustPlatform.buildRustPackage (finalAttrs: {
+ pname = "arwen";
+ version = "0.0.5-unstable-2026-04-07";
+
+ src = fetchFromGitHub {
+ owner = "nichmor";
+ repo = "arwen";
+ rev = "696351a8c208315b0dfd4a1e5c37288a689ccd2e";
+ hash = "sha256-6RW8BeKjoxeO8SBz/VdZGnrRW+EIKq5NtrFdM0lx0+o=";
+ };
+
+ cargoHash = "sha256-bj7YB7xNlfdrYYZv3CDuqkm+/pg+C1KwizPTlNqQWt8=";
+
+ __structuredAttrs = true;
+
+ meta = {
+ description = "Cross-platform patching of shared libraries in Rust";
+ longDescription = ''
+ Arwen is a command-line utility and Rust library designed to modify
+ executable files and shared libraries.
+
+ Specifically, it targets the ELF format (commonly used on Linux, BSD, and
+ other Unix-like systems) and the Mach-O format (used on macOS and iOS).
+
+ It allows you to inspect and rewrite various properties within these
+ files that influence how they load and link with other libraries at
+ runtime.
+
+ Think of arwen as a modern, unified, Rust-based alternative to the
+ widely-used patchelf (for ELF files) and install_name_tool (for Mach-O
+ files). It combines the core functionalities of both into a single tool.
+ '';
+ homepage = "https://github.com/nichmor/arwen";
+ mainProgram = "arwen";
+ license = lib.licenses.mit;
+ platforms = lib.platforms.all;
+ maintainers = with lib.maintainers; [ eljamm ];
+ teams = with lib.teams; [ ngi ];
+ };
+})
diff --git a/pkgs/by-name/cl/claude-code/manifest.json b/pkgs/by-name/cl/claude-code/manifest.json
index e9444eb564d4..992b4967d5ae 100644
--- a/pkgs/by-name/cl/claude-code/manifest.json
+++ b/pkgs/by-name/cl/claude-code/manifest.json
@@ -1,47 +1,47 @@
{
- "version": "2.1.143",
- "commit": "cfb8132e4c3551e2773f41a1900efd1cc93637db",
- "buildDate": "2026-05-15T17:47:13Z",
+ "version": "2.1.145",
+ "commit": "daa4c3755d45ab0cf97bb41db8c03bd2dfd2ff5f",
+ "buildDate": "2026-05-19T01:56:17Z",
"platforms": {
"darwin-arm64": {
"binary": "claude",
- "checksum": "2701c6cfd68483f8faf0316a1ba6481a1455a90645ada179f0c48d8c36d722ef",
- "size": 207605280
+ "checksum": "368dcd9709c85534f673071e7cc8eb5422bcff367fb9bdf5ce25d9619aab7ef5",
+ "size": 208546464
},
"darwin-x64": {
"binary": "claude",
- "checksum": "bc8ff4ce02b765a033808fb596f9522306cbe5c50d21344ed8752c08966f362c",
- "size": 210119440
+ "checksum": "c23dc566214279d0708f4212261f023d8e63d5af5aef91638ebfdc090b3e33de",
+ "size": 211044112
},
"linux-arm64": {
"binary": "claude",
- "checksum": "32e8edc4a5c3c41d18607c75d1b8e7bec643330c03e266be46ac3b41a446c4eb",
- "size": 232961672
+ "checksum": "75ad61d690d79440c82b5841444e1b42caae55736af37c97dd0e068ef20ce390",
+ "size": 233944712
},
"linux-x64": {
"binary": "claude",
- "checksum": "f75fdc3ff9d9cd494b86192f9e349b5c5c6d3970ed4d5cd5c7b330c5a2b1dcc4",
- "size": 233088720
+ "checksum": "b3ffbc12689bfe81389d6577787fcea4cab81bd3b6bba9b719e73770b62d720e",
+ "size": 234022608
},
"linux-arm64-musl": {
"binary": "claude",
- "checksum": "e68903ec56ddd5560bb0820c96c8f7a4193e7eab6236ede56cb2e05f450ce44f",
- "size": 225816408
+ "checksum": "3a73f058b2225a4210931362bc9c98e486e3362ca28b339281755737fb375c7c",
+ "size": 226799448
},
"linux-x64-musl": {
"binary": "claude",
- "checksum": "e4cb8588ed6e38f9920bdaa2611263d4a0b0d11300f1d23945df234fdf5e278a",
- "size": 227482672
+ "checksum": "cfc95961a41329204405c4b0e257cb467821133eb7bdb1ca0866dfe789d5d442",
+ "size": 228416560
},
"win32-x64": {
"binary": "claude.exe",
- "checksum": "e480244f2a4660fe76ed32442c1e3e2edda8fb5433417e73faba39f0e7f69eb6",
- "size": 228902560
+ "checksum": "1da511cee5d3a4968634174498e9148635a5908d7f6ea5ec91b04d531c20c3bc",
+ "size": 229910176
},
"win32-arm64": {
"binary": "claude.exe",
- "checksum": "5cbad78d2f316fedd0d621289aae558aaf259b404d0a46e0e49662ef3b397986",
- "size": 224866976
+ "checksum": "b6b920c757e08ff3e4f0dc211360ad7815db539d4915bb691e57ee4d34db31e5",
+ "size": 225875616
}
}
}
diff --git a/pkgs/by-name/cs/csmith/package.nix b/pkgs/by-name/cs/csmith/package.nix
index 80830a36167a..2e682f6d21e9 100644
--- a/pkgs/by-name/cs/csmith/package.nix
+++ b/pkgs/by-name/cs/csmith/package.nix
@@ -1,7 +1,8 @@
{
lib,
stdenv,
- fetchurl,
+ fetchFromGitHub,
+ cmake,
m4,
makeWrapper,
libbsd,
@@ -10,14 +11,20 @@
stdenv.mkDerivation rec {
pname = "csmith";
- version = "2.3.0";
+ version = "2.3.0-unstable-2026-03-01";
- src = fetchurl {
- url = "https://embed.cs.utah.edu/csmith/${pname}-${version}.tar.gz";
- sha256 = "1mb5zgixsyf86slggs756k8a5ddmj980md3ic9sa1y75xl5cqizj";
+ src = fetchFromGitHub {
+ owner = "csmith-project";
+ repo = "csmith";
+ rev = "0cdc710315cfee9035e22ef4363ca479270d1934";
+ hash = "sha256-m0xdGtccxGFMHFYRCultkEfMEs9ju8ccx7kZbxNTapE=";
};
+ strictDeps = true;
+ __structuredAttrs = true;
+
nativeBuildInputs = [
+ cmake
m4
makeWrapper
];
diff --git a/pkgs/by-name/dr/drupal/package.nix b/pkgs/by-name/dr/drupal/package.nix
index df9e77c91c98..2de0b7fc51ea 100644
--- a/pkgs/by-name/dr/drupal/package.nix
+++ b/pkgs/by-name/dr/drupal/package.nix
@@ -8,18 +8,18 @@
php.buildComposerProject2 (finalAttrs: {
pname = "drupal";
- version = "11.3.9";
+ version = "11.3.10";
src = fetchFromGitLab {
domain = "git.drupalcode.org";
owner = "project";
repo = "drupal";
tag = finalAttrs.version;
- hash = "sha256-r+Xd+vD4HAUOmVqZOzZo4cVsItv5WwW1OFOC2SICroo=";
+ hash = "sha256-22oi80H8CZfafX0PFMmMinwIdKKdPs0iM0ime1aYXDI=";
};
composerNoPlugins = false;
- vendorHash = "sha256-FFHgINgXFT5eV2gx87Peoh3mfsvlQzG4tZRus97Faes=";
+ vendorHash = "sha256-jwCHtpshEVzBhcXjCl5HOdkIiHRcH3V7fBxTxU39/S0=";
passthru = {
tests = {
diff --git a/pkgs/by-name/fl/flow/package.nix b/pkgs/by-name/fl/flow/package.nix
index b9fa4836b0f0..2bc74078a227 100644
--- a/pkgs/by-name/fl/flow/package.nix
+++ b/pkgs/by-name/fl/flow/package.nix
@@ -16,13 +16,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "flow";
- version = "0.313.0";
+ version = "0.314.0";
src = fetchFromGitHub {
owner = "facebook";
repo = "flow";
tag = "v${finalAttrs.version}";
- hash = "sha256-U2TC9IV414X71zhrRb47kCvQkVqOSxzeNnfuoBSeJQE=";
+ hash = "sha256-98rtymAYp8MoPtgnuoMVKc8ss4JK2cQ/4dWVN1TGJsA=";
};
patches = [
diff --git a/pkgs/by-name/gh/ghgrab/package.nix b/pkgs/by-name/gh/ghgrab/package.nix
index 68cbd698a663..14a0e3259716 100644
--- a/pkgs/by-name/gh/ghgrab/package.nix
+++ b/pkgs/by-name/gh/ghgrab/package.nix
@@ -8,16 +8,16 @@
# note: upstream has a flake
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ghgrab";
- version = "1.3.2";
+ version = "2.0.1";
src = fetchFromGitHub {
owner = "abhixdd";
repo = "ghgrab";
tag = "v${finalAttrs.version}";
- hash = "sha256-Wg0tDsK29RZ4iunaoLp2IbU4rC7GBlihGWbTJs0l480=";
+ hash = "sha256-5eGJqnGTctaXM5x/1QUcL9ne4kPZhjiN7+D3Lb0UJpc=";
};
- cargoHash = "sha256-6B9rVTqA2IoYCYOKy1Dc0f+3YZUJFeFQfEXF1OXZmEQ=";
+ cargoHash = "sha256-nn7oT0TIBFxfFVOvLIvp9TswPIr6v+ttdw74CnaKqAQ=";
doInstallCheck = true;
versionCheckProgramArg = "--version";
diff --git a/pkgs/by-name/hm/hmcl/package.nix b/pkgs/by-name/hm/hmcl/package.nix
index cdf46b5de703..2dba788bc092 100644
--- a/pkgs/by-name/hm/hmcl/package.nix
+++ b/pkgs/by-name/hm/hmcl/package.nix
@@ -50,13 +50,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "hmcl";
- version = "3.13.2";
+ version = "3.14.1";
src = fetchurl {
# HMCL has built-in keys, such as the Microsoft OAuth secret and the CurseForge API key.
# See https://github.com/HMCL-dev/HMCL/blob/refs/tags/release-3.6.12/.github/workflows/gradle.yml#L26-L28
url = "https://github.com/HMCL-dev/HMCL/releases/download/v${finalAttrs.version}/HMCL-${finalAttrs.version}.jar";
- hash = "sha256-2OLtf47fmNiEFOkjHiDCj99seiMy25PlmRDSFKu9WFI=";
+ hash = "sha256-j8+PIbNySlwELKKdsYQe53++w9zunKaN9TRqZq+LpYI=";
};
# - HMCL prompts users to download prebuilt Terracotta binary for
@@ -71,7 +71,7 @@ stdenv.mkDerivation (finalAttrs: {
terracottaBundleJava = fetchurl {
name = "hmcl-terracotta-bundle-java-${finalAttrs.version}";
url = "https://raw.githubusercontent.com/HMCL-dev/HMCL/v${finalAttrs.version}/${finalAttrs.terracottaBundleJavaPath}";
- hash = "sha256-QXjo/NiYQyJfan15hnvJlBir9s9R6H+jHsr+K9M1oTw=";
+ hash = "sha256-05U4/TUYECPgrzZbLiSPUwo5XtIm2w+T8gCdtqpsRVs=";
};
macOSProviderJava = fetchurl {
name = "hmcl-macos-provider-java-${finalAttrs.version}";
diff --git a/pkgs/by-name/im/impression/package.nix b/pkgs/by-name/im/impression/package.nix
index 41013ce31dd3..b5e4f8638f93 100644
--- a/pkgs/by-name/im/impression/package.nix
+++ b/pkgs/by-name/im/impression/package.nix
@@ -24,18 +24,18 @@
stdenv.mkDerivation (finalAttrs: {
pname = "impression";
- version = "3.6.0";
+ version = "3.7.0";
src = fetchFromGitLab {
owner = "adhami3310";
repo = "Impression";
tag = "v${finalAttrs.version}";
- hash = "sha256-jxfleGDIetTxh0YltKYz2KYE00opwZb+rnaR76beGWA=";
+ hash = "sha256-EyVbK+E9X9q+O/2RItJDXjQNsLZ3cn2YmK9Ct98w8IQ=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
- hash = "sha256-RR27VE1/8jG2HgeWtIwGsF9HUlI3Kky9J4X6kZnA+kw=";
+ hash = "sha256-Mvpy5aDeu4qycSj+fp4DfRNLv6T2Ksqgjt5GFTkjS6U=";
};
nativeBuildInputs = [
diff --git a/pkgs/by-name/ki/kiro/package.nix b/pkgs/by-name/ki/kiro/package.nix
index b61e6c5f1db3..0b65dbc1fcf0 100644
--- a/pkgs/by-name/ki/kiro/package.nix
+++ b/pkgs/by-name/ki/kiro/package.nix
@@ -14,7 +14,7 @@ in
inherit useVSCodeRipgrep;
commandLineArgs = extraCommandLineArgs;
- version = "0.12.184";
+ version = "0.12.200";
pname = "kiro";
# You can find the current VSCode version in the About dialog:
diff --git a/pkgs/by-name/ki/kiro/sources.json b/pkgs/by-name/ki/kiro/sources.json
index e8054a56d5f8..31565e2585e9 100644
--- a/pkgs/by-name/ki/kiro/sources.json
+++ b/pkgs/by-name/ki/kiro/sources.json
@@ -1,14 +1,14 @@
{
"x86_64-linux": {
- "url": "https://prod.download.desktop.kiro.dev/releases/stable/linux-x64/signed/0.12.184/tar/kiro-ide-0.12.184-stable-linux-x64.tar.gz",
- "hash": "sha256-6T3ZS6KaEBkW0ESQMiNO3UBytk0Ad4g1moBS6dYCTAs="
+ "url": "https://prod.download.desktop.kiro.dev/releases/stable/linux-x64/signed/0.12.200/tar/kiro-ide-0.12.200-stable-linux-x64.tar.gz",
+ "hash": "sha256-9OEMZ7FojIyJuHBwEPPYCbg6pjtDjAo5R6sFJ6P8Sbo="
},
"x86_64-darwin": {
- "url": "https://prod.download.desktop.kiro.dev/releases/stable/darwin-x64/signed/0.12.184/kiro-ide-0.12.184-stable-darwin-x64.dmg",
- "hash": "sha256-fqsdcFdCR/fSxmqpjJ2fxfbtcmfd9RunuW+/RV2khAQ="
+ "url": "https://prod.download.desktop.kiro.dev/releases/stable/darwin-x64/signed/0.12.200/kiro-ide-0.12.200-stable-darwin-x64.dmg",
+ "hash": "sha256-gRwyFF3IgzQ1e1T7k08YF+0q2KnJZ+Ns1o+po6mc2Bc="
},
"aarch64-darwin": {
- "url": "https://prod.download.desktop.kiro.dev/releases/stable/darwin-arm64/signed/0.12.184/kiro-ide-0.12.184-stable-darwin-arm64.dmg",
- "hash": "sha256-LpBdGzmDTVlGIYEWxeR9l9ywJ0T5HE4rbCoXGxf4Vxs="
+ "url": "https://prod.download.desktop.kiro.dev/releases/stable/darwin-arm64/signed/0.12.200/kiro-ide-0.12.200-stable-darwin-arm64.dmg",
+ "hash": "sha256-SpCHOXhR/OdMpJQe+IvtLXri6T4ecBTO7LyA8WzNzbc="
}
}
diff --git a/pkgs/by-name/ky/kyverno/package.nix b/pkgs/by-name/ky/kyverno/package.nix
index 3bda1e170320..05edb054143b 100644
--- a/pkgs/by-name/ky/kyverno/package.nix
+++ b/pkgs/by-name/ky/kyverno/package.nix
@@ -10,13 +10,13 @@
buildGoModule (finalAttrs: {
pname = "kyverno";
- version = "1.18.0";
+ version = "1.18.1";
src = fetchFromGitHub {
owner = "kyverno";
repo = "kyverno";
rev = "v${finalAttrs.version}";
- hash = "sha256-emjXUd9yr6Rwv3I/em+BicC2MppGdT736DMuWBLdSZM=";
+ hash = "sha256-zo02ABieJ+CykuqGJlnthXibgBzNGB3t3UdlKMTIkFo=";
};
ldflags = [
diff --git a/pkgs/by-name/mi/minijinja/package.nix b/pkgs/by-name/mi/minijinja/package.nix
index 363dfc8835c9..656e0837d125 100644
--- a/pkgs/by-name/mi/minijinja/package.nix
+++ b/pkgs/by-name/mi/minijinja/package.nix
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "minijinja";
- version = "2.19.0";
+ version = "2.20.0";
src = fetchFromGitHub {
owner = "mitsuhiko";
repo = "minijinja";
rev = finalAttrs.version;
- hash = "sha256-aZBC2OypmrPNU/uuaCCjhcFTJn0jl3VPTJYHh0piTxo=";
+ hash = "sha256-8EEhtdfTU+q9TON6InIv0gdAS154745NeQX2TE513J0=";
};
- cargoHash = "sha256-TGqfng5SB2tTplZaFWC6BM/L385av6tYTQvcHsSk3h0=";
+ cargoHash = "sha256-uCyG+gT8zltsqwfwsQguoUvIEs5zLG70nBJC7txRLsI=";
# The tests relies on the presence of network connection
doCheck = false;
diff --git a/pkgs/by-name/mo/monophony/package.nix b/pkgs/by-name/mo/monophony/package.nix
index 19da2ab1d6af..95c026562553 100644
--- a/pkgs/by-name/mo/monophony/package.nix
+++ b/pkgs/by-name/mo/monophony/package.nix
@@ -12,14 +12,14 @@
}:
python3Packages.buildPythonApplication (finalAttrs: {
pname = "monophony";
- version = "4.4.4";
+ version = "4.4.6";
pyproject = true;
src = fetchFromGitLab {
owner = "zehkira";
repo = "monophony";
tag = "v${finalAttrs.version}";
- hash = "sha256-YG8YHD3wSEN0/9fINXwDwIfY74Wl24Se40j1SLlTWPc=";
+ hash = "sha256-aDtz1VKOx+HvZxzXVEkFe2JMwMfdXmSJKq6ilI24TnI=";
};
sourceRoot = "${finalAttrs.src.name}/source";
diff --git a/pkgs/by-name/ne/nezha/package.nix b/pkgs/by-name/ne/nezha/package.nix
index 54b84dd46d46..414f6ffd1322 100644
--- a/pkgs/by-name/ne/nezha/package.nix
+++ b/pkgs/by-name/ne/nezha/package.nix
@@ -48,13 +48,13 @@ let
in
buildGoModule (finalAttrs: {
pname = "nezha";
- version = "2.0.7";
+ version = "2.0.11";
src = fetchFromGitHub {
owner = "nezhahq";
repo = "nezha";
tag = "v${finalAttrs.version}";
- hash = "sha256-QFNv1O0XYkH+OwrUbkmeuLKTSsumo+1uvunDn8LbTho=";
+ hash = "sha256-XZPyzIiqf2UG1gE6uHiYSVPCP6G/lrKK+Y3vRgkPk20=";
};
proxyVendor = true;
@@ -94,7 +94,7 @@ buildGoModule (finalAttrs: {
GOROOT=''${GOROOT-$(go env GOROOT)} swag init --pd -d cmd/dashboard -g main.go -o cmd/dashboard/docs
'';
- vendorHash = "sha256-gRvWCX+6fSTEbL6Rp7FRoqNXz1HRVIlYl4ADi/fIq80=";
+ vendorHash = "sha256-x347CkS4nw8hFUhmuewvrqNDE2a2lT3KmIQ1hc98NJE=";
ldflags = [
"-s"
diff --git a/pkgs/by-name/ri/ringboard/package.nix b/pkgs/by-name/ri/ringboard/package.nix
index baa518846b6c..4c4f0bf21e32 100644
--- a/pkgs/by-name/ri/ringboard/package.nix
+++ b/pkgs/by-name/ri/ringboard/package.nix
@@ -26,16 +26,16 @@ rustPlatform.buildRustPackage (finalAttrs: {
# release version needs nightly, so we use a custom tree, see:
# https://github.com/SUPERCILEX/clipboard-history/issues/22#issuecomment-3676256971
- version = "0.14.0-unstable-2026-01-19";
+ version = "0.16.2-unstable-2026-05-10";
src = fetchFromGitHub {
owner = "SUPERCILEX";
repo = "clipboard-history";
- rev = "cb2e94add2388a68a8f015b77f9b082b1658b3b7";
- hash = "sha256-r2632XJ/2Er1TuHCDNm6uItvdhqJ87i9p+h9M2MwKwk=";
+ rev = "0719d4398034efa32c3f093e06a2fdb033afbc22";
+ hash = "sha256-/LDxZ3bsuVwMiRzLTuLIs6y7jAS/84sXhTRhovXV8zM=";
};
- cargoHash = "sha256-c5Zdvz2xHsGh4VnOED2JiitNWwNTSkygaMFHPPLANqw=";
+ cargoHash = "sha256-ARSvWjeVWXksZ27lRJn67wXpgr8epagflOAULKmYaQ8=";
nativeBuildInputs = [
makeWrapper
diff --git a/pkgs/by-name/st/stevenblack-blocklist/package.nix b/pkgs/by-name/st/stevenblack-blocklist/package.nix
index 98de56bd51cb..978f11bfc49a 100644
--- a/pkgs/by-name/st/stevenblack-blocklist/package.nix
+++ b/pkgs/by-name/st/stevenblack-blocklist/package.nix
@@ -6,13 +6,13 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "stevenblack-blocklist";
- version = "3.16.80";
+ version = "3.16.81";
src = fetchFromGitHub {
owner = "StevenBlack";
repo = "hosts";
tag = finalAttrs.version;
- hash = "sha256-wTiDXFiBKV4M4jv1JrVLL/kkIyE1FK4qino07BYU5fc=";
+ hash = "sha256-TdfeoGfVEsrP1dIzchd++iMkVxQixSpJNIfcvV1Dl2c=";
};
outputs = [
diff --git a/pkgs/by-name/vc/vcmi/package.nix b/pkgs/by-name/vc/vcmi/package.nix
index 521c34ddb7cd..ef2c940b8c1d 100644
--- a/pkgs/by-name/vc/vcmi/package.nix
+++ b/pkgs/by-name/vc/vcmi/package.nix
@@ -28,14 +28,14 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "vcmi";
- version = "1.7.3";
+ version = "1.7.4";
src = fetchFromGitHub {
owner = "vcmi";
repo = "vcmi";
tag = finalAttrs.version;
fetchSubmodules = true;
- hash = "sha256-4Gp/neisH3zpblc/LTQlaWHzXSi6OHzP0IQHI6wzygE=";
+ hash = "sha256-uzdnRKF0xb2B2r6kTzk6OEDGBdOwcu9eGYsvv4ALCF0=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/asn1/default.nix b/pkgs/development/python-modules/asn1/default.nix
index b2ede45e5a87..cc64d91a3440 100644
--- a/pkgs/development/python-modules/asn1/default.nix
+++ b/pkgs/development/python-modules/asn1/default.nix
@@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "asn1";
- version = "3.2.0";
+ version = "3.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "andrivet";
repo = "python-asn1";
tag = "v${version}";
- hash = "sha256-Ge4ffqew/cfYUoKSudCz4S3+In6nEUPOK6Zes//R4Ls=";
+ hash = "sha256-gqFW+akhWwvtqJQb4LqcgjyJb6bcInl0gT6f2CMTtA0=";
};
build-system = [ setuptools ];
diff --git a/pkgs/development/python-modules/geodatasets/default.nix b/pkgs/development/python-modules/geodatasets/default.nix
index acb1ac1c4716..e1a7b806f089 100644
--- a/pkgs/development/python-modules/geodatasets/default.nix
+++ b/pkgs/development/python-modules/geodatasets/default.nix
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "geodatasets";
- version = "2026.5.0";
+ version = "2026.5.1";
pyproject = true;
src = fetchFromGitHub {
owner = "geopandas";
repo = "geodatasets";
tag = version;
- hash = "sha256-6RaWZOp5V5gc/vY3tZsXDNnDmUYnhmZFpto0pa6uMNg=";
+ hash = "sha256-wKe5hDK0J3e+9PyMvH1dJWpNMC8Ct4u5ysJoi7/xw4k=";
};
build-system = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/py-arwen/default.nix b/pkgs/development/python-modules/py-arwen/default.nix
new file mode 100644
index 000000000000..affd282efc18
--- /dev/null
+++ b/pkgs/development/python-modules/py-arwen/default.nix
@@ -0,0 +1,58 @@
+{
+ lib,
+ buildPythonPackage,
+ rustPlatform,
+ arwen,
+ pytestCheckHook,
+}:
+
+buildPythonPackage (finalAttrs: {
+ pname = "py-arwen";
+ pyproject = true;
+
+ inherit (arwen)
+ version
+ src
+ ;
+
+ sourceRoot = "${finalAttrs.src.name}/py-arwen";
+
+ cargoDeps = rustPlatform.fetchCargoVendor {
+ inherit (finalAttrs)
+ pname
+ version
+ src
+ sourceRoot
+ ;
+ hash = "sha256-SJ3RZ/kCfMJb26uaJEQzA2NXOCudyqbJpbvC4d/R/T8=";
+ };
+
+ nativeBuildInputs = with rustPlatform; [
+ cargoSetupHook
+ maturinBuildHook
+ ];
+
+ nativeCheckInputs = [
+ pytestCheckHook
+ ];
+
+ preCheck = ''
+ # conflicts with built module
+ rm -r arwen
+ '';
+
+ pythonImportsCheck = [
+ "arwen"
+ ];
+
+ meta = {
+ inherit (arwen.meta)
+ description
+ homepage
+ license
+ platforms
+ maintainers
+ teams
+ ;
+ };
+})
diff --git a/pkgs/development/python-modules/wand/default.nix b/pkgs/development/python-modules/wand/default.nix
index 8a4f89a2055a..7a3212a78742 100644
--- a/pkgs/development/python-modules/wand/default.nix
+++ b/pkgs/development/python-modules/wand/default.nix
@@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "wand";
- version = "0.7.0";
+ version = "0.7.1";
pyproject = true;
src = fetchFromGitHub {
owner = "emcconville";
repo = "wand";
tag = version;
- hash = "sha256-U4qxtOC72YSgo74OZdFmMG8W2s4wFI0ohJ7uJ4caabA=";
+ hash = "sha256-SigXdX4sfw0nKYvIu/Jsoj+RBmcoHAGCFRA8t7gc+3s=";
};
postPatch = ''
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index e1680f07cfa4..fb61ade7e4e3 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -32,6 +32,7 @@ let
isBool
isDerivation
isInt
+ isFunction
isList
isPath
isString
@@ -41,12 +42,10 @@ let
optional
optionalString
optionals
- pipe
remove
seq
splitString
subtractLists
- toExtension
toFunction
typeOf
unique
@@ -55,6 +54,7 @@ let
warn
warnIf
zipAttrsWith
+ any
;
inherit (lib.generators) toPretty;
@@ -112,8 +112,21 @@ let
final:
let
prev = rattrs final;
- thisOverlay = toExtension f0 final prev;
- pos = unsafeGetAttrPos "version" thisOverlay;
+ # inlined version of toExtension
+ thisOverlay =
+ if isFunction f0 then
+ let
+ fPrev = f0 prev;
+ in
+ if isFunction fPrev then
+ # f is (final: prev: { ... })
+ f0 final prev
+ else
+ # f is (prev: { ... })
+ fPrev
+ else
+ # f is not a function; probably { ... }
+ f0;
in
warnIf
(
@@ -126,26 +139,31 @@ let
&& !(thisOverlay ? src)
&& !(thisOverlay.__intentionallyOverridingVersion or false)
)
- ''
- ${
- args.name or "${args.pname or "<unknown name>"}-${args.version or "<unknown version>"}"
- } was overridden with `version` but not `src` at ${pos.file or "<unknown file>"}:${
- toString pos.line or "<unknown line>"
- }:${toString pos.column or "<unknown column>"}.
-
- This is most likely not what you want. In order to properly change the version of a package, override
- both the `version` and `src` attributes:
-
- hello.overrideAttrs (oldAttrs: rec {
- version = "1.0.0";
- src = pkgs.fetchurl {
- url = "mirror://gnu/hello/hello-''${version}.tar.gz";
- hash = "...";
- };
- })
-
- (To silence this warning, set `__intentionallyOverridingVersion = true` in your `overrideAttrs` call.)
- ''
+ (
+ let
+ pos = unsafeGetAttrPos "version" thisOverlay;
+ in
+ ''
+ ${
+ args.name or "${args.pname or "<unknown name>"}-${args.version or "<unknown version>"}"
+ } was overridden with `version` but not `src` at ${pos.file or "<unknown file>"}:${
+ toString pos.line or "<unknown line>"
+ }:${toString pos.column or "<unknown column>"}.
+
+ This is most likely not what you want. In order to properly change the version of a package, override
+ both the `version` and `src` attributes:
+
+ hello.overrideAttrs (oldAttrs: rec {
+ version = "1.0.0";
+ src = pkgs.fetchurl {
+ url = "mirror://gnu/hello/hello-''${version}.tar.gz";
+ hash = "...";
+ };
+ })
+
+ (To silence this warning, set `__intentionallyOverridingVersion = true` in your `overrideAttrs` call.)
+ ''
+ )
(prev // (removeAttrs thisOverlay [ "__intentionallyOverridingVersion" ]))
);
@@ -176,10 +194,6 @@ let
"zerocallusedregs"
];
- concretizeFlagImplications =
- flag: impliesFlags: list:
- if elem flag list then (list ++ impliesFlags) else list;
-
removedOrReplacedAttrNames = [
"checkInputs"
"installCheckInputs"
@@ -237,6 +251,10 @@ let
./default-builder.sh
];
+ doCheckByDefault = config.doCheckByDefault or false;
+ structuredAttrsByDefault = config.structuredAttrsByDefault or false;
+ inherit (config) enableParallelBuildingByDefault contentAddressedByDefault;
+
inherit (stdenv)
hostPlatform
buildPlatform
@@ -400,16 +418,16 @@ let
# TODO(@Ericson2314): Make unconditional / resolve #33599
# Check phase
- doCheck ? config.doCheckByDefault or false,
+ doCheck ? doCheckByDefault,
# TODO(@Ericson2314): Make unconditional / resolve #33599
# InstallCheck phase
- doInstallCheck ? config.doCheckByDefault or false,
+ doInstallCheck ? doCheckByDefault,
# TODO(@Ericson2314): Make always true and remove / resolve #178468
strictDeps ? defaultStrictDeps,
- enableParallelBuilding ? config.enableParallelBuildingByDefault,
+ enableParallelBuilding ? enableParallelBuildingByDefault,
separateDebugInfo ? false,
outputs ? [ "out" ],
@@ -428,11 +446,11 @@ let
__contentAddressed ?
(!attrs ? outputHash) # Fixed-output drvs can't be content addressed too
- && config.contentAddressedByDefault,
+ && contentAddressedByDefault,
# Experimental. For simple packages mostly just works,
# but for anything complex, be prepared to debug if enabling.
- __structuredAttrs ? config.structuredAttrsByDefault or false,
+ __structuredAttrs ? structuredAttrsByDefault,
...
}@attrs:
@@ -463,11 +481,6 @@ let
actualValue;
outputs' = if separateDebugInfo' then outputs ++ [ "debug" ] else outputs;
- # hardeningDisable additionally supports "all".
- erroneousHardeningFlags = subtractLists knownHardeningFlags (
- hardeningEnable ++ remove "all" hardeningDisable
- );
-
checkDependencyList = checkDependencyList' [ ];
checkDependencyList' =
positions: name: deps:
@@ -494,9 +507,19 @@ let
concatMapStrings (ix: "element ${toString ix} of ") ([ index ] ++ positions)
}${name} for ${attrs.name or attrs.pname}"
) 1 deps) deps;
+
+ isErroneous = flag: !elem flag knownHardeningFlags;
in
- if erroneousHardeningFlags != [ ] then
+ if
+ # Check if any hardening flag is erroneous
+ any isErroneous hardeningEnable || any (flag: flag != "all" && isErroneous flag) hardeningDisable
+ then
abort (
+ let
+ erroneousHardeningFlags = subtractLists knownHardeningFlags (
+ hardeningEnable ++ remove "all" hardeningDisable
+ );
+ in
"mkDerivation was called with unsupported hardening flags: "
+ toPretty { } {
inherit
@@ -739,23 +762,21 @@ let
else
null
} =
- let
- enabledHardeningOptions =
- if elem "all" hardeningDisable then
- [ ]
- else
- subtractLists (unique (
- pipe hardeningDisable [
- # disabling fortify implies fortify3 should also be disabled
- (concretizeFlagImplications "fortify" [ "fortify3" ])
- # disabling strictflexarrays1 implies strictflexarrays3 should also be disabled
- (concretizeFlagImplications "strictflexarrays1" [ "strictflexarrays3" ])
- # disabling libcxxhardeningfast implies libcxxhardeningextensive should also be disabled
- (concretizeFlagImplications "libcxxhardeningfast" [ "libcxxhardeningextensive" ])
- ]
- )) (defaultHardeningFlags ++ hardeningEnable);
- in
- concatStringsSep " " enabledHardeningOptions;
+ concatStringsSep " " (
+ if elem "all" hardeningDisable then
+ [ ]
+ else
+ filter (
+ flag:
+ !(elem flag hardeningDisable)
+ # disabling fortify implies fortify3 should also be disabled
+ && (flag == "fortify3" -> !elem "fortify" hardeningDisable)
+ # disabling strictflexarrays1 implies strictflexarrays3 should also be disabled
+ && (flag == "strictflexarrays3" -> !elem "strictflexarrays1" hardeningDisable)
+ # disabling libcxxhardeningfast implies libcxxhardeningextensive should also be disabled
+ && (flag == "libcxxhardeningextensive" -> !elem "libcxxhardeningfast" hardeningDisable)
+ ) (defaultHardeningFlags ++ hardeningEnable)
+ );
# TODO: remove platform condition
# Enabling this check could be a breaking change as it requires to edit nix.conf
@@ -918,7 +939,7 @@ let
# Experimental. For simple packages mostly just works,
# but for anything complex, be prepared to debug if enabling.
- __structuredAttrs ? config.structuredAttrsByDefault or false,
+ __structuredAttrs ? structuredAttrsByDefault,
env ? { },
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 1861ca498ede..f8f82a93a828 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -40,33 +40,44 @@ in
openssh_hpn = common rec {
pname = "openssh-with-hpn";
- version = "10.2p1";
+ version = "10.3p1";
extraDesc = " with high performance networking patches";
src = fetchurl {
url = urlFor version;
- hash = "sha256-zMQsBBmTeVkmP6Hb0W2vwYxWuYTANWLSk3zlamD3mLI=";
+ hash = "sha256-VmgqNruS3PS08Bb9jsjnQFm3mo3iXBXWcNcx59GORfQ=";
};
extraPatches =
let
- url = "https://raw.githubusercontent.com/freebsd/freebsd-ports/7d4f03d56d19a19a15399a03b3ceca8a0f5924b4/security/openssh-portable/files/extra-patch-hpn";
+ urlBase = "https://raw.githubusercontent.com/freebsd/freebsd-ports/294be7ad9ef5106b696d830e06b9f322bd79d6f5/security/openssh-portable/files";
+ noBlocklistdHpnGluePatch = "${urlBase}/extra-patch-no-blocklistd-hpn-glue";
+ hpnPatch = "${urlBase}/extra-patch-hpn";
in
[
./ssh-keysign-8.5.patch
+ # the blocklistd patch from FreeBSD ports is now required for HPN,
+ # unless we apply this HPN glue patch
+ (fetchpatch {
+ name = "ssh-no-blocklistd-hpn-glue.patch";
+ url = noBlocklistdHpnGluePatch;
+ extraPrefix = "";
+ hash = "sha256-+AeJ9fLmmT/P07JZvGaXpNft+2F9PoFsbzr+s9wfdro=";
+ })
+
# HPN Patch from FreeBSD ports
(fetchpatch {
name = "ssh-hpn-wo-channels.patch";
- inherit url;
+ url = hpnPatch;
stripLen = 1;
excludes = [ "channels.c" ];
- hash = "sha256-BGR0Jn1JoD/0q9/TKjygg9C3UWeVf0R2DrH0esMzmpY=";
+ hash = "sha256-dEYCSBcUXbSBzoMV/6QwLl5tj0c0/DPTtArchfRRQvM=";
})
(fetchpatch {
name = "ssh-hpn-channels.patch";
- inherit url;
+ url = hpnPatch;
extraPrefix = "";
includes = [ "channels.c" ];
hash = "sha256-pDLUbjv5XIyByEbiRAXC3WMUPKmn15af1stVmcvr7fE=";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 4e65749da218..73ea6e0ad256 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -13292,6 +13292,8 @@ self: super: with self; {
py-aosmith = callPackage ../development/python-modules/py-aosmith { };
+ py-arwen = callPackage ../development/python-modules/py-arwen { };
+
py-bip39-bindings = callPackage ../development/python-modules/py-bip39-bindings { };
py-canary = callPackage ../development/python-modules/py-canary { };