From 486b9ab87538447fc35a65028fe0608091c1b106 Mon Sep 17 00:00:00 2001 From: PoshPoro Date: Sun, 25 Jan 2026 16:50:02 +0000 Subject: [PATCH 01/34] etterna: replay dir fix patch --- .../et/etterna/0002-replays-dir-fix.patch | 58 +++++++++++++++++++ pkgs/by-name/et/etterna/package.nix | 1 + 2 files changed, 59 insertions(+) create mode 100644 pkgs/by-name/et/etterna/0002-replays-dir-fix.patch diff --git a/pkgs/by-name/et/etterna/0002-replays-dir-fix.patch b/pkgs/by-name/et/etterna/0002-replays-dir-fix.patch new file mode 100644 index 000000000000..a82fde9476bb --- /dev/null +++ b/pkgs/by-name/et/etterna/0002-replays-dir-fix.patch @@ -0,0 +1,58 @@ +diff --git a/src/Etterna/Models/HighScore/Replay.cpp b/src/Etterna/Models/HighScore/Replay.cpp +index 77e85b7ca0..1375e59142 100644 +--- a/src/Etterna/Models/HighScore/Replay.cpp ++++ b/src/Etterna/Models/HighScore/Replay.cpp +@@ -344,7 +344,7 @@ Replay::WriteReplayData() -> bool + return false; + } + +- const auto path = FULL_REPLAY_DIR + scoreKey; ++ const auto path = FILEMAN->ResolvePath(FULL_REPLAY_DIR + scoreKey); + + std::ofstream fileStream(path, std::ios::binary); + if (!fileStream) { +@@ -412,7 +412,7 @@ Replay::WriteInputData() -> bool + SetHighScoreMods(); + } + +- const auto path = INPUT_DATA_DIR + scoreKey; ++ const auto path = FILEMAN->ResolvePath(INPUT_DATA_DIR + scoreKey); + const auto path_z = path + "z"; + + std::ofstream fileStream(path, std::ios::binary); +@@ -566,7 +566,7 @@ Replay::LoadInputData(const std::string& replayDir) -> bool + return loadResultInputData; + } + +- const auto path = replayDir + scoreKey; ++ const auto path = FILEMAN->ResolvePath(replayDir + scoreKey); + const auto path_z = path + "z"; + std::vector readInputs; + std::vector vHoldReplayDataVector; +@@ -827,7 +827,7 @@ Replay::LoadReplayDataBasic(const std::string& replayDir) -> bool + std::string profiledir; + std::vector vNoteRowVector; + std::vector vOffsetVector; +- const auto path = replayDir + scoreKey; ++ const auto path = FILEMAN->ResolvePath(replayDir + scoreKey); + + std::ifstream fileStream(path, std::ios::binary); + std::string line; +@@ -917,7 +917,7 @@ Replay::LoadReplayDataFull(const std::string& replayDir) -> bool + std::vector vTrackVector; + std::vector vTapNoteTypeVector; + std::vector vHoldReplayDataVector; +- const auto path = replayDir + scoreKey; ++ const auto path = FILEMAN->ResolvePath(replayDir + scoreKey); + + std::ifstream fileStream(path, std::ios::binary); + std::string line; +@@ -1050,7 +1050,7 @@ Replay::LoadOnlineDataFromDisk(const std::string& replayDir) -> bool + std::vector tracks; + std::vector rows; + std::vector types; +- const auto path = replayDir + scoreKey; ++ const auto path = FILEMAN->ResolvePath(replayDir + scoreKey); + + std::ifstream fileStream(path, std::ios::binary); + diff --git a/pkgs/by-name/et/etterna/package.nix b/pkgs/by-name/et/etterna/package.nix index 842495a98dab..285149027009 100644 --- a/pkgs/by-name/et/etterna/package.nix +++ b/pkgs/by-name/et/etterna/package.nix @@ -32,6 +32,7 @@ stdenv.mkDerivation (finalAttrs: { # https://github.com/etternagame/etterna/pull/1396 ./0001-Add-aarch64-linux-support.patch + ./0002-replays-dir-fix.patch ]; nativeBuildInputs = [ From ca16356ce81b0ba1ba46e66e94538bdfad49a48f Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Fri, 13 Feb 2026 12:19:56 +0800 Subject: [PATCH 02/34] unstableGitUpdater: pass --print-changes to update-source-version This enables git commit message customization when writing a thin-wrapper around unstableGitUpdater with "commit" in supportedFeatures. Passing --print-changes unconditionally is consistent with other updaters such as genericUpdater, which is used by many updaters. We also redirect all non-json stdout to stderr so that the whole stdout contains a valid json. --- pkgs/common-updater/unstable-updater.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/common-updater/unstable-updater.nix b/pkgs/common-updater/unstable-updater.nix index 8897e93616a3..efd4de49378e 100644 --- a/pkgs/common-updater/unstable-updater.nix +++ b/pkgs/common-updater/unstable-updater.nix @@ -107,7 +107,7 @@ let git describe --tags --abbrev=0 --match "''${tag_format}" 2> /dev/null || true } - pushd "$tmpdir" + pushd "$tmpdir" >&2 commit_date="$(git show -s --pretty='format:%cs')" commit_sha="$(git show -s --pretty='format:%H')" last_tag="" @@ -135,11 +135,11 @@ let last_tag="0" fi if [[ -n "$tag_prefix" ]]; then - echo "Stripping prefix '$tag_prefix' from tag '$last_tag'" + echo "Stripping prefix '$tag_prefix' from tag '$last_tag'" >&2 last_tag="''${last_tag#"''${tag_prefix}"}" fi if [[ -n "$tag_converter" ]]; then - echo "Running '$last_tag' through: $tag_converter" + echo "Running '$last_tag' through: $tag_converter" >&2 last_tag="$(echo "''${last_tag}" | ''${tag_converter})" fi else @@ -150,14 +150,15 @@ let exit 1 fi new_version="$last_tag-unstable-$commit_date" - popd + popd >&2 # rm -rf "$tmpdir" # update the nix expression update-source-version \ "$UPDATE_NIX_ATTR_PATH" \ "$new_version" \ - --rev="$commit_sha" + --rev="$commit_sha" \ + --print-changes ''; }; From a1201d0226a478244dabd24198d83a583e2ec6d3 Mon Sep 17 00:00:00 2001 From: ners Date: Sun, 15 Feb 2026 20:35:29 +0100 Subject: [PATCH 03/34] csso-cli: fix source --- pkgs/by-name/cs/csso-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cs/csso-cli/package.nix b/pkgs/by-name/cs/csso-cli/package.nix index 45ef023cbe9c..c7f3ceb1d2c1 100644 --- a/pkgs/by-name/cs/csso-cli/package.nix +++ b/pkgs/by-name/cs/csso-cli/package.nix @@ -9,12 +9,12 @@ buildNpmPackage (finalAttrs: { src = fetchFromGitHub { owner = "css"; - repo = "csso"; + repo = "csso-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-uPjRSBOFEl55gyObKEZMXGQ6eaQ3tBB48k5JgLGrbTw="; + hash = "sha256-mP3Q+7JlgIfPLZsCtYSpTBdV4+tT5qiEeP6fB87Wxw8="; }; - npmDepsHash = "sha256-rGqj1vCswUfAQwM1Lk1qCWgUfzeefBONHeEn0NusOoc="; + npmDepsHash = "sha256-IKy4o/tcNo0Hy49aTKAoHhfsR3xUNFYeBuvSoZXh0UI="; dontNpmBuild = true; From 7749abf7ba8b8c611312a44099001402981e0cb1 Mon Sep 17 00:00:00 2001 From: Moraxyc Date: Mon, 16 Feb 2026 21:07:33 +0800 Subject: [PATCH 04/34] hmcl: 3.10.3 -> 3.11.1 Diff: https://github.com/HMCL-dev/HMCL/compare/v3.10.3...v3.11.1 Changelog: https://docs.hmcl.net/changelog/stable.html --- pkgs/by-name/hm/hmcl/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/hm/hmcl/package.nix b/pkgs/by-name/hm/hmcl/package.nix index eb607ab87045..d33be8fb110b 100644 --- a/pkgs/by-name/hm/hmcl/package.nix +++ b/pkgs/by-name/hm/hmcl/package.nix @@ -45,13 +45,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "hmcl"; - version = "3.10.3"; + version = "3.11.1"; src = fetchurl { # HMCL has built-in keys, such as the Microsoft OAuth secret and the CurseForge API key. # See https://github.com/HMCL-dev/HMCL/blob/refs/tags/release-3.6.12/.github/workflows/gradle.yml#L26-L28 url = "https://github.com/HMCL-dev/HMCL/releases/download/v${finalAttrs.version}/HMCL-${finalAttrs.version}.jar"; - hash = "sha256-+xxDACa2ECbWaCUzK0b/rcRS49Hex4GZDcNNK/aEURs="; + hash = "sha256-nthmv/xvgQ4JFmtcwn4XkCHcdzC23hJ5McoAIl2g8A4="; }; # - HMCL prompts users to download prebuilt Terracotta binary for From a19a409c2d62b7ced4c328f925bf7d9530765e80 Mon Sep 17 00:00:00 2001 From: Marcel Date: Mon, 16 Feb 2026 15:48:13 +0100 Subject: [PATCH 05/34] karere: 2.3.2 -> 2.5.3 --- pkgs/by-name/ka/karere/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ka/karere/package.nix b/pkgs/by-name/ka/karere/package.nix index c73a4eefc4af..58866325ab7f 100644 --- a/pkgs/by-name/ka/karere/package.nix +++ b/pkgs/by-name/ka/karere/package.nix @@ -20,18 +20,18 @@ stdenv.mkDerivation (finalAttrs: { pname = "karere"; - version = "2.3.2"; + version = "2.5.3"; src = fetchFromGitHub { owner = "tobagin"; repo = "karere"; tag = "v${finalAttrs.version}"; - hash = "sha256-FtGT2GXBHmXHLxRW+J2735+Z+++xbzyNAjyfXPewZ8Y="; + hash = "sha256-0HIy//dIr3uHgapPCSxTx4Rq52g1f6JAS62eUvpEMwc="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-NqE9x3mBfHt1bhSpxm+DurX61oJDxt3IibTYFi/lqO8="; + hash = "sha256-agZ4wBHYBgNpnu9deMbKFbJev+WXvvmtXm2s79B+SEE="; }; nativeBuildInputs = [ From 122f907faef367d86f8a6e4587b52582e2f98f97 Mon Sep 17 00:00:00 2001 From: Tom Hunze Date: Tue, 17 Feb 2026 10:05:56 +0100 Subject: [PATCH 06/34] xdeltaUnstable: drop xdeltaUnstable uses the same source as xdelta and is a leaf package. Considering that xdelta hasn't received any update upstream in 9 years, we probably don't need the extra `xdeltaUnstable` attr. --- pkgs/tools/compression/xdelta/unstable.nix | 69 ---------------------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 - 3 files changed, 1 insertion(+), 71 deletions(-) delete mode 100644 pkgs/tools/compression/xdelta/unstable.nix diff --git a/pkgs/tools/compression/xdelta/unstable.nix b/pkgs/tools/compression/xdelta/unstable.nix deleted file mode 100644 index 75420d1f70fe..000000000000 --- a/pkgs/tools/compression/xdelta/unstable.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - autoreconfHook, - lzmaSupport ? true, - xz ? null, -}: - -assert lzmaSupport -> xz != null; - -let - mkWith = flag: name: if flag then "--with-${name}" else "--without-${name}"; -in -stdenv.mkDerivation rec { - pname = "xdelta"; - version = "3.1.0"; - - src = fetchFromGitHub { - sha256 = "09mmsalc7dwlvgrda56s2k927rpl3a5dzfa88aslkqcjnr790wjy"; - rev = "v${version}"; - repo = "xdelta-devel"; - owner = "jmacd"; - }; - - nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ ] ++ lib.optionals lzmaSupport [ xz ]; - - postPatch = '' - cd xdelta3 - - substituteInPlace Makefile.am --replace \ - "common_CFLAGS =" \ - "common_CFLAGS = -DXD3_USE_LARGESIZET=1" - ''; - - configureFlags = [ - (mkWith lzmaSupport "liblzma") - ]; - - enableParallelBuilding = true; - - doCheck = true; - checkPhase = '' - mkdir $PWD/tmp - for i in testing/file.h xdelta3-test.h; do - substituteInPlace $i --replace /tmp $PWD/tmp - done - ./xdelta3regtest - ''; - - installPhase = '' - install -D -m755 xdelta3 $out/bin/xdelta3 - install -D -m644 xdelta3.1 $out/share/man/man1/xdelta3.1 - ''; - - meta = { - description = "Binary differential compression in VCDIFF (RFC 3284) format"; - longDescription = '' - xdelta is a command line program for delta encoding, which generates two - file differences. This is similar to diff and patch, but it is targeted - for binary files and does not generate human readable output. - ''; - homepage = "http://xdelta.org/"; - license = lib.licenses.gpl2Plus; - mainProgram = "xdelta3"; - platforms = lib.platforms.linux; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 307ac57ead16..af05ab2bc39c 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -2026,6 +2026,7 @@ mapAliases { xcbutilrenderutil = libxcb-render-util; # Added 2026-02-04 xcbutilwm = libxcb-wm; # Added 2026-02-04 xcursorthemes = xcursor-themes; # Added 2026-01-19 + xdeltaUnstable = throw "'xdeltaUnstable' has been replaced by 'xdelta'"; # Added 2026-02-17 xdg-terminal-exec-mkhl = warnAlias " 'xdg-terminal-exec-mkhl' has been removed due to being behind the xdg-terminal-exec spec for too long, use the reference implementation 'xdg-terminal-exec' instead. diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e012505a0156..08001e2b150f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3679,8 +3679,6 @@ with pkgs; # It is also needed to reduce the amount of unnecessary stuff in the Darwin bootstrap. xarMinimal = callPackage ../by-name/xa/xar/package.nix { e2fsprogs = null; }; - xdeltaUnstable = callPackage ../tools/compression/xdelta/unstable.nix { }; - xdot = with python3Packages; toPythonApplication xdot; libxfs = xfsprogs.dev; From a0c61713330fc2f3b6bda437c3fc1fd26ae21a31 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 18 Feb 2026 13:27:22 -0600 Subject: [PATCH 07/34] ion3: drop package - package has not been updated since 2009 --- .../window-managers/ion-3/default.nix | 53 ------------------- pkgs/top-level/all-packages.nix | 4 -- 2 files changed, 57 deletions(-) delete mode 100644 pkgs/applications/window-managers/ion-3/default.nix diff --git a/pkgs/applications/window-managers/ion-3/default.nix b/pkgs/applications/window-managers/ion-3/default.nix deleted file mode 100644 index 2ecbea730741..000000000000 --- a/pkgs/applications/window-managers/ion-3/default.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - lua, - gettext, - groff, - libice, - libsm, - libx11, - libxext, -}: - -stdenv.mkDerivation rec { - pname = "ion"; - version = "3-20090110"; - - src = fetchurl { - url = "https://tuomov.iki.fi/software/ion/dl/ion-${version}.tar.gz"; - sha256 = "1nkks5a95986nyfkxvg2rik6zmwx0lh7szd5fji7yizccwzc9xns"; - }; - - buildInputs = [ - libice - libsm - libx11 - libxext - lua - gettext - groff - ]; - - buildFlags = [ - "LUA_DIR=${lua}" - "X11_PREFIX=/no-such-path" - "PREFIX=\${out}" - ]; - - # Build system is missing depends for autogenerated export headers: - # luac -o mod_tiling.lc mod_tiling.lua - # main.c:21:10: fatal error: exports.h: No such file or directory - enableParallelBuilding = false; - - installFlags = [ "PREFIX=\${out}" ]; - - meta = { - description = "Tiling tabbed window manager designed with keyboard users in mind"; - homepage = "https://tuomov.iki.fi/software/ion/"; - platforms = with lib.platforms; linux; - license = lib.licenses.lgpl21; - maintainers = [ ]; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 70ef90e6905b..7aaa2274fb54 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10153,10 +10153,6 @@ with pkgs; callPackages ../applications/graphics/inkscape/extensions.nix { } ); - ion3 = callPackage ../applications/window-managers/ion-3 { - lua = lua5_1; - }; - jabcode = callPackage ../development/libraries/jabcode { }; jabcode-writer = callPackage ../development/libraries/jabcode { From 8d70799b3bfca34efb7a79f98b00cfde95355559 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Wed, 18 Feb 2026 14:22:42 -0600 Subject: [PATCH 08/34] ion3: add throw alias --- pkgs/top-level/aliases.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 7e120ce0cd62..1efb7275a8ba 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -916,6 +916,7 @@ mapAliases { intel2200BGFirmware = warnAlias "'intel2200BGFirmware' has been renamed to 'ipw2200-firmware'" ipw2200-firmware; # Added 2026-02-08 invalidateFetcherByDrvHash = throw "'invalidateFetcherByDrvHash' has been renamed to/replaced by 'testers.invalidateFetcherByDrvHash'"; # Converted to throw 2025-10-27 ioccheck = throw "ioccheck was dropped since it was unmaintained."; # Added 2025-07-06 + ion3 = throw "ion3 was dropped since it was unmaintained."; # Added 2026-02-18 ipfs = throw "'ipfs' has been renamed to/replaced by 'kubo'"; # Converted to throw 2025-10-27 ipfs-migrator = throw "'ipfs-migrator' has been renamed to/replaced by 'kubo-migrator'"; # Converted to throw 2025-10-27 ipfs-migrator-all-fs-repo-migrations = throw "'ipfs-migrator-all-fs-repo-migrations' has been renamed to/replaced by 'kubo-fs-repo-migrations'"; # Converted to throw 2025-10-27 From 24c57a581ca1abc00020753efd5aecec05c8bf55 Mon Sep 17 00:00:00 2001 From: Frank Plowman Date: Sat, 7 Feb 2026 22:31:52 +0000 Subject: [PATCH 09/34] firefox: Don't rely on file extension to identify dynamic libraries Since a2e886428b4a52bd908a3eccd5c4a6f48993dccf, dynamic libraries are copied rather than symlinked. The issue is that not all dynamic libraries follow the convention of ending in .dylib. This patch addresses this by implementing a more robust search for dynamic libraries using `otool`. Resolves #462923. --- .../networking/browsers/firefox/wrapper.nix | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index 14f5fbeca252..493d75cc760a 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -423,10 +423,21 @@ let # Maybe related to how omni.ja file is mmapped into memory. See: # https://github.com/mozilla/gecko-dev/blob/b1662b447f306e6554647914090d4b73ac8e1664/modules/libjar/nsZipArchive.cpp#L204 # - # The *.dylib files are copied, otherwise some basic functionality, e.g. Crypto API, is broken. - for file in $(find . -name "omni.ja" -o -name "*.dylib"); do + # Mach-O shared libraries must be copied, not symlinked, otherwise some + # functionality like the Crypto API and audio decoding is broken. + find . -type l -print0 | + while IFS= read -r -d "" file; do + case "$(basename "$file")" in + omni.ja) + ;; + *) + # Copy if the symlink resolves to a Mach-O dylib + otool -l "$file" 2>/dev/null | grep -q 'LC_ID_DYLIB' || continue + ;; + esac + rm "$file" - cp "${browser}/${appPath}/$file" "$file" + cp "${browser}/${appPath}/''${file#./}" "$file" done # Copy any embedded .app directories; plugin-container fails to start otherwise. From 4229b80df2a7e2559ca2c37cd7363f7ec959e6ef Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 23 Feb 2026 13:56:33 +0000 Subject: [PATCH 10/34] grimblast: 0.1-unstable-2026-01-14 -> 0.1-unstable-2026-02-19 --- pkgs/by-name/gr/grimblast/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gr/grimblast/package.nix b/pkgs/by-name/gr/grimblast/package.nix index 0e6ccfd3552f..57d3cd07d97d 100644 --- a/pkgs/by-name/gr/grimblast/package.nix +++ b/pkgs/by-name/gr/grimblast/package.nix @@ -19,13 +19,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "grimblast"; - version = "0.1-unstable-2026-01-14"; + version = "0.1-unstable-2026-02-19"; src = fetchFromGitHub { owner = "hyprwm"; repo = "contrib"; - rev = "541628cebe42792ddf5063c4abd6402c2f1bd68f"; - hash = "sha256-CopNx3j//gZ2mE0ggEK9dZ474UcbDhpTw+KMor8mSxI="; + rev = "918f266dddae39fa4184a1b8bf51ec5381cf29f7"; + hash = "sha256-aH8h5ZOiyEGtHmEyuE/eFxx8TN7a+NGDnl4V+dbzJ6E="; }; strictDeps = true; From 903e6a4ff524fd4969b6d6eb6575e283a9a79154 Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Thu, 12 Dec 2024 00:42:44 +0100 Subject: [PATCH 11/34] fotema: init at 2.4.1 --- pkgs/by-name/fo/fotema/package.nix | 101 +++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 pkgs/by-name/fo/fotema/package.nix diff --git a/pkgs/by-name/fo/fotema/package.nix b/pkgs/by-name/fo/fotema/package.nix new file mode 100644 index 000000000000..14f9a8ebd2bc --- /dev/null +++ b/pkgs/by-name/fo/fotema/package.nix @@ -0,0 +1,101 @@ +{ + lib, + clangStdenv, + fetchFromGitHub, + rustPlatform, + + meson, + ninja, + pkg-config, + cargo, + rustc, + appstream, + desktop-file-utils, + glib, + gtk4, + libglycin, + wrapGAppsHook4, + + libadwaita, + openssl, + ffmpeg, + onnxruntime, + libshumate, + opencv, + libseccomp, + glycin-loaders, + + nix-update-script, +}: +# Apparently `bindgenHook` + `libclang` is not enough. +# opencv-binding-generator *really* wants to execute `clang` itself... +clangStdenv.mkDerivation (finalAttrs: { + pname = "fotema"; + version = "2.4.1"; + + src = fetchFromGitHub { + owner = "blissd"; + repo = "fotema"; + tag = "v${finalAttrs.version}"; + hash = "sha256-+fo3g4+dtZlOVpHW0W0ZSBEi5fIR/c1aGAJHVysjJUY="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) pname version src; + hash = "sha256-WBKEjNyItMTpkBalLf6OUrbeUiSw6lWO5adR8l4q/bY="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + rustPlatform.cargoSetupHook + rustPlatform.bindgenHook + cargo + rustc + appstream + desktop-file-utils # `desktop-file-validate` + glib # `glib-compile-schemas` + gtk4 # `gtk-update-icon-cache` + wrapGAppsHook4 + libglycin.patchVendorHook + ]; + + buildInputs = [ + libadwaita + openssl + ffmpeg + onnxruntime + libshumate + opencv + libseccomp + libglycin.setupHook + glycin-loaders + ]; + + strictDeps = true; + + env = { + OPENSSL_NO_VENDOR = true; + # Use system OnnxRuntime + ORT_LIB_LOCATION = "${onnxruntime}/lib"; + ORT_STRATEGY = "system"; + }; + + preFixup = '' + gappsWrapperArgs+=( + --set ORT_DYLIB_PATH "${onnxruntime}/lib/libonnxruntime.so" + ) + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Photo gallery for Linux"; + homepage = "https://github.com/blissd/fotema"; + license = with lib.licenses; [ gpl3Plus ]; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ pluiedev ]; + mainProgram = "fotema"; + }; +}) From 8dc166db17fda4f8306b3f9d3830b339d2cd4b99 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Tue, 24 Feb 2026 00:07:32 +0800 Subject: [PATCH 12/34] emacsPackages.empv: remove unneeded override --- .../editors/emacs/elisp-packages/melpa-packages.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix index 45c0d9964a03..2bc41cb0536b 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix @@ -1139,10 +1139,6 @@ let # depends on later-do which is not on any ELPA emms-player-simple-mpv = ignoreCompilationError super.emms-player-simple-mpv; - # missing optional dependencies - # https://github.com/isamert/empv.el/pull/96 - empv = addPackageRequires super.empv [ self.hydra ]; - enotify = ignoreCompilationError super.enotify; # elisp error # https://github.com/leathekd/ercn/issues/6 From 2adc6d9fafa338f3cb2cf7b85c3c5012b0c434d7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 23 Feb 2026 19:17:03 +0000 Subject: [PATCH 13/34] tektoncd-cli: 0.43.0 -> 0.44.0 --- pkgs/by-name/te/tektoncd-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/te/tektoncd-cli/package.nix b/pkgs/by-name/te/tektoncd-cli/package.nix index 547e4dc09969..8d59bde0a516 100644 --- a/pkgs/by-name/te/tektoncd-cli/package.nix +++ b/pkgs/by-name/te/tektoncd-cli/package.nix @@ -14,13 +14,13 @@ buildGoModule (finalAttrs: { pname = "tektoncd-cli"; - version = "0.43.0"; + version = "0.44.0"; src = fetchFromGitHub { owner = "tektoncd"; repo = "cli"; tag = "v${finalAttrs.version}"; - sha256 = "sha256-75pyN+Sr5IttqrQYIveePabcuxnx8G48aiP5rw2v/Jo="; + sha256 = "sha256-wWHrm7V2kKFfgSOV8V6lF76kVJbLL+KVlTZLr5+Hjnw="; }; vendorHash = null; From 49770fc745090fe9038822cbecc73e2b749f6194 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Mon, 23 Feb 2026 23:33:55 +0300 Subject: [PATCH 14/34] shotcut: use wrapGAppsHook3 to prevent coredump --- pkgs/by-name/sh/shotcut/package.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/by-name/sh/shotcut/package.nix b/pkgs/by-name/sh/shotcut/package.nix index 9e70831e4734..ae06094eee6c 100644 --- a/pkgs/by-name/sh/shotcut/package.nix +++ b/pkgs/by-name/sh/shotcut/package.nix @@ -15,6 +15,7 @@ cmake, gitUpdater, ffmpeg, + wrapGAppsHook3, }: stdenv.mkDerivation (finalAttrs: { @@ -32,6 +33,7 @@ stdenv.mkDerivation (finalAttrs: { pkg-config cmake qt6.wrapQtAppsHook + wrapGAppsHook3 ]; buildInputs = [ @@ -60,6 +62,8 @@ stdenv.mkDerivation (finalAttrs: { }) ]; + dontWrapGApps = true; + qtWrapperArgs = [ "--set FREI0R_PATH ${frei0r}/lib/frei0r-1" "--set LADSPA_PATH ${ladspaPlugins}/lib/ladspa" @@ -68,6 +72,10 @@ stdenv.mkDerivation (finalAttrs: { }" ]; + preFixup = '' + qtWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir $out/Applications $out/bin mv $out/Shotcut.app $out/Applications/Shotcut.app From 56d74b91c6341da70220ec0d6be202cf292f28ee Mon Sep 17 00:00:00 2001 From: emilylange Date: Mon, 23 Feb 2026 22:35:05 +0100 Subject: [PATCH 15/34] chromedriver: build on `big-parallel` Building chromedriver from source takes over 4 hours with 2 cores of an Ampere Q80-30 (like h.n.o uses for aarch64-linux). https://hydra.nixos.org/build/321812165 --- pkgs/development/tools/selenium/chromedriver/source.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/tools/selenium/chromedriver/source.nix b/pkgs/development/tools/selenium/chromedriver/source.nix index 4b07041f4129..dd436754bfe2 100644 --- a/pkgs/development/tools/selenium/chromedriver/source.nix +++ b/pkgs/development/tools/selenium/chromedriver/source.nix @@ -18,6 +18,8 @@ chromium.mkDerivation (finalAttrs: { # Kill existing postFixup that tries to patchelf things postFixup = null; + requiredSystemFeatures = [ "big-parallel" ]; + passthru.tests.version = testers.testVersion { package = chromedriver; }; meta = chromium.meta // { From 88f5716c20693be54c192fda3e5b0d8444e7094e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 23 Feb 2026 21:47:29 +0000 Subject: [PATCH 16/34] open-webui: 0.8.3 -> 0.8.5 --- pkgs/by-name/op/open-webui/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/op/open-webui/package.nix b/pkgs/by-name/op/open-webui/package.nix index 36624111cf6c..90f43ddb284d 100644 --- a/pkgs/by-name/op/open-webui/package.nix +++ b/pkgs/by-name/op/open-webui/package.nix @@ -9,13 +9,13 @@ }: let pname = "open-webui"; - version = "0.8.3"; + version = "0.8.5"; src = fetchFromGitHub { owner = "open-webui"; repo = "open-webui"; tag = "v${version}"; - hash = "sha256-lakk5VB8zJCf011OqziWWyj4qfXNrw9PwB2Ol137F2U="; + hash = "sha256-uK80y3ncHyYGTO2x7HKx19r5/2VW2PnarE4pnxrzleI="; }; frontend = buildNpmPackage rec { @@ -32,7 +32,7 @@ let url = "https://github.com/pyodide/pyodide/releases/download/${pyodideVersion}/pyodide-${pyodideVersion}.tar.bz2"; }; - npmDepsHash = "sha256-0F7mlLcvDtbXUHkgiv2VYQyBdqCRyGC2d31MWgVwMKc="; + npmDepsHash = "sha256-Su7WcgvJ5nUW3juTI7kr+l324v+6nWtGMKecY57Xk84="; # See https://github.com/open-webui/open-webui/issues/15880 npmFlags = [ From d4204c929a3c47d1be4b1103205b1717f3ab5a56 Mon Sep 17 00:00:00 2001 From: emilylange Date: Mon, 23 Feb 2026 22:50:00 +0100 Subject: [PATCH 17/34] chromium,chromedriver: 145.0.7632.109 -> 145.0.7632.116 https://chromereleases.googleblog.com/2026/02/stable-channel-update-for-desktop_23.html This update includes 3 security fixes. CVEs: CVE-2026-3061 CVE-2026-3062 CVE-2026-3063 --- .../networking/browsers/chromium/info.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/info.json b/pkgs/applications/networking/browsers/chromium/info.json index 20daaabfacbb..1cef64c95685 100644 --- a/pkgs/applications/networking/browsers/chromium/info.json +++ b/pkgs/applications/networking/browsers/chromium/info.json @@ -1,6 +1,6 @@ { "chromium": { - "version": "145.0.7632.109", + "version": "145.0.7632.116", "chromedriver": { "version": "145.0.7632.110", "hash_darwin": "sha256-wa8s3PwS5G1TopGYheyLD7wlxxTZWPYwU90TLFpBMZw=", @@ -21,8 +21,8 @@ "DEPS": { "src": { "url": "https://chromium.googlesource.com/chromium/src.git", - "rev": "61eff07de4f37ac1c6969c91034a447ef6cd394d", - "hash": "sha256-b498JyyvsN/+0Gqjdrq+eT1HW54/ayEENRHa1Sw69Xw=", + "rev": "7d28075c6a9ba147e6df449209001258bb82a122", + "hash": "sha256-ljqK297kBByDGHKwH+yz6XcLO7l0+GDIrR0Hznh6X8c=", "recompress": true }, "src/third_party/clang-format/script": { @@ -132,8 +132,8 @@ }, "src/third_party/dawn": { "url": "https://dawn.googlesource.com/dawn.git", - "rev": "d9f5a980bb5a4baeb7d9c1fef89a39789a6cd9fb", - "hash": "sha256-DaNsRQm9bR2lfbiP6vWr2R7KD8mYWOaJ72VJyrUkJvI=" + "rev": "3df397b5b33f950da92787d9a6ac655e0601bca2", + "hash": "sha256-UAKnxnEScteAj+14i56K6VA34JM+J4KCpG4HbY2bT4s=" }, "src/third_party/dawn/third_party/glfw": { "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw", @@ -817,8 +817,8 @@ }, "src/v8": { "url": "https://chromium.googlesource.com/v8/v8.git", - "rev": "a8b42c8fae7c7f1ce4e32b08ee61c22775185c01", - "hash": "sha256-HZ4JbSoMNVqUrCWoxk0/AxzlcpMgKhe/HJ7DGeTeE9M=" + "rev": "ce21eb288e9b86bf6a294968a5113a2646d7b8dd", + "hash": "sha256-ayAzZOrJYOLqGunDs9t/x6HBUy32y+0ISjaGkEUK+hk=" } } }, From 3810ac041847f7213e02652e4bbf7ec5d10d2cff Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 23 Feb 2026 22:38:52 +0000 Subject: [PATCH 18/34] ruffle: 0.2.0-nightly-2026-02-16 -> 0.2.0-nightly-2026-02-23 --- pkgs/by-name/ru/ruffle/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ru/ruffle/package.nix b/pkgs/by-name/ru/ruffle/package.nix index 878a0a2d9318..d49a2e6ead28 100644 --- a/pkgs/by-name/ru/ruffle/package.nix +++ b/pkgs/by-name/ru/ruffle/package.nix @@ -27,13 +27,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ruffle"; - version = "0.2.0-nightly-2026-02-16"; + version = "0.2.0-nightly-2026-02-23"; src = fetchFromGitHub { owner = "ruffle-rs"; repo = "ruffle"; tag = lib.strings.removePrefix "0.2.0-" finalAttrs.version; - hash = "sha256-+q+v8ZIuI1hXbOoC39/AtsjXhh83X2ygtRRM2wtPrWo="; + hash = "sha256-q7d4Nb967W0O42lr5T6AltlKumgmBZ8cHN0lIO5i6Xk="; }; postPatch = @@ -49,7 +49,7 @@ rustPlatform.buildRustPackage (finalAttrs: { "OpenH264Version(${major}, ${minor}, ${patch})" ''; - cargoHash = "sha256-DIlFPOMu7XwWtmJGPmF9Gi8jm7YJStOYirCDowo4Mqk="; + cargoHash = "sha256-ZZ5Utf2awzOLZP27fzGqKVChMwy1UesEkF5WAnXi1WE="; cargoBuildFlags = lib.optional withRuffleTools "--workspace"; env = From 37a70de54878e89eda3a7a9b55d64923ffb26a9f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Feb 2026 00:10:09 +0000 Subject: [PATCH 19/34] terraform-providers.oracle_oci: 8.1.0 -> 8.2.0 --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 2d12236960b1..740ceccfd8cc 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1049,11 +1049,11 @@ "vendorHash": null }, "oracle_oci": { - "hash": "sha256-Ew7W4Jk8ygNS50SFxNctHeyyYpNckxpWtms6ImwJdBU=", + "hash": "sha256-fBHwWw8NtjzgQISUuLB6eY6S3SlMbwyXPmt+suMezHA=", "homepage": "https://registry.terraform.io/providers/oracle/oci", "owner": "oracle", "repo": "terraform-provider-oci", - "rev": "v8.1.0", + "rev": "v8.2.0", "spdx": "MPL-2.0", "vendorHash": null }, From a38d0dc8bd2b6847bbefa0081079571aafad021d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Feb 2026 00:44:25 +0000 Subject: [PATCH 20/34] netbeans: 28 -> 29 --- pkgs/by-name/ne/netbeans/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ne/netbeans/package.nix b/pkgs/by-name/ne/netbeans/package.nix index 1cc2d865d137..6a45497cac80 100644 --- a/pkgs/by-name/ne/netbeans/package.nix +++ b/pkgs/by-name/ne/netbeans/package.nix @@ -13,7 +13,7 @@ }: let - version = "28"; + version = "29"; desktopItem = makeDesktopItem { name = "netbeans"; exec = "netbeans"; @@ -29,7 +29,7 @@ stdenv.mkDerivation { inherit version; src = fetchurl { url = "mirror://apache/netbeans/netbeans/${version}/netbeans-${version}-bin.zip"; - hash = "sha256-ALn6XALAcQbf6zeoieKgTj4sUis24VzzfTHukPoa/DI="; + hash = "sha256-Xoyhp8Z5fiG7JbZ8F8dDBoiHwXCxW8mDvr9wTX5R7Dg="; }; buildCommand = '' @@ -57,7 +57,7 @@ stdenv.mkDerivation { # Extract pngs from the Apple icon image and create # the missing ones from the 1024x1024 image. icns2png --extract $out/netbeans/nb/netbeans.icns - for size in 16 24 32 48 64 128 256 512 1024; do + for size in 16 24 32 48 64 129 256 512 1024; do mkdir -pv $out/share/icons/hicolor/"$size"x"$size"/apps if [ -e netbeans_"$size"x"$size"x32.png ] then From 8436996df9ebfa60998abaeff7b8b246cad62f23 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Mon, 23 Feb 2026 16:36:51 -0800 Subject: [PATCH 21/34] python3Packages.pyspark: modernize, add missing optional dependencies --- .../python-modules/pyspark/default.nix | 49 ++++++++++++++----- 1 file changed, 38 insertions(+), 11 deletions(-) diff --git a/pkgs/development/python-modules/pyspark/default.nix b/pkgs/development/python-modules/pyspark/default.nix index ebb7207be285..3ad86e432a60 100644 --- a/pkgs/development/python-modules/pyspark/default.nix +++ b/pkgs/development/python-modules/pyspark/default.nix @@ -2,30 +2,41 @@ lib, buildPythonPackage, fetchPypi, + + # build-system + setuptools, + + # dependencies + py4j, + + # optional-dependencies + googleapis-common-protos, + graphviz, + grpcio-status, + grpcio, numpy, pandas, - py4j, pyarrow, + zstandard, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pyspark"; version = "4.1.1"; - format = "setuptools"; + pyproject = true; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; hash = "sha256-d/eJhKqE++hlxxfdN7SZE7TlyX1272gk+TLxrvpmIew="; }; # pypandoc is broken with pandoc2, so we just lose docs. postPatch = '' sed -i "s/'pypandoc'//" setup.py - - substituteInPlace setup.py \ - --replace py4j== 'py4j>=' ''; + build-system = [ setuptools ]; + postFixup = '' # find_python_home.py has been wrapped as a shell script substituteInPlace $out/bin/find-spark-home \ @@ -37,13 +48,26 @@ buildPythonPackage rec { 'export PYTHONPATH="''${SPARK_HOME}/..:''${SPARK_HOME}/python/:$PYTHONPATH"' ''; - propagatedBuildInputs = [ py4j ]; + dependencies = [ py4j ]; optional-dependencies = { + connect = [ + pandas + pyarrow + grpcio + grpcio-status + googleapis-common-protos + zstandard + graphviz + ]; ml = [ numpy ]; mllib = [ numpy ]; + pandas_on_spark = [ + pandas + pyarrow + ]; + pipelines = finalAttrs.optional-dependencies.connect ++ finalAttrs.optional-dependencies.sql; sql = [ - numpy pandas pyarrow ]; @@ -62,6 +86,9 @@ buildPythonPackage rec { binaryBytecode ]; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ shlevy ]; + maintainers = with lib.maintainers; [ + sarahec + shlevy + ]; }; -} +}) From 539b3bc94f2d0d450e33b393668618fd4a89c887 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Mon, 23 Feb 2026 16:15:47 -0800 Subject: [PATCH 22/34] Revert "python3Packages.jupysql: 0.11.1 -> 0.38" This reverts commit 0421bf6031e8baa70ce2698c4f031d017e69cbe6. --- pkgs/development/python-modules/jupysql/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/jupysql/default.nix b/pkgs/development/python-modules/jupysql/default.nix index a7a43b3c7874..e7b742bde38c 100644 --- a/pkgs/development/python-modules/jupysql/default.nix +++ b/pkgs/development/python-modules/jupysql/default.nix @@ -38,15 +38,15 @@ buildPythonPackage rec { pname = "jupysql"; - version = "0.38"; + version = "0.11.1"; pyproject = true; src = fetchFromGitHub { owner = "ploomber"; repo = "jupysql"; - tag = "v${version}"; - hash = "sha256-Z132bGkjXUNPIscIfIM8FKRO0Uc/z4Sl932CVN8f3lc="; + tag = version; + hash = "sha256-7wfKvKqDf8LlUiLoevNRxmq8x5wLheOgIeWz72oFcuw="; }; pythonRelaxDeps = [ "sqlalchemy" ]; @@ -131,7 +131,7 @@ buildPythonPackage rec { meta = { description = "Better SQL in Jupyter"; homepage = "https://github.com/ploomber/jupysql"; - changelog = "https://github.com/ploomber/jupysql/blob/${src.tag}/CHANGELOG.md"; + changelog = "https://github.com/ploomber/jupysql/blob/${version}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ euxane ]; }; From 787f28cca66611da0c62eadf83bb75a0b31b7556 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Feb 2026 00:57:10 +0000 Subject: [PATCH 23/34] nemo: 6.6.3 -> 6.6.4 --- pkgs/by-name/ne/nemo/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ne/nemo/package.nix b/pkgs/by-name/ne/nemo/package.nix index 18791415f20a..8de810afe0fb 100644 --- a/pkgs/by-name/ne/nemo/package.nix +++ b/pkgs/by-name/ne/nemo/package.nix @@ -37,13 +37,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "nemo"; - version = "6.6.3"; + version = "6.6.4"; src = fetchFromGitHub { owner = "linuxmint"; repo = "nemo"; rev = finalAttrs.version; - hash = "sha256-jsAKNKpNsheyugI6dVQAYYrOTmHLDjJCbjlWmAChFgU="; + hash = "sha256-HYrpq22rWScdweDQQlrQbOShYFH4FjZWQKBnvKIsOAI="; }; patches = [ From 234b043c17c5a1d92fd6717a1d7a6312ed574800 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Feb 2026 01:04:25 +0000 Subject: [PATCH 24/34] telegraf: 1.37.2 -> 1.37.3 --- pkgs/by-name/te/telegraf/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/te/telegraf/package.nix b/pkgs/by-name/te/telegraf/package.nix index b5fdbb0982bb..3a678b42cec4 100644 --- a/pkgs/by-name/te/telegraf/package.nix +++ b/pkgs/by-name/te/telegraf/package.nix @@ -10,7 +10,7 @@ buildGoModule (finalAttrs: { pname = "telegraf"; - version = "1.37.2"; + version = "1.37.3"; subPackages = [ "cmd/telegraf" ]; @@ -18,10 +18,10 @@ buildGoModule (finalAttrs: { owner = "influxdata"; repo = "telegraf"; rev = "v${finalAttrs.version}"; - hash = "sha256-5sgDhA9+Z33dvYlhYq80T12JSJOC5QXejms8COsGiQA="; + hash = "sha256-HMmniDwEyM5jciHVGsR4VT1oPlv9ZvxoVZcdQQr99b8="; }; - vendorHash = "sha256-xpPYXHDL0h2P3trH5SlWTvLKqjbb5mClwfd5TU0lKQc="; + vendorHash = "sha256-kSCJI2tUdwG5JuP+P785zpMnLbkU91GhZ0i9YZNTFxo="; proxyVendor = true; ldflags = [ From 2a4fd9b13967938510c941f0d0f0f9d4612425db Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Mon, 23 Feb 2026 17:58:11 -0800 Subject: [PATCH 25/34] python3Packages.jupysql: skip bulk update due to inconsistent version numbering --- pkgs/development/python-modules/jupysql/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/python-modules/jupysql/default.nix b/pkgs/development/python-modules/jupysql/default.nix index e7b742bde38c..3d42f01324b8 100644 --- a/pkgs/development/python-modules/jupysql/default.nix +++ b/pkgs/development/python-modules/jupysql/default.nix @@ -128,6 +128,9 @@ buildPythonPackage rec { pythonImportsCheck = [ "sql" ]; + # python-update-script picks up an 11-year old 0.38 over the current version + passthru.skipBulkUpdate = true; + meta = { description = "Better SQL in Jupyter"; homepage = "https://github.com/ploomber/jupysql"; From 3a90caecf12633ea2b5e08e70096a0d91492d064 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Mon, 23 Feb 2026 17:41:23 -0800 Subject: [PATCH 26/34] python3Packages.jupysql: add required dependencies from pyspark --- pkgs/development/python-modules/jupysql/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/jupysql/default.nix b/pkgs/development/python-modules/jupysql/default.nix index 3d42f01324b8..c9e255aba086 100644 --- a/pkgs/development/python-modules/jupysql/default.nix +++ b/pkgs/development/python-modules/jupysql/default.nix @@ -62,7 +62,8 @@ buildPythonPackage rec { sqlalchemy sqlglot sqlparse - ]; + ] + ++ pyspark.optional-dependencies.connect; optional-dependencies.dev = [ duckdb From 386033debcdd4b31a54444813a4807bcaa1ae32a Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Mon, 16 Feb 2026 12:43:00 -0800 Subject: [PATCH 27/34] python314Packages.ploomber-core: disable tests that depend on pre-3.14 attributes --- pkgs/development/python-modules/ploomber-core/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/python-modules/ploomber-core/default.nix b/pkgs/development/python-modules/ploomber-core/default.nix index 52907f3127d1..3d6ac8dfbfd9 100644 --- a/pkgs/development/python-modules/ploomber-core/default.nix +++ b/pkgs/development/python-modules/ploomber-core/default.nix @@ -6,6 +6,7 @@ pyyaml, posthog, pytestCheckHook, + pythonAtLeast, typing-extensions, }: @@ -36,6 +37,11 @@ buildPythonPackage rec { "exceptions" # requires stderr capture ]; + disabledTestPaths = lib.optionals (pythonAtLeast "3.14") [ + # Depends on pre-3.14 attribute access + "tests/test_config.py" + ]; + pythonImportsCheck = [ "ploomber_core" ]; meta = { From 1e79c5b65ff18fcba539e5cd0b2bc284e8cabd29 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Mon, 16 Feb 2026 12:56:17 -0800 Subject: [PATCH 28/34] python3Packages.ploomber-core: migrate to finalAttrs --- pkgs/development/python-modules/ploomber-core/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/ploomber-core/default.nix b/pkgs/development/python-modules/ploomber-core/default.nix index 3d6ac8dfbfd9..e5309fe2d953 100644 --- a/pkgs/development/python-modules/ploomber-core/default.nix +++ b/pkgs/development/python-modules/ploomber-core/default.nix @@ -10,7 +10,7 @@ typing-extensions, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "ploomber-core"; version = "0.2.27"; pyproject = true; @@ -18,7 +18,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "ploomber"; repo = "core"; - tag = version; + tag = finalAttrs.version; hash = "sha256-/HlJxaxsGbZ1UIJNwDdzJLR4bey7bv/qsmFmVi8eWjQ="; }; @@ -47,8 +47,8 @@ buildPythonPackage rec { meta = { description = "Core module shared across Ploomber projects"; homepage = "https://github.com/ploomber/core"; - changelog = "https://github.com/ploomber/core/blob/${src.tag}/CHANGELOG.md"; + changelog = "https://github.com/ploomber/core/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ euxane ]; }; -} +}) From aa9259165a95296fb826c81a322f7422baebeaaa Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Mon, 16 Feb 2026 14:32:11 -0800 Subject: [PATCH 29/34] python3Packages.ploomber-extension: drop (abandoned upstream) --- .../ploomber-extension/default.nix | 52 ------------------- pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python-packages.nix | 2 - 3 files changed, 1 insertion(+), 54 deletions(-) delete mode 100644 pkgs/development/python-modules/ploomber-extension/default.nix diff --git a/pkgs/development/python-modules/ploomber-extension/default.nix b/pkgs/development/python-modules/ploomber-extension/default.nix deleted file mode 100644 index 4031e91d4a97..000000000000 --- a/pkgs/development/python-modules/ploomber-extension/default.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ - lib, - stdenv, - buildPythonPackage, - fetchPypi, - hatchling, - hatch-jupyter-builder, - hatch-nodejs-version, - jupyterlab, - ploomber-core, - pytestCheckHook, - pytest-jupyter, -}: - -buildPythonPackage rec { - pname = "ploomber-extension"; - version = "0.1.1"; - pyproject = true; - - # using pypi archive which includes pre-built assets - src = fetchPypi { - pname = "ploomber_extension"; - inherit version; - hash = "sha256-wsldqLhJfOESH9aMMzz1Y/FXofHyfgrl81O95NePXSA="; - }; - - build-system = [ - hatchling - hatch-jupyter-builder - hatch-nodejs-version - jupyterlab - ]; - - dependencies = [ ploomber-core ]; - - nativeCheckInputs = [ - pytestCheckHook - pytest-jupyter - ]; - - # Tests fail on Darwin when sandboxed - doCheck = !stdenv.buildPlatform.isDarwin; - - pythonImportsCheck = [ "ploomber_extension" ]; - - meta = { - description = "Ploomber extension"; - homepage = "https://pypi.org/project/ploomber-extension"; - license = lib.licenses.bsd3; - maintainers = [ lib.maintainers.euxane ]; - }; -} diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index dc644c06733c..7d8a1c819270 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -342,6 +342,7 @@ mapAliases { pillow-avif-plugin = throw "'pillow-avif-plugin' has been removed because 'pillow' has native avif support since 11.3"; # added 2025-11-26 pizzapi = throw "pizzapi was removed because it no longer works"; # added 2025-12-03 pkuseg = throw "'pkuseg' has been removed because it was not supported on newer versions of Python"; # added 2026-01-20 + ploomber-extension = throw "'ploomber-extension' has been removed since the upstream repo was archived"; # added 2026-02-16 plumlightpad = throw "plumlightpad has been removed because the API was shut down"; # added 2025-11-04 Polygon3 = throw "'Polygon3' has been renamed to/replaced by 'polygon3'"; # Converted to throw 2025-10-29 posix_ipc = throw "'posix_ipc' has been renamed to/replaced by 'posix-ipc'"; # Converted to throw 2025-10-29 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b95b8347272f..9f2ad14298c3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12453,8 +12453,6 @@ self: super: with self; { ploomber-core = callPackage ../development/python-modules/ploomber-core { }; - ploomber-extension = callPackage ../development/python-modules/ploomber-extension { }; - plopp = callPackage ../development/python-modules/plopp { }; plotext = callPackage ../development/python-modules/plotext { }; From c6981f49c70bd88b9ee9e51d18d0179dad1cdf21 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Feb 2026 02:22:48 +0000 Subject: [PATCH 30/34] commitlint: 20.4.1 -> 20.4.2 --- pkgs/by-name/co/commitlint/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/commitlint/package.nix b/pkgs/by-name/co/commitlint/package.nix index fb34238aa1b5..9fa41fab7014 100644 --- a/pkgs/by-name/co/commitlint/package.nix +++ b/pkgs/by-name/co/commitlint/package.nix @@ -12,18 +12,18 @@ stdenv.mkDerivation (finalAttrs: { pname = "commitlint"; - version = "20.4.1"; + version = "20.4.2"; src = fetchFromGitHub { owner = "conventional-changelog"; repo = "commitlint"; tag = "v${finalAttrs.version}"; - hash = "sha256-FJod+jzd8zHOcyoHyxw+UltS2NsHmbocIWIbxHk2EDg="; + hash = "sha256-NdoNuOhx+j2wn2O4seOvuTEZyUCLuoJi+y6jtpQFTLg="; }; yarnOfflineCache = fetchYarnDeps { inherit (finalAttrs) src; - hash = "sha256-pnxnFvEv6fo1I6XAFZw6xcues52WYxFjdehH9BzB+w4="; + hash = "sha256-xPjisH3mW5xgMy2ZPEfHWSX1lE5S3jqHzRdTXwNLyVc="; }; nativeBuildInputs = [ From ffee6005a286385dd23cf6c628b69034577a5528 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Feb 2026 02:34:15 +0000 Subject: [PATCH 31/34] umka-lang: 1.5.4 -> 1.5.5 --- pkgs/by-name/um/umka-lang/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/um/umka-lang/package.nix b/pkgs/by-name/um/umka-lang/package.nix index 02e94ed1627c..e4a1a2960d42 100644 --- a/pkgs/by-name/um/umka-lang/package.nix +++ b/pkgs/by-name/um/umka-lang/package.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "umka-lang"; - version = "1.5.4"; + version = "1.5.5"; src = fetchFromGitHub { owner = "vtereshkov"; repo = "umka-lang"; tag = "v${finalAttrs.version}"; - hash = "sha256-UerEmJdD0/Hx/Pqw3NI3cZwjkX9lRWqI5rL0GGYKFwc="; + hash = "sha256-+jt44mbV2gr7BuciCeT/YkAhJqZtzbuBpYGqfMpQsCQ="; }; postPatch = '' From 65346a4e796797e09db78dc1f76cb026a9aabc3f Mon Sep 17 00:00:00 2001 From: David McFarland Date: Mon, 23 Feb 2026 22:27:29 -0400 Subject: [PATCH 32/34] zlib: fix cygwin build Cygwin currently uses the same makefile as Windows, so it needs the same workaround. --- pkgs/development/libraries/zlib/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix index d7f8229e17a9..72b0fcc207f7 100644 --- a/pkgs/development/libraries/zlib/default.nix +++ b/pkgs/development/libraries/zlib/default.nix @@ -6,7 +6,8 @@ static ? true, # If true, a separate .static output is created and the .a is moved there. # If false, and if `{ static = true; }`, the .a stays in the main output. - splitStaticOutput ? shared && static && !stdenv.hostPlatform.isWindows, + splitStaticOutput ? + shared && static && !(stdenv.hostPlatform.isWindows || stdenv.hostPlatform.isCygwin), testers, minizip, }: From a2913571efcaa69700f0809078bf46a9cd9771c3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Feb 2026 02:48:21 +0000 Subject: [PATCH 33/34] xlights: 2026.02 -> 2026.03 --- pkgs/by-name/xl/xlights/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/xl/xlights/package.nix b/pkgs/by-name/xl/xlights/package.nix index 0b4e02b97069..f733ac779af2 100644 --- a/pkgs/by-name/xl/xlights/package.nix +++ b/pkgs/by-name/xl/xlights/package.nix @@ -6,11 +6,11 @@ appimageTools.wrapType2 rec { pname = "xlights"; - version = "2026.02"; + version = "2026.03"; src = fetchurl { url = "https://github.com/smeighan/xLights/releases/download/${version}/xLights-${version}-x86_64.AppImage"; - hash = "sha256-Xj845VEWXcrcH7Onx6Cr/vKXwv1DdC270nKJW+RMo+I="; + hash = "sha256-xIJHzWnkxTEFfbVoLqMxd+wC+jfK/0rPVuwGXhOBTrk="; }; meta = { From c30af03d8f5e2513d4cbad3cfc42e990e830e80f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Feb 2026 03:48:07 +0000 Subject: [PATCH 34/34] moor: 2.10.4 -> 2.10.5 --- pkgs/by-name/mo/moor/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mo/moor/package.nix b/pkgs/by-name/mo/moor/package.nix index f2d6e0bec28c..7f61e71a46ef 100644 --- a/pkgs/by-name/mo/moor/package.nix +++ b/pkgs/by-name/mo/moor/package.nix @@ -10,13 +10,13 @@ buildGoModule (finalAttrs: { pname = "moor"; - version = "2.10.4"; + version = "2.10.5"; src = fetchFromGitHub { owner = "walles"; repo = "moor"; tag = "v${finalAttrs.version}"; - hash = "sha256-UEOp+ht+F4uh48OcERRCuKZEt3cM2SAaVF9Hb3/U/NA="; + hash = "sha256-Ib1+lPxTKBqW/I+zP+G0VHWbVQiMdKZ03MWBzOVPK0c="; }; vendorHash = "sha256-lz3cq2xL9byhLNbAwEvYOsP9WQsu0hqrWe2EDaLSeOQ=";