Merge staging-next into staging
This commit is contained in:
@@ -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}
|
||||
|
||||
|
||||
@@ -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"
|
||||
],
|
||||
|
||||
@@ -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,
|
||||
|
||||
|
@@ -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;
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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"
|
||||
'';
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,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 = [
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
-21
@@ -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
|
||||
|
||||
@@ -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"
|
||||
];
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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/";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
Reference in New Issue
Block a user