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