From a7b3afcd38593bbbace4cc4df630c2f3b55e81ce Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 11 Mar 2026 14:22:12 +0000 Subject: [PATCH 001/113] ffizer: 2.13.7 -> 2.13.8 --- pkgs/by-name/ff/ffizer/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ff/ffizer/package.nix b/pkgs/by-name/ff/ffizer/package.nix index a0067b7fd95d..3042d01b5e21 100644 --- a/pkgs/by-name/ff/ffizer/package.nix +++ b/pkgs/by-name/ff/ffizer/package.nix @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ffizer"; - version = "2.13.7"; + version = "2.13.8"; buildFeatures = [ "cli" ]; @@ -18,10 +18,10 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "ffizer"; repo = "ffizer"; rev = finalAttrs.version; - hash = "sha256-r4jaqjHYDZxftU7J6hGMXW/Oq+8biy9bFoHIOt33ta8="; + hash = "sha256-TV1+bupdJFmq72F4MbqyyvE/p9PufdeOUo24mPYvuAc="; }; - cargoHash = "sha256-+aXhumywpcynKz0R0wWPWhEMfqiPBuwLbIFsABvWTnA="; + cargoHash = "sha256-iEdNyzY4fzfQkayXIKthv4ofl11+U2KfV63VvXrR6HQ="; nativeBuildInputs = [ pkg-config From 6a8a32481c1bc5daf8438faf5836a4f25dbca7d6 Mon Sep 17 00:00:00 2001 From: azban Date: Sat, 21 Mar 2026 11:28:40 -0600 Subject: [PATCH 002/113] iamb: temporary fix for matrix-sdk-sqlite failure This adds a patch to increase the recursion limit for the crate while matrix-sdk-sqlite figures out a more durable solution. --- ...rsion-limit-to-fix-matrix-sdk-sqlite.patch | 25 +++++++++++++++++++ pkgs/by-name/ia/iamb/package.nix | 4 +++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/by-name/ia/iamb/0001-increase-recursion-limit-to-fix-matrix-sdk-sqlite.patch diff --git a/pkgs/by-name/ia/iamb/0001-increase-recursion-limit-to-fix-matrix-sdk-sqlite.patch b/pkgs/by-name/ia/iamb/0001-increase-recursion-limit-to-fix-matrix-sdk-sqlite.patch new file mode 100644 index 000000000000..0f0dea263884 --- /dev/null +++ b/pkgs/by-name/ia/iamb/0001-increase-recursion-limit-to-fix-matrix-sdk-sqlite.patch @@ -0,0 +1,25 @@ +From 979dcc049c1d8b8b537ddf42133dba38ef17ee7f Mon Sep 17 00:00:00 2001 +From: azban +Date: Sat, 21 Mar 2026 11:23:30 -0600 +Subject: [PATCH] increase recursion limit to fix matrix-sdk-sqlite + +This is a temporary fix for build errors in the matrix-sdk-sqlite dependency. A more durable fix should be checked for in https://github.com/matrix-org/matrix-rust-sdk/issues/6254. +--- + src/main.rs | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/main.rs b/src/main.rs +index 0a316c7..794f838 100644 +--- a/src/main.rs ++++ b/src/main.rs +@@ -15,6 +15,7 @@ + #![allow(clippy::needless_return)] + #![allow(clippy::result_large_err)] + #![allow(clippy::bool_assert_comparison)] ++#![recursion_limit = "256"] + use std::collections::VecDeque; + use std::convert::TryFrom; + use std::fmt::Display; +-- +2.51.2 + diff --git a/pkgs/by-name/ia/iamb/package.nix b/pkgs/by-name/ia/iamb/package.nix index d4dc072cece4..8a15554b29cf 100644 --- a/pkgs/by-name/ia/iamb/package.nix +++ b/pkgs/by-name/ia/iamb/package.nix @@ -19,6 +19,10 @@ rustPlatform.buildRustPackage (finalAttrs: { hash = "sha256-nvEOtV1Y5K9E1Lj+bPnQ6k1AneDM9OT3RbV3Urm/1Qs="; }; + patches = [ + ./0001-increase-recursion-limit-to-fix-matrix-sdk-sqlite.patch + ]; + cargoHash = "sha256-uWYNFNoCiqw6gYuHZWmZmZVs7lKNvhzjwEyxgcbvv+8="; nativeBuildInputs = [ From 92279148f5effe9dce137f33e2c5f8e5244c361a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 23 Mar 2026 10:24:28 +0000 Subject: [PATCH 003/113] postman: 11.88.3 -> 11.89.0 --- pkgs/by-name/po/postman/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/po/postman/package.nix b/pkgs/by-name/po/postman/package.nix index a014cbd87449..8f9113f9ef59 100644 --- a/pkgs/by-name/po/postman/package.nix +++ b/pkgs/by-name/po/postman/package.nix @@ -8,7 +8,7 @@ let pname = "postman"; - version = "11.88.3"; + version = "11.89.0"; src = let @@ -27,10 +27,10 @@ let name = "postman-${version}.${if stdenvNoCC.hostPlatform.isLinux then "tar.gz" else "zip"}"; url = "https://dl.pstmn.io/download/version/${version}/${system}"; hash = selectSystem { - aarch64-darwin = "sha256-BYdEwE96SdxPwn8bTcIZcHcClAjPgrFd2rSO1zs/X5Y="; - aarch64-linux = "sha256-nWS4cPV6m/h1+RLkl1i9FZxCol/GPxFb2S+GRoL87QM="; - x86_64-darwin = "sha256-8lDFOysRuJMEJ5Ff2mkTZx+Mu+duiDq8EAdibi7yYL8="; - x86_64-linux = "sha256-98NRSIOpgsDZ9tehbgQi1Ms5U04ylWIh4A2qY0yasPA="; + aarch64-darwin = "sha256-NGiQPg4oVr2zin0NT8/2Y5HTrBZeA7Oboue2zYPHJWc="; + aarch64-linux = "sha256-dGV1JzNsHo8lKZplBX5sp1BRgGovVY+UM+6BumXLK2E="; + x86_64-darwin = "sha256-kpl5x+uCR76dSwG+5xk4aA0lLiKXWOhJTtco2+S5c5g="; + x86_64-linux = "sha256-9hRBh1zUIL5JctHhdtAeWgR8/QqftRNqAGghI7BgdsI="; }; }; From 5492d23dcce90112af6b9265122fff8d59865870 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Mon, 23 Mar 2026 10:49:34 -0500 Subject: [PATCH 004/113] lp_solve: migrate to by-name --- .../lp}/lp_solve/0001-fix-cross-compilation.patch | 0 .../lp_solve/default.nix => by-name/lp/lp_solve/package.nix} | 4 ++-- pkgs/top-level/all-packages.nix | 4 ---- 3 files changed, 2 insertions(+), 6 deletions(-) rename pkgs/{applications/science/math => by-name/lp}/lp_solve/0001-fix-cross-compilation.patch (100%) rename pkgs/{applications/science/math/lp_solve/default.nix => by-name/lp/lp_solve/package.nix} (96%) diff --git a/pkgs/applications/science/math/lp_solve/0001-fix-cross-compilation.patch b/pkgs/by-name/lp/lp_solve/0001-fix-cross-compilation.patch similarity index 100% rename from pkgs/applications/science/math/lp_solve/0001-fix-cross-compilation.patch rename to pkgs/by-name/lp/lp_solve/0001-fix-cross-compilation.patch diff --git a/pkgs/applications/science/math/lp_solve/default.nix b/pkgs/by-name/lp/lp_solve/package.nix similarity index 96% rename from pkgs/applications/science/math/lp_solve/default.nix rename to pkgs/by-name/lp/lp_solve/package.nix index 35bd657e7ad3..195c3ac3bcd8 100644 --- a/pkgs/applications/science/math/lp_solve/default.nix +++ b/pkgs/by-name/lp/lp_solve/package.nix @@ -4,7 +4,7 @@ fetchurl, cctools, fixDarwinDylibNames, - autoSignDarwinBinariesHook, + darwin, replaceVars, buildPackages, binutils, @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { fixDarwinDylibNames ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [ - autoSignDarwinBinariesHook + darwin.autoSignDarwinBinariesHook ]; env = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9732092816f4..052e57970a40 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2343,10 +2343,6 @@ with pkgs; fluentd = callPackage ../tools/misc/fluentd { }; - lp_solve = callPackage ../applications/science/math/lp_solve { - inherit (darwin) autoSignDarwinBinariesHook; - }; - fpm = callPackage ../tools/package-management/fpm { }; ferdium = callPackage ../applications/networking/instant-messengers/ferdium { From 09a85412e03fd08839a38a6aa2d5da1e6e026d13 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Mon, 23 Mar 2026 10:50:29 -0500 Subject: [PATCH 005/113] lp_solve: refactor --- pkgs/by-name/lp/lp_solve/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/lp/lp_solve/package.nix b/pkgs/by-name/lp/lp_solve/package.nix index 195c3ac3bcd8..cadd82feb7f0 100644 --- a/pkgs/by-name/lp/lp_solve/package.nix +++ b/pkgs/by-name/lp/lp_solve/package.nix @@ -10,13 +10,13 @@ binutils, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "lp_solve"; version = "5.5.2.11"; src = fetchurl { - url = "mirror://sourceforge/project/lpsolve/lpsolve/${version}/lp_solve_${version}_source.tar.gz"; - sha256 = "sha256-bUq/9cxqqpM66ObBeiJt8PwLZxxDj2lxXUHQn+gfkC8="; + url = "mirror://sourceforge/project/lpsolve/lpsolve/${finalAttrs.version}/lp_solve_${finalAttrs.version}_source.tar.gz"; + hash = "sha256-bUq/9cxqqpM66ObBeiJt8PwLZxxDj2lxXUHQn+gfkC8="; }; nativeBuildInputs = @@ -81,4 +81,4 @@ stdenv.mkDerivation rec { maintainers = [ ]; platforms = lib.platforms.unix; }; -} +}) From c7411de5c0986f767c8d25475e4614309c8b04a3 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Mon, 23 Mar 2026 11:53:07 -0500 Subject: [PATCH 006/113] ilspycmd: migrate to by-name --- pkgs/{development/tools => by-name/il}/ilspycmd/deps.json | 0 .../ilspycmd/default.nix => by-name/il/ilspycmd/package.nix} | 4 ++-- pkgs/top-level/all-packages.nix | 4 ---- 3 files changed, 2 insertions(+), 6 deletions(-) rename pkgs/{development/tools => by-name/il}/ilspycmd/deps.json (100%) rename pkgs/{development/tools/ilspycmd/default.nix => by-name/il/ilspycmd/package.nix} (96%) diff --git a/pkgs/development/tools/ilspycmd/deps.json b/pkgs/by-name/il/ilspycmd/deps.json similarity index 100% rename from pkgs/development/tools/ilspycmd/deps.json rename to pkgs/by-name/il/ilspycmd/deps.json diff --git a/pkgs/development/tools/ilspycmd/default.nix b/pkgs/by-name/il/ilspycmd/package.nix similarity index 96% rename from pkgs/development/tools/ilspycmd/default.nix rename to pkgs/by-name/il/ilspycmd/package.nix index 7d5dc107cf22..4f4c36fc4d1c 100644 --- a/pkgs/development/tools/ilspycmd/default.nix +++ b/pkgs/by-name/il/ilspycmd/package.nix @@ -5,7 +5,7 @@ buildDotnetModule, dotnetCorePackages, powershell, - autoSignDarwinBinariesHook, + darwin, glibcLocales, }: buildDotnetModule (finalAttrs: { @@ -23,7 +23,7 @@ buildDotnetModule (finalAttrs: { powershell ] ++ lib.optionals (stdenvNoCC.hostPlatform.isDarwin && stdenvNoCC.hostPlatform.isAarch64) [ - autoSignDarwinBinariesHook + darwin.autoSignDarwinBinariesHook ]; # https://github.com/NixOS/nixpkgs/issues/38991 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9732092816f4..2bc26f046c73 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2628,10 +2628,6 @@ with pkgs; packages = config.ihaskell.packages or (_: [ ]); }; - ilspycmd = callPackage ../development/tools/ilspycmd { - inherit (darwin) autoSignDarwinBinariesHook; - }; - incus-lts = callPackage ../by-name/in/incus/lts.nix { }; indexed-bzip2 = with python3Packages; toPythonApplication indexed-bzip2; From 7181b4e7f7da0e77c28bf9040dc3998fcf5d59a4 Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Mon, 23 Mar 2026 11:53:42 -0500 Subject: [PATCH 007/113] ilspycmd: refactor --- pkgs/by-name/il/ilspycmd/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/il/ilspycmd/package.nix b/pkgs/by-name/il/ilspycmd/package.nix index 4f4c36fc4d1c..58ed7373d0fd 100644 --- a/pkgs/by-name/il/ilspycmd/package.nix +++ b/pkgs/by-name/il/ilspycmd/package.nix @@ -15,7 +15,7 @@ buildDotnetModule (finalAttrs: { src = fetchFromGitHub { owner = "icsharpcode"; repo = "ILSpy"; - rev = "v${finalAttrs.version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-YkZEStCI6Omu8HgClm5qHnXxm5pKJVILtbydY8vAFic="; }; @@ -42,7 +42,7 @@ buildDotnetModule (finalAttrs: { description = "Tool for decompiling .NET assemblies and generating portable PDBs"; mainProgram = "ilspycmd"; homepage = "https://github.com/icsharpcode/ILSpy"; - changelog = "https://github.com/icsharpcode/ILSpy/releases/tag/${finalAttrs.src.rev}"; + changelog = "https://github.com/icsharpcode/ILSpy/releases/tag/${finalAttrs.src.tag}"; license = with lib.licenses; [ mit # third party dependencies From 3a83af709f7fd4493df000974895f0ea07829c0d Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Tue, 31 Mar 2026 16:50:43 -0500 Subject: [PATCH 008/113] teamviewer: migrate to by-name --- .../default.nix => by-name/te/teamviewer/package.nix} | 4 ++-- .../remote => by-name/te}/teamviewer/update-teamviewer.sh | 0 pkgs/top-level/all-packages.nix | 2 -- 3 files changed, 2 insertions(+), 4 deletions(-) rename pkgs/{applications/networking/remote/teamviewer/default.nix => by-name/te/teamviewer/package.nix} (99%) rename pkgs/{applications/networking/remote => by-name/te}/teamviewer/update-teamviewer.sh (100%) diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/by-name/te/teamviewer/package.nix similarity index 99% rename from pkgs/applications/networking/remote/teamviewer/default.nix rename to pkgs/by-name/te/teamviewer/package.nix index b6218e40fa42..bae0059e6268 100644 --- a/pkgs/applications/networking/remote/teamviewer/default.nix +++ b/pkgs/by-name/te/teamviewer/package.nix @@ -16,7 +16,7 @@ libsm, libxfixes, coreutils, - wrapQtAppsHook, + libsForQt5, icu63, nss, minizip, @@ -55,7 +55,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoPatchelfHook makeWrapper - wrapQtAppsHook + libsForQt5.wrapQtAppsHook ]; buildInputs = [ minizip diff --git a/pkgs/applications/networking/remote/teamviewer/update-teamviewer.sh b/pkgs/by-name/te/teamviewer/update-teamviewer.sh similarity index 100% rename from pkgs/applications/networking/remote/teamviewer/update-teamviewer.sh rename to pkgs/by-name/te/teamviewer/update-teamviewer.sh diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cb5759dcc792..527299b29868 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3512,8 +3512,6 @@ with pkgs; youtube-dl = yt-dlp; }; - teamviewer = libsForQt5.callPackage ../applications/networking/remote/teamviewer { }; - buildTeleport = callPackage ../build-support/teleport { }; telepresence = callPackage ../tools/networking/telepresence { From b7ee3ad5baa5e8f227cf835f39e1faacefcedf0d Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Tue, 31 Mar 2026 16:56:40 -0500 Subject: [PATCH 009/113] teamviewer: use finalAttrs --- pkgs/by-name/te/teamviewer/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/te/teamviewer/package.nix b/pkgs/by-name/te/teamviewer/package.nix index bae0059e6268..51953fad79ee 100644 --- a/pkgs/by-name/te/teamviewer/package.nix +++ b/pkgs/by-name/te/teamviewer/package.nix @@ -22,7 +22,7 @@ minizip, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "teamviewer"; # teamviewer itself has not development files but the dev output removes propagated other dev outputs from runtime outputs = [ @@ -33,15 +33,15 @@ stdenv.mkDerivation rec { src = let - base_url = "https://dl.teamviewer.com/download/linux/version_${lib.versions.major version}x"; + base_url = "https://dl.teamviewer.com/download/linux/version_${lib.versions.major finalAttrs.version}x"; in { x86_64-linux = fetchurl { - url = "${base_url}/teamviewer_${version}_amd64.deb"; + url = "${base_url}/teamviewer_${finalAttrs.version}_amd64.deb"; hash = "sha256-7QQlGzIr3BBFaur8ycGY0VuYz21cJI+EfCsRuCAr8XA="; }; aarch64-linux = fetchurl { - url = "${base_url}/teamviewer_${version}_arm64.deb"; + url = "${base_url}/teamviewer_${finalAttrs.version}_arm64.deb"; hash = "sha256-prz3RaeMykgLrK9ai3/ivzRsUFT1dyWP1xymEl3s4eA="; }; } @@ -164,4 +164,4 @@ stdenv.mkDerivation rec { c4patino ]; }; -} +}) From 4eee67458101ae7d02047dc335bee687987e5523 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 1 Apr 2026 19:37:28 +0000 Subject: [PATCH 010/113] stress-ng: 0.20.01 -> 0.21.00 --- pkgs/by-name/st/stress-ng/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/st/stress-ng/package.nix b/pkgs/by-name/st/stress-ng/package.nix index 47390ba36596..5c729a6ed242 100644 --- a/pkgs/by-name/st/stress-ng/package.nix +++ b/pkgs/by-name/st/stress-ng/package.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "stress-ng"; - version = "0.20.01"; + version = "0.21.00"; src = fetchFromGitHub { owner = "ColinIanKing"; repo = "stress-ng"; tag = "V${finalAttrs.version}"; - hash = "sha256-C9TpUM18W+ARFAFLSqTl6RjRrI60pxhdP/veBHu2cco="; + hash = "sha256-kFIrbt/jJuQnuWmQUBuiFGuAfBb2pUtujhj6bwpDF4k="; }; postPatch = '' From 2768938886693eb73402c4d6f31571d3911d8472 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 3 Apr 2026 04:40:32 +0000 Subject: [PATCH 011/113] easyeffects: 8.1.6 -> 8.1.8 --- pkgs/by-name/ea/easyeffects/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ea/easyeffects/package.nix b/pkgs/by-name/ea/easyeffects/package.nix index 036e1e3bd1a4..03804d56a666 100644 --- a/pkgs/by-name/ea/easyeffects/package.nix +++ b/pkgs/by-name/ea/easyeffects/package.nix @@ -59,13 +59,13 @@ in stdenv.mkDerivation (finalAttrs: { pname = "easyeffects"; - version = "8.1.6"; + version = "8.1.8"; src = fetchFromGitHub { owner = "wwmm"; repo = "easyeffects"; tag = "v${finalAttrs.version}"; - hash = "sha256-MNBlhwF8quJ0wXBzwyn7KM2TNgbYbWYHTK6itn0fUVU="; + hash = "sha256-U0+OGxej5my2KpqzRTiHrB80arkWT1mxHOSxOCDsnb0="; }; nativeBuildInputs = [ From 0fb4a6fee47c30b68285fd54d63f9dad7086a9f7 Mon Sep 17 00:00:00 2001 From: Harinn Date: Sat, 4 Apr 2026 00:43:00 +0700 Subject: [PATCH 012/113] glances: migrate to by-name --- .../gl/glances/package.nix} | 88 ++++++++----------- pkgs/top-level/all-packages.nix | 2 - 2 files changed, 38 insertions(+), 52 deletions(-) rename pkgs/{applications/system/glances/default.nix => by-name/gl/glances/package.nix} (75%) diff --git a/pkgs/applications/system/glances/default.nix b/pkgs/by-name/gl/glances/package.nix similarity index 75% rename from pkgs/applications/system/glances/default.nix rename to pkgs/by-name/gl/glances/package.nix index 3feb79caab1a..c5929080386a 100644 --- a/pkgs/applications/system/glances/default.nix +++ b/pkgs/by-name/gl/glances/package.nix @@ -1,38 +1,20 @@ { - stdenv, - buildPythonApplication, - fetchFromGitHub, - isPyPy, lib, - chevron, - defusedxml, - packaging, - psutil, - pyinstrument, - setuptools, - nixosTests, - pytestCheckHook, - which, - podman, - selenium, - python-jose, - # Optional dependencies: - fastapi, - jinja2, - pysnmp, + stdenv, + fetchFromGitHub, hddtemp, - uvicorn, - requests, - prometheus-client, - shtab, + nixosTests, + podman, + python3Packages, + which, }: -buildPythonApplication (finalAttrs: { +python3Packages.buildPythonApplication (finalAttrs: { pname = "glances"; version = "4.5.2"; pyproject = true; - disabled = isPyPy; + disabled = python3Packages.isPyPy; src = fetchFromGitHub { owner = "nicolargo"; @@ -41,7 +23,7 @@ buildPythonApplication (finalAttrs: { hash = "sha256-o/q/zW7lRKQg+u4XblwNIswCVIroMdeUaPTNkN8QKwo="; }; - build-system = [ setuptools ]; + build-system = with python3Packages; [ setuptools ]; # On Darwin this package segfaults due to mismatch of pure and impure # CoreFoundation. This issues was solved for binaries but for interpreted @@ -56,34 +38,40 @@ buildPythonApplication (finalAttrs: { # some tests fail in darwin sandbox doCheck = !stdenv.hostPlatform.isDarwin; - dependencies = [ - defusedxml - packaging - psutil - pyinstrument - pysnmp - fastapi - uvicorn - requests - jinja2 - python-jose - which - prometheus-client - shtab - ] - ++ lib.optional stdenv.hostPlatform.isLinux hddtemp; + dependencies = + with python3Packages; + [ + defusedxml + packaging + psutil + pyinstrument + pysnmp + fastapi + uvicorn + requests + jinja2 + python-jose + prometheus-client + shtab + ] + ++ [ which ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ hddtemp ]; passthru.tests = { service = nixosTests.glances; }; - nativeCheckInputs = [ - chevron - which - pytestCheckHook - selenium - podman - ]; + nativeCheckInputs = + with python3Packages; + [ + chevron + pytestCheckHook + selenium + ] + ++ [ + podman + which + ]; disabledTestPaths = [ # Message: Unable to obtain driver for chrome diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 033bc0eac052..34b85cecae09 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1535,8 +1535,6 @@ with pkgs; gistyc = with python3Packages; toPythonApplication gistyc; - glances = python3Packages.callPackage ../applications/system/glances { }; - glm_1_0_1 = callPackage ../by-name/gl/glm/1_0_1.nix { }; go2tv-lite = go2tv.override { withGui = false; }; From 0030acac9e980e5b2e3eb2828d4c61e7bd86ddea Mon Sep 17 00:00:00 2001 From: Luna Nova Date: Tue, 7 Apr 2026 14:16:45 -0700 Subject: [PATCH 013/113] rocmPackages.miopen: add bnorm impureTest Repro for 'Internal error while accessing SQLite database: table config has no column named mode' --- pkgs/development/rocm-modules/miopen/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/development/rocm-modules/miopen/default.nix b/pkgs/development/rocm-modules/miopen/default.nix index 7a6eb06b4999..4718ea0e4949 100644 --- a/pkgs/development/rocm-modules/miopen/default.nix +++ b/pkgs/development/rocm-modules/miopen/default.nix @@ -285,7 +285,12 @@ stdenv.mkDerivation (finalAttrs: { requiredSystemFeatures = [ "big-parallel" ]; passthru.impureTests = { - # bash $(nix-build -A rocmPackages.miopen.passthru.impureTests.conv) + # bash $(nix-build -A rocmPackages.miopen.passthru.impureTests.conv) etc + bnorm = callPackage ./test-runtime-compilation.nix { + miopen = finalAttrs.finalPackage; + name = "bnorm"; + testScript = "MIOpenDriver bnorm -n 16 -c 16 -H 512 -W 512 -m 1 -F 1 -s 1 -r 1"; + }; conv = callPackage ./test-runtime-compilation.nix { miopen = finalAttrs.finalPackage; name = "conv"; From 853d5aa780730a58366605d06b9e45eabe63ef03 Mon Sep 17 00:00:00 2001 From: Luna Nova Date: Tue, 7 Apr 2026 14:17:13 -0700 Subject: [PATCH 014/113] rocmPackages.miopen: disable MIOPEN_USE_SQLITE_PERFDB to fix bnorm crash --- pkgs/development/rocm-modules/miopen/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/development/rocm-modules/miopen/default.nix b/pkgs/development/rocm-modules/miopen/default.nix index 4718ea0e4949..6d894fc47575 100644 --- a/pkgs/development/rocm-modules/miopen/default.nix +++ b/pkgs/development/rocm-modules/miopen/default.nix @@ -203,7 +203,6 @@ stdenv.mkDerivation (finalAttrs: { "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" supportedTargets}" "-DGPU_TARGETS=${lib.concatStringsSep ";" supportedTargets}" "-DGPU_ARCHS=${lib.concatStringsSep ";" supportedTargets}" - "-DMIOPEN_USE_SQLITE_PERFDB=ON" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DCMAKE_MODULE_PATH=${clr}/hip/cmake" "-DCMAKE_BUILD_TYPE=Release" From 61efb76ea10cd9d2982900d1f3bc7606020676ee Mon Sep 17 00:00:00 2001 From: Luna Nova Date: Tue, 7 Apr 2026 14:56:35 -0700 Subject: [PATCH 015/113] rocmPackages.miopen: add impureTest for droupout kernels --- pkgs/development/rocm-modules/miopen/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/rocm-modules/miopen/default.nix b/pkgs/development/rocm-modules/miopen/default.nix index 6d894fc47575..88d824355ed3 100644 --- a/pkgs/development/rocm-modules/miopen/default.nix +++ b/pkgs/development/rocm-modules/miopen/default.nix @@ -295,6 +295,11 @@ stdenv.mkDerivation (finalAttrs: { name = "conv"; testScript = "MIOpenDriver conv -n 1 -c 1 -H 4 -W 4 -k 1 -y 3 -x 3 -p 0 -q 0 -V 0"; }; + dropout = callPackage ./test-runtime-compilation.nix { + miopen = finalAttrs.finalPackage; + name = "dropout"; + testScript = "MIOpenDriver dropout -d 64,32,14,14"; + }; pool = callPackage ./test-runtime-compilation.nix { miopen = finalAttrs.finalPackage; name = "pool"; From 9342064af943ad960842a4f301b246e71b74cab6 Mon Sep 17 00:00:00 2001 From: Paul Mulders Date: Tue, 7 Apr 2026 14:41:41 +0200 Subject: [PATCH 016/113] miopen: fix src/comgr.cpp patching for HIPRTC compile ROCM PATH Co-authored-by: Luna Nova --- pkgs/development/rocm-modules/miopen/default.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkgs/development/rocm-modules/miopen/default.nix b/pkgs/development/rocm-modules/miopen/default.nix index 88d824355ed3..396f23b00291 100644 --- a/pkgs/development/rocm-modules/miopen/default.nix +++ b/pkgs/development/rocm-modules/miopen/default.nix @@ -23,6 +23,7 @@ half, boost, sqlite, + symlinkJoin, bzip2, lbzip2, nlohmann_json, @@ -82,6 +83,15 @@ let ) ); + # for hiprtcCompileProgram (dropout kernels require rocrand in -I at runtime) + hiprtcCompileRocmPath = symlinkJoin { + name = "miopen-hiprtc-compile-rocm-path"; + paths = [ + clr + rocrand + ]; + }; + # Kernel databases moved from Git LFS to DVC (anonymous s3 bucket s3://therock-dvc/rocm-libraries) fetchKdb = name: @@ -243,7 +253,7 @@ stdenv.mkDerivation (finalAttrs: { patchShebangs test src/composable_kernel fin utils install_deps.cmake substituteInPlace src/comgr.cpp \ - --replace-fail '"/opt/rocm"' '"${clr}"' + --replace-fail '"/opt/rocm"' '"${hiprtcCompileRocmPath}"' '' + linkKDBsTo "src/kernels" + '' From b0b2d00c7bc31cabe2167b5f5af4dcb6e926e599 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 8 Apr 2026 15:18:51 +0100 Subject: [PATCH 017/113] python3Packages.lightgbm: use boost187 This regressed in 186f1b3fd624e63c99fe0780a6abcc84008887e9, which bumped nixpkgs `boost` alias to `boost189`. However, it explicitly needs boost187. --- pkgs/development/python-modules/lightgbm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/lightgbm/default.nix b/pkgs/development/python-modules/lightgbm/default.nix index 5409d1662452..6fbba4c436c6 100644 --- a/pkgs/development/python-modules/lightgbm/default.nix +++ b/pkgs/development/python-modules/lightgbm/default.nix @@ -18,7 +18,7 @@ # buildInputs llvmPackages, - boost, + boost187, ocl-icd, opencl-headers, @@ -85,7 +85,7 @@ buildPythonPackage rec { buildInputs = (lib.optionals stdenv.cc.isClang [ llvmPackages.openmp ]) ++ (lib.optionals gpuSupport [ - boost + boost187 ocl-icd opencl-headers ]) From e73227e28c4afbb7201ec13d5b0235af0d500cc8 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 8 Apr 2026 15:42:57 +0100 Subject: [PATCH 018/113] python3Packages.lightgbm: fix lib_lightgbm.so location cmake installs lib_lightgbm.so into the wrong place, `$out/lib/python3.13/site-packages/lib/lib_lightgbm.so`, which is not part of the locations `lightgbm/libpath.py` considers. Instead of patching that file, which seems to have regressed, set the `__BUILD_FOR_PYTHON` `cmakeBool` (as in `pyproject.toml`), which causes the .so file to be placed to a location that will be considered for dlopen()'ing later, removing the need for any patching alltogether. The new location of the .so file is also more aligned with how other python packages in nixpkgs do it, `$out/lib/python3.13/site-packages/lightgbm/lib/lib_lightgbm.so`. --- .../python-modules/lightgbm/default.nix | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/pkgs/development/python-modules/lightgbm/default.nix b/pkgs/development/python-modules/lightgbm/default.nix index 6fbba4c436c6..46016b92469e 100644 --- a/pkgs/development/python-modules/lightgbm/default.nix +++ b/pkgs/development/python-modules/lightgbm/default.nix @@ -55,18 +55,6 @@ buildPythonPackage rec { hash = "sha256-yxxZcg61aTicC6dNFPUjUbVzr0ifIwAyocnzFPi6t/4="; }; - # Patch dll search path to fix proper discovery of lib_lightgbm.so - # Exception: Cannot find lightgbm library file in following paths: - # /nix/store/...-python3.13-lightgbm-4.6.0/lib/python3.13/site-packages/lib_lightgbm.so - # /nix/store/...-python3.13-lightgbm-4.6.0/lib/python3.13/site-packages/lightgbm/bin/lib_lightgbm.so - # /nix/store/...-python3.13-lightgbm-4.6.0/lib/python3.13/site-packages/lightgbm/lib/lib_lightgbm.so - postPatch = '' - substituteInPlace lightgbm/libpath.py \ - --replace-fail \ - 'curr_path.parents[0] / "lib",' \ - 'curr_path.parents[1] / "lib",' - ''; - build-system = [ scikit-build-core ]; @@ -102,6 +90,9 @@ buildPythonPackage rec { cmakeFlags = [ (lib.cmakeBool "USE_GPU" gpuSupport) (lib.cmakeBool "USE_CUDA" cudaSupport) + # Set in pyproject.toml for `cmake.args` in `[tool.scikit-build]`, + # but not set by our hooks. + (lib.cmakeBool "__BUILD_FOR_PYTHON" true) ]; optional-dependencies = { From e927e5a98d9851432a251830ed20da5e46593cd0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 8 Apr 2026 16:57:31 +0000 Subject: [PATCH 019/113] plasma-panel-spacer-extended: 1.14.0 -> 1.15.0 --- pkgs/by-name/pl/plasma-panel-spacer-extended/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pl/plasma-panel-spacer-extended/package.nix b/pkgs/by-name/pl/plasma-panel-spacer-extended/package.nix index 0297274709c3..f6c16f5023e5 100644 --- a/pkgs/by-name/pl/plasma-panel-spacer-extended/package.nix +++ b/pkgs/by-name/pl/plasma-panel-spacer-extended/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "plasma-panel-spacer-extended"; - version = "1.14.0"; + version = "1.15.0"; src = fetchFromGitHub { owner = "luisbocanegra"; repo = "plasma-panel-spacer-extended"; tag = "v${finalAttrs.version}"; - hash = "sha256-zqdELL7A4pZpPfbgBgyqZnP6HY200rYxRFl3/aIE3Eo="; + hash = "sha256-ivfIlZvr7OOXa/zyrorcUPaaFU6IcS2L3yFiX29jnd4="; }; nativeBuildInputs = [ From a170dab68aefae9cc9c8d012d5023260d97d3d4d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 8 Apr 2026 17:40:07 +0000 Subject: [PATCH 020/113] nest-cli: 11.0.17 -> 11.0.18 --- pkgs/by-name/ne/nest-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ne/nest-cli/package.nix b/pkgs/by-name/ne/nest-cli/package.nix index ec301d9d892f..9bac505927d5 100644 --- a/pkgs/by-name/ne/nest-cli/package.nix +++ b/pkgs/by-name/ne/nest-cli/package.nix @@ -9,16 +9,16 @@ buildNpmPackage (finalAttrs: { pname = "nest-cli"; - version = "11.0.17"; + version = "11.0.18"; src = fetchFromGitHub { owner = "nestjs"; repo = "nest-cli"; tag = finalAttrs.version; - hash = "sha256-TolI/HpC5kEvXrqkIcjcVny2yY96Jz37f5+mw4fHt1M="; + hash = "sha256-fqVsvox7c50bZ5jqGrpu3QiQG+ghY3eh8SETrdKnRCY="; }; - npmDepsHash = "sha256-y9yjZT7AhXPrKEQo81k5KjX9voIWY7VcuUGY6QuiLcw="; + npmDepsHash = "sha256-1M53H0tLD3+9To4kxt136P7kOvzo3gfWEFkFlcUSy6g="; npmFlags = [ "--legacy-peer-deps" ]; env = { From b1b5a88d3c93e4a3481b816bddbe03a6ab60c244 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 8 Apr 2026 17:49:42 +0000 Subject: [PATCH 021/113] signalbackup-tools: 20260325 -> 20260407 --- pkgs/by-name/si/signalbackup-tools/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/si/signalbackup-tools/package.nix b/pkgs/by-name/si/signalbackup-tools/package.nix index 4ffffd4064e1..f8ed4776cb82 100644 --- a/pkgs/by-name/si/signalbackup-tools/package.nix +++ b/pkgs/by-name/si/signalbackup-tools/package.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "signalbackup-tools"; - version = "20260325"; + version = "20260407"; src = fetchFromGitHub { owner = "bepaald"; repo = "signalbackup-tools"; tag = finalAttrs.version; - hash = "sha256-5Tb9bY0sZvCUlYkGpmu6hVi7EOEMaygEH9x3tbyo2T4="; + hash = "sha256-rkIhaYLRBpqMLpwOHhTAEpgqrKRc3UBMwhS1oiCcbvc="; }; nativeBuildInputs = [ From a8d4b43ef5d55d1f994830b2b416024090575411 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 8 Apr 2026 18:43:22 +0000 Subject: [PATCH 022/113] tuckr: 0.13.0 -> 0.13.1 --- pkgs/by-name/tu/tuckr/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/tu/tuckr/package.nix b/pkgs/by-name/tu/tuckr/package.nix index 02b39c4a0f18..39f8af6d2ad6 100644 --- a/pkgs/by-name/tu/tuckr/package.nix +++ b/pkgs/by-name/tu/tuckr/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "tuckr"; - version = "0.13.0"; + version = "0.13.1"; src = fetchFromGitHub { owner = "RaphGL"; repo = "Tuckr"; rev = finalAttrs.version; - hash = "sha256-1fiz45x7XgVJtzxF+cxe6W203oIs3wytjh3V/IGk4XA="; + hash = "sha256-QFGT032gpyzdobGdICEyvgbAMDGbBSNhIH16AlGPK4s="; }; - cargoHash = "sha256-q64BgL/UOWd/WNTyG8D1pwfa5ca1mKN79BI+W15ooMQ="; + cargoHash = "sha256-ffAp+1kkLTaKYPhfwQt4ieR3d/w8SeJPfeaFh0Vzc1w="; doCheck = false; # test result: FAILED. 5 passed; 3 failed; From b73fae8d27df7206f51ed129cea73cb7669ef5da Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 8 Apr 2026 18:53:30 +0000 Subject: [PATCH 023/113] sqldef: 3.10.1 -> 3.11.0 --- pkgs/by-name/sq/sqldef/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sq/sqldef/package.nix b/pkgs/by-name/sq/sqldef/package.nix index 0415f8350261..5cc99147c274 100644 --- a/pkgs/by-name/sq/sqldef/package.nix +++ b/pkgs/by-name/sq/sqldef/package.nix @@ -6,18 +6,18 @@ buildGoModule (finalAttrs: { pname = "sqldef"; - version = "3.10.1"; + version = "3.11.0"; src = fetchFromGitHub { owner = "sqldef"; repo = "sqldef"; rev = "v${finalAttrs.version}"; - hash = "sha256-6z73BmddtPrqbaWnDSTMeyECMomwHFtLRqIS08UfaLY="; + hash = "sha256-//wAzWGgNIYp/uajrhX2GexIsdYRjRAOPcHXZuSdj+E="; }; proxyVendor = true; - vendorHash = "sha256-XSb3nMUv2JngkvvjpqfStFXJQFrCaSSTkYaKDGaFfuE="; + vendorHash = "sha256-xX4ZrhIdHvNFRTXHkZfEbevauuv4x9IYfDVfq7IFDg8="; ldflags = [ "-s" From a2d3b3dd86e61fb3125386a2ecf389f5029ef322 Mon Sep 17 00:00:00 2001 From: hulr <> Date: Wed, 8 Apr 2026 21:27:00 +0200 Subject: [PATCH 024/113] iwe: 0.0.64 -> 0.0.67 --- pkgs/by-name/iw/iwe/package.nix | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/iw/iwe/package.nix b/pkgs/by-name/iw/iwe/package.nix index e72644f559ce..1f7627403802 100644 --- a/pkgs/by-name/iw/iwe/package.nix +++ b/pkgs/by-name/iw/iwe/package.nix @@ -8,16 +8,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "iwe"; - version = "0.0.64"; + version = "0.0.67"; src = fetchFromGitHub { owner = "iwe-org"; repo = "iwe"; tag = "iwe-v${finalAttrs.version}"; - hash = "sha256-aqoUTatYUUFKw3ZQYagQ0KchQM3JMgSzL/hG6CiyG9U="; + hash = "sha256-/irCQgMDuO2boitdTyl4OlkMvuyFPfsTx8Jo/VhLYuw="; }; - cargoHash = "sha256-iTudRDC53wZvWwuPYGG3rQfsC/th+3FwpiqZsZnbekg="; + cargoHash = "sha256-oAIF+ekKzvfT7WzQ+PE4RWUUMMDkBOFBdgwUMXBZsFk="; cargoBuildFlags = [ "--package=iwe" @@ -28,14 +28,6 @@ rustPlatform.buildRustPackage (finalAttrs: { substituteInPlace crates/iwe/tests/common.rs --replace-fail \ 'binary_path.push("target");' \ 'binary_path.push("target/${stdenv.hostPlatform.rust.rustcTarget}");' - - # Tests here are looking for /usr to exist, which is not present in a build environment - substituteInPlace crates/iwes/tests/transform_test.rs --replace-fail \ - 'cwd: Some("/usr".to_string()),' \ - 'cwd: Some("/tmp".to_string()),' - substituteInPlace crates/iwes/tests/transform_test.rs --replace-fail \ - 'vec![uri(1).to_edit("/usr\n")]' \ - 'vec![uri(1).to_edit("/tmp\n")]' ''; nativeInstallCheckInputs = [ versionCheckHook ]; From aa4224fabd410924253c195ac3535f45237cc3cd Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Wed, 8 Apr 2026 22:06:42 +0200 Subject: [PATCH 025/113] qdng: init at 1.0.0 --- pkgs/by-name/qd/qdng/package.nix | 60 ++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 pkgs/by-name/qd/qdng/package.nix diff --git a/pkgs/by-name/qd/qdng/package.nix b/pkgs/by-name/qd/qdng/package.nix new file mode 100644 index 000000000000..d2267a71e623 --- /dev/null +++ b/pkgs/by-name/qd/qdng/package.nix @@ -0,0 +1,60 @@ +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + bison, + flex, + gfortran, + blas, + bzip2, + fftw, + lapack, + libxml2, + protobuf_21, + zlib, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "qdng"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "quantum-dynamics-ng"; + repo = "QDng"; + tag = "v${finalAttrs.version}"; + hash = "sha256-T59Bb014KSUOOFTFjPOrWmbF6GqIqAIyrb3Xe5TwU88="; + }; + + configureFlags = [ + "--enable-openmp" + "--disable-gccopt" + ]; + + enableParallelBuilding = true; + + nativeBuildInputs = [ + autoreconfHook + bison + flex + gfortran + ]; + + buildInputs = [ + blas + bzip2 + fftw + lapack + libxml2 + protobuf_21 + zlib + ]; + + meta = { + description = "Molecular wavepacket dynamics package"; + homepage = "https://github.com/quantum-dynamics-ng/QDng"; + platforms = lib.platforms.linux; + maintainers = [ lib.maintainers.markuskowa ]; + license = lib.licenses.gpl3Only; + }; +}) From 1ed1f021f94fc552805300f10e716963fb3259d3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 8 Apr 2026 20:38:41 +0000 Subject: [PATCH 026/113] cue: 0.16.0 -> 0.16.1 --- pkgs/by-name/cu/cue/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cu/cue/package.nix b/pkgs/by-name/cu/cue/package.nix index a45ceebe8179..d81886fcebcf 100644 --- a/pkgs/by-name/cu/cue/package.nix +++ b/pkgs/by-name/cu/cue/package.nix @@ -10,16 +10,16 @@ buildGoModule (finalAttrs: { pname = "cue"; - version = "0.16.0"; + version = "0.16.1"; src = fetchFromGitHub { owner = "cue-lang"; repo = "cue"; tag = "v${finalAttrs.version}"; - hash = "sha256-dmoBux8yeyXa2bNL/qpQ0UDdXlAV8/aT1Xc4xnH0EFQ="; + hash = "sha256-mTj3XMWByNrKjm+/MOQGLyUKIv4JJ8i6Oaphbzls84U="; }; - vendorHash = "sha256-KPhwu4Z8PcXr74NEZ9+Uz7FHIMzcKqkd20FDFW+a2NA="; + vendorHash = "sha256-HXRrVPjPc10Q1MVr1d9vZBWgSVqNZ5J0UgvP/hTPfcg="; subPackages = [ "cmd/*" ]; From bf3a288bc46f9c72334b83f3df09b1aa8c420401 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 8 Apr 2026 20:50:49 +0000 Subject: [PATCH 027/113] vscode-extensions.moshfeu.compare-folders: 0.28.0 -> 0.29.0 --- pkgs/applications/editors/vscode/extensions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 6ef9add065ec..09c935c50d85 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -3073,8 +3073,8 @@ let mktplcRef = { name = "compare-folders"; publisher = "moshfeu"; - version = "0.28.0"; - hash = "sha256-QoaZ/P2lIaJQjD9RF7+pUJkOneR9olCe6xuT/9vsiZ4="; + version = "0.29.0"; + hash = "sha256-oX4182qaoHbvZC9MdzzARBlW4MbtE7H0Fg687K5h2XQ="; }; meta = { From e388cfc99770b00213a9b3bb8856f550a421db63 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 8 Apr 2026 21:34:06 +0000 Subject: [PATCH 028/113] aws-vault: 7.9.13 -> 7.9.14 --- pkgs/by-name/aw/aws-vault/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/aw/aws-vault/package.nix b/pkgs/by-name/aw/aws-vault/package.nix index f4c0c15461df..7c87f96c5354 100644 --- a/pkgs/by-name/aw/aws-vault/package.nix +++ b/pkgs/by-name/aw/aws-vault/package.nix @@ -10,17 +10,17 @@ }: buildGoModule (finalAttrs: { pname = "aws-vault"; - version = "7.9.13"; + version = "7.9.14"; src = fetchFromGitHub { owner = "ByteNess"; repo = "aws-vault"; rev = "v${finalAttrs.version}"; - hash = "sha256-O0O7sIx9h5DKrKdqi0ecNM6ImRmCsrUGnk94yn5SRYg="; + hash = "sha256-L3WJtS94EYgNqgwM2Gzayx89l2aKHkjaGNwOtfJMk3o="; }; proxyVendor = true; - vendorHash = "sha256-RcQQL+exDBQn5vo+9OT5ShD92WDDjfE+Seqmofiz7hs="; + vendorHash = "sha256-axxV3XCxZVY3UM0yzC2ziTO0cbwJiNnDkOKAQADKUKA="; nativeBuildInputs = [ installShellFiles From 9492ebdb8fb8b22783d080be3da6bfa8b247486e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 8 Apr 2026 21:36:30 +0000 Subject: [PATCH 029/113] xremap: 0.14.19 -> 0.15.0 --- pkgs/by-name/xr/xremap/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/xr/xremap/package.nix b/pkgs/by-name/xr/xremap/package.nix index 0df804557fb3..fef979ea4001 100644 --- a/pkgs/by-name/xr/xremap/package.nix +++ b/pkgs/by-name/xr/xremap/package.nix @@ -58,13 +58,13 @@ assert ( ); rustPlatform.buildRustPackage (finalAttrs: { pname = "xremap${variant.suffix or ""}"; - version = "0.14.19"; + version = "0.15.0"; src = fetchFromGitHub { owner = "xremap"; repo = "xremap"; tag = "v${finalAttrs.version}"; - hash = "sha256-t/eSUFYTZ41uJJLjmMOWiV9ffYJjDVw+fy0P3XnvJ40="; + hash = "sha256-8IryQGSAxIVQiGGiY3trDvvJ50c19LHP4KvIa3P0zII="; }; nativeBuildInputs = [ pkg-config ]; @@ -72,7 +72,7 @@ rustPlatform.buildRustPackage (finalAttrs: { buildNoDefaultFeatures = true; buildFeatures = variant.features; - cargoHash = "sha256-Ypujuqz8TNLNfNB1NizjZoOK2VL+a4MY7c/aGIcCjns="; + cargoHash = "sha256-5vDKb6S4G+oNm//WtGsr4kEthozoznzn2N8ajtiMIeY="; passthru = lib.mapAttrs (name: lib.const (xremap.override { withVariant = name; })) variants; From bcee6b0fafa8232e49ac21dbabd127d634059295 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Wed, 8 Apr 2026 18:46:59 -0400 Subject: [PATCH 030/113] matrix-authentication-service: 1.14.0 -> 1.15.0 Diff: https://github.com/element-hq/matrix-authentication-service/compare/v1.14.0...v1.15.0 Changelog: https://github.com/element-hq/matrix-authentication-service/releases/tag/v1.15.0 --- pkgs/by-name/ma/matrix-authentication-service/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ma/matrix-authentication-service/package.nix b/pkgs/by-name/ma/matrix-authentication-service/package.nix index e17d8e6bbba1..6a6a22e82b9e 100644 --- a/pkgs/by-name/ma/matrix-authentication-service/package.nix +++ b/pkgs/by-name/ma/matrix-authentication-service/package.nix @@ -18,21 +18,21 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "matrix-authentication-service"; - version = "1.14.0"; + version = "1.15.0"; src = fetchFromGitHub { owner = "element-hq"; repo = "matrix-authentication-service"; tag = "v${finalAttrs.version}"; - hash = "sha256-/13RYd5p46eM2rX5y9bPzHB63zCeZ2NbLDqTnk3+Vn8="; + hash = "sha256-q3MtMRdvuL0olnqvqK8uWeFCT7UpKjZN4zz9ZFlyGd4="; }; - cargoHash = "sha256-eNmD/O7t2YykGlVqovBxi/DKPQ2W2mxxCOaMBzqhTZo="; + cargoHash = "sha256-FV4ZKR6lq8b5PMj+mZ+/RBWLmoGc6WuAXw00+PGJUi8="; npmDeps = fetchNpmDeps { name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps"; src = "${finalAttrs.src}/${finalAttrs.npmRoot}"; - hash = "sha256-lWFJEjTVHMkmFnfjjIDtE/T3nw4qF3IJhUayfFVLPQo="; + hash = "sha256-OA7T8dTWEb8QiiRBx1A/R8H2Bu/xv3RFr8K9IVU3674="; }; npmRoot = "frontend"; From 1c8f2099d88650d5c322acc1972dc946d836f513 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 9 Apr 2026 01:04:26 +0200 Subject: [PATCH 031/113] uim: remove null from inputs Those packages are never undefined and if they would, that would be a bug, hence we can remove that outdated pattern. --- pkgs/by-name/ui/uim/package.nix | 36 ++++++++++----------------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/pkgs/by-name/ui/uim/package.nix b/pkgs/by-name/ui/uim/package.nix index 36e96c610829..897ae44d915e 100644 --- a/pkgs/by-name/ui/uim/package.nix +++ b/pkgs/by-name/ui/uim/package.nix @@ -16,46 +16,32 @@ m17n_db, expat, withAnthy ? true, - anthy ? null, + anthy, withGtk ? true, withGtk2 ? withGtk, - gtk2 ? null, + gtk2, withGtk3 ? withGtk, - gtk3 ? null, + gtk3, # Was never enabled in the history of this package and is not needed by any # dependent package, hence disabled to save up closure size. withQt ? false, withQt5 ? withQt, - qt5 ? null, + qt5, withLibnotify ? true, - libnotify ? null, + libnotify, withSqlite ? true, - sqlite ? null, + sqlite, withNetworking ? true, - curl ? null, - openssl ? null, + curl, + openssl, withFFI ? true, - libffi ? null, + libffi, # Things that are clearly an overkill to be enabled by default withMisc ? false, - libeb ? null, + libeb, }: -let - automake = automake116x; -in - -assert withGtk2 -> gtk2 != null; -assert withGtk3 -> gtk3 != null; - -assert withAnthy -> anthy != null; -assert withLibnotify -> libnotify != null; -assert withSqlite -> sqlite != null; -assert withNetworking -> curl != null && openssl != null; -assert withFFI -> libffi != null; -assert withMisc -> libeb != null; - stdenv.mkDerivation (finalAttrs: { version = "1.9.6"; pname = "uim"; @@ -70,7 +56,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ autoconf - automake + automake116x intltool libtool pkg-config From e7376e4d450a3fa5761ad3ec01284aaa3911f20a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 8 Apr 2026 23:27:10 +0000 Subject: [PATCH 032/113] nwg-hello: 0.4.3 -> 0.4.4 --- pkgs/by-name/nw/nwg-hello/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/nw/nwg-hello/package.nix b/pkgs/by-name/nw/nwg-hello/package.nix index e46f0e395f24..1efe5ebc1d24 100644 --- a/pkgs/by-name/nw/nwg-hello/package.nix +++ b/pkgs/by-name/nw/nwg-hello/package.nix @@ -10,14 +10,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "nwg-hello"; - version = "0.4.3"; + version = "0.4.4"; pyproject = true; src = fetchFromGitHub { owner = "nwg-piotr"; repo = "nwg-hello"; tag = "v${finalAttrs.version}"; - hash = "sha256-sWp9fSCPb2MrHdvTBnmsvf3idrRPcqmBFsFbRXGjFB0="; + hash = "sha256-XJVUEuSu24NozFjted4pujo4A83cpF7KmfDSpc8/JzY="; }; nativeBuildInputs = [ From c3b1b2995fa681f3e01ed001a6ebc12dc88cf30a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 8 Apr 2026 23:33:17 +0000 Subject: [PATCH 033/113] python3Packages.google-cloud-texttospeech: 2.35.0 -> 2.36.0 --- .../python-modules/google-cloud-texttospeech/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-texttospeech/default.nix b/pkgs/development/python-modules/google-cloud-texttospeech/default.nix index af0a3d19880f..b964bf2e0e45 100644 --- a/pkgs/development/python-modules/google-cloud-texttospeech/default.nix +++ b/pkgs/development/python-modules/google-cloud-texttospeech/default.nix @@ -13,13 +13,13 @@ buildPythonPackage (finalAttrs: { pname = "google-cloud-texttospeech"; - version = "2.35.0"; + version = "2.36.0"; pyproject = true; src = fetchPypi { pname = "google_cloud_texttospeech"; inherit (finalAttrs) version; - hash = "sha256-tipe7KQQvKqwNlMorvuLoSBuQnYK5AjAQgobfa7ttbo="; + hash = "sha256-bGBa9+R3TBusmfyq9FOPFSsQu6dziiP0IYRVf0RNxrc="; }; build-system = [ setuptools ]; From c6beaaf902f0f083fa1c54b0e14f8883816aac50 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 00:41:00 +0000 Subject: [PATCH 034/113] lichess-bot: 2026.3.29.1 -> 2026.4.3.1 --- pkgs/by-name/li/lichess-bot/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/lichess-bot/package.nix b/pkgs/by-name/li/lichess-bot/package.nix index 953c6a2ebd08..3e3901b78ae3 100644 --- a/pkgs/by-name/li/lichess-bot/package.nix +++ b/pkgs/by-name/li/lichess-bot/package.nix @@ -11,14 +11,14 @@ python3Packages.buildPythonApplication { pname = "lichess-bot"; - version = "2026.3.29.1"; + version = "2026.4.3.1"; pyproject = false; src = fetchFromGitHub { owner = "lichess-bot-devs"; repo = "lichess-bot"; - rev = "bfd5e5e1005be7c5c4a7c880b6981c7e265fc066"; - hash = "sha256-ZsrepZLbIJEqbxyads+nFeO+FPFQ7H56wE6eaT79Fys="; + rev = "98c70bbd693e12eafe1eff40996fb61c08c60ddb"; + hash = "sha256-GpnplQ+MQdA+RrLKaq2JO7TQjJY1jWGxSu/Kbg5bBEo="; }; propagatedBuildInputs = with python3Packages; [ From 584febb54e82deee2c6ddd3b34e98ccd45483532 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 00:46:38 +0000 Subject: [PATCH 035/113] cargo-leptos: 0.3.5 -> 0.3.6 --- pkgs/by-name/ca/cargo-leptos/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ca/cargo-leptos/package.nix b/pkgs/by-name/ca/cargo-leptos/package.nix index db7348ea2c31..1dd81c9405df 100644 --- a/pkgs/by-name/ca/cargo-leptos/package.nix +++ b/pkgs/by-name/ca/cargo-leptos/package.nix @@ -8,16 +8,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "cargo-leptos"; - version = "0.3.5"; + version = "0.3.6"; src = fetchFromGitHub { owner = "leptos-rs"; repo = "cargo-leptos"; rev = "v${finalAttrs.version}"; - hash = "sha256-wSnz3Hi+hUTwYFXoWMC6Uq9UH0+q0vHoryNwn4t8iMk="; + hash = "sha256-Y81cCy1w4FoWRyTN15BuC9Z8FSVPJxYObXms0rJHxwM="; }; - cargoHash = "sha256-2ax2yH/dMgXRVNffbl59OTeeMG+v83MnQnsyylrW22s="; + cargoHash = "sha256-Wv1gsrcrsJ3izYYFCPMO4ds1w6RQcIlWh+GcsckoKM4="; nativeBuildInputs = [ pkg-config ]; From ffb02ac8111d2605db543808bae245f3a4ee2903 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 01:39:11 +0000 Subject: [PATCH 036/113] spedread: 2.7.0 -> 2.8.0 --- pkgs/by-name/sp/spedread/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sp/spedread/package.nix b/pkgs/by-name/sp/spedread/package.nix index 6601c650c69a..c65b45dd863f 100644 --- a/pkgs/by-name/sp/spedread/package.nix +++ b/pkgs/by-name/sp/spedread/package.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "spedread"; - version = "2.7.0"; + version = "2.8.0"; src = fetchFromGitHub { owner = "Darazaki"; repo = "Spedread"; tag = "v${finalAttrs.version}"; - hash = "sha256-3Ykucgw2LkW22gn4nroCO22CbfLB9DGeyyv+PS3fv2U="; + hash = "sha256-IZhvKZ4kllL6ItUn47+EnUwVPKXC0mz2Mvsg/7CT5Qw="; }; postPatch = '' From 9ac0211741d89cfda5942b10f863469099e348df Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 03:10:21 +0000 Subject: [PATCH 037/113] spirit: 0.11.3 -> 0.12.0 --- pkgs/by-name/sp/spirit/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sp/spirit/package.nix b/pkgs/by-name/sp/spirit/package.nix index 9c8a90d92907..bc8a14d7620f 100644 --- a/pkgs/by-name/sp/spirit/package.nix +++ b/pkgs/by-name/sp/spirit/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "spirit"; - version = "0.11.3"; + version = "0.12.0"; src = fetchFromGitHub { owner = "block"; repo = "spirit"; tag = "v${finalAttrs.version}"; - hash = "sha256-gQ4DeiUWqOy1Qg1+F2hjxhI6578MXvuNlTB5djN1zD4="; + hash = "sha256-5H/yDujoxzeslZ4rm6qrBIy9pM3F6o/XmqPyG960M/0="; }; vendorHash = "sha256-dC+qryYDiYPuMlgkHsXYOsqHxl1O5QtGUFbNnkRE3eU="; From 41dd676e8e7f2f8e9c5f0a2c9495b766049133b1 Mon Sep 17 00:00:00 2001 From: Morgan Jones Date: Wed, 4 Jun 2025 21:10:12 -0700 Subject: [PATCH 038/113] android-studio: fix update script substituting incorrect URLs Followup to f31788b40bd4967804ee7a7d26ab0568b8b3dc4e. We need to substitute the entire URL now, and return 0 for dev. --- .../editors/android-studio/update.sh | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/editors/android-studio/update.sh b/pkgs/applications/editors/android-studio/update.sh index 04efbb366754..89839334ad2b 100755 --- a/pkgs/applications/editors/android-studio/update.sh +++ b/pkgs/applications/editors/android-studio/update.sh @@ -16,7 +16,7 @@ getLatest() { *) local select=".channel == \"${channel^}\"" ;; esac local result="$(echo "$RELEASES_JSON" \ - | jq -r ".content.item[] | select(${select}) | [.version, .${attribute}] | join(\" \")" \ + | jq -r ".content.item[] | select(${select}) | [.version, (${attribute})] | join(\" \")" \ | sort --version-sort \ | cut -d' ' -f 2- \ | tail -n 1)" @@ -24,14 +24,14 @@ getLatest() { if [[ -n "$result" ]]; then echo "$result" else - echo "could not find the latest $attribute for $channel" + echo "could not find the latest $attribute for $channel" >&2 exit 1 fi } updateChannel() { local channel="$1" - local latestVersion="$(getLatest "version" "$channel")" + local latestVersion="$(getLatest ".version" "$channel")" local localVersion="$(nix --extra-experimental-features nix-command eval --raw --file . androidStudioPackages."${channel}".version)" if [[ "${latestVersion}" == "${localVersion}" ]]; then @@ -40,15 +40,24 @@ updateChannel() { fi echo "updating $channel from $localVersion to $latestVersion" - local latestHash="$(nix-prefetch-url "https://dl.google.com/dl/android/studio/ide-zips/${latestVersion}/android-studio-${latestVersion}-linux.tar.gz")" - local latestSri="$(nix --extra-experimental-features nix-command hash to-sri --type sha256 "$latestHash")" + local latestUrl="$(getLatest "[.download[] | select(.link | endswith(\"-linux.tar.gz\"))][0].link" "$channel")" + local latestHash="$(getLatest "[.download[] | select(.link | endswith(\"-linux.tar.gz\"))][0].checksum" "$channel")" + + if [[ "$latestUrl" != https://edgedl.me.gvt1.com/android/studio/* ]]; then + echo "URL '$latestUrl' had an unexpected value, maybe the server changed?" >&2 + exit 1 + fi + + local latestSri="$(nix --extra-experimental-features nix-command hash convert --from base16 --hash-algo sha256 "$latestHash")" + local localUrl="$(nix --extra-experimental-features nix-command eval --json --file . androidStudioPackages."${channel}".unwrapped.src.drvAttrs.urls | jq -r '.[0]')" local localHash="$(nix --extra-experimental-features nix-command eval --raw --file . androidStudioPackages."${channel}".unwrapped.src.drvAttrs.outputHash)" sed -i "s~${localHash}~${latestSri}~g" "${DEFAULT_NIX}" # Match the formatting of default.nix: `version = "2021.3.1.14"; # "Android Studio Dolphin (2021.3.1) Beta 5"` - local versionString="${latestVersion}\"; # \"$(getLatest "name" "${channel}")\"" + local versionString="${latestVersion}\"; # \"$(getLatest ".name" "${channel}")\"" + sed -i "s~${localUrl}~${latestUrl}~g" "${DEFAULT_NIX}" sed -i "s~${localVersion}.*~${versionString}~g" "${DEFAULT_NIX}" - echo "updated ${channel} to ${latestVersion}" + echo "updated ${channel} to ${latestVersion}" >&2 } if (( $# == 0 )); then @@ -60,8 +69,10 @@ else case "$1" in beta|canary|stable) updateChannel "$1" ;; + dev) + echo "no autoupdate for dev" >&2 && exit 0 ;; *) - echo "unknown channel: $1" && exit 1 ;; + echo "unknown channel: $1" >&2 && exit 1 ;; esac shift 1 done From 70a1f1bbd0109cc7948d3c6771a9d0e21f57d0dc Mon Sep 17 00:00:00 2001 From: Morgan Jones Date: Sun, 5 Apr 2026 19:21:19 -0700 Subject: [PATCH 039/113] android-studio: run update script - stable: 2025.3.2.6 -> 2025.3.3.6 - beta: 2025.3.2.5 -> 2025.3.3.5 - latest: 2025.3.3.2 -> 2025.3.4.3 --- .../editors/android-studio/default.nix | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index 35af9bf0cc73..5d7533f5e414 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -16,19 +16,19 @@ let inherit tiling_wm; }; stableVersion = { - version = "2025.3.2.6"; # "Android Studio Panda 2 | 2025.3.2" - sha256Hash = "sha256-MpQtjNdogZLPPNB78oL7EgA1ub2bVubxPFVA5tOYB+k="; - url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2025.3.2.6/android-studio-panda2-linux.tar.gz"; + version = "2025.3.3.6"; # "Android Studio Panda 3 | 2025.3.3" + sha256Hash = "sha256-NBrA/BfbyYfQUw4M+zJxJUgFM9ZzOoifITdja+zUhqU="; + url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2025.3.3.6/android-studio-panda3-linux.tar.gz"; }; betaVersion = { - version = "2025.3.2.5"; # "Android Studio Panda 2 | 2025.3.2 RC 1" - sha256Hash = "sha256-qpmc7MO48GV2nnxEdRstg3ne0Gvlrgk9UX5Dr60gAMM="; - url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2025.3.2.5/android-studio-panda2-rc1-linux.tar.gz"; + version = "2025.3.3.5"; # "Android Studio Panda 3 | 2025.3.3 RC 1" + sha256Hash = "sha256-lKpFKw2Oq7OlDrPjFJhMH3aQsJO7TeOKy7HGUCE0B1U="; + url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2025.3.3.5/android-studio-panda3-rc1-linux.tar.gz"; }; latestVersion = { - version = "2025.3.3.2"; # "Android Studio Panda 3 | 2025.3.3 Canary 2" - sha256Hash = "sha256-z8GpBqyEnbyyBc0XPo5q52WS5d7b4292QgUj0FPW+C0="; - url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2025.3.3.2/android-studio-panda3-canary2-linux.tar.gz"; + version = "2025.3.4.3"; # "Android Studio Panda 4 | 2025.3.4 Canary 3" + sha256Hash = "sha256-8fqHdU6IPuRmcJeCZQOqUPgfild9k98sLnN77dl2Hs8="; + url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2025.3.4.3/android-studio-panda4-canary3-linux.tar.gz"; }; in { From 7c61392f0dae6cd5c6395ae6308312f582401007 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 04:20:53 +0000 Subject: [PATCH 040/113] tar2ext4: 0.14.0 -> 0.14.1 --- pkgs/by-name/ta/tar2ext4/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ta/tar2ext4/package.nix b/pkgs/by-name/ta/tar2ext4/package.nix index 44bc4792427a..eebeb10e9f6f 100644 --- a/pkgs/by-name/ta/tar2ext4/package.nix +++ b/pkgs/by-name/ta/tar2ext4/package.nix @@ -6,13 +6,13 @@ buildGoModule (finalAttrs: { pname = "tar2ext4"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "microsoft"; repo = "hcsshim"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-8FPEGQ6DBYYnT6mIjYmSTRfHMloS42oB8xPU5wmFLwI="; + sha256 = "sha256-n/YYajbQo+s1ssPAbS4gUdFYBHNmoNBKcEM/kcAZR94="; }; sourceRoot = "${finalAttrs.src.name}/cmd/tar2ext4"; From 1bb976bfbf3cb9654773f68b61440803675f6ef6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 04:24:15 +0000 Subject: [PATCH 041/113] xml2rfc: 3.32.0 -> 3.33.0 --- pkgs/development/python-modules/xml2rfc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/xml2rfc/default.nix b/pkgs/development/python-modules/xml2rfc/default.nix index ead691a159f1..7ff247d4c4d6 100644 --- a/pkgs/development/python-modules/xml2rfc/default.nix +++ b/pkgs/development/python-modules/xml2rfc/default.nix @@ -23,14 +23,14 @@ buildPythonPackage rec { pname = "xml2rfc"; - version = "3.32.0"; + version = "3.33.0"; pyproject = true; src = fetchFromGitHub { owner = "ietf-tools"; repo = "xml2rfc"; tag = "v${version}"; - hash = "sha256-3SE54ihJY5zs4YIROalHhKoeCiXCk6wYgaOBHEP3ze0="; + hash = "sha256-eoTuA4OJjqJGRP+uRi2TMWfS3yrCCUPIKI2uNPnjqcA="; }; postPatch = '' From 417d0a89a60f593bd4b841a67641ee06b5f3c0cf Mon Sep 17 00:00:00 2001 From: hellodword <46193371+hellodword@users.noreply.github.com> Date: Thu, 26 Mar 2026 07:03:31 +0000 Subject: [PATCH 042/113] gvisor: 20251110.0 -> 20260316.0 --- pkgs/by-name/gv/gvisor/fix-go-mod-tidy.diff | 40 +++++++++++++++++++++ pkgs/by-name/gv/gvisor/package.nix | 10 +++--- 2 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 pkgs/by-name/gv/gvisor/fix-go-mod-tidy.diff diff --git a/pkgs/by-name/gv/gvisor/fix-go-mod-tidy.diff b/pkgs/by-name/gv/gvisor/fix-go-mod-tidy.diff new file mode 100644 index 000000000000..339dfcab3e70 --- /dev/null +++ b/pkgs/by-name/gv/gvisor/fix-go-mod-tidy.diff @@ -0,0 +1,40 @@ +diff --git a/go.mod b/go.mod +index 60f4e32..87a9269 100644 +--- a/go.mod ++++ b/go.mod +@@ -4,7 +4,6 @@ go 1.25.5 + + require ( + github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c +- github.com/bazelbuild/rules_go v0.44.2 + github.com/cenkalti/backoff v2.2.1+incompatible + github.com/cilium/ebpf v0.12.3 + github.com/containerd/cgroups v1.0.4 +@@ -44,7 +43,6 @@ require ( + github.com/Microsoft/go-winio v0.6.0 // indirect + github.com/Microsoft/hcsshim v0.9.12 // indirect + github.com/containerd/ttrpc v1.1.2 // indirect +- github.com/creack/pty v1.1.24 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c // indirect + github.com/docker/go-units v0.4.0 // indirect +@@ -53,7 +51,6 @@ require ( + github.com/golang/protobuf v1.5.4 // indirect + github.com/google/go-cmp v0.7.0 // indirect + github.com/google/gofuzz v1.2.0 // indirect +- github.com/googleapis/enterprise-certificate-proxy v0.3.6 // indirect + github.com/googleapis/gnostic v0.5.5 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect +@@ -68,11 +65,9 @@ require ( + go.opencensus.io v0.24.0 // indirect + golang.org/x/net v0.44.0 // indirect + golang.org/x/oauth2 v0.30.0 // indirect +- golang.org/x/telemetry v0.0.0-20250908211612-aef8a434d053 // indirect + golang.org/x/term v0.35.0 // indirect + golang.org/x/text v0.29.0 // indirect + golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect +- google.golang.org/api v0.249.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c // indirect + google.golang.org/grpc v1.75.1 // indirect + gopkg.in/inf.v0 v0.9.1 // indirect diff --git a/pkgs/by-name/gv/gvisor/package.nix b/pkgs/by-name/gv/gvisor/package.nix index 44cd2d0a7b58..2d1fec6f6597 100644 --- a/pkgs/by-name/gv/gvisor/package.nix +++ b/pkgs/by-name/gv/gvisor/package.nix @@ -12,7 +12,7 @@ buildGoModule { pname = "gvisor"; - version = "20251110.0"; + version = "20260316.0"; # gvisor provides a synthetic go branch (https://github.com/google/gvisor/tree/go) # that can be used to build gvisor without bazel. @@ -21,8 +21,8 @@ buildGoModule { src = fetchFromGitHub { owner = "google"; repo = "gvisor"; - rev = "2617196c08506a30764bf6261b79d52797916dda"; - hash = "sha256-qx1uCRTJVotSbTojBf/Nj8LfLdUvsnxMkPuyJjLLadM="; + rev = "7644cf3a343c39df4706458b27fa87e021187ac9"; + hash = "sha256-L+SpxYthtuypW+6iP1wp7bqF8LiCwVNnzH7Obzh24ps="; }; # Replace the placeholder with the actual path to ldconfig @@ -31,7 +31,7 @@ buildGoModule { --replace-fail '"/sbin/ldconfig"' '"${glibc}/bin/ldconfig"' ''; - vendorHash = "sha256-Ey4M3NK/+AVkr7r0aA+kAfNk1yVfnDn3Izy7u74HFkE="; + vendorHash = "sha256-8Zkgt5hegYEHnG1lF+wLgdru6t3l+Z/qKRvJHukZbPo="; nativeBuildInputs = [ makeWrapper ]; @@ -60,6 +60,8 @@ buildGoModule { mv $out/bin/shim $out/bin/containerd-shim-runsc-v1 ''; + patches = [ ./fix-go-mod-tidy.diff ]; + passthru.tests = { inherit (nixosTests) gvisor; }; meta = { From 194ff685cd1deff85298e8b0c3f09130035e9881 Mon Sep 17 00:00:00 2001 From: hellodword <46193371+hellodword@users.noreply.github.com> Date: Thu, 9 Apr 2026 05:02:30 +0000 Subject: [PATCH 043/113] gvisor: 20260316.0 -> 20260406.0 --- pkgs/by-name/gv/gvisor/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gv/gvisor/package.nix b/pkgs/by-name/gv/gvisor/package.nix index 2d1fec6f6597..40232cc38810 100644 --- a/pkgs/by-name/gv/gvisor/package.nix +++ b/pkgs/by-name/gv/gvisor/package.nix @@ -12,7 +12,7 @@ buildGoModule { pname = "gvisor"; - version = "20260316.0"; + version = "20260406.0"; # gvisor provides a synthetic go branch (https://github.com/google/gvisor/tree/go) # that can be used to build gvisor without bazel. @@ -21,8 +21,8 @@ buildGoModule { src = fetchFromGitHub { owner = "google"; repo = "gvisor"; - rev = "7644cf3a343c39df4706458b27fa87e021187ac9"; - hash = "sha256-L+SpxYthtuypW+6iP1wp7bqF8LiCwVNnzH7Obzh24ps="; + rev = "db8d2c9abca39156c61ee2769d52b8a11accbe16"; + hash = "sha256-T0ilLqZTX2KNZdR7wuMnYimnL+G5Tbkd77IULCZE764="; }; # Replace the placeholder with the actual path to ldconfig From 40cd86681752663fcb2a85b61b6fa3f71f72cc67 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 05:34:40 +0000 Subject: [PATCH 044/113] application-title-bar: 0.9.0 -> 0.9.1 --- pkgs/by-name/ap/application-title-bar/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ap/application-title-bar/package.nix b/pkgs/by-name/ap/application-title-bar/package.nix index feb968f2fde6..9e9d47d7e283 100644 --- a/pkgs/by-name/ap/application-title-bar/package.nix +++ b/pkgs/by-name/ap/application-title-bar/package.nix @@ -8,13 +8,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "application-title-bar"; - version = "0.9.0"; + version = "0.9.1"; src = fetchFromGitHub { owner = "antroids"; repo = "application-title-bar"; tag = "v${finalAttrs.version}"; - hash = "sha256-bnuMlssXALcFBnBY0iXhZO4QqW2hM9r0y8Ywe2X2/wA="; + hash = "sha256-UsAZaYA088nJWnVkT7Awcib3G3JUNTY0mA8ao+9m4d0="; }; propagatedUserEnvPkgs = with kdePackages; [ kconfig ]; From bbf733f4b3949b6da8b38cf93d13849b583a5651 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 05:43:06 +0000 Subject: [PATCH 045/113] cog: 0.1.5 -> 0.1.6 --- pkgs/by-name/co/cog/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cog/package.nix b/pkgs/by-name/co/cog/package.nix index 8e07f8db7bd5..1b9fc3fb5d7b 100644 --- a/pkgs/by-name/co/cog/package.nix +++ b/pkgs/by-name/co/cog/package.nix @@ -9,13 +9,13 @@ buildGoModule (finalAttrs: { pname = "cog"; - version = "0.1.5"; + version = "0.1.6"; src = fetchFromGitHub { owner = "grafana"; repo = "cog"; tag = "v${finalAttrs.version}"; - hash = "sha256-QMYqrPmJjDmB7Kc9HZN9ypqtiwF9Cah3fnj4iMM8W4Y="; + hash = "sha256-Dbp+7+nokUUKP8GW3xqRhx3Zn1ltEndkpk1iHRRgPug="; }; vendorHash = "sha256-KOk8SvajH98jjvoPZPC4UAsF5tXKjn1xcVq5juQXQVA="; From fae76e2bb81f966d4fe41b620ca8a2214b5a12a8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 05:48:09 +0000 Subject: [PATCH 046/113] grafanaPlugins.grafana-metricsdrilldown-app: 2.0.0 -> 2.0.1 --- .../grafana/plugins/grafana-metricsdrilldown-app/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/monitoring/grafana/plugins/grafana-metricsdrilldown-app/default.nix b/pkgs/servers/monitoring/grafana/plugins/grafana-metricsdrilldown-app/default.nix index c340ad3f3425..6eff3bc260ed 100644 --- a/pkgs/servers/monitoring/grafana/plugins/grafana-metricsdrilldown-app/default.nix +++ b/pkgs/servers/monitoring/grafana/plugins/grafana-metricsdrilldown-app/default.nix @@ -2,8 +2,8 @@ grafanaPlugin { pname = "grafana-metricsdrilldown-app"; - version = "2.0.0"; - zipHash = "sha256-6eYQDDIBBKJ66jsDBFQ4GQxXh1eMfFn/kDkIicEPOSM="; + version = "2.0.1"; + zipHash = "sha256-fZVp+Bd5o10doJlzDFSfPgjI33XG+lUnGcOFwERYxBY="; meta = { description = "Queryless experience for browsing Prometheus-compatible metrics. Quickly find related metrics without writing PromQL queries"; license = lib.licenses.agpl3Only; From 3b789d8983c8b570ffb558856b4785799a9cb0d8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 06:08:51 +0000 Subject: [PATCH 047/113] sioyek: 2.0.0-unstable-2026-03-13 -> 2.0.0-unstable-2026-04-08 --- pkgs/by-name/si/sioyek/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/si/sioyek/package.nix b/pkgs/by-name/si/sioyek/package.nix index 6975adb229ba..bdc4644b7b46 100644 --- a/pkgs/by-name/si/sioyek/package.nix +++ b/pkgs/by-name/si/sioyek/package.nix @@ -15,13 +15,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "sioyek"; - version = "2.0.0-unstable-2026-03-13"; + version = "2.0.0-unstable-2026-04-08"; src = fetchFromGitHub { owner = "ahrm"; repo = "sioyek"; - rev = "13a37e0e0ab77a76f8dbe3adf599ee916615b3db"; - hash = "sha256-3bMVoF4f1+pZV3tdti8KNS17wWK1tmIgjKQUQS+Rzt8="; + rev = "a0650b5a71c15692c4797fec2908cc55c5aafd12"; + hash = "sha256-9g1JhZEqBz6x2gv690efXaV7TNggyRvOq1xn8phubEY="; }; buildInputs = [ From c441726211c93945793eb1a8dfe1cab5a6e66779 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 07:29:00 +0000 Subject: [PATCH 048/113] ctlptl: 0.9.1 -> 0.9.2 --- pkgs/by-name/ct/ctlptl/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ct/ctlptl/package.nix b/pkgs/by-name/ct/ctlptl/package.nix index e30477e99352..91f8fc07822d 100644 --- a/pkgs/by-name/ct/ctlptl/package.nix +++ b/pkgs/by-name/ct/ctlptl/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "ctlptl"; - version = "0.9.1"; + version = "0.9.2"; src = fetchFromGitHub { owner = "tilt-dev"; repo = "ctlptl"; rev = "v${finalAttrs.version}"; - hash = "sha256-vbg3gaVCFkQ6jKguNq6ClstEKpTrk9ryUG572emEY4U="; + hash = "sha256-0Y1baXkb37UKtT/lcoFdunRkxIpSCh+zfkjkZZ9SfXU="; }; vendorHash = "sha256-b9lzCNjO0rrK/kJlw5dssuQD/cyf/Wu/LJ2YNQ645LE="; From ecde3b364b3df5d9657bc41e6945240490815ac5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 08:37:06 +0000 Subject: [PATCH 049/113] discordo: 0-unstable-2026-03-30 -> 0-unstable-2026-04-09 --- pkgs/by-name/di/discordo/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/di/discordo/package.nix b/pkgs/by-name/di/discordo/package.nix index 5f3cc1d70dac..f9a83fc65ec7 100644 --- a/pkgs/by-name/di/discordo/package.nix +++ b/pkgs/by-name/di/discordo/package.nix @@ -11,16 +11,16 @@ buildGoModule (finalAttrs: { pname = "discordo"; - version = "0-unstable-2026-03-30"; + version = "0-unstable-2026-04-09"; src = fetchFromGitHub { owner = "ayn2op"; repo = "discordo"; - rev = "48f3b5316c6a340da845c5d050b9de44d680184a"; - hash = "sha256-1SOpy8XCdfsY/Fbp4NjDS9KFA/zcSIIjZHMjIEYB+8M="; + rev = "d804e0271c51239e18109dd786be73347cf21dfd"; + hash = "sha256-dgj3JWJ3NGwBvvHV/phfjIHa612XNUfYArXXpzJ0Mf4="; }; - vendorHash = "sha256-yQlx61R1Lx5fkctSkm64uYLqHeZZydVubpIaP00XA+U="; + vendorHash = "sha256-BSYPEUE6qyNY4+ur+uVB66ogYVktm9AUCzLTMiJMmKQ="; env.CGO_ENABLED = 1; From 33d25fce324dc25a2162e11f1fbd7c6bd6076f71 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 09:28:52 +0000 Subject: [PATCH 050/113] python3Packages.pyosmium: 4.3.0 -> 4.3.1 --- pkgs/development/python-modules/pyosmium/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyosmium/default.nix b/pkgs/development/python-modules/pyosmium/default.nix index 925c8730b17f..fa20f2cfa3f2 100644 --- a/pkgs/development/python-modules/pyosmium/default.nix +++ b/pkgs/development/python-modules/pyosmium/default.nix @@ -22,7 +22,7 @@ buildPythonPackage rec { pname = "pyosmium"; - version = "4.3.0"; + version = "4.3.1"; pyproject = true; disabled = isPyPy; @@ -31,7 +31,7 @@ buildPythonPackage rec { owner = "osmcode"; repo = "pyosmium"; tag = "v${version}"; - hash = "sha256-baLa3Zy67kbUBGoDqJjfO/ICSbr7cNYY8bUuVfcy3yQ="; + hash = "sha256-lEkT+3R6200XarMW1oZcOzMLPviDcpG8kQilXVWOyu0="; }; build-system = [ From bfed9e792f18471fdc306a0edb32217535b4c174 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 09:35:25 +0000 Subject: [PATCH 051/113] rundeck-cli: 2.0.9 -> 2.0.10 --- pkgs/by-name/ru/rundeck-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ru/rundeck-cli/package.nix b/pkgs/by-name/ru/rundeck-cli/package.nix index 0460f469e6f1..bff71bbf655a 100644 --- a/pkgs/by-name/ru/rundeck-cli/package.nix +++ b/pkgs/by-name/ru/rundeck-cli/package.nix @@ -18,11 +18,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "rundeck-cli"; - version = "2.0.9"; + version = "2.0.10"; src = fetchurl { url = "https://github.com/rundeck/rundeck-cli/releases/download/v${finalAttrs.version}/rundeck-cli-${finalAttrs.version}-all.jar"; - hash = "sha256-c6QAgwyRCtoOlS7DEmjyK3BwHV122bilL6H+Hzrv2dQ="; + hash = "sha256-RiGWsscenvNpKr+yOHpy2F7dPZ3M/R9SWD+EKF7nq18="; }; nativeBuildInputs = [ makeBinaryWrapper ]; From c96d98cb106a195e0a919a6bb0f56af4094c591f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 09:46:56 +0000 Subject: [PATCH 052/113] wakatime-cli: 2.0.8 -> 2.2.0 --- pkgs/by-name/wa/wakatime-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/wa/wakatime-cli/package.nix b/pkgs/by-name/wa/wakatime-cli/package.nix index f50240efc067..3d7810aae7e0 100644 --- a/pkgs/by-name/wa/wakatime-cli/package.nix +++ b/pkgs/by-name/wa/wakatime-cli/package.nix @@ -10,16 +10,16 @@ buildGoModule (finalAttrs: { pname = "wakatime-cli"; - version = "2.0.8"; + version = "2.2.0"; src = fetchFromGitHub { owner = "wakatime"; repo = "wakatime-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-VBlERyaoRmOO7CGPmF9R2f6sU+8BNJ3Ze4AX2mxezCo="; + hash = "sha256-TOdAcT+IS6XONIfkASRvd7oTSSW5VX8w5q5ASvJlQb8="; }; - vendorHash = "sha256-1BtTtR8wPVzzOEGv3te3hOeKakZX7cS+HYvoCLnuZ/c="; + vendorHash = "sha256-HngszNLX2b2EVvh8ovouIEvjBOJL1jA5AhA6Y11ke9Y="; ldflags = [ "-s" From 374881e13ae192a790bca11cabd8382a8d503bf8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 10:26:17 +0000 Subject: [PATCH 053/113] postgresqlPackages.pg_background: 1.9.1 -> 1.9.2 --- pkgs/servers/sql/postgresql/ext/pg_background.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/pg_background.nix b/pkgs/servers/sql/postgresql/ext/pg_background.nix index 603693027b39..5d310ba278ec 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_background.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_background.nix @@ -8,13 +8,13 @@ postgresqlBuildExtension (finalAttrs: { pname = "pg_background"; - version = "1.9.1"; + version = "1.9.2"; src = fetchFromGitHub { owner = "vibhorkum"; repo = "pg_background"; tag = "v${finalAttrs.version}"; - hash = "sha256-UbqMz7s4rSr7kKeZb+UVMc2Xg2r5GuM34SxI6DEIMPg="; + hash = "sha256-R78lB/58/dfZPg4XZ5xGuQ/Ftv+SQzU4aeJop6tslK8="; }; buildInputs = postgresql.buildInputs; From 4bb5600c29eb5ba2cb622cfb364a41ef16f90770 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 11:15:46 +0000 Subject: [PATCH 054/113] clojure: 1.12.4.1618 -> 1.12.4.1629 --- pkgs/by-name/cl/clojure/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cl/clojure/package.nix b/pkgs/by-name/cl/clojure/package.nix index f2c3f2740f9d..8e8bcc40b292 100644 --- a/pkgs/by-name/cl/clojure/package.nix +++ b/pkgs/by-name/cl/clojure/package.nix @@ -13,12 +13,12 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "clojure"; - version = "1.12.4.1618"; + version = "1.12.4.1629"; src = fetchurl { # https://github.com/clojure/brew-install/releases url = "https://github.com/clojure/brew-install/releases/download/${finalAttrs.version}/clojure-tools-${finalAttrs.version}.tar.gz"; - hash = "sha256-E3adptY6mN6yAkN4rhpk5O4hGsEDU0DfynppRMQc3iE="; + hash = "sha256-swBF0lh+vAvPHKKoXHXXHcVtfHTefu5tx/3vwl93KM4="; }; nativeBuildInputs = [ From 86f2907f989b96da450efc807985df9a278505fe Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 11:47:52 +0000 Subject: [PATCH 055/113] sprite: 0.0.1-rc42 -> 0.0.1-rc43 --- pkgs/by-name/sp/sprite/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/sp/sprite/package.nix b/pkgs/by-name/sp/sprite/package.nix index c5550d7a4dfd..08103661017c 100644 --- a/pkgs/by-name/sp/sprite/package.nix +++ b/pkgs/by-name/sp/sprite/package.nix @@ -8,7 +8,7 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "sprite"; - version = "0.0.1-rc42"; + version = "0.0.1-rc43"; src = fetchurl { url = "https://sprites-binaries.t3.storage.dev/client/v${finalAttrs.version}/sprite-${ @@ -16,10 +16,10 @@ stdenv.mkDerivation (finalAttrs: { }-${if stdenv.hostPlatform.isx86_64 then "amd64" else "arm64"}.tar.gz"; hash = { - aarch64-darwin = "sha256-ih0RonsNu7ZHUWbQcMqHmm7RXg0VvekDvq6WpnKvSjY="; - x86_64-darwin = "sha256-p3Tpf2Mg0rfOaw/y7cKI2Q7SvEpm+a1ykYVrr/dzVLc="; - aarch64-linux = "sha256-vMhkzX9noNL8Aw6MWhEAYmufCRpLsY/FbveBP3PYrQQ="; - x86_64-linux = "sha256-Jmym6yg0Wl83KTn840jWF3md5+r4NBh8czQudY5Iomk="; + aarch64-darwin = "sha256-6ztxc59b2H76+o7k7zMOvA/PAOib4m7WRXo1XsigL04="; + x86_64-darwin = "sha256-Ni779eJIFbZQ/zrAA3zQyYFFQ7ikEU9UYL9GeO1OcKA="; + aarch64-linux = "sha256-YTNHlVknlVkyUsiI422Quo04CyIMxCbrjhPvGADHw2s="; + x86_64-linux = "sha256-wEClvx4Kv7WK4uMYwNJqvsvjyQsonI01xlCo3z7CuwQ="; } .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; From 16aacb40e80d4a84d11a31a16c9093c8817159a2 Mon Sep 17 00:00:00 2001 From: Alexander Nabokikh Date: Thu, 9 Apr 2026 14:07:53 +0200 Subject: [PATCH 056/113] hyprland: use absolute uwsm paths in hyprland-uwsm.desktop --- pkgs/by-name/hy/hyprland/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/hy/hyprland/package.nix b/pkgs/by-name/hy/hyprland/package.nix index 2af08df87af1..1bf942534d48 100644 --- a/pkgs/by-name/hy/hyprland/package.nix +++ b/pkgs/by-name/hy/hyprland/package.nix @@ -33,6 +33,7 @@ re2, systemd, tomlplusplus, + uwsm, wayland, wayland-protocols, wayland-scanner, @@ -100,6 +101,9 @@ customStdenv.mkDerivation (finalAttrs: { --replace-fail "@PREFIX@/" "" substituteInPlace example/hyprland.desktop.in \ --replace-fail "@PREFIX@/" "" + substituteInPlace systemd/hyprland-uwsm.desktop \ + --replace-fail "Exec=uwsm " "Exec=${lib.getExe uwsm} " \ + --replace-fail "TryExec=uwsm" "TryExec=${lib.getExe uwsm}" ''; # variables used by CMake, and shown in `hyprctl version` From 8989e7dba0307270cac09310bab291db5af29aa7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 12:30:37 +0000 Subject: [PATCH 057/113] python3Packages.wiim: 0.1.0 -> 0.1.1 --- pkgs/development/python-modules/wiim/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/wiim/default.nix b/pkgs/development/python-modules/wiim/default.nix index 71dbb31e5f9a..612be92c7006 100644 --- a/pkgs/development/python-modules/wiim/default.nix +++ b/pkgs/development/python-modules/wiim/default.nix @@ -11,14 +11,14 @@ buildPythonPackage (finalAttrs: { pname = "wiim"; - version = "0.1.0"; + version = "0.1.1"; pyproject = true; src = fetchFromGitHub { owner = "Linkplay2020"; repo = "wiim"; tag = "v${finalAttrs.version}"; - hash = "sha256-cX8CLbzoNUs8u0+HLcg9C5aw48Dw/wI19T/q/5np6KE="; + hash = "sha256-WJbnVJ7ZM4wZk3Y8zTRc3i24CyTA8Wz9EKYr5BNlx6o="; }; build-system = [ setuptools ]; From f15101597af27d58cfdd623f83e9d76cb18ea176 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 12:41:36 +0000 Subject: [PATCH 058/113] libphonenumber: 9.0.27 -> 9.0.28 --- pkgs/by-name/li/libphonenumber/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libphonenumber/package.nix b/pkgs/by-name/li/libphonenumber/package.nix index b0a26db33ff4..cdf64d4b29c6 100644 --- a/pkgs/by-name/li/libphonenumber/package.nix +++ b/pkgs/by-name/li/libphonenumber/package.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "libphonenumber"; - version = "9.0.27"; + version = "9.0.28"; src = fetchFromGitHub { owner = "google"; repo = "libphonenumber"; tag = "v${finalAttrs.version}"; - hash = "sha256-Qcn7Ms2YizAJK5IPVW/NeCUkfH8bk5Mg0xjcMcsE5H8="; + hash = "sha256-Mi+FpM8viPUWgzT8tp3zc9e5fsI9xhlsdsYYlaVRTNk="; }; patches = [ From 53091a0f90fcdbb7b9935952861f42ea1b9b8168 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 13:06:26 +0000 Subject: [PATCH 059/113] scalr-cli: 0.17.7 -> 0.17.8 --- pkgs/by-name/sc/scalr-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sc/scalr-cli/package.nix b/pkgs/by-name/sc/scalr-cli/package.nix index adbd58b2a811..12411ab7dcd0 100644 --- a/pkgs/by-name/sc/scalr-cli/package.nix +++ b/pkgs/by-name/sc/scalr-cli/package.nix @@ -6,13 +6,13 @@ buildGoModule (finalAttrs: { pname = "scalr-cli"; - version = "0.17.7"; + version = "0.17.8"; src = fetchFromGitHub { owner = "Scalr"; repo = "scalr-cli"; rev = "v${finalAttrs.version}"; - hash = "sha256-ZGq76TPMNrlyuHs5yUgw3pJ+a2wVNwBTTSgzIofD4io="; + hash = "sha256-hJvIVSv40Wlua1nOWJb5pu4OSfsATiwMoqNrZsWCBNA="; }; vendorHash = "sha256-TUf+0Z0yBDOpzMuETn+FCAPXWvQltjRhwQ3Xz0X6YOI="; From a36a063a04b7756592019345d5a72c8fff30148e Mon Sep 17 00:00:00 2001 From: Perchun Pak Date: Thu, 9 Apr 2026 13:22:41 +0200 Subject: [PATCH 060/113] vimPlugins.bitbake: move back to generated.nix It was moved to non-generated, because "updater can't handle sub directories". Added a `sourceRoot` override to `overrides.nix` and the plugin builds. --- .../editors/vim/plugins/deprecated.json | 4 ++++ .../editors/vim/plugins/generated.nix | 13 ++++++++++++ .../non-generated/bitbake-vim/default.nix | 21 ------------------- .../editors/vim/plugins/overrides.nix | 4 ++++ .../editors/vim/plugins/vim-plugin-names | 1 + 5 files changed, 22 insertions(+), 21 deletions(-) delete mode 100644 pkgs/applications/editors/vim/plugins/non-generated/bitbake-vim/default.nix diff --git a/pkgs/applications/editors/vim/plugins/deprecated.json b/pkgs/applications/editors/vim/plugins/deprecated.json index fa8c481f4917..4af18da693a7 100644 --- a/pkgs/applications/editors/vim/plugins/deprecated.json +++ b/pkgs/applications/editors/vim/plugins/deprecated.json @@ -83,6 +83,10 @@ "date": "2026-02-04", "new": "bats-vim" }, + "bitbake-vim": { + "date": "2026-04-09", + "new": "bitbake" + }, "calendar": { "date": "2026-02-04", "new": "calendar-vim" diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 0bdd6a0d9575..5bb6cacfa5ae 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -1582,6 +1582,19 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + bitbake = buildVimPlugin { + pname = "bitbake"; + version = "2.12.0-unstable-2026-04-08"; + src = fetchFromGitHub { + owner = "openembedded"; + repo = "bitbake"; + rev = "5d722b5d65e4eef7befe6376983385421e993f86"; + hash = "sha256-nOnNIXRUxsYNaEBhWuzCMTg37C9/S4ekxNbCpvBe+TU="; + }; + meta.homepage = "https://github.com/openembedded/bitbake/"; + meta.hydraPlatforms = [ ]; + }; + blame-nvim = buildVimPlugin { pname = "blame.nvim"; version = "0-unstable-2026-02-12"; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/bitbake-vim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/bitbake-vim/default.nix deleted file mode 100644 index f43b0557c4d8..000000000000 --- a/pkgs/applications/editors/vim/plugins/non-generated/bitbake-vim/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - vimUtils, - fetchFromGitHub, -}: -vimUtils.buildVimPlugin rec { - pname = "bitbake-vim"; - version = "2.10.4"; - - # The tags are very messy on the upstream repo. We prefer disabling automatic updates for this plugin. - # nixpkgs-update: no auto update - src = fetchFromGitHub { - owner = "openembedded"; - repo = "bitbake"; - tag = version; - hash = "sha256-gdxPnRhd4Hj1PWgCU5A/+639ndJXlkdArOBZt6eiZWA="; - }; - - sourceRoot = "source/contrib/vim"; - - meta.homepage = "https://github.com/openembedded/bitbake/"; -} diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index ac3f29e5730b..95a1c87e0d60 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -304,6 +304,10 @@ assertNoAdditions { ]; }; + bitbake = super.bitbake.overrideAttrs { + sourceRoot = "source/contrib/vim"; + }; + blink-cmp-conventional-commits = super.blink-cmp-conventional-commits.overrideAttrs { dependencies = [ self.blink-cmp ]; }; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index a8bb5fbf3787..da5c2c3d2f9a 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -120,6 +120,7 @@ https://github.com/rbgrouleff/bclose.vim/,, https://github.com/sontungexpt/better-diagnostic-virtual-text/,HEAD, https://github.com/max397574/better-escape.nvim/,, https://github.com/LunarVim/bigfile.nvim/,, +https://github.com/openembedded/bitbake/,HEAD, https://github.com/FabijanZulj/blame.nvim/,HEAD, https://github.com/APZelos/blamer.nvim/,HEAD, https://github.com/Kaiser-Yang/blink-cmp-avante/,HEAD, From 92c4fa3b95598fe9fea5046de730bbb7913518eb Mon Sep 17 00:00:00 2001 From: Perchun Pak Date: Thu, 9 Apr 2026 13:23:53 +0200 Subject: [PATCH 061/113] vimPlugins.clangd_extensions-nvim: move back to generated.nix --- .../editors/vim/plugins/generated.nix | 12 +++++++++ .../clangd_extensions-nvim/default.nix | 26 ------------------- .../editors/vim/plugins/vim-plugin-names | 1 + 3 files changed, 13 insertions(+), 26 deletions(-) delete mode 100644 pkgs/applications/editors/vim/plugins/non-generated/clangd_extensions-nvim/default.nix diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 5bb6cacfa5ae..fd14f2ec7804 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -2258,6 +2258,18 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + clangd_extensions-nvim = buildVimPlugin { + pname = "clangd_extensions.nvim"; + version = "0-unstable-2026-01-12"; + src = fetchgit { + url = "https://git.sr.ht/~p00f/clangd_extensions.nvim"; + rev = "997d20e6bc83ea1a6223c08d2b9db76943abf56b"; + hash = "sha256-5XES8qyl3tdMmsT+mkVcJ1sC5AKJDpHI/elsoB8XE/8="; + }; + meta.homepage = "https://git.sr.ht/~p00f/clangd_extensions.nvim"; + meta.hydraPlatforms = [ ]; + }; + claude-code-nvim = buildVimPlugin { pname = "claude-code.nvim"; version = "0.4.3-unstable-2026-02-04"; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/clangd_extensions-nvim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/clangd_extensions-nvim/default.nix deleted file mode 100644 index 5f998af8c27e..000000000000 --- a/pkgs/applications/editors/vim/plugins/non-generated/clangd_extensions-nvim/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - lib, - fetchFromSourcehut, - nix-update-script, - vimUtils, -}: -vimUtils.buildVimPlugin { - pname = "clangd_extensions.nvim"; - version = "0-unstable-2025-01-27"; - - src = fetchFromSourcehut { - owner = "~p00f"; - repo = "clangd_extensions.nvim"; - rev = "db28f29be928d18cbfb86fbfb9f83f584f658feb"; - hash = "sha256-XdA638W0Zb85v5uAUNpvUiiQXGKOM2xykD2ClLk8Qpo="; - }; - - passthru.updateScript = nix-update-script { }; - - meta = { - description = "Clangd's off-spec features for neovim's LSP client"; - homepage = "https://git.sr.ht/~p00f/clangd_extensions.nvim"; - license = lib.licenses.mit; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index da5c2c3d2f9a..3ae0bae855bb 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -172,6 +172,7 @@ https://github.com/declancm/cinnamon.nvim/,HEAD, https://github.com/projekt0n/circles.nvim/,, https://github.com/zootedb0t/citruszest.nvim/,, https://github.com/xavierd/clang_complete/,, +https://git.sr.ht/~p00f/clangd_extensions.nvim,HEAD, https://github.com/greggh/claude-code.nvim/,HEAD, https://github.com/pittcat/claude-fzf-history.nvim/,HEAD, https://github.com/pittcat/claude-fzf.nvim/,HEAD, From 07dcf163761c84c0724634f43aeb04f6cf5aa20d Mon Sep 17 00:00:00 2001 From: Perchun Pak Date: Thu, 9 Apr 2026 13:25:31 +0200 Subject: [PATCH 062/113] vimPlugins.cmp-async-path: move back to generated.nix --- .../editors/vim/plugins/generated.nix | 12 +++++++ .../non-generated/cmp-async-path/default.nix | 31 ------------------- .../editors/vim/plugins/overrides.nix | 4 +++ .../editors/vim/plugins/vim-plugin-names | 1 + 4 files changed, 17 insertions(+), 31 deletions(-) delete mode 100644 pkgs/applications/editors/vim/plugins/non-generated/cmp-async-path/default.nix diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index fd14f2ec7804..4a85724bf730 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -2439,6 +2439,18 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + cmp-async-path = buildVimPlugin { + pname = "cmp-async-path"; + version = "0-unstable-2026-01-28"; + src = fetchgit { + url = "https://codeberg.org/FelipeLema/cmp-async-path/"; + rev = "f8af3f726e07f2e9d37672eaa9102581aefce149"; + hash = "sha256-ALMK7TnEB7/UZibVgOl4r6/gYsHCo6YAZcAR536VL4g="; + }; + meta.homepage = "https://codeberg.org/FelipeLema/cmp-async-path/"; + meta.hydraPlatforms = [ ]; + }; + cmp-beancount = buildVimPlugin { pname = "cmp-beancount"; version = "0-unstable-2025-11-26"; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/cmp-async-path/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/cmp-async-path/default.nix deleted file mode 100644 index 29ffe4e42c07..000000000000 --- a/pkgs/applications/editors/vim/plugins/non-generated/cmp-async-path/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ - lib, - vimUtils, - fetchFromCodeberg, - nix-update-script, - vimPlugins, -}: -vimUtils.buildVimPlugin { - pname = "cmp-async-path"; - version = "0-unstable-2026-01-28"; - - src = fetchFromCodeberg { - owner = "FelipeLema"; - repo = "cmp-async-path"; - rev = "f8af3f726e07f2e9d37672eaa9102581aefce149"; - hash = "sha256-ALMK7TnEB7/UZibVgOl4r6/gYsHCo6YAZcAR536VL4g="; - }; - - checkInputs = [ vimPlugins.nvim-cmp ]; - - passthru.updateScript = nix-update-script { - extraArgs = [ "--version=branch" ]; - }; - - meta = { - description = "Nvim-cmp source for filesystem paths with async processing"; - homepage = "https://codeberg.org/FelipeLema/cmp-async-path/"; - license = lib.licenses.mit; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 95a1c87e0d60..f3585b278533 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -510,6 +510,10 @@ assertNoAdditions { ]; }; + cmp-async-path = super.cmp-async-path.overrideAttrs { + checkInputs = [ self.nvim-cmp ]; + }; + cmp-beancount = super.cmp-beancount.overrideAttrs { checkInputs = [ self.nvim-cmp ]; }; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 3ae0bae855bb..89fe2f079d2d 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -186,6 +186,7 @@ https://github.com/Civitasv/cmake-tools.nvim/,, https://github.com/winston0410/cmd-parser.nvim/,, https://github.com/vim-scripts/cmdalias.vim/,HEAD, https://github.com/tzachar/cmp-ai/,HEAD, +https://codeberg.org/FelipeLema/cmp-async-path/,HEAD, https://github.com/crispgm/cmp-beancount/,HEAD, https://github.com/hrsh7th/cmp-buffer/,, https://github.com/hrsh7th/cmp-calc/,, From 849ce4126e0fd38812179528fab59191a9181004 Mon Sep 17 00:00:00 2001 From: Perchun Pak Date: Thu, 9 Apr 2026 14:43:37 +0200 Subject: [PATCH 063/113] vimPlugins.gitlab-vim: move back to generated.nix --- .../editors/vim/plugins/generated.nix | 12 ++++++++ .../non-generated/gitlab-vim/default.nix | 29 ------------------- .../editors/vim/plugins/vim-plugin-names | 1 + 3 files changed, 13 insertions(+), 29 deletions(-) delete mode 100644 pkgs/applications/editors/vim/plugins/non-generated/gitlab-vim/default.nix diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 4a85724bf730..da2fdca96a9d 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -6058,6 +6058,18 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + gitlab-vim = buildVimPlugin { + pname = "gitlab.vim"; + version = "1.1.0-unstable-2026-03-17"; + src = fetchgit { + url = "https://gitlab.com/gitlab-org/editor-extensions/gitlab.vim"; + rev = "cb750761acf8dc17f4f1051d1b4ade6c0aaeb432"; + hash = "sha256-rhYz3Z1Dcffvo8E3390gOBcqfFclWJ19wTKwp6L/874="; + }; + meta.homepage = "https://gitlab.com/gitlab-org/editor-extensions/gitlab.vim"; + meta.hydraPlatforms = [ ]; + }; + gitlineage-nvim = buildVimPlugin { pname = "gitlineage.nvim"; version = "0-unstable-2026-02-14"; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/gitlab-vim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/gitlab-vim/default.nix deleted file mode 100644 index 824190179389..000000000000 --- a/pkgs/applications/editors/vim/plugins/non-generated/gitlab-vim/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - lib, - vimUtils, - fetchFromGitLab, - nix-update-script, -}: -let - version = "0.1.1"; -in -vimUtils.buildVimPlugin { - pname = "gitlab.vim"; - inherit version; - - src = fetchFromGitLab { - owner = "gitlab-org/editor-extensions"; - repo = "gitlab.vim"; - rev = "v${version}"; - hash = "sha256-W/FV+i/QJYX6A8uyxAQN4ov1kMd9UFCghFmSQp1kbnM="; - }; - - passthru.updateScript = nix-update-script { }; - - meta = { - description = "Integrate GitLab Duo with Neovim"; - homepage = "https://gitlab.com/gitlab-org/editor-extensions/gitlab.vim"; - license = lib.licenses.mit; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 89fe2f079d2d..55a332a74e42 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -464,6 +464,7 @@ https://github.com/polarmutex/git-worktree.nvim/,HEAD, https://github.com/projekt0n/github-nvim-theme/,HEAD, https://github.com/wintermute-cell/gitignore.nvim/,HEAD, https://github.com/vim-scripts/gitignore.vim/,, +https://gitlab.com/gitlab-org/editor-extensions/gitlab.vim,HEAD, https://github.com/LionyxML/gitlineage.nvim/,HEAD, https://github.com/ruifm/gitlinker.nvim/,, https://github.com/trevorhauter/gitportal.nvim/,, From 368d82f6e9433956ad2f086397ed631d60980b69 Mon Sep 17 00:00:00 2001 From: Perchun Pak Date: Thu, 9 Apr 2026 14:44:03 +0200 Subject: [PATCH 064/113] vimPlugins.hare-vim: move back to generated.nix --- .../editors/vim/plugins/generated.nix | 12 +++++++++ .../non-generated/hare-vim/default.nix | 26 ------------------- .../editors/vim/plugins/vim-plugin-names | 1 + 3 files changed, 13 insertions(+), 26 deletions(-) delete mode 100644 pkgs/applications/editors/vim/plugins/non-generated/hare-vim/default.nix diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index da2fdca96a9d..3ab0580cfae9 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -6500,6 +6500,18 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + hare-vim = buildVimPlugin { + pname = "hare.vim"; + version = "0-unstable-2026-02-05"; + src = fetchgit { + url = "https://git.sr.ht/~sircmpwn/hare.vim"; + rev = "cbc1195ce25b853788d3006c34ff6be0aba6483d"; + hash = "sha256-zueMmX8rHXMpnv6ukrcFcTIWVOoYrBC/0Tn2+5fTRlU="; + }; + meta.homepage = "https://git.sr.ht/~sircmpwn/hare.vim"; + meta.hydraPlatforms = [ ]; + }; + harpoon = buildVimPlugin { pname = "harpoon"; version = "0-unstable-2024-08-29"; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/hare-vim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/hare-vim/default.nix deleted file mode 100644 index 7180615ced27..000000000000 --- a/pkgs/applications/editors/vim/plugins/non-generated/hare-vim/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - lib, - vimUtils, - fetchFromSourcehut, - nix-update-script, -}: -vimUtils.buildVimPlugin { - pname = "hare.vim"; - version = "0-unstable-2025-04-24"; - - src = fetchFromSourcehut { - owner = "~sircmpwn"; - repo = "hare.vim"; - rev = "41b8b615f46a39d807a9a069039aac79c925c389"; - hash = "sha256-GPFoQI6tipcLzkvjaeufmMrNnQM46lPas9D1SwzjKF4="; - }; - - passthru.updateScript = nix-update-script { }; - - meta = { - description = "Hare programming in Vim"; - homepage = "https://git.sr.ht/~sircmpwn/hare.vim"; - license = lib.licenses.vim; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 55a332a74e42..4a2f0436e5de 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -498,6 +498,7 @@ https://github.com/junegunn/gv.vim/,, https://github.com/chrishrb/gx.nvim/,HEAD, https://github.com/TheSnakeWitcher/hardhat.nvim/,HEAD, https://github.com/m4xshen/hardtime.nvim/,HEAD, +https://git.sr.ht/~sircmpwn/hare.vim,HEAD, https://github.com/ThePrimeagen/harpoon/,master, https://github.com/ThePrimeagen/harpoon/,harpoon2,harpoon2 https://github.com/kiyoon/haskell-scope-highlighting.nvim/,HEAD, From c2486fd3d7ccb6b43c1e23cdce6375f47f1f3266 Mon Sep 17 00:00:00 2001 From: Perchun Pak Date: Thu, 9 Apr 2026 14:45:34 +0200 Subject: [PATCH 065/113] vimPlugins.jsonfly-nvim: move back to generated.nix --- .../editors/vim/plugins/generated.nix | 12 +++++++++ .../non-generated/jsonfly-nvim/default.nix | 27 ------------------- .../editors/vim/plugins/overrides.nix | 8 ++++++ .../editors/vim/plugins/vim-plugin-names | 1 + 4 files changed, 21 insertions(+), 27 deletions(-) delete mode 100644 pkgs/applications/editors/vim/plugins/non-generated/jsonfly-nvim/default.nix diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 3ab0580cfae9..b6318b3ee7b8 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -7398,6 +7398,18 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + jsonfly-nvim = buildVimPlugin { + pname = "jsonfly.nvim"; + version = "0-unstable-2025-11-02"; + src = fetchgit { + url = "https://git.myzel394.app/Myzel394/jsonfly.nvim"; + rev = "3d58635cb195a5435743e7882c6ac7cff710204f"; + hash = "sha256-bTh/6zmYQ+XqBsccKo8i149nU5bBfFv+8UKMayHIoo4="; + }; + meta.homepage = "https://git.myzel394.app/Myzel394/jsonfly.nvim"; + meta.hydraPlatforms = [ ]; + }; + jule-nvim = buildVimPlugin { pname = "jule.nvim"; version = "0-unstable-2025-12-26"; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/jsonfly-nvim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/jsonfly-nvim/default.nix deleted file mode 100644 index 22d445b55ded..000000000000 --- a/pkgs/applications/editors/vim/plugins/non-generated/jsonfly-nvim/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - lib, - fetchFromGitea, - vimUtils, - nix-update-script, -}: -vimUtils.buildVimPlugin { - pname = "jsonfly.nvim"; - version = "0-unstable-2025-06-07"; - - src = fetchFromGitea { - domain = "git.myzel394.app"; - owner = "Myzel394"; - repo = "jsonfly.nvim"; - rev = "db4394d856059d99d82ea2c75d033721e9dcb1fc"; - hash = "sha256-PmYm+vZ0XONoHUo08haBozbXRpN+/LAlr6Fyg7anTNw="; - }; - - passthru.updateScript = nix-update-script { }; - - meta = { - description = "Search blazingly fast for JSON / XML / YAML keys via Telescope"; - homepage = "https://git.myzel394.app/Myzel394/jsonfly.nvim"; - platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ myzel394 ]; - }; -} diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index f3585b278533..a70b5a657271 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -1568,6 +1568,14 @@ assertNoAdditions { ''; }; + jsonfly-nvim = super.jsonfly-nvim.overrideAttrs (old: { + meta = old.meta // { + maintainers = old.meta.maintainers or [ ] ++ [ + lib.maintainers.myzel394 + ]; + }; + }); + jupytext-nvim = super.jupytext-nvim.overrideAttrs { passthru.python3Dependencies = ps: [ ps.jupytext ]; }; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 4a2f0436e5de..f1b3a4e50be0 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -567,6 +567,7 @@ https://github.com/HiPhish/jinja.vim/,HEAD, https://github.com/NicolasGB/jj.nvim/,HEAD, https://github.com/vito-c/jq.vim/,, https://github.com/neoclide/jsonc.vim/,, +https://git.myzel394.app/Myzel394/jsonfly.nvim,HEAD, https://github.com/julelang/jule.nvim/,HEAD, https://github.com/julelang/jule.nvim/,HEAD, https://github.com/JuliaEditorSupport/julia-vim/,, From e4e2323de667fb061f801321e09a2be48e5b45c2 Mon Sep 17 00:00:00 2001 From: Perchun Pak Date: Thu, 9 Apr 2026 14:46:12 +0200 Subject: [PATCH 066/113] vimPlugins.lsp_lines-nvim: move back to generated.nix --- .../editors/vim/plugins/generated.nix | 12 ++++++++ .../non-generated/lsp_lines-nvim/default.nix | 29 ------------------- .../editors/vim/plugins/vim-plugin-names | 1 + 3 files changed, 13 insertions(+), 29 deletions(-) delete mode 100644 pkgs/applications/editors/vim/plugins/non-generated/lsp_lines-nvim/default.nix diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index b6318b3ee7b8..c5d825e3f9f8 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -8346,6 +8346,18 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + lsp_lines-nvim = buildVimPlugin { + pname = "lsp_lines.nvim"; + version = "3.0.0-unstable-2024-12-21"; + src = fetchgit { + url = "https://git.sr.ht/~whynothugo/lsp_lines.nvim"; + rev = "a92c755f182b89ea91bd8a6a2227208026f27b4d"; + hash = "sha256-jHiIZemneQACTDYZXBJqX2/PRTBoxq403ILvt1Ej1ZM="; + }; + meta.homepage = "https://git.sr.ht/~whynothugo/lsp_lines.nvim"; + meta.hydraPlatforms = [ ]; + }; + lsp_signature-nvim = buildVimPlugin { pname = "lsp_signature.nvim"; version = "0.3.1-unstable-2026-04-07"; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/lsp_lines-nvim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/lsp_lines-nvim/default.nix deleted file mode 100644 index 72d9495af2d2..000000000000 --- a/pkgs/applications/editors/vim/plugins/non-generated/lsp_lines-nvim/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - lib, - vimUtils, - fetchFromSourcehut, - nix-update-script, -}: -let - version = "3.0.0"; -in -vimUtils.buildVimPlugin { - pname = "lsp_lines.nvim"; - inherit version; - - src = fetchFromSourcehut { - owner = "~whynothugo"; - repo = "lsp_lines.nvim"; - rev = "v${version}"; - hash = "sha256-QsvmPOer7JgO7Y+N/iaNJD7Kmy69gnlV4CeyaQesNvA="; - }; - - passthru.updateScript = nix-update-script { }; - - meta = { - description = "Neovim diagnostics using virtual lines"; - homepage = "https://git.sr.ht/~whynothugo/lsp_lines.nvim"; - license = lib.licenses.mit; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index f1b3a4e50be0..d3a1e41f0d58 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -641,6 +641,7 @@ https://github.com/ahmedkhalf/lsp-rooter.nvim/,, https://github.com/nvim-lua/lsp-status.nvim/,, https://github.com/VonHeikemen/lsp-zero.nvim/,v3.x, https://github.com/nvim-lua/lsp_extensions.nvim/,, +https://git.sr.ht/~whynothugo/lsp_lines.nvim,HEAD, https://github.com/ray-x/lsp_signature.nvim/,, https://github.com/lspcontainers/lspcontainers.nvim/,, https://github.com/deathbeam/lspecho.nvim/,HEAD, From a3b6dd2685c874f1328e49194d38fa348297e180 Mon Sep 17 00:00:00 2001 From: Perchun Pak Date: Thu, 9 Apr 2026 14:47:02 +0200 Subject: [PATCH 067/113] vimPlugins.nvim-julia-autotest: move back to generated.nix --- .../editors/vim/plugins/generated.nix | 12 ++++++++ .../nvim-julia-autotest/default.nix | 28 ------------------- .../editors/vim/plugins/vim-plugin-names | 1 + 3 files changed, 13 insertions(+), 28 deletions(-) delete mode 100644 pkgs/applications/editors/vim/plugins/non-generated/nvim-julia-autotest/default.nix diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index c5d825e3f9f8..8ea24bcace40 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -11725,6 +11725,18 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + nvim-julia-autotest = buildVimPlugin { + pname = "nvim-julia-autotest"; + version = "0-unstable-2022-10-31"; + src = fetchgit { + url = "https://gitlab.com/usmcamp0811/nvim-julia-autotest"; + rev = "b74e2f9c961e604cb56cc23f87188348bfa0f33f"; + hash = "sha256-IaNsbBe5q7PB9Q/N/Z9nEnP6jlkQ6+xlkC0TCFnJpkk="; + }; + meta.homepage = "https://gitlab.com/usmcamp0811/nvim-julia-autotest"; + meta.hydraPlatforms = [ ]; + }; + nvim-jump = buildVimPlugin { pname = "nvim-jump"; version = "0-unstable-2026-04-08"; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/nvim-julia-autotest/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/nvim-julia-autotest/default.nix deleted file mode 100644 index 032705f8359b..000000000000 --- a/pkgs/applications/editors/vim/plugins/non-generated/nvim-julia-autotest/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - lib, - vimUtils, - fetchFromGitLab, - nix-update-script, -}: -vimUtils.buildVimPlugin { - pname = "nvim-julia-autotest"; - version = "0-unstable-2022-10-31"; - - src = fetchFromGitLab { - owner = "usmcamp0811"; - repo = "nvim-julia-autotest"; - rev = "b74e2f9c961e604cb56cc23f87188348bfa0f33f"; - hash = "sha256-IaNsbBe5q7PB9Q/N/Z9nEnP6jlkQ6+xlkC0TCFnJpkk="; - }; - - passthru.updateScript = nix-update-script { - extraArgs = [ "--version=branch" ]; - }; - - meta = { - description = "Automatically run Julia tests when you save runtest.jl file"; - homepage = "https://gitlab.com/usmcamp0811/nvim-julia-autotest"; - license = lib.licenses.gpl3; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index d3a1e41f0d58..047366ed2de2 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -901,6 +901,7 @@ https://github.com/nvim-java/nvim-java-refactor/,HEAD, https://github.com/nvim-java/nvim-java-test/,HEAD, https://codeberg.org/mfussenegger/nvim-jdtls/,, https://github.com/gennaro-tedesco/nvim-jqx/,, +https://gitlab.com/usmcamp0811/nvim-julia-autotest,HEAD, https://github.com/yorickpeterse/nvim-jump/,HEAD, https://github.com/anasinnyk/nvim-k8s-crd/,HEAD, https://github.com/ethanholz/nvim-lastplace/,HEAD, From 18e85dca8b49bbcc55565cb763f7f6b5a82d61d3 Mon Sep 17 00:00:00 2001 From: Perchun Pak Date: Thu, 9 Apr 2026 14:48:14 +0200 Subject: [PATCH 068/113] vimPlugins.rainbow-delimiters-nvim: move back to generated.nix --- .../editors/vim/plugins/generated.nix | 12 +++++++ .../rainbow-delimiters-nvim/default.nix | 33 ------------------- .../editors/vim/plugins/overrides.nix | 9 +++++ .../editors/vim/plugins/vim-plugin-names | 1 + 4 files changed, 22 insertions(+), 33 deletions(-) delete mode 100644 pkgs/applications/editors/vim/plugins/non-generated/rainbow-delimiters-nvim/default.nix diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 8ea24bcace40..48bfe3bb0132 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -13910,6 +13910,18 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + rainbow-delimiters-nvim = buildVimPlugin { + pname = "rainbow-delimiters.nvim"; + version = "0.12.0-unstable-2026-04-06"; + src = fetchgit { + url = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim"; + rev = "aab6caaffd79b8def22ec4320a5344f7c42f58d2"; + hash = "sha256-aQM0Ay5GZZwcTnZ2PV4iucyBmoik98EAeIPIIJSxuYk="; + }; + meta.homepage = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim"; + meta.hydraPlatforms = [ ]; + }; + rainbow_csv = buildVimPlugin { pname = "rainbow_csv"; version = "4.3.0-unstable-2024-07-05"; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/rainbow-delimiters-nvim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/rainbow-delimiters-nvim/default.nix deleted file mode 100644 index 436518afa33c..000000000000 --- a/pkgs/applications/editors/vim/plugins/non-generated/rainbow-delimiters-nvim/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ - lib, - vimUtils, - fetchFromGitLab, - nix-update-script, -}: -vimUtils.buildVimPlugin rec { - pname = "rainbow-delimiters.nvim"; - version = "0.12.0"; - - src = fetchFromGitLab { - owner = "HiPhish"; - repo = "rainbow-delimiters.nvim"; - tag = "v${version}"; - hash = "sha256-q4cBvF8d5h+BM1LTm5aq02OBVmwSUb9rC1smHlxbRzg="; - }; - - nvimSkipModules = [ - # rainbow-delimiters.types.lua - "rainbow-delimiters.types" - # Test that requires an unpackaged dependency - "rainbow-delimiters._test.highlight" - ]; - - passthru.updateScript = nix-update-script { }; - - meta = { - description = "Rainbow delimiters for Neovim with Tree-sitter"; - homepage = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim"; - license = lib.licenses.gpl3; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index a70b5a657271..bb02ee75cad2 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -3179,6 +3179,15 @@ assertNoAdditions { ]; }; + rainbow-delimiters-nvim = super.rainbow-delimiters-nvim.overrideAttrs { + nvimSkipModules = [ + # rainbow-delimiters.types.lua + "rainbow-delimiters.types" + # Test that requires an unpackaged dependency + "rainbow-delimiters._test.highlight" + ]; + }; + range-highlight-nvim = super.range-highlight-nvim.overrideAttrs { dependencies = [ self.cmd-parser-nvim ]; }; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 047366ed2de2..173fa9445e4a 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -1069,6 +1069,7 @@ https://github.com/stefandtw/quickfix-reflector.vim/,, https://github.com/dannyob/quickfixstatus/,, https://github.com/jbyuki/quickmath.nvim/,HEAD, https://github.com/luochen1990/rainbow/,, +https://gitlab.com/HiPhish/rainbow-delimiters.nvim,HEAD, https://github.com/mechatroner/rainbow_csv/,HEAD, https://github.com/kien/rainbow_parentheses.vim/,, https://github.com/vim-scripts/random.vim/,, From 653e37788f360fa76bdbe87e65650a0e60c6db68 Mon Sep 17 00:00:00 2001 From: Perchun Pak Date: Thu, 9 Apr 2026 14:49:02 +0200 Subject: [PATCH 069/113] vimPlugins.sonarlint-nvim: move back to generated.nix --- .../editors/vim/plugins/generated.nix | 12 ++++++++ .../non-generated/sonarlint-nvim/default.nix | 28 ------------------- .../editors/vim/plugins/overrides.nix | 8 ++++++ .../editors/vim/plugins/vim-plugin-names | 1 + 4 files changed, 21 insertions(+), 28 deletions(-) delete mode 100644 pkgs/applications/editors/vim/plugins/non-generated/sonarlint-nvim/default.nix diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 48bfe3bb0132..e76b26804d18 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -14821,6 +14821,18 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + sonarlint-nvim = buildVimPlugin { + pname = "sonarlint.nvim"; + version = "0-unstable-2026-01-19"; + src = fetchgit { + url = "https://gitlab.com/schrieveslaach/sonarlint.nvim"; + rev = "acd09b78969ddc965a7ddf59abb9d9eec5ecd94f"; + hash = "sha256-71emILbp291AZmh9Rc0S92mbkcZ88zjCvPTaumEM7Qg="; + }; + meta.homepage = "https://gitlab.com/schrieveslaach/sonarlint.nvim"; + meta.hydraPlatforms = [ ]; + }; + sonarqube-nvim = buildVimPlugin { pname = "sonarqube.nvim"; version = "0-unstable-2025-06-24"; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/sonarlint-nvim/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/sonarlint-nvim/default.nix deleted file mode 100644 index b38fd053f059..000000000000 --- a/pkgs/applications/editors/vim/plugins/non-generated/sonarlint-nvim/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - lib, - vimUtils, - fetchFromGitLab, - nix-update-script, -}: -vimUtils.buildVimPlugin { - pname = "sonarlint.nvim"; - version = "0-unstable-2026-01-19"; - - src = fetchFromGitLab { - owner = "schrieveslaach"; - repo = "sonarlint.nvim"; - rev = "acd09b78969ddc965a7ddf59abb9d9eec5ecd94f"; - hash = "sha256-71emILbp291AZmh9Rc0S92mbkcZ88zjCvPTaumEM7Qg="; - }; - - passthru.updateScript = nix-update-script { - extraArgs = [ "--version=branch" ]; - }; - - meta = { - homepage = "https://gitlab.com/schrieveslaach/sonarlint.nvim"; - description = "Extensions for the built-in Language Server Protocol support in Neovim for sonarlint-language-server"; - license = lib.licenses.gpl3; - maintainers = [ lib.maintainers.sinics ]; - }; -} diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index bb02ee75cad2..552ef22b39de 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -3387,6 +3387,14 @@ assertNoAdditions { ]; }; + sonarlint-nvim = super.sonarlint-nvim.overrideAttrs (old: { + meta = old.meta // { + maintainers = old.meta.maintainers or [ ] ++ [ + lib.maintainers.sinics + ]; + }; + }); + spaceman-nvim = super.spaceman-nvim.overrideAttrs { # Optional telescope integration nvimSkipModules = "spaceman.adapters.telescope"; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 173fa9445e4a..a2ccfc26801e 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -1139,6 +1139,7 @@ https://github.com/leath-dub/snipe.nvim/,HEAD, https://github.com/norcalli/snippets.nvim/,, https://github.com/craftzdog/solarized-osaka.nvim/,HEAD, https://github.com/shaunsingh/solarized.nvim/,HEAD, +https://gitlab.com/schrieveslaach/sonarlint.nvim,HEAD, https://github.com/iamkarasik/sonarqube.nvim/,HEAD, https://github.com/sainnhe/sonokai/,, https://github.com/sQVe/sort.nvim/,HEAD, From 64b82af6119db9ed74eba32709425bcd6b6d2e51 Mon Sep 17 00:00:00 2001 From: Perchun Pak Date: Thu, 9 Apr 2026 14:51:04 +0200 Subject: [PATCH 070/113] vimPlugins.vim-stationeers-ic10-syntax: move back to generated.nix --- .../editors/vim/plugins/generated.nix | 12 ++++++++ .../vim-stationeers-ic10-syntax/default.nix | 28 ------------------- .../editors/vim/plugins/vim-plugin-names | 1 + 3 files changed, 13 insertions(+), 28 deletions(-) delete mode 100644 pkgs/applications/editors/vim/plugins/non-generated/vim-stationeers-ic10-syntax/default.nix diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index e76b26804d18..efdc02b3c36d 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -21943,6 +21943,18 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + vim-stationeers-ic10-syntax = buildVimPlugin { + pname = "vim-stationeers-ic10-syntax"; + version = "0-unstable-2025-11-02"; + src = fetchgit { + url = "https://gitlab.com/LittleMorph/vim-ic10"; + rev = "74446a16078ef4f3d2088136b32af939fb6bc2a4"; + hash = "sha256-YCxrSB7eRQ54iZhpcsAR930Uccj+2ZyogpYGKbcSlys="; + }; + meta.homepage = "https://gitlab.com/LittleMorph/vim-ic10"; + meta.hydraPlatforms = [ ]; + }; + vim-strip-trailing-whitespace = buildVimPlugin { pname = "vim-strip-trailing-whitespace"; version = "1.0-unstable-2022-02-01"; diff --git a/pkgs/applications/editors/vim/plugins/non-generated/vim-stationeers-ic10-syntax/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/vim-stationeers-ic10-syntax/default.nix deleted file mode 100644 index 8d628bdd7767..000000000000 --- a/pkgs/applications/editors/vim/plugins/non-generated/vim-stationeers-ic10-syntax/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - lib, - vimUtils, - fetchFromGitLab, - nix-update-script, -}: -vimUtils.buildVimPlugin { - pname = "vim-ic10"; - version = "0-unstable-2025-11-02"; - - src = fetchFromGitLab { - owner = "LittleMorph"; - repo = "vim-ic10"; - rev = "74446a16078ef4f3d2088136b32af939fb6bc2a4"; - hash = "sha256-YCxrSB7eRQ54iZhpcsAR930Uccj+2ZyogpYGKbcSlys="; - }; - - passthru.updateScript = nix-update-script { - extraArgs = [ "--version=branch" ]; - }; - - meta = { - description = "Stationeers IC10 syntax highlighting for Vim"; - homepage = "https://gitlab.com/LittleMorph/vim-ic10"; - license = lib.licenses.mit; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index a2ccfc26801e..5f811437506d 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -1686,6 +1686,7 @@ https://github.com/kbenzie/vim-spirv/,, https://github.com/yorokobi/vim-splunk/,HEAD, https://github.com/mhinz/vim-startify/,, https://github.com/dstein64/vim-startuptime/,, +https://gitlab.com/LittleMorph/vim-ic10,HEAD,vim-stationeers-ic10-syntax https://github.com/axelf4/vim-strip-trailing-whitespace/,, https://github.com/nbouscal/vim-stylish-haskell/,, https://github.com/alx741/vim-stylishask/,, From 770e035d7a75bc6ae55e6ad5528dbb6597567538 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 13:22:46 +0000 Subject: [PATCH 071/113] paretosecurity: 0.3.15 -> 0.3.16 --- pkgs/by-name/pa/paretosecurity/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pa/paretosecurity/package.nix b/pkgs/by-name/pa/paretosecurity/package.nix index 2cece2e2e8c0..b0a71805a2cd 100644 --- a/pkgs/by-name/pa/paretosecurity/package.nix +++ b/pkgs/by-name/pa/paretosecurity/package.nix @@ -17,13 +17,13 @@ buildGoModule (finalAttrs: { webkitgtk_4_1 ]; pname = "paretosecurity"; - version = "0.3.15"; + version = "0.3.16"; src = fetchFromGitHub { owner = "ParetoSecurity"; repo = "agent"; rev = finalAttrs.version; - hash = "sha256-2oGDxnbxuyAMWjEUFKzwYz72/FYUbUZHSFoZk2pMfeY="; + hash = "sha256-93+8r7GOdaQ5HnPEvJ0L2DDStHT6HvH1tuDsCSoDU0E="; }; vendorHash = "sha256-jAcUf4VjtKB/Q2wHOVnCgcmPp5XNMqV8Ei9kpWoGO4Q="; From 7b2ea576674d7f07c4bf73c9b3d03c857eee3672 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 13:40:28 +0000 Subject: [PATCH 072/113] cdk8s-cli: 2.205.6 -> 2.206.3 --- pkgs/by-name/cd/cdk8s-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cd/cdk8s-cli/package.nix b/pkgs/by-name/cd/cdk8s-cli/package.nix index 29ac028fc33e..858252ad7350 100644 --- a/pkgs/by-name/cd/cdk8s-cli/package.nix +++ b/pkgs/by-name/cd/cdk8s-cli/package.nix @@ -12,18 +12,18 @@ stdenv.mkDerivation (finalAttrs: { pname = "cdk8s-cli"; - version = "2.205.6"; + version = "2.206.3"; src = fetchFromGitHub { owner = "cdk8s-team"; repo = "cdk8s-cli"; rev = "v${finalAttrs.version}"; - hash = "sha256-ZHorjCZbZ8Lu7DwhAbCC/uKNrg+rYwL75NCjKskh/JM="; + hash = "sha256-ezxwAhSxDSmP4DhT4vF8nuO+TcnWgLk5szJb3RIv1xg="; }; yarnOfflineCache = fetchYarnDeps { inherit (finalAttrs) src; - hash = "sha256-VAy3k99JB2j4MUCwXKyxSl+9OmGC1/xoJBF1/Xvuc54="; + hash = "sha256-fkG7gre4OOpoZf/vQAJU0Lnbl7eDsgZy0H/+4C7aWvI="; }; nativeBuildInputs = [ From 3dfbbb094a2bcac1036a9a27dba5e75f7cb91b79 Mon Sep 17 00:00:00 2001 From: Schahin Rouhanizadeh Date: Thu, 9 Apr 2026 15:44:14 +0200 Subject: [PATCH 073/113] fluxcd: 2.8.3 -> 2.8.5 --- pkgs/by-name/fl/fluxcd/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/fl/fluxcd/package.nix b/pkgs/by-name/fl/fluxcd/package.nix index c8944693d01a..1bcb6d082fd1 100644 --- a/pkgs/by-name/fl/fluxcd/package.nix +++ b/pkgs/by-name/fl/fluxcd/package.nix @@ -9,10 +9,10 @@ }: let - version = "2.8.3"; - srcHash = "sha256-5bs7atecd7NqUrJySMxOe01zGpTMbgrau5B6QkUTRyg="; - vendorHash = "sha256-ICI9Lace4gv2GE/nb9y5yRlvsOkujr2DA2gQ8PnIrIs="; - manifestsHash = "sha256-V1rWHu23K4224eiwUuueG2vk3LsdgtvVGZVQG5vBhLQ="; + version = "2.8.5"; + srcHash = "sha256-2Q6l+egcRntGjieXpXz/frGGw4GMhGXxQAUOAZfxBE4="; + vendorHash = "sha256-D92vOyTvlpOou/1WHS6xpb4e8igZMQhm4DP7SVSLKPI="; + manifestsHash = "sha256-X0Cf8UZufqUWKLxYVjblYNCz5IU/s+mI+h6TpTeks5k="; manifests = fetchzip { url = "https://github.com/fluxcd/flux2/releases/download/v${version}/manifests.tar.gz"; From 49426923b2a32efb48fb86b7917d2703c6852e26 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 9 Apr 2026 16:45:52 +0200 Subject: [PATCH 074/113] python3Packages.rfc3161-client: 1.0.5 -> 1.0.6 Diff: https://github.com/trailofbits/rfc3161-client/compare/v1.0.5...v1.0.6 Changelog: https://github.com/trailofbits/rfc3161-client/releases/tag/v1.0.6 https://github.com/trailofbits/rfc3161-client/security/advisories/GHSA-3xxc-pwj6-jgrj --- pkgs/development/python-modules/rfc3161-client/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/rfc3161-client/default.nix b/pkgs/development/python-modules/rfc3161-client/default.nix index ab9df7c1aadd..3d567f11904d 100644 --- a/pkgs/development/python-modules/rfc3161-client/default.nix +++ b/pkgs/development/python-modules/rfc3161-client/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "rfc3161-client"; - version = "1.0.5"; + version = "1.0.6"; pyproject = true; src = fetchFromGitHub { owner = "trailofbits"; repo = "rfc3161-client"; tag = "v${version}"; - hash = "sha256-EF4d9MnBhWt99vy2MOK+u0aUQ3ZEH/8mYezlWQtGvhU="; + hash = "sha256-8OjohrHqUgsKXRZ28Au6Un6Wlzh81XVSQosoQC2f+Fs="; }; cargoDeps = rustPlatform.fetchCargoVendor { From 5defe9e445f179e8283a08cc84828a078502223f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 9 Apr 2026 16:51:27 +0200 Subject: [PATCH 075/113] python3Packages.rfc3161-client: migrate to finalAttrs --- .../python-modules/rfc3161-client/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/rfc3161-client/default.nix b/pkgs/development/python-modules/rfc3161-client/default.nix index 3d567f11904d..9d8dfdc33826 100644 --- a/pkgs/development/python-modules/rfc3161-client/default.nix +++ b/pkgs/development/python-modules/rfc3161-client/default.nix @@ -9,7 +9,7 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "rfc3161-client"; version = "1.0.6"; pyproject = true; @@ -17,12 +17,12 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "trailofbits"; repo = "rfc3161-client"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-8OjohrHqUgsKXRZ28Au6Un6Wlzh81XVSQosoQC2f+Fs="; }; cargoDeps = rustPlatform.fetchCargoVendor { - inherit src pname; + inherit (finalAttrs) src pname; hash = "sha256-jQsogV+qR0jAkHz/Slg9oBO/f96osU8YcjuaX4ZJQTk="; }; @@ -50,7 +50,7 @@ buildPythonPackage rec { maintainers = with lib.maintainers; [ bot-wxt1221 ]; license = lib.licenses.asl20; platforms = lib.platforms.all; - changelog = "https://github.com/trailofbits/rfc3161-client/releases/tag/v${version}"; + changelog = "https://github.com/trailofbits/rfc3161-client/releases/tag/${finalAttrs.src.tag}"; description = "Opinionated Python RFC3161 Client"; }; -} +}) From fad988762ff1499cea6ebaf6200f74cfbc5bc437 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 15:49:31 +0000 Subject: [PATCH 076/113] terraform-providers.datadog_datadog: 4.3.0 -> 4.4.0 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index ae3e2261828a..5f04875afe05 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -274,13 +274,13 @@ "vendorHash": "sha256-3o6YRDrq4rQhNAFyqiGJrAoxuAykWw85OExRGSE3kGI=" }, "datadog_datadog": { - "hash": "sha256-Is1XgOFmRl1Ieua5ZlBI/4bHal4AhsPhbl95r97bYN4=", + "hash": "sha256-WMggvZAgj36OyelTSE8I/1GRoTivs7q9szUbAFi6XdY=", "homepage": "https://registry.terraform.io/providers/DataDog/datadog", "owner": "DataDog", "repo": "terraform-provider-datadog", - "rev": "v4.3.0", + "rev": "v4.4.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-4A7qf+1RZYWyA5G/qSFhOjDR4GUtGzkh6m81n3Nvads=" + "vendorHash": "sha256-2uj7Ff8g43s2T+zQIbTYFxxuaLpFxPQRo2z/0HNmh9k=" }, "datadrivers_nexus": { "hash": "sha256-yfxlDln4brI8QTFnhVsNOO3vRiqft3YWytvy2GMNBdY=", From 11b51d906dedfb4d420efc3077e2e075a4c1854c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 16:15:56 +0000 Subject: [PATCH 077/113] home-assistant-custom-lovelace-modules.auto-entities: 2.1.0 -> 2.2.0 --- .../custom-lovelace-modules/auto-entities/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/auto-entities/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/auto-entities/package.nix index d113600c562c..708b9c4df730 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/auto-entities/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/auto-entities/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "auto-entities"; - version = "2.1.0"; + version = "2.2.0"; src = fetchFromGitHub { owner = "Lint-Free-Technology"; repo = "lovelace-auto-entities"; tag = "v${version}"; - hash = "sha256-lErNtkRS6xbbpNvqrOu8k8ZZyKcwwzP/6Hlll4CggEQ="; + hash = "sha256-z+WrkLPuyzfYiKqfCmVyj1o7z/WjByr7gYoJblyQS3I="; }; - npmDepsHash = "sha256-diRmXYsbsMP6jC/dBRraRDknloZKA1SNrnoLST8wMfw="; + npmDepsHash = "sha256-09JWRjHhGHQ2NtLgY5x/dH/B+l/Sy4OfbEckHY3ezZI="; installPhase = '' runHook preInstall From ab962bd231869d10e175eec09d69260d65ff27c3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 16:28:51 +0000 Subject: [PATCH 078/113] jumppad: 0.24.0 -> 0.25.1 --- pkgs/by-name/ju/jumppad/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ju/jumppad/package.nix b/pkgs/by-name/ju/jumppad/package.nix index 8154a75ef7ff..30df4c28faf2 100644 --- a/pkgs/by-name/ju/jumppad/package.nix +++ b/pkgs/by-name/ju/jumppad/package.nix @@ -6,15 +6,15 @@ buildGoModule (finalAttrs: { pname = "jumppad"; - version = "0.24.0"; + version = "0.25.1"; src = fetchFromGitHub { owner = "jumppad-labs"; repo = "jumppad"; rev = finalAttrs.version; - hash = "sha256-OH06qQ+gkPv9McHr+YiMRiqTvdvhW9UqcEJK2NZxGQo="; + hash = "sha256-Dqwug09ESljbgANQdmRyQCOswGDxOwhkd7yQiLdEh8M="; }; - vendorHash = "sha256-m2aMRQ/K8etAKgGEcMbOrx2cYxp3ncdLe70Q3zYdj4I="; + vendorHash = "sha256-5eI41EKgi61dVFAvsgxI2Vk1zrxtVinxYKquKlaSOyQ="; subPackages = [ "." ]; From 41788f370c3af4bdc9d31939ee27073388600a82 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 16:30:59 +0000 Subject: [PATCH 079/113] airwindows: 0-unstable-2026-04-01 -> 0-unstable-2026-04-04 --- pkgs/by-name/ai/airwindows/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ai/airwindows/package.nix b/pkgs/by-name/ai/airwindows/package.nix index c589c8e4092f..572f20876adf 100644 --- a/pkgs/by-name/ai/airwindows/package.nix +++ b/pkgs/by-name/ai/airwindows/package.nix @@ -8,13 +8,13 @@ }: stdenv.mkDerivation { pname = "airwindows"; - version = "0-unstable-2026-04-01"; + version = "0-unstable-2026-04-04"; src = fetchFromGitHub { owner = "airwindows"; repo = "airwindows"; - rev = "974a26ea5a96a3cd57c3f8f8d95745bb765a5a72"; - hash = "sha256-Gin8I86TpLVG9SzfErVZobryW3rZQEidwLrUb7sd+rs="; + rev = "714ffb2db6f799067e63bf1f88ae8a89f4ee0d3c"; + hash = "sha256-Ed8U0AC+9ggsPS+fWfm7yBdnygjhHIdUtJlML2J4zKY="; }; # we patch helpers because honestly im spooked out by where those variables From 7d67e1231d91f60d3f505929032380399ae4c40d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 17:06:28 +0000 Subject: [PATCH 080/113] allure: 2.38.1 -> 2.39.0 --- pkgs/by-name/al/allure/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/al/allure/package.nix b/pkgs/by-name/al/allure/package.nix index 49eee83272e9..1f27bd1a8023 100644 --- a/pkgs/by-name/al/allure/package.nix +++ b/pkgs/by-name/al/allure/package.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "allure"; - version = "2.38.1"; + version = "2.39.0"; src = fetchurl { url = "https://github.com/allure-framework/allure2/releases/download/${finalAttrs.version}/allure-${finalAttrs.version}.tgz"; - hash = "sha256-y241mNyZsqiwvYgFeAgqxevq6bLiwKEdx1yFD7aXNr0="; + hash = "sha256-dDg/ZgacwPbsLQ/a0vHXYfExhPbNKJM0sdz8QjdzVmU="; }; dontConfigure = true; From c9632a20d703c22f124e614742f055daea83607b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 9 Apr 2026 20:03:54 +0200 Subject: [PATCH 081/113] python3Packages.weheat: 2026.2.28 -> 2026.4.8 Diff: https://github.com/wefabricate/wh-python/compare/2026.2.28...2026.4.8 Changelog: https://github.com/wefabricate/wh-python/releases/tag/2026.4.8 --- pkgs/development/python-modules/weheat/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/weheat/default.nix b/pkgs/development/python-modules/weheat/default.nix index f4a5fd26782d..778d70faf839 100644 --- a/pkgs/development/python-modules/weheat/default.nix +++ b/pkgs/development/python-modules/weheat/default.nix @@ -13,14 +13,14 @@ buildPythonPackage (finalAttrs: { pname = "weheat"; - version = "2026.2.28"; + version = "2026.4.8"; pyproject = true; src = fetchFromGitHub { owner = "wefabricate"; repo = "wh-python"; tag = finalAttrs.version; - hash = "sha256-V29B30LztIHFbTRTqppR3kvVNwDoK4BPq5fK1blJUrU="; + hash = "sha256-AJaGedI0ctp0TCgfjB9AkM+VH9zqTqosgWq4nskOMSo="; }; build-system = [ setuptools ]; From eac997253b727c01a5a7113569f706b9ba65d138 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 18:04:29 +0000 Subject: [PATCH 082/113] mkbrr: 1.20.0 -> 1.22.0 --- pkgs/by-name/mk/mkbrr/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/mk/mkbrr/package.nix b/pkgs/by-name/mk/mkbrr/package.nix index fdeb094c4b09..cdf3e4c080ad 100644 --- a/pkgs/by-name/mk/mkbrr/package.nix +++ b/pkgs/by-name/mk/mkbrr/package.nix @@ -7,16 +7,16 @@ buildGoModule (finalAttrs: { pname = "mkbrr"; - version = "1.20.0"; + version = "1.22.0"; src = fetchFromGitHub { owner = "autobrr"; repo = "mkbrr"; tag = "v${finalAttrs.version}"; - hash = "sha256-5oyzeinRjR09GEvLMGdCDH+UGYWPu1Qs8dXs/nIlwjs="; + hash = "sha256-M4lulMYb6jomS2sZ4E5nA6rP1KmuGiMjQEyuXqyl2vQ="; }; - vendorHash = "sha256-mbcbACOKMohBw0SH5gH06CTkHtJk3WmbAqpcO0qMFOs="; + vendorHash = "sha256-BNswyeGBhm0CY6D9HcJHTDKIGCJ5QotiwRnr22HltMo="; ldflags = [ "-s" From c40847fe6ea1f04ff86e02ed0a558aba486b73f5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 9 Apr 2026 20:04:36 +0200 Subject: [PATCH 083/113] python3Packages.aiotractive: 1.0.1 -> 1.0.2 Diff: https://github.com/zhulik/aiotractive/compare/v1.0.1...v1.0.2 Changelog: https://github.com/zhulik/aiotractive/releases/tag/v1.0.2 --- pkgs/development/python-modules/aiotractive/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aiotractive/default.nix b/pkgs/development/python-modules/aiotractive/default.nix index b42628aa409c..98d48aa5aa4f 100644 --- a/pkgs/development/python-modules/aiotractive/default.nix +++ b/pkgs/development/python-modules/aiotractive/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "aiotractive"; - version = "1.0.1"; + version = "1.0.2"; pyproject = true; src = fetchFromGitHub { owner = "zhulik"; repo = "aiotractive"; tag = "v${version}"; - hash = "sha256-DP0dFDXaa0PyaERmhL6dNCOpiNs+N7ojMIapcajfMrk="; + hash = "sha256-Tr8USF7GF9CMOcjy62e+oTu4k/1jIAOsZmWTFWEzJvk="; }; build-system = [ setuptools ]; From d4e3f17cfb92c735a5ea572866abd65417f7bd2a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 9 Apr 2026 20:05:25 +0200 Subject: [PATCH 084/113] python3Packages.pyvlx: 0.2.32 -> 0.2.33 Diff: https://github.com/Julius2342/pyvlx/compare/0.2.32...0.2.33 Changelog: https://github.com/Julius2342/pyvlx/releases/tag/0.2.33 --- pkgs/development/python-modules/pyvlx/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyvlx/default.nix b/pkgs/development/python-modules/pyvlx/default.nix index 92d0b6f5b8d6..5d06a71b3519 100644 --- a/pkgs/development/python-modules/pyvlx/default.nix +++ b/pkgs/development/python-modules/pyvlx/default.nix @@ -12,14 +12,14 @@ buildPythonPackage (finalAttrs: { pname = "pyvlx"; - version = "0.2.32"; + version = "0.2.33"; pyproject = true; src = fetchFromGitHub { owner = "Julius2342"; repo = "pyvlx"; tag = finalAttrs.version; - hash = "sha256-ArNWXvYZ/eZWPUvV8z/+6WsAcm5MTnKblMrUFj51JhM="; + hash = "sha256-CdBpXga/OxkNILUPDe8bna0wbwNk7GLzYgZJeScJ948="; }; build-system = [ From 16db4521ceb4298a9b16f37384b3a0dbf13d38f0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 9 Apr 2026 20:08:40 +0200 Subject: [PATCH 085/113] python3Packages.aiotractive: migrate to finalAttrs --- .../python-modules/aiotractive/default.nix | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/aiotractive/default.nix b/pkgs/development/python-modules/aiotractive/default.nix index 98d48aa5aa4f..32169475b486 100644 --- a/pkgs/development/python-modules/aiotractive/default.nix +++ b/pkgs/development/python-modules/aiotractive/default.nix @@ -8,7 +8,7 @@ yarl, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "aiotractive"; version = "1.0.2"; pyproject = true; @@ -16,15 +16,13 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "zhulik"; repo = "aiotractive"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-Tr8USF7GF9CMOcjy62e+oTu4k/1jIAOsZmWTFWEzJvk="; }; build-system = [ setuptools ]; - pythonRelaxDeps = [ - "orjson" - ]; + pythonRelaxDeps = [ "orjson" ]; dependencies = [ aiohttp @@ -40,8 +38,8 @@ buildPythonPackage rec { meta = { description = "Python client for the Tractive REST API"; homepage = "https://github.com/zhulik/aiotractive"; - changelog = "https://github.com/zhulik/aiotractive/releases/tag/${src.tag}"; + changelog = "https://github.com/zhulik/aiotractive/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From cb42e3b24b6da647115b8c0889078b5195b22bf5 Mon Sep 17 00:00:00 2001 From: Birdee <85372418+BirdeeHub@users.noreply.github.com> Date: Thu, 9 Apr 2026 11:07:55 -0700 Subject: [PATCH 086/113] vimPlugins.lze: remove outdated test overrides --- pkgs/development/lua-modules/overrides.nix | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix index 2c4cde548e79..67fc7542c809 100644 --- a/pkgs/development/lua-modules/overrides.nix +++ b/pkgs/development/lua-modules/overrides.nix @@ -836,24 +836,6 @@ in ]; }; - lze = prev.lze.overrideAttrs { - doCheck = lua.luaversion == "5.1"; - nativeCheckInputs = [ - final.nlua - final.bustedCheckHook - writableTmpDirAsHomeHook - ]; - }; - - lzextras = prev.lzextras.overrideAttrs { - doCheck = lua.luaversion == "5.1"; - nativeCheckInputs = [ - final.nlua - lua.pkgs.bustedCheckHook - final.lze - ]; - }; - magick = prev.magick.overrideAttrs (old: { buildInputs = old.buildInputs ++ [ imagemagick From 84ffd528f3ac079f661b9187881e34464f7c064e Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Thu, 9 Apr 2026 13:14:56 -0500 Subject: [PATCH 087/113] cgit: migrate to by-name --- .../cgit/default.nix => by-name/cg/cgit/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{applications/version-management/cgit/default.nix => by-name/cg/cgit/package.nix} (100%) diff --git a/pkgs/applications/version-management/cgit/default.nix b/pkgs/by-name/cg/cgit/package.nix similarity index 100% rename from pkgs/applications/version-management/cgit/default.nix rename to pkgs/by-name/cg/cgit/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a492c9241374..68cd68abf788 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1161,8 +1161,6 @@ with pkgs; bump2version = with python3Packages; toPythonApplication bump2version; - cgit = callPackage ../applications/version-management/cgit { }; - datalad = with python3Packages; toPythonApplication datalad; datalad-gooey = with python3Packages; toPythonApplication datalad-gooey; From ea841c0ffeb2a0556559f68a4ac72b423967de29 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 9 Apr 2026 20:22:14 +0200 Subject: [PATCH 088/113] python3Packages.cyclopts: 4.10.1 -> 4.10.2 Diff: https://github.com/BrianPugh/cyclopts/compare/v4.10.1...v4.10.2 Changelog: https://github.com/BrianPugh/cyclopts/releases/tag/v4.10.2 --- pkgs/development/python-modules/cyclopts/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/cyclopts/default.nix b/pkgs/development/python-modules/cyclopts/default.nix index 5cda15428217..42416fd3cf88 100644 --- a/pkgs/development/python-modules/cyclopts/default.nix +++ b/pkgs/development/python-modules/cyclopts/default.nix @@ -22,14 +22,14 @@ buildPythonPackage (finalAttrs: { pname = "cyclopts"; - version = "4.10.1"; + version = "4.10.2"; pyproject = true; src = fetchFromGitHub { owner = "BrianPugh"; repo = "cyclopts"; tag = "v${finalAttrs.version}"; - hash = "sha256-LgpnpE1Hyx4o2Pi9zXmPLlV7K2wTX5PiNlYD+7333dQ="; + hash = "sha256-vlsjhBfI08QMQ8FzM+BogAXbukHhnr4aD8ZmZVicCv0="; }; build-system = [ From d1403c90a5e5fe6008d8e2d4f3bcd139ed17771a Mon Sep 17 00:00:00 2001 From: Evy Garden Date: Thu, 9 Apr 2026 20:23:08 +0200 Subject: [PATCH 089/113] sdl3-image: 3.4.0 -> 3.4.2 --- pkgs/by-name/sd/sdl3-image/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sd/sdl3-image/package.nix b/pkgs/by-name/sd/sdl3-image/package.nix index 7528527e0ae2..795e5faad0c9 100644 --- a/pkgs/by-name/sd/sdl3-image/package.nix +++ b/pkgs/by-name/sd/sdl3-image/package.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "sdl3-image"; - version = "3.4.0"; + version = "3.4.2"; outputs = [ "lib" @@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "libsdl-org"; repo = "SDL_image"; tag = "release-${finalAttrs.version}"; - hash = "sha256-XRPHDcJ49sZa7y8TCWfS2gPOhpGyUnMMXVqvjV9f8E0="; + hash = "sha256-LNEbXhUDB6OKk3HxwV+jANnskS82ewhQe8pDy+P6L40="; }; strictDeps = true; From 10e5c485e489c68a748388842446cbac0e60ad7e Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Wed, 18 Mar 2026 19:43:36 +0100 Subject: [PATCH 090/113] hardware.amdgpu.zluda.enable: init --- nixos/modules/services/hardware/amdgpu.nix | 53 +++++++++++++--------- 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/nixos/modules/services/hardware/amdgpu.nix b/nixos/modules/services/hardware/amdgpu.nix index 5c98a0db50ad..1b4c2f449be9 100644 --- a/nixos/modules/services/hardware/amdgpu.nix +++ b/nixos/modules/services/hardware/amdgpu.nix @@ -40,30 +40,41 @@ in }; opencl.enable = lib.mkEnableOption "OpenCL support using ROCM runtime library"; + zluda.enable = lib.mkEnableOption "CUDA support using ZLUDA runtime library"; + zluda.package = lib.mkPackageOption pkgs "zluda" { }; }; - config = { - boot.kernelParams = - lib.optionals cfg.legacySupport.enable [ - "amdgpu.si_support=1" - "amdgpu.cik_support=1" - "radeon.si_support=0" - "radeon.cik_support=0" - ] - ++ lib.optionals cfg.overdrive.enable [ - "amdgpu.ppfeaturemask=${cfg.overdrive.ppfeaturemask}" - ]; + config = lib.mkMerge [ + { + boot.kernelParams = + lib.optionals cfg.legacySupport.enable [ + "amdgpu.si_support=1" + "amdgpu.cik_support=1" + "radeon.si_support=0" + "radeon.cik_support=0" + ] + ++ lib.optionals cfg.overdrive.enable [ + "amdgpu.ppfeaturemask=${cfg.overdrive.ppfeaturemask}" + ]; - boot.initrd.kernelModules = lib.optionals cfg.initrd.enable [ "amdgpu" ]; - - hardware.graphics = lib.mkIf cfg.opencl.enable { - enable = lib.mkDefault true; - extraPackages = [ - pkgs.rocmPackages.clr - pkgs.rocmPackages.clr.icd - ]; - }; - }; + boot.initrd.kernelModules = lib.optionals cfg.initrd.enable [ "amdgpu" ]; + } + (lib.mkIf cfg.opencl.enable { + hardware.graphics = { + enable = lib.mkDefault true; + extraPackages = [ + pkgs.rocmPackages.clr + pkgs.rocmPackages.clr.icd + ]; + }; + }) + (lib.mkIf cfg.zluda.enable { + hardware.graphics = { + enable = lib.mkDefault true; + extraPackages = [ cfg.zluda.package ]; + }; + }) + ]; meta = { maintainers = with lib.maintainers; [ johnrtitor ]; From a8a1365dd293322ae60e6f6c7935d4db09ae6d09 Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Wed, 18 Mar 2026 19:44:31 +0100 Subject: [PATCH 091/113] programs.nix-required-mounts.presets.zluda.enable: init --- .../modules/programs/nix-required-mounts.nix | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/nixos/modules/programs/nix-required-mounts.nix b/nixos/modules/programs/nix-required-mounts.nix index f3e7a75646d0..d4de973c0401 100644 --- a/nixos/modules/programs/nix-required-mounts.nix +++ b/nixos/modules/programs/nix-required-mounts.nix @@ -67,6 +67,23 @@ let # TODO: Refactor `hardware.graphics` to ease referencing the closure # NOTE: A naive implementation may e.g. introduce a conditional infinite recursion (https://github.com/NixOS/nixpkgs/pull/488199) nvidia-gpu.unsafeFollowSymlinks = true; + + zluda = { + onFeatures = [ + "cuda" + ]; + paths = [ + pkgs.addDriverRunpath.driverLink + "/dev/dri" + "/dev/kfd" + "/sys/devices/virtual/kfd" + # As per https://www.kernel.org/doc/Documentation/admin-guide/devices.txt + # 226 is the major ID for "Direct Rendering Infrastructure (DRI)" devices + "/sys/dev/char/226:*" + ] + ++ config.hardware.graphics.extraPackages; + unsafeFollowSymlinks = true; + }; }; in { @@ -82,6 +99,16 @@ in You may extend or override the exposed paths via the `programs.nix-required-mounts.allowedPatterns.nvidia-gpu.paths` option. ''; + + presets.zluda.enable = lib.mkEnableOption '' + Same as `programs.nix-required-mounts.presets.nvidia-gpu` but adds paths + to the sandbox that are needed for running CUDA applications on top of + the ZLUDA translation layer combined with AMD GPUs. + + You may extend or override the exposed paths via the + `programs.nix-required-mounts.allowedPatterns.zluda.paths` option. + ''; + allowedPatterns = with lib.types; lib.mkOption { @@ -122,6 +149,14 @@ in inherit (defaults) nvidia-gpu; }; }) + (lib.mkIf cfg.presets.zluda.enable { + hardware.graphics.enable = lib.mkDefault true; + hardware.amdgpu.zluda.enable = lib.mkDefault true; + nix.settings.system-features = cfg.allowedPatterns.zluda.onFeatures; + programs.nix-required-mounts.allowedPatterns = { + inherit (defaults) zluda; + }; + }) ] ); } From 32b0364cbedbb906de873cb1e53c888826c0383b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 19:46:26 +0000 Subject: [PATCH 092/113] skopeo: 1.22.0 -> 1.22.1 --- pkgs/by-name/sk/skopeo/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sk/skopeo/package.nix b/pkgs/by-name/sk/skopeo/package.nix index c8c556f2fa9b..44214cf15087 100644 --- a/pkgs/by-name/sk/skopeo/package.nix +++ b/pkgs/by-name/sk/skopeo/package.nix @@ -19,13 +19,13 @@ buildGoModule rec { pname = "skopeo"; - version = "1.22.0"; + version = "1.22.1"; src = fetchFromGitHub { rev = "v${version}"; owner = "containers"; repo = "skopeo"; - hash = "sha256-ERMOquT8ke/4urC6V0To+jJPeBICohHXL9YcCmGLST4="; + hash = "sha256-MS91KzOxcVhmH420zdUcSUw0UggRt3hQ6c3A3QSAYkA="; }; outputs = [ From c8bf0dcfac96e7053b90359b4c28a097745ae0d0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 20:06:16 +0000 Subject: [PATCH 093/113] pomerium-cli: 0.32.0 -> 0.32.2 --- pkgs/by-name/po/pomerium-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/po/pomerium-cli/package.nix b/pkgs/by-name/po/pomerium-cli/package.nix index 64261bc15356..0f1409717ad0 100644 --- a/pkgs/by-name/po/pomerium-cli/package.nix +++ b/pkgs/by-name/po/pomerium-cli/package.nix @@ -14,16 +14,16 @@ let in buildGoModule (finalAttrs: { pname = "pomerium-cli"; - version = "0.32.0"; + version = "0.32.2"; src = fetchFromGitHub { owner = "pomerium"; repo = "cli"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-dxN3pVDt6v/xEnBwvmOFf8gf6YZWv23a4K6mTRovv+k="; + sha256 = "sha256-t2Sp4zAIybUsxaBdQ9ev+EJsFpWqM8KWaE2UOI4xw5A="; }; - vendorHash = "sha256-pDoV7CzQFiAi6OAqqW8b6/Sl9PSQou9pU2c5nU7Rt0A="; + vendorHash = "sha256-LzXcHGRBn99WhDsxLQKY3t8Zp4sw9Ec5CbA/rU/3SQ0="; subPackages = [ "cmd/pomerium-cli" From aab7dd7a6853fddec9d9e3bc13f099df30343063 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Thu, 9 Apr 2026 11:42:10 -0700 Subject: [PATCH 094/113] python3Packages.langgraph-cli: 0.4.19 -> 0.4.21 --- .../python-modules/langgraph-cli/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/langgraph-cli/default.nix b/pkgs/development/python-modules/langgraph-cli/default.nix index cf4af2833d67..d34e924c73bc 100644 --- a/pkgs/development/python-modules/langgraph-cli/default.nix +++ b/pkgs/development/python-modules/langgraph-cli/default.nix @@ -8,9 +8,11 @@ # dependencies click, - langgraph, + httpx, langgraph-runtime-inmem, langgraph-sdk, + langgraph, + pathspec, python-dotenv, # testing @@ -24,14 +26,14 @@ buildPythonPackage (finalAttrs: { pname = "langgraph-cli"; - version = "0.4.19"; + version = "0.4.21"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langgraph"; tag = "cli==${finalAttrs.version}"; - hash = "sha256-a92xh9BOA3gxJ3TLRQc49G611+LnCukhT3kgf6ian6c="; + hash = "sha256-PwVJzg+LQ6gScd/lewBqN66rzADnucMeIA/4gmP4xPw="; }; sourceRoot = "${finalAttrs.src.name}/libs/cli"; @@ -40,7 +42,10 @@ buildPythonPackage (finalAttrs: { dependencies = [ click + httpx langgraph-sdk + pathspec + python-dotenv ]; optional-dependencies = { From c0e00ffeae8ab6304d453be41a756870ca3b56ca Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 20:40:16 +0000 Subject: [PATCH 095/113] python3Packages.qpageview: 1.0.3 -> 1.0.4 --- pkgs/development/python-modules/qpageview/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/qpageview/default.nix b/pkgs/development/python-modules/qpageview/default.nix index 238c489ca28d..ebe6aef0af6c 100644 --- a/pkgs/development/python-modules/qpageview/default.nix +++ b/pkgs/development/python-modules/qpageview/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "qpageview"; - version = "1.0.3"; + version = "1.0.4"; pyproject = true; src = fetchFromGitHub { owner = "frescobaldi"; repo = "qpageview"; tag = "v${version}"; - hash = "sha256-cKidVtsqNXGuWNTTgvVOP3Wyf6M+Xctwaq7pOZb8eeo="; + hash = "sha256-PqoYxSYOsR/tsV3NZmxCtK1fKQuo8WUJZVBSNRjVNLw="; }; build-system = [ hatchling ]; From 5da35a230a356e9d19151495805cc031400b094e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 8 Jan 2026 10:43:29 +0100 Subject: [PATCH 096/113] python313Packages.hibpwned: init at 1.3.9 Python API wrapper for haveibeenpwned.com https://github.com/plasticuproject/hibpwned --- .../python-modules/hibpwned/default.nix | 37 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 39 insertions(+) create mode 100644 pkgs/development/python-modules/hibpwned/default.nix diff --git a/pkgs/development/python-modules/hibpwned/default.nix b/pkgs/development/python-modules/hibpwned/default.nix new file mode 100644 index 000000000000..19b8ed98dac4 --- /dev/null +++ b/pkgs/development/python-modules/hibpwned/default.nix @@ -0,0 +1,37 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + requests, + setuptools, +}: + +buildPythonPackage (finalAttrs: { + pname = "hibpwned"; + version = "1.3.9"; + pyproject = true; + + src = fetchFromGitHub { + owner = "plasticuproject"; + repo = "hibpwned"; + tag = finalAttrs.version; + hash = "sha256-d3EhRu7HcvbyjWWHVSax0j39yE4+hJp8zvtyRKoh4sY="; + }; + + build-system = [ setuptools ]; + + dependencies = [ requests ]; + + # Test require network access + doCheck = false; + + pythonImportsCheck = [ "hibpwned" ]; + + meta = { + description = "Python API wrapper for haveibeenpwned.com"; + homepage = "https://github.com/plasticuproject/hibpwned"; + changelog = "https://github.com/plasticuproject/hibpwned/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.agpl3Only; + maintainers = with lib.maintainers; [ fab ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8350b4d38e44..7faf4851bcf9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7014,6 +7014,8 @@ self: super: with self; { hg-git = callPackage ../development/python-modules/hg-git { }; + hibpwned = callPackage ../development/python-modules/hibpwned { }; + hickle = callPackage ../development/python-modules/hickle { }; hid = callPackage ../development/python-modules/hid { inherit (pkgs) hidapi; }; From 395de7e93d48f890db8af8d32adeb2c2a8e7d2e2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 8 Jan 2026 15:08:39 +0100 Subject: [PATCH 097/113] python313Packages.ignorant: init at 1.2 Module to check if a phone number is use https://github.com/megadose/ignorant --- .../python-modules/ignorant/default.nix | 51 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 53 insertions(+) create mode 100644 pkgs/development/python-modules/ignorant/default.nix diff --git a/pkgs/development/python-modules/ignorant/default.nix b/pkgs/development/python-modules/ignorant/default.nix new file mode 100644 index 000000000000..3a88e6d30826 --- /dev/null +++ b/pkgs/development/python-modules/ignorant/default.nix @@ -0,0 +1,51 @@ +{ + lib, + beautifulsoup4, + buildPythonPackage, + fetchPypi, + httpx, + setuptools, + termcolor, + tqdm, + trio, +}: + +buildPythonPackage rec { + pname = "ignorant"; + version = "1.2"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-SLjED08uI+RjX+E0WHTQceReTEaY9WLPhXR3n0fP080="; + }; + + pythonRemoveDeps = [ + # https://github.com/megadose/ignorant/pull/37 + "argparse" + # https://github.com/megadose/ignorant/pull/36 + "bs4" + ]; + + build-system = [ setuptools ]; + + dependencies = [ + beautifulsoup4 + httpx + termcolor + tqdm + trio + ]; + + # Module has no tests + doCheck = false; + + pythonImportsCheck = [ "ignorant" ]; + + meta = { + description = "Module to check if a phone number is used on different sites"; + homepage = "https://pypi.org/project/ignorant/"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8350b4d38e44..b277bf7f7814 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7390,6 +7390,8 @@ self: super: with self; { ignite = callPackage ../development/python-modules/ignite { }; + ignorant = callPackage ../development/python-modules/ignorant { }; + igraph = callPackage ../development/python-modules/igraph { inherit (pkgs) igraph; }; ihcsdk = callPackage ../development/python-modules/ihcsdk { }; From 99b6678490a0b9a7a3373cd2725052dc8e4371fe Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 10 Jan 2026 02:52:28 +0100 Subject: [PATCH 098/113] python313Packages.pydig: init at 0.4.0 Python wrapper library for the 'dig' command line tool https://github.com/leonsmith/pydig --- .../python-modules/pydig/default.nix | 46 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/python-modules/pydig/default.nix diff --git a/pkgs/development/python-modules/pydig/default.nix b/pkgs/development/python-modules/pydig/default.nix new file mode 100644 index 000000000000..8cfea5037b59 --- /dev/null +++ b/pkgs/development/python-modules/pydig/default.nix @@ -0,0 +1,46 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + fetchpatch, + pkgs, + poetry-core, + pytestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "pydig"; + version = "0.4.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "leonsmith"; + repo = "pydig"; + tag = "v${finalAttrs.version}"; + hash = "sha256-bNGqIEGPcd/TSTSDs2nGxBh60QI7sXRX9A0NVYflqPc="; + }; + + patches = [ + # Switch to poetry-core, https://github.com/leonsmith/pydig/pull/21 + (fetchpatch { + name = "switch-to-poetry-core.patch"; + url = "https://github.com/leonsmith/pydig/commit/6e8ad99494b16084974c799db9afa020f1741886.patch"; + hash = "sha256-KhVQICsR93n+EuCcGhj81lChB/gBSQWncg1PYyo0dlc="; + }) + ]; + + build-system = [ poetry-core ]; + + dependencies = [ pkgs.dig ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "pydig" ]; + + meta = { + description = "Python wrapper library for the 'dig' command line tool"; + homepage = "https://github.com/leonsmith/pydig"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ fab ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8350b4d38e44..03769eb63803 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13592,6 +13592,8 @@ self: super: with self; { pydiffx = callPackage ../development/python-modules/pydiffx { }; + pydig = callPackage ../development/python-modules/pydig { }; + pydigiham = callPackage ../development/python-modules/pydigiham { }; pydiscourse = callPackage ../development/python-modules/pydiscourse { }; From 5bfa8ae5a76791d4c8a23c3b2b88769c59176566 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 10 Jan 2026 03:04:18 +0100 Subject: [PATCH 099/113] python313Packages.requests-random-user-agent: init at 2025.01.19 Configures the requests library to randomly select a desktop User-Agent https://github.com/DavidWittman/requests-random-user-agent --- .../requests-random-user-agent/default.nix | 45 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 4 ++ 2 files changed, 49 insertions(+) create mode 100644 pkgs/development/python-modules/requests-random-user-agent/default.nix diff --git a/pkgs/development/python-modules/requests-random-user-agent/default.nix b/pkgs/development/python-modules/requests-random-user-agent/default.nix new file mode 100644 index 000000000000..5f7ed47ddc93 --- /dev/null +++ b/pkgs/development/python-modules/requests-random-user-agent/default.nix @@ -0,0 +1,45 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + requests, + pytestCheckHook, + pytest-httpbin, +}: + +buildPythonPackage (finalAttrs: { + pname = "requests-random-user-agent"; + version = "2025.01.19"; + pyproject = true; + + src = fetchFromGitHub { + owner = "DavidWittman"; + repo = "requests-random-user-agent"; + tag = finalAttrs.version; + hash = "sha256-El/aibqEyx5diVTOe/4PEFB7KRfKqUJGPar6j6hZyIc="; + }; + + build-system = [ setuptools ]; + + dependencies = [ requests ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "requests_random_user_agent" ]; + + disabledTests = [ + # Tests require network access + "test_request" + "test_request_different_without_session" + "test_request_without_session" + ]; + + meta = { + description = "Configures the requests library to randomly select a desktop User-Agent"; + homepage = "https://github.com/DavidWittman/requests-random-user-agent"; + changelog = "https://github.com/DavidWittman/requests-random-user-agent/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8350b4d38e44..a3bb8e648149 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16764,6 +16764,10 @@ self: super: with self; { requests-pkcs12 = callPackage ../development/python-modules/requests-pkcs12 { }; + requests-random-user-agent = + callPackage ../development/python-modules/requests-random-user-agent + { }; + requests-ratelimiter = callPackage ../development/python-modules/requests-ratelimiter { }; requests-toolbelt = callPackage ../development/python-modules/requests-toolbelt { }; From 40a0cb178ebf75e600a96699cc2af14fed842227 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 21:15:29 +0000 Subject: [PATCH 100/113] lockbook-desktop: 26.3.22 -> 26.4.9 --- pkgs/by-name/lo/lockbook-desktop/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/lo/lockbook-desktop/package.nix b/pkgs/by-name/lo/lockbook-desktop/package.nix index 44ea5a056650..268e83f9e710 100644 --- a/pkgs/by-name/lo/lockbook-desktop/package.nix +++ b/pkgs/by-name/lo/lockbook-desktop/package.nix @@ -18,16 +18,16 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "lockbook-desktop"; - version = "26.3.22"; + version = "26.4.9"; src = fetchFromGitHub { owner = "lockbook"; repo = "lockbook"; tag = finalAttrs.version; - hash = "sha256-Mroh2xSLe5dlKNXxTPyP9RzLtwcEf2JXZnE1tN4t1fE="; + hash = "sha256-MQobOqixxWDuHMLVk7pfIquLSA3rZNYn4MaENAoIsuM="; }; - cargoHash = "sha256-hPQlDG2eFmiPXkCyjk10fpVDAbq3R8mQs7bOHbCBhwg="; + cargoHash = "sha256-sLfZ8c2cbXT2NXcopqKJaX1SMlsi3Zy9V+VDi6zarxs="; nativeBuildInputs = [ pkg-config From 6413987880e16da45934fe75d2e418e23010640e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 21:17:41 +0000 Subject: [PATCH 101/113] open-scq30: 2.5.1 -> 2.6.2 --- pkgs/by-name/op/open-scq30/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/op/open-scq30/package.nix b/pkgs/by-name/op/open-scq30/package.nix index c7534d1914a1..f420e38703e0 100644 --- a/pkgs/by-name/op/open-scq30/package.nix +++ b/pkgs/by-name/op/open-scq30/package.nix @@ -26,13 +26,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "open-scq30"; - version = "2.5.1"; + version = "2.6.2"; src = fetchFromGitHub { owner = "Oppzippy"; repo = "OpenSCQ30"; rev = "v${finalAttrs.version}"; - hash = "sha256-XBK7KxuksQoYZs/uVkh6+8S20G05W9ftK9pviUFNJ8s="; + hash = "sha256-4K/3kulUbUa21YbWh1nYXeeHAIVD/FX8VtWArpij0JQ="; }; nativeBuildInputs = [ @@ -65,7 +65,7 @@ rustPlatform.buildRustPackage (finalAttrs: { libxi ]; - cargoHash = "sha256-P4r1MoFCkG80X0dJ1MpmjgedcpQ/HDTC3XikNUDKRaQ="; + cargoHash = "sha256-1Ccbi/21jTyTPt9WqhnwpBFuD0f90PabwyVRwZI1l0k="; env.INSTALL_PREFIX = placeholder "out"; From e805baacb77baa58d7e11a65907544b2d800143b Mon Sep 17 00:00:00 2001 From: Alex Tunstall Date: Wed, 12 Nov 2025 01:14:09 +0000 Subject: [PATCH 102/113] haskell.{compiler,packages}.microhs: init The package set is built entirely from source using the stdenv and Hugs. This also replaces the recently added microhs package, which was built from pre-generated compiler output. Co-authored-by: sternenseemann --- doc/release-notes/rl-2605.section.md | 2 + maintainers/maintainer-list.nix | 14 + pkgs/by-name/mi/microhs/package.nix | 46 -- .../compilers/microhs/0.15.4.0.nix | 4 + pkgs/development/compilers/microhs/boot.nix | 40 ++ pkgs/development/compilers/microhs/common.nix | 94 ++++ pkgs/development/compilers/microhs/cpphs.nix | 50 +++ .../microhs/patches/hugs-viewpatterns.patch | 406 +++++++++++++++++ .../compilers/microhs/patches/hugs.patch | 365 +++++++++++++++ .../compilers/microhs/patches/link-math.patch | 21 + .../microhs/patches/simple-unicode.patch | 35 ++ pkgs/development/compilers/microhs/stage1.nix | 36 ++ pkgs/development/compilers/microhs/stage2.nix | 61 +++ .../compilers}/microhs/test-hello-world.nix | 0 .../development/compilers/microhs/wrapper.nix | 52 +++ .../haskell-modules/configuration-microhs.nix | 78 ++++ .../haskell-modules/make-package-set.nix | 104 +++-- .../haskell-modules/microhs-builder.nix | 420 ++++++++++++++++++ ...f1b5dec81561a1b1d36b8e3065ce091dce2ec6.nix | 7 + .../tools/haskell/microcabal/common.nix | 69 +++ pkgs/top-level/haskell-packages.nix | 25 +- 21 files changed, 1836 insertions(+), 93 deletions(-) delete mode 100644 pkgs/by-name/mi/microhs/package.nix create mode 100644 pkgs/development/compilers/microhs/0.15.4.0.nix create mode 100644 pkgs/development/compilers/microhs/boot.nix create mode 100644 pkgs/development/compilers/microhs/common.nix create mode 100644 pkgs/development/compilers/microhs/cpphs.nix create mode 100644 pkgs/development/compilers/microhs/patches/hugs-viewpatterns.patch create mode 100644 pkgs/development/compilers/microhs/patches/hugs.patch create mode 100644 pkgs/development/compilers/microhs/patches/link-math.patch create mode 100644 pkgs/development/compilers/microhs/patches/simple-unicode.patch create mode 100644 pkgs/development/compilers/microhs/stage1.nix create mode 100644 pkgs/development/compilers/microhs/stage2.nix rename pkgs/{by-name/mi => development/compilers}/microhs/test-hello-world.nix (100%) create mode 100644 pkgs/development/compilers/microhs/wrapper.nix create mode 100644 pkgs/development/haskell-modules/configuration-microhs.nix create mode 100644 pkgs/development/haskell-modules/microhs-builder.nix create mode 100644 pkgs/development/tools/haskell/microcabal/0.5.3.0-31f1b5dec81561a1b1d36b8e3065ce091dce2ec6.nix create mode 100644 pkgs/development/tools/haskell/microcabal/common.nix diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md index 2e5d9f73d444..f19364281c28 100644 --- a/doc/release-notes/rl-2605.section.md +++ b/doc/release-notes/rl-2605.section.md @@ -284,6 +284,8 @@ - the `autossh-ng` NixOS module was introduced as a simpler alternative to the existing `autossh` module. +- Added `haskell.packages.microhs`, a set of Haskell packages built with MicroHs. + - `gnuradio`: Overriding the `.pkgs` package set is now possible with a `packageOverrides` function, like with `python.pkgs` and other language-specific package sets. Example: diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 115c78f08cf3..44c2aabf8e95 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1192,6 +1192,20 @@ githubId = 49609151; name = "Popa Ioan Alexandru"; }; + AlexandreTunstall = { + name = "Alex Tunstall"; + email = "alex@tunstall.xyz"; + matrix = "@alex:tunstall.xyz"; + github = "AlexandreTunstall"; + githubId = 32900877; + keys = [ + { + # Fetch with WKD (e.g. gpg --locate-external-keys alex@tunstall.xyz) + # The fetched key should have this fingerprint (please let me know if not) + fingerprint = "51A5 8478 068E B19D FD35 D542 F6CA 1AD5 54DC A5E4"; + } + ]; + }; alexandru0-dev = { email = "alexandru.italia32+nixpkgs@gmail.com"; github = "alexandru0-dev"; diff --git a/pkgs/by-name/mi/microhs/package.nix b/pkgs/by-name/mi/microhs/package.nix deleted file mode 100644 index 847f3c766f66..000000000000 --- a/pkgs/by-name/mi/microhs/package.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ - callPackage, - stdenv, - fetchFromGitHub, - lib, - writableTmpDirAsHomeHook, - nix-update-script, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "microhs"; - version = "0.15.4.0"; - - src = fetchFromGitHub { - owner = "augustss"; - repo = "MicroHs"; - tag = "v${finalAttrs.version}"; - hash = "sha256-V3Of72rpXvImV90sSoYz02H06o1J3FqHDQNbB+M6/8A="; - }; - - # mcabal doesn't seem to respect the make flag and fails with /homeless-shelter - # This works around the issue - nativeBuildInputs = [ writableTmpDirAsHomeHook ]; - - makeFlags = [ "MCABAL=$(out)" ]; - buildFlags = [ "bootstrap" ]; - - # MicroCabal is a separate repository, which should be packaged separately - # The MicroCabal that is installed by `make install` is pregenerated, does not respect MCABAL above, and so is not useable - postInstall = "rm $out/bin/mcabal"; - - passthru = { - updateScript = nix-update-script { }; - tests = { - hello-world = callPackage ./test-hello-world.nix { microhs = finalAttrs.finalPackage; }; - }; - }; - - meta = { - description = "Haskell implemented with combinators"; - homepage = "https://github.com/augustss/MicroHs"; - license = lib.licenses.asl20; - maintainers = [ lib.maintainers.steeleduncan ]; - platforms = lib.platforms.all; - }; -}) diff --git a/pkgs/development/compilers/microhs/0.15.4.0.nix b/pkgs/development/compilers/microhs/0.15.4.0.nix new file mode 100644 index 000000000000..b0f454e723a0 --- /dev/null +++ b/pkgs/development/compilers/microhs/0.15.4.0.nix @@ -0,0 +1,4 @@ +import ./common.nix { + version = "0.15.4.0"; + hash = "sha256-FUr2EA3zbmt2Tr2F8zT1wHnB8GDlUVb2W1fP4IqNd80="; +} diff --git a/pkgs/development/compilers/microhs/boot.nix b/pkgs/development/compilers/microhs/boot.nix new file mode 100644 index 000000000000..b55587a8438f --- /dev/null +++ b/pkgs/development/compilers/microhs/boot.nix @@ -0,0 +1,40 @@ +{ + stdenvNoCC, + hugs, + makeWrapper, + microhs-src, +}: + +stdenvNoCC.mkDerivation { + pname = "microhs"; + version = "${microhs-src.version}-hugs"; + + inherit (microhs-src) + src + patches + postPatch + meta + ; + + nativeBuildInputs = [ makeWrapper ]; + + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p "$out/bin" "$out/share/microhs-hugs" + s="$out/share/microhs-hugs/src" + cp -r . "$s" + + makeWrapper ${hugs}/bin/runhugs "$out/bin/mhs" \ + --add-flags "'+P$s/hugs:$s/src:$s/paths:{Hugs}/packages/*:hugs/obj' -98 +o +w -h100m '$s/hugs/Main.hs'" + + runHook postInstall + ''; + + passthru = { + isMhs = true; + usesHugs = true; + }; +} diff --git a/pkgs/development/compilers/microhs/common.nix b/pkgs/development/compilers/microhs/common.nix new file mode 100644 index 000000000000..36d65abb2b69 --- /dev/null +++ b/pkgs/development/compilers/microhs/common.nix @@ -0,0 +1,94 @@ +{ + version, + mcabalVersion ? "0.5.3.0-31f1b5dec81561a1b1d36b8e3065ce091dce2ec6", + rev ? "refs/tags/v${version}", + hash, +}: + +{ + lib, + buildPackages, + pkgsBuildBuild, + callPackage, + fetchFromGitHub, + fetchpatch, + microhs-boot, + stdenv, + versionCheckHook, + writeShellScript, +}: + +let + args = finalAttrs: { + inherit version; + + src = fetchFromGitHub { + owner = "augustss"; + repo = "MicroHs"; + fetchSubmodules = true; + inherit rev hash; + }; + + patches = [ + patches/hugs.patch + patches/hugs-viewpatterns.patch + ] + ++ lib.optional stdenv.hostPlatform.isGnu patches/link-math.patch; + + # The source contains pre-compiled files + # We delete them to be certain we are building from source + postPatch = '' + rm -r generated + ''; + + doInstallCheck = true; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + + meta = { + description = "Small compiler for Haskell"; + longDescription = '' + A compiler for an extended subset of Haskell 2010. + The compiler translates to combinators and can compile itself. + ''; + homepage = "https://github.com/augustss/MicroHs"; + license = lib.licensesSpdx."Apache-2.0"; + mainProgram = "mhs"; + maintainers = with lib.maintainers; [ + AlexandreTunstall + steeleduncan + ]; + platforms = lib.platforms.all; + }; + }; + + microhs-stage1-build = pkgsBuildBuild.callPackage ./stage1.nix { + inherit args microhs-boot; + }; + + microhs-stage1 = buildPackages.callPackage ./stage1.nix { + inherit args microhs-boot; + }; + + microhs-stage2 = callPackage ./stage2.nix { + inherit + args + microcabal-stage1 + microhs-stage1 + cpphs + ; + }; + + microcabal-stage1 = buildPackages.callPackage ../../tools/haskell/microcabal/${mcabalVersion}.nix { + microhs = microhs-stage1-build; + }; + + cpphs = buildPackages.callPackage ./cpphs.nix { + inherit args; + microhs = microhs-stage2; + }; + +in +microhs-stage2 diff --git a/pkgs/development/compilers/microhs/cpphs.nix b/pkgs/development/compilers/microhs/cpphs.nix new file mode 100644 index 000000000000..7b288ebe4120 --- /dev/null +++ b/pkgs/development/compilers/microhs/cpphs.nix @@ -0,0 +1,50 @@ +{ + args, + hugs, + microhs, + stdenv, +}: + +stdenv.mkDerivation ( + finalAttrs: + let + args' = args finalAttrs; + in + args' + // { + pname = "microhs-cpphs"; + + nativeBuildInputs = [ hugs ]; + + makeFlags = [ "USECPPHS=$(TMP)/cpphs-boot" ]; + buildFlags = [ + "bootstrapcpphs" + "bin/cpphs" + ]; + + # Generate cpphs-boot and populate paths that the target uses + # We can't use cpphs-hugs directly because it's too primitive + preBuild = '' + mkdir -p $TMP/cpphs-hugs/src + cp -r hugs/* cpphscompat/* cpphssrc/malcolm-wallace-universe/{polyparse-*/src,cpphs-*}/* $TMP/cpphs-hugs/src/ + find $TMP/cpphs-hugs/src -type f -name '*.hs' -exec ${hugs}/bin/cpphs-hugs --noline '{}' '-O{}.tmp' \; + find $TMP/cpphs-hugs/src -type f -name '*.hs' -exec mv '{}.tmp' '{}' \; + sed -i -e '/fail *= *Fail\.fail/d' $TMP/cpphs-hugs/src/Text/ParserCombinators/Poly/Parser.hs + + ${microhs}/bin/mhs -l -i$TMP/cpphs-hugs/src $TMP/cpphs-hugs/src/cpphs.hs -o$TMP/cpphs-boot + + mkdir -p bin generated + touch cpphssrc/malcolm-wallace-universe/.git targets.conf + cp ${microhs}/bin/mhs bin/mhs + ''; + + installPhase = '' + runHook preInstall + install -m755 -d $out/bin + install -m755 bin/cpphs $out/bin/cpphs + runHook postInstall + ''; + + doInstallCheck = false; + } +) diff --git a/pkgs/development/compilers/microhs/patches/hugs-viewpatterns.patch b/pkgs/development/compilers/microhs/patches/hugs-viewpatterns.patch new file mode 100644 index 000000000000..5fc8c08d2b72 --- /dev/null +++ b/pkgs/development/compilers/microhs/patches/hugs-viewpatterns.patch @@ -0,0 +1,406 @@ +If you need to update this patch, apply it to the old version, then use Git to +rebase it onto the new version. + +diff --git a/src/MicroHs/ExpPrint.hs b/src/MicroHs/ExpPrint.hs +index 59afc0d0..bada27d2 100644 +--- a/src/MicroHs/ExpPrint.hs ++++ b/src/MicroHs/ExpPrint.hs +@@ -30,7 +30,7 @@ removeUnused (ds, emain) = dfs roots M.empty + dMap = M.fromList ds + dfs :: [Ident] -> M.Map Exp -> [LDef] + dfs [] done = M.toList done +- dfs (i:is) done | Just _ <- M.lookup i done = dfs is done ++ dfs (i:is) done | isJust (M.lookup i done) = dfs is done + | otherwise = dfs (freeVars e ++ is) (M.insert i e done) + where e = fromMaybe (error $ "removeUnused: undef " ++ show i) $ M.lookup i dMap + +@@ -81,7 +81,7 @@ toStringCMdl :: CMdl -> String + toStringCMdl (ds, emain) = + let + def :: (Ident, Exp) -> (String -> String) -> (String -> String) +- def (i, e) r | Just (e', _) <- getForExp e = def (i, e') r ++ def (i, e) r | isJust (getForExp e) = let Just (e', _) = getForExp e in def (i, e') r + def (i, e) r = + ("A " ++) . toStringP e . ((":" ++ showIdent i ++ " @\n") ++) . r . ("@" ++) + +diff --git a/src/MicroHs/Expr.hs b/src/MicroHs/Expr.hs +index bd05f1bc..14225927 100644 +--- a/src/MicroHs/Expr.hs ++++ b/src/MicroHs/Expr.hs +@@ -514,7 +514,7 @@ getTupleConstr i = + getExprTuple :: EType -> Maybe [EType] + getExprTuple = loop [] + where loop ts (EApp f a) = loop (a:ts) f +- loop ts (EVar i) | Just n <- getTupleConstr i, length ts == n = Just ts ++ loop ts (EVar i) | isJust (getTupleConstr i) && length ts == fromJust (getTupleConstr i) = Just ts + loop _ _ = Nothing + + -- Create a tuple selector, component i (0 based) of n +@@ -1015,13 +1015,13 @@ ppExprR raw = ppE + ppApp :: [Expr] -> Expr -> Doc + ppApp as (EApp f a) = ppApp (a:as) f + ppApp as f | raw = ppApply f as +- ppApp as (EVar i) | isOperChar cop, [a, b] <- as = parens $ ppE a <+> text op <+> ppExpr b +- | isOperChar cop, [a] <- as = parens $ ppE a <+> text op +- | cop == ',' && length op + 1 == length as +- = ppE (ETuple as) +- | op == "[]", length as == 1 = ppE (EListish (LList as)) +- where op = unIdent (unQualIdent i) +- cop = head op ++ ppApp as (EVar i) = case as of ++ [a, b] | isOperChar cop -> parens $ ppE a <+> text op <+> ppExpr b ++ [a] | isOperChar cop -> parens $ ppE a <+> text op ++ _ | cop == ',' && length op + 1 == length as -> ppE (ETuple as) ++ | op == "[]" && length as == 1 -> ppE (EListish (LList as)) ++ where op = unIdent (unQualIdent i) ++ cop = head op + ppApp as f = ppApply f as + ppApply f as = parens $ hsep (map ppE (f:as)) + +@@ -1212,5 +1212,5 @@ getImplies _ = Nothing + + dropForallContext :: EType -> EType + dropForallContext (EForall _ _ t) = dropForallContext t +-dropForallContext t | Just (_, t') <- getImplies t = dropForallContext t' ++dropForallContext t | isJust (getImplies t) = let Just (_, t') = getImplies t in dropForallContext t' + | otherwise = t +diff --git a/src/MicroHs/FFI.hs b/src/MicroHs/FFI.hs +index 4e79ab18..292a28fb 100644 +--- a/src/MicroHs/FFI.hs ++++ b/src/MicroHs/FFI.hs +@@ -1,6 +1,7 @@ + module MicroHs.FFI(makeFFI) where + import qualified Prelude(); import MHSPrelude + import Data.List ++import Data.Maybe(fromJust, isJust) + import MicroHs.Desugar(LDef) + import MicroHs.Exp + import MicroHs.Expr +@@ -175,7 +176,8 @@ arity = length . fst . getArrows + cTypeHsName :: HasCallStack => EType -> String + cTypeHsName (EApp (EVar ptr) _t) | ptr == identPtr = "Ptr" + | ptr == identFunPtr = "FunPtr" +-cTypeHsName (EVar i) | Just c <- lookup (unIdent i) cHsTypes = c ++cTypeHsName (EVar i) | isJust mc = fromJust mc ++ where mc = lookup (unIdent i) cHsTypes + cTypeHsName t = errorMessage (getSLoc t) $ "Not a valid C type: " ++ showEType t + + cHsTypes :: [(String, String)] +@@ -193,7 +195,8 @@ cHsTypes = + -- Use to construct 'foreign export ccall' signature. + cTypeName :: EType -> String + cTypeName (EApp (EVar ptr) _t) | ptr == identPtr = "void*" +-cTypeName (EVar i) | Just c <- lookup (unIdent i) cTypes = c ++cTypeName (EVar i) | isJust mc = fromJust mc ++ where mc = lookup (unIdent i) cTypes + cTypeName t = errorMessage (getSLoc t) $ "Not a valid C type: " ++ showEType t + + cTypes :: [(String, String)] +@@ -211,7 +214,8 @@ cTypes = + -- Use to construct 'foreign import javascript' return value wrapper. + jsTypeNameR :: EType -> String + jsTypeNameR (EApp (EVar ptr) _) | ptr == identPtr = "PTR" +-jsTypeNameR (EVar i) | Just c <- lookup (unIdent i) jsTypesR = c ++jsTypeNameR (EVar i) | isJust mc = fromJust mc ++ where mc = lookup (unIdent i) jsTypesR + jsTypeNameR t = errorMessage (getSLoc t) $ "Not a valid Javascript return type: " ++ showEType t + + jsTypesR :: [(String, String)] +@@ -224,7 +228,8 @@ jsTypesR = + -- Use to construct 'foreign import javascript' argument wrapper. + jsTypeName :: EType -> String + jsTypeName (EApp (EVar ptr) _) | ptr == identPtr = "Ptr" +-jsTypeName (EVar i) | Just c <- lookup (unIdent i) jsTypes = c ++jsTypeName (EVar i) | isJust mc = fromJust mc ++ where mc = lookup (unIdent i) jsTypes + jsTypeName t = errorMessage (getSLoc t) $ "Not a valid Javascript argument type: " ++ showEType t + + jsTypes :: [(String, String)] +diff --git a/src/MicroHs/Lex.hs b/src/MicroHs/Lex.hs +index 12e0213f..ebe591df 100644 +--- a/src/MicroHs/Lex.hs ++++ b/src/MicroHs/Lex.hs +@@ -8,7 +8,7 @@ module MicroHs.Lex( + import qualified Prelude(); import MHSPrelude hiding(lex) + import Data.Char + import Data.List +-import Data.Maybe (fromJust) ++import Data.Maybe (fromJust, isJust) + import MicroHs.Ident + import Text.ParserComb(TokenMachine(..)) + +@@ -101,14 +101,14 @@ lex loc ('(':dcs@(d:cs)) | d == '#' = TSpec loc 'L' : lex (addCol loc 2) cs + | otherwise = TSpec loc '(' : lex (addCol loc 1) dcs + lex loc ('#':')':cs) = TSpec loc 'R' : lex (addCol loc 2) cs + -- Recognize #line 123 "file/name.hs" +-lex loc ('#':xcs) | (SLoc _ _ 1) <- loc, Just cs <- stripPrefix "line " xcs = ++lex (SLoc _ _ 1) ('#':'l':'i':'n':'e':' ':cs) = + case span (/= '\n') cs of + (line, rs) -> -- rs will contain the '\n', so subtract 1 below + let ws = words line + file = tail $ init $ ws!!1 -- strip the initial and final '"' + loc' = SLoc file (readInt (ws!!0) - 1) 1 + in lex loc' rs +- | (SLoc _ 1 1) <- loc, take 1 xcs == "!" = ++lex loc@(SLoc _ 1 1) ('#':xcs@('!':cs)) = + -- It's a shebang (#!), ignore the rest of the line + skipLine loc xcs + lex loc ('!':' ':cs) = -- ! followed by a space is always an operator +@@ -231,7 +231,7 @@ tIndent ts = TIndent (tokensLoc ts) : ts + + lexLitStr :: SLoc -> SLoc -> (String -> Token) -> (String -> Maybe Int) -> (String -> String) -> String -> [Token] + lexLitStr oloc loc mk end post acs = loop loc [] acs +- where loop l rs cs | Just k <- end cs = mk (decodeEscs $ post $ reverse rs) : lex (addCol l k) (drop k cs) ++ where loop l rs cs | isJust (end cs) = let Just k = end cs in mk (decodeEscs $ post $ reverse rs) : lex (addCol l k) (drop k cs) + loop l rs ('\\':c:cs) | isSpace c = remGap l rs cs + loop l rs ('\\':'^':'\\':cs) = loop (addCol l 3) ('\\':'^':'\\':rs) cs -- special hack for unescaped \ + loop l rs ('\\':cs) = loop' (addCol l 1) ('\\':rs) cs +@@ -270,8 +270,10 @@ decodeEsc ('x':cs) = conv 16 0 cs + decodeEsc ('o':cs) = conv 8 0 cs + decodeEsc ('^':c:cs) | '@' <= c && c <= '_' = chr (ord c - ord '@') : decodeEscs cs + decodeEsc cs@(c:_) | isDigit c = conv 10 0 cs +-decodeEsc (c1:c2:c3:cs) | Just c <- lookup [c1,c2,c3] ctlCodes = c : decodeEscs cs +-decodeEsc (c1:c2:cs) | Just c <- lookup [c1,c2] ctlCodes = c : decodeEscs cs ++decodeEsc (c1:c2:c3:cs) | isJust mc = let Just c = mc in c : decodeEscs cs ++ where mc = lookup [c1,c2,c3] ctlCodes ++decodeEsc (c1:c2:cs) | isJust mc = let Just c = mc in c : decodeEscs cs ++ where mc = lookup [c1,c2] ctlCodes + decodeEsc (c :cs) = c : decodeEscs cs + decodeEsc [] = mhsError "Bad \\ escape" + +@@ -417,7 +419,7 @@ pragma loc cs = + in case words cs of + p : _ | map toUpper p == "SOURCE" -> TPragma loc p : skip + -- hsc2hs generates LINE pragmas +- p : ln@(_:_) : fn : _ | map toUpper p == "LINE", all isDigit ln -> ++ p : ln@(_:_) : fn : _ | map toUpper p == "LINE" && all isDigit ln -> + let f = tail (init fn) + l = readInt ln - 1 + in seq l $ skipNest (SLoc f l 1) 1 ('#':cs) +diff --git a/src/MicroHs/Main.hs b/src/MicroHs/Main.hs +index 913c197b..7f17e313 100644 +--- a/src/MicroHs/Main.hs ++++ b/src/MicroHs/Main.hs +@@ -141,16 +141,16 @@ decodeArgs f mdls (arg:args) = + "-z" -> decodeArgs f{compress = True} mdls args + "-b64" -> decodeArgs f{base64 = True} mdls args + "-Q" -> decodeArgs f{installPkg = True} mdls args +- "-o" | s : args' <- args +- -> decodeArgs f{output = s} mdls args' +- "-optc" | s : args' <- args +- -> decodeArgs f{cArgs = cArgs f ++ [s]} mdls args' +- "-optl" | s : args' <- args +- -> decodeArgs f{lArgs = lArgs f ++ [s]} mdls args' +- "-optF" | s : args' <- args +- -> decodeArgs f{fArgs = fArgs f ++ [s]} mdls args' +- "-pgmF" | s : args' <- args +- -> decodeArgs f{fPgm = Just s} mdls args' ++ "-o" | not (null args) ++ -> let s : args' = args in decodeArgs f{output = s} mdls args' ++ "-optc" | not (null args) ++ -> let s : args' = args in decodeArgs f{cArgs = cArgs f ++ [s]} mdls args' ++ "-optl" | not (null args) ++ -> let s : args' = args in decodeArgs f{lArgs = lArgs f ++ [s]} mdls args' ++ "-optF" | not (null args) ++ -> let s : args' = args in decodeArgs f{fArgs = fArgs f ++ [s]} mdls args' ++ "-pgmF" | not (null args) ++ -> let s : args' = args in decodeArgs f{fPgm = Just s} mdls args' + "-F" -> decodeArgs f{doF = True} mdls args + '-':'i':[] -> decodeArgs f{paths = []} mdls args + '-':'i':s -> decodeArgs f{paths = paths f ++ [s]} mdls args +@@ -163,7 +163,7 @@ decodeArgs f mdls (arg:args) = + '-':'a':s -> decodeArgs f{pkgPath = pkgPath f ++ [s]} mdls args + '-':'L':s -> decodeArgs f{listPkg = Just s} mdls args + '-':'p':s -> decodeArgs f{preload = preload f ++ [s]} mdls args +- '-':'d':'d':'u':'m':'p':'-':r | Just d <- lookup r dumpFlagTable -> ++ '-':'d':'d':'u':'m':'p':'-':r | isJust (lookup r dumpFlagTable) -> let Just d = lookup r dumpFlagTable in + decodeArgs f{dumpFlags = d : dumpFlags f} mdls args + "--stdin" -> decodeArgs f{useStdin = True} mdls args + '-':_ -> mhsError $ "Unknown flag: " ++ arg ++ "\n" ++ usage +diff --git a/src/MicroHs/TypeCheck.hs b/src/MicroHs/TypeCheck.hs +index db7f3527..b006e8f9 100644 +--- a/src/MicroHs/TypeCheck.hs ++++ b/src/MicroHs/TypeCheck.hs +@@ -824,7 +824,7 @@ tInst :: HasCallStack => Expr -> EType -> T (Expr, EType) + tInst ae (EForall _ vks t) = do + t' <- tInstForall vks t + tInst ae t' +-tInst ae at | Just (ctx, t) <- getImplies at = do ++tInst ae at | isJust (getImplies at) = let Just (ctx, t) = getImplies at in do + --tcTrace $ "tInst: addConstraint: " ++ show ae ++ ", " ++ show d ++ " :: " ++ show ctx + {- + if eqExpr ae eCannotHappen then +@@ -1326,7 +1326,7 @@ expandClass d = return [d] + -- Ignoring initial quantifiers and context, how many arrows does the type have? + countArrows :: EType -> Int + countArrows (EForall _ _ t) = countArrows t +-countArrows t | Just (_, t') <- getImplies t = countArrows t' ++countArrows t | isJust (getImplies t) = let Just (_, t') = getImplies t in countArrows t' + | otherwise = length . fst . getArrows $ t + + simpleEqn :: Expr -> [Eqn] +@@ -1772,7 +1772,7 @@ tInferExpr = tInfer tcExpr + + tCheckExpr :: HasCallStack => + EType -> Expr -> T Expr +-tCheckExpr t e | Just (ctx, t') <- getImplies t = do ++tCheckExpr t e | isJust (getImplies t) = let Just (ctx, t') = getImplies t in do + -- tcTrace $ "tCheckExpr: " ++ show (e, ctx, t') + xt <- expandSyn t + unless (eqEType t xt) undefined +@@ -2125,7 +2125,7 @@ needDsCase ex lbls ae = + vt <- gets valueTable + case stLookupGlbUnqMany lbl vt of + -- check the return type of an unambiguous label +- Just [Entry _ t] | (t':_, _) <- getArrows (dropForallContext t) -> needT t' ++ Just [Entry _ t] | not $ null $ fst $ getArrows (dropForallContext t) -> needT $ head $ fst $ getArrows $ dropForallContext t + _ -> return Nothing + + -- Do a record update using case. +@@ -2184,8 +2184,8 @@ tcExprAp mt ae args = do + EUVar r -> fmap (fromMaybe t) (getUVar r) + _ -> return t + -- tcTrace $ "exExprAp: EVar " ++ showIdent i ++ " :: " ++ showExpr t ++ " = " ++ showExpr t' ++ " mt=" ++ show mt +- case fn of +- EVar ii | ii == mkIdent "Data.Function.$", f:as <- args -> tcExprAp mt f as ++ case (fn, args) of ++ (EVar ii, f:as) | ii == mkIdent "Data.Function.$" -> tcExprAp mt f as + _ -> tcExprApFn mt fn t' args + EQVar f t -> -- already resolved + tcExprApFn mt f t args +@@ -2216,17 +2216,17 @@ tcExprApFn mt fn atfn aargs = do + let -- loop _ats aas ft | trace ("loop: " ++ show (aas, ft)) False = undefined + loop ats [] ft = final (reverse ats) ft + loop ats aas@(a:as) aft = do +- case nextArg aft of +- AReqd (IdKind i k) ft -> useType i k a ft +- AForall _ (IdKind i k:iks) ft | ETypeArg t <- a -> do ++ case (nextArg aft, a) of ++ (AReqd (IdKind i k) ft, _) -> useType i k a ft ++ (AForall _ (IdKind i k:iks) ft, ETypeArg t) -> do + -- traceM ("AForall " ++ show (i, t)) + useType i k t (EForall QExpl iks ft) +- AForall _ iks ft -> do ++ (AForall _ iks ft, _) -> do + ft' <- tInstForall iks ft + loop ats aas ft' +- AConstaint ctx ft -> ++ (AConstaint ctx ft, _) -> + loop (ArgCtx ctx : ats) aas ft +- ARet aft' -> do ++ (ARet aft', _) -> do + (at, rt) <- unArrow loc aft' + --traceM ("ARet " ++ show (at, rt)) + loop (ArgExpr a at : ats) as rt +@@ -2543,7 +2543,7 @@ nextArg :: EType -> Arg + nextArg (EForall _ [] t) = nextArg t + nextArg (EForall QReqd (ik:iks) t) = AReqd ik (EForall QReqd iks t) + nextArg (EForall q iks t) = AForall q iks t +-nextArg t | Just (ctx, t') <- getImplies t = AConstaint ctx t' ++nextArg t | isJust (getImplies t) = let Just (ctx, t') = getImplies t in AConstaint ctx t' + | otherwise = ARet t + + tcExprLam :: HasCallStack => Expected -> SLoc -> [Eqn] -> T Expr +@@ -2559,7 +2559,7 @@ tcEqns' top at eqns = + case at of + EForall QExpl iks t -> withExtTyps iks $ tcEqns' top t eqns + EForall QImpl _ t -> tcEqns' top t eqns +- _ | Just (ctx, t') <- getImplies at -> do ++ _ | isJust (getImplies at) -> let Just (ctx, t') = getImplies at in do + let loc = getSLoc eqns + d <- newADictIdent loc + f <- newIdent loc "fcnD" +@@ -3109,7 +3109,7 @@ skolemise (EForall _ tvs ty) = do -- Rule PRPOLY + (sks1, ty') <- shallowSkolemise tvs ty + (sks2, ty'') <- skolemise ty' + return (sks1 ++ sks2, ty'') +-skolemise t@(EApp _ _) | Just (arg_ty, res_ty) <- getArrow t = do ++skolemise t@(EApp _ _) | isJust (getArrow t) = let Just (arg_ty, res_ty) = getArrow t in do + (sks, res_ty') <- skolemise res_ty + return (sks, arg_ty `tArrow` res_ty') + skolemise (EApp f a) = do +@@ -3178,13 +3178,13 @@ subsCheckRho loc exp1 (EForall _ vs1 t1) (EForall _ vs2 t2) | length vs1 == leng + subsCheckRho loc exp1 sigma1@EForall{} rho2 = do -- Rule SPEC + (exp1', rho1) <- tInst exp1 sigma1 + subsCheckRho loc exp1' rho1 rho2 +-subsCheckRho loc exp1 arho1 rho2 | Just _ <- getImplies arho1 = do ++subsCheckRho loc exp1 arho1 rho2 | isJust (getImplies arho1) = do + (exp1', rho1) <- tInst exp1 arho1 + subsCheckRho loc exp1' rho1 rho2 +-subsCheckRho loc exp1 rho1 rho2 | Just (a2, r2) <- getArrow rho2 = do -- Rule FUN ++subsCheckRho loc exp1 rho1 rho2 | isJust (getArrow rho2) = let Just (a2, r2) = getArrow rho2 in do -- Rule FUN + (a1, r1) <- unArrow loc rho1 + subsCheckFun loc exp1 a1 r1 a2 r2 +-subsCheckRho loc exp1 rho1 rho2 | Just (a1, r1) <- getArrow rho1 = do -- Rule FUN ++subsCheckRho loc exp1 rho1 rho2 | isJust (getArrow rho1) = let Just (a1, r1) = getArrow rho1 in do -- Rule FUN + (a2,r2) <- unArrow loc rho2 + subsCheckFun loc exp1 a1 r1 a2 r2 + subsCheckRho loc exp1 tau1 tau2 = do -- Rule MONO +@@ -3366,10 +3366,12 @@ canonPatSynType at = do + pure $ mkTyp [] emptyCtx [] emptyCtx ty + + splitPatSynType :: EType -> ([IdKind], EConstraint, [IdKind], EConstraint, EType) +-splitPatSynType (EForall _ vks1 t0) +- | Just (ctx1, EForall _ vks2 t1) <- getImplies t0 +- , Just (ctx2, ty) <- getImplies t1 +- = (vks1, ctx1, vks2, ctx2, ty) ++splitPatSynType (EForall _ vks1 t0) | isJust x = fromJust x ++ where ++ x = do ++ (ctx1, EForall _ vks2 t1) <- getImplies t0 ++ (ctx2, ty) <- getImplies t1 ++ Just (vks1, ctx1, vks2, ctx2, ty) + splitPatSynType t = impossibleShow t + + ----- +@@ -3465,7 +3467,7 @@ defaultOneTyVar tv = do + -- traceM $ "defaultOneTyVar: cvs = " ++ show cvs + dvs <- getSuperClasses cvs -- add superclasses + -- traceM $ "defaultOneTyVar: dvs = " ++ show dvs +- let oneCls c | Just ts <- M.lookup c (defaults old) = ++ let oneCls c | isJust (M.lookup c $ defaults old) = let Just ts = M.lookup c (defaults old) in + take 1 $ filter (\ t -> all (\ cc -> soluble cc t) cvs) ts + | otherwise = [] + soluble c t = fst $ flip tcRun old $ do +@@ -3571,7 +3573,7 @@ solvers = + -- Examine each goal, either solve it (possibly producing new goals) or let it remain unsolved. + solveMany :: [Goal] -> [UGoal] -> [(EType, Soln)] -> [Improve] -> T ([UGoal], [Soln], [Improve]) + solveMany [] uns sol imp = return (uns, map snd sol, imp) +-solveMany ((di, ct) : cnss) uns sol imp | Just (_, (dd, _)) <- find (eqEType ct . fst) sol = ++solveMany ((di, ct) : cnss) uns sol imp | isJust (find (eqEType ct . fst) sol) = let Just (_, (dd, _)) = find (eqEType ct . fst) sol in + solveMany cnss uns ((ct, (di, EVar dd)) : sol) imp + -- Need to handle ct of the form C => T, and forall a . T + solveMany (cns@(di, ct) : cnss) uns sol imp = do +@@ -3889,7 +3891,7 @@ solveEq eqs t1 t2 | normTypeEq eqs t1 `eqEType` normTypeEq eqs t2 = Just [] + -- XXX This guaranteed by how it's called, but I'm not sure it always works properly. + addTypeEq :: EType -> EType -> TypeEqTable -> TypeEqTable + addTypeEq t1 t2 aeqs = +- let deref (EVar i) | Just t <- lookup i aeqs = t ++ let deref (EVar i) | isJust (lookup i aeqs) = fromJust $ lookup i aeqs + deref (ESign t _) = t + deref t = t + t1' = deref t1 +@@ -3990,7 +3992,7 @@ standaloneDeriving str narg act = do + -- traceM ("standaloneDeriving 1 " ++ show (_vks, _ctx, cc)) + (cls, ts, tname) <- + case getAppM cc of +- Just (c, ts@(_:_)) | Just (n, _) <- getAppM (last ts) -> return (c, init ts, n) ++ Just (c, ts@(_:_)) | isJust (getAppM $ last ts) -> let Just (n, _) = getAppM (last ts) in return (c, init ts, n) + _ -> tcError (getSLoc act) "malformed standalone deriving" + -- traceM ("standaloneDeriving 2 " ++ show (act, cls, tname)) + dtable <- gets dataTable +diff --git a/src/Text/ParserComb.hs b/src/Text/ParserComb.hs +index 6efd5a3f..8ab72759 100644 +--- a/src/Text/ParserComb.hs ++++ b/src/Text/ParserComb.hs +@@ -127,7 +127,9 @@ satisfy msg f = P $ \ acs -> + satisfyM :: forall tm t a . TokenMachine tm t => String -> (t -> Maybe a) -> Prsr tm t a + satisfyM msg f = P $ \ acs -> + case tmNextToken acs of +- (c, cs) | Just a <- f c -> Success a cs noFail ++ (c, cs) -> case f c of ++ Just a -> Success a cs noFail ++ _ -> Failure (LastFail (tmLeft acs) (firstToken acs) [msg]) + _ -> Failure (LastFail (tmLeft acs) (firstToken acs) [msg]) + + infixl 9 diff --git a/pkgs/development/compilers/microhs/patches/hugs.patch b/pkgs/development/compilers/microhs/patches/hugs.patch new file mode 100644 index 000000000000..2948380da664 --- /dev/null +++ b/pkgs/development/compilers/microhs/patches/hugs.patch @@ -0,0 +1,365 @@ +This patch is based on https://github.com/augustss/MicroHs/pull/429 +If you need to update it, rebase the above PR onto the new version's tag. + +diff --git a/hugs/Data/Semigroup.hs b/hugs/Data/Semigroup.hs +index b7360013..eab8c48d 100644 +--- a/hugs/Data/Semigroup.hs ++++ b/hugs/Data/Semigroup.hs +@@ -18,11 +18,11 @@ class Semigroup a where + | otherwise = f x0 y0 + where + f x y +- | even y == 0 = f (x <> x) (y `quot` 2) ++ | even y = f (x <> x) (y `quot` 2) + | y == 1 = x + | otherwise = g (x <> x) (y `quot` 2) x + g x y z +- | even y == 0 = g (x <> x) (y `quot` 2) z ++ | even y = g (x <> x) (y `quot` 2) z + | y == 1 = x <> z + | otherwise = g (x <> x) (y `quot` 2) (x <> z) + +diff --git a/hugs/Data/String.hs b/hugs/Data/String.hs +new file mode 100644 +index 00000000..1de782d3 +--- /dev/null ++++ b/hugs/Data/String.hs +@@ -0,0 +1,17 @@ ++module Data.String( ++ IsString(..), ++ String, ++ lines, unlines, ++ words, unwords, ++ ) where ++ ++import qualified Data.ByteString.Char8 as BS8 ++ ++class IsString a where ++ fromString :: String -> a ++ ++instance IsString [Char] where ++ fromString s = s ++ ++instance IsString BS8.ByteString where ++ fromString = BS8.pack +diff --git a/hugs/Data/Text.hs b/hugs/Data/Text.hs +index fbd1c731..75f8e829 100644 +--- a/hugs/Data/Text.hs ++++ b/hugs/Data/Text.hs +@@ -8,6 +8,7 @@ module Data.Text( + null, + head, + tail, ++ cons, + uncons, + ) where + import Prelude hiding(head, tail, null) +@@ -64,6 +65,9 @@ head (T t) = Prelude.head t + tail :: Text -> Text + tail (T t) = T (Prelude.tail t) + ++cons :: Char -> Text -> Text ++cons c (T t) = T (c : t) ++ + uncons :: Text -> Maybe (Char, Text) + uncons t | null t = Nothing + | otherwise = Just (head t, tail t) +diff --git a/hugs/MHSPrelude.hs b/hugs/MHSPrelude.hs +index cb6b36f6..cb47e041 100644 +--- a/hugs/MHSPrelude.hs ++++ b/hugs/MHSPrelude.hs +@@ -4,10 +4,11 @@ module MHSPrelude( + module Prelude, + module MHSPrelude, + -- module Control.Monad.Fail, +- module Control.Arrow, ++ -- Exporting these with 'module Control.Arrow' does not work ++ first, second, + module Data.Monoid, + module Data.Semigroup, +- (<$>), Applicative(..), (*>), ++ (<$>), Applicative(..), (*>), (<*), (>=>), (<=<) + ) where + import Hugs.Prelude() + import Prelude hiding(fail) +@@ -16,6 +17,7 @@ import Control.Arrow(first, second) + import Control.Applicative + import Control.Exception(Exception, try) + --import Control.Monad.Fail ++import Data.Int + import Data.List + import Data.Maybe + import Data.Monoid +@@ -55,6 +57,12 @@ spanEnd p xs = (dropWhileEnd p xs, takeWhileEnd p xs) + breakEnd :: (a -> Bool) -> [a] -> ([a], [a]) + breakEnd p = spanEnd (not . p) + ++subsequences :: [a] -> [[a]] ++subsequences xs = [] : sub xs ++ where sub [] = [] ++ sub (x:xs) = [x] : foldr f [] (sub xs) ++ where f ys r = ys : (x : ys) : r ++ + ------- Version -------- + + makeVersion :: [Int] -> Version +@@ -193,6 +201,7 @@ force :: (NFData a) => a -> a + force x = x `deepseq` x + + instance NFData Int ++instance NFData Int64 + instance NFData Word + instance NFData Float + instance NFData Double +@@ -229,3 +238,11 @@ instance NFData MD5CheckSum + + class HasCallStack + instance HasCallStack ++ ++(<=<) :: forall m a b c . Monad m => (b -> m c) -> (a -> m b) -> (a -> m c) ++f <=< g = \ a -> do ++ b <- g a ++ f b ++ ++(>=>) :: forall m a b c . Monad m => (a -> m b) -> (b -> m c) -> (a -> m c) ++(>=>) = flip (<=<) +diff --git a/src/MicroHs/Compile.hs b/src/MicroHs/Compile.hs +index ddec7993..643319aa 100644 +--- a/src/MicroHs/Compile.hs ++++ b/src/MicroHs/Compile.hs +@@ -123,12 +123,17 @@ compile flags nm ach = do + return ((tModuleName cm, concatMap tBindingsOf $ cachedModules ch), syms, ch) + + -- Compile a module for the interactive system +-compileInteractive :: Flags -> EModule -> CM (TModule [LDef], Symbols, TCState) +-compileInteractive flags mdl = do +- ((dmdl, syms, _, _, _), tcstate) <- compileModuleP flags ImpNormal mdl ++compileInteractive :: Flags -> EModule -> Maybe TCState -> CM (TModule [LDef], Symbols, TCState) ++compileInteractive flags mdl mtcstate = do ++ ((dmdl, syms, _, _, _), tcstate') <- compile ++ flags ImpNormal mdl + loadBoots flags + loadDependencies flags +- return (dmdl, syms, tcstate) ++ return (dmdl, syms, tcstate') ++ where ++ compile = case mtcstate of ++ Nothing -> compileModuleP ++ Just tcstate -> compileModuleP' (\flags _ impt aimps mdl -> typeCheck' flags impt (map filterImports aimps) mdl tcstate) + + -- Compile a module with the given name. + -- If the module has already been compiled, return the cached result. +@@ -233,7 +238,12 @@ compileModule flags impt mn pathfn file = do + return (cmdl, syms, tThis + tImp) + + compileModuleP :: Flags -> ImpType -> EModule -> CM ((TModule [LDef], Symbols, [(ImpType, IdentModule)], Time, Time), TCState) +-compileModuleP flags impt mdl@(EModule _ _ defs) = do ++compileModuleP = compileModuleP' typeCheck ++ ++compileModuleP' ++ :: (Flags -> GlobTables -> ImpType -> [(ImportSpec, TModule [LDef])] -> EModule -> (TModule [EDef], GlobTables, Symbols, TCState)) ++ -> Flags -> ImpType -> EModule -> CM ((TModule [LDef], Symbols, [(ImpType, IdentModule)], Time, Time), TCState) ++compileModuleP' tc flags impt mdl@(EModule _ _ defs) = do + -- liftIO $ putStrLn $ showEModule mdl + -- liftIO $ putStrLn $ showEDefs defs + let +@@ -244,7 +254,7 @@ compileModuleP flags impt mdl@(EModule _ _ defs) = do + t3 <- liftIO getTimeMilli + glob <- gets getCacheTables + let +- (tmdl, glob', syms, tcstate) = typeCheck flags glob impt (zip specs impMdls) mdl ++ (tmdl, glob', syms, tcstate) = tc flags glob impt (zip specs impMdls) mdl + modify $ setCacheTables glob' + dumpIf flags Dtypecheck $ + liftIO $ putStrLn $ "type checked:\n" ++ showTModule showEDefs tmdl ++ "-----\n" +@@ -258,9 +268,9 @@ compileModuleP flags impt mdl@(EModule _ _ defs) = do + return ((dmdl, syms, imported, tThis, tImp), tcstate) + + compileToCombinators :: TModule [LDef] -> TModule [LDef] +-compileToCombinators dmdl = do ++compileToCombinators dmdl = + let cmdl = setBindings dmdl [ (i, compileOpt e) | (i, e) <- tBindingsOf dmdl ] +- seq (rnf cmdl) cmdl -- This makes execution slower, but speeds up GC ++ in seq (rnf cmdl) cmdl -- This makes execution slower, but speeds up GC + + -- Add implicit imports: + -- import Prelude +diff --git a/src/MicroHs/Expr.hs b/src/MicroHs/Expr.hs +index 84578594..bd05f1bc 100644 +--- a/src/MicroHs/Expr.hs ++++ b/src/MicroHs/Expr.hs +@@ -57,11 +57,11 @@ module MicroHs.Expr( + dropForallContext, + ) where + import qualified Prelude(); import MHSPrelude hiding ((<>)) ++import Data.Int + import Data.List + import Data.Maybe + import MicroHs.Builtin + import MicroHs.Ident +-import {-# SOURCE #-} MicroHs.TCMonad(TCState) + import Text.PrettyPrint.HughesPJLite + + type IdentModule = Ident +@@ -96,8 +96,6 @@ data EDef + | Pattern LHS EPat (Maybe [Eqn]) + | StandDeriving DerStrategy Int EConstraint + | DfltSign Ident EType -- only in class declarations +- -- Only used by interactive system to load a cached TCState to avoid import processing +- | SetTCState TCState + --DEBUG deriving (Show) + + instance NFData EDef where +@@ -118,7 +116,6 @@ instance NFData EDef where + rnf (Pattern a b c) = rnf a `seq` rnf b `seq` rnf c + rnf (StandDeriving a b c) = rnf a `seq` rnf b `seq` rnf c + rnf (DfltSign a b) = rnf a `seq` rnf b +- rnf (SetTCState a) = seq a () + + data ImpType = ImpNormal | ImpBoot + deriving (Eq) +@@ -900,7 +897,6 @@ ppEDef def = + Pattern lhs@(i,_) p meqns -> text "pattern" <+> ppLHS lhs <+> text "=" <+> ppExpr p <+> maybe empty (ppWhere (text ";") . (:[]) . Fcn i) meqns + StandDeriving _s _narg ct -> text "deriving instance" <+> ppEType ct + DfltSign i t -> text "default" <+> ppIdent i <+> text "::" <+> ppEType t +- SetTCState _ -> text "SetTCState ..." + + ppDerivings :: [Deriving] -> Doc + ppDerivings = sep . map ppDeriving +diff --git a/src/MicroHs/Interactive.hs b/src/MicroHs/Interactive.hs +index ebb33b43..7b70064a 100644 +--- a/src/MicroHs/Interactive.hs ++++ b/src/MicroHs/Interactive.hs +@@ -295,11 +295,11 @@ compile file = do + let mdl@(EModule mn es _) = parseDie pTopModule "" file + defs <- updateTCStateCache mdl + (_, tcstate, _) <- gets isCComp +- let mdl' = EModule mn es (SetTCState tcstate : defs) ++ let mdl' = EModule mn es defs + flgs <- gets isFlags + cash <- gets isCache + -- putStrLnI $ " tryCompile compile " ++ show mdl' +- ((dmdl, _, tcstate'), _) <- liftIO $ runStateIO (compileInteractive flgs mdl') cash ++ ((dmdl, _, tcstate'), _) <- liftIO $ runStateIO (compileInteractive flgs mdl' $ Just tcstate) cash + cmdl <- liftIO $ evaluate $ compileToCombinators dmdl + -- putStrLnI $ " tryCompile dmdl = " ++ (show $ tBindingsOf dmdl) + return (tBindingsOf cmdl, tcstate') +@@ -398,7 +398,7 @@ updateTCStateCache (EModule mn es ds) = do + cash <- gets isCache + -- putStrLnI "*** update tcstate" + let mdl' = addPreludeImport mdl +- ((_, syms, tcstate), ch) <- liftIO $ runStateIO (compileInteractive flgs mdl') cash ++ ((_, syms, tcstate), ch) <- liftIO $ runStateIO (compileInteractive flgs mdl' Nothing) cash + let idmap = translateMap $ concatMap tBindingsOf $ cachedModules ch + -- putStrLnI $ "*** update isFast " ++ show nImps + modify $ \ is -> is{ isCComp = (nImps, tcstate, idmap), isCache = ch, isSymbols = syms } +diff --git a/src/MicroHs/Parse.hs b/src/MicroHs/Parse.hs +index 821718a7..6a68a01a 100644 +--- a/src/MicroHs/Parse.hs ++++ b/src/MicroHs/Parse.hs +@@ -791,7 +791,7 @@ pDo = do + case last ss of + SThen e -> + pure $ EDo q [SRec (init ss), SThen e] +- _ -> fail "mdo" ++ _ -> Control.Monad.Fail.fail "mdo" + else + pure (EDo q ss) + +diff --git a/src/MicroHs/TCMonad.hs-boot b/src/MicroHs/TCMonad.hs-boot +deleted file mode 100644 +index f88ad533..00000000 +--- a/src/MicroHs/TCMonad.hs-boot ++++ /dev/null +@@ -1,2 +0,0 @@ +-module MicroHs.TCMonad where +-data TCState +diff --git a/src/MicroHs/TypeCheck.hs b/src/MicroHs/TypeCheck.hs +index 47f2b461..db7f3527 100644 +--- a/src/MicroHs/TypeCheck.hs ++++ b/src/MicroHs/TypeCheck.hs +@@ -2,7 +2,7 @@ + -- See LICENSE file for full license. + {-# OPTIONS_GHC -Wno-incomplete-uni-patterns -Wno-unused-imports -Wno-unused-do-bind #-} + module MicroHs.TypeCheck( +- typeCheck, ++ typeCheck, typeCheck', filterImports, + TModule(..), showTModule, + GlobTables, emptyGlobTables, mergeGlobTables, + impossible, impossibleShow, +@@ -102,35 +102,34 @@ type Sigma = EType + type Rho = EType + + typeCheck :: Flags -> GlobTables -> ImpType -> [(ImportSpec, TModule a)] -> EModule -> (TModule [EDef], GlobTables, Symbols, TCState) +-typeCheck flags globs impt aimps (EModule mn exps defs) = ++typeCheck flags globs impt aimps mdl@(EModule mn exps defs) = + -- trace (unlines $ map (showTModuleExps . snd) aimps) $ +- let +- imps = map filterImports aimps +- tc = +- case defs of +- SetTCState tcs : _ -> tcs -- hack to set the saved TCState +- _ -> mkTCState mn globs imps +- in case tcRun (tcDefs flags impt defs) tc of +- (tds, tcs) -> +- let +- thisMdl = (mn, mkTModule tds tcs) +- impMdls = [(fromMaybe m mm, tm) | (ImportSpec _ _ m mm _, tm) <- imps] +- allMdls = thisMdl : impMdls +- (texps, vexps) = +- unzip $ map (getTVExps impMap (typeTable tcs) (valueTable tcs) (assocTable tcs)) exps +- where impMap = M.fromListWith (++) [(i, [m]) | (i, m) <- allMdls] +- fexps = map (tFixDefs . snd) allMdls +- sexps = synTable tcs +- dexps = dataTable tcs +- iexps = instTable tcs +- ctbl = classTable tcs +- dflts = M.fromList $ filter ((`elem` ds) . fst) $ M.toList $ defaults tcs +- where ds = [ tyQIdent $ expLookup ti (typeTable tcs) | ExpDefault ti <- exps ] +- in ( tModule mn (nubBy ((==) `on` fst) (concat fexps)) (concat texps) (concat vexps) dflts tds +- , GlobTables { gSynTable = sexps, gDataTable = dexps, gClassTable = ctbl, gInstInfo = iexps } +- , (typeTable tcs, valueTable tcs) +- , tcs +- ) ++ let imps = map filterImports aimps ++ in typeCheck' flags impt imps mdl $ mkTCState mn globs imps ++ ++typeCheck' :: Flags -> ImpType -> [(ImportSpec, TModule a)] -> EModule -> TCState -> (TModule [EDef], GlobTables, Symbols, TCState) ++typeCheck' flags impt imps (EModule mn exps defs) tc = ++ case tcRun (tcDefs flags impt defs) tc of ++ (tds, tcs) -> ++ let ++ thisMdl = (mn, mkTModule tds tcs) ++ impMdls = [(fromMaybe m mm, tm) | (ImportSpec _ _ m mm _, tm) <- imps] ++ allMdls = thisMdl : impMdls ++ (texps, vexps) = ++ unzip $ map (getTVExps impMap (typeTable tcs) (valueTable tcs) (assocTable tcs)) exps ++ where impMap = M.fromListWith (++) [(i, [m]) | (i, m) <- allMdls] ++ fexps = map (tFixDefs . snd) allMdls ++ sexps = synTable tcs ++ dexps = dataTable tcs ++ iexps = instTable tcs ++ ctbl = classTable tcs ++ dflts = M.fromList $ filter ((`elem` ds) . fst) $ M.toList $ defaults tcs ++ where ds = [ tyQIdent $ expLookup ti (typeTable tcs) | ExpDefault ti <- exps ] ++ in ( tModule mn (nubBy ((==) `on` fst) (concat fexps)) (concat texps) (concat vexps) dflts tds ++ , GlobTables { gSynTable = sexps, gDataTable = dexps, gClassTable = ctbl, gInstInfo = iexps } ++ , (typeTable tcs, valueTable tcs) ++ , tcs ++ ) + + -- A hack to force evaluation of errors. + -- This should be redone to all happen in the T monad. +diff --git a/src/Text/ParserComb.hs b/src/Text/ParserComb.hs +index 5b0e8753..6efd5a3f 100644 +--- a/src/Text/ParserComb.hs ++++ b/src/Text/ParserComb.hs +@@ -115,7 +115,7 @@ instance TokenMachine tm t => Alternative (Prsr tm t) where + r -> r + + instance TokenMachine tm t => MonadPlus (Prsr tm t) where +- mzero = fail "mzero" ++ mzero = F.fail "mzero" + mplus = (<|>) + + satisfy :: forall tm t . TokenMachine tm t => String -> (t -> Bool) -> Prsr tm t t diff --git a/pkgs/development/compilers/microhs/patches/link-math.patch b/pkgs/development/compilers/microhs/patches/link-math.patch new file mode 100644 index 000000000000..a9df7bf53cbe --- /dev/null +++ b/pkgs/development/compilers/microhs/patches/link-math.patch @@ -0,0 +1,21 @@ +commit beaea6f66e4f53d617418a4c155b9a14e2c9327e +Author: Alex Tunstall +Date: Fri Mar 20 06:52:08 2026 +0000 + + Add -lm to default link flags + + MicroHs should always link with -lm because its RTS requires it. + +diff --git a/src/MicroHs/Flags.hs b/src/MicroHs/Flags.hs +index e20797c6..df89730e 100644 +--- a/src/MicroHs/Flags.hs ++++ b/src/MicroHs/Flags.hs +@@ -54,7 +54,7 @@ defaultFlags dir = Flags { + doCPP = False, + cppArgs = [], + cArgs = [], +- lArgs = [], ++ lArgs = ["-lm"], + compress = False, + base64 = False, + buildPkg = Nothing, diff --git a/pkgs/development/compilers/microhs/patches/simple-unicode.patch b/pkgs/development/compilers/microhs/patches/simple-unicode.patch new file mode 100644 index 000000000000..ac32c35d9952 --- /dev/null +++ b/pkgs/development/compilers/microhs/patches/simple-unicode.patch @@ -0,0 +1,35 @@ +commit bf89dce66a0833c1ace0a253ef597531435a6798 +Author: Alex Tunstall +Date: Tue Sep 23 04:48:17 2025 +0100 + + Disable Unicode support for Hugs bootstrap + +diff --git a/lib/Data/Char/Unicode.hs b/lib/Data/Char/Unicode.hs +index 4bb46cc2..7180e2d7 100644 +--- a/lib/Data/Char/Unicode.hs ++++ b/lib/Data/Char/Unicode.hs +@@ -207,23 +207,12 @@ decompressRLE = BS.pack . de 0 . BS.unpack + -- XXX Instead of having a totally decompressed (large!) bytestring, + -- we could build a search tree from the RLE encoding. + generalCategory :: Char -> GeneralCategory +-generalCategory c = +- let i = primOrd c +- in if i < 0 || i >= BS.length bytestringGCTable then +- NotAssigned +- else +- toEnum (fromEnum (BS.primBSindex bytestringGCTable i)) +- +-bytestringGCTable :: BS.ByteString +-bytestringGCTable = decompressRLE compressedGCTable ++generalCategory c = error "generalCategory: unsupported" + + -- These tables are generated by unicode/UniParse.hs + -- This is for Unicode 17.0.0 + unicodeVersion :: Version + unicodeVersion = makeVersion [17,0,0] +-compressedGCTable :: ByteString +-compressedGCTable = +- "\159\25\22\130\17\19\130\17\13\14\17\18\17\12\17\17\137\8\17\17\130\18\17\17\153\0\13\17\14\20\11\20\153\1\13\18\14\18\160\25\22\17\131\19\21\17\20\21\4\15\18\26\21\20\21\18\10\10\20\1\17\17\20\10\4\16\130\10\17\150\0\18\134\0\151\1\18\135\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\0\1\0\1\0\130\1\0\0\1\0\1\0\0\1\130\0\1\1\131\0\1\0\0\1\130\0\130\1\0\0\1\0\0\1\0\1\0\1\0\0\1\0\1\1\0\1\0\0\1\130\0\1\0\1\0\0\1\1\4\0\130\1\131\4\0\2\1\0\2\1\0\2\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\1\0\2\1\0\1\130\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\134\1\0\0\1\0\0\1\1\0\1\131\0\1\0\1\0\1\0\1\0\196\1\4\4\153\1\145\3\131\20\139\3\141\20\132\3\134\20\3\20\3\144\20\239\5\0\1\0\1\3\20\0\1\29\29\3\130\1\17\0\131\29\20\20\0\17\130\0\29\0\29\0\0\1\144\0\29\136\0\162\1\0\1\1\130\0\130\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\132\1\0\1\18\0\1\0\0\1\1\178\0\175\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\21\132\5\7\7\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\0\1\0\1\0\1\0\1\0\1\0\1\0\1\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\29\165\0\29\29\3\133\17\168\1\17\12\29\29\21\21\19\29\172\5\12\5\17\5\5\17\5\5\17\5\135\29\154\4\131\29\131\4\17\17\138\29\133\26\130\18\17\17\19\17\17\21\21\138\5\17\26\130\17\159\4\3\137\4\148\5\137\8\131\17\4\4\5\226\4\17\4\134\5\26\21\133\5\3\3\5\5\21\131\5\4\4\137\8\130\4\21\21\4\141\17\29\26\4\5\157\4\154\5\29\29\216\4\138\5\4\141\29\137\8\160\4\136\5\3\3\21\130\17\3\29\29\5\19\19\149\4\131\5\3\136\5\3\130\5\3\132\5\29\29\142\17\29\152\4\130\5\29\29\17\29\138\4\132\29\151\4\20\134\4\26\26\132\29\136\5\168\4\3\151\5\26\159\5\6\181\4\5\6\5\4\130\6\135\5\131\6\5\6\6\4\134\5\137\4\5\5\17\17\137\8\17\3\142\4\5\6\6\29\135\4\29\29\4\4\29\29\149\4\29\134\4\29\4\130\29\131\4\29\29\5\4\130\6\131\5\29\29\6\6\29\29\6\6\5\4\135\29\6\131\29\4\4\29\130\4\5\5\29\29\137\8\4\4\19\19\133\10\21\19\4\17\5\29\29\5\5\6\29\133\4\131\29\4\4\29\29\149\4\29\134\4\29\4\4\29\4\4\29\4\4\29\29\5\29\130\6\5\5\131\29\5\5\29\29\130\5\130\29\5\134\29\131\4\29\4\134\29\137\8\5\5\130\4\5\17\137\29\5\5\6\29\136\4\29\130\4\29\149\4\29\134\4\29\4\4\29\132\4\29\29\5\4\130\6\132\5\29\5\5\6\29\6\6\5\29\29\4\142\29\4\4\5\5\29\29\137\8\17\19\134\29\4\133\5\29\5\6\6\29\135\4\29\29\4\4\29\29\149\4\29\134\4\29\4\4\29\132\4\29\29\5\4\6\5\6\131\5\29\29\6\6\29\29\6\6\5\134\29\5\5\6\131\29\4\4\29\130\4\5\5\29\29\137\8\21\4\133\10\137\29\5\4\29\133\4\130\29\130\4\29\131\4\130\29\4\4\29\4\29\4\4\130\29\4\4\130\29\130\4\130\29\139\4\131\29\6\6\5\6\6\130\29\130\6\29\130\6\5\29\29\4\133\29\6\141\29\137\8\130\10\133\21\19\21\132\29\5\130\6\5\135\4\29\130\4\29\150\4\29\143\4\29\29\5\4\130\5\131\6\29\130\5\29\131\5\134\29\5\5\29\130\4\29\4\4\29\29\4\4\5\5\29\29\137\8\134\29\17\134\10\21\4\5\6\6\17\135\4\29\130\4\29\150\4\29\137\4\29\132\4\29\29\5\4\6\5\132\6\29\5\6\6\29\6\6\5\5\134\29\6\6\132\29\130\4\29\4\4\5\5\29\29\137\8\29\4\4\6\139\29\5\5\6\6\136\4\29\130\4\29\168\4\5\5\4\130\6\131\5\29\130\6\29\130\6\5\4\21\131\29\130\4\6\134\10\130\4\5\5\29\29\137\8\136\10\21\133\4\29\5\6\6\29\145\4\130\29\151\4\29\136\4\29\4\29\29\134\4\130\29\5\131\29\130\6\130\5\29\5\29\135\6\133\29\137\8\29\29\6\6\17\139\29\175\4\5\4\4\134\5\131\29\19\133\4\3\135\5\17\137\8\17\17\164\29\4\4\29\4\29\132\4\29\151\4\29\4\29\137\4\5\4\4\136\5\4\29\29\132\4\29\3\29\134\5\29\137\8\29\29\131\4\159\29\4\130\21\142\17\21\17\130\21\5\5\133\21\137\8\137\10\21\5\21\5\21\5\13\14\13\14\6\6\135\4\29\163\4\131\29\141\5\6\132\5\17\5\5\132\4\138\5\29\163\5\29\135\21\5\133\21\29\21\21\132\17\131\21\17\17\164\29\170\4\6\6\131\5\6\133\5\6\5\5\6\6\5\5\4\137\8\133\17\133\4\6\6\5\5\131\4\130\5\4\130\6\4\4\134\6\130\4\131\5\140\4\5\6\6\5\5\133\6\5\4\6\137\8\130\6\5\21\21\165\0\29\0\132\29\0\29\29\170\1\17\3\130\1\130\200\4\29\131\4\29\29\134\4\29\4\29\131\4\29\29\168\4\29\131\4\29\29\160\4\29\131\4\29\29\134\4\29\4\29\131\4\29\29\142\4\29\184\4\29\131\4\29\29\194\4\29\29\130\5\136\17\147\10\130\29\143\4\137\21\133\29\213\0\29\29\133\1\29\29\12\132\235\4\21\17\144\4\22\153\4\13\14\130\29\202\4\130\17\130\9\135\4\134\29\145\4\130\5\6\136\29\146\4\5\5\6\17\17\136\29\145\4\5\5\139\29\140\4\29\130\4\29\5\5\139\29\179\4\5\5\6\134\5\135\6\5\6\6\138\5\130\17\3\130\17\19\4\5\29\29\137\8\133\29\137\10\133\29\133\17\12\131\17\130\5\26\5\137\8\133\29\162\4\3\180\4\134\29\132\4\5\5\161\4\5\4\132\29\197\4\137\29\158\4\29\130\5\131\6\5\5\130\6\131\29\6\6\5\133\6\130\5\131\29\21\130\29\17\17\137\8\157\4\29\29\132\4\138\29\171\4\131\29\153\4\133\29\137\8\10\130\29\161\21\150\4\5\5\6\6\5\29\29\17\17\180\4\6\5\6\134\5\29\5\6\5\6\6\135\5\133\6\137\5\29\29\5\137\8\133\29\137\8\133\29\134\17\3\133\17\29\29\141\5\7\158\5\29\29\139\5\147\29\131\5\6\174\4\5\6\132\5\6\5\132\6\5\6\6\135\4\29\17\17\137\8\134\17\137\21\136\5\136\21\130\17\5\5\6\157\4\6\131\5\6\6\5\5\6\130\5\4\4\137\8\171\4\5\6\5\5\130\6\5\6\130\5\6\6\135\29\131\17\163\4\135\6\135\5\6\6\5\5\130\29\132\17\137\8\130\29\130\4\137\8\157\4\133\3\17\17\136\1\0\1\132\29\170\0\29\29\130\0\135\17\135\29\130\5\17\140\5\6\134\5\131\4\5\133\4\5\4\4\6\5\5\4\132\29\171\1\190\3\140\1\3\161\1\164\3\191\5\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\136\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\136\1\135\0\133\1\29\29\133\0\29\29\135\1\135\0\135\1\135\0\133\1\29\29\133\0\29\29\135\1\29\0\29\0\29\0\29\0\135\1\135\0\141\1\29\29\135\1\135\2\135\1\135\2\135\1\135\2\132\1\29\1\1\131\0\2\20\1\130\20\130\1\29\1\1\131\0\2\130\20\131\1\29\29\1\1\131\0\29\130\20\135\1\132\0\130\20\29\29\130\1\29\1\1\131\0\2\20\20\29\138\22\132\26\133\12\17\17\15\16\13\15\15\16\13\15\135\17\23\24\132\26\22\136\17\15\16\131\17\11\11\130\17\18\13\14\138\17\18\17\11\137\17\22\132\26\29\137\26\10\3\29\29\133\10\130\18\13\14\3\137\10\130\18\13\14\29\140\3\130\29\161\19\141\29\140\5\131\7\5\130\7\139\5\142\29\21\21\0\131\21\0\21\21\1\130\0\1\1\130\0\1\21\0\21\21\18\132\0\133\21\0\21\0\21\0\21\131\0\21\1\131\0\1\131\4\1\21\21\1\1\0\0\132\18\0\131\1\21\18\21\21\1\21\143\10\162\9\0\1\131\9\10\21\21\131\29\132\18\132\21\18\18\131\21\18\21\21\18\21\21\18\134\21\18\158\21\18\18\21\21\18\21\18\158\21\130\139\18\135\21\13\14\13\14\147\21\18\18\134\21\13\14\208\21\18\157\21\152\18\167\21\133\18\199\21\149\29\138\21\148\29\187\10\205\21\149\10\129\182\21\18\136\21\18\181\21\135\18\238\21\18\129\247\21\13\14\13\14\13\14\13\14\13\14\13\14\13\14\157\10\171\21\132\18\13\14\158\18\13\14\13\14\13\14\13\14\13\14\143\18\129\255\21\129\130\18\13\14\13\14\13\14\13\14\13\14\13\14\13\14\13\14\13\14\13\14\13\14\190\18\13\14\13\14\159\18\13\14\130\129\18\175\21\148\18\21\21\133\18\166\21\29\29\129\137\21\175\0\175\1\0\1\130\0\1\1\0\1\0\1\0\1\131\0\1\0\1\1\0\133\1\3\3\130\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\1\133\21\0\1\0\1\130\5\0\1\132\29\131\17\10\17\17\165\1\29\1\132\29\1\29\29\183\4\134\29\3\17\141\29\5\150\4\136\29\134\4\29\134\4\29\134\4\29\134\4\29\134\4\29\134\4\29\134\4\29\134\4\29\159\5\17\17\15\16\15\16\130\17\15\16\17\15\16\136\17\12\17\17\12\17\15\16\17\17\15\16\13\14\13\14\13\14\13\14\132\17\3\137\17\12\12\131\17\12\17\13\140\17\21\21\130\17\13\14\13\14\13\14\13\14\12\161\29\153\21\29\216\21\139\29\129\213\21\153\29\143\21\22\130\17\21\3\4\9\13\14\13\14\13\14\13\14\13\14\21\21\13\14\13\14\13\14\13\14\12\13\14\14\21\136\9\131\5\6\6\12\132\3\21\21\130\9\3\4\17\21\21\29\213\4\29\29\5\5\20\20\3\3\4\12\217\4\17\130\3\4\132\29\170\4\29\221\4\29\21\21\131\10\137\21\159\4\165\21\136\29\21\143\4\158\21\29\137\10\157\21\135\10\21\142\10\159\21\137\10\166\21\142\10\130\191\21\4\179\189\29\4\191\21\4\129\163\253\29\149\4\3\136\246\4\130\29\182\21\136\29\167\4\133\3\17\17\130\139\4\3\130\17\143\4\137\8\4\4\147\29\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\4\5\130\7\17\137\5\17\3\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\3\3\5\5\197\4\137\9\5\5\133\17\135\29\150\20\136\3\20\20\0\1\0\1\0\1\0\1\0\1\0\1\0\130\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\3\135\1\0\1\0\1\0\0\1\0\1\0\1\0\1\0\1\3\20\20\0\1\0\1\4\0\1\0\130\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\132\0\1\132\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\131\0\1\0\1\0\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\147\29\131\3\0\1\4\3\3\1\134\4\5\130\4\5\131\4\5\150\4\6\6\5\5\6\131\21\5\130\29\133\10\21\21\19\21\133\29\179\4\131\17\135\29\6\6\177\4\143\6\5\5\135\29\17\17\137\8\133\29\145\5\133\4\130\17\4\17\4\4\5\137\8\155\4\135\5\17\17\150\4\138\5\6\6\138\29\17\156\4\130\29\130\5\6\174\4\5\6\6\131\5\6\6\5\5\130\6\140\17\29\3\137\8\131\29\17\17\132\4\5\3\136\4\137\8\132\4\29\168\4\133\5\6\6\5\5\6\6\5\5\136\29\130\4\5\135\4\5\6\29\29\137\8\29\29\131\17\143\4\3\133\4\130\21\4\6\5\6\177\4\5\4\130\5\4\4\5\5\132\4\5\5\4\5\4\151\29\4\4\3\17\17\138\4\6\5\5\6\6\17\17\4\3\3\6\5\137\29\133\4\29\29\133\4\29\29\133\4\136\29\134\4\29\134\4\29\170\1\20\131\3\136\1\3\20\20\131\29\207\1\162\4\6\6\5\6\6\5\6\6\17\6\5\29\29\137\8\133\29\4\215\161\29\4\139\29\150\4\131\29\176\4\131\29\27\134\253\29\27\27\253\29\27\27\135\253\29\27\28\177\253\29\28\130\237\4\29\29\233\4\165\29\134\1\139\29\132\1\132\29\4\5\137\4\18\140\4\29\132\4\29\4\29\4\4\29\4\4\29\235\4\144\20\143\21\130\234\4\14\13\143\21\191\4\21\21\181\4\135\21\159\29\139\4\19\130\21\143\5\134\17\13\14\17\133\29\143\5\17\12\12\11\11\13\14\13\14\13\14\13\14\13\14\13\14\13\14\13\14\17\17\13\14\131\17\130\11\130\17\29\131\17\12\13\14\13\14\13\14\130\17\18\12\130\18\29\17\19\17\17\131\29\132\4\29\129\134\4\29\29\26\29\130\17\19\130\17\13\14\17\18\17\12\17\17\137\8\17\17\130\18\17\17\153\0\13\17\14\20\11\20\153\1\13\18\14\18\13\14\17\13\14\17\17\137\4\3\172\4\3\3\158\4\130\29\133\4\29\29\133\4\29\29\133\4\29\29\130\4\130\29\19\19\18\20\21\19\19\29\21\131\18\21\21\137\29\130\26\21\21\29\29\139\4\29\153\4\29\146\4\29\4\4\29\142\4\29\29\141\4\161\29\250\4\132\29\130\17\131\29\172\10\130\29\136\21\180\9\131\10\144\21\10\10\130\21\29\140\21\130\29\21\174\29\172\21\5\129\129\29\156\4\130\29\176\4\142\29\5\154\10\131\29\159\4\131\10\136\29\147\4\9\135\4\9\132\29\165\4\132\5\132\29\157\4\29\17\163\4\131\29\135\4\17\132\9\169\29\167\0\167\1\205\4\29\29\137\8\133\29\163\0\131\29\163\1\131\29\167\4\135\29\179\4\138\29\17\138\0\29\142\0\29\134\0\29\0\0\29\138\1\29\142\1\29\134\1\29\1\1\130\29\179\4\139\29\130\182\4\136\29\149\4\137\29\135\4\151\29\133\3\29\169\3\29\136\3\196\29\133\4\29\29\4\29\171\4\29\4\4\130\29\4\29\29\150\4\29\17\135\10\150\4\21\21\134\10\158\4\135\29\136\10\175\29\146\4\29\4\4\132\29\132\10\149\4\133\10\130\29\17\153\4\132\29\17\153\4\165\29\183\4\131\29\10\10\4\4\143\10\29\29\173\10\4\130\5\29\5\5\132\29\131\5\131\4\29\130\4\29\156\4\29\29\130\5\131\29\5\136\10\134\29\136\17\134\29\156\4\10\10\17\156\4\130\10\159\29\135\4\21\155\4\5\5\131\29\132\10\134\17\136\29\181\4\130\29\134\17\149\4\29\29\135\10\146\4\132\29\135\10\145\4\134\29\131\17\139\29\134\10\207\29\200\4\182\29\178\0\140\29\178\1\134\29\133\10\163\4\131\5\135\29\137\8\133\29\137\8\131\4\3\4\149\0\130\29\132\5\12\3\149\1\135\29\18\18\129\207\29\158\10\29\169\4\29\5\5\12\29\29\4\4\143\29\130\4\3\4\4\135\29\17\135\21\160\29\133\5\156\4\137\10\4\135\29\149\4\138\5\131\10\132\17\149\29\145\4\131\5\131\17\165\29\148\4\134\10\147\29\150\4\136\29\6\5\6\180\4\142\5\134\17\131\29\147\10\137\8\5\4\4\5\5\4\136\29\130\5\6\172\4\130\6\131\5\6\6\5\5\17\17\26\131\17\5\137\29\26\29\29\152\4\134\29\137\8\133\29\130\5\163\4\132\5\6\135\5\29\137\8\131\17\4\6\6\4\135\29\162\4\5\17\17\4\136\29\5\5\6\175\4\130\6\136\5\6\6\131\4\131\17\131\5\17\6\5\137\8\4\17\4\130\17\29\147\10\138\29\145\4\29\152\4\130\6\130\5\6\6\5\6\5\5\133\17\5\4\4\5\189\29\134\4\29\4\29\131\4\29\142\4\29\137\4\17\133\29\174\4\5\130\6\135\5\132\29\137\8\133\29\5\5\6\6\29\135\4\29\29\4\4\29\29\149\4\29\134\4\29\4\4\29\132\4\29\5\5\4\6\6\5\131\6\29\29\6\6\29\29\130\6\29\29\4\133\29\6\132\29\132\4\6\6\29\29\134\5\130\29\132\5\138\29\137\4\29\4\29\29\4\29\165\4\29\4\130\6\133\5\29\6\29\29\6\29\131\6\29\6\6\5\6\5\4\5\4\17\17\29\17\17\135\29\5\5\156\29\180\4\130\6\135\5\6\6\130\5\6\5\131\4\132\17\137\8\17\17\29\17\5\130\4\157\29\175\4\130\6\133\5\6\5\131\6\5\5\6\5\5\4\4\17\4\135\29\137\8\129\165\29\174\4\130\6\131\5\29\29\131\6\5\5\6\5\5\150\17\131\4\5\5\161\29\175\4\130\6\135\5\6\6\5\6\5\5\130\17\4\138\29\137\8\133\29\140\17\146\29\170\4\5\6\5\6\6\133\5\6\5\4\17\133\29\137\8\133\29\147\8\155\29\154\4\29\29\5\6\5\6\6\131\5\6\132\5\131\29\137\8\10\10\130\17\21\134\4\129\184\29\171\4\130\6\136\5\6\5\5\17\227\29\159\0\159\1\137\8\136\10\139\29\135\4\29\29\4\29\29\135\4\29\4\4\29\151\4\133\6\29\6\6\29\29\5\5\6\5\4\6\4\6\5\130\17\136\29\137\8\197\29\135\4\29\29\166\4\130\6\131\5\29\29\5\5\131\6\5\4\17\4\6\154\29\4\137\5\167\4\133\5\6\4\131\5\135\17\5\135\29\4\133\5\6\6\130\5\173\4\140\5\6\5\5\130\17\4\132\17\140\29\200\4\134\29\137\17\213\29\5\6\130\5\6\5\6\215\29\160\4\17\141\29\137\8\133\29\136\4\29\164\4\6\134\5\29\133\5\6\5\4\132\17\137\29\137\8\146\10\130\29\17\17\157\4\29\29\149\5\29\6\134\5\6\5\5\6\5\5\200\29\134\4\29\4\4\29\165\4\133\5\130\29\5\29\5\5\29\134\5\4\5\135\29\137\8\133\29\133\4\29\4\4\29\159\4\132\6\29\5\5\29\6\6\5\6\5\4\134\29\137\8\133\29\168\4\3\4\4\131\29\137\8\129\245\29\146\4\5\5\6\6\17\17\134\29\5\5\4\6\140\4\29\161\4\6\6\132\5\130\29\6\6\5\6\5\140\17\137\8\5\212\29\4\142\29\148\10\135\21\131\19\144\21\140\29\17\135\153\4\229\29\238\9\29\132\17\138\29\129\195\4\148\203\29\224\4\17\17\140\29\136\175\4\143\26\5\133\4\142\5\137\29\159\154\4\132\29\132\198\4\181\184\29\157\4\139\5\130\6\130\5\137\8\141\197\29\132\184\4\134\29\158\4\29\137\8\131\29\17\17\206\4\29\137\8\133\29\157\4\29\29\132\5\17\137\29\175\4\134\5\132\17\131\21\131\3\17\21\137\29\137\8\29\134\10\29\148\4\132\29\146\4\131\175\29\130\3\167\4\3\3\130\17\137\8\129\197\29\159\0\159\1\150\10\131\17\132\29\152\0\29\29\152\1\171\29\202\4\131\29\5\4\182\6\134\29\131\5\140\3\191\29\3\3\17\3\5\138\29\6\6\3\3\130\9\136\29\4\175\253\29\137\214\4\168\29\4\4\156\29\4\224\29\242\4\195\252\29\131\3\29\134\3\29\3\3\29\130\162\4\142\29\4\156\29\130\4\29\29\4\141\29\131\4\135\29\131\139\4\146\131\29\234\4\132\29\140\4\130\29\136\4\134\29\137\4\29\29\21\5\5\17\131\26\158\219\29\129\239\21\137\8\130\21\130\29\131\179\21\133\29\150\21\142\29\143\21\18\142\29\173\5\29\29\150\5\136\29\243\21\187\29\129\245\21\137\29\166\21\29\29\187\21\6\6\130\5\130\21\133\6\135\26\135\5\21\21\134\5\157\21\131\5\188\21\148\29\193\21\130\5\21\249\29\147\10\139\29\147\10\139\29\214\21\136\29\152\10\129\134\29\153\0\153\1\153\0\134\1\29\145\1\153\0\153\1\0\29\0\0\29\29\0\29\29\0\0\29\29\131\0\29\135\0\131\1\29\1\29\134\1\29\138\1\153\0\153\1\0\0\29\131\0\29\29\135\0\29\134\0\29\153\1\0\0\29\131\0\29\132\0\29\0\130\29\134\0\29\153\1\153\0\153\1\153\0\153\1\153\0\153\1\153\0\153\1\153\0\153\1\153\0\155\1\29\29\152\0\18\152\1\18\133\1\152\0\18\152\1\18\133\1\152\0\18\152\1\18\133\1\152\0\18\152\1\18\133\1\152\0\18\152\1\18\133\1\0\1\29\29\177\8\131\255\21\182\5\131\21\177\5\135\21\5\141\21\5\21\21\132\17\142\29\132\5\29\142\5\136\207\29\137\1\4\147\1\133\29\133\1\129\212\29\134\5\29\144\5\29\29\134\5\29\5\5\29\132\5\132\29\189\3\160\29\5\239\29\172\4\130\29\134\5\134\3\29\29\137\8\131\29\4\21\130\191\29\157\4\5\144\29\171\4\131\5\137\8\132\29\19\131\207\29\154\4\3\131\5\137\8\129\213\29\157\4\5\5\4\137\8\131\29\17\129\191\29\158\4\29\130\4\5\4\4\5\134\4\5\5\132\4\5\135\29\4\3\129\223\29\134\4\29\131\4\29\4\4\29\142\4\29\129\196\4\29\29\136\10\134\5\168\29\161\0\161\1\134\5\3\131\29\137\8\131\29\17\17\134\144\29\186\10\21\130\10\19\131\10\203\29\172\10\21\142\10\129\193\29\131\4\29\154\4\29\4\4\29\4\29\29\4\29\137\4\29\131\4\29\4\29\4\133\29\4\131\29\4\29\4\29\4\29\130\4\29\4\4\29\4\29\29\4\29\4\29\4\29\4\29\4\29\4\4\29\4\29\29\131\4\29\134\4\29\131\4\29\131\4\29\4\29\137\4\29\144\4\132\29\130\4\29\132\4\29\144\4\179\29\18\18\130\141\29\171\21\131\29\227\21\139\29\142\21\29\29\142\21\29\142\21\29\164\21\137\29\140\10\129\160\21\183\29\156\21\140\29\171\21\131\29\136\21\134\29\21\21\141\29\133\21\129\153\29\129\250\21\132\20\133\216\21\130\29\144\21\130\29\140\21\130\29\129\217\21\133\29\139\21\131\29\21\142\29\139\21\131\29\183\21\135\29\137\21\133\29\167\21\135\29\157\21\29\29\139\21\131\29\21\21\141\29\136\18\166\29\130\215\21\135\29\141\21\29\29\140\21\130\29\138\21\130\29\184\21\29\21\131\29\143\21\29\29\139\21\131\29\137\21\134\29\129\146\21\29\219\21\137\8\21\136\132\29\4\130\205\221\29\4\159\29\4\160\189\29\4\4\129\219\29\4\29\29\4\173\139\29\4\29\29\4\186\174\29\4\142\29\4\132\235\29\4\147\161\29\132\157\4\139\225\29\4\166\200\29\4\132\29\4\160\221\29\4\4\161\199\29\4\171\151\134\29\26\157\29\223\26\255\29\129\239\5\131\252\143\29\28\131\255\251\29\28\29\29\28\131\255\251\29\28" + + tcTable :: [(Int, Int, Int)] + tcTable = diff --git a/pkgs/development/compilers/microhs/stage1.nix b/pkgs/development/compilers/microhs/stage1.nix new file mode 100644 index 000000000000..625f1e05ac44 --- /dev/null +++ b/pkgs/development/compilers/microhs/stage1.nix @@ -0,0 +1,36 @@ +{ + lib, + args, + microhs-boot, + stdenv, +}: + +stdenv.mkDerivation ( + finalAttrs: + let + args' = args finalAttrs; + in + args' + // { + pname = "microhs-stage1"; + patches = + (args'.patches or [ ]) + ++ lib.optionals microhs-boot.usesHugs [ + patches/simple-unicode.patch + ]; + + makeFlags = [ "PREFIX=${placeholder "out"}" ]; + installTargets = [ + "targets.conf" + "oldinstall" + ]; + + buildPhase = '' + runHook preBuild + mkdir -p bin + printf 'Building bin/mhs using ${microhs-boot}/bin/mhs\n' + ${microhs-boot}/bin/mhs -l -imhs -isrc -ipaths MicroHs.Main -o bin/mhs + runHook postBuild + ''; + } +) diff --git a/pkgs/development/compilers/microhs/stage2.nix b/pkgs/development/compilers/microhs/stage2.nix new file mode 100644 index 000000000000..fa8b9d3640f3 --- /dev/null +++ b/pkgs/development/compilers/microhs/stage2.nix @@ -0,0 +1,61 @@ +{ + args, + cpphs, + microcabal-stage1, + microhs-stage1, + stdenv, + callPackage, +}: + +stdenv.mkDerivation ( + finalAttrs: + let + args' = args finalAttrs; + haskellCompilerName = "mhs-${args'.version}"; + in + args' + // { + pname = "microhs"; + + nativeBuildInputs = [ + microcabal-stage1 + microhs-stage1 + ]; + + env = { + CABALDIR = "${placeholder "out"}/lib/mcabal"; + }; + + dontBuild = true; + + installPhase = '' + runHook preInstall + + pushd lib + mcabal -v install + popd + mcabal -v install + + mkdir -p $out/bin + ln -s ../lib/mcabal/bin/mhs $out/bin/mhs + + runHook postInstall + ''; + + passthru = { + inherit + haskellCompilerName + cpphs + microcabal-stage1 + microhs-stage1 + ; + targetPrefix = ""; + isMhs = true; + usesHugs = false; + + tests = { + hello-world = callPackage ./test-hello-world.nix { microhs = finalAttrs.finalPackage; }; + }; + }; + } +) diff --git a/pkgs/by-name/mi/microhs/test-hello-world.nix b/pkgs/development/compilers/microhs/test-hello-world.nix similarity index 100% rename from pkgs/by-name/mi/microhs/test-hello-world.nix rename to pkgs/development/compilers/microhs/test-hello-world.nix diff --git a/pkgs/development/compilers/microhs/wrapper.nix b/pkgs/development/compilers/microhs/wrapper.nix new file mode 100644 index 000000000000..50b496bb7b41 --- /dev/null +++ b/pkgs/development/compilers/microhs/wrapper.nix @@ -0,0 +1,52 @@ +{ + lib, + runCommand, + runtimeShell, + writeShellScript, +}: + +{ + microhs, + packages, +}: + +let + packages' = [ microhs ] ++ lib.filter (p: p != null) packages; + extraFlags = lib.concatMapStringsSep " " ( + p: "-a${p}/lib/mcabal/${microhs.haskellCompilerName}" + ) packages'; + + wrapper = writeShellScript "mhs-wrapper" '' + args=("$@") + noExtra=0 + for ((i=0; i<"''${#args[@]}"; ++i)); do + case "''${args[i]}" in + --version | --numeric-version) + noExtra=1 + ;; + *) + ;; + esac + done + if test "$noExtra" -eq 0; then + for arg in ${extraFlags}; do + args[i++]="$arg" + done + fi + if (( "''${NIX_DEBUG:-0}" >= 1 )); then + printf 'mhs-wrapper: mhs %s\n' "''${args[*]}" >&2 + fi + exec ${microhs}/bin/mhs "''${args[@]}" + ''; + +in +runCommand "${microhs.name}-wrapped" + { + inherit (microhs) passthru; + } + '' + mkdir -p $out/bin + cp -rs ${microhs}/bin/* $out/bin/ + rm $out/bin/mhs 2>/dev/null || true + cp ${wrapper} $out/bin/mhs + '' diff --git a/pkgs/development/haskell-modules/configuration-microhs.nix b/pkgs/development/haskell-modules/configuration-microhs.nix new file mode 100644 index 000000000000..bdf91c6423ed --- /dev/null +++ b/pkgs/development/haskell-modules/configuration-microhs.nix @@ -0,0 +1,78 @@ +{ pkgs, haskellLib }: + +with haskellLib; + +self: super: { + # Disable MicroHs core libraries + base = null; + bytestring = null; + deepseq = null; + directory = null; + process = null; + text = null; + MicroHs = null; + + # External MicroHs core libraries + ghc-compat = markUnbroken super.ghc-compat; + + # Bootstrap MicroCabal + MicroCabal = self.mkDerivation { + pname = "MicroCabal"; + version = self.ghc.microcabal-stage1.version; + src = self.ghc.microcabal-stage1.src; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = with self; [ base ]; + inherit (self.ghc.microcabal-stage1.meta) + description + homepage + license + mainProgram + maintainers + ; + }; + + # hackage-packages does not include GHC core libraries + binary = self.binary_0_8_9_3; + Cabal = self.Cabal_3_16_1_0; + Cabal-syntax = self.Cabal-syntax_3_16_1_0; + containers = self.containers_0_8; + exceptions = self.exceptions_0_10_12; + filepath = self.filepath_1_5_5_0; + ghc-bignum = null; + ghc-boot = null; + ghc-boot-th = null; + ghc-compact = null; + ghc-heap = null; + ghc-internal = null; + ghc-platform = null; + ghc-prim = null; + ghci = null; + haskeline = self.haskeline_0_8_4_1; + hpc = self.hpc_0_7_0_2; + integer-gmp = self.integer-gmp_1_1; + libiserv = null; + mtl = self.mtl_2_3_2; + os-string = self.os-string_2_0_10; + parsec = self.parsec_3_1_18_0; + pretty = self.pretty_1_1_3_6; + rts = null; + semaphore-compat = null; + stm = null; + system-cxx-std-lib = null; + template-haskell = null; + terminfo = self.terminfo_0_4_1_7; + time = self.time_1_15; + transformers = self.transformers_0_6_3_0; + unix = self.unix_2_8_8_0; + xhtml = self.xhtml_3000_4_0_0; + + # MicroHs replacements for widely used libraries + array = self.array-mhs; + array-mhs = markUnbroken super.array-mhs; + random = self.random-mhs; + random-mhs = markUnbroken super.random-mhs; + + # Depends on time when not using GHC + splitmix = addBuildDepends [ self.time ] super.splitmix; +} diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix index 70998a96e822..f413d9b198a3 100644 --- a/pkgs/development/haskell-modules/make-package-set.nix +++ b/pkgs/development/haskell-modules/make-package-set.nix @@ -48,50 +48,64 @@ let inherit (lib) fix' extends makeOverridable; inherit (haskellLib) overrideCabal; - mkDerivationImpl = pkgs.callPackage ./generic-builder.nix { - inherit stdenv haskellLib; - nodejs = buildPackages.nodejs-slim; - inherit (self) - buildHaskellPackages - ghc - ghcWithHoogle - ghcWithPackages - ; - iserv-proxy = { - build = buildHaskellPackages.iserv-proxy; - host = self.iserv-proxy; - }; - inherit (self.buildHaskellPackages) jailbreak-cabal; - hscolour = overrideCabal (drv: { - isLibrary = false; - doHaddock = false; - hyperlinkSource = false; # Avoid depending on hscolour for this build. - postFixup = "rm -rf $out/lib $out/share $out/nix-support"; - }) self.buildHaskellPackages.hscolour; - cpphs = - overrideCabal - (drv: { - isLibrary = false; - postFixup = "rm -rf $out/lib $out/share $out/nix-support"; - }) - ( - self.cpphs.overrideScope ( - self: super: { - mkDerivation = - drv: - super.mkDerivation ( - drv - // { - enableSharedExecutables = false; - enableSharedLibraries = false; - doHaddock = false; - useCpphs = false; - } - ); - } - ) - ); - }; + builder = if !(ghc.isMhs or false) then ./generic-builder.nix else ./microhs-builder.nix; + + mkDerivationImpl = pkgs.callPackage builder ( + { + inherit stdenv; + inherit (self) + buildHaskellPackages + ghc + ; + inherit (self.buildHaskellPackages) jailbreak-cabal; + } + // lib.optionalAttrs (!(ghc.isMhs or false)) { + inherit haskellLib; + inherit (self) + ghcWithHoogle + ghcWithPackages + ; + nodejs = buildPackages.nodejs-slim; + iserv-proxy = { + build = buildHaskellPackages.iserv-proxy; + host = self.iserv-proxy; + }; + hscolour = overrideCabal (drv: { + isLibrary = false; + doHaddock = false; + hyperlinkSource = false; # Avoid depending on hscolour for this build. + postFixup = "rm -rf $out/lib $out/share $out/nix-support"; + }) self.buildHaskellPackages.hscolour; + cpphs = + overrideCabal + (drv: { + isLibrary = false; + postFixup = "rm -rf $out/lib $out/share $out/nix-support"; + }) + ( + self.cpphs.overrideScope ( + self: super: { + mkDerivation = + drv: + super.mkDerivation ( + drv + // { + enableSharedExecutables = false; + enableSharedLibraries = false; + doHaddock = false; + useCpphs = false; + } + ); + } + ) + ); + } + // lib.optionalAttrs (ghc.isMhs or false) { + inherit (self) wrapMhs ghc-compat; + MicroCabal = self.ghc.microcabal-stage1; + cpphs = self.ghc.cpphs; + } + ); mkDerivation = makeOverridable mkDerivationImpl; @@ -663,6 +677,8 @@ package-set { inherit pkgs lib callPackage; } self withHoogle = self.ghcWithHoogle; }; + wrapMhs = pkgs.callPackage ../compilers/microhs/wrapper.nix { }; + /* Run `cabal sdist` on a source. diff --git a/pkgs/development/haskell-modules/microhs-builder.nix b/pkgs/development/haskell-modules/microhs-builder.nix new file mode 100644 index 000000000000..1a4363d8a372 --- /dev/null +++ b/pkgs/development/haskell-modules/microhs-builder.nix @@ -0,0 +1,420 @@ +{ + buildHaskellPackages, + buildPackages, + fetchurl, + ghc, + jailbreak-cabal, + lib, + MicroCabal, + cpphs, + ghc-compat, + pkg-config, + runCommandCC, + stdenv, + wrapMhs, +}: + +let + # make-package-set always names the compiler ghc + compiler = ghc; + + isCross = stdenv.buildPlatform != stdenv.hostPlatform; + +in +{ + pname, + version, + revision ? null, + sha256 ? null, + src ? fetchurl { + url = "mirror://hackage/${pname}-${version}.tar.gz"; + inherit sha256; + }, + # Extra environment variables to set during the build. + # See: `../../../doc/languages-frameworks/haskell.section.md` + env ? { }, + buildDepends ? [ ], + setupHaskellDepends ? [ ], + libraryHaskellDepends ? [ ], + executableHaskellDepends ? [ ], + buildTools ? [ ], + libraryToolDepends ? [ ], + executableToolDepends ? [ ], + testToolDepends ? [ ], + benchmarkToolDepends ? [ ], + configureFlags ? [ ], + description ? null, + doCheck ? !isCross, + doBenchmark ? false, + editedCabalFile ? null, + extraLibraries ? [ ], + librarySystemDepends ? [ ], + executableSystemDepends ? [ ], + # On macOS, statically linking against system frameworks is not supported; + # see https://developer.apple.com/library/content/qa/qa1118/_index.html + # They must be propagated to the environment of any executable linking with the library + libraryFrameworkDepends ? [ ], + executableFrameworkDepends ? [ ], + homepage ? "https://hackage.haskell.org/package/${pname}", + platforms ? with lib.platforms; all, # GHC can cross-compile + badPlatforms ? lib.platforms.none, + hydraPlatforms ? null, + isExecutable ? false, + isLibrary ? !isExecutable, + jailbreak ? false, + license, + maintainers ? null, + teams ? null, + changelog ? null, + mainProgram ? null, + passthru ? { }, + pkg-configDepends ? [ ], + libraryPkgconfigDepends ? [ ], + executablePkgconfigDepends ? [ ], + testPkgconfigDepends ? [ ], + benchmarkPkgconfigDepends ? [ ], + testDepends ? [ ], + testHaskellDepends ? [ ], + testSystemDepends ? [ ], + testFrameworkDepends ? [ ], + benchmarkDepends ? [ ], + benchmarkHaskellDepends ? [ ], + benchmarkSystemDepends ? [ ], + benchmarkFrameworkDepends ? [ ], + broken ? false, + preCompileBuildDriver ? null, + postCompileBuildDriver ? null, + preUnpack ? null, + postUnpack ? null, + patches ? null, + patchPhase ? null, + prePatch ? "", + postPatch ? "", + preConfigure ? null, + postConfigure ? null, + preBuild ? null, + postBuild ? null, + preHaddock ? null, + postHaddock ? null, + installPhase ? null, + preInstall ? null, + postInstall ? null, + checkPhase ? null, + preCheck ? null, + postCheck ? null, + preFixup ? null, + postFixup ? null, + shellHook ? "", + ... +}@args: + +assert editedCabalFile != null -> revision != null; + +let + allPkgconfigDepends = + pkg-configDepends + ++ libraryPkgconfigDepends + ++ executablePkgconfigDepends + ++ lib.optionals doCheck testPkgconfigDepends + ++ lib.optionals doBenchmark benchmarkPkgconfigDepends; + + # MicroCabal adds a dependency on ghc-compat unless the package name is one of the following + isCorePkg = pname == "base" || pname == "ghc-compat" || pname == "MicroHs" || pname == "MicroCabal"; + buildDepends' = buildDepends ++ lib.optional (!isCorePkg) ghc-compat; + + depsBuildBuild = lib.optionals (!stdenv.hasCC) [ buildPackages.stdenv.cc ]; + collectedToolDepends = + buildTools + ++ libraryToolDepends + ++ executableToolDepends + ++ lib.optionals doCheck testToolDepends + ++ lib.optionals doBenchmark benchmarkToolDepends; + nativeBuildInputs = [ + MicroCabal + cpphs + compilerWithPkgs + buildPackages.removeReferencesTo + ]; + propagatedBuildInputs = + buildDepends' ++ libraryHaskellDepends ++ executableHaskellDepends ++ libraryFrameworkDepends; + otherBuildInputsHaskell = + lib.optionals doCheck (testDepends ++ testHaskellDepends) + ++ lib.optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends); + otherBuildInputsSystem = + extraLibraries + ++ librarySystemDepends + ++ executableSystemDepends + ++ executableFrameworkDepends + ++ allPkgconfigDepends + ++ lib.optionals doCheck (testSystemDepends ++ testFrameworkDepends) + ++ lib.optionals doBenchmark (benchmarkSystemDepends ++ benchmarkFrameworkDepends); + otherBuildInputs = otherBuildInputsHaskell ++ otherBuildInputsSystem; + + newCabalFileUrl = "mirror://hackage/${pname}-${version}/revision/${revision}.cabal"; + newCabalFile = fetchurl { + url = newCabalFileUrl; + sha256 = editedCabalFile; + name = "${pname}-${version}-r${revision}.cabal"; + }; + + hsLibBuildInputs = lib.filter (p: p ? isHaskellLibrary && p.isHaskellLibrary) propagatedBuildInputs; + compilerWithPkgs = wrapMhs { + microhs = compiler; + packages = hsLibBuildInputs; + }; + + compilerCommand' = "mhs"; + compilerCommand = "${compiler.targetPrefix}${compilerCommand'}"; + + compilerLibdir = "lib/mcabal/${compiler.haskellCompilerName}"; + + env' = { + CABALDIR = "${placeholder "out"}/lib/mcabal"; + } + // env; + +in +stdenv.mkDerivation { + inherit pname version; + + pos = builtins.unsafeGetAttrPos "pname" args; + + prePhases = [ "setupCompilerEnvironmentPhase" ]; + preConfigurePhases = [ "compileBuildDriverPhase" ]; + preInstallPhases = [ "haddockPhase" ]; + + inherit src patches; + + inherit depsBuildBuild nativeBuildInputs; + buildInputs = lib.optionals (!isLibrary) propagatedBuildInputs; + propagatedBuildInputs = lib.optionals isLibrary propagatedBuildInputs; + + env = env'; + + prePatch = + lib.optionalString (editedCabalFile != null) '' + echo "Replace Cabal file with edited version from ${newCabalFileUrl}." + cp ${newCabalFile} ${pname}.cabal + '' + + prePatch; + + postPatch = + lib.optionalString jailbreak '' + echo "Run jailbreak-cabal to lift version restrictions on build inputs." + ${jailbreak-cabal}/bin/jailbreak-cabal ${pname}.cabal + '' + + postPatch; + + setupCompilerEnvironmentPhase = '' + runHook preSetupCompilerEnvironment + + echo "Building with ${compilerWithPkgs}" + mkdir -p "$CABALDIR/${compiler.haskellCompilerName}/packages" + ${lib.concatMapStrings (p: '' + ln -s ${p}/${compilerLibdir}/packages/${p.name}.pkg $CABALDIR/${compiler.haskellCompilerName}/packages/${p.name}.pkg + '') (lib.closePropagation hsLibBuildInputs)} + + runHook postSetupCompilerEnvironment + ''; + + compileBuildDriverPhase = '' + runHook preCompileBuildDriver + + runHook postCompileBuildDriver + ''; + + buildPhase = '' + runHook preBuild + + echo "Skipping buildPhase because MicroCabal always builds on install" + + runHook postBuild + ''; + + inherit doCheck; + + checkPhase = '' + runHook preCheck + + echo "Skipping checkPhase because MicroCabal doesn't support test suites" + + runHook postCheck + ''; + + haddockPhase = '' + runHook preHaddock + + echo "Skipping haddockPhase because MicroCabal doesn't support Haddock" + + runHook postHaddock + ''; + + installPhase = '' + runHook preInstall + + mcabal -v ${lib.concatStringsSep " " configureFlags} install + mkdir -p $out/bin + find "$CABALDIR/bin" -type f -exec ln -s '{}' "$out/bin/" \; || true + find "$CABALDIR/${compiler.haskellCompilerName}/packages" -type l -delete + + runHook postInstall + ''; + + inherit + preCompileBuildDriver + postCompileBuildDriver + preUnpack + postUnpack + preConfigure + postConfigure + preBuild + postBuild + preHaddock + postHaddock + preInstall + postInstall + preCheck + postCheck + preFixup + postFixup + ; + + passthru = passthru // rec { + inherit pname version; + + compiler = ghc; + + # All this information is intended just for `shellFor`. It should be + # considered unstable and indeed we knew how to keep it private we would. + getCabalDeps = { + inherit + buildDepends' + buildTools + executableFrameworkDepends + executableHaskellDepends + executablePkgconfigDepends + executableSystemDepends + executableToolDepends + extraLibraries + libraryFrameworkDepends + libraryHaskellDepends + libraryPkgconfigDepends + librarySystemDepends + libraryToolDepends + pkg-configDepends + setupHaskellDepends + ; + } + // lib.optionalAttrs doCheck { + inherit + testDepends + testFrameworkDepends + testHaskellDepends + testPkgconfigDepends + testSystemDepends + testToolDepends + ; + } + // lib.optionalAttrs doBenchmark { + inherit + benchmarkDepends + benchmarkFrameworkDepends + benchmarkHaskellDepends + benchmarkPkgconfigDepends + benchmarkSystemDepends + benchmarkToolDepends + ; + }; + + # Attributes for the old definition of `shellFor`. Should be removed but + # this predates the warning at the top of `getCabalDeps`. + getBuildInputs = rec { + inherit propagatedBuildInputs otherBuildInputs allPkgconfigDepends; + haskellBuildInputs = isHaskellPartition.right; + systemBuildInputs = isHaskellPartition.wrong; + isHaskellPartition = lib.partition (x: x ? isHaskellLibrary) ( + propagatedBuildInputs ++ otherBuildInputs ++ depsBuildBuild ++ nativeBuildInputs + ); + }; + + isHaskellLibrary = isLibrary; + + haddockDir = null; + + # Creates a derivation containing all of the necessary dependencies for building the + # parent derivation. The attribute set that it takes as input can be viewed as: + # + # { withHoogle } + # + # The derivation that it builds contains no outpaths because it is meant for use + # as an environment + # + # # Example use + # # Creates a shell with all of the dependencies required to build the "hello" package, + # # and with python: + # + # > nix-shell -E 'with (import {}); \ + # > haskellPackages.hello.envFunc { buildInputs = [ python ]; }' + envFunc = + { + # Unsupported + withHoogle ? false, + }: + let + name = "microhs-shell-for-${pname}"; + + compilerCommandCaps = lib.toUpper compilerCommand'; + in + runCommandCC name { + inherit shellHook; + + nativeBuildInputs = [ + compilerWithPkgs + ] + ++ lib.optional (allPkgconfigDepends != [ ]) pkg-config + ++ collectedToolDepends; + buildInputs = otherBuildInputsSystem; + + env = { + "NIX_${compilerCommandCaps}" = "${compiler}/bin/${compilerCommand}"; + # TODO: is this still valid? + "NIX_${compilerCommandCaps}_LIBDIR" = "${compiler}/${compilerLibdir}"; + } + // lib.optionalAttrs (stdenv.buildPlatform.libc == "glibc") { + # TODO: Why is this written in terms of `buildPackages`, unlike + # the outer `env`? + # + # According to @sternenseemann [1]: + # + # > The condition is based on `buildPlatform`, so it needs to + # > match. `LOCALE_ARCHIVE` is set to accompany `LANG` which + # > concerns things we execute on the build platform like + # > `haddock`. + # > + # > Arguably the outer non `buildPackages` one is incorrect and + # > probably works by accident in most cases since the locale + # > archive is not platform specific (the trouble is that it + # > may sometimes be impossible to cross-compile). At least + # > that would be my assumption. + # + # [1]: https://github.com/NixOS/nixpkgs/pull/424368#discussion_r2202683378 + LOCALE_ARCHIVE = "${buildPackages.glibcLocales}/lib/locale/locale-archive"; + } + // env'; + } "echo $nativeBuildInputs $buildInputs > $out"; + + env = envFunc { }; + }; + + meta = { + inherit homepage license platforms; + } + // lib.optionalAttrs (args ? broken) { inherit broken; } + // lib.optionalAttrs (args ? description) { inherit description; } + // lib.optionalAttrs (args ? maintainers) { inherit maintainers; } + // lib.optionalAttrs (args ? teams) { inherit teams; } + // lib.optionalAttrs (args ? hydraPlatforms) { inherit hydraPlatforms; } + // lib.optionalAttrs (args ? badPlatforms) { inherit badPlatforms; } + // lib.optionalAttrs (args ? changelog) { inherit changelog; } + // lib.optionalAttrs (args ? mainProgram) { inherit mainProgram; }; +} diff --git a/pkgs/development/tools/haskell/microcabal/0.5.3.0-31f1b5dec81561a1b1d36b8e3065ce091dce2ec6.nix b/pkgs/development/tools/haskell/microcabal/0.5.3.0-31f1b5dec81561a1b1d36b8e3065ce091dce2ec6.nix new file mode 100644 index 000000000000..9917f7b4cd29 --- /dev/null +++ b/pkgs/development/tools/haskell/microcabal/0.5.3.0-31f1b5dec81561a1b1d36b8e3065ce091dce2ec6.nix @@ -0,0 +1,7 @@ +import ./common.nix rec { + # MicroCabal has important changes to mirror some changes in MicroHs but its + # version releases are not frequent enough, so we need to use newer commits + version = "0.5.3.0-${rev}"; + rev = "31f1b5dec81561a1b1d36b8e3065ce091dce2ec6"; + hash = "sha256-/oTcWGA43KQwniQKyZEPOlpmoRusDjb+k29GWc8wZzw="; +} diff --git a/pkgs/development/tools/haskell/microcabal/common.nix b/pkgs/development/tools/haskell/microcabal/common.nix new file mode 100644 index 000000000000..bbe7773fbfa7 --- /dev/null +++ b/pkgs/development/tools/haskell/microcabal/common.nix @@ -0,0 +1,69 @@ +{ + version, + rev, + hash, +}: + +{ + lib, + microhs, + stdenv, + fetchFromGitHub, + fetchpatch, +}: + +stdenv.mkDerivation { + pname = "microcabal-stage1"; + inherit version; + + src = fetchFromGitHub { + owner = "augustss"; + repo = "MicroCabal"; + inherit rev hash; + }; + + patches = [ + (fetchpatch { + # https://github.com/augustss/MicroCabal/pull/23 + name = "remove-mtl-mhs-override.patch"; + url = "https://github.com/AlexandreTunstall/MicroCabal/commit/ad30461aaf3dd295f4f5cf5db12635e42557cbfa.patch"; + hash = "sha256-Gmlt76C19ZtCHpKyNim0ggtjXnVuq5F0ywvX8BW15uM="; + }) + (fetchpatch { + # https://github.com/augustss/MicroCabal/pull/34 + name = "package-install-path.patch"; + url = "https://github.com/augustss/MicroCabal/commit/dc358bbab312e1788564fbb36f835347c21792c0.patch"; + hash = "sha256-aUQwuyp+ihXZ9PeSCqGUylcvzA6/ktZyeyBXiEoVY54="; + }) + (fetchpatch { + # https://github.com/augustss/MicroCabal/pull/34 + name = "package-search-path.patch"; + url = "https://github.com/augustss/MicroCabal/commit/3898e5f0596a7391818a0a2cfa994317cda62479.patch"; + hash = "sha256-76yEUpzH5xZZt3U+BCSqyWsImfpOEowupd5YCaYVTO0="; + }) + ]; + + makeFlags = [ + "MHS=${microhs}/bin/mhs" + "MHSDIR=${microhs}/lib/mhs" + ]; + + installPhase = '' + runHook preInstall + install -m755 -d $out/bin + install -m755 bin/mcabal $out/bin/mcabal + runHook postInstall + ''; + + meta = { + description = "A partial Cabal replacement"; + longDescription = '' + A portable subset of the Cabal functionality. + ''; + homepage = "https://github.com/augustss/MicroCabal"; + license = lib.licensesSpdx."Apache-2.0"; + mainProgram = "mcabal"; + maintainers = with lib.maintainers; [ AlexandreTunstall ]; + platforms = lib.platforms.all; + }; +} diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 5c5c7fff8c94..a8146c05d831 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -68,6 +68,9 @@ let ghc910 = sets.ghc9103; ghc912 = sets.ghc9122; ghc914 = sets.ghc9141; + + microhs_0_15 = sets.microhs_0_15_4_0; + microhs = sets.microhs_0_15; }; in { @@ -220,15 +223,24 @@ in # with "native" and "gmp" backends. native-bignum = let - nativeBignumGhcNames = pkgs.lib.filter (name: !(builtins.elem name nativeBignumExcludes)) ( - pkgs.lib.attrNames compiler - ); + isNativeBignumGhc = + name: + !(builtins.elem name nativeBignumExcludes) && !(compiler.${name} ? isMhs && compiler.${name}.isMhs); + nativeBignumGhcNames = pkgs.lib.filter isNativeBignumGhc (pkgs.lib.attrNames compiler); in pkgs.lib.recurseIntoAttrs ( pkgs.lib.genAttrs nativeBignumGhcNames ( name: compiler.${name}.override { enableNativeBignum = true; } ) ); + + microhs-boot = callPackage ../development/compilers/microhs/boot.nix { + microhs-src = bb.compiler.microhs_0_15_4_0; + }; + + microhs_0_15_4_0 = callPackage ../development/compilers/microhs/0.15.4.0.nix { + inherit (bb.compiler) microhs-boot; + }; } // chooseDefaultVersions compiler // pkgs.lib.optionalAttrs config.allowAliases { @@ -332,6 +344,13 @@ in buildHaskellPackages = bh.packages.native-bignum.${name}; } ); + + microhs_0_15_4_0 = callPackage ../development/haskell-modules { + buildHaskellPackages = bh.packages.microhs_0_15_4_0; + ghc = bh.compiler.microhs_0_15_4_0; + compilerConfig = callPackage ../development/haskell-modules/configuration-microhs.nix { }; + packageSetConfig = bootstrapPackageSet; + }; } // chooseDefaultVersions packages // pkgs.lib.optionalAttrs config.allowAliases { From 903ce1aac6c503cd4f8a091dbb849e226948e0b8 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Wed, 8 Apr 2026 17:04:50 +0200 Subject: [PATCH 103/113] microhs: make alias/shortcut for haskell.compiler.microhs --- pkgs/top-level/all-packages.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 11eb191e29f0..f7125655a811 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4265,6 +4265,9 @@ with pkgs; haskell.compiler.ghc910 ); + # TODO(@NixOS/haskell): deprecate this alias? + microhs = targetPackages.haskell.packages.microhs.ghc or haskell.compiler.microhs; + alex = haskell.lib.compose.justStaticExecutables haskellPackages.alex; happy = haskell.lib.compose.justStaticExecutables haskellPackages.happy; From 74f842ffbed24fdce1f702e7b3e71e2b06ceb431 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Wed, 8 Apr 2026 17:05:16 +0200 Subject: [PATCH 104/113] top-level/release-haskell.nix: test some pkgs with MicroHs --- pkgs/top-level/release-haskell.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix index 1515645fb40e..fab634c34802 100644 --- a/pkgs/top-level/release-haskell.nix +++ b/pkgs/top-level/release-haskell.nix @@ -574,6 +574,23 @@ let compilerNames.ghc9122 compilerNames.ghc9123 ] released; + + # MicroHs + array = [ + compilerNames.microhs + ]; + ghc-compat = [ + compilerNames.microhs + ]; + hscolour = [ + compilerNames.microhs + ]; + MicroCabal = [ + compilerNames.microhs + ]; + random = [ + compilerNames.microhs + ]; }) { mergeable = pkgs.releaseTools.aggregate { From b23b370052efe85a0235a8865fc7613cdc1942d3 Mon Sep 17 00:00:00 2001 From: Alex Tunstall Date: Thu, 9 Apr 2026 17:13:35 +0100 Subject: [PATCH 105/113] top-level/release-haskell.nix: test GHC boot pkgs Test the GHC boot packages that are known to work with MicroHs and mark those that don't work as broken. --- .../haskell-modules/configuration-microhs.nix | 12 ++--- pkgs/top-level/release-haskell.nix | 45 ++++++++++++++++--- 2 files changed, 45 insertions(+), 12 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-microhs.nix b/pkgs/development/haskell-modules/configuration-microhs.nix index bdf91c6423ed..afeb84ac4217 100644 --- a/pkgs/development/haskell-modules/configuration-microhs.nix +++ b/pkgs/development/haskell-modules/configuration-microhs.nix @@ -33,7 +33,7 @@ self: super: { }; # hackage-packages does not include GHC core libraries - binary = self.binary_0_8_9_3; + binary = markBroken self.binary_0_8_9_3; Cabal = self.Cabal_3_16_1_0; Cabal-syntax = self.Cabal-syntax_3_16_1_0; containers = self.containers_0_8; @@ -49,13 +49,13 @@ self: super: { ghc-prim = null; ghci = null; haskeline = self.haskeline_0_8_4_1; - hpc = self.hpc_0_7_0_2; - integer-gmp = self.integer-gmp_1_1; + hpc = markBroken self.hpc_0_7_0_2; + integer-gmp = markBroken self.integer-gmp_1_1; libiserv = null; mtl = self.mtl_2_3_2; os-string = self.os-string_2_0_10; parsec = self.parsec_3_1_18_0; - pretty = self.pretty_1_1_3_6; + pretty = markBroken self.pretty_1_1_3_6; rts = null; semaphore-compat = null; stm = null; @@ -64,8 +64,8 @@ self: super: { terminfo = self.terminfo_0_4_1_7; time = self.time_1_15; transformers = self.transformers_0_6_3_0; - unix = self.unix_2_8_8_0; - xhtml = self.xhtml_3000_4_0_0; + unix = markBroken self.unix_2_8_8_0; + xhtml = markBroken self.xhtml_3000_4_0_0; # MicroHs replacements for widely used libraries array = self.array-mhs; diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix index fab634c34802..94d921fe217f 100644 --- a/pkgs/top-level/release-haskell.nix +++ b/pkgs/top-level/release-haskell.nix @@ -575,17 +575,50 @@ let compilerNames.ghc9123 ] released; - # MicroHs - array = [ - compilerNames.microhs - ]; + # MicroHs core packages ghc-compat = [ compilerNames.microhs ]; - hscolour = [ + MicroCabal = [ compilerNames.microhs ]; - MicroCabal = [ + + # MicroHs-specific replacement packages + array = [ + compilerNames.microhs + ]; + + # GHC boot packages known to be compatible with MicroHs + containers = [ + compilerNames.microhs + ]; + exceptions = [ + compilerNames.microhs + ]; + filepath = [ + compilerNames.microhs + ]; + mtl = [ + compilerNames.microhs + ]; + os-string = [ + compilerNames.microhs + ]; + parsec = [ + compilerNames.microhs + ]; + terminfo = [ + compilerNames.microhs + ]; + time = [ + compilerNames.microhs + ]; + transformers = [ + compilerNames.microhs + ]; + + # MicroHs upstream tested + hscolour = [ compilerNames.microhs ]; random = [ From 8fbef8091f94074bcfab1db5c7613aeedf85da80 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Thu, 9 Apr 2026 22:45:25 +0200 Subject: [PATCH 106/113] haskell.packages.microhs: add doDistribute where necessary Packages that have an empty hydraPlatforms won't be tested on Hydra otherwise, even if explicitly requested. --- .../haskell-modules/configuration-microhs.nix | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-microhs.nix b/pkgs/development/haskell-modules/configuration-microhs.nix index afeb84ac4217..182394c829f5 100644 --- a/pkgs/development/haskell-modules/configuration-microhs.nix +++ b/pkgs/development/haskell-modules/configuration-microhs.nix @@ -13,7 +13,7 @@ self: super: { MicroHs = null; # External MicroHs core libraries - ghc-compat = markUnbroken super.ghc-compat; + ghc-compat = doDistribute (markUnbroken super.ghc-compat); # Bootstrap MicroCabal MicroCabal = self.mkDerivation { @@ -34,11 +34,11 @@ self: super: { # hackage-packages does not include GHC core libraries binary = markBroken self.binary_0_8_9_3; - Cabal = self.Cabal_3_16_1_0; - Cabal-syntax = self.Cabal-syntax_3_16_1_0; - containers = self.containers_0_8; - exceptions = self.exceptions_0_10_12; - filepath = self.filepath_1_5_5_0; + Cabal = doDistribute self.Cabal_3_16_1_0; + Cabal-syntax = doDistribute self.Cabal-syntax_3_16_1_0; + containers = doDistribute self.containers_0_8; + exceptions = doDistribute self.exceptions_0_10_12; + filepath = doDistribute self.filepath_1_5_5_0; ghc-bignum = null; ghc-boot = null; ghc-boot-th = null; @@ -48,30 +48,30 @@ self: super: { ghc-platform = null; ghc-prim = null; ghci = null; - haskeline = self.haskeline_0_8_4_1; + haskeline = doDistribute self.haskeline_0_8_4_1; hpc = markBroken self.hpc_0_7_0_2; integer-gmp = markBroken self.integer-gmp_1_1; libiserv = null; - mtl = self.mtl_2_3_2; - os-string = self.os-string_2_0_10; - parsec = self.parsec_3_1_18_0; + mtl = doDistribute self.mtl_2_3_2; + os-string = doDistribute self.os-string_2_0_10; + parsec = doDistribute self.parsec_3_1_18_0; pretty = markBroken self.pretty_1_1_3_6; rts = null; semaphore-compat = null; stm = null; system-cxx-std-lib = null; template-haskell = null; - terminfo = self.terminfo_0_4_1_7; - time = self.time_1_15; - transformers = self.transformers_0_6_3_0; + terminfo = doDistribute self.terminfo_0_4_1_7; + time = doDistribute self.time_1_15; + transformers = doDistribute self.transformers_0_6_3_0; unix = markBroken self.unix_2_8_8_0; xhtml = markBroken self.xhtml_3000_4_0_0; # MicroHs replacements for widely used libraries array = self.array-mhs; - array-mhs = markUnbroken super.array-mhs; + array-mhs = doDistribute (markUnbroken super.array-mhs); random = self.random-mhs; - random-mhs = markUnbroken super.random-mhs; + random-mhs = doDistribute (markUnbroken super.random-mhs); # Depends on time when not using GHC splitmix = addBuildDepends [ self.time ] super.splitmix; From be13771605214840072ca4a4678b279d4d1b5406 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 17 Mar 2026 19:40:07 +0100 Subject: [PATCH 107/113] python3Packages.ghapi: 1.0.10 -> 1.0.13 Changelog: https://github.com/fastai/ghapi/releases/tag/1.0.13 --- pkgs/development/python-modules/ghapi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ghapi/default.nix b/pkgs/development/python-modules/ghapi/default.nix index b47440fb8f86..69c5b1bf9d52 100644 --- a/pkgs/development/python-modules/ghapi/default.nix +++ b/pkgs/development/python-modules/ghapi/default.nix @@ -9,14 +9,14 @@ buildPythonPackage (finalAttrs: { pname = "ghapi"; - version = "1.0.10"; + version = "1.0.13"; pyproject = true; src = fetchFromGitHub { owner = "fastai"; repo = "ghapi"; tag = finalAttrs.version; - hash = "sha256-2x9uiULYniFVpUNgRie4i49xEqtYfq/9u/07eozw0WQ="; + hash = "sha256-Xv48jY5PW8JdzdWktNOtWAUmn5voWlNv1TqcNmc09zE="; }; build-system = [ setuptools ]; From df141ea75a4bdc8e8a8038a3725ed4f892f8b7d7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 21:36:18 +0000 Subject: [PATCH 108/113] terraform-providers.aminueza_minio: 3.28.1 -> 3.30.0 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index ae3e2261828a..78c37fdd2b98 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -54,13 +54,13 @@ "vendorHash": "sha256-Kk0YeStlev8AurZasORMe/42Rd3ZPFoFMat/rMpZFbE=" }, "aminueza_minio": { - "hash": "sha256-aWsMTUNIDwBzI/qsy78uA3ELnzUA+c4jP2jGD7QqrvI=", + "hash": "sha256-Qt51J0DcwrpJ9+8s8KwngGhhFhZQQYv3dAwFGOYvavo=", "homepage": "https://registry.terraform.io/providers/aminueza/minio", "owner": "aminueza", "repo": "terraform-provider-minio", - "rev": "v3.28.1", + "rev": "v3.30.0", "spdx": "AGPL-3.0", - "vendorHash": "sha256-kg6RylB2sW5XLWxJLmIDq3h54rzQoCKrxVu7L76lvCE=" + "vendorHash": "sha256-Mm7IwFX51hsG3ducCbanRoelgkyK6pe+9K8d18U01Z8=" }, "argoproj-labs_argocd": { "hash": "sha256-c6+WY4oXL8evvPk/RzVrwtgq4XLB/LzAH5tpjErbE60=", From 229c9865b31f08e647ca922a28303934055c7166 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 9 Apr 2026 22:26:23 +0000 Subject: [PATCH 109/113] terraform-providers.e-breuninger_netbox: 5.2.1 -> 5.3.0 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index ae3e2261828a..d151ef596e7c 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -364,13 +364,13 @@ "vendorHash": "sha256-RtS88NqkO1nG/8znM0sQqsAIfDc+sOMy8N4T4hmvaVA=" }, "e-breuninger_netbox": { - "hash": "sha256-a9YE3zbMPLKyrD2hG31ymKxI780ONzKfzEPHCN2NhyA=", + "hash": "sha256-hY3XZFMP1qT4mHJpxsVSGsyd025NOeJogbh2m9hk7qE=", "homepage": "https://registry.terraform.io/providers/e-breuninger/netbox", "owner": "e-breuninger", "repo": "terraform-provider-netbox", - "rev": "v5.2.1", + "rev": "v5.3.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-/kTRJnHbr9crrzdKsDz0q7svYTmiuDbSW/6kBfGgyZY=" + "vendorHash": "sha256-5IZeoZpZj4vgAlyxbycs+IPeOEBS1tw3tM/7zoT4DCg=" }, "equinix_equinix": { "hash": "sha256-Tn8CnLx2ibkj7qlzpYCX7Cm+yoTcZujVELMJSbG+/ec=", From 11056076185446fe8d8e563104ffa70827250215 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 8 Apr 2026 16:09:19 +0100 Subject: [PATCH 110/113] python3Packages.lightgbm: fix cuda build nvcc needs `-std=c++14` to successfully compile. --- pkgs/development/python-modules/lightgbm/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/python-modules/lightgbm/default.nix b/pkgs/development/python-modules/lightgbm/default.nix index 46016b92469e..ca051551f394 100644 --- a/pkgs/development/python-modules/lightgbm/default.nix +++ b/pkgs/development/python-modules/lightgbm/default.nix @@ -93,6 +93,10 @@ buildPythonPackage rec { # Set in pyproject.toml for `cmake.args` in `[tool.scikit-build]`, # but not set by our hooks. (lib.cmakeBool "__BUILD_FOR_PYTHON" true) + ] + ++ lib.optionals cudaSupport [ + # build fails otherwise + (lib.cmakeFeature "CMAKE_CUDA_STANDARD" "14") ]; optional-dependencies = { From d31f834be0adb7faf2c246aac128a3e09b56f211 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 8 Apr 2026 16:22:14 +0100 Subject: [PATCH 111/113] python3Packages.lightgbm: add flokli to maintainers --- pkgs/development/python-modules/lightgbm/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/lightgbm/default.nix b/pkgs/development/python-modules/lightgbm/default.nix index ca051551f394..c5ad41943771 100644 --- a/pkgs/development/python-modules/lightgbm/default.nix +++ b/pkgs/development/python-modules/lightgbm/default.nix @@ -125,6 +125,9 @@ buildPythonPackage rec { homepage = "https://github.com/lightgbm-org/LightGBM"; changelog = "https://github.com/lightgbm-org/LightGBM/releases/tag/v${version}"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ teh ]; + maintainers = with lib.maintainers; [ + flokli + teh + ]; }; } From 2fa06e7751f235ac10428167edc5caa3838bc1ba Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 8 Apr 2026 16:50:41 +0100 Subject: [PATCH 112/113] python3Packages.lightgbm: use finalAttrs --- pkgs/development/python-modules/lightgbm/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/lightgbm/default.nix b/pkgs/development/python-modules/lightgbm/default.nix index c5ad41943771..a53f669d90a7 100644 --- a/pkgs/development/python-modules/lightgbm/default.nix +++ b/pkgs/development/python-modules/lightgbm/default.nix @@ -42,7 +42,7 @@ assert gpuSupport -> !cudaSupport; assert cudaSupport -> !gpuSupport; -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { inherit (pkgs.lightgbm) pname version @@ -51,7 +51,7 @@ buildPythonPackage rec { pyproject = true; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; hash = "sha256-yxxZcg61aTicC6dNFPUjUbVzr0ifIwAyocnzFPi6t/4="; }; @@ -123,11 +123,11 @@ buildPythonPackage rec { meta = { description = "Fast, distributed, high performance gradient boosting (GBDT, GBRT, GBM or MART) framework"; homepage = "https://github.com/lightgbm-org/LightGBM"; - changelog = "https://github.com/lightgbm-org/LightGBM/releases/tag/v${version}"; + changelog = "https://github.com/lightgbm-org/LightGBM/releases/tag/v${finalAttrs.version}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ flokli teh ]; }; -} +}) From 23c177448c69887c8f8e3718a860ae6dcdb99528 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Thu, 9 Apr 2026 23:41:36 +0100 Subject: [PATCH 113/113] python3Packages.lightgbm: override stdenv if built with cuda support From https://github.com/NixOS/nixpkgs/pull/507972#discussion_r3053161889: > [This prevents] the other stdenv and its cc from leaking into the > build. The latter is somewhat optional, but the leakage can result in, > on one hand, in mixing object files from different cc releases ("works > in practice but nobody offers guarantees"), and on the other in the > hypothetical possibility that cuda tools use up wrong cc. > > If lightgbm builds cuda kernel, it "should" conditionally override > stdenv, so far we don't have a better system to configure this > transparently to individual packages... --- pkgs/development/python-modules/lightgbm/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/lightgbm/default.nix b/pkgs/development/python-modules/lightgbm/default.nix index a53f669d90a7..57e90a429249 100644 --- a/pkgs/development/python-modules/lightgbm/default.nix +++ b/pkgs/development/python-modules/lightgbm/default.nix @@ -42,7 +42,10 @@ assert gpuSupport -> !cudaSupport; assert cudaSupport -> !gpuSupport; -buildPythonPackage (finalAttrs: { +let + effectiveStdenv = if cudaSupport then cudaPackages.backendStdenv else stdenv; +in +buildPythonPackage.override { stdenv = effectiveStdenv; } (finalAttrs: { inherit (pkgs.lightgbm) pname version