diff --git a/doc/build-helpers/trivial-build-helpers.chapter.md b/doc/build-helpers/trivial-build-helpers.chapter.md
index c7dbded893a8..aa57779cb1b2 100644
--- a/doc/build-helpers/trivial-build-helpers.chapter.md
+++ b/doc/build-helpers/trivial-build-helpers.chapter.md
@@ -734,7 +734,80 @@ Some basic Bash options are set by default (`errexit`, `nounset`, and `pipefail`
Extra arguments may be passed to `stdenv.mkDerivation` by setting `derivationArgs`; note that variables set in this manner will be set when the shell script is _built,_ not when it's run.
Runtime environment variables can be set with the `runtimeEnv` argument.
-For example, the following shell application can refer to `curl` directly, rather than needing to write `${curl}/bin/curl`:
+`writeShellApplication` has the following arguments:
+
+`name` (String)
+
+: The name of the script to write.
+
+`text` (String)
+
+: The shell script's text, not including a shebang.
+
+`runtimeInputs` (List of derivations or strings, _optional_)
+
+: Inputs to add to the shell script's `$PATH` at runtime.
+
+ Each elements can either be a normal derivation, or a string containing a path, in which case it will be suffixed with `/bin` to create a `PATH` expression (see [`lib.strings.makeBinPath`](#function-library-lib.strings.makeBinPath) for more information).
+
+`runtimeEnv` (Attribute set, _optional_)
+
+: Extra environment variables to set at runtime.
+
+`checkPhase` (String, _optional_)
+
+: The `checkPhase` to run.
+
+ The script path will be given as `$target` in the `checkPhase`
+
+ _Default behavior:_ run [`shellcheck`](https://github.com/koalaman/shellcheck) (on supported platforms) and `bash -n` (check syntax but don't execute commands).
+
+`excludeShellChecks` (List of strings, _optional_)
+
+: Checks to exclude when running `shellcheck`.
+
+ For example, `excludeShellChecks = [ "SC2016" ]` would prevent `shellcheck` from reporting `SC2016`, but would still detect any other problems.
+
+ See [the `shellcheck` wiki](https://www.shellcheck.net/wiki/) for a list of checks.
+
+`extraShellCheckFlags` (List of strings, _optional_)
+
+: Extra command-line flags to pass to `shellcheck`.
+
+`bashOptions` (List of strings, _optional_)
+
+: Bash options to activate with `set -o` at the start of the script
+
+ _Default:_ `[ "errexit" "nounset" "pipefail" ]`, which means:
+ 1. A failing command inside of a command list or pipeline will make the script exit, except if used as a conditional (inside a `while`, `if`, `&&`, `||`, etc.);
+ 2. Any attempt to expand an undefined variable will make the script exit.
+
+`inheritPath` (Bool, _optional_)
+
+: Whether the script will inherit the PATH from its parent environment.
+
+ _Default:_ `true`
+
+`meta` (Attribute set, _optional_)
+
+: `stdenv.mkDerivation`'s [`meta`](#chap-meta) argument
+
+`passthru` (Attribute set, _optional_)
+
+: `stdenv.mkDerivation`'s [`passthru`](#chap-passthru) argument
+
+`derivationArgs` (Attribute set, _optional_)
+
+: Extra arguments to pass to [`stdenv.mkDerivation`](#chap-stdenv)
+
+ ::: {.caution}
+ Certain derivation attributes are also set internally, so overriding those could cause problems.
+ :::
+
+::: {.example #ex-writeShellApplication}
+# Usage of `writeShellApplication`
+
+The following shell application can refer to `curl` directly, rather than needing to write `${curl}/bin/curl`
```nix
writeShellApplication {
@@ -750,6 +823,7 @@ writeShellApplication {
'';
}
```
+:::
## `symlinkJoin` {#trivial-builder-symlinkJoin}
diff --git a/doc/redirects.json b/doc/redirects.json
index 752f14e694f7..49687c74e90b 100644
--- a/doc/redirects.json
+++ b/doc/redirects.json
@@ -119,6 +119,9 @@
"ex-testEqualArrayOrMap-test-function-add-cowbell": [
"index.html#ex-testEqualArrayOrMap-test-function-add-cowbell"
],
+ "ex-writeShellApplication": [
+ "index.html#ex-writeShellApplication"
+ ],
"friction-graphics": [
"index.html#friction-graphics"
],
diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md
index e582b68084a2..ea86845a2167 100644
--- a/doc/release-notes/rl-2605.section.md
+++ b/doc/release-notes/rl-2605.section.md
@@ -252,6 +252,11 @@
- `wrapNeovimUnstable` now sets provider-related configuration in its generated config rather than as wrapper arguments. It should not affect configuration unless you set `wrapRc` to false or are using the `legacyWrapper`.
+- neovim lua dependencies are now set in the generated init.lua instead of
+ modifying LUA_PATH in the wrapper. Commands run pre-vimrc via `nvim --cmd
+ "require'LUA_MODULE'"` may
+ not find their lua dependencies anymore. Use `nvim -c "lua require'LUA_MODULE'"` instead to run these commands after loading `init.lua`.
+
- We now use the upstream wrapper script for Gradle, supporting both the `JAVA_HOME` and `GRADLE_OPTS` environment variables.
- the `autossh-ng` NixOS module was introduced as a simpler alternative to the existing `autossh` module.
diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv
index 38ee02c3cd17..7a61b3ad4a52 100644
--- a/maintainers/scripts/luarocks-packages.csv
+++ b/maintainers/scripts/luarocks-packages.csv
@@ -3,6 +3,7 @@ alt-getopt,,,,,,arobyn
ansicolors,,,,,,Freed-Wu
argparse,,,,,,
basexx,,,,,,
+bcrypt,,,,,,ulysseszhan
binaryheap,,,,,,vcunat
bit32,,,,,5.1,lblasc
busted,,,,,,
@@ -18,6 +19,8 @@ cyan,,,,,,
datafile,,,,,,
digestif,,,,,5.3,
dkjson,,,,,,
+enet,,,,,,ulysseszhan
+etlua,,,,,,ulysseszhan
fennel,,,,,,misterio77
fidget.nvim,,,,,5.1,mrcjkb
fifo,,,,,,
@@ -73,6 +76,7 @@ lua_cliargs,,,,,,
luabitop,https://raw.githubusercontent.com/teto/luabitop/master/luabitop-1.0.2-3.rockspec,,,,,
luacheck,,,,,,
luacov,,,,,,
+luacov-reporter-lcov,,,,,,ulysseszhan
luadbi,,,,,,
luadbi-mysql,,,,,,
luadbi-postgresql,,,,,,
@@ -124,6 +128,7 @@ mpack,,,,,,
neorg,,,,,5.1,GaetanLepage
neorg-interim-ls,,,,,,
neotest,,,,,5.1,mrcjkb
+nginx-lua-prometheus,,,,,,ulysseszhan
nlua,,,,,,teto
nui.nvim,,,,,5.1,mrcjkb
nvim-cmp,https://raw.githubusercontent.com/hrsh7th/nvim-cmp/main/nvim-cmp-scm-1.rockspec,,,,5.1,
diff --git a/pkgs/applications/editors/neovim/tests/default.nix b/pkgs/applications/editors/neovim/tests/default.nix
index 086bb10a0509..58be196ca1e1 100644
--- a/pkgs/applications/editors/neovim/tests/default.nix
+++ b/pkgs/applications/editors/neovim/tests/default.nix
@@ -415,7 +415,7 @@ pkgs.lib.recurseIntoAttrs rec {
# check that bringing in one plugin with lua deps makes those deps visible from wrapper
# for instance luasnip has a dependency on jsregexp
can_require_transitive_deps = runTest nvim-with-luasnip ''
- ${nvim-with-luasnip}/bin/nvim -i NONE --cmd "lua require'jsregexp'" -e +quitall!
+ ${nvim-with-luasnip}/bin/nvim -i NONE -c "lua require'jsregexp'" -e +quitall!
'';
inherit nvim_with_rocks_nvim;
diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix
index c4c498cce00e..a0d60ffc551e 100644
--- a/pkgs/applications/editors/neovim/wrapper.nix
+++ b/pkgs/applications/editors/neovim/wrapper.nix
@@ -107,9 +107,11 @@ let
packpathDirs.myNeovimPackages = vimPackageInfo.vimPackage;
finalPackdir = neovimUtils.packDir packpathDirs;
+ luaDeps = extraLuaPackages lua.pkgs ++ vimPackageInfo.luaDependencies;
+
luaPathLuaRc =
let
- luaEnv = lua.withPackages (lp: extraLuaPackages lp ++ vimPackageInfo.luaDependencies);
+ luaEnv = lua.withPackages (_: luaDeps);
# getLuaPath / getLuaCPath are not interpreter dependant at the moment and might thus cause
# errors between luajit/Puc lua
@@ -122,7 +124,7 @@ let
'';
rcContent = lib.concatStringsSep "\n" (
- lib.optional (extraLuaPackages lua.pkgs != [ ]) luaPathLuaRc
+ lib.optional (luaDeps != [ ]) luaPathLuaRc
++ [ providerLuaRc ]
++ lib.optional (luaRcContent != "") luaRcContent
++ lib.optional (neovimRcContent' != "") ''
@@ -327,16 +329,7 @@ let
rm $out/bin/nvim
touch $out/rplugin.vim
- echo "Looking for lua dependencies..."
- source ${lua}/nix-support/utils.sh
-
- _addToLuaPath "${finalPackdir}"
-
- echo "LUA_PATH towards the end of packdir: $LUA_PATH"
-
- makeWrapper ${lib.escapeShellArgs finalMakeWrapperArgs} ${wrapperArgsStr} \
- --prefix LUA_PATH ';' "$LUA_PATH" \
- --prefix LUA_CPATH ';' "$LUA_CPATH"
+ makeWrapper ${lib.escapeShellArgs finalMakeWrapperArgs} ${wrapperArgsStr}
'';
buildPhase = ''
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index c2d840262876..3d56b7466a1d 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -571,11 +571,11 @@
"vendorHash": "sha256-xIagZvWtlNpz5SQfxbA7r9ojAeS3CW2pwV337ObKOwU="
},
"hashicorp_google": {
- "hash": "sha256-ulwx4+m/7mTTr0+1kSO1g4qkKhd/Yx5of4K7moDik88=",
+ "hash": "sha256-OF5Sa7ccS5z5d1hBKm43xmUQ8EibNMpOoBLa65EtTJg=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google",
"owner": "hashicorp",
"repo": "terraform-provider-google",
- "rev": "v7.23.0",
+ "rev": "v7.24.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-v/XHGUEpAIpGHErv7GPqfosVLL3xaqBwZHbJKS8fkn4="
},
diff --git a/pkgs/build-support/trivial-builders/default.nix b/pkgs/build-support/trivial-builders/default.nix
index 51724c6a331c..13cc1fdf77ef 100644
--- a/pkgs/build-support/trivial-builders/default.nix
+++ b/pkgs/build-support/trivial-builders/default.nix
@@ -241,98 +241,25 @@ rec {
meta.mainProgram = name;
};
- # TODO: move parameter documentation to the Nixpkgs manual
# See doc/build-helpers/trivial-build-helpers.chapter.md
# or https://nixos.org/manual/nixpkgs/unstable/#trivial-builder-writeShellApplication
writeShellApplication =
{
- /*
- The name of the script to write.
-
- Type: String
- */
name,
- /*
- The shell script's text, not including a shebang.
-
- Type: String
- */
text,
- /*
- Inputs to add to the shell script's `$PATH` at runtime.
-
- Type: [String|Derivation]
- */
runtimeInputs ? [ ],
- /*
- Extra environment variables to set at runtime.
-
- Type: AttrSet
- */
runtimeEnv ? null,
- /*
- `stdenv.mkDerivation`'s `meta` argument.
-
- Type: AttrSet
- */
meta ? { },
- /*
- `stdenv.mkDerivation`'s `passthru` argument.
-
- Type: AttrSet
- */
passthru ? { },
- /*
- The `checkPhase` to run. Defaults to `shellcheck` on supported
- platforms and `bash -n`.
-
- The script path will be given as `$target` in the `checkPhase`.
-
- Type: String
- */
checkPhase ? null,
- /*
- Checks to exclude when running `shellcheck`, e.g. `[ "SC2016" ]`.
-
- See for a list of checks.
-
- Type: [String]
- */
excludeShellChecks ? [ ],
- /*
- Extra command-line flags to pass to ShellCheck.
-
- Type: [String]
- */
extraShellCheckFlags ? [ ],
- /*
- Bash options to activate with `set -o` at the start of the script.
-
- Defaults to `[ "errexit" "nounset" "pipefail" ]`.
-
- Type: [String]
- */
bashOptions ? [
"errexit"
"nounset"
"pipefail"
],
- /*
- Extra arguments to pass to `stdenv.mkDerivation`.
-
- :::{.caution}
- Certain derivation attributes are used internally,
- overriding those could cause problems.
- :::
-
- Type: AttrSet
- */
derivationArgs ? { },
- /*
- Whether to inherit the current `$PATH` in the script.
-
- Type: Bool
- */
inheritPath ? true,
}@args:
writeTextFile {
diff --git a/pkgs/by-name/_2/_2ship2harkinian/package.nix b/pkgs/by-name/_2/_2ship2harkinian/package.nix
index 7895f7ebc385..ecca7747c8ff 100644
--- a/pkgs/by-name/_2/_2ship2harkinian/package.nix
+++ b/pkgs/by-name/_2/_2ship2harkinian/package.nix
@@ -106,13 +106,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "2ship2harkinian";
- version = "4.0.0";
+ version = "4.0.2";
src = fetchFromGitHub {
owner = "HarbourMasters";
repo = "2ship2harkinian";
tag = finalAttrs.version;
- hash = "sha256-fG9HIJChPGngb8vouLsQTo9xQXBq6qIZn7oyYssvNhI=";
+ hash = "sha256-zrV1iSI6d6vtzIyvYmSrbgijP3qZnwBkKG9L6+pq8+0=";
fetchSubmodules = true;
deepClone = true;
postFetch = ''
diff --git a/pkgs/by-name/aw/awscli/package.nix b/pkgs/by-name/aw/awscli/package.nix
index 3e18a1e9b065..7eb4ed29690a 100644
--- a/pkgs/by-name/aw/awscli/package.nix
+++ b/pkgs/by-name/aw/awscli/package.nix
@@ -7,10 +7,11 @@
nix-update-script,
testers,
awscli,
+ versionCheckHook,
}:
let
- self = python3Packages.buildPythonApplication rec {
+ self = python3Packages.buildPythonApplication (finalAttrs: {
pname = "awscli";
# N.B: if you change this, change botocore and boto3 to a matching version too
# check e.g. https://github.com/aws/aws-cli/blob/1.33.21/setup.py
@@ -20,7 +21,7 @@ let
src = fetchFromGitHub {
owner = "aws";
repo = "aws-cli";
- tag = version;
+ tag = finalAttrs.version;
hash = "sha256-yQFK1YjehmACZGMXfMQLc5OiiIGDO08OtwFSpaRyi58=";
};
@@ -62,32 +63,31 @@ let
runHook preInstallCheck
$out/bin/aws --version | grep "${python3Packages.botocore.version}"
- $out/bin/aws --version | grep "${version}"
+ $out/bin/aws --version | grep "${finalAttrs.version}"
runHook postInstallCheck
'';
+ nativeInstallCheckInputs = [
+ versionCheckHook
+ ];
+
passthru = {
python = python3Packages.python; # for aws_shell
updateScript = nix-update-script {
extraArgs = [ "--version=skip" ];
};
- tests.version = testers.testVersion {
- package = awscli;
- command = "aws --version";
- inherit version;
- };
};
meta = {
homepage = "https://aws.amazon.com/cli/";
- changelog = "https://github.com/aws/aws-cli/blob/${version}/CHANGELOG.rst";
+ changelog = "https://github.com/aws/aws-cli/blob/${finalAttrs.src.tag}/CHANGELOG.rst";
description = "Unified tool to manage your AWS services";
license = lib.licenses.asl20;
mainProgram = "aws";
maintainers = with lib.maintainers; [ anthonyroussel ];
};
- };
+ });
in
assert self ? pythonRelaxDeps -> !(lib.elem "botocore" self.pythonRelaxDeps);
self
diff --git a/pkgs/by-name/aw/awsebcli/package.nix b/pkgs/by-name/aw/awsebcli/package.nix
index 0ba14c745934..c1a5589f4571 100644
--- a/pkgs/by-name/aw/awsebcli/package.nix
+++ b/pkgs/by-name/aw/awsebcli/package.nix
@@ -24,7 +24,7 @@ let
};
in
-python.pkgs.buildPythonApplication rec {
+python.pkgs.buildPythonApplication (finalAttrs: {
pname = "awsebcli";
version = "3.27";
pyproject = true;
@@ -33,7 +33,7 @@ python.pkgs.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "aws";
repo = "aws-elastic-beanstalk-cli";
- tag = version;
+ tag = finalAttrs.version;
hash = "sha256-bqGed3LCOAG5+bSwdaenxM3HtNXI6iRq191XS5Aau8c=";
};
@@ -107,9 +107,9 @@ python.pkgs.buildPythonApplication rec {
meta = {
description = "Command line interface for Elastic Beanstalk";
homepage = "https://aws.amazon.com/elasticbeanstalk/";
- changelog = "https://github.com/aws/aws-elastic-beanstalk-cli/blob/${version}/CHANGES.rst";
+ changelog = "https://github.com/aws/aws-elastic-beanstalk-cli/blob/${finalAttrs.src.tag}/CHANGES.rst";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ kirillrdy ];
mainProgram = "eb";
};
-}
+})
diff --git a/pkgs/by-name/ca/cargo-v5/package.nix b/pkgs/by-name/ca/cargo-v5/package.nix
index 32c44d3986fb..ac3a972390c3 100644
--- a/pkgs/by-name/ca/cargo-v5/package.nix
+++ b/pkgs/by-name/ca/cargo-v5/package.nix
@@ -7,21 +7,18 @@
udev,
openssl,
}:
-
-rustPlatform.buildRustPackage {
+rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-v5";
- version = "0.8.2";
+ version = "0.12.1";
src = fetchFromGitHub {
owner = "vexide";
repo = "cargo-v5";
- rev = "9d5f6e014c80838ff2b0cca401bcbd518c1e9274";
- hash = "sha256-bXzJvlhG/IJOu+D1iluJD3wDoiJXWzXYJ+ZUG6xMCeA=";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-uIJcl1WfL96tvJ5QebbqnsP4nQqW7aCp4XYXgfu7CuY=";
};
- cargoHash = "sha256-nOcwHy+aji1LgR/VBZDRFDgM+b2ScpVE+H3W5HKEM5o=";
-
- buildFeatures = [ "full" ];
+ cargoHash = "sha256-D7zRkzJwh0jBTUFJhggG7Bc5ixMZ4YLtaqZihEQN6hM=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [
@@ -37,4 +34,4 @@ rustPlatform.buildRustPackage {
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ max-niederman ];
};
-}
+})
diff --git a/pkgs/by-name/gi/github-copilot-cli/package.nix b/pkgs/by-name/gi/github-copilot-cli/package.nix
index 416ee7064abd..26065a74bf37 100644
--- a/pkgs/by-name/gi/github-copilot-cli/package.nix
+++ b/pkgs/by-name/gi/github-copilot-cli/package.nix
@@ -32,12 +32,14 @@ stdenv.mkDerivation (finalAttrs: {
installPhase = ''
runHook preInstall
- install -Dm755 copilot $out/bin/copilot
+ # Use libexec to preserve filename when calling makeBinaryWrapper
+ install -Dm755 copilot $out/libexec/copilot
runHook postInstall
'';
postInstall = ''
- wrapProgram $out/bin/copilot \
+ # Filename must explictly be "copilot" for internal self-referencing
+ makeWrapper $out/libexec/copilot $out/bin/copilot \
--add-flags "--no-auto-update"
'';
diff --git a/pkgs/by-name/ma/mark/package.nix b/pkgs/by-name/ma/mark/package.nix
index acfc33a4a782..c14d0dbb236a 100644
--- a/pkgs/by-name/ma/mark/package.nix
+++ b/pkgs/by-name/ma/mark/package.nix
@@ -8,16 +8,16 @@
# https://github.com/kovetskiy/mark/pull/581#issuecomment-2797872996
buildGoModule (finalAttrs: {
pname = "mark";
- version = "15.4.0";
+ version = "16.0.0";
src = fetchFromGitHub {
owner = "kovetskiy";
repo = "mark";
rev = "v${finalAttrs.version}";
- sha256 = "sha256-s7BQKSr/wP7obryh4tLK8rdgV8hr6U6QeCrJt9EeY3o=";
+ sha256 = "sha256-df2HokfXT3EDpDjC1PGFHK8XgXY4OyItem1R6uKfX6s=";
};
- vendorHash = "sha256-s4+fB5ZkKnbuRfYOc0HWKgXAz38AjLBqU+p91Djgy0w=";
+ vendorHash = "sha256-7WXez3muilRGfic/K3mCH9D68ZmjcWr0UydGKJyMcy4=";
ldflags = [
"-s"
diff --git a/pkgs/by-name/ma/mate-terminal/package.nix b/pkgs/by-name/ma/mate-terminal/package.nix
index e8fa693c58d5..e815e310c3ba 100644
--- a/pkgs/by-name/ma/mate-terminal/package.nix
+++ b/pkgs/by-name/ma/mate-terminal/package.nix
@@ -21,14 +21,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mate-terminal";
- version = "1.28.2";
+ version = "1.28.3";
src = fetchFromGitHub {
owner = "mate-desktop";
repo = "mate-terminal";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
- hash = "sha256-tyYHMn+qwytpSNUZg4xfwnuVClxj2IcyB4C4Dsn+1Nc=";
+ hash = "sha256-fgmYqcv+36QjOFVB7gdBrUi6eZhWFLsJa3Pm27Idx8E=";
};
strictDeps = true;
diff --git a/pkgs/by-name/mi/minijinja/package.nix b/pkgs/by-name/mi/minijinja/package.nix
index 03fadbb0b803..cf117481be8b 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.17.1";
+ version = "2.18.0";
src = fetchFromGitHub {
owner = "mitsuhiko";
repo = "minijinja";
rev = finalAttrs.version;
- hash = "sha256-cuazG7Sm6gol6FIzcK0zvUU6EunJbetmaLiurYVeVko=";
+ hash = "sha256-l/79Q/5enkhQ3KggSWQKtjlF+bxSzOz73dwDhewM6mo=";
};
- cargoHash = "sha256-QsqixSyBeo4KAnZgnY7stdrczqRREoPN7EnLN9GMCu0=";
+ cargoHash = "sha256-WujWLLnz3xSR5H1IOsVYoB1o/R84a+BBdUTROMHz7xA=";
# The tests relies on the presence of network connection
doCheck = false;
diff --git a/pkgs/by-name/ne/netcat-openbsd/package.nix b/pkgs/by-name/ne/netcat-openbsd/package.nix
index d9fd6890251e..2d306570bdaa 100644
--- a/pkgs/by-name/ne/netcat-openbsd/package.nix
+++ b/pkgs/by-name/ne/netcat-openbsd/package.nix
@@ -9,14 +9,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "netcat-openbsd";
- version = "1.234-1";
+ version = "1.234-2";
src = fetchFromGitLab {
domain = "salsa.debian.org";
owner = "debian";
repo = "netcat-openbsd";
tag = "debian/${finalAttrs.version}";
- hash = "sha256-6pCsBbS2IjXyXgNXURHK3uMRTJ0aXAsu29kc7f479Os=";
+ hash = "sha256-kA9QzEI4nutQrKonHw+SxWYbuBLtn91edMAk8JBdAhU=";
};
strictDeps = true;
diff --git a/pkgs/by-name/ov/ovn/0001-tests-Ignore-AT_CHECK-stderr-for-grep-.-grep-q.patch b/pkgs/by-name/ov/ovn/0001-tests-Ignore-AT_CHECK-stderr-for-grep-.-grep-q.patch
deleted file mode 100644
index fe6606e5ef11..000000000000
--- a/pkgs/by-name/ov/ovn/0001-tests-Ignore-AT_CHECK-stderr-for-grep-.-grep-q.patch
+++ /dev/null
@@ -1,246 +0,0 @@
-From cbb90f0c9f4b684d1934380288553cc22f95babe Mon Sep 17 00:00:00 2001
-From: Ihar Hrachyshka
-Date: Fri, 12 Dec 2025 21:40:50 -0500
-Subject: [PATCH ovn] tests: Ignore AT_CHECK stderr for `grep ... | grep -q`.
-
-When `grep -q` is used in a pipeline, it will exit on a first match and
-not wait for its upstream pipeline component to complete. The upstream
-command may keep producing stdout. If the upstream command attempts to
-write to its stdout after `grep -q` exited, it will receive SIGPIPE. In
-this scenario, the upstream command may print an error to stderr.
-
-Specifically, `grep` may write: `grep: write error: Broken pipe`.
-
-Since AT_CHECK with implicit stderr argument expects empty stderr,
-running AT_CHECK on a pipeline that chains multiple `grep` calls, with
-the last component being `grep -q`, may result in a spurious test
-failure, depending on the order of `close` calls on stdin and stdout of
-the pipeline component commands.
-
-When `grep -q` is used and we expect it to return 0, we usually don't
-care if its upstream command produces more output (either stdout or
-stderr). As long as there's a match, `grep -q` - and the AT_CHECK check
-- should succeed.
-
-This patch updates all AT_CHECK calls that:
-
-- use a pipeline with multiple `grep` components;
-- with the last pipeline component being `grep -q`;
-- expect a match (making `grep -q` exit early).
-
-These calls are updated to explicitly `[ignore]` stderr from the
-pipeline.
-
-Signed-off-by: Ihar Hrachyshka
----
- tests/ovn-controller.at | 14 +++++++-------
- tests/ovn-northd.at | 28 ++++++++++++++--------------
- tests/system-ovn-kmod.at | 6 +++---
- 3 files changed, 24 insertions(+), 24 deletions(-)
-
-diff --git a/tests/ovn-controller.at b/tests/ovn-controller.at
-index 0ba1357b2..d7cc06d00 100644
---- a/tests/ovn-controller.at
-+++ b/tests/ovn-controller.at
-@@ -862,7 +862,7 @@ check ovn-nbctl meter-add event-elb drop 100 pktps 10
- check ovn-nbctl --wait=hv copp-add copp0 event-elb event-elb
- check ovn-nbctl --wait=hv ls-copp-add copp0 ls1
-
--AT_CHECK([as hv1 ovs-ofctl dump-flows br-int | grep controller | grep userdata=00.00.00.0f | grep -q meter_id=1])
-+AT_CHECK([as hv1 ovs-ofctl dump-flows br-int | grep controller | grep userdata=00.00.00.0f | grep -q meter_id=1], [0], [], [ignore])
-
- check ovn-nbctl copp-del copp0
- AT_CHECK([ovn-nbctl copp-list copp0], [0], [dnl
-@@ -875,13 +875,13 @@ check ovn-nbctl --wait=hv copp-add copp1 reject acl-meter
- check ovn-nbctl ls-copp-add copp1 ls1
- check ovn-nbctl --wait=hv acl-add ls1 from-lport 1002 'inport == "lsp1" && ip && udp' reject
-
--AT_CHECK([as hv1 ovs-ofctl dump-flows br-int | grep controller | grep userdata=00.00.00.16 | grep -q meter_id=1])
-+AT_CHECK([as hv1 ovs-ofctl dump-flows br-int | grep controller | grep userdata=00.00.00.16 | grep -q meter_id=1], [0], [], [ignore])
-
- # arp metering
- check ovn-nbctl meter-add arp-meter drop 200 pktps 0
- check ovn-nbctl --wait=hv copp-add copp2 arp-resolve arp-meter
- check ovn-nbctl --wait=hv lr-copp-add copp2 lr1
--AT_CHECK([as hv1 ovs-ofctl dump-flows br-int | grep controller | grep userdata=00.00.00.00 | grep -q meter_id=2])
-+AT_CHECK([as hv1 ovs-ofctl dump-flows br-int | grep controller | grep userdata=00.00.00.00 | grep -q meter_id=2], [0], [], [ignore])
-
- OVN_CLEANUP([hv1])
- AT_CLEANUP
-@@ -2099,7 +2099,7 @@ check ovn-nbctl --wait=hv sync
- check ovn-nbctl remove address_set as1 addresses 10.0.0.1/32
- check ovn-nbctl --wait=hv sync
-
--AT_CHECK([grep "already references desired flow" hv1/ovn-controller.log | grep -q "nw_src=10.0.0.1"])
-+AT_CHECK([grep "already references desired flow" hv1/ovn-controller.log | grep -q "nw_src=10.0.0.1"], [0], [], [ignore])
-
- # Same for duplicate IPv6 addresses.
- check ovn-nbctl add address_set as2 addresses '["::01"]'
-@@ -2107,7 +2107,7 @@ check ovn-nbctl --wait=hv sync
- check ovn-nbctl remove address_set as2 addresses '["::01"]'
- check ovn-nbctl --wait=hv sync
-
--AT_CHECK([grep "already references desired flow" hv1/ovn-controller.log | grep -q "ipv6_src=::1"])
-+AT_CHECK([grep "already references desired flow" hv1/ovn-controller.log | grep -q "ipv6_src=::1"], [0], [], [ignore])
-
- OVN_CLEANUP([hv1
- /already references desired flow/d
-@@ -2471,8 +2471,8 @@ AT_CHECK([ovn-nbctl --wait=hv sync])
- # Check if ovn-controller is still alive
- AT_CHECK([ps $pid], [0], [ignore])
- # Check if we got warnings for invalid
--AT_CHECK([grep "Parsing of ovn-chassis-mac-mappings failed" hv1/ovn-controller.log | grep -q invalid1])
--AT_CHECK([grep "Parsing of ovn-chassis-mac-mappings failed" hv1/ovn-controller.log | grep -q invalid2])
-+AT_CHECK([grep "Parsing of ovn-chassis-mac-mappings failed" hv1/ovn-controller.log | grep -q invalid1], [0], [], [ignore])
-+AT_CHECK([grep "Parsing of ovn-chassis-mac-mappings failed" hv1/ovn-controller.log | grep -q invalid2], [0], [], [ignore])
- AT_CHECK([grep "Parsing of ovn-chassis-mac-mappings failed" hv1/ovn-controller.log | grep -q br1], [1])
-
- OVN_CLEANUP([hv1
-diff --git a/tests/ovn-northd.at b/tests/ovn-northd.at
-index d425cfb7a..5b1a8b6f8 100644
---- a/tests/ovn-northd.at
-+++ b/tests/ovn-northd.at
-@@ -4151,7 +4151,7 @@ check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats
-
- check ovn-nbctl --bfd=$uuid lr-route-add r0 100.0.0.0/8 192.168.1.2
- wait_column down bfd status logical_port=r0-sw1
--AT_CHECK([ovn-nbctl lr-route-list r0 | grep 192.168.1.2 | grep -q bfd],[0])
-+AT_CHECK([ovn-nbctl lr-route-list r0 | grep 192.168.1.2 | grep -q bfd], [0], [], [ignore])
-
- check_engine_stats northd recompute nocompute
- check_engine_stats bfd recompute nocompute
-@@ -4163,11 +4163,11 @@ check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats
-
- check ovn-nbctl --bfd lr-route-add r0 200.0.0.0/8 192.168.2.2
- wait_column down bfd status logical_port=r0-sw2
--AT_CHECK([ovn-nbctl lr-route-list r0 | grep 192.168.2.2 | grep -q bfd],[0])
-+AT_CHECK([ovn-nbctl lr-route-list r0 | grep 192.168.2.2 | grep -q bfd], [0], [], [ignore])
-
- check ovn-nbctl --bfd lr-route-add r0 240.0.0.0/8 192.168.5.2 r0-sw5
- wait_column down bfd status logical_port=r0-sw5
--AT_CHECK([ovn-nbctl lr-route-list r0 | grep 192.168.5.2 | grep -q bfd],[0])
-+AT_CHECK([ovn-nbctl lr-route-list r0 | grep 192.168.5.2 | grep -q bfd], [0], [], [ignore])
-
- check_engine_stats northd recompute nocompute
- check_engine_stats bfd recompute nocompute
-@@ -4179,7 +4179,7 @@ check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats
-
- check ovn-nbctl --bfd --policy=src-ip lr-route-add r0 192.168.6.1/32 192.168.10.10 r0-sw6
- wait_column down bfd status logical_port=r0-sw6
--AT_CHECK([ovn-nbctl lr-route-list r0 | grep 192.168.6.1 | grep -q bfd],[0])
-+AT_CHECK([ovn-nbctl lr-route-list r0 | grep 192.168.6.1 | grep -q bfd], [0], [], [ignore])
-
- check_engine_stats northd recompute nocompute
- check_engine_stats bfd recompute nocompute
-@@ -4191,7 +4191,7 @@ check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats
-
- check ovn-nbctl --bfd --policy=src-ip lr-route-add r0 192.168.7.1/32 192.168.10.10 r0-sw7
- wait_column down bfd status logical_port=r0-sw7
--AT_CHECK([ovn-nbctl lr-route-list r0 | grep 192.168.7.1 | grep -q bfd],[0])
-+AT_CHECK([ovn-nbctl lr-route-list r0 | grep 192.168.7.1 | grep -q bfd], [0], [], [ignore])
-
- route_uuid=$(fetch_column nb:logical_router_static_route _uuid ip_prefix="100.0.0.0/8")
- check ovn-nbctl clear logical_router_static_route $route_uuid bfd
-@@ -4266,7 +4266,7 @@ AT_CHECK([ovn-nbctl copp-list copp0], [0], [dnl
- event-elb: meter0
- ])
-
--AT_CHECK([ovn-sbctl list logical_flow | grep trigger_event -A 2 | grep -q meter0])
-+AT_CHECK([ovn-sbctl list logical_flow | grep trigger_event -A 2 | grep -q meter0], [0], [], [ignore])
-
- check ovn-nbctl --wait=hv meter-add meter1 drop 300 pktps 10
- AT_CHECK([ovn-nbctl meter-list |grep meter1 -A 1], [0], [dnl
-@@ -4284,7 +4284,7 @@ AT_CHECK([ovn-nbctl copp-list copp1], [0], [dnl
- arp: meter1
- ])
-
--AT_CHECK([ovn-sbctl list logical_flow | grep arp -A 2 | grep -q meter1])
-+AT_CHECK([ovn-sbctl list logical_flow | grep arp -A 2 | grep -q meter1], [0], [], [ignore])
-
- check ovn-nbctl --wait=hv copp-del copp1 arp
- AT_CHECK([ovn-nbctl copp-list copp1], [0], [dnl
-@@ -4298,7 +4298,7 @@ AT_CHECK([ovn-nbctl copp-list copp2], [0], [dnl
- icmp4-error: meter2
- ])
-
--AT_CHECK([ovn-sbctl list logical_flow | grep icmp4 -A 2 | grep -q meter2])
-+AT_CHECK([ovn-sbctl list logical_flow | grep icmp4 -A 2 | grep -q meter2], [0], [], [ignore])
-
- check ovn-nbctl --wait=hv copp-del copp2 icmp4-error
- AT_CHECK([ovn-nbctl copp-list copp2], [0], [dnl
-@@ -4310,7 +4310,7 @@ AT_CHECK([ovn-nbctl copp-list copp3], [0], [dnl
- icmp6-error: meter2
- ])
-
--AT_CHECK([ovn-sbctl list logical_flow | grep icmp6 -A 2 | grep -q meter2])
-+AT_CHECK([ovn-sbctl list logical_flow | grep icmp6 -A 2 | grep -q meter2], [0], [], [ignore])
-
- check ovn-nbctl --wait=hv copp-del copp3 icmp6-error
- AT_CHECK([ovn-nbctl copp-list copp3], [0], [dnl
-@@ -4322,7 +4322,7 @@ AT_CHECK([ovn-nbctl copp-list copp4], [0], [dnl
- tcp-reset: meter2
- ])
-
--AT_CHECK([ovn-sbctl list logical_flow | grep tcp -A 2 | grep -q meter2])
-+AT_CHECK([ovn-sbctl list logical_flow | grep tcp -A 2 | grep -q meter2], [0], [], [ignore])
-
- check ovn-nbctl --wait=hv copp-del copp4 tcp-reset
- AT_CHECK([ovn-nbctl copp-list copp4], [0], [dnl
-@@ -4351,7 +4351,7 @@ check ovn-nbctl --wait=hv lr-copp-add copp7 r0
- AT_CHECK([ovn-nbctl copp-list copp7], [0], [dnl
- bfd: meter0
- ])
--AT_CHECK([ovn-sbctl list logical_flow | grep bfd -A 2 | grep -q meter0])
-+AT_CHECK([ovn-sbctl list logical_flow | grep bfd -A 2 | grep -q meter0],[0],[],[ignore])
-
- check ovn-nbctl --wait=hv set Logical_Switch sw1 \
- other_config:mcast_querier="false" \
-@@ -4361,7 +4361,7 @@ check ovn-nbctl --wait=hv ls-copp-add copp8 sw1
- AT_CHECK([ovn-nbctl copp-list copp8], [0], [dnl
- igmp: meter1
- ])
--AT_CHECK([ovn-sbctl list logical_flow | grep igmp -A 2 | grep -q meter1])
-+AT_CHECK([ovn-sbctl list logical_flow | grep igmp -A 2 | grep -q meter1],[0],[],[ignore])
-
- check ovn-nbctl copp-del copp8
- AT_CHECK([ovn-nbctl copp-list copp8], [0], [dnl
-@@ -7901,7 +7901,7 @@ AT_CHECK([ovn-sbctl lflow-list S1 | grep ls_in_l2_lkup | grep -q 'match=(eth.mca
- check ovn-nbctl --wait=sb set Logical_Switch S1 \
- other_config:broadcast-arps-to-all-routers=false
-
--AT_CHECK([ovn-sbctl lflow-list S1 | grep ls_in_l2_lkup | grep -q 'match=(eth.mcast && (arp.op == 1 || nd_ns)), action=(outport = "_MC_flood_l2"; output;)'], [0])
-+AT_CHECK([ovn-sbctl lflow-list S1 | grep ls_in_l2_lkup | grep -q 'match=(eth.mcast && (arp.op == 1 || nd_ns)), action=(outport = "_MC_flood_l2"; output;)'], [0], [], [ignore])
-
- check ovn-nbctl --wait=sb set Logical_Switch S1 \
- other_config:broadcast-arps-to-all-routers=true
-@@ -17201,7 +17201,7 @@ check ovn-nbctl --wait=sb sync
-
- ovn-sbctl dump-flows lr0 > lrflows
- AT_CAPTURE_FILE([lrflows])
--AT_CHECK([! ovn_strip_lflows < lrflows | grep priority=105 | grep -q "flags.force_snat_for_lb == 1"])
-+AT_CHECK([! ovn_strip_lflows < lrflows | grep priority=105 | grep -q "flags.force_snat_for_lb == 1"], [0], [], [ignore])
-
- check ovn-nbctl lrp-del lrp0 -- lrp-add lr0 lrp0 02:00:00:00:00:01 4242::4242/64
- check ovn-nbctl --wait=sb sync
-diff --git a/tests/system-ovn-kmod.at b/tests/system-ovn-kmod.at
-index 4e264cca8..53fc45734 100644
---- a/tests/system-ovn-kmod.at
-+++ b/tests/system-ovn-kmod.at
-@@ -1641,11 +1641,11 @@ check_flow_assured() {
- echo Check if a conntrack entry exists for src=$src_ip, dst=$dst_ip, zone=$zone
-
- if test -n "$src_ip" && test -n "$dst_ip"; then
-- AT_CHECK([grep -F "$src_ip" conntrack_file | grep -F "$dst_ip" | grep "zone=$zone" | grep -q "ASSURED"])
-+ AT_CHECK([grep -F "$src_ip" conntrack_file | grep -F "$dst_ip" | grep "zone=$zone" | grep -q "ASSURED"], [0], [], [ignore])
- elif test -n "$src_ip"; then
-- AT_CHECK([grep -F "$src_ip" conntrack_file | grep "zone=$zone" | grep -q "ASSURED"])
-+ AT_CHECK([grep -F "$src_ip" conntrack_file | grep "zone=$zone" | grep -q "ASSURED"], [0], [], [ignore])
- else
-- AT_CHECK([grep -F "$dst_ip" conntrack_file | grep "zone=$zone" | grep -q "ASSURED"])
-+ AT_CHECK([grep -F "$dst_ip" conntrack_file | grep "zone=$zone" | grep -q "ASSURED"], [0], [], [ignore])
- fi
- }
-
---
-2.51.2
-
diff --git a/pkgs/by-name/ov/ovn/package.nix b/pkgs/by-name/ov/ovn/package.nix
index c466362858ae..6dc27221e7ed 100644
--- a/pkgs/by-name/ov/ovn/package.nix
+++ b/pkgs/by-name/ov/ovn/package.nix
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
- fetchpatch,
autoreconfHook,
libbpf,
libcap_ng,
@@ -31,13 +30,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "ovn";
- version = "25.09.2";
+ version = "26.03.0";
src = fetchFromGitHub {
owner = "ovn-org";
repo = "ovn";
tag = "v${finalAttrs.version}";
- hash = "sha256-JcOc9rNtpGhr+dn+dXltA+WTJZa3bEgqyS4zjlVM+Uc=";
+ hash = "sha256-jw9SRDu2QqgMqApwTYcZUwNAq60LISb7OJJLDS46bJE=";
fetchSubmodules = true;
};
@@ -49,29 +48,6 @@ stdenv.mkDerivation (finalAttrs: {
"tools"
];
- patches = [
- # Fix build failure due to make install race condition.
- (fetchpatch {
- url = "https://github.com/ovn-org/ovn/commit/d7c46f5d1f9b804ebc7b20b0edad4e11469a41da.patch";
- hash = "sha256-P3XNZ2YXSa9s3DdlKX9C243bMovDbIsmapdrXaQS7go=";
- })
-
- # Disable scapy tests that were not marked with HAVE_SCAPY requirement -
- # they hang indefinitely if scapy is not installed.
- (fetchpatch {
- url = "https://github.com/ovn-org/ovn/commit/df99035f88e43a3b80f4c58dc530fd3f45766c54.patch";
- hash = "sha256-l+t1zZ3FEmcRa+G2qfDVaVTBRsFOPd6iceqDmRT+d7k=";
- })
- (fetchpatch {
- url = "https://github.com/ovn-org/ovn/commit/f353dbd03cd7a3c06b1b728321749e5e276aafc0.patch";
- hash = "sha256-hXH2/tFFtVfrOFQZxmbS7grQeQnTejESU8w10E484PE=";
- })
-
- # Fix test failures due to spurious Broken pipe on AT_CHECK stderr.
- # Posted: https://patchwork.ozlabs.org/project/ovn/patch/20251213030322.91112-1-ihar.hrachyshka@gmail.com/
- ./0001-tests-Ignore-AT_CHECK-stderr-for-grep-.-grep-q.patch
- ];
-
nativeBuildInputs = [
autoreconfHook
pkg-config
diff --git a/pkgs/by-name/pr/prometheus-opnsense-exporter/package.nix b/pkgs/by-name/pr/prometheus-opnsense-exporter/package.nix
index d8a06e10a11d..40c341342f5a 100644
--- a/pkgs/by-name/pr/prometheus-opnsense-exporter/package.nix
+++ b/pkgs/by-name/pr/prometheus-opnsense-exporter/package.nix
@@ -6,13 +6,13 @@
}:
buildGoModule (finalAttrs: {
pname = "prometheus-opnsense-exporter";
- version = "0.0.13";
+ version = "0.0.14";
src = fetchFromGitHub {
owner = "AthennaMind";
repo = "opnsense-exporter";
tag = "v${finalAttrs.version}";
- hash = "sha256-x2WQxS3TRhJCnDFFAnE4ayKmlNCRYabK9VBH29SPlFA=";
+ hash = "sha256-84kps3/XqggGukpcq43iFEOlXcErbFQTWYcCcgVOGVQ=";
};
ldflags = [
diff --git a/pkgs/by-name/ro/routersploit/package.nix b/pkgs/by-name/ro/routersploit/package.nix
index 32d8cc7bfe1c..42d174baf7cc 100644
--- a/pkgs/by-name/ro/routersploit/package.nix
+++ b/pkgs/by-name/ro/routersploit/package.nix
@@ -1,36 +1,35 @@
{
lib,
+ stdenv,
fetchFromGitHub,
python3,
}:
-
-let
- version = "3.4.7";
-in
-python3.pkgs.buildPythonApplication {
+python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "routersploit";
- inherit version;
+ version = "3.4.7";
pyproject = true;
src = fetchFromGitHub {
owner = "threat9";
repo = "routersploit";
- tag = "v${version}";
+ tag = "v${finalAttrs.version}";
hash = "sha256-10NBSY/mYjOWoz2XCJ1UvXUIYUW4csRJHHtDlWMO420=";
};
build-system = with python3.pkgs; [ setuptools ];
- dependencies = with python3.pkgs; [
- paramiko
- pycryptodome
- pysnmp
- requests
- setuptools
- ];
-
- # Tests are out-dated and support for newer pysnmp is not implemented yet
- doCheck = false;
+ dependencies =
+ with python3.pkgs;
+ [
+ paramiko
+ pycryptodome
+ pysnmp
+ requests
+ setuptools
+ ]
+ ++ lib.optionals (pythonAtLeast "3.13") [
+ standard-telnetlib
+ ];
nativeCheckInputs = with python3.pkgs; [
pytest-xdist
@@ -51,9 +50,31 @@ python3.pkgs.buildPythonApplication {
"tests/test_module_info.py"
];
+ disabledTests = [
+ # AttributeError: module 'paramiko' has no attribute 'DSSKey'.
+ "test_exploit_empty_response"
+ "test_exploit_error_response"
+ "test_exploit_not_found_response"
+ "test_exploit_redirect_response"
+ "test_exploit_trash_response"
+
+ # Runs substantially slower, making this test flaky
+ "test_exploit_timeout_response"
+ ]
+ ++ lib.optionals stdenv.hostPlatform.isDarwin [
+ # port conflict when running simultaneous builds
+ "test_http_scenario_service_empty_response"
+ "test_http_scenario_service_error"
+ "test_http_scenario_service_found"
+ "test_http_scenario_service_not_found"
+ "test_http_scenario_service_redirect"
+ "test_http_scenario_service_trash"
+ ];
+
meta = {
description = "Exploitation Framework for Embedded Devices";
homepage = "https://github.com/threat9/routersploit";
+ changelog = "https://github.com/threat9/routersploit/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
fab
@@ -61,4 +82,4 @@ python3.pkgs.buildPythonApplication {
];
mainProgram = "rsf";
};
-}
+})
diff --git a/pkgs/by-name/sh/shaka-packager/0001-Allow-external-declaration-of-packager-version.patch b/pkgs/by-name/sh/shaka-packager/0001-Allow-external-declaration-of-packager-version.patch
deleted file mode 100644
index c6d54b5943de..000000000000
--- a/pkgs/by-name/sh/shaka-packager/0001-Allow-external-declaration-of-packager-version.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/packager/version/CMakeLists.txt b/packager/version/CMakeLists.txt
-index fba4fb8282..ad56e0a23b 100644
---- a/packager/version/CMakeLists.txt
-+++ b/packager/version/CMakeLists.txt
-@@ -4,6 +4,7 @@
- # license that can be found in the LICENSE file or at
- # https://developers.google.com/open-source/licenses/bsd
-
-+if(NOT DEFINED PACKAGER_VERSION)
- execute_process(
- COMMAND "${Python3_EXECUTABLE}" generate_version_string.py
- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
-@@ -14,6 +15,7 @@ execute_process(
- if(NOT STATUS EQUAL 0)
- message(FATAL_ERROR "Failed to generate Packager version")
- endif()
-+endif()
-
- add_library(version STATIC version.cc)
- target_compile_definitions(version PRIVATE
-
diff --git a/pkgs/by-name/sh/shaka-packager/0002-Unvendor-dependencies.patch b/pkgs/by-name/sh/shaka-packager/0002-Unvendor-dependencies.patch
deleted file mode 100644
index 19abd9ad5a6c..000000000000
--- a/pkgs/by-name/sh/shaka-packager/0002-Unvendor-dependencies.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5b96a2429e..181df0bf2d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -9,6 +9,8 @@
- # Minimum CMake version. This must be in the root level CMakeLists.txt.
- cmake_minimum_required(VERSION 3.24)
-
-+set(CMAKE_CXX_STANDARD 17)
-+
- # These policy settings should be included before the project definition.
- include("packager/policies.cmake")
-
-@@ -28,6 +30,28 @@ enable_testing()
-
- option(SKIP_INTEGRATION_TESTS "Skip the packager integration tests" OFF)
-
-+find_package(absl REQUIRED)
-+find_package(MbedTLS REQUIRED)
-+find_package(GTest REQUIRED)
-+find_package(CURL REQUIRED)
-+find_package(LibXml2 REQUIRED)
-+find_package(PNG REQUIRED)
-+find_package(nlohmann_json REQUIRED)
-+find_package(Protobuf CONFIG REQUIRED)
-+find_package(webm REQUIRED)
-+
-+# Alias to same names as vendored dependencies
-+add_library(mbedtls ALIAS MbedTLS::mbedtls)
-+add_library(gmock ALIAS GTest::gmock)
-+add_library(gtest ALIAS GTest::gtest)
-+add_library(gtest_main ALIAS GTest::gtest_main)
-+add_library(libcurl ALIAS CURL::libcurl)
-+add_library(LibXml2 ALIAS LibXml2::LibXml2)
-+add_library(png_static ALIAS PNG::PNG) # not static but the expected library name
-+add_library(libprotobuf ALIAS protobuf::libprotobuf)
-+add_executable(protoc ALIAS protobuf::protoc)
-+add_library(webm ALIAS webm::webm)
-+
- # Subdirectories with their own CMakeLists.txt
- add_subdirectory(packager)
- add_subdirectory(link-test)
-diff --git a/packager/CMakeLists.txt b/packager/CMakeLists.txt
-index 7238d243bb..722217bbc4 100644
---- a/packager/CMakeLists.txt
-+++ b/packager/CMakeLists.txt
-@@ -78,7 +78,6 @@ add_subdirectory(media)
- add_subdirectory(hls)
- add_subdirectory(mpd)
- add_subdirectory(status)
--add_subdirectory(third_party)
- add_subdirectory(tools)
- add_subdirectory(utils)
- add_subdirectory(version)
-diff --git a/packager/tools/pssh/CMakeLists.txt b/packager/tools/pssh/CMakeLists.txt
-index 9ec3a39d26..0b981cec29 100644
---- a/packager/tools/pssh/CMakeLists.txt
-+++ b/packager/tools/pssh/CMakeLists.txt
-@@ -14,7 +14,6 @@ set(PSSH_BOX_OUTPUTS
-
- add_custom_command(
- DEPENDS
-- protobuf_py
- widevine_protos
- pssh-box.py
- OUTPUT ${PSSH_BOX_OUTPUTS}
-@@ -26,10 +25,6 @@ add_custom_command(
- ${CMAKE_BINARY_DIR}/packager/media/base/widevine_common_encryption_pb2.py
- ${CMAKE_BINARY_DIR}/packager/media/base/widevine_pssh_data_pb2.py
- ${CMAKE_BINARY_DIR}/packager/pssh-box-protos/
-- COMMAND
-- ${CMAKE_COMMAND} -E copy_directory
-- ${CMAKE_BINARY_DIR}/packager/third_party/protobuf/py/google
-- ${CMAKE_BINARY_DIR}/packager/pssh-box-protos/google
- COMMAND
- ${CMAKE_COMMAND} -E copy
- ${CMAKE_CURRENT_SOURCE_DIR}/pssh-box.py
-
diff --git a/pkgs/by-name/sh/shaka-packager/package.nix b/pkgs/by-name/sh/shaka-packager/package.nix
index d574b87c96ee..5d482603be90 100644
--- a/pkgs/by-name/sh/shaka-packager/package.nix
+++ b/pkgs/by-name/sh/shaka-packager/package.nix
@@ -1,14 +1,13 @@
{
lib,
stdenv,
- fetchpatch,
fetchFromGitHub,
testers,
cmake,
ninja,
python3,
nix-update-script,
- abseil-cpp_202401,
+ abseil-cpp,
curl,
gtest,
nlohmann_json,
@@ -17,47 +16,21 @@
libwebm,
mbedtls,
mimalloc,
- protobuf_29,
+ protobuf,
zlib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "shaka-packager";
- version = "3.4.2";
+ version = "3.7.0";
src = fetchFromGitHub {
owner = "shaka-project";
repo = "shaka-packager";
tag = "v${finalAttrs.version}";
- hash = "sha256-Syty10LHGIlP5Jw+UneQMN+wBz/ggvV0xV8+3ThU8SM=";
+ hash = "sha256-2kOQEkLNEX8TvHhef8RGHRGRRuhYDLhnuo11MCCnzPk=";
};
- patches = [
- # By default, the git commit hash and tag are used as version
- # and shaka-packager fails to build if these are not available.
- # This patch makes it possible to pass an external value as version.
- # The value itself is declared further below in `cmakeFlags`.
- ./0001-Allow-external-declaration-of-packager-version.patch
- # Dependencies are vendored as git submodules inside shaka-packager.
- # We want to reuse the dependencies from nixpkgs instead to avoid unnecessary
- # build overhead and to ensure they are up to date.
- # This patch disables the vendored dependencies (by excluding `third-party`),
- # finds them inside the build environment and aliases them so they can be accessed
- # without prefixing namespaces.
- # The last step is necessary to keep the patch size to a minimum, otherwise we'd have
- # to add the namespace identifiers everywhere a dependency is used.
- ./0002-Unvendor-dependencies.patch
- # GCC15 build fixes
- # Taken from https://github.com/shaka-project/shaka-packager/pull/1506,
- # but excludes the changes to the shell script as we do not use it.
- (fetchpatch {
- name = "GCC15-cstdint-includes";
- url = "https://github.com/shaka-project/shaka-packager/commit/b1c79e50521b8725117dfe0a45fe44c2f2dbd4fb.patch";
- excludes = [ "packager/testing/test_dockers.sh" ];
- hash = "sha256-8dBQ+eENZKFB9ONjmPBlxy8P/iinyeUS8zhlxz6rnQ4=";
- })
- ];
-
nativeBuildInputs = [
cmake
ninja
@@ -70,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
# pssh_box.py.
ps.protobuf
]))
- abseil-cpp_202401
+ abseil-cpp
curl
gtest
nlohmann_json
@@ -79,15 +52,13 @@ stdenv.mkDerivation (finalAttrs: {
libwebm
mbedtls
mimalloc
- (protobuf_29.override {
- # must be the same version as for shaka-packager
- abseil-cpp = abseil-cpp_202401;
- })
+ protobuf
zlib
];
cmakeFlags = [
"-DPACKAGER_VERSION=v${finalAttrs.version}-nixpkgs"
+ "-DUSE_SYSTEM_DEPENDENCIES=ON"
# Targets are selected below in ninjaFlags
"-DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON"
];
diff --git a/pkgs/by-name/sn/snouty/package.nix b/pkgs/by-name/sn/snouty/package.nix
index c79ff899a269..70100e9c23c1 100644
--- a/pkgs/by-name/sn/snouty/package.nix
+++ b/pkgs/by-name/sn/snouty/package.nix
@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "snouty";
- version = "0.3.1";
+ version = "0.3.3";
src = fetchFromGitHub {
owner = "antithesishq";
repo = "snouty";
tag = "v${finalAttrs.version}";
- hash = "sha256-YLB4A5Ol+4sZF1RB28npJZ4pVF2Y2lSMBD8QoV8wZUg=";
+ hash = "sha256-ScE+Er8k86N6zmEnVEpxWPnW6g6Gyy1TA+2HNGZmqgE=";
};
- cargoHash = "sha256-TJy9mJSXgJQMMDK6TFOXQVU8PujMjd3k2gdlW5Kf//4=";
+ cargoHash = "sha256-I/pXyX4Z+tGqVbFjog+GzXJYnBwpyYZsc0lvlBOdT/Q=";
nativeBuildInputs = [
installShellFiles
diff --git a/pkgs/by-name/tl/tlsinfo/package.nix b/pkgs/by-name/tl/tlsinfo/package.nix
index 999d5a96b96f..38d37c46782f 100644
--- a/pkgs/by-name/tl/tlsinfo/package.nix
+++ b/pkgs/by-name/tl/tlsinfo/package.nix
@@ -7,16 +7,16 @@
buildGoModule (finalAttrs: {
pname = "tlsinfo";
- version = "0.1.53";
+ version = "0.1.54";
src = fetchFromGitHub {
owner = "paepckehh";
repo = "tlsinfo";
tag = "v${finalAttrs.version}";
- hash = "sha256-ZP9juaZ2jsXSnvz1RxJ/841QgYvSYupdG2OqOOm55U4=";
+ hash = "sha256-RMmYlTcQaf1HrP+d5VttosHr5BrNwsbUst8AptpkFTs=";
};
- vendorHash = "sha256-rxTiIGIdSSwS1UdBjWmNz5iUlkUb1htDCa5XRpFLUw8=";
+ vendorHash = "sha256-rUvveQ82WHtmiRNE/sKACami5YdGw4y4BEdnsfbwVW4=";
ldflags = [
"-s"
diff --git a/pkgs/by-name/un/uniex/package.nix b/pkgs/by-name/un/uniex/package.nix
index 7db3a81b649b..75a4669db596 100644
--- a/pkgs/by-name/un/uniex/package.nix
+++ b/pkgs/by-name/un/uniex/package.nix
@@ -7,16 +7,16 @@
buildGoModule (finalAttrs: {
pname = "uniex";
- version = "0.1.28";
+ version = "0.1.31";
src = fetchFromGitHub {
owner = "paepckehh";
repo = "uniex";
tag = "v${finalAttrs.version}";
- hash = "sha256-9/B6SVPvHT7l8Y5rY7ax09B30ra3doCUDCtTZUgwcZo=";
+ hash = "sha256-OOu8AveAsxl9RBNmBxP5MxsQv7g6lUsneBIVdwybuSg=";
};
- vendorHash = "sha256-YZ4WbKSa3hFVqIkZGye0UN5WSezPuAPdNdcA5opaWi4=";
+ vendorHash = "sha256-UIzfdK573jKHCulmP/6YH9TeYd5xkopvwJzLa7QkOVg=";
ldflags = [
"-s"
diff --git a/pkgs/development/compilers/fasm/bin.nix b/pkgs/development/compilers/fasm/bin.nix
index 1428eb91179f..21a40595f6a9 100644
--- a/pkgs/development/compilers/fasm/bin.nix
+++ b/pkgs/development/compilers/fasm/bin.nix
@@ -2,15 +2,18 @@
stdenvNoCC,
lib,
fetchurl,
+ writeShellScript,
+ curl,
+ nix-update,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "fasm-bin";
- version = "1.73.34";
+ version = "1.73.35";
src = fetchurl {
url = "https://flatassembler.net/fasm-${finalAttrs.version}.tgz";
- hash = "sha256-CAlGTsfvpDRWsHh9UysgBorjX+mygEWjFeRaznyDszw=";
+ hash = "sha256-o03sfQvC3Hn6q7aL2LwvYrbPsx1pwBRJNnzkzYCYk04=";
};
installPhase = ''
@@ -21,6 +24,25 @@ stdenvNoCC.mkDerivation (finalAttrs: {
runHook postInstall
'';
+ passthru.updateScript = writeShellScript "update-fasm" ''
+ set -euo pipefail
+
+ version=""
+ while IFS= read -r line; do
+ if [[ "$line" =~ fasm-([0-9]+\.[0-9]+\.[0-9]+)\.tgz ]]; then
+ version="''${BASH_REMATCH[1]}"
+ break
+ fi
+ done < <(${lib.getExe curl} -fsSL https://flatassembler.net/download.php)
+
+ if [[ -z "$version" ]]; then
+ echo "Could not determine latest fasm version" >&2
+ exit 1
+ fi
+
+ ${lib.getExe nix-update} fasm-bin --version "$version"
+ '';
+
meta = {
description = "x86(-64) macro assembler to binary, MZ, PE, COFF, and ELF";
homepage = "https://flatassembler.net/";
diff --git a/pkgs/development/compilers/fasm/default.nix b/pkgs/development/compilers/fasm/default.nix
index 13dde1459657..02776217b25a 100644
--- a/pkgs/development/compilers/fasm/default.nix
+++ b/pkgs/development/compilers/fasm/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ fasm-bin ];
buildPhase = ''
- fasm source/Linux${lib.optionalString isx86_64 "/x64"}/fasm.asm fasm
+ fasm source/linux${lib.optionalString isx86_64 "/x64"}/fasm.asm fasm
for tool in listing prepsrc symbols; do
fasm tools/libc/$tool.asm
cc -o tools/libc/fasm-$tool tools/libc/$tool.o
@@ -33,4 +33,6 @@ stdenv.mkDerivation {
cp -r examples/ *.txt tools/fas.txt $docs
cp tools/readme.txt $docs/tools.txt
'';
+
+ passthru.updateScript = fasm-bin.updateScript;
}
diff --git a/pkgs/development/compilers/flutter/versions/3_41/data.json b/pkgs/development/compilers/flutter/versions/3_41/data.json
index 28a3fb27b223..2fd451b4c1c2 100644
--- a/pkgs/development/compilers/flutter/versions/3_41/data.json
+++ b/pkgs/development/compilers/flutter/versions/3_41/data.json
@@ -1,73 +1,73 @@
{
- "version": "3.41.2",
- "engineVersion": "6c0baaebf70e0148f485f27d5616b3d3382da7bf",
+ "version": "3.41.5",
+ "engineVersion": "052f31d115eceda8cbff1b3481fcde4330c4ae12",
"engineSwiftShaderHash": "sha256-qbtCl2nTpmtp9dnaoXc7rF3RqLnAZEmzw1BzPoCRWrc=",
"engineSwiftShaderRev": "794b0cfce1d828d187637e6d932bae484fbe0976",
"channel": "stable",
"engineHashes": {
"aarch64-linux": {
- "aarch64-linux": "sha256-/qFsER5fdrFcOYR7UPih98CRx52TzaZay0GqcwbwSmU=",
- "x86_64-linux": "sha256-/qFsER5fdrFcOYR7UPih98CRx52TzaZay0GqcwbwSmU="
+ "aarch64-linux": "sha256-9oBkkZZeK8LGhTgpDkIDgPSVFdi22sY4nYxVOoM8Vl8=",
+ "x86_64-linux": "sha256-9oBkkZZeK8LGhTgpDkIDgPSVFdi22sY4nYxVOoM8Vl8="
},
"x86_64-linux": {
- "aarch64-linux": "sha256-mbpazHaIvHtKYIM0Si3NjceEuHadBcP1qtfW5eR2XLw=",
- "x86_64-linux": "sha256-mbpazHaIvHtKYIM0Si3NjceEuHadBcP1qtfW5eR2XLw="
+ "aarch64-linux": "sha256-ytlDrcgbpaiQicQEsukG+s6ktiO/ZUO0d0J/bgFa/3E=",
+ "x86_64-linux": "sha256-ytlDrcgbpaiQicQEsukG+s6ktiO/ZUO0d0J/bgFa/3E="
}
},
- "dartVersion": "3.11.0",
+ "dartVersion": "3.11.3",
"dartHash": {
- "x86_64-linux": "sha256-8xcptWe+MYx8wjva/muamX+n3b+CnfUBbwZiJ7aqDJk=",
- "aarch64-linux": "sha256-dr/vXICcCCF332xRu/SADY1NdV8ulvt1Fiv40rAy74M=",
- "x86_64-darwin": "sha256-Wlwpx6g4EmkzKAEyaxHMrc8M/nMB7QGj8G6BdmvLjXQ=",
- "aarch64-darwin": "sha256-IjJFpC6rG4EeUC4VYluGcHX/4BLenrU3Skzd4u4IdTQ="
+ "x86_64-linux": "sha256-EZ9NDVGzaX6ENaKqoZ1YcnwbkvAOfoCEujU5yz/GX6w=",
+ "aarch64-linux": "sha256-ae3riKmt69ZAGcvsEyhUM5Q/DySqednRCP3NafyErC4=",
+ "x86_64-darwin": "sha256-J7Xs90lzUgYnwhe7DpsdzA3VMe3euMyld78VIJan5+0=",
+ "aarch64-darwin": "sha256-1uoVeW55dmNrNhu5NQVJNPy6PQXt+uik7HvznUPbvNY="
},
- "flutterHash": "sha256-2Pcg6+bMSuCpb9ZKVA+JgqRLK9Xb6O9hVXHpgcgOt8E=",
+ "flutterHash": "sha256-Q6nChBx/asI0aCcQJRqs3Foc9lQYF37KOmpIpKYDnio=",
"artifactHashes": {
"android": {
- "aarch64-darwin": "sha256-MVik5WrekVdyuLdh7b6jEsCXnPwr8jP6nWo14iutKvQ=",
- "aarch64-linux": "sha256-yzjxb2tn6UwrN8G1kNFp8dsMNdjYYyxh9pZI/l09MR4=",
- "x86_64-darwin": "sha256-MVik5WrekVdyuLdh7b6jEsCXnPwr8jP6nWo14iutKvQ=",
- "x86_64-linux": "sha256-yzjxb2tn6UwrN8G1kNFp8dsMNdjYYyxh9pZI/l09MR4="
+ "aarch64-darwin": "sha256-85JdaSRH0/olFszdcVPWDZ8X+3QCLbWJHqCqUF9RCig=",
+ "aarch64-linux": "sha256-8JoxI3JZfu3vmZ85BJHDcetnmHOLxZHvFkcEhPKxNfY=",
+ "x86_64-darwin": "sha256-85JdaSRH0/olFszdcVPWDZ8X+3QCLbWJHqCqUF9RCig=",
+ "x86_64-linux": "sha256-8JoxI3JZfu3vmZ85BJHDcetnmHOLxZHvFkcEhPKxNfY="
},
"fuchsia": {
- "aarch64-darwin": "sha256-CVkWu42Zo+PlWW3/VCfHSFqhT9/465NdvDiTGIqVFOU=",
- "aarch64-linux": "sha256-CVkWu42Zo+PlWW3/VCfHSFqhT9/465NdvDiTGIqVFOU=",
- "x86_64-darwin": "sha256-CVkWu42Zo+PlWW3/VCfHSFqhT9/465NdvDiTGIqVFOU=",
- "x86_64-linux": "sha256-CVkWu42Zo+PlWW3/VCfHSFqhT9/465NdvDiTGIqVFOU="
+ "aarch64-darwin": "sha256-9bVP42PO0fRHiWCIJ9zanoA+bQy4ZQu0n9HmTvSu7T0=",
+ "aarch64-linux": "sha256-9bVP42PO0fRHiWCIJ9zanoA+bQy4ZQu0n9HmTvSu7T0=",
+ "x86_64-darwin": "sha256-9bVP42PO0fRHiWCIJ9zanoA+bQy4ZQu0n9HmTvSu7T0=",
+ "x86_64-linux": "sha256-9bVP42PO0fRHiWCIJ9zanoA+bQy4ZQu0n9HmTvSu7T0="
},
"ios": {
- "aarch64-darwin": "sha256-sv3NhB+8YMStlTuCgXjVw2PU2AvsKQE3nHcvn3V7/zI=",
- "aarch64-linux": "sha256-sv3NhB+8YMStlTuCgXjVw2PU2AvsKQE3nHcvn3V7/zI=",
- "x86_64-darwin": "sha256-sv3NhB+8YMStlTuCgXjVw2PU2AvsKQE3nHcvn3V7/zI=",
- "x86_64-linux": "sha256-sv3NhB+8YMStlTuCgXjVw2PU2AvsKQE3nHcvn3V7/zI="
+ "aarch64-darwin": "sha256-xGclaS40JejT3bv21pgc9lAVqmHZ7ayBxsFmxw39D94=",
+ "aarch64-linux": "sha256-xGclaS40JejT3bv21pgc9lAVqmHZ7ayBxsFmxw39D94=",
+ "x86_64-darwin": "sha256-xGclaS40JejT3bv21pgc9lAVqmHZ7ayBxsFmxw39D94=",
+ "x86_64-linux": "sha256-xGclaS40JejT3bv21pgc9lAVqmHZ7ayBxsFmxw39D94="
},
"linux": {
- "aarch64-darwin": "sha256-bgNcc68wrVRxiwywWCQ0NkXrIQcm2xVqp8mZ6IBlTqM=",
- "aarch64-linux": "sha256-bgNcc68wrVRxiwywWCQ0NkXrIQcm2xVqp8mZ6IBlTqM=",
- "x86_64-darwin": "sha256-ZSyIouKMNNajEPFBN+VB5q6//QzsQz/J5Zj6Q8ms46M=",
- "x86_64-linux": "sha256-ZSyIouKMNNajEPFBN+VB5q6//QzsQz/J5Zj6Q8ms46M="
+ "aarch64-darwin": "sha256-I23sQ9F5Tc7VOqqJVGq7+bEqCYiUPZ9b3HPvBreCocE=",
+ "aarch64-linux": "sha256-I23sQ9F5Tc7VOqqJVGq7+bEqCYiUPZ9b3HPvBreCocE=",
+ "x86_64-darwin": "sha256-sqPFSKLVoPev7vjMH+dNXqJG9J7qu3B1c0QTquD8FH4=",
+ "x86_64-linux": "sha256-sqPFSKLVoPev7vjMH+dNXqJG9J7qu3B1c0QTquD8FH4="
},
"macos": {
- "aarch64-darwin": "sha256-erI+Iiy+jm6NY4GeasD9hyHqpYs7v7y1QFEdtO58x4g=",
- "aarch64-linux": "sha256-erI+Iiy+jm6NY4GeasD9hyHqpYs7v7y1QFEdtO58x4g=",
- "x86_64-darwin": "sha256-erI+Iiy+jm6NY4GeasD9hyHqpYs7v7y1QFEdtO58x4g=",
- "x86_64-linux": "sha256-erI+Iiy+jm6NY4GeasD9hyHqpYs7v7y1QFEdtO58x4g="
+ "aarch64-darwin": "sha256-6T2hdsVkJT9p/LmjxQcuZwW5GaLAeUybClWAS6GnpHs=",
+ "aarch64-linux": "sha256-6T2hdsVkJT9p/LmjxQcuZwW5GaLAeUybClWAS6GnpHs=",
+ "x86_64-darwin": "sha256-6T2hdsVkJT9p/LmjxQcuZwW5GaLAeUybClWAS6GnpHs=",
+ "x86_64-linux": "sha256-6T2hdsVkJT9p/LmjxQcuZwW5GaLAeUybClWAS6GnpHs="
},
"universal": {
- "aarch64-darwin": "sha256-gGt+tk7eDRuZ4f9RX8A+FGgezsYOwpaO0FJ+2KE3gbk=",
- "aarch64-linux": "sha256-niLDdkedhlORVMr3HgWJik4XOd5BHph0sX+jfqgN+JM=",
- "x86_64-darwin": "sha256-7Gpvr0dKqkjXEtsNGCKqN+lxx1deeNDhCOxr0xi7N4s=",
- "x86_64-linux": "sha256-SG9fBf0urA5Na6Ff9NXoE8eRatMQHzoxoEoe9oyCe/E="
+ "aarch64-darwin": "sha256-XPfEDhj93WID+DpqkUQAPjztLm6C1FQgpOlOLkXrOGY=",
+ "aarch64-linux": "sha256-7MrTsgG+5PUpZUHPi09wY8Qx4nlH7OQejW71mcfUVh8=",
+ "x86_64-darwin": "sha256-6D6ZkErxDzZxwyqLYvygzKSt+KC6kMMzJbLmjTAo53c=",
+ "x86_64-linux": "sha256-rS/3K2qW4yaNTeX8CnsLd6Zt0w16WRVkbYh8x/vEOM0="
},
"web": {
- "aarch64-darwin": "sha256-HovW39xCgObtExLUqn5xN2t4Wz0UQYArlqF4ZAGjv6A=",
- "aarch64-linux": "sha256-HovW39xCgObtExLUqn5xN2t4Wz0UQYArlqF4ZAGjv6A=",
- "x86_64-darwin": "sha256-HovW39xCgObtExLUqn5xN2t4Wz0UQYArlqF4ZAGjv6A=",
- "x86_64-linux": "sha256-HovW39xCgObtExLUqn5xN2t4Wz0UQYArlqF4ZAGjv6A="
+ "aarch64-darwin": "sha256-yxeoFB63kZd2sPZJSsj8GZcYcW+y23CprJZQ+9Kty9Q=",
+ "aarch64-linux": "sha256-yxeoFB63kZd2sPZJSsj8GZcYcW+y23CprJZQ+9Kty9Q=",
+ "x86_64-darwin": "sha256-yxeoFB63kZd2sPZJSsj8GZcYcW+y23CprJZQ+9Kty9Q=",
+ "x86_64-linux": "sha256-yxeoFB63kZd2sPZJSsj8GZcYcW+y23CprJZQ+9Kty9Q="
},
"windows": {
- "x86_64-darwin": "sha256-8DmZF1AFsJ9V4X8IGXVPxKbAtBJWbKybZsvu7MdtHpU=",
- "x86_64-linux": "sha256-8DmZF1AFsJ9V4X8IGXVPxKbAtBJWbKybZsvu7MdtHpU="
+ "x86_64-darwin": "sha256-dOuUDKdycN0P9T94e9+Nqg6XQpR06WFiiAzgNgZFTi0=",
+ "x86_64-linux": "sha256-dOuUDKdycN0P9T94e9+Nqg6XQpR06WFiiAzgNgZFTi0="
}
},
"pubspecLock": {
@@ -586,11 +586,11 @@
"dependency": "direct main",
"description": {
"name": "matcher",
- "sha256": "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6",
+ "sha256": "dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861",
"url": "https://pub.dev"
},
"source": "hosted",
- "version": "0.12.18"
+ "version": "0.12.19"
},
"meta": {
"dependency": "direct main",
@@ -896,31 +896,31 @@
"dependency": "direct dev",
"description": {
"name": "test",
- "sha256": "54c516bbb7cee2754d327ad4fca637f78abfc3cbcc5ace83b3eda117e42cd71a",
+ "sha256": "280d6d890011ca966ad08df7e8a4ddfab0fb3aa49f96ed6de56e3521347a9ae7",
"url": "https://pub.dev"
},
"source": "hosted",
- "version": "1.29.0"
+ "version": "1.30.0"
},
"test_api": {
"dependency": "direct main",
"description": {
"name": "test_api",
- "sha256": "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636",
+ "sha256": "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a",
"url": "https://pub.dev"
},
"source": "hosted",
- "version": "0.7.9"
+ "version": "0.7.10"
},
"test_core": {
"dependency": "direct main",
"description": {
"name": "test_core",
- "sha256": "394f07d21f0f2255ec9e3989f21e54d3c7dc0e6e9dbce160e5a9c1a6be0e2943",
+ "sha256": "0381bd1585d1a924763c308100f2138205252fb90c9d4eeaf28489ee65ccde51",
"url": "https://pub.dev"
},
"source": "hosted",
- "version": "0.6.15"
+ "version": "0.6.16"
},
"typed_data": {
"dependency": "direct main",
diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix
index f6b09f37e4d8..531f1101235d 100644
--- a/pkgs/development/lua-modules/generated-packages.nix
+++ b/pkgs/development/lua-modules/generated-packages.nix
@@ -136,6 +136,39 @@ final: prev: {
}
) { };
+ bcrypt = callPackage (
+ {
+ buildLuarocksPackage,
+ fetchFromGitHub,
+ fetchurl,
+ luaOlder,
+ }:
+ buildLuarocksPackage {
+ pname = "bcrypt";
+ version = "2.3-1";
+ knownRockspec =
+ (fetchurl {
+ url = "mirror://luarocks/bcrypt-2.3-1.rockspec";
+ sha256 = "1zjy7sflyd50jvp603hmw0sg3rw5xyray0spzv5x5ky9hxivcdrf";
+ }).outPath;
+ src = fetchFromGitHub {
+ owner = "mikejsavage";
+ repo = "lua-bcrypt";
+ tag = "v2.3-1";
+ hash = "sha256-wd9AbzfD3j9fyTq3toscitPsTEE49YoeSstwfO+3QGo=";
+ };
+
+ disabled = luaOlder "5.1";
+
+ meta = {
+ homepage = "http://github.com/mikejsavage/lua-bcrypt";
+ description = "A Lua wrapper for bcrypt";
+ maintainers = with lib.maintainers; [ ulysseszhan ];
+ license.fullName = "ISC";
+ };
+ }
+ ) { };
+
binaryheap = callPackage (
{
buildLuarocksPackage,
@@ -642,6 +675,72 @@ final: prev: {
}
) { };
+ enet = callPackage (
+ {
+ buildLuarocksPackage,
+ fetchFromGitHub,
+ fetchurl,
+ luaOlder,
+ }:
+ buildLuarocksPackage {
+ pname = "enet";
+ version = "1.2-1";
+ knownRockspec =
+ (fetchurl {
+ url = "mirror://luarocks/enet-1.2-1.rockspec";
+ sha256 = "0jf0qxf3lsrmc1dww7b7i6srqp2cy8caqv9f1rbva7f6rnppxzra";
+ }).outPath;
+ src = fetchFromGitHub {
+ owner = "leafo";
+ repo = "lua-enet";
+ tag = "v1.2";
+ hash = "sha256-GomfJAPbR+y469LuaNPrkab0Wd3xAsAhT4uqbDo8BUA=";
+ };
+
+ disabled = luaOlder "5.1";
+
+ meta = {
+ homepage = "http://leafo.net/lua-enet";
+ description = "A library for doing network communication in Lua";
+ maintainers = with lib.maintainers; [ ulysseszhan ];
+ license.fullName = "MIT";
+ };
+ }
+ ) { };
+
+ etlua = callPackage (
+ {
+ buildLuarocksPackage,
+ fetchFromGitHub,
+ fetchurl,
+ luaOlder,
+ }:
+ buildLuarocksPackage {
+ pname = "etlua";
+ version = "1.3.0-1";
+ knownRockspec =
+ (fetchurl {
+ url = "mirror://luarocks/etlua-1.3.0-1.rockspec";
+ sha256 = "1g98ibp7n2p4js39din2balncjnxxdbaq6msw92z072s2cccx9cf";
+ }).outPath;
+ src = fetchFromGitHub {
+ owner = "leafo";
+ repo = "etlua";
+ tag = "v1.3.0";
+ hash = "sha256-CVCNeivP6tefUMseoZjiO5wMYBEPNWMy2+0KnmEIuT0=";
+ };
+
+ disabled = luaOlder "5.1";
+
+ meta = {
+ homepage = "https://github.com/leafo/etlua";
+ description = "Embedded templates for Lua";
+ maintainers = with lib.maintainers; [ ulysseszhan ];
+ license.fullName = "MIT";
+ };
+ }
+ ) { };
+
fennel = callPackage (
{
buildLuarocksPackage,
@@ -2413,6 +2512,39 @@ final: prev: {
}
) { };
+ luacov-reporter-lcov = callPackage (
+ {
+ buildLuarocksPackage,
+ fetchurl,
+ fetchzip,
+ luaOlder,
+ luacov,
+ }:
+ buildLuarocksPackage {
+ pname = "luacov-reporter-lcov";
+ version = "0.2-0";
+ knownRockspec =
+ (fetchurl {
+ url = "mirror://luarocks/luacov-reporter-lcov-0.2-0.rockspec";
+ sha256 = "16w0vsv9q69zr0rw61x0p3cly755nzi83c83jk579qhxk16ja6c2";
+ }).outPath;
+ src = fetchzip {
+ url = "https://github.com/daurnimator/luacov-reporter-lcov/archive/v0.2.zip";
+ sha256 = "0bw0wyq9zqpcjbqpnlkpxs5g1i015n2rsh0iic4vapmcy7sxlx7w";
+ };
+
+ disabled = luaOlder "5.1";
+ propagatedBuildInputs = [ luacov ];
+
+ meta = {
+ homepage = "https://github.com/daurnimator/luacov-reporter-lcov";
+ description = "A luacov reporter for use with lcov";
+ maintainers = with lib.maintainers; [ ulysseszhan ];
+ license.fullName = "MIT";
+ };
+ }
+ ) { };
+
luadbi = callPackage (
{
buildLuarocksPackage,
@@ -4061,6 +4193,39 @@ final: prev: {
}
) { };
+ nginx-lua-prometheus = callPackage (
+ {
+ buildLuarocksPackage,
+ fetchFromGitHub,
+ fetchurl,
+ luaOlder,
+ }:
+ buildLuarocksPackage {
+ pname = "nginx-lua-prometheus";
+ version = "0.20240525-1";
+ knownRockspec =
+ (fetchurl {
+ url = "mirror://luarocks/nginx-lua-prometheus-0.20240525-1.rockspec";
+ sha256 = "0xw21h7bl7l8kijbmw98v0lc7910r5pwnx7h3w894dv63d413ixr";
+ }).outPath;
+ src = fetchFromGitHub {
+ owner = "knyar";
+ repo = "nginx-lua-prometheus";
+ tag = "0.20240525";
+ hash = "sha256-ovLpOQKgTfrrgCxCF/OtdPUuAQ9J4RtT9F68Bbzu1XQ=";
+ };
+
+ disabled = luaOlder "5.1";
+
+ meta = {
+ homepage = "https://github.com/knyar/nginx-lua-prometheus";
+ description = "Prometheus metric library for Nginx";
+ maintainers = with lib.maintainers; [ ulysseszhan ];
+ license.fullName = "MIT";
+ };
+ }
+ ) { };
+
nlua = callPackage (
{
buildLuarocksPackage,
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index a0d13262625d..5d401efb4f74 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -10,6 +10,7 @@
coreutils,
curl,
dbus,
+ enet,
expat,
fd,
fetchFromGitHub,
@@ -147,6 +148,32 @@ in
'';
});
+ enet = prev.enet.overrideAttrs (old: {
+ postPatch = ''
+ # luaL_checkint is removed in Lua 5.3, and luaL_register is removed in Lua 5.4
+ sed -i '/#include "lauxlib.h"/a\
+ #if LUA_VERSION_NUM >= 502\
+ #define luaL_checkint(L,n) ((int)luaL_checkinteger(L, (n)))\
+ #define luaL_register(L,n,f) ((n) ? luaL_newlib(L,f) : luaL_setfuncs(L,f,0))\
+ #endif
+ ' enet.c
+ '';
+ buildInputs = old.buildInputs ++ [ enet ];
+ });
+
+ etlua = prev.etlua.overrideAttrs {
+ postPatch = ''
+ # unpack was deleted in Lua 5.2
+ sed -i '1i unpack = unpack or table.unpack' spec/etlua_spec.moon
+ '';
+ doCheck = luaOlder "5.5"; # some dependency of moonscript does not support Lua 5.5
+ preCheck = "moonc spec/etlua_spec.moon";
+ nativeCheckInputs = [
+ final.bustedCheckHook
+ final.moonscript
+ ];
+ };
+
fzf-lua = prev.fzf-lua.overrideAttrs {
# FIXME: https://github.com/NixOS/nixpkgs/issues/431458
# fzf-lua throws `address already in use` on darwin
diff --git a/pkgs/development/octave-modules/image/default.nix b/pkgs/development/octave-modules/image/default.nix
index 4f424e3a4f94..32ef4eb4a9bd 100644
--- a/pkgs/development/octave-modules/image/default.nix
+++ b/pkgs/development/octave-modules/image/default.nix
@@ -10,11 +10,11 @@
buildOctavePackage rec {
pname = "image";
- version = "2.18.2";
+ version = "2.20.0";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
- sha256 = "sha256-pYY8E5LZd+pPNwzFVH4EsXY8K3fXs6Hyz2zYweXkmRk=";
+ sha256 = "sha256-X42X7X99GM6FSoF0u/gZ6eOnA7zRyyyosa0Vue8ylSI=";
};
nativeOctavePkgTestInputs = [
diff --git a/pkgs/development/python-modules/apache-beam/default.nix b/pkgs/development/python-modules/apache-beam/default.nix
index 0185e06c1973..2baa9c9e8486 100644
--- a/pkgs/development/python-modules/apache-beam/default.nix
+++ b/pkgs/development/python-modules/apache-beam/default.nix
@@ -90,6 +90,7 @@ buildPythonPackage (finalAttrs: {
"httplib2"
"jsonpickle"
"objsize"
+ "protobuf"
"pyarrow"
];
diff --git a/pkgs/development/python-modules/axis/default.nix b/pkgs/development/python-modules/axis/default.nix
index 6062cce8beee..a1d33d3d6726 100644
--- a/pkgs/development/python-modules/axis/default.nix
+++ b/pkgs/development/python-modules/axis/default.nix
@@ -1,7 +1,6 @@
{
lib,
- async-timeout,
- attrs,
+ aiohttp,
buildPythonPackage,
faust-cchardet,
fetchFromGitHub,
@@ -16,29 +15,28 @@
buildPythonPackage rec {
pname = "axis";
- version = "66";
+ version = "67";
pyproject = true;
- disabled = pythonOlder "3.12";
+ disabled = pythonOlder "3.14";
src = fetchFromGitHub {
owner = "Kane610";
repo = "axis";
tag = "v${version}";
- hash = "sha256-h3ySZeGlWeWIywtZoK8LcnxaqRe6lvJ7VTds1J+Jc3M=";
+ hash = "sha256-Zfhz3AtiMSF5yNF+Z7++3O1oof5hyfues3u4bToFBYk=";
};
postPatch = ''
substituteInPlace pyproject.toml \
- --replace-fail "setuptools==80.9.0" "setuptools" \
- --replace-fail "wheel==0.46.1" "wheel"
+ --replace-fail "setuptools==82.0.1" "setuptools" \
+ --replace-fail "wheel==0.46.3" "wheel"
'';
build-system = [ setuptools ];
dependencies = [
- async-timeout
- attrs
+ aiohttp
faust-cchardet
httpx
orjson
diff --git a/pkgs/development/python-modules/copier/default.nix b/pkgs/development/python-modules/copier/default.nix
index 580b52d812c4..832154aa05d6 100644
--- a/pkgs/development/python-modules/copier/default.nix
+++ b/pkgs/development/python-modules/copier/default.nix
@@ -28,7 +28,7 @@
buildPythonPackage rec {
pname = "copier";
- version = "9.11.3";
+ version = "9.14.0";
pyproject = true;
src = fetchFromGitHub {
@@ -39,7 +39,7 @@ buildPythonPackage rec {
postFetch = ''
rm $out/tests/demo/doc/ma*ana.txt
'';
- hash = "sha256-/7Bl01kuZVqVhXPnIwNL3mwt8DOPK02Qd/85J1zX4q4=";
+ hash = "sha256-ntPd0uJabePbgf4wvyG1WCmIYCjNyPaQIllNAkxExxo=";
};
env.POETRY_DYNAMIC_VERSIONING_BYPASS = version;
diff --git a/pkgs/development/python-modules/maubot/default.nix b/pkgs/development/python-modules/maubot/default.nix
index a030049f5b3a..2b8f15339a51 100644
--- a/pkgs/development/python-modules/maubot/default.nix
+++ b/pkgs/development/python-modules/maubot/default.nix
@@ -42,12 +42,12 @@ let
maubot = python.pkgs.buildPythonPackage rec {
pname = "maubot";
- version = "0.5.1";
+ version = "0.6.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
- hash = "sha256-0UtelZ3w0QUw825AGhSc8wfhYaL9FSYJXCvYZEefWPQ=";
+ hash = "sha256-ZXwyctTjKg1ssYE6Ehc1s1DPhWyc08dIQ4MQz6EQXGg=";
};
patches = [
diff --git a/pkgs/development/python-modules/ppf-datamatrix/default.nix b/pkgs/development/python-modules/ppf-datamatrix/default.nix
new file mode 100644
index 000000000000..1cc755e11ac3
--- /dev/null
+++ b/pkgs/development/python-modules/ppf-datamatrix/default.nix
@@ -0,0 +1,35 @@
+{
+ lib,
+ buildPythonPackage,
+ setuptools-scm,
+ fetchFromGitHub,
+ pytestCheckHook,
+}:
+
+buildPythonPackage (finalAttrs: {
+ pname = "ppf-datamatrix";
+ version = "0.2";
+
+ pyproject = true;
+
+ src = fetchFromGitHub {
+ owner = "adrianschlatter";
+ repo = "ppf.datamatrix";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-g6KTUUYDXUlFmV0Rg3Mp23huAb+j+LTWrvY8wuYB90g=";
+ };
+
+ build-system = [ setuptools-scm ];
+
+ pythonImportsCheck = [ "ppf.datamatrix" ];
+
+ nativeCheckInputs = [ pytestCheckHook ];
+
+ meta = {
+ description = "Pure-python package to generate data matrix codes";
+ homepage = "https://github.com/adrianschlatter/ppf.datamatrix";
+ license = lib.licenses.mit;
+ maintainers = with lib.maintainers; [ kurogeek ];
+ changelog = "https://github.com/adrianschlatter/ppf.datamatrix/releases/tag/v${finalAttrs.src.tag}";
+ };
+})
diff --git a/pkgs/development/python-modules/pysmartthings/default.nix b/pkgs/development/python-modules/pysmartthings/default.nix
index 4d6b7d427064..3a9218e042c7 100644
--- a/pkgs/development/python-modules/pysmartthings/default.nix
+++ b/pkgs/development/python-modules/pysmartthings/default.nix
@@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "pysmartthings";
- version = "3.7.0";
+ version = "3.7.2";
pyproject = true;
disabled = pythonOlder "3.12";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "andrewsayre";
repo = "pysmartthings";
tag = "v${version}";
- hash = "sha256-PjvAdF1kvs0f7cViPjOYVziDRiI2DngwQk0E3zddgJE=";
+ hash = "sha256-zz5UUvegBUXqqJeV7S3OF0eoGISC5hd8hfevY9UQ0nM=";
};
build-system = [ poetry-core ];
diff --git a/pkgs/development/python-modules/streamlit/default.nix b/pkgs/development/python-modules/streamlit/default.nix
index 0587d1848360..19f9a8376396 100644
--- a/pkgs/development/python-modules/streamlit/default.nix
+++ b/pkgs/development/python-modules/streamlit/default.nix
@@ -37,7 +37,10 @@ buildPythonPackage (finalAttrs: {
build-system = [ setuptools ];
- pythonRelaxDeps = [ "packaging" ];
+ pythonRelaxDeps = [
+ "packaging"
+ "protobuf"
+ ];
dependencies = [
altair
diff --git a/pkgs/development/python-modules/threat9-test-bed/asyncio-loop.patch b/pkgs/development/python-modules/threat9-test-bed/asyncio-loop.patch
new file mode 100644
index 000000000000..2d2687bfcce4
--- /dev/null
+++ b/pkgs/development/python-modules/threat9-test-bed/asyncio-loop.patch
@@ -0,0 +1,18 @@
+diff --git a/threat9_test_bed/telnet_service/telnet_server.py b/threat9_test_bed/telnet_service/telnet_server.py
+index 7d29e8f..77f5e48 100644
+--- a/threat9_test_bed/telnet_service/telnet_server.py
++++ b/threat9_test_bed/telnet_service/telnet_server.py
+@@ -6,8 +6,11 @@ logger = logging.getLogger(__name__)
+
+ class TelnetServer:
+ def __init__(self, host: str, port: int, protocol):
+- self.loop = asyncio.get_event_loop()
+-
++ try:
++ self.loop = asyncio.get_running_loop()
++ except RuntimeError:
++ self.loop = asyncio.new_event_loop()
++ asyncio.set_event_loop(self.loop)
+ coro = self.loop.create_server(protocol, host, port)
+ self.server = self.loop.run_until_complete(coro)
+
diff --git a/pkgs/development/python-modules/threat9-test-bed/default.nix b/pkgs/development/python-modules/threat9-test-bed/default.nix
index 32afef3b0aac..c9f4701ea23a 100644
--- a/pkgs/development/python-modules/threat9-test-bed/default.nix
+++ b/pkgs/development/python-modules/threat9-test-bed/default.nix
@@ -26,6 +26,8 @@ buildPythonPackage rec {
hash = "sha256-0YSjMf2gDdrvkDaT77iwfCkiDDXKHnZyI8d7JmBSuCg=";
};
+ patches = [ ./asyncio-loop.patch ];
+
build-system = [ setuptools-scm ];
dependencies = [
diff --git a/pkgs/development/python-modules/unsloth-zoo/default.nix b/pkgs/development/python-modules/unsloth-zoo/default.nix
index 8549a8c0ee5c..ef2be47691bf 100644
--- a/pkgs/development/python-modules/unsloth-zoo/default.nix
+++ b/pkgs/development/python-modules/unsloth-zoo/default.nix
@@ -25,18 +25,28 @@
tyro,
}:
-buildPythonPackage rec {
+buildPythonPackage (finalAttrs: {
pname = "unsloth-zoo";
- version = "2026.1.3";
+ version = "2026.3.4";
pyproject = true;
# no tags on GitHub
src = fetchPypi {
pname = "unsloth_zoo";
- inherit version;
- hash = "sha256-njArRI9y6EKwZamJnQoWQIvmYzV6t0syUIi1d7DzX4U=";
+ inherit (finalAttrs) version;
+ hash = "sha256-24w8UV5cLG5XWrU73xfmg+Jk32zl+QSPdqXLzMtmP1E=";
};
+ postPatch = ''
+ substituteInPlace pyproject.toml \
+ --replace-fail \
+ "setuptools==80.9.0" \
+ "setuptools" \
+ --replace-fail \
+ "setuptools-scm==9.2.0" \
+ "setuptools-scm"
+ '';
+
# pyproject.toml requires an obsolete version of protobuf,
# but it is not used.
# Upstream issue: https://github.com/unslothai/unsloth-zoo/pull/68
@@ -44,6 +54,7 @@ buildPythonPackage rec {
"datasets"
"protobuf"
"transformers"
+ "trl"
"torch"
];
@@ -78,9 +89,7 @@ buildPythonPackage rec {
# No tests
doCheck = false;
- pythonImportsCheck = [
- "unsloth_zoo"
- ];
+ pythonImportsCheck = [ "unsloth_zoo" ];
meta = {
description = "Utils for Unsloth";
@@ -88,4 +97,4 @@ buildPythonPackage rec {
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ hoh ];
};
-}
+})
diff --git a/pkgs/development/python-modules/unsloth-zoo/dont-require-unsloth.patch b/pkgs/development/python-modules/unsloth-zoo/dont-require-unsloth.patch
index f1f2990d318f..b5f7c9d8ddd7 100644
--- a/pkgs/development/python-modules/unsloth-zoo/dont-require-unsloth.patch
+++ b/pkgs/development/python-modules/unsloth-zoo/dont-require-unsloth.patch
@@ -1,29 +1,37 @@
diff --git a/unsloth_zoo/__init__.py b/unsloth_zoo/__init__.py
-index 2332907..2eed5e9 100644
+index 8c4404c..dc1666f 100644
--- a/unsloth_zoo/__init__.py
+++ b/unsloth_zoo/__init__.py
-@@ -64,8 +64,6 @@ pass
+@@ -90,8 +90,6 @@ if (os.environ.get("UNSLOTH_COMPILE_DEBUG", "0") == "1"):
from importlib.util import find_spec
-if find_spec("unsloth") is None:
- raise ImportError("Please install Unsloth via `pip install unsloth`!")
- pass
- del find_spec
+ if find_spec("torch") is None:
+ raise ImportError(
+ "Unsloth: Pytorch is not installed. Go to https://pytorch.org/.\n"\
+@@ -275,9 +273,6 @@ del remove_expandable_segments, delete_key, IS_HIP_RUNTIME, IS_TORCH_2_9_OR_NEWE
+ del clean_expandable_segments_value
+ del _ORIGINAL_PYTORCH_CUDA_ALLOC_CONF, _ORIGINAL_PYTORCH_HIP_ALLOC_CONF, _HAS_ORIGINAL_PYTORCH_ALLOC_CONF
-@@ -75,12 +73,13 @@ def get_device_type():
+-if not ("UNSLOTH_IS_PRESENT" in os.environ):
+- raise ImportError("Please install Unsloth via `pip install unsloth`!")
+-
+ try:
+ print("🦥 Unsloth: Will patch your computer to enable 2x faster free finetuning.")
+ except:
+diff --git a/unsloth_zoo/device_type.py b/unsloth_zoo/device_type.py
+index 11136fb..8f8dafc 100644
+--- a/unsloth_zoo/device_type.py
++++ b/unsloth_zoo/device_type.py
+@@ -209,6 +209,9 @@ def get_device_type():
return "cuda"
elif hasattr(torch, "xpu") and torch.xpu.is_available():
return "xpu"
+ else:
+ # Allow import during tests
+ return None
- raise NotImplementedError("Unsloth currently only works on NVIDIA GPUs and Intel GPUs.")
- pass
- DEVICE_TYPE : str = get_device_type()
-
--if not ("UNSLOTH_IS_PRESENT" in os.environ):
-- raise ImportError("Please install Unsloth via `pip install unsloth`!")
- pass
-
- try:
+ # Check torch.accelerator
+ if hasattr(torch, "accelerator"):
+ if not torch.accelerator.is_available():
diff --git a/pkgs/development/python-modules/unsloth/default.nix b/pkgs/development/python-modules/unsloth/default.nix
index c5e1a8425c41..657f2bbf1a20 100644
--- a/pkgs/development/python-modules/unsloth/default.nix
+++ b/pkgs/development/python-modules/unsloth/default.nix
@@ -51,16 +51,16 @@ let
};
in
-buildPythonPackage rec {
+buildPythonPackage (finalAttrs: {
pname = "unsloth";
- version = "2026.1.3";
+ version = "2026.3.8";
pyproject = true;
# Tags on the GitHub repo don't match
src = fetchPypi {
pname = "unsloth";
- inherit version;
- hash = "sha256-Vq47dKdOyRm+sQmGkfEQ8vM1A1Xq7NwqyE2NGhgyK/s=";
+ inherit (finalAttrs) version;
+ hash = "sha256-2HXsaYhsMxNEm6ctKDZDrA9MY/fUKhAo0EPYC5RwBNc=";
};
build-system = [
@@ -140,8 +140,8 @@ buildPythonPackage rec {
meta = {
description = "Finetune Llama 3.3, DeepSeek-R1 & Reasoning LLMs 2x faster with 70% less memory";
homepage = "https://github.com/unslothai/unsloth";
- changelog = "https://github.com/unslothai/unsloth/releases/tag/${version}";
+ changelog = "https://github.com/unslothai/unsloth/releases/tag/${finalAttrs.version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ hoh ];
};
-}
+})
diff --git a/pkgs/development/python-modules/uqbar/default.nix b/pkgs/development/python-modules/uqbar/default.nix
index 2185be8f8c3e..b3894cc70cee 100644
--- a/pkgs/development/python-modules/uqbar/default.nix
+++ b/pkgs/development/python-modules/uqbar/default.nix
@@ -57,6 +57,11 @@ buildPythonPackage (finalAttrs: {
# assert not ["\x1b[91mWARNING: dot command 'dot' cannot be run (needed for
# graphviz output), check the graphviz_dot setting\x1b[39;49;00m"]
"test_sphinx_style_latex"
+ # Fails with line wrapping differences
+ "test_sphinx_api_2"
+ # Fails with changed wording in the summary (but semantically equivalent output)
+ # https://github.com/supriya-project/uqbar/issues/107
+ "SummarizingRootDocumenter"
]
++ lib.optional (pythonAtLeast "3.11") [
# assert not '\x1b[91m/build/uqbar-0.7.0/tests/fake_package/enums.py:docstring
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 5f614f764f23..d63ceadbc1cb 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -12751,6 +12751,8 @@ self: super: with self; {
ppdeep = callPackage ../development/python-modules/ppdeep { };
+ ppf-datamatrix = callPackage ../development/python-modules/ppf-datamatrix { };
+
ppft = callPackage ../development/python-modules/ppft { };
ppk2-api = callPackage ../development/python-modules/ppk2-api { };