From f4ae8e467395686a3bd0c1dec2c557dd48467317 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?MrSm=C3=B6r?= <66489839+MrSmoer@users.noreply.github.com> Date: Tue, 9 Dec 2025 21:34:30 +0100 Subject: [PATCH 1/8] =?UTF-8?q?maintainers:=20add=20MrSm=C3=B6r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 856a3cfaa186..f8fcf86c0fce 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -17836,6 +17836,12 @@ githubId = 15896005; name = "Vladyslav Burzakovskyy"; }; + mrsmoer = { + email = "mrsmoer@protonmail.com"; + github = "MrSmoer"; + githubId = 66489839; + name = "MrSmör"; + }; MrSom3body = { email = "nix@sndh.dev"; matrix = "@mrsom3body:matrix.org"; From 2ad8bf20edd3a4dffb834f38ae370f90877721bd Mon Sep 17 00:00:00 2001 From: Yarny0 <41838844+Yarny0@users.noreply.github.com> Date: Fri, 27 Mar 2026 18:58:22 +0100 Subject: [PATCH 2/8] tsm-client: 8.1.27.1 -> 8.2.1.0 Release notes ("What's new"): https://www.ibm.com/docs/en/storage-protect/8.2.1?topic=whats-new#r_wn_tsmserver__title__3 The package now needs `brotli` and `libnghttp2`. Unfortunatelly, the vm test's OCR no longer recognizes the version number in the information dialog box (it sees "8.21.0" instead of "8.2.1.0"). I don't think relaxing that test makes any sense, as OCR might fail in a million different ways. So I just remove the version number check from the test. --- nixos/modules/programs/tsm-client.nix | 2 +- nixos/modules/services/backup/tsm.nix | 2 +- nixos/tests/tsm-client-gui.nix | 1 - pkgs/by-name/ts/tsm-client/package.nix | 10 +++++++--- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/nixos/modules/programs/tsm-client.nix b/nixos/modules/programs/tsm-client.nix index 8765c809fd1a..142fd9256045 100644 --- a/nixos/modules/programs/tsm-client.nix +++ b/nixos/modules/programs/tsm-client.nix @@ -71,7 +71,7 @@ let { freeformType = attrsOf (either scalarType (listOf scalarType)); # Client system-options file directives are explained here: - # https://www.ibm.com/docs/en/storage-protect/8.1.27?topic=commands-processing-options + # https://www.ibm.com/docs/en/storage-protect/8.2.1?topic=utilities-processing-options options.servername = mkOption { type = servernameType; default = name; diff --git a/nixos/modules/services/backup/tsm.nix b/nixos/modules/services/backup/tsm.nix index 7322f6175064..d2c9afd55f84 100644 --- a/nixos/modules/services/backup/tsm.nix +++ b/nixos/modules/services/backup/tsm.nix @@ -89,7 +89,7 @@ in environment.HOME = "/var/lib/tsm-backup"; serviceConfig = { # for exit status description see - # https://www.ibm.com/docs/en/storage-protect/8.1.27?topic=clients-client-return-codes + # https://www.ibm.com/docs/en/storage-protect/8.2.1?topic=clients-client-return-codes SuccessExitStatus = "4 8"; # The `-se` option must come after the command. # The `-optfile` option suppresses a `dsm.opt`-not-found warning. diff --git a/nixos/tests/tsm-client-gui.nix b/nixos/tests/tsm-client-gui.nix index 7e3dbb6f116a..953fb91b6336 100644 --- a/nixos/tests/tsm-client-gui.nix +++ b/nixos/tests/tsm-client-gui.nix @@ -51,7 +51,6 @@ # "Connection Information" dialog box machine.wait_for_window("Connection Information") machine.wait_for_text("SOME-NODE") - machine.wait_for_text("${pkgs.tsm-client.passthru.unwrapped.version}") machine.shutdown() ''; diff --git a/pkgs/by-name/ts/tsm-client/package.nix b/pkgs/by-name/ts/tsm-client/package.nix index 25cc4b8cdf18..c8ea3e004466 100644 --- a/pkgs/by-name/ts/tsm-client/package.nix +++ b/pkgs/by-name/ts/tsm-client/package.nix @@ -6,6 +6,8 @@ fetchurl, autoPatchelfHook, rpmextract, + brotli, + libnghttp2, libxcrypt-legacy, zlib, lvm2, # LVM image backup and restore functions (optional) @@ -44,7 +46,7 @@ # point to this derivations `/dsmi_dir` directory symlink. # Other environment variables might be necessary, # depending on local configuration or usage; see: -# https://www.ibm.com/docs/en/storage-protect/8.1.27?topic=solaris-set-api-environment-variables +# https://www.ibm.com/docs/en/storage-protect/8.2.1?topic=solaris-set-api-environment-variables let @@ -91,10 +93,10 @@ let unwrapped = stdenv.mkDerivation (finalAttrs: { pname = "tsm-client-unwrapped"; - version = "8.1.27.1"; + version = "8.2.1.0"; src = fetchurl { url = mkSrcUrl finalAttrs.version; - hash = "sha512-s7arnrbZoNvU3NX53coD8ugw7+cJQswWX0qctVZqWcSHN0FgexXYmRq3kt90KfjShMjcOGAHJhqCKKmukbIYjg=="; + hash = "sha512-Hlm4sk78I/+hVKwGsSDpwIihMqMeAlLtu4H/DLo2NVNMQnixZTYRch69hAR1PNaSS7qz8/oiI51AYTc6+JYdtA=="; }; inherit meta passthru; @@ -103,6 +105,8 @@ let rpmextract ]; buildInputs = [ + brotli + libnghttp2 libxcrypt-legacy stdenv.cc.cc zlib From 067a9fc036e8cb97b1d86f5ca7da6c69e367938f Mon Sep 17 00:00:00 2001 From: IceDBorn Date: Mon, 9 Mar 2026 06:03:06 +0200 Subject: [PATCH 3/8] me3: init at 0.11.0 --- pkgs/by-name/me/me3/package.nix | 103 ++++++++++++++++++++++++++++ pkgs/by-name/me/me3/steam-run.patch | 17 +++++ 2 files changed, 120 insertions(+) create mode 100644 pkgs/by-name/me/me3/package.nix create mode 100644 pkgs/by-name/me/me3/steam-run.patch diff --git a/pkgs/by-name/me/me3/package.nix b/pkgs/by-name/me/me3/package.nix new file mode 100644 index 000000000000..33a49c668ff4 --- /dev/null +++ b/pkgs/by-name/me/me3/package.nix @@ -0,0 +1,103 @@ +{ + fetchFromGitHub, + lib, + makeWrapper, + pkgsCross, + replaceVars, + rustPlatform, + steam, + symlinkJoin, +}: + +let + version = "0.11.0"; + + # me3 creates a pipe under /tmp needed by the compat tool subprocess + steam-run = + (steam.override { + privateTmp = false; + }).run-free; + + src = fetchFromGitHub { + owner = "garyttierney"; + repo = "me3"; + tag = "v${version}"; + sha256 = "sha256-XyeMVPGzNF2syipLz9HPtUg7lhxcEq434FnRH3Ax+HM="; + }; + + cargoHash = "sha256-T1HeYe9FUC5oy/SDeEd6vV4D9YIGIXMkbzf43gRNyt8="; + + me3-cli = rustPlatform.buildRustPackage (final: { + inherit cargoHash version src; + pname = "me3-cli"; + + # Wrap the compat tool subprocess to support proton's pressure vessel + patches = [ + (replaceVars ./steam-run.patch { + steamRun = lib.getExe steam-run; + }) + ]; + + cargoBuildFlags = [ + "--package" + "me3-cli" + ]; + + cargoTestFlags = final.cargoBuildFlags; + + postInstall = '' + install -Dm644 distribution/linux/me3-launch.desktop \ + $out/share/applications/me3-launch.desktop + install -Dm644 distribution/linux/me3.xml \ + $out/share/mime/packages/me3.xml + install -Dm644 distribution/assets/me3.png \ + $out/share/icons/hicolor/128x128/apps/me3.png + ''; + }); + + me3-windows = pkgsCross.mingwW64.rustPlatform.buildRustPackage (final: { + inherit cargoHash version src; + pname = "me3-windows"; + + CARGO_TARGET_X86_64_PC_WINDOWS_GNU_RUSTFLAGS = "-Clink-arg=-lmcfgthread"; + RUSTC_BOOTSTRAP = 1; + + cargoBuildFlags = [ + "--package" + "me3-launcher" + "--package" + "me3-mod-host" + ]; + + cargoTestFlags = final.cargoBuildFlags; + + # Remove useless libme3_mod_host.dll.a + postInstall = '' + rm -r $out/lib + ''; + }); +in +symlinkJoin { + inherit version; + name = "me3"; + + paths = [ + me3-cli + me3-windows + ]; + + nativeBuildInputs = [ makeWrapper ]; + + postBuild = '' + wrapProgram $out/bin/me3 \ + --set WINEPATH $out/bin \ + --add-flags "--windows-binaries-dir $out/bin" + ''; + + meta = { + description = "Framework for modding and instrumenting games."; + homepage = "https://github.com/garyttierney/me3"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.icedborn ]; + }; +} diff --git a/pkgs/by-name/me/me3/steam-run.patch b/pkgs/by-name/me/me3/steam-run.patch new file mode 100644 index 000000000000..d9586417afd1 --- /dev/null +++ b/pkgs/by-name/me/me3/steam-run.patch @@ -0,0 +1,17 @@ +--- a/crates/cli/src/commands/launch/strategy/compat_tool.rs ++++ b/crates/cli/src/commands/launch/strategy/compat_tool.rs +@@ -260,10 +260,10 @@ + tool = parent_tool; + } + +- let mut command = Command::new( +- args.pop_front() +- .ok_or_eyre("Compat Tool produced invalid command")?, +- ); ++ let program = args.pop_front() ++ .ok_or_eyre("Compat Tool produced invalid command")?; ++ let mut command = Command::new("@steamRun@"); ++ command.arg(program); + command.args(args); + command.arg(exe); + command.arg("--"); From b790ee994646dbfc99fdee38a870b70cf1d3872f Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 7 Apr 2026 12:25:08 +0000 Subject: [PATCH 4/8] oboete: 0.2.3 -> 0.2.4 Diff: https://github.com/mariinkys/oboete/compare/0.2.3...0.2.4 Changelog: https://github.com/mariinkys/oboete/releases/tag/0.2.4 --- pkgs/by-name/ob/oboete/package.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ob/oboete/package.nix b/pkgs/by-name/ob/oboete/package.nix index 088dd0f2f246..bf72e698461b 100644 --- a/pkgs/by-name/ob/oboete/package.nix +++ b/pkgs/by-name/ob/oboete/package.nix @@ -11,16 +11,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "oboete"; - version = "0.2.3"; + version = "0.2.4"; + + strictDeps = true; src = fetchFromGitHub { owner = "mariinkys"; repo = "oboete"; tag = finalAttrs.version; - hash = "sha256-Ydl6gVlE/6dN/qp348wc626TSG8FIBv2U7H/FVahrOs="; + hash = "sha256-QP0ZK6E3rz9WCvglJek8S25O8X5b8iyPAk7eph4lqMg="; }; - cargoHash = "sha256-R8y0UpSY8K5yMZK719eXb+R9ABllpRV/QoAcISV138w="; + cargoHash = "sha256-ZEve4uKhbcps8FFRGizA6tedz2aH0j4gKTi3HauxpFE="; nativeBuildInputs = [ libcosmicAppHook @@ -48,7 +50,7 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Simple flashcards application for the COSMIC™ desktop written in Rust"; homepage = "https://github.com/mariinkys/oboete"; - changelog = "https://github.com/mariinkys/oboete/releases/tag/${finalAttrs.version}"; + changelog = "https://github.com/mariinkys/oboete/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ GaetanLepage From 3472429f215d1d05cd411ba896313d8a3b993092 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 7 Apr 2026 15:57:47 +0000 Subject: [PATCH 5/8] esphome: 2026.3.2 -> 2026.3.3 --- pkgs/by-name/es/esphome/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/es/esphome/package.nix b/pkgs/by-name/es/esphome/package.nix index 50add263db9a..99dc2e99f781 100644 --- a/pkgs/by-name/es/esphome/package.nix +++ b/pkgs/by-name/es/esphome/package.nix @@ -33,14 +33,14 @@ let in python.pkgs.buildPythonApplication rec { pname = "esphome"; - version = "2026.3.2"; + version = "2026.3.3"; pyproject = true; src = fetchFromGitHub { owner = "esphome"; repo = "esphome"; tag = version; - hash = "sha256-0v9K2zXIfp5Ka/DJarnVB4kmhgXh95Yvzm8Ts72eCZE="; + hash = "sha256-yMPHz6IZIGM4oJw1wspEL3lIIiPv4WZALUJ7J1UWukY="; }; patches = [ From 5950c9de6adf8fe0fce32e9dcb41bdd7b9b9b0a2 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Tue, 7 Apr 2026 18:54:58 +0200 Subject: [PATCH 6/8] python3Packages.django_6: 6.0.3 -> 6.0.4 https://docs.djangoproject.com/en/6.0/releases/6.0.4/ https://www.djangoproject.com/weblog/2026/apr/07/security-releases/ Fixes: CVE-2026-3902, CVE-2026-4277, CVE-2026-4292, CVE-2026-33033, CVE-2026-33034 --- pkgs/development/python-modules/django/6.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/django/6.nix b/pkgs/development/python-modules/django/6.nix index 67c1fad2798a..e4c49a9fb19f 100644 --- a/pkgs/development/python-modules/django/6.nix +++ b/pkgs/development/python-modules/django/6.nix @@ -42,7 +42,7 @@ buildPythonPackage (finalAttrs: { pname = "django"; - version = "6.0.3"; + version = "6.0.4"; pyproject = true; disabled = pythonOlder "3.12"; @@ -51,7 +51,7 @@ buildPythonPackage (finalAttrs: { owner = "django"; repo = "django"; tag = finalAttrs.version; - hash = "sha256-FXaK9e2/grRH0c4r/t+Sm9uyYHlSUx6S0klnYTW/8KQ="; + hash = "sha256-zm++A7gZji4W4BAB1XXtqlXKjUMBbYmaEz9RGhx3RkI="; }; patches = [ From 0559d6b958f331de3ef86e35141bc06b22d94bbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?MrSm=C3=B6r?= <66489839+MrSmoer@users.noreply.github.com> Date: Tue, 9 Dec 2025 21:36:19 +0100 Subject: [PATCH 7/8] python3Packages.libdebug: init at 0.9.0 --- .../python-modules/libdebug/default.nix | 71 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 73 insertions(+) create mode 100644 pkgs/development/python-modules/libdebug/default.nix diff --git a/pkgs/development/python-modules/libdebug/default.nix b/pkgs/development/python-modules/libdebug/default.nix new file mode 100644 index 000000000000..20b54dde82a8 --- /dev/null +++ b/pkgs/development/python-modules/libdebug/default.nix @@ -0,0 +1,71 @@ +{ + lib, + buildPythonPackage, + cmake, + elfutils, + fetchFromGitHub, + libdwarf, + libiberty, + nanobind, + ninja, + pkg-config, + prompt-toolkit, + psutil, + pyelftools, + requests, + scikit-build-core, + typing-extensions, + writableTmpDirAsHomeHook, + zlib, + zstd, +}: + +buildPythonPackage (finalAttrs: { + pname = "libdebug"; + version = "0.9.0"; + + src = fetchFromGitHub { + owner = "libdebug"; + repo = "libdebug"; + tag = finalAttrs.version; + + hash = "sha256-J0ETzqAGufsZyW+XDhJCKwX1rrmDBwlAicvBb1AAiIQ="; + }; + + dontUseCmakeConfigure = true; + pyproject = true; + build-system = [ scikit-build-core ]; + + buildInputs = [ + libdwarf + elfutils + zstd + libiberty + zlib + ]; + + dependencies = [ + psutil + pyelftools + requests + prompt-toolkit + nanobind + typing-extensions + ]; + + nativeBuildInputs = [ + pkg-config + cmake + ninja + ]; + + nativeCheckInputs = [ writableTmpDirAsHomeHook ]; + + pythonImportsCheck = [ "libdebug" ]; + meta = { + homepage = "https://github.com/libdebug/libdebug"; + description = "Programmatic debugging of userland Linux binaries"; + maintainers = with lib.maintainers; [ mrsmoer ]; + license = lib.licenses.mit; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 85854a912bbd..ff61fd3f8a4a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8477,6 +8477,8 @@ self: super: with self; { libcst = callPackage ../development/python-modules/libcst { }; + libdebug = callPackage ../development/python-modules/libdebug { inherit (pkgs) zstd; }; + libdnf = lib.pipe pkgs.libdnf [ toPythonModule ( From a5019cfe33187bfab2ab8ea281fb4c3ab650cdec Mon Sep 17 00:00:00 2001 From: Sandro Date: Tue, 7 Apr 2026 19:57:25 +0200 Subject: [PATCH 8/8] me3: use effective install permissions --- pkgs/by-name/me/me3/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/me/me3/package.nix b/pkgs/by-name/me/me3/package.nix index 33a49c668ff4..5cb05222d9bc 100644 --- a/pkgs/by-name/me/me3/package.nix +++ b/pkgs/by-name/me/me3/package.nix @@ -46,11 +46,11 @@ let cargoTestFlags = final.cargoBuildFlags; postInstall = '' - install -Dm644 distribution/linux/me3-launch.desktop \ + install -Dm444 distribution/linux/me3-launch.desktop \ $out/share/applications/me3-launch.desktop - install -Dm644 distribution/linux/me3.xml \ + install -Dm444 distribution/linux/me3.xml \ $out/share/mime/packages/me3.xml - install -Dm644 distribution/assets/me3.png \ + install -Dm444 distribution/assets/me3.png \ $out/share/icons/hicolor/128x128/apps/me3.png ''; });