Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2026-03-21 06:14:01 +00:00
committed by GitHub
47 changed files with 587 additions and 661 deletions
@@ -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}
+3
View File
@@ -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"
],
+5
View File
@@ -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.
@@ -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,
1 name rockspec ref server version luaversion maintainers
3 ansicolors Freed-Wu
4 argparse
5 basexx
6 bcrypt ulysseszhan
7 binaryheap vcunat
8 bit32 5.1 lblasc
9 busted
19 datafile
20 digestif 5.3
21 dkjson
22 enet ulysseszhan
23 etlua ulysseszhan
24 fennel misterio77
25 fidget.nvim 5.1 mrcjkb
26 fifo
76 luabitop https://raw.githubusercontent.com/teto/luabitop/master/luabitop-1.0.2-3.rockspec
77 luacheck
78 luacov
79 luacov-reporter-lcov ulysseszhan
80 luadbi
81 luadbi-mysql
82 luadbi-postgresql
128 neorg 5.1 GaetanLepage
129 neorg-interim-ls
130 neotest 5.1 mrcjkb
131 nginx-lua-prometheus ulysseszhan
132 nlua teto
133 nui.nvim 5.1 mrcjkb
134 nvim-cmp https://raw.githubusercontent.com/hrsh7th/nvim-cmp/main/nvim-cmp-scm-1.rockspec 5.1
@@ -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;
+5 -12
View File
@@ -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 = ''
@@ -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="
},
@@ -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 <https://www.shellcheck.net/wiki/> 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 {
+2 -2
View File
@@ -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 = ''
+10 -10
View File
@@ -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
+4 -4
View File
@@ -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";
};
}
})
+6 -9
View File
@@ -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 ];
};
}
})
@@ -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"
'';
+3 -3
View File
@@ -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"
+2 -2
View File
@@ -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;
+3 -3
View File
@@ -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;
+2 -2
View File
@@ -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;
@@ -1,246 +0,0 @@
From cbb90f0c9f4b684d1934380288553cc22f95babe Mon Sep 17 00:00:00 2001
From: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
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 <ihar.hrachyshka@gmail.com>
---
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
+2 -26
View File
@@ -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
@@ -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 = [
+39 -18
View File
@@ -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";
};
}
})
@@ -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
@@ -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
+7 -36
View File
@@ -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"
];
+3 -3
View File
@@ -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
+3 -3
View File
@@ -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"
+3 -3
View File
@@ -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"
+24 -2
View File
@@ -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/";
+3 -1
View File
@@ -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;
}
@@ -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",
@@ -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,
@@ -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
@@ -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 = [
@@ -90,6 +90,7 @@ buildPythonPackage (finalAttrs: {
"httplib2"
"jsonpickle"
"objsize"
"protobuf"
"pyarrow"
];
@@ -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
@@ -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;
@@ -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 = [
@@ -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}";
};
})
@@ -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 ];
@@ -37,7 +37,10 @@ buildPythonPackage (finalAttrs: {
build-system = [ setuptools ];
pythonRelaxDeps = [ "packaging" ];
pythonRelaxDeps = [
"packaging"
"protobuf"
];
dependencies = [
altair
@@ -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)
@@ -26,6 +26,8 @@ buildPythonPackage rec {
hash = "sha256-0YSjMf2gDdrvkDaT77iwfCkiDDXKHnZyI8d7JmBSuCg=";
};
patches = [ ./asyncio-loop.patch ];
build-system = [ setuptools-scm ];
dependencies = [
@@ -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 ];
};
}
})
@@ -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():
@@ -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 ];
};
}
})
@@ -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
+2
View File
@@ -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 { };