Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2026-03-07 12:08:40 +00:00
committed by GitHub
70 changed files with 1665 additions and 1786 deletions
+16 -17
View File
@@ -254,7 +254,7 @@ By default, it takes the `stdenv.hostPlatform.config` and replaces components
where they are known to differ. But there are ways to customize the argument:
- To choose a different target by name, define
`stdenv.hostPlatform.rust.rustcTarget` as that name (a string), and that
`stdenv.hostPlatform.rust.rustcTargetSpec` as that name (a string), and that
name will be used instead.
For example:
@@ -262,7 +262,7 @@ where they are known to differ. But there are ways to customize the argument:
```nix
import <nixpkgs> {
crossSystem = (import <nixpkgs/lib>).systems.examples.armhf-embedded // {
rust.rustcTarget = "thumbv7em-none-eabi";
rust.rustcTargetSpec = "thumbv7em-none-eabi";
};
}
```
@@ -274,22 +274,24 @@ where they are known to differ. But there are ways to customize the argument:
```
- To pass a completely custom target, define
`stdenv.hostPlatform.rust.rustcTarget` with its name, and
`stdenv.hostPlatform.rust.platform` with the value. The value will be
serialized to JSON in a file called
`${stdenv.hostPlatform.rust.rustcTarget}.json`, and the path of that file
will be used instead.
`stdenv.hostPlatform.rust.rustcTargetSpec` with the path to the custom
target specification JSON file.
Note that some tools like Cargo and some crates like `cc` make use of the
file name of the target JSON. Therefore, do not use
`./path/to/target-spec.json` directly, because it will be renamed by Nix.
Instead, place it a directory and use `"${./path/to/dir}/target-spec.json"`.
The directory should contain only this one file, to avoid unrelated changes
causing unnecessary rebuilds.
For example:
```nix
import <nixpkgs> {
crossSystem = (import <nixpkgs/lib>).systems.examples.armhf-embedded // {
rust.rustcTarget = "thumb-crazy";
rust.platform = {
foo = "";
bar = "";
};
crossSystem = {
config = "mips64el-unknown-linux-gnuabi64";
# gcc = ...; # Config for C compiler omitted
rust.rustcTargetSpec = "${./rust}/mips64el_mips3-unknown-linux-gnuabi64.json";
};
}
```
@@ -297,12 +299,9 @@ where they are known to differ. But there are ways to customize the argument:
will result in:
```shell
--target /nix/store/asdfasdfsadf-thumb-crazy.json # contains {"foo":"","bar":""}
--target /nix/store/...-rust/mips64el_mips3-unknown-linux-gnuabi64.json
```
Note that currently custom targets aren't compiled with `std`, so `cargo test`
will fail. This can be ignored by adding `doCheck = false;` to your derivation.
### Running package tests {#running-package-tests}
When using `buildRustPackage`, the `checkPhase` is enabled by default and runs
+82 -72
View File
@@ -417,66 +417,75 @@ let
// args
// {
rust = rust // {
# Once args.rustc.platform.target-family is deprecated and
# removed, there will no longer be any need to modify any
# values from args.rust.platform, so we can drop all the
# "args ? rust" etc. checks, and merge args.rust.platform in
# /after/.
platform = rust.platform or { } // {
# https://doc.rust-lang.org/reference/conditional-compilation.html#target_arch
arch =
if rust ? platform then
rust.platform.arch
else if final.isAarch32 then
"arm"
else if final.isMips64 then
"mips64" # never add "el" suffix
else if final.isPower64 then
"powerpc64" # never add "le" suffix
platform =
rust.platform or (
if lib.hasSuffix ".json" (rust.rustcTargetSpec or "") then
lib.importJSON rust.rustcTargetSpec
else
final.parsed.cpu.name;
{ }
)
# https://doc.rust-lang.org/reference/conditional-compilation.html#target_os
os =
if rust ? platform then
rust.platform.os or "none"
else if final.isDarwin then
"macos"
else if final.isWasm && !final.isWasi then
"unknown" # Needed for {wasm32,wasm64}-unknown-unknown.
else
final.parsed.kernel.name;
# Once args.rustc.platform.target-family is deprecated and
# removed, there will no longer be any need to modify any
# values from args.rust.platform, so we can drop all the
# "args ? rust" etc. checks, and merge args.rust.platform in
# /after/.
// {
# https://doc.rust-lang.org/reference/conditional-compilation.html#target_arch
arch =
if rust ? platform then
rust.platform.arch
else if final.isAarch32 then
"arm"
else if final.isMips64 then
"mips64" # never add "el" suffix
else if final.isPower64 then
"powerpc64" # never add "le" suffix
else
final.parsed.cpu.name;
# https://doc.rust-lang.org/reference/conditional-compilation.html#target_family
target-family =
if args ? rust.platform.target-family then
args.rust.platform.target-family
else if args ? rustc.platform.target-family then
(
# Since https://github.com/rust-lang/rust/pull/84072
# `target-family` is a list instead of single value.
let
f = args.rustc.platform.target-family;
in
if isList f then f else [ f ]
)
else
optional final.isUnix "unix" ++ optional final.isWindows "windows" ++ optional final.isWasm "wasm";
# https://doc.rust-lang.org/reference/conditional-compilation.html#target_os
os =
if rust ? platform then
rust.platform.os or "none"
else if final.isDarwin then
"macos"
else if final.isWasm && !final.isWasi then
"unknown" # Needed for {wasm32,wasm64}-unknown-unknown.
else
final.parsed.kernel.name;
# https://doc.rust-lang.org/reference/conditional-compilation.html#target_vendor
vendor =
let
inherit (final.parsed) vendor;
in
rust.platform.vendor or {
"w64" = "pc";
}
.${vendor.name} or vendor.name;
};
# https://doc.rust-lang.org/reference/conditional-compilation.html#target_family
target-family =
if args ? rust.platform.target-family then
args.rust.platform.target-family
else if args ? rustc.platform.target-family then
(
# Since https://github.com/rust-lang/rust/pull/84072
# `target-family` is a list instead of single value.
let
f = args.rustc.platform.target-family;
in
if isList f then f else [ f ]
)
else
optional final.isUnix "unix" ++ optional final.isWindows "windows" ++ optional final.isWasm "wasm";
# The name of the rust target, even if it is custom. Adjustments are
# because rust has slightly different naming conventions than we do.
rustcTarget =
# https://doc.rust-lang.org/reference/conditional-compilation.html#target_vendor
vendor =
let
inherit (final.parsed) vendor;
in
rust.platform.vendor or {
"w64" = "pc";
}
.${vendor.name} or vendor.name;
};
# The name of the rust target if it is standard, or the json file
# containing the custom target spec. Adjustments are because rust has
# slightly different naming conventions than we do.
rustcTargetSpec =
let
inherit (final.parsed) cpu kernel abi;
cpu_ =
@@ -497,28 +506,29 @@ let
"gnu"
else
abi.name;
inferred =
if final.isWasi then
# Rust uses `wasm32-wasip?` rather than `wasm32-unknown-wasi`.
# We cannot know which subversion does the user want, and
# currently use WASI 0.1 as default for compatibility. Custom
# users can set `rust.rustcTargetSpec` to override it.
"${cpu_}-wasip1"
else
"${cpu_}-${vendor_}-${kernel.name}${optionalString (abi.name != "unknown") "-${abi_}"}";
in
# TODO: deprecate args.rustc in favour of args.rust after 23.05 is EOL.
args.rust.rustcTarget or args.rustc.config or (
# Rust uses `wasm32-wasip?` rather than `wasm32-unknown-wasi`.
# We cannot know which subversion does the user want, and
# currently use WASI 0.1 as default for compatibility. Custom
# users can set `rust.rustcTarget` to override it.
if final.isWasi then
"${cpu_}-wasip1"
args.rust.rustcTargetSpec or args.rustc.config or (
if rust ? platform then
# TODO: This breaks cc-rs and thus std support, so maybe remove support?
builtins.toFile (rust.rustcTarget or inferred + ".json") (toJSON rust.platform)
else
"${cpu_}-${vendor_}-${kernel.name}${optionalString (abi.name != "unknown") "-${abi_}"}"
args.rust.rustcTarget or inferred
);
# The name of the rust target if it is standard, or the json file
# containing the custom target spec.
rustcTargetSpec =
rust.rustcTargetSpec or (
if rust ? platform then
builtins.toFile (final.rust.rustcTarget + ".json") (toJSON rust.platform)
else
final.rust.rustcTarget
);
# Do not use rustcTarget. Use rustcTargetSpec or cargoShortTarget.
# TODO: Remove all in-tree usages, and deprecate
rustcTarget = rust.rustcTarget or final.rust.cargoShortTarget;
# The name of the rust target if it is standard, or the
# basename of the file containing the custom target spec,
@@ -6,13 +6,13 @@
}:
vimUtils.buildVimPlugin {
pname = "zig.vim";
version = "0-unstable-2026-02-13";
version = "0-unstable-2026-02-27";
src = fetchFromCodeberg {
owner = "ziglang";
repo = "zig.vim";
rev = "f65b43b90cbc3e179b3146d2237f503783119ab8";
hash = "sha256-4Ssde+vLYn/NnL24sDW6Z+yDN2dWKaOFgrFYm1oVQjg=";
rev = "366ef4855d22fd1377b81c382542466475b73a01";
hash = "sha256-bo6/lvDx8JCttwTVw1eAImF/b5Aa0ekDN5H6WI0TAdo=";
};
passthru.updateScript = nix-update-script {
@@ -1310,11 +1310,11 @@
"vendorHash": "sha256-omxEb+ntQuHDfS2Rmt0rj0BF0Q2T8DLhobLua2uU/0o="
},
"tencentcloudstack_tencentcloud": {
"hash": "sha256-T2pGaLv8uUBHi3MyLVLEfPleoHb3R2QuQa3pFEqxAoM=",
"hash": "sha256-kEdt8shf0bLyPzz6Lysj0yyx6leLHl4g9BjuXRdWPVo=",
"homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud",
"owner": "tencentcloudstack",
"repo": "terraform-provider-tencentcloud",
"rev": "v1.82.70",
"rev": "v1.82.73",
"spdx": "MPL-2.0",
"vendorHash": null
},
@@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation {
pname = "ananicy-rules-cachyos";
version = "0-unstable-2026-02-23";
version = "0-unstable-2026-03-05";
src = fetchFromGitHub {
owner = "CachyOS";
repo = "ananicy-rules";
rev = "fc76e0a3c558a7c67189cba69e6f91fb78dda66a";
hash = "sha256-Pxta9rudG3Hv6G91l5/VBqa5JvQ4OZo8u8oq2XnfH7Q=";
rev = "c85891564f1c600042cefc38a20b3aa448786e7d";
hash = "sha256-0GEZroVztjSDIhLuW4XX8IQ+QwzENOkk44w8Dm5zw/o=";
};
dontConfigure = true;
@@ -73,6 +73,7 @@
url = "https://azcliprod.blob.core.windows.net/cli-extensions/application_insights-${version}-py2.py3-none-any.whl";
hash = "sha256-4akS+zbaKxFrs0x0uKP/xX28WyK5KLduOkgZaBYeANM=";
description = "Support for managing Application Insights components and querying metrics, events, and logs from such components";
pythonRelaxDeps = [ "isodate" ];
propagatedBuildInputs = with python3Packages; [ isodate ];
meta.maintainers = with lib.maintainers; [ andreasvoss ];
};
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-edit";
version = "0.13.8";
version = "0.13.9";
src = fetchFromGitHub {
owner = "killercup";
repo = "cargo-edit";
rev = "v${finalAttrs.version}";
hash = "sha256-+CWCWhdb7S4QSNAfzL2+YMTF7oKQvk18NSxSSTQtQBc=";
hash = "sha256-8cl7Ev4G3w8UZltP4GnoZs2SWChVipePtUezavmftso=";
};
cargoHash = "sha256-D2klo0arp1Gv6y1a1lCM3Ht4nAirkao/Afu7FE3CTbg=";
cargoHash = "sha256-CDrTVl7XQIpuEQc8WdVkzVMk1vHw0H0YOpQQsvQcczU=";
nativeBuildInputs = [ pkg-config ];
+3 -3
View File
@@ -7,16 +7,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-sonar";
version = "1.3.1";
version = "1.5.0";
src = fetchFromGitLab {
owner = "woshilapin";
repo = "cargo-sonar";
tag = finalAttrs.version;
hash = "sha256-QK5hri+H1sphk+/0gU5iGrFo6POP/sobq0JL7Q+rJcc=";
hash = "sha256-OcJG4UlxJvk888LKbXOFT/AaORzFrp/2dPR2ix3u2xY=";
};
cargoHash = "sha256-d6LXzWjt2Esbxje+gc8gRA72uxHE2kTUNKdhDlAP0K0=";
cargoHash = "sha256-zjDJzHRIKa81sHDJMAXhOsW4IeFf2DBfyEAqQJQUjEk=";
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
+2 -2
View File
@@ -8,11 +8,11 @@
buildGraalvmNativeImage (finalAttrs: {
pname = "cljfmt";
version = "0.16.0";
version = "0.16.1";
src = fetchurl {
url = "https://github.com/weavejester/cljfmt/releases/download/${finalAttrs.version}/cljfmt-${finalAttrs.version}-standalone.jar";
hash = "sha256-56llKSnJJzjv9mf33ir7b3gk8Jp+jxyuax6vEXj0xDk=";
hash = "sha256-bdYLTC6dvdbIQ07LoQTkbl5csxBG4F486UeebMyso0M=";
};
extraNativeImageBuildArgs = [
+4 -4
View File
@@ -10,16 +10,16 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cook-cli";
version = "0.20.0";
version = "0.24.0";
src = fetchFromGitHub {
owner = "cooklang";
repo = "cookcli";
rev = "v${finalAttrs.version}";
hash = "sha256-kGjeyw3E6hYcEOcGugW+mgvXGJ38pFp+z9vAMJqPTVE=";
hash = "sha256-ZRUnbhHXOl1FTvaMKzDxP7f7AkqTDfWjhVbBOdNsCvg=";
};
cargoHash = "sha256-SUnpv53UQiawGNdQLJCjpxzmbMV8eZq2ycRMnWJxVLc=";
cargoHash = "sha256-9FgCYHqcTyroTCDHhYXm9w+BBu8Hr8bWlvcqMU0O5TU=";
# Build without the self-updating feature
buildNoDefaultFeatures = true;
@@ -39,7 +39,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
npmDeps = fetchNpmDeps {
inherit (finalAttrs) src;
hash = "sha256-HxC9Tf+PZvvETuNqm1W3jaZx7SpYXlxZlI8FwGouK+s=";
hash = "sha256-KnVtLFD//Nq7ilu6bY6zrlLpyrHVmwxxojOzlu7DdLQ=";
};
preBuild = ''
+3 -3
View File
@@ -7,13 +7,13 @@
}:
buildGoModule (finalAttrs: {
pname = "devbox";
version = "0.16.0";
version = "0.17.0";
src = fetchFromGitHub {
owner = "jetify-com";
repo = "devbox";
tag = finalAttrs.version;
hash = "sha256-+OsFKBtc4UkkI37YJM9uKIJZC1+KkuDJJKjipRzyF7k=";
hash = "sha256-bW37yUZSqSYZeGHbWEFom5EjHdFhr/cFAhLX908zKRM=";
};
ldflags = [
@@ -27,7 +27,7 @@ buildGoModule (finalAttrs: {
# integration tests want file system access
doCheck = false;
vendorHash = "sha256-0lDPK9InxoQzndmQvhKCYvqEt2NL2A+rt3sGg+o1HTY=";
vendorHash = "sha256-xrN5AGc/f9CaI6WDfEFpJrRbPuBfxsjTGrEG4RbxVtM=";
nativeBuildInputs = [ installShellFiles ];
+2 -2
View File
@@ -7,13 +7,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "directx-headers";
version = "1.619.0";
version = "1.619.1";
src = fetchFromGitHub {
owner = "microsoft";
repo = "DirectX-Headers";
rev = "v${finalAttrs.version}";
hash = "sha256-WQsK5qk1KzKSJLd6p5MtdSIHKbuORFEq8mhF0hRz6ns=";
hash = "sha256-j/oPD44hjk8yH2EUX3gFpBOKWQvoRqBiO9ZH0z/lj/8=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "dnsrecon";
version = "1.5.3";
version = "1.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "darkoperator";
repo = "dnsrecon";
tag = finalAttrs.version;
hash = "sha256-MkeHQZXWCqZ9/Z8WEVZIkDeLB/bnSxi8NBpgrcxAo+s=";
hash = "sha256-3o3UOEvaUVtfqZNAXzos7mtsAeUxJXtwNDw1MCKZ0YM=";
};
pythonRelaxDeps = true;
+3 -3
View File
@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "fd";
version = "10.3.0";
version = "10.4.0";
src = fetchFromGitHub {
owner = "sharkdp";
repo = "fd";
rev = "v${finalAttrs.version}";
hash = "sha256-rUoR8LHtzwGQBwJGEsWpMYKG6HcGKcktcyF7TxTDJs8=";
hash = "sha256-EepsBVsu9a5Ax4BmpZwD22MJAPTFBMxlfuxFBCQ8vGU=";
};
cargoHash = "sha256-yiR23t48I0USD21tnFZzmTmO0D8kWNzP9Ff3QM9GitU=";
cargoHash = "sha256-ejjuQydDbHqYBEnzoDE/WS+lac14eVxxurMMW2+xleA=";
nativeBuildInputs = [ installShellFiles ];
+21 -8
View File
@@ -6,11 +6,12 @@
makeWrapper,
libaio,
pkg-config,
cunit,
python3,
zlib,
withGnuplot ? false,
gnuplot,
withLibnbd ? true,
withLibnbd ? stdenv.hostPlatform.isLinux,
libnbd,
}:
@@ -21,8 +22,8 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "axboe";
repo = "fio";
rev = "fio-${finalAttrs.version}";
sha256 = "sha256-m4JskjSc/KHjID+6j/hbhnGzehPxMxA3m2Iyn49bJDU=";
tag = "fio-${finalAttrs.version}";
hash = "sha256-m4JskjSc/KHjID+6j/hbhnGzehPxMxA3m2Iyn49bJDU=";
};
patches = [
@@ -34,6 +35,7 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
cunit
python3
zlib
]
@@ -44,7 +46,10 @@ stdenv.mkDerivation (finalAttrs: {
# We use $CC instead.
configurePlatforms = [ ];
configureFlags = lib.optional withLibnbd "--enable-libnbd";
configureFlags = [
"--disable-native"
]
++ lib.optional withLibnbd "--enable-libnbd";
dontAddStaticConfigureFlags = true;
@@ -59,10 +64,8 @@ stdenv.mkDerivation (finalAttrs: {
enableParallelBuilding = true;
postPatch = ''
substituteInPlace Makefile \
--replace "mandir = /usr/share/man" "mandir = \$(prefix)/man" \
--replace "sharedir = /usr/share/fio" "sharedir = \$(prefix)/share/fio"
substituteInPlace tools/plot/fio2gnuplot --replace /usr/share/fio $out/share/fio
substituteInPlace tools/plot/fio2gnuplot \
--replace-fail /usr/share/fio $out/share/fio
'';
pythonPath = [ python3.pkgs.six ];
@@ -75,6 +78,16 @@ stdenv.mkDerivation (finalAttrs: {
wrapPythonProgramsIn "$out/bin" "$out ''${pythonPath[*]}"
'';
doCheck = true;
checkPhase = ''
runHook preCheck
./unittests/unittest
runHook postCheck
'';
meta = {
description = "Flexible IO Tester - an IO benchmark tool";
homepage = "https://git.kernel.dk/cgit/fio/";
+3 -3
View File
@@ -27,7 +27,7 @@
}:
let
version = "1.25.0";
version = "1.26.0";
# build stimuli file for PGO build and the script to generate it
# independently of the foot's build, so we can cache the result
@@ -40,7 +40,7 @@ let
src = fetchurl {
url = "https://codeberg.org/dnkl/foot/raw/tag/${version}/scripts/generate-alt-random-writes.py";
hash = "sha256-/KykHPqM0WQ1HO83bOrxJ88mvEAf0Ah3S8gSvKb3AJM=";
hash = "sha256-d7oE3hSStET9Bz8PcmRHSZ+ga+7lrL3/oJdx7phNei8=";
};
dontUnpack = true;
@@ -103,7 +103,7 @@ stdenv.mkDerivation {
owner = "dnkl";
repo = "foot";
tag = version;
hash = "sha256-s7SwIdkWhBKcq9u4V0FLKW6CA36MBvDyB9ELB0V52O0=";
hash = "sha256-XnGNrQVdSyg5CVBZBwrqDPbf4/+9yyerGBrZArbh6xI=";
};
separateDebugInfo = true;
File diff suppressed because it is too large Load Diff
+15 -10
View File
@@ -7,9 +7,10 @@
fontconfig,
glib,
libglvnd,
libx11,
libsm,
libice,
libxinerama,
libxkbcommon,
libxt,
libxtst,
makeWrapper,
makeDesktopItem,
copyDesktopItems,
@@ -18,19 +19,19 @@
buildDotnetModule rec {
pname = "galaxy-buds-client";
version = "5.1.2";
version = "5.2.0";
src = fetchFromGitHub {
owner = "ThePBone";
repo = "GalaxyBudsClient";
tag = version;
hash = "sha256-ygxrtRapduvK7qAHZzdHnCijm8mcqOviMl2ddf9ge+Y=";
hash = "sha256-rFaI5coTGuWoxM3QZyCBJdvwvR6LeB2jjvcJ3xXw5X8=";
};
projectFile = [ "GalaxyBudsClient/GalaxyBudsClient.csproj" ];
nugetDeps = ./deps.json;
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_8_0;
dotnet-sdk = dotnetCorePackages.sdk_10_0;
dotnet-runtime = dotnetCorePackages.runtime_10_0;
dotnetFlags =
lib.optionals stdenv.hostPlatform.isx86_64 [ "-p:Runtimeidentifier=linux-x64" ]
++ lib.optionals stdenv.hostPlatform.isAarch64 [ "-p:Runtimeidentifier=linux-arm64" ];
@@ -47,9 +48,10 @@ buildDotnetModule rec {
runtimeDeps = [
libglvnd
libsm
libice
libx11
libxinerama
libxkbcommon
libxt
libxtst
];
postFixup = ''
@@ -58,6 +60,9 @@ buildDotnetModule rec {
mkdir -p $out/share/icons/hicolor/256x256/apps/
cp -r $src/GalaxyBudsClient/Resources/icon.png $out/share/icons/hicolor/256x256/apps/${meta.mainProgram}.png
# remove wrongly created wrapper for shared objects
rm $out/bin/*.so
'';
desktopItems = [
+4 -2
View File
@@ -7,16 +7,17 @@
yarn,
yarnConfigHook,
nixosTests,
nix-update-script,
}:
buildGo125Module (finalAttrs: {
pname = "gotosocial";
version = "0.21.0";
version = "0.21.1";
src = fetchFromCodeberg {
owner = "superseriousbusiness";
repo = "gotosocial";
tag = "v${finalAttrs.version}";
hash = "sha256-ifSm3tV8P435v7WUS2BYXfVS3FHu9Axz3IQWGdTw3Bg=";
hash = "sha256-LnxEvOLv+NBjdAbxxtilegW/xqBvMzy3CGM75yJsW0s=";
};
vendorHash = null;
@@ -82,6 +83,7 @@ buildGo125Module (finalAttrs: {
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
passthru.tests.gotosocial = nixosTests.gotosocial;
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://gotosocial.org";
@@ -0,0 +1,12 @@
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -30,7 +30,7 @@ fi
PKG_CHECK_MODULES([LIBZ], [zlib])
AC_MSG_CHECKING([libz library directory])
-PKG_CHECK_VAR([LIBZ_LIBDIR], [zlib], [libdir])
+PKG_CHECK_VAR([LIBZ_LIBDIR], [zlib], [sharedlibdir])
AC_MSG_RESULT([$LIBZ_LIBDIR])
AS_IF([test "x$LIBZ_LIBDIR" = "x"], [
AC_MSG_FAILURE([Unable to identify libz lib path.])
+5
View File
@@ -21,6 +21,11 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-aaZhwHimQq408DNtHy442kh/EYdRdxP0Z1tQGDKmkmc=";
};
patches = [
# fix path to libz.so to sharedlibdir from zlib.pc
./guile-zlib-change-zlib-path-from-libdir-to-sharedlibdir.diff
];
strictDeps = true;
nativeBuildInputs = [
autoreconfHook
+2 -2
View File
@@ -26,13 +26,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gvm-libs";
version = "22.35.8";
version = "22.36.0";
src = fetchFromGitHub {
owner = "greenbone";
repo = "gvm-libs";
tag = "v${finalAttrs.version}";
hash = "sha256-yJetYU2veAnwvbi8C/zvz7F58hDhAD/+VGwCQ1Z3KEE=";
hash = "sha256-W8wJS3nI4UYDJV+cOermR02SNmskNpGNQ8E5Yz0X/ws=";
};
postPatch = ''
+15
View File
@@ -8,6 +8,7 @@
fetchFromGitHub,
htslib,
lib,
libdeflate,
makeWrapper,
perl,
python3,
@@ -56,6 +57,16 @@ stdenv.mkDerivation (finalAttrs: {
--replace-fail \
"cmake_minimum_required (VERSION 2.8)" \
"cmake_minimum_required (VERSION 3.10)"
# Boost 1.89 no longer provides a boost_system CMake component package,
substituteInPlace CMakeLists.txt \
--replace-fail \
"filesystem system program_options" \
"filesystem program_options"
# Insert missing include for uint64_t
sed -i '/#include <vector>/a #include <cstdint>' src/c++/include/helpers/Roc.hh
'';
patches = [
@@ -64,6 +75,9 @@ stdenv.mkDerivation (finalAttrs: {
# Update to python3
./python3.patch
];
env.NIX_LDFLAGS = toString [ "-ldeflate" ];
nativeBuildInputs = [
autoconf
cmake
@@ -74,6 +88,7 @@ stdenv.mkDerivation (finalAttrs: {
bzip2
curl
htslib
libdeflate
my-python
rtg-tools
xz
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "keep-sorted";
version = "0.7.1";
version = "0.8.0";
src = fetchFromGitHub {
owner = "google";
repo = "keep-sorted";
tag = "v${finalAttrs.version}";
hash = "sha256-1WkxZRxXafz8xTmdy0aP+jqWsuwQlvkZSmEjnlmHBaA=";
hash = "sha256-/j7gtjSTLDNPBlpcvRBlCyEx0cjBb9Iy7iCzMRM3TE4=";
};
vendorHash = "sha256-HTE9vfjRmi5GpMue7lUfd0jmssPgSOljbfPbya4uGsc=";
vendorHash = "sha256-yocIoS0MknQt7Zz347W9bv63L1xaPBgkZOcpf0lhXBg=";
# Inject version string instead of reading version from buildinfo.
postPatch = ''
+5 -5
View File
@@ -5,13 +5,13 @@
dpkg,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "mlxbf-bootimages";
version = "4.11.0-13611";
version = "4.14.0-13878";
src = fetchurl {
url = "https://linux.mellanox.com/public/repo/bluefield/${version}/bootimages/prod/${pname}-signed_${version}_arm64.deb";
hash = "sha256-bZpZ6qnC3Q/BuOngS4ZoU6vjeekPjVom0KdDoJF5iko=";
url = "https://linux.mellanox.com/public/repo/doca/3.3.0-${finalAttrs.version}/ubuntu24.04/arm64/mlxbf-bootimages-signed_${finalAttrs.version}_arm64.deb";
hash = "sha256-CeUjmyU1kfsQWNFm/EN3arF7t8lM1o7p9oF7DqeiCnk=";
};
nativeBuildInputs = [
@@ -40,4 +40,4 @@ stdenv.mkDerivation rec {
thillux
];
};
}
})
+4 -1
View File
@@ -16,7 +16,10 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
hash = "sha256-mN2X6Zbai7xm8bdr2hi9fwzIsfQtukeGcOIS32G4hA0=";
};
pythonRelaxDeps = [ "rich" ];
pythonRelaxDeps = [
"rich"
"tomlkit"
];
build-system = with python3.pkgs; [
poetry-core
+2 -2
View File
@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "myanon";
version = "0.7";
version = "0.8.1";
src = fetchFromGitHub {
owner = "ppomes";
repo = "myanon";
tag = "v${finalAttrs.version}";
hash = "sha256-pbClzLj9b4ZsehjSXwJjPlxpT6tlKcsZfEEfXVstlnA=";
hash = "sha256-HOWwFdNFfebjWcmADyGVFMQ00sLp+ykk9ZCYI9grYWY=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -25,20 +25,20 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "n8n";
version = "2.10.2";
version = "2.10.4";
src = fetchFromGitHub {
owner = "n8n-io";
repo = "n8n";
tag = "n8n@${finalAttrs.version}";
hash = "sha256-Mpeksn6Xkk7jc4xJIdFS+9rWy882H85h82/IZ0RlUhI=";
hash = "sha256-/UJ6+EpNh+jr8digBFKltxahebAeJKGwj3rbkXO0vm8=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
fetcherVersion = 3;
hash = "sha256-fnaQKbJqv1Gkc75wbCgRId4g53os5VKRhb3Jlb2eWRQ=";
hash = "sha256-2m5ftzOKzXpRDdeUDfoWkpYY982cyqHB7uTZ3/3dhsk=";
};
nativeBuildInputs = [
+5 -11
View File
@@ -19,15 +19,15 @@
let
arch = if stdenv.hostPlatform.isx86_64 then "x64" else stdenv.hostPlatform.parsed.cpu.name;
in
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "Quake3e";
version = "2024-09-02-dev";
version = "2025-10-14";
src = fetchFromGitHub {
owner = "ec-";
repo = "Quake3e";
rev = "b6e7ce4f78711e1c9d2924044a9a9d8a9db7020f";
sha256 = "sha256-tQgrHiP+QhBzcUnHRwzaDe38Th0uDt450fra8O3Vjqc=";
tag = finalAttrs.version;
sha256 = "sha256-3Ij0GEPXdl7Lhp9o1Zdwg1tcLgFEay686QjhSlh8iAo=";
};
nativeBuildInputs = [
@@ -60,12 +60,6 @@ stdenv.mkDerivation {
sed -i -e 's#"libcurl.so.4"#"${curl.out}/lib/libcurl.so.4"#' code/client/cl_curl.h
'';
# Default value for `USE_SDL` changed (from 0 to 1) in 5f8ce6d (2020-12-26)
# Setting `USE_SDL=0` in `makeFlags` doesn't work
preConfigure = ''
sed -i 's/USE_SDL *= 1/USE_SDL = 0/' Makefile
'';
installPhase = ''
runHook preInstall
make install DESTDIR=$out/lib
@@ -93,4 +87,4 @@ stdenv.mkDerivation {
alx
];
};
}
})
+3 -3
View File
@@ -5,17 +5,17 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rust-rpxy";
version = "0.10.4";
version = "0.11.0";
src = fetchFromGitHub {
owner = "junkurihara";
repo = "rust-rpxy";
tag = finalAttrs.version;
hash = "sha256-KGg+OtQj1PIp/zbViPTyAUvm6bRzWB1l6ktpDEOIDYM=";
hash = "sha256-TKaOHJSvio1WrrNI9fe9/q32JOCfz764z1Q9emWUgLg=";
fetchSubmodules = true;
};
cargoHash = "sha256-Fe/64ytHYBf1/VvWVGWrXiqHwAcoUh76zgHJ8FbTbzE=";
cargoHash = "sha256-j5Z0Pvj/v9LfKeDgnP0hGXJcuCXJjCco3Vy0YeFSTzs=";
meta = {
description = "Http reverse proxy serving multiple domain names and terminating TLS for http/1.1, 2 and 3, written in Rust";
+1 -4
View File
@@ -1,4 +1 @@
{
"receive_sharing_intent": "sha256-8D5ZENARPZ7FGrdIErxOoV3Ao35/XoQ2tleegI42ZUY=",
"slang": "sha256-AU8pA7DN3PuNPBtbLX/LQChoXraTQfkNc7dGEAsYkGU="
}
{}
+2 -2
View File
@@ -24,13 +24,13 @@ let
ln -s ${zlib}/lib $out/lib
'';
version = "1.29.5";
version = "1.31.1";
src = fetchFromGitHub {
owner = "saber-notes";
repo = "saber";
tag = "v${version}";
hash = "sha256-IHsVeOEgVV6GlqiH9RextBKLfIZ/jQ8+OWTcjAGNu5c=";
hash = "sha256-rMZNcq2Qvha0Mqq2fZwYyzp/rUh8LLtO60yXgv1EPJE=";
};
in
flutter338.buildFlutterApplication {
+160 -113
View File
@@ -104,11 +104,11 @@
"dependency": "direct main",
"description": {
"name": "background_downloader",
"sha256": "e800c946df0bb6c73849716c25f54b7a0c94e8dccd02504cbd860a1742f970ef",
"sha256": "2ea5322fe836c0aaf96aefd29ef1936771c71927f687cf18168dcc119666a45f",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "9.4.4"
"version": "9.5.2"
},
"barcode": {
"dependency": "transitive",
@@ -144,11 +144,11 @@
"dependency": "direct main",
"description": {
"name": "bson",
"sha256": "f8c80be7a62a88f4add7c48cc83567c36a77532de107224df8328ef71f125045",
"sha256": "6e322cdf827db905ca48b018deed1804934840bce8ff6b3c2f5b2f81f99d8344",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "5.0.7"
"version": "5.0.8"
},
"built_collection": {
"dependency": "transitive",
@@ -164,31 +164,21 @@
"dependency": "transitive",
"description": {
"name": "built_value",
"sha256": "426cf75afdb23aa74bd4e471704de3f9393f3c7b04c1e2d9c6f1073ae0b8b139",
"sha256": "7931c90b84bc573fef103548e354258ae4c9d28d140e41961df6843c5d60d4d8",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.12.1"
},
"chalkdart": {
"dependency": "transitive",
"description": {
"name": "chalkdart",
"sha256": "7ffc6bd39c81453fb9ba8dbce042a9c960219b75ea1c07196a7fa41c2fab9e86",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.5"
"version": "8.12.3"
},
"characters": {
"dependency": "transitive",
"description": {
"name": "characters",
"sha256": "f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803",
"sha256": "faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.4.0"
"version": "1.4.1"
},
"charcode": {
"dependency": "transitive",
@@ -210,6 +200,16 @@
"source": "hosted",
"version": "1.1.2"
},
"code_assets": {
"dependency": "transitive",
"description": {
"name": "code_assets",
"sha256": "83ccdaa064c980b5596c35dd64a8d3ecc68620174ab9b90b6343b753aa721687",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.0"
},
"collapsible": {
"dependency": "direct main",
"description": {
@@ -244,11 +244,11 @@
"dependency": "transitive",
"description": {
"name": "cross_file",
"sha256": "701dcfc06da0882883a2657c445103380e53e647060ad8d9dfb710c100996608",
"sha256": "28bb3ae56f117b5aec029d702a90f57d285cd975c3c5c281eaca38dbc47c5937",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.3.5+1"
"version": "0.3.5+2"
},
"crypto": {
"dependency": "direct main",
@@ -314,11 +314,11 @@
"dependency": "transitive",
"description": {
"name": "dbus",
"sha256": "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c",
"sha256": "d0c98dcd4f5169878b6cf8f6e0a52403a9dff371a3e2f019697accbf6f44a270",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.7.11"
"version": "0.7.12"
},
"decimal": {
"dependency": "transitive",
@@ -414,11 +414,11 @@
"dependency": "transitive",
"description": {
"name": "equatable",
"sha256": "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7",
"sha256": "3e0141505477fd8ad55d6eb4e7776d3fe8430be8e497ccb1521370c3f21a3e2b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.7"
"version": "2.0.8"
},
"fake_async": {
"dependency": "transitive",
@@ -444,11 +444,11 @@
"dependency": "transitive",
"description": {
"name": "ffi",
"sha256": "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418",
"sha256": "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.4"
"version": "2.2.0"
},
"file": {
"dependency": "transitive",
@@ -464,11 +464,11 @@
"dependency": "direct main",
"description": {
"name": "file_picker",
"sha256": "d974b6ba2606371ac71dd94254beefb6fa81185bde0b59bdc1df09885da85fde",
"sha256": "57d9a1dd5063f85fa3107fb42d1faffda52fdc948cefd5fe5ea85267a5fc7343",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "10.3.8"
"version": "10.3.10"
},
"file_selector_linux": {
"dependency": "transitive",
@@ -708,6 +708,16 @@
"source": "hosted",
"version": "4.1.0"
},
"flutter_sharing_intent": {
"dependency": "direct main",
"description": {
"name": "flutter_sharing_intent",
"sha256": "16663db343f444236c15cc8223f4e9e4df2823e5a91f901fda0d46ae78d89287",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.4"
},
"flutter_speed_dial": {
"dependency": "direct main",
"description": {
@@ -748,21 +758,21 @@
"dependency": "direct main",
"description": {
"name": "flutter_web_auth_2",
"sha256": "3c14babeaa066c371f3a743f204dd0d348b7d42ffa6fae7a9847a521aff33696",
"sha256": "432ff8c7b2834eaeec3378d99e24a0210b9ac2f453b3f7a7d739a5c09069fba3",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.1.0"
"version": "5.0.1"
},
"flutter_web_auth_2_platform_interface": {
"dependency": "transitive",
"description": {
"name": "flutter_web_auth_2_platform_interface",
"sha256": "c63a472c8070998e4e422f6b34a17070e60782ac442107c70000dd1bed645f4d",
"sha256": "ba0fbba55bffb47242025f96852ad1ffba34bc451568f56ef36e613612baffab",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.1.0"
"version": "5.0.0"
},
"flutter_web_plugins": {
"dependency": "transitive",
@@ -810,21 +820,21 @@
"dependency": "direct main",
"description": {
"name": "go_router",
"sha256": "eff94d2a6fc79fa8b811dde79c7549808c2346037ee107a1121b4a644c745f2a",
"sha256": "7974313e217a7771557add6ff2238acb63f635317c35fa590d348fb238f00896",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "17.0.1"
"version": "17.1.0"
},
"golden_screenshot": {
"dependency": "direct dev",
"description": {
"name": "golden_screenshot",
"sha256": "2f7807322939ea921c593376c3d5f7c7b4b72e6c7bd8df927caff2b0d5f1d19a",
"sha256": "10716886073feaae43d1fb4f4af45aece147717d99cb8065a6052f8c306ec7e7",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "9.1.2"
"version": "10.0.0"
},
"gsettings": {
"dependency": "transitive",
@@ -846,6 +856,16 @@
"source": "hosted",
"version": "2.1.0"
},
"hooks": {
"dependency": "transitive",
"description": {
"name": "hooks",
"sha256": "7a08a0d684cb3b8fb604b78455d5d352f502b68079f7b80b831c62220ab0a4f6",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.1"
},
"html": {
"dependency": "transitive",
"description": {
@@ -966,11 +986,11 @@
"dependency": "transitive",
"description": {
"name": "json_annotation",
"sha256": "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1",
"sha256": "805fa86df56383000f640384b282ce0cb8431f1a7a2396de92fb66186d8c57df",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.9.0"
"version": "4.10.0"
},
"keybinder": {
"dependency": "direct main",
@@ -1016,11 +1036,11 @@
"dependency": "transitive",
"description": {
"name": "lints",
"sha256": "a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0",
"sha256": "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.0.0"
"version": "6.1.0"
},
"list_utilities": {
"dependency": "transitive",
@@ -1056,31 +1076,31 @@
"dependency": "transitive",
"description": {
"name": "matcher",
"sha256": "dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2",
"sha256": "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.12.17"
"version": "0.12.18"
},
"material_color_utilities": {
"dependency": "transitive",
"description": {
"name": "material_color_utilities",
"sha256": "f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec",
"sha256": "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.11.1"
"version": "0.13.0"
},
"material_symbols_icons": {
"dependency": "direct main",
"description": {
"name": "material_symbols_icons",
"sha256": "02555a48e1ec02b16e532dfd4ef13c4f6bf7ec7c20230e58e56641a393433dc3",
"sha256": "c62b15f2b3de98d72cbff0148812f5ef5159f05e61fc9f9a089ec2bb234df082",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.2892.0"
"version": "4.2906.0"
},
"matrix4_transform": {
"dependency": "transitive",
@@ -1122,6 +1142,16 @@
"source": "hosted",
"version": "3.1.0"
},
"native_toolchain_c": {
"dependency": "transitive",
"description": {
"name": "native_toolchain_c",
"sha256": "89e83885ba09da5fdf2cdacc8002a712ca238c28b7f717910b34bcd27b0d03ac",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.17.4"
},
"nested": {
"dependency": "transitive",
"description": {
@@ -1142,6 +1172,16 @@
"source": "hosted",
"version": "8.1.0"
},
"objective_c": {
"dependency": "transitive",
"description": {
"name": "objective_c",
"sha256": "100a1c87616ab6ed41ec263b083c0ef3261ee6cd1dc3b0f35f8ddfa4f996fe52",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "9.3.0"
},
"one_dollar_unistroke_recognizer": {
"dependency": "direct main",
"description": {
@@ -1165,11 +1205,11 @@
"dependency": "direct main",
"description": {
"name": "open_file",
"sha256": "d17e2bddf5b278cb2ae18393d0496aa4f162142ba97d1a9e0c30d476adf99c0e",
"sha256": "b22decdae85b459eac24aeece48f33845c6f16d278a9c63d75c5355345ca236b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.5.10"
"version": "3.5.11"
},
"open_file_android": {
"dependency": "transitive",
@@ -1185,11 +1225,11 @@
"dependency": "transitive",
"description": {
"name": "open_file_ios",
"sha256": "02996f01e5f6863832068e97f8f3a5ef9b613516db6897f373b43b79849e4d07",
"sha256": "a5acd07ba1f304f807a97acbcc489457e1ad0aadff43c467987dd9eef814098f",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.3"
"version": "1.0.4"
},
"open_file_linux": {
"dependency": "transitive",
@@ -1205,11 +1245,11 @@
"dependency": "transitive",
"description": {
"name": "open_file_mac",
"sha256": "1440b1e37ceb0642208cfeb2c659c6cda27b25187a90635c9d1acb7d0584d324",
"sha256": "cd293f6750de6438ab2390513c99128ade8c974825d4d8128886d1cda8c64d01",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.3"
"version": "1.0.4"
},
"open_file_platform_interface": {
"dependency": "transitive",
@@ -1335,11 +1375,11 @@
"dependency": "transitive",
"description": {
"name": "path_provider_foundation",
"sha256": "6d13aece7b3f5c5a9731eaf553ff9dcbc2eff41087fd2df587fd0fed9a3eb0c4",
"sha256": "2a376b7d6392d80cd3705782d2caa734ca4727776db0b6ec36ef3f1855197699",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.5.1"
"version": "2.6.0"
},
"path_provider_linux": {
"dependency": "transitive",
@@ -1415,41 +1455,41 @@
"dependency": "transitive",
"description": {
"name": "pdfium_flutter",
"sha256": "8b3f79c61a5e84f0ec43efb5708b42d032e72cb024244e050896eb5a31665ea5",
"sha256": "0c8b7d5d11d20a1486eade599648e907067568955bd14a1b06de076a968b60a1",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.1.7"
"version": "0.1.9"
},
"pdfrx": {
"dependency": "direct main",
"description": {
"name": "pdfrx",
"sha256": "8028b5a3d33ff189dbb968fafcce1a924b3397c923819f974f6bde483f0cf808",
"sha256": "e32e0c786528eec2b3c56b43f59ef1debce3a27c7accd862b95413f949afcfa9",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.2.18"
"version": "2.2.24"
},
"pdfrx_engine": {
"dependency": "transitive",
"description": {
"name": "pdfrx_engine",
"sha256": "e4e942bda9f3876d34729fab8e0c5185b9384614929d82bd6efa8ef2a31b0be3",
"sha256": "a8914433d1f6188b903c53d36b9d7dc908bfa89131591a9db22f1a22470d3a48",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.3.6"
"version": "0.3.9"
},
"perfect_freehand": {
"dependency": "direct main",
"description": {
"name": "perfect_freehand",
"sha256": "7a6a591832be33fe82d8ecab68562a794d39837af16e7413fe0ccebdd0c3e3c0",
"sha256": "f42b8164c4e7e689b278f4e2e8e8f5006e716f8c127eb44404f21bd73b1d3b56",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.5.1"
"version": "2.5.2+1"
},
"permission_handler": {
"dependency": "direct main",
@@ -1631,6 +1671,16 @@
"source": "hosted",
"version": "6.1.5+1"
},
"pub_semver": {
"dependency": "transitive",
"description": {
"name": "pub_semver",
"sha256": "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.2.0"
},
"qr": {
"dependency": "transitive",
"description": {
@@ -1741,17 +1791,6 @@
"source": "hosted",
"version": "2.2.3"
},
"receive_sharing_intent": {
"dependency": "direct main",
"description": {
"path": ".",
"ref": "2cea396843cd3ab1b5ec4334be4233864637874e",
"resolved-ref": "2cea396843cd3ab1b5ec4334be4233864637874e",
"url": "https://github.com/KasemJaffer/receive_sharing_intent"
},
"source": "git",
"version": "1.8.1"
},
"regexed_validator": {
"dependency": "direct main",
"description": {
@@ -1782,6 +1821,15 @@
"source": "hosted",
"version": "4.1.0"
},
"sbn": {
"dependency": "direct main",
"description": {
"path": "packages/sbn",
"relative": true
},
"source": "path",
"version": "0.0.1"
},
"screen_retriever": {
"dependency": "transitive",
"description": {
@@ -1846,41 +1894,41 @@
"dependency": "transitive",
"description": {
"name": "sentry",
"sha256": "9b2fe138df1a104f6e41d8ebf2b1e4fe39d4370d2200eb4eea29913d38b8b33b",
"sha256": "80b2a6667db8e0bb148ad70b2af242eb6aa8da9b56b56e72332a4221d93bc01d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "9.9.1"
"version": "9.12.0"
},
"sentry_dart_plugin": {
"dependency": "direct dev",
"description": {
"name": "sentry_dart_plugin",
"sha256": "4b25aa60b5cbb46bb23859ac9212c4de5b22e2b3bc3fecbcd611756ada8973b5",
"sha256": "514cd5cc5c022bed9c232d08dc126a081b8a965dbad78b819ae91bf3a06e622c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.2.0"
"version": "3.2.1"
},
"sentry_flutter": {
"dependency": "direct main",
"description": {
"name": "sentry_flutter",
"sha256": "698e0d47c0cf7362ad3b8034f6af5e9f3b2175d7a0cf58f78a967c29b43072b7",
"sha256": "df09c63e0111a9ad5c4a13a89def67327fc2028bec0f55c246d8c083d486e418",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "9.9.1"
"version": "9.12.0"
},
"sentry_logging": {
"dependency": "direct main",
"description": {
"name": "sentry_logging",
"sha256": "9cd3ee1f7a10d49cee179ed18ce8acd9e859cff4d118d9ba21b0df494ea8e7c1",
"sha256": "d546a7dc7734d3b61b3b09ab8fbf2026393eb72dbbede5442062080016f7a1d0",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "9.9.1"
"version": "9.12.0"
},
"share_plus": {
"dependency": "direct main",
@@ -1916,11 +1964,11 @@
"dependency": "transitive",
"description": {
"name": "shared_preferences_android",
"sha256": "83af5c682796c0f7719c2bbf74792d113e40ae97981b8f266fa84574573556bc",
"sha256": "cbc40be9be1c5af4dab4d6e0de4d5d3729e6f3d65b89d21e1815d57705644a6f",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.4.18"
"version": "2.4.20"
},
"shared_preferences_foundation": {
"dependency": "transitive",
@@ -1991,33 +2039,32 @@
"slang": {
"dependency": "direct main",
"description": {
"path": "slang",
"ref": "949a16664259005d7ac8df853ea5a6ef3b0e4380",
"resolved-ref": "949a16664259005d7ac8df853ea5a6ef3b0e4380",
"url": "https://github.com/adil192/slang"
"name": "slang",
"sha256": "81e277dc5e2305f53412b92afeb803620453259afe147d5cd6417700f998a7a6",
"url": "https://pub.dev"
},
"source": "git",
"version": "4.12.0"
"source": "hosted",
"version": "4.12.1"
},
"slang_flutter": {
"dependency": "direct main",
"description": {
"name": "slang_flutter",
"sha256": "0a4545cca5404d6b7487cf61cf1fe56c52daeb08de56a7574ee8381fbad035a0",
"sha256": "0f0276c400660c8b67150005aa4df57643b86ce6ae9c824abee8e25f345d9abc",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.12.0"
"version": "4.12.1"
},
"source_span": {
"dependency": "transitive",
"description": {
"name": "source_span",
"sha256": "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c",
"sha256": "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.10.1"
"version": "1.10.2"
},
"stack_trace": {
"dependency": "transitive",
@@ -2033,11 +2080,11 @@
"dependency": "direct main",
"description": {
"name": "stow",
"sha256": "4b8dbb36bb4fdbd47e9c3d3ce434e32dd91c98dd1ed469c769d5ebeb90949948",
"sha256": "b918efab4a9d81efb8b5ff55a8b0ed60e9f7fcb6f6b88909fbebb47881830edb",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.5.1+1"
"version": "0.6.0"
},
"stow_codecs": {
"dependency": "direct main",
@@ -2053,21 +2100,21 @@
"dependency": "direct main",
"description": {
"name": "stow_plain",
"sha256": "a463db00b22d5793cd9afb1137ca54783a29aca1a12242d5760b0a101cb71f41",
"sha256": "d2bd4d7138f23feab8eeab79a16551f641459a28db7ec0924eb4f944a7261d69",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.5.1"
"version": "0.6.0"
},
"stow_secure": {
"dependency": "direct main",
"description": {
"name": "stow_secure",
"sha256": "01dfaf2516b19f7c7f7476cbe614b9831175fc39c98dfbc3e1fd1371492de3cd",
"sha256": "cb65b475d626b83e91bdd92d760912867efd0f361c55ef9fa1e3fa64ae5bf93b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.5.1"
"version": "0.6.0"
},
"stream_channel": {
"dependency": "transitive",
@@ -2153,11 +2200,11 @@
"dependency": "transitive",
"description": {
"name": "test_api",
"sha256": "ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55",
"sha256": "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.7.7"
"version": "0.7.9"
},
"timezone": {
"dependency": "transitive",
@@ -2223,11 +2270,11 @@
"dependency": "transitive",
"description": {
"name": "url_launcher_ios",
"sha256": "cfde38aa257dae62ffe79c87fab20165dfdf6988c1d31b58ebf59b9106062aad",
"sha256": "b1aca26728b7cc7a3af971bb6f601554a8ae9df2e0a006de8450ba06a17ad36a",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.3.6"
"version": "6.4.0"
},
"url_launcher_linux": {
"dependency": "transitive",
@@ -2263,11 +2310,11 @@
"dependency": "transitive",
"description": {
"name": "url_launcher_web",
"sha256": "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2",
"sha256": "d0412fcf4c6b31ecfdb7762359b7206ffba3bbffd396c6d9f9c4616ece476c1f",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.4.1"
"version": "2.4.2"
},
"url_launcher_windows": {
"dependency": "transitive",
@@ -2313,11 +2360,11 @@
"dependency": "transitive",
"description": {
"name": "vector_graphics_compiler",
"sha256": "d354a7ec6931e6047785f4db12a1f61ec3d43b207fc0790f863818543f8ff0dc",
"sha256": "201e876b5d52753626af64b6359cd13ac6011b80728731428fd34bc840f71c9b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.19"
"version": "1.1.20"
},
"vector_math": {
"dependency": "direct main",
@@ -2353,11 +2400,11 @@
"dependency": "transitive",
"description": {
"name": "watcher",
"sha256": "f52385d4f73589977c80797e60fe51014f7f2b957b5e9a62c3f6ada439889249",
"sha256": "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.2.0"
"version": "1.2.1"
},
"web": {
"dependency": "transitive",
@@ -2513,11 +2560,11 @@
"dependency": "direct main",
"description": {
"name": "yaru",
"sha256": "704e10633b173d8f5308677d0879d31339204c5ae063aa904e46d8182e1cf191",
"sha256": "859f062535a51585689f7d72904e9533f7b1df93c0fe2e860591cff8f9371162",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "9.0.0"
"version": "9.0.1"
},
"yaru_window": {
"dependency": "transitive",
@@ -2571,7 +2618,7 @@
}
},
"sdks": {
"dart": ">=3.10.0 <4.0.0",
"flutter": ">=3.38.2"
"dart": ">=3.10.3 <4.0.0",
"flutter": ">=3.41.0"
}
}
+3 -3
View File
@@ -5,16 +5,16 @@
}:
buildGoModule (finalAttrs: {
pname = "testkube";
version = "2.5.7";
version = "2.6.3";
src = fetchFromGitHub {
owner = "kubeshop";
repo = "testkube";
rev = "${finalAttrs.version}";
hash = "sha256-5Fc/esXmwTMS929k6HXhmzGGlGaCWp/dKQUZm+kIz7M=";
hash = "sha256-rmSViKdYFNSgK5T6OyCQEiuY737S7NYqAGuR2/SHQLE=";
};
vendorHash = "sha256-e2lyJdD3j87494S6oif2/OnjzRY8AEiLZxd9KeMO7UE=";
vendorHash = "sha256-E1Ng1bHHXnFPJg/8VwJJpceZIxdbl4TwvWTMcd3sUMk=";
ldflags = [
"-X main.version=${finalAttrs.version}"
@@ -1,38 +1 @@
{
fetchFromGitHub,
lib,
nix-update-script,
python3,
}:
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "uefi-firmware-parser";
version = "1.13";
pyproject = true;
src = fetchFromGitHub {
owner = "theopolis";
repo = "uefi-firmware-parser";
rev = "v${finalAttrs.version}";
hash = "sha256-JPNur7Ipi+Ite9B7lqDm7h7iYUga8D+l18J2knCWZpk=";
};
build-system = [
python3.pkgs.setuptools
python3.pkgs.wheel
];
pythonRemoveDeps = [ "future" ];
pythonImportsCheck = [ "uefi_firmware" ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Tool for parsing, extracting, and recreating UEFI firmware volumes";
homepage = "https://github.com/theopolis/uefi-firmware-parser";
license = lib.licenses.mit;
platforms = lib.platforms.unix;
mainProgram = "uefi-firmware-parser";
};
})
{ python3Packages }: with python3Packages; toPythonApplication uefi-firmware-parser
+8 -1
View File
@@ -35,6 +35,9 @@
nixosTests,
}:
# lastlog requires PAM, or else it's broken.
assert withLastlog -> pamSupport;
let
isMinimal = cryptsetupSupport == false && !nlsSupport && !ncursesSupport && !systemdSupport;
in
@@ -52,6 +55,11 @@ stdenv.mkDerivation (finalAttrs: {
# which isn't valid on NixOS (and a compatibility link on most other modern
# distros anyway).
./rtcwake-search-PATH-for-shutdown.patch
# pam_lastlog2: link with libpam
# see https://github.com/NixOS/nixpkgs/issues/493934
./pam_lastlog2-add-lpam-to-Makemodule.am.patch
# bits: only build when cpu_set_t is available
# Otherwise, the build fails on macOS
(fetchurl {
@@ -202,7 +210,6 @@ stdenv.mkDerivation (finalAttrs: {
moveToOutput "bin/lastlog2" "$lastlog"
ln -svf "$lastlog/bin/"* $bin/bin/
''
+ lib.optionalString (withLastlog && systemdSupport) ''
moveToOutput "lib/systemd/system/lastlog2-import.service" "$lastlog"
@@ -0,0 +1,52 @@
From c8e620c6bcd044786c59f822810fc973090dbfa2 Mon Sep 17 00:00:00 2001
From: Morgan Jones <me@numin.it>
Date: Mon, 2 Mar 2026 11:03:39 -0800
Subject: [PATCH] pam_lastlog2: add -lpam to Makemodule.am
If we don't add this, we don't actually link with PAM; compare the
before and after of `lib/security/pam_lastlog2.so`.
```
Dynamic section at offset 0x2ce8 contains 31 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [liblastlog2.so.2]
0x0000000000000001 (NEEDED) Shared library: [libsqlite3.so]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000e (SONAME) Library soname: [pam_lastlog2.so]
```
```
Dynamic section at offset 0x2cd8 contains 32 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libpam.so.0]
0x0000000000000001 (NEEDED) Shared library: [liblastlog2.so.2]
0x0000000000000001 (NEEDED) Shared library: [libsqlite3.so]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000e (SONAME) Library soname: [pam_lastlog2.so]
```
This causes issues like https://github.com/NixOS/nixpkgs/issues/493934
where the library has trouble linking with PAM symbols because it is not
linked.
Signed-off-by: Morgan Jones <me@numin.it>
---
pam_lastlog2/src/Makemodule.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pam_lastlog2/src/Makemodule.am b/pam_lastlog2/src/Makemodule.am
index 40d597c58..629930853 100644
--- a/pam_lastlog2/src/Makemodule.am
+++ b/pam_lastlog2/src/Makemodule.am
@@ -13,7 +13,7 @@ pam_lastlog2_la_CFLAGS = \
pam_lastlog2_la_LIBADD = liblastlog2.la
-pam_lastlog2_la_LDFLAGS = $(SOLIB_LDFLAGS) -module -avoid-version -shared
+pam_lastlog2_la_LDFLAGS = $(SOLIB_LDFLAGS) -lpam -module -avoid-version -shared
if HAVE_VSCRIPT
pam_lastlog2_la_LDFLAGS += $(VSCRIPT_LDFLAGS),$(top_srcdir)/pam_lastlog2/src/pam_lastlog2.sym
endif
--
2.50.1
+5 -6
View File
@@ -5,17 +5,16 @@
fetchFromGitHub,
installShellFiles,
testers,
ytt,
}:
buildGoModule (finalAttrs: {
pname = "ytt";
version = "0.52.2";
version = "0.53.2";
src = fetchFromGitHub {
owner = "carvel-dev";
repo = "ytt";
rev = "v${finalAttrs.version}";
sha256 = "sha256-x+Lar/GYr+uGQ8PdG1ZyCovPpl/dj1m5UcPbHaH3IWw=";
tag = "v${finalAttrs.version}";
hash = "sha256-QGb3lTeMiYN4+uml1x0tIGRf7EF96gXIsXgkxyWxL1Q=";
};
vendorHash = null;
@@ -42,8 +41,8 @@ buildGoModule (finalAttrs: {
doCheck = false;
passthru.tests.version = testers.testVersion {
package = ytt;
command = "ytt --version";
package = finalAttrs.finalPackage;
command = "${finalAttrs.meta.mainProgram} --version";
inherit (finalAttrs) version;
};
+2 -2
View File
@@ -7,14 +7,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "zapzap";
version = "6.3.2";
version = "6.3.3";
pyproject = true;
src = fetchFromGitHub {
owner = "rafatosta";
repo = "zapzap";
tag = finalAttrs.version;
hash = "sha256-PWs6W22ksZmPu3H3Yk535t0J4rfwGov5XaKMJBCXIIA=";
hash = "sha256-Vdk/Vk95fm/VWsvICmtdXKXwcFs3t5a7tdPZIcisvMU=";
};
nativeBuildInputs = [
@@ -21,6 +21,23 @@
# are, so long as it provides some builtins.
doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD,
# Whether to build the set of __atomic_* routines that would typically
# be provided by libatomic in gcc environments.
withAtomics ?
stdenv.hostPlatform.useLLVM
&& ((stdenv.cc.libc != null) || !stdenv.hostPlatform.hasSharedLibraries),
# If withAtomics is enabled, setting this to true ships those routines
# in a separate DSO (aliased as libatomic to match gcc's) rather than
# making them part of builtins.a. Unless no dynamic linking is used at
# all, this is the correct setup as it ensures the locks are unique in
# memory.
withAtomicsLib ? stdenv.hostPlatform.hasSharedLibraries,
# If withAtomics is enabled, this selects the pthreads-based
# implementation of the routines instead of the implementation
# using ad-hoc mutexes (which doesn't depend on libc at all).
# Use of pthreads helps code play better with sanitizers.
withAtomicsPthread ? lib.versionAtLeast release_version "19" && stdenv.cc.libc != null,
# In recent releases, the compiler-rt build seems to produce
# many `libclang_rt*` libraries, but not a single unified
# `libcompiler_rt` library, at least under certain configurations. Some
@@ -190,6 +207,11 @@ stdenv.mkDerivation (finalAttrs: {
lib.optional (stdenv.hostPlatform.isAarch64 && !haveLibc)
# Fixes https://github.com/NixOS/nixpkgs/issues/393603
(lib.cmakeBool "COMPILER_RT_DISABLE_AARCH64_FMV" true)
++ lib.optionals withAtomics [
(lib.cmakeBool "COMPILER_RT_EXCLUDE_ATOMIC_BUILTIN" (!withAtomicsLib))
(lib.cmakeBool "COMPILER_RT_BUILD_STANDALONE_LIBATOMIC" withAtomicsLib)
(lib.cmakeBool "COMPILER_RT_LIBATOMIC_USE_PTHREAD" withAtomicsPthread)
]
++ devExtraCmakeFlags;
outputs = [
@@ -262,6 +284,11 @@ stdenv.mkDerivation (finalAttrs: {
''
+ lib.optionalString forceLinkCompilerRt ''
ln -s $out/lib/*/libclang_rt.builtins-*.a $out/lib/libcompiler_rt.a
''
+ lib.optionalString (withAtomics && withAtomicsLib) ''
ln -s $out/lib/*/libclang_rt.atomic-*.so $out/lib/libatomic.so
# create a link with the original soname as well, so it's found at runtime
ln -s $out/lib/*/libclang_rt.atomic-*.so $out/lib/
'';
meta = llvm_meta // {
@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "llef";
version = "2.2.2";
version = "2.2.3";
src = fetchFromGitHub {
owner = "foundryzero";
repo = "llef";
rev = "v${finalAttrs.version}";
hash = "sha256-w1Chaq/rGv1amvpJqiyKFxK0dQdsyplgFmBKj/Xmtqg=";
hash = "sha256-dTNp6rmiKTg7STpgFkeB2Jcz5V16SA7cIcql9TUiS5w=";
};
dontBuild = true;
+3 -3
View File
@@ -28,9 +28,9 @@ let
"21.1.8".officialRelease.sha256 = "sha256-pgd8g9Yfvp7abjCCKSmIn1smAROjqtfZaJkaUkBSKW0=";
"22.1.0-rc3".officialRelease.sha256 = "sha256-vGG7lDdDFW427lS384Bl7Pt9QFgK1XVxLmtm878xmxU=";
"23.0.0-git".gitRelease = {
rev = "610b40706ff74d2e7785937ed03baa364652dc61";
rev-version = "23.0.0-unstable-2026-02-23";
sha256 = "sha256-0ap9AFwouOuhVqeRzLaS7mYkBBCGFIakNbgv/VVrRns=";
rev = "0704b68a027a84863bbdc654df1e2989b4de3ab7";
rev-version = "23.0.0-unstable-2026-03-02";
sha256 = "sha256-kOA9DNn3v/LOwrY/cMag3FLeRGdVBnZQoYtw4EwocoU=";
};
}
// llvmVersions;
@@ -8,16 +8,16 @@
(php.withExtensions ({ enabled, all }: enabled ++ (with all; [ ast ]))).buildComposerProject2
(finalAttrs: {
pname = "phan";
version = "6.0.1";
version = "6.0.2";
src = fetchFromGitHub {
owner = "phan";
repo = "phan";
tag = finalAttrs.version;
hash = "sha256-B6n4hGsUFwFsTLUMhtmElgF0xNqfol9RQ83aP9Zs/AI=";
hash = "sha256-GwiCyek+XuiXMd8LcKy79u19wySee6aRpG0e6dP44LU=";
};
vendorHash = "sha256-8m0aoK6P6HUhNLh4avMm9C0qBKVfsK9zQ+iJVWVhWm4=";
vendorHash = "sha256-+7U2PfjagpIOaeG+8pYAgEyqh6sZT5c+knoKX/S6L0M=";
composerStrictValidation = false;
doInstallCheck = true;
@@ -20,6 +20,8 @@ buildPythonPackage (finalAttrs: {
hash = "sha256-gEKCgLS8+VRh1B0UkKIjYLi2fRgpvx6zj3T6vMaT8bM=";
};
pythonRelaxDeps = [ "aiofiles" ];
build-system = [ setuptools ];
dependencies = [
@@ -36,7 +38,8 @@ buildPythonPackage (finalAttrs: {
meta = {
description = "Aliyun Credentials Library for Python";
homepage = "https://pypi.org/project/alibabacloud-credentials/";
homepage = "https://github.com/aliyun/credentials-python";
changelog = "https://github.com/aliyun/credentials-python/releases/tag/v${finalAttrs.version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
};
@@ -2,6 +2,7 @@
lib,
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
pytestCheckHook,
setuptools,
}:
@@ -18,6 +19,14 @@ buildPythonPackage (finalAttrs: {
hash = "sha256-WHLvfAlwhcA0JFSWfwUPsJ9dWmadIjyonXEP3Bb6WKE=";
};
patches = [
(fetchpatch {
name = "python-3.14.patch";
url = "https://github.com/marcelblijleven/goodwe/commit/3a1e57109e61860f59a03626a7e21ee44bbb3639.patch";
hash = "sha256-ZYmEdWpOjrU61HAyhNG04oTrSH8F+LUEUskxKkoufu4=";
})
];
build-system = [ setuptools ];
nativeCheckInputs = [ pytestCheckHook ];
@@ -8,14 +8,14 @@
buildPythonPackage (finalAttrs: {
pname = "iamdata";
version = "0.1.202603051";
version = "0.1.202603071";
pyproject = true;
src = fetchFromGitHub {
owner = "cloud-copilot";
repo = "iam-data-python";
tag = "v${finalAttrs.version}";
hash = "sha256-f6NQH4RVZxf27A3gKDiewigdNw9IELikQSFmGSx9hng=";
hash = "sha256-1KX0AjmSbTDesFQHj+zEetriAEyFHMnW6OIgaPuyAQk=";
};
__darwinAllowLocalNetworking = true;
@@ -80,6 +80,7 @@ buildPythonPackage rec {
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# NameResolutionError: Failed to resolve 'localhost'
"tests/test_rate_limiters.py"
"tests/test_lowlevel.py"
"tests/test_testserver.py"
];
@@ -11,12 +11,12 @@
buildPythonPackage (finalAttrs: {
pname = "publicsuffixlist";
version = "1.0.2.20260303";
version = "1.0.2.20260307";
pyproject = true;
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-6+6YSEb67K1R9eADW6zZAd6JgSPabY49Fp5s3CRBoo0=";
hash = "sha256-8sZ012nqcQh+I3HVCEk1CldEMBTsqnKhehtSFseM83o=";
};
postPatch = ''
@@ -0,0 +1,60 @@
{
lib,
buildPythonPackage,
fetchPypi,
jpype1,
packaging,
pytest-datadir,
pytestCheckHook,
setuptools,
}:
buildPythonPackage (finalAttrs: {
pname = "pyghidra";
version = "3.0.2";
pyproject = true;
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-ea1P1XHjLzQ88/zb2E/G4zPvGiZHWjqPcrYpqfPIedo=";
};
pythonRelaxDeps = [ "jpype1" ];
build-system = [ setuptools ];
dependencies = [
jpype1
packaging
];
nativeCheckInputs = [
pytestCheckHook
pytest-datadir
];
pythonImportsCheck = [ "pyghidra" ];
disabledTests = [
# Tests require a Ghidra instance
"test_import_ghidra_base_java_packages"
"test_import_script"
"test_invalid_jpype_keyword_arg"
"test_invalid_loader_type"
"test_invalid_vm_arg_succeed"
"test_loader"
"test_no_compiler"
"test_no_language_with_compiler"
"test_no_program"
"test_no_project"
"test_open_program"
"test_run_script"
];
meta = {
description = "Native CPython for Ghidra";
homepage = "https://pypi.org/project/pyghidra";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
};
})
@@ -0,0 +1,53 @@
{
lib,
buildPythonPackage,
cmake,
fetchFromGitHub,
nanobind,
pytest-cov-stub,
pytestCheckHook,
setuptools,
}:
buildPythonPackage (finalAttrs: {
pname = "pypcode";
version = "3.3.3";
pyproject = true;
src = fetchFromGitHub {
owner = "angr";
repo = "pypcode";
tag = "v${finalAttrs.version}";
hash = "sha256-m3Ee1n6TIbcihTwz1ihpn10gC1YsSlFO17Gj0QVya2A=";
};
build-system = [
cmake
setuptools
nanobind
];
dontUseCmakeConfigure = true;
nativeCheckInputs = [
pytest-cov-stub
pytestCheckHook
];
pythonImportsCheck = [ "pypcode" ];
preCheck = ''
cd ..
'';
meta = {
description = "Machine code disassembly and IR translation library";
homepage = "https://github.com/angr/pypcode";
license = with lib.licenses; [
bsd2
asl20
zlib
];
maintainers = with lib.maintainers; [ feyorsh ];
};
})
@@ -0,0 +1,47 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
pytest,
pytestCheckHook,
uv-build,
wrapt,
}:
buildPythonPackage (finalAttrs: rec {
pname = "pytest-insta";
version = "0.4.1";
pyproject = true;
src = fetchFromGitHub {
owner = "vberlier";
repo = pname;
tag = "v${finalAttrs.version}";
hash = "sha256-zOhWDaCGkE/Ke2MLRyttDH85t+I9kfBZZwVDRN1sprs=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "uv_build>=0.9.8,<0.10.0" "uv_build"
'';
pythonRelaxDeps = [ "wrapt" ];
build-system = [ uv-build ];
buildInputs = [ pytest ];
dependencies = [ wrapt ];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "pytest_insta" ];
meta = {
description = "Pytest plugin for snapshot testing";
homepage = "https://github.com/vberlier/pytest-insta";
changelog = "https://github.com/vberlier/pytest-insta/blob/v${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = [ ];
};
})
@@ -3,8 +3,9 @@
buildPythonPackage,
fetchFromGitHub,
hatchling,
reflex,
pytestCheckHook,
reflex,
uv-dynamic-versioning,
}:
buildPythonPackage rec {
@@ -21,7 +22,9 @@ buildPythonPackage rec {
build-system = [
hatchling
uv-dynamic-versioning
];
dependencies = [ reflex ];
pythonImportsCheck = [ "reflex_chakra" ];
@@ -13,14 +13,14 @@
buildPythonPackage (finalAttrs: {
pname = "signxml";
version = "4.3.1";
version = "4.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "XML-Security";
repo = "signxml";
tag = "v${finalAttrs.version}";
hash = "sha256-yAqew1y9LBCKGSc4B9r/c/2XtQzQur4lvVQJUExk95E=";
hash = "sha256-BExi8MQ59Vq7+X66fTKjKaSPRAbplQkAT42De/QCpvI=";
};
build-system = [
@@ -0,0 +1,39 @@
{
fetchFromGitHub,
lib,
buildPythonPackage,
setuptools,
wheel,
}:
buildPythonPackage (finalAttrs: {
pname = "uefi-firmware-parser";
version = "1.13";
pyproject = true;
src = fetchFromGitHub {
owner = "theopolis";
repo = "uefi-firmware-parser";
tag = "v${finalAttrs.version}";
hash = "sha256-Yiw9idmvSpx4CcVrXHznR8vK/xl7DTL+L7k4Nvql2B8=";
};
build-system = [
setuptools
wheel
];
pythonRemoveDeps = [ "future" ];
pythonImportsCheck = [ "uefi_firmware" ];
meta = {
description = "Tool for parsing, extracting, and recreating UEFI firmware volumes";
homepage = "https://github.com/theopolis/uefi-firmware-parser";
changelog = "https://github.com/theopolis/uefi-firmware-parser/releases/tag/${finalAttrs.src.rev}";
license = lib.licenses.mit;
mainProgram = "uefi-firmware-parser";
maintainers = [ ];
platforms = lib.platforms.unix;
};
})
@@ -18,7 +18,7 @@
# : license
license ? lib.licenses.isc,
# : string
owner ? "~flexibeast",
owner ? "~humm",
# : string
rev ? "v${version}",
}:
@@ -7,14 +7,14 @@
}:
let
version = "2.9.7.0";
version = "2.9.8.1";
in
skawarePackages.buildPackage {
inherit version;
pname = "execline";
# ATTN: also check whether there is a new manpages version
sha256 = "sha256-c8kWDvyZQHjY6lSA+RYb/Rs88LYff6q3BKsYmFF9Agc=";
sha256 = "sha256-IzUNEHl5CWNgYFImB1kctKIRgyjLWMXmX7GaLA1HJk4=";
# Maintainer of manpages uses following versioning scheme: for every
# upstream $version he tags manpages release as ${version}.1, and,
@@ -22,8 +22,8 @@ skawarePackages.buildPackage {
# ${version}.3 and so on are created.
manpages = skawarePackages.buildManPages {
pname = "execline-man-pages";
version = "2.9.6.1.1";
sha256 = "sha256-bj+74zTkGKLdLEb1k4iHfNI1lAuxLBASc5++m17Y0O8=";
version = "2.9.8.1.3";
sha256 = "sha256-jYNx15n9pOK4PPEf0ynvHpgGucgWQKd/4nggY7OmR4M=";
description = "Port of the documentation for the execline suite to mdoc";
maintainers = [ lib.maintainers.sternenseemann ];
};
@@ -6,8 +6,8 @@
skawarePackages.buildPackage {
pname = "mdevd";
version = "0.1.7.0";
sha256 = "sha256-7JZu7DmHnzPHhTQzcwIcRPiHyDagj8rx1jQS472/yjI=";
version = "0.1.8.1";
sha256 = "sha256-k9K7pymf87G58kmSjC6E4jpa89gp69lnfqRFNcWFqoI=";
description = "mdev-compatible Linux hotplug manager daemon";
platforms = lib.platforms.linux;
@@ -2,8 +2,8 @@
skawarePackages.buildPackage {
pname = "nsss";
version = "0.2.1.0";
sha256 = "sha256-8iGjHBzuiB6ZKobf4pYzIlPHqfxl9g2IgpzI6JSEIPQ=";
version = "0.2.1.1";
sha256 = "sha256-pff2y8Gdey3ALVjiupwJ0I+iRZ/j3xh3815jnA8rEpI=";
description = "Implementation of a subset of the pwd.h, group.h and shadow.h family of functions";
@@ -2,8 +2,8 @@
skawarePackages.buildPackage {
pname = "s6-dns";
version = "2.4.1.0";
sha256 = "sha256-tjCFGfEJpnRpxKqvqd8fAJrQlh+nmP/Dj4lVh+aTVyk=";
version = "2.4.1.1";
sha256 = "sha256-JkPP9JmgeOoXDl+mqH2GxNcjtl89FICnE318xJlHQzg=";
description = "Suite of DNS client programs and libraries for Unix systems";
@@ -10,8 +10,8 @@
skawarePackages.buildPackage {
pname = "s6-linux-init";
version = "1.1.3.0";
sha256 = "sha256-0RtZa3GawTT3frGUUJB9H+bYS0rcNtRO90jb5VSHs+0=";
version = "1.2.0.0";
sha256 = "sha256-82cImDHGlI/evomW2khKuP0Uhclek8HlsDe4hxGN6dk=";
description = "Set of minimalistic tools used to create a s6-based init system, including a /sbin/init binary, on a Linux kernel";
platforms = lib.platforms.linux;
@@ -2,12 +2,13 @@
lib,
skawarePackages,
skalibs,
execline,
}:
skawarePackages.buildPackage {
pname = "s6-linux-utils";
version = "2.6.3.0";
sha256 = "sha256-fiScNsc7mev8H5qaTDGL52tGHrxT05Ut6QZMz6tABzk=";
version = "2.6.4.0";
sha256 = "sha256-zHJ/cNXoeAQzpJest8sxAGVrMSZYmrAunSBCAGx5TPI=";
description = "Set of minimalistic Linux-specific system utilities";
platforms = lib.platforms.linux;
@@ -25,13 +26,16 @@ skawarePackages.buildPackage {
"--includedir=\${dev}/include"
"--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps"
"--with-include=${skalibs.dev}/include"
"--with-include=${execline.dev}/include"
"--with-lib=${skalibs.lib}/lib"
"--with-lib=${execline.lib}/lib"
"--with-dynlib=${skalibs.lib}/lib"
"--with-dynlib=${execline.lib}/lib"
];
postInstall = ''
# remove all s6 executables from build directory
rm $(find -name "s6-*" -type f -mindepth 1 -maxdepth 1 -executable) rngseed
rm $(find -name "s6-*" -type f -mindepth 1 -maxdepth 1 -executable) fstab2s6rc rngseed
rm libs6ps.a.xyzzy
mv doc $doc/share/doc/s6-linux-utils/html
@@ -25,13 +25,13 @@ assert sslSupportEnabled -> sslLibs ? ${sslSupport};
skawarePackages.buildPackage {
pname = "s6-networking";
version = "2.7.1.0";
sha256 = "sha256-p7M0l+cpIaWdTB/GfOXMdL0GXgkQW/Gnnx/HPPmgZZI=";
version = "2.7.2.1";
sha256 = "sha256-Z5+GUthb40PawfB2SXzTbKjFZACUh4D4XcZONAVeLBs=";
manpages = skawarePackages.buildManPages {
pname = "s6-networking-man-pages";
version = "2.7.0.4.1";
sha256 = "sha256-ocYUZVnkuhO/1qgW3mSooZRoqqch1SgIRoygS3AjeZI=";
version = "2.7.2.1.4";
sha256 = "sha256-N5BXi21JEgF3X5FKg5SzKNKfzYS5uTRqbUvbsrEZ2xg=";
description = "Port of the documentation for the s6-networking suite to mdoc";
maintainers = [ lib.maintainers.sternenseemann ];
};
@@ -76,7 +76,7 @@ skawarePackages.buildPackage {
postInstall = ''
# remove all s6 executables from build directory
rm $(find -name "s6-*" -type f -mindepth 1 -maxdepth 1 -executable)
rm $(find -name "s6-*" -type f -mindepth 1 -maxdepth 1 -executable) proxy-server
rm libs6net.* libstls.* libs6tls.* libsbearssl.*
mv doc $doc/share/doc/s6-networking/html
@@ -6,13 +6,13 @@
skawarePackages.buildPackage {
pname = "s6-portable-utils";
version = "2.3.1.0";
sha256 = "sha256-BCRKqHrixBLUmZdptec8tCivugwuiqkhWzo2574qgPk=";
version = "2.3.1.1";
sha256 = "sha256-zwjXGWPA6hcIzdgr1ArTARVLzMWbaO77Qoqnm0InMkI=";
manpages = skawarePackages.buildManPages {
pname = "s6-portable-utils-man-pages";
version = "2.3.0.4.1";
sha256 = "sha256-LbXa+fecxYyFdVmEHT8ch4Y8Pf1YIyd9Gia3zujxUgs=";
version = "2.3.1.1.2";
sha256 = "sha256-WJxSSJVRY8Hz9QYwu81Qz90Tu2KHl8F3WeeZxFyK3gU=";
description = "Port of the documentation for the s6-portable-utils suite to mdoc";
maintainers = [ lib.maintainers.somasis ];
};
@@ -10,13 +10,13 @@
skawarePackages.buildPackage {
pname = "s6-rc";
version = "0.5.6.0";
sha256 = "sha256-gSd/aAXo2ZmtKVv5FAqQmUO2h//Ptao8Tv2EsaV0WG4=";
version = "0.6.0.0";
sha256 = "sha256-RtSmKVnvFgl7hNz7DDsxpv9JqkdtSu7Jxbe94c5oSQE=";
manpages = skawarePackages.buildManPages {
pname = "s6-rc-man-pages";
version = "0.5.5.0.1";
sha256 = "sha256-Ywke3FG/xhhUd934auDB+iFRDCvy8IJs6IkirP6O/As=";
version = "0.6.0.0.1";
sha256 = "sha256-zHkh5H0/nXsLjHJE9PT+2ga8gK1evm4ktheMqqNV1hQ=";
description = "mdoc(7) versions of the documentation for the s6-rc service manager";
maintainers = [ lib.maintainers.qyliss ];
};
@@ -25,18 +25,17 @@ skawarePackages.buildPackage {
platforms = lib.platforms.unix;
outputs = [
"bin"
"lib"
# "bin" "lib"
"out"
"dev"
"doc"
"out"
];
configureFlags = [
"--libdir=\${lib}/lib"
"--libexecdir=\${lib}/libexec"
"--dynlibdir=\${lib}/lib"
"--bindir=\${bin}/bin"
"--libdir=\${out}/lib"
"--libexecdir=\${out}/libexec"
"--dynlibdir=\${out}/lib"
"--bindir=\${out}/bin"
"--includedir=\${dev}/include"
"--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps"
"--with-include=${skalibs.dev}/include"
@@ -72,7 +71,7 @@ skawarePackages.buildPackage {
postInstall = ''
# remove all s6 executables from build directory
rm $(find -name "s6-rc-*" -type f -mindepth 1 -maxdepth 1 -executable)
rm s6-rc libs6rc.*
rm s6-rc libs6rc*
mv doc $doc/share/doc/s6-rc/html
mv examples $doc/share/doc/s6-rc/examples
@@ -7,13 +7,13 @@
skawarePackages.buildPackage {
pname = "s6";
version = "2.13.2.0";
sha256 = "sha256-xRFLgEJxa7cGkUBpMayw4nltg7Qcv7XIBo3OegL5mkU=";
version = "2.14.0.1";
sha256 = "sha256-wlr+gXy8P1lO/FBQNR+LkQG6eGFtDOkVZY83Dn7i4lg=";
manpages = skawarePackages.buildManPages {
pname = "s6-man-pages";
version = "2.13.1.0.1";
sha256 = "sha256-SChxod/W/KxxSic4ttXigwgRWMWLl9Z66i2t7H1nn/s=";
version = "2.14.0.1.4";
sha256 = "sha256-c77NwS4x5L1nLmtWVz64izzanTfc0hohvFMOi77uMh4=";
description = "Port of the documentation for the s6 supervision suite to mdoc";
maintainers = [ lib.maintainers.sternenseemann ];
};
@@ -7,8 +7,8 @@
skawarePackages.buildPackage {
pname = "skalibs";
version = "2.14.4.0";
sha256 = "sha256-DmJiYYSMySBzj5L9UKJMFLIeMDBt/tl7hDU2n0uuAKU=";
version = "2.14.5.1";
sha256 = "sha256-+jWccEObSAQAoKLvaAJqJzazFQJanZXfadNGAfuTjw8=";
description = "Set of general-purpose C programming libraries";
@@ -6,8 +6,8 @@
skawarePackages.buildPackage {
pname = "tipidee";
version = "0.0.6.0";
sha256 = "sha256-4q3YvhCJAi43kCQbk6xKWj5Y2tZF9dkZ+MunRM1KFwI=";
version = "0.0.7.1";
sha256 = "sha256-ah5JwvCvWqRNuO3sK5KUxPXPaLg6eDGatJkE+KUv63M=";
description = "HTTP 1.1 webserver, serving static files and CGI/NPH";
@@ -2,8 +2,8 @@
skawarePackages.buildPackage {
pname = "utmps";
version = "0.1.3.1";
sha256 = "sha256-HEwTerNm9txrgdOlcsmXUUtk14S9Uuf5UU5vbz8chbk=";
version = "0.1.3.2";
sha256 = "sha256-sRTVauysicBctMDtM8Y4igIRSwnenM44Srm4qTRphmg=";
description = "Secure utmpx and wtmp implementation";
+354 -357
View File
@@ -20,378 +20,375 @@
nixosTests,
}@args':
let
overridableKernel = lib.makeOverridable (
# The kernel source tarball.
{
pname ? "linux",
lib.makeOverridable (
# The kernel source tarball.
{
pname ? "linux",
src,
src,
# The kernel version.
version,
# The kernel version.
version,
# Allows overriding the default defconfig
defconfig ? null,
# Allows overriding the default defconfig
defconfig ? null,
# Legacy overrides to the intermediate kernel config, as string
extraConfig ? "",
# Legacy overrides to the intermediate kernel config, as string
extraConfig ? "",
# Additional make flags passed to kbuild
extraMakeFlags ? [ ],
# Additional make flags passed to kbuild
extraMakeFlags ? [ ],
# enables the options in ./common-config.nix and lib/systems/platform.nix;
# if `false` then only `structuredExtraConfig` is used
enableCommonConfig ? true
# enables the options in ./common-config.nix and lib/systems/platform.nix;
# if `false` then only `structuredExtraConfig` is used
enableCommonConfig ? true
, # kernel intermediate config overrides, as a set
structuredExtraConfig ? { },
, # kernel intermediate config overrides, as a set
structuredExtraConfig ? { },
# The version number used for the module directory
# If unspecified, this is determined automatically from the version.
modDirVersion ? null,
# The version number used for the module directory
# If unspecified, this is determined automatically from the version.
modDirVersion ? null,
# An attribute set whose attributes express the availability of
# certain features in this kernel. E.g. `{ia32Emulation = true;}'
# indicates a kernel that provides Intel wireless support. Used in
# NixOS to implement kernel-specific behaviour.
features ? { },
# An attribute set whose attributes express the availability of
# certain features in this kernel. E.g. `{ia32Emulation = true;}'
# indicates a kernel that provides Intel wireless support. Used in
# NixOS to implement kernel-specific behaviour.
features ? { },
# Custom seed used for CONFIG_GCC_PLUGIN_RANDSTRUCT if enabled. This is
# automatically extended with extra per-version and per-config values.
randstructSeed ? "",
# Custom seed used for CONFIG_GCC_PLUGIN_RANDSTRUCT if enabled. This is
# automatically extended with extra per-version and per-config values.
randstructSeed ? "",
# A list of patches to apply to the kernel. Each element of this list
# should be an attribute set {name, patch} where `name' is a
# symbolic name and `patch' is the actual patch. The patch may
# optionally be compressed with gzip or bzip2.
kernelPatches ? [ ],
ignoreConfigErrors ?
!lib.elem stdenv.hostPlatform.linux-kernel.name or "" [
"aarch64-multiplatform"
"pc"
],
extraMeta ? { },
extraPassthru ? { },
# A list of patches to apply to the kernel. Each element of this list
# should be an attribute set {name, patch} where `name' is a
# symbolic name and `patch' is the actual patch. The patch may
# optionally be compressed with gzip or bzip2.
kernelPatches ? [ ],
ignoreConfigErrors ?
!lib.elem stdenv.hostPlatform.linux-kernel.name or "" [
"aarch64-multiplatform"
"pc"
],
extraMeta ? { },
extraPassthru ? { },
isLTS ? false,
isZen ? false,
isLibre ? false,
isHardened ? false,
isLTS ? false,
isZen ? false,
isLibre ? false,
isHardened ? false,
# easy overrides to stdenv.hostPlatform.linux-kernel members
autoModules ? stdenv.hostPlatform.linux-kernel.autoModules or true,
preferBuiltin ? stdenv.hostPlatform.linux-kernel.preferBuiltin or false,
kernelArch ? stdenv.hostPlatform.linuxArch,
kernelTests ? { },
# easy overrides to stdenv.hostPlatform.linux-kernel members
autoModules ? stdenv.hostPlatform.linux-kernel.autoModules or true,
preferBuiltin ? stdenv.hostPlatform.linux-kernel.preferBuiltin or false,
kernelArch ? stdenv.hostPlatform.linuxArch,
kernelTests ? { },
stdenv ? args'.stdenv,
buildPackages ? args'.buildPackages,
pkgsBuildBuild ? args'.pkgsBuildBuild,
stdenv ? args'.stdenv,
buildPackages ? args'.buildPackages,
pkgsBuildBuild ? args'.pkgsBuildBuild,
...
}@args:
...
}@args:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
let
# Combine the `features' attribute sets of all the kernel patches.
kernelFeatures = lib.foldr (x: y: (x.features or { }) // y) (
{
efiBootStub = true;
netfilterRPFilter = true;
ia32Emulation = true;
}
// features
) kernelPatches;
commonStructuredConfig = import ./common-config.nix {
inherit lib stdenv version;
rustAvailable = lib.meta.availableOn stdenv.hostPlatform rustc-unwrapped;
features = kernelFeatures; # Ensure we know of all extra patches, etc.
};
intermediateNixConfig =
configfile.moduleStructuredConfig.intermediateNixConfig
# extra config in legacy string format
+ extraConfig
# need the 'or ""' at the end in case enableCommonConfig = true and extraConfig is not present
+ lib.optionalString enableCommonConfig stdenv.hostPlatform.linux-kernel.extraConfig or "";
structuredConfigFromPatches = map (
{
structuredExtraConfig ? { },
...
}@args:
if args ? extraStructuredConfig then
throw ''
Passing `extraStructuredConfig` to the Linux kernel (e.g.
via `boot.kernelPatches` in NixOS) is not supported anymore. Use
`structuredExtraConfig` instead.
''
else
{
settings = structuredExtraConfig;
}
) kernelPatches;
# appends kernel patches extraConfig
kernelConfigFun =
baseConfigStr:
let
configFromPatches = map (
{
extraConfig ? "",
...
}:
extraConfig
) kernelPatches;
in
lib.concatStringsSep "\n" ([ baseConfigStr ] ++ configFromPatches);
withRust = ((configfile.moduleStructuredConfig.settings.RUST or { }).tristate or null) == "y";
configfile = stdenv.mkDerivation {
inherit
ignoreConfigErrors
autoModules
preferBuiltin
kernelArch
extraMakeFlags
;
pname = "linux-config";
inherit version;
generateConfig = ./generate-config.pl;
kernelConfig = kernelConfigFun intermediateNixConfig;
passAsFile = [ "kernelConfig" ];
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [
perl
gmp
libmpc
mpfr
bison
flex
]
++ lib.optional (lib.versionAtLeast version "5.2") pahole
++ lib.optionals withRust [
rust-bindgen-unwrapped
rustc-unwrapped
];
RUST_LIB_SRC = lib.optionalString withRust rustPlatform.rustLibSrc;
# e.g. "defconfig"
kernelBaseConfig =
if defconfig != null then defconfig else stdenv.hostPlatform.linux-kernel.baseConfig or "defconfig";
makeFlags = import ./common-flags.nix {
inherit
lib
stdenv
buildPackages
extraMakeFlags
;
};
postPatch = kernel.postPatch + ''
# Patch kconfig to print "###" after every question so that
# generate-config.pl from the generic builder can answer them.
sed -e '/fflush(stdout);/i\printf("###");' -i scripts/kconfig/conf.c
'';
preUnpack = kernel.preUnpack or "";
inherit (kernel) src patches;
buildPhase = ''
export buildRoot="''${buildRoot:-build}"
# Get a basic config file for later refinement with $generateConfig.
make $makeFlags \
-C . O="$buildRoot" $kernelBaseConfig \
ARCH=$kernelArch CROSS_COMPILE=${stdenv.cc.targetPrefix} \
$makeFlags
# Create the config file.
echo "generating kernel configuration..."
ln -s "$kernelConfigPath" "$buildRoot/kernel-config"
DEBUG=1 ARCH=$kernelArch CROSS_COMPILE=${stdenv.cc.targetPrefix} \
KERNEL_CONFIG="$buildRoot/kernel-config" AUTO_MODULES=$autoModules \
PREFER_BUILTIN=$preferBuiltin BUILD_ROOT="$buildRoot" SRC=. MAKE_FLAGS="$makeFlags" \
perl -w $generateConfig
''
+ lib.optionalString stdenv.cc.isClang ''
if ! grep -Fq CONFIG_CC_IS_CLANG=y $buildRoot/.config; then
echo "Kernel config didn't recognize the clang compiler?"
exit 1
fi
''
+ lib.optionalString stdenv.cc.bintools.isLLVM ''
if ! grep -Fq CONFIG_LD_IS_LLD=y $buildRoot/.config; then
echo "Kernel config didn't recognize the LLVM linker?"
exit 1
fi
''
+ lib.optionalString withRust ''
if ! grep -Fq CONFIG_RUST_IS_AVAILABLE=y $buildRoot/.config; then
echo "Kernel config didn't find Rust toolchain?"
exit 1
fi
'';
installPhase = "mv $buildRoot/.config $out";
enableParallelBuilding = true;
passthru = rec {
module = import ../../../../nixos/modules/system/boot/kernel_config.nix;
# used also in apache
# { modules = [ { options = res.options; config = svc.config or svc; } ];
# check = false;
# The result is a set of two attributes
moduleStructuredConfig =
(lib.evalModules {
modules = [
module
]
++ lib.optionals enableCommonConfig [
{
settings = commonStructuredConfig;
_file = "pkgs/os-specific/linux/kernel/common-config.nix";
}
]
++ [
{
settings = structuredExtraConfig;
_file = "structuredExtraConfig";
}
]
++ structuredConfigFromPatches;
}).config;
structuredConfig = moduleStructuredConfig.settings;
};
}; # end of configfile derivation
kernel = (callPackage ./build.nix { inherit lib stdenv buildPackages; }) {
inherit
pname
version
src
kernelPatches
randstructSeed
extraMakeFlags
extraMeta
configfile
modDirVersion
;
pos = builtins.unsafeGetAttrPos "version" args;
config = {
CONFIG_MODULES = "y";
CONFIG_FW_LOADER = "y";
CONFIG_RUST = if withRust then "y" else "n";
};
};
in
kernel.overrideAttrs (
finalAttrs: previousAttrs: {
passthru =
previousAttrs.passthru or { }
// extraPassthru
// {
features = kernelFeatures;
inherit
commonStructuredConfig
structuredExtraConfig
extraMakeFlags
isLTS
isZen
isHardened
isLibre
;
isXen = lib.warn "The isXen attribute is deprecated. All Nixpkgs kernels that support it now have Xen enabled." true;
# Adds dependencies needed to edit the config:
# nix-shell '<nixpkgs>' -A linux.configEnv --command 'make nconfig'
configEnv = finalAttrs.finalPackage.overrideAttrs (previousAttrs: {
depsBuildBuild =
previousAttrs.depsBuildBuild or [ ]
++ (with pkgsBuildBuild; [
pkg-config
ncurses
]);
});
tests =
let
overridableKernel = finalAttrs.finalPackage // {
override =
args:
lib.warn (
"override is stubbed for NixOS kernel tests, not applying changes these arguments: "
+ toString (lib.attrNames (lib.toFunction args { }))
) overridableKernel;
};
/*
Certain arguments must be evaluated lazily; so that only the output(s) depend on them.
Original reproducer / simplified use case:
*/
versionDoesNotDependOnPatchesEtcNixOS =
builtins.seq
(nixos (
{ config, pkgs, ... }:
{
boot.kernelPatches = [
(builtins.seq config.boot.kernelPackages.kernel.version { patch = pkgs.emptyFile; })
];
}
)).config.boot.kernelPackages.kernel.outPath
emptyFile;
versionDoesNotDependOnPatchesEtc =
builtins.seq
(import ./generic.nix args' (
args
// (
let
explain = attrName: ''
The ${attrName} attribute must be able to access the kernel.version attribute without an infinite recursion.
That means that the kernel attrset (attrNames) and the kernel.version attribute must not depend on the ${attrName} argument.
The fact that this exception is raised shows that such a dependency does exist.
This is a problem for the configurability of ${attrName} in version-aware logic such as that in NixOS.
Strictness can creep in through optional attributes, or assertions and warnings that run as part of code that shouldn't access what is checked.
'';
in
{
kernelPatches = throw (explain "kernelPatches");
structuredExtraConfig = throw (explain "structuredExtraConfig");
modDirVersion = throw (explain "modDirVersion");
}
)
)).version
emptyFile;
in
{
inherit versionDoesNotDependOnPatchesEtc;
testsForKernel = nixosTests.kernel-generic.passthru.testsForKernel overridableKernel;
# Disabled by default, because the infinite recursion is hard to understand. The other test's error is better and produces a shorter trace.
# inherit versionDoesNotDependOnPatchesEtcNixOS;
}
// kernelTests;
};
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
let
# Combine the `features' attribute sets of all the kernel patches.
kernelFeatures = lib.foldr (x: y: (x.features or { }) // y) (
{
efiBootStub = true;
netfilterRPFilter = true;
ia32Emulation = true;
}
)
);
in
overridableKernel
// features
) kernelPatches;
commonStructuredConfig = import ./common-config.nix {
inherit lib stdenv version;
rustAvailable = lib.meta.availableOn stdenv.hostPlatform rustc-unwrapped;
features = kernelFeatures; # Ensure we know of all extra patches, etc.
};
intermediateNixConfig =
configfile.moduleStructuredConfig.intermediateNixConfig
# extra config in legacy string format
+ extraConfig
# need the 'or ""' at the end in case enableCommonConfig = true and extraConfig is not present
+ lib.optionalString enableCommonConfig stdenv.hostPlatform.linux-kernel.extraConfig or "";
structuredConfigFromPatches = map (
{
structuredExtraConfig ? { },
...
}@args:
if args ? extraStructuredConfig then
throw ''
Passing `extraStructuredConfig` to the Linux kernel (e.g.
via `boot.kernelPatches` in NixOS) is not supported anymore. Use
`structuredExtraConfig` instead.
''
else
{
settings = structuredExtraConfig;
}
) kernelPatches;
# appends kernel patches extraConfig
kernelConfigFun =
baseConfigStr:
let
configFromPatches = map (
{
extraConfig ? "",
...
}:
extraConfig
) kernelPatches;
in
lib.concatStringsSep "\n" ([ baseConfigStr ] ++ configFromPatches);
withRust = ((configfile.moduleStructuredConfig.settings.RUST or { }).tristate or null) == "y";
configfile = stdenv.mkDerivation {
inherit
ignoreConfigErrors
autoModules
preferBuiltin
kernelArch
extraMakeFlags
;
pname = "linux-config";
inherit version;
generateConfig = ./generate-config.pl;
kernelConfig = kernelConfigFun intermediateNixConfig;
passAsFile = [ "kernelConfig" ];
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [
perl
gmp
libmpc
mpfr
bison
flex
]
++ lib.optional (lib.versionAtLeast version "5.2") pahole
++ lib.optionals withRust [
rust-bindgen-unwrapped
rustc-unwrapped
];
RUST_LIB_SRC = lib.optionalString withRust rustPlatform.rustLibSrc;
# e.g. "defconfig"
kernelBaseConfig =
if defconfig != null then defconfig else stdenv.hostPlatform.linux-kernel.baseConfig or "defconfig";
makeFlags = import ./common-flags.nix {
inherit
lib
stdenv
buildPackages
extraMakeFlags
;
};
postPatch = kernel.postPatch + ''
# Patch kconfig to print "###" after every question so that
# generate-config.pl from the generic builder can answer them.
sed -e '/fflush(stdout);/i\printf("###");' -i scripts/kconfig/conf.c
'';
preUnpack = kernel.preUnpack or "";
inherit (kernel) src patches;
buildPhase = ''
export buildRoot="''${buildRoot:-build}"
# Get a basic config file for later refinement with $generateConfig.
make $makeFlags \
-C . O="$buildRoot" $kernelBaseConfig \
ARCH=$kernelArch CROSS_COMPILE=${stdenv.cc.targetPrefix} \
$makeFlags
# Create the config file.
echo "generating kernel configuration..."
ln -s "$kernelConfigPath" "$buildRoot/kernel-config"
DEBUG=1 ARCH=$kernelArch CROSS_COMPILE=${stdenv.cc.targetPrefix} \
KERNEL_CONFIG="$buildRoot/kernel-config" AUTO_MODULES=$autoModules \
PREFER_BUILTIN=$preferBuiltin BUILD_ROOT="$buildRoot" SRC=. MAKE_FLAGS="$makeFlags" \
perl -w $generateConfig
''
+ lib.optionalString stdenv.cc.isClang ''
if ! grep -Fq CONFIG_CC_IS_CLANG=y $buildRoot/.config; then
echo "Kernel config didn't recognize the clang compiler?"
exit 1
fi
''
+ lib.optionalString stdenv.cc.bintools.isLLVM ''
if ! grep -Fq CONFIG_LD_IS_LLD=y $buildRoot/.config; then
echo "Kernel config didn't recognize the LLVM linker?"
exit 1
fi
''
+ lib.optionalString withRust ''
if ! grep -Fq CONFIG_RUST_IS_AVAILABLE=y $buildRoot/.config; then
echo "Kernel config didn't find Rust toolchain?"
exit 1
fi
'';
installPhase = "mv $buildRoot/.config $out";
enableParallelBuilding = true;
passthru = rec {
module = import ../../../../nixos/modules/system/boot/kernel_config.nix;
# used also in apache
# { modules = [ { options = res.options; config = svc.config or svc; } ];
# check = false;
# The result is a set of two attributes
moduleStructuredConfig =
(lib.evalModules {
modules = [
module
]
++ lib.optionals enableCommonConfig [
{
settings = commonStructuredConfig;
_file = "pkgs/os-specific/linux/kernel/common-config.nix";
}
]
++ [
{
settings = structuredExtraConfig;
_file = "structuredExtraConfig";
}
]
++ structuredConfigFromPatches;
}).config;
structuredConfig = moduleStructuredConfig.settings;
};
}; # end of configfile derivation
kernel = (callPackage ./build.nix { inherit lib stdenv buildPackages; }) {
inherit
pname
version
src
kernelPatches
randstructSeed
extraMakeFlags
extraMeta
configfile
modDirVersion
;
pos = builtins.unsafeGetAttrPos "version" args;
config = {
CONFIG_MODULES = "y";
CONFIG_FW_LOADER = "y";
CONFIG_RUST = if withRust then "y" else "n";
};
};
in
kernel.overrideAttrs (
finalAttrs: previousAttrs: {
passthru =
previousAttrs.passthru or { }
// extraPassthru
// {
features = kernelFeatures;
inherit
commonStructuredConfig
structuredExtraConfig
extraMakeFlags
isLTS
isZen
isHardened
isLibre
;
isXen = lib.warn "The isXen attribute is deprecated. All Nixpkgs kernels that support it now have Xen enabled." true;
# Adds dependencies needed to edit the config:
# nix-shell '<nixpkgs>' -A linux.configEnv --command 'make nconfig'
configEnv = finalAttrs.finalPackage.overrideAttrs (previousAttrs: {
depsBuildBuild =
previousAttrs.depsBuildBuild or [ ]
++ (with pkgsBuildBuild; [
pkg-config
ncurses
]);
});
tests =
let
overridableKernel = finalAttrs.finalPackage // {
override =
args:
lib.warn (
"override is stubbed for NixOS kernel tests, not applying changes these arguments: "
+ toString (lib.attrNames (lib.toFunction args { }))
) overridableKernel;
};
/*
Certain arguments must be evaluated lazily; so that only the output(s) depend on them.
Original reproducer / simplified use case:
*/
versionDoesNotDependOnPatchesEtcNixOS =
builtins.seq
(nixos (
{ config, pkgs, ... }:
{
boot.kernelPatches = [
(builtins.seq config.boot.kernelPackages.kernel.version { patch = pkgs.emptyFile; })
];
}
)).config.boot.kernelPackages.kernel.outPath
emptyFile;
versionDoesNotDependOnPatchesEtc =
builtins.seq
(import ./generic.nix args' (
args
// (
let
explain = attrName: ''
The ${attrName} attribute must be able to access the kernel.version attribute without an infinite recursion.
That means that the kernel attrset (attrNames) and the kernel.version attribute must not depend on the ${attrName} argument.
The fact that this exception is raised shows that such a dependency does exist.
This is a problem for the configurability of ${attrName} in version-aware logic such as that in NixOS.
Strictness can creep in through optional attributes, or assertions and warnings that run as part of code that shouldn't access what is checked.
'';
in
{
kernelPatches = throw (explain "kernelPatches");
structuredExtraConfig = throw (explain "structuredExtraConfig");
modDirVersion = throw (explain "modDirVersion");
}
)
)).version
emptyFile;
in
{
inherit versionDoesNotDependOnPatchesEtc;
testsForKernel = nixosTests.kernel-generic.passthru.testsForKernel overridableKernel;
# Disabled by default, because the infinite recursion is hard to understand. The other test's error is better and produces a shorter trace.
# inherit versionDoesNotDependOnPatchesEtcNixOS;
}
// kernelTests;
};
}
)
)
+8
View File
@@ -13729,6 +13729,8 @@ self: super: with self; {
pygetwindow = callPackage ../development/python-modules/pygetwindow { };
pyghidra = callPackage ../development/python-modules/pyghidra { };
pyghmi = callPackage ../development/python-modules/pyghmi { };
pygit2 = callPackage ../development/python-modules/pygit2 { };
@@ -14437,6 +14439,8 @@ self: super: with self; {
pypck = callPackage ../development/python-modules/pypck { };
pypcode = callPackage ../development/python-modules/pypcode { };
pypdf = callPackage ../development/python-modules/pypdf { };
pypdf2 = callPackage ../development/python-modules/pypdf2 { };
@@ -15210,6 +15214,8 @@ self: super: with self; {
pytest-image-diff = callPackage ../development/python-modules/pytest-image-diff { };
pytest-insta = callPackage ../development/python-modules/pytest-insta { };
pytest-instafail = callPackage ../development/python-modules/pytest-instafail { };
pytest-integration = callPackage ../development/python-modules/pytest-integration { };
@@ -20253,6 +20259,8 @@ self: super: with self; {
inherit (pkgs) libx11 libxext;
};
uefi-firmware-parser = callPackage ../development/python-modules/uefi-firmware-parser { };
ufal-chu-liu-edmonds = callPackage ../development/python-modules/ufal-chu-liu-edmonds { };
ufmt = callPackage ../development/python-modules/ufmt { };