diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index fe5834b525c8..a904bdda324d 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -265,6 +265,7 @@ }; _6543 = { email = "6543@obermui.de"; + matrix = "@marddl:obermui.de"; github = "6543"; githubId = 24977596; name = "6543"; diff --git a/nixos/modules/services/misc/graphical-desktop.nix b/nixos/modules/services/misc/graphical-desktop.nix index 42aa44dde0da..7f1e9b39210c 100644 --- a/nixos/modules/services/misc/graphical-desktop.nix +++ b/nixos/modules/services/misc/graphical-desktop.nix @@ -45,11 +45,6 @@ in nixos-icons # needed for gnome and pantheon about dialog, nixos-manual and maybe more xdg-utils ]; - # needed for some display managers to locate desktop manager sessions - pathsToLink = [ - "/share/xsessions" - "/share/wayland-sessions" - ]; }; fonts.enableDefaultPackages = lib.mkDefault true; diff --git a/nixos/modules/services/security/pocket-id.nix b/nixos/modules/services/security/pocket-id.nix index 62259a7959a4..c3a93869dd1e 100644 --- a/nixos/modules/services/security/pocket-id.nix +++ b/nixos/modules/services/security/pocket-id.nix @@ -174,12 +174,12 @@ in CapabilityBoundingSet = ""; DeviceAllow = ""; DevicePolicy = "closed"; - #IPAddressDeny = "any"; # communicates with the frontend + #IPAddressDeny = "any"; # provides the service through network LockPersonality = true; MemoryDenyWriteExecute = true; NoNewPrivileges = true; PrivateDevices = true; - PrivateNetwork = false; # communicates with the frontend + PrivateNetwork = false; # provides the service through network PrivateTmp = true; PrivateUsers = true; ProcSubset = "pid"; @@ -191,7 +191,8 @@ in ProtectKernelModules = true; ProtectKernelTunables = true; ProtectProc = "invisible"; - ProtectSystem = "full"; # needs to write in cfg.dataDir + ProtectSystem = "strict"; + ReadWritePaths = [ cfg.dataDir ]; RemoveIPC = true; RestrictAddressFamilies = [ "AF_INET" @@ -212,7 +213,7 @@ in "@privileged" "@raw-io" "@reboot" - #"@resources" # vm test segfaults + "@resources" "@swap" ]; UMask = "0077"; diff --git a/pkgs/applications/emulators/libretro/cores/dosbox-pure.nix b/pkgs/applications/emulators/libretro/cores/dosbox-pure.nix index 33e8066ffb9f..95ddc703f354 100644 --- a/pkgs/applications/emulators/libretro/cores/dosbox-pure.nix +++ b/pkgs/applications/emulators/libretro/cores/dosbox-pure.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "dosbox-pure"; - version = "0-unstable-2025-05-24"; + version = "0-unstable-2025-06-03"; src = fetchFromGitHub { owner = "schellingb"; repo = "dosbox-pure"; - rev = "773f775cb8bd4a79e505413cbe7172ec5de948c1"; - hash = "sha256-SQjwQhy+/RI0159QMCk04G6AFtBKBushjNWtOXfohps="; + rev = "ee1ff009d8edf87c668bc5d1aa6d6f1320b8b654"; + hash = "sha256-3vIw73T47gTS2A9PBJuZGBNlDiXPNabsj4YopXLMMIY="; }; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/emulators/libretro/cores/swanstation.nix b/pkgs/applications/emulators/libretro/cores/swanstation.nix index 3e8041379e41..47d74a9bed5c 100644 --- a/pkgs/applications/emulators/libretro/cores/swanstation.nix +++ b/pkgs/applications/emulators/libretro/cores/swanstation.nix @@ -6,13 +6,13 @@ }: mkLibretroCore { core = "swanstation"; - version = "0-unstable-2025-01-17"; + version = "0-unstable-2025-05-26"; src = fetchFromGitHub { owner = "libretro"; repo = "swanstation"; - rev = "10af0c78ba0e3516e70f4ed7c6020827bdb2647e"; - hash = "sha256-xxyWvsDF3FXTaP7GOGr9Zym0DgNZKJ4x9BDUgDzcHYA="; + rev = "05cee5f56c37eaa3a243e0906d2082b025598056"; + hash = "sha256-Cwf6hZKl+rE00C0rFq7VhTj3qG4rszQ+8qZQMZ+H7e8="; }; extraNativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/misc/mediaelch/default.nix b/pkgs/applications/misc/mediaelch/default.nix index d815c354f8e6..ab3efadfe3c7 100644 --- a/pkgs/applications/misc/mediaelch/default.nix +++ b/pkgs/applications/misc/mediaelch/default.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, cmake, qttools, @@ -57,6 +58,14 @@ stdenv.mkDerivation rec { qt5compat ]; + patches = [ + # fix from: https://github.com/Komet/MediaElch/pull/1878 + (fetchpatch { + url = "https://github.com/Komet/MediaElch/commit/dbea12fbf2c1fe603819392aa2a181cffa168548.patch"; + hash = "sha256-Lv6rvjKbRNr5XrdZhPyw4S4RRCOnfAGhWgcSLo0gqS8="; + }) + ]; + cmakeFlags = [ "-DDISABLE_UPDATER=ON" "-DUSE_EXTERN_QUAZIP=ON" diff --git a/pkgs/applications/misc/rofi/default.nix b/pkgs/applications/misc/rofi/default.nix index cb3793b782f4..b7e9ea3e707a 100644 --- a/pkgs/applications/misc/rofi/default.nix +++ b/pkgs/applications/misc/rofi/default.nix @@ -29,14 +29,14 @@ stdenv.mkDerivation rec { pname = "rofi-unwrapped"; - version = "1.7.9"; + version = "1.7.9.1"; src = fetchFromGitHub { owner = "davatorium"; repo = "rofi"; rev = version; fetchSubmodules = true; - hash = "sha256-YI6ShRRBJ9ExkzDnI31YjtI1mWRWPzVRYQvpTAtLTeI="; + hash = "sha256-HZMVGlK6ig7kWf/exivoiTe9J/SLgjm7VwRm+KgKN44="; }; preConfigure = '' diff --git a/pkgs/applications/networking/browsers/chromium/info.json b/pkgs/applications/networking/browsers/chromium/info.json index 5a20483448ed..d5dad782046f 100644 --- a/pkgs/applications/networking/browsers/chromium/info.json +++ b/pkgs/applications/networking/browsers/chromium/info.json @@ -797,7 +797,7 @@ } }, "ungoogled-chromium": { - "version": "137.0.7151.55", + "version": "137.0.7151.68", "deps": { "depot_tools": { "rev": "1fcc527019d786502b02f71b8b764ee674a40953", @@ -808,16 +808,16 @@ "hash": "sha256-+nKP2hBUKIqdNfDz1vGggXSdCuttOt0GwyGUQ3Z1ZHI=" }, "ungoogled-patches": { - "rev": "137.0.7151.55-1", - "hash": "sha256-m8un3k5gz8nqQIvulvV2yhY/TQZ7wcp1zwQmtqjbCEw=" + "rev": "137.0.7151.68-1", + "hash": "sha256-oPYNvnBuBKBb1SRNQkQeApmPVDoV+bFVjCh9HKa4A8o=" }, "npmHash": "sha256-I6MsfAhrLRmgiRJ13LSejfy2N63C3Oug5tOOXA622j4=" }, "DEPS": { "src": { "url": "https://chromium.googlesource.com/chromium/src.git", - "rev": "254bc711794d7ad269495f3d419a209935b78cad", - "hash": "sha256-dB81lgjgVK0qXWgAddB7G4L7rsJpZp+0VsjDKvGugEs=", + "rev": "2989ffee9373ea8b8623bd98b3cb350a8e95cadc", + "hash": "sha256-lPmmXVCNUa9of8d52hUejImPSEfOz7v7PlovZS4cfIE=", "recompress": true }, "src/third_party/clang-format/script": { @@ -1037,8 +1037,8 @@ }, "src/third_party/devtools-frontend/src": { "url": "https://chromium.googlesource.com/devtools/devtools-frontend", - "rev": "a54ed1df191a9e2aff2e9ef453ee6fdc959dd125", - "hash": "sha256-E6sx2ioDZRWJljbS17ztRwz+gsDhIHiluvkUx1rRZcw=" + "rev": "fdc8ca697612f90e7ddf2621dffbc43733d2d238", + "hash": "sha256-jKYldgZJwJeTQavmcM9enTdGN8+zt/EG7K1E9wQYIBA=" }, "src/third_party/dom_distiller_js/dist": { "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git", @@ -1587,8 +1587,8 @@ }, "src/v8": { "url": "https://chromium.googlesource.com/v8/v8.git", - "rev": "44fdd9108308773dd3f4fa040de5f4f75edf671f", - "hash": "sha256-BkLOmb97p2NcAIuQiDjIoVAe49h9iv79rC5G8wyD1as=" + "rev": "e398f9bf6d5c8a768ab736f46146d7349cf31547", + "hash": "sha256-cJx8IgUB3UA3jEPvb5aDvHLYmAnHydK1qR11q6Y5PnA=" } } } diff --git a/pkgs/applications/networking/cluster/kubectl-view-allocations/default.nix b/pkgs/applications/networking/cluster/kubectl-view-allocations/default.nix index 23496281ce2f..0f5924487a47 100644 --- a/pkgs/applications/networking/cluster/kubectl-view-allocations/default.nix +++ b/pkgs/applications/networking/cluster/kubectl-view-allocations/default.nix @@ -8,17 +8,17 @@ rustPlatform.buildRustPackage rec { pname = "kubectl-view-allocations"; - version = "0.21.1"; + version = "0.21.2"; src = fetchFromGitHub { owner = "davidB"; repo = "kubectl-view-allocations"; tag = version; - hash = "sha256-1bE2idLPok6YmB1qyTDQmBg+uzc6/Sza75dSN7QpEcI="; + hash = "sha256-WIByZc2B38NC+kp0ODQjYS81R7vX60A2aoVaE86w/NQ="; }; useFetchCargoVendor = true; - cargoHash = "sha256-QAjANg8os3RID0Lrl7qGEvxT/1i8UBwVfK0G4PHwrXA="; + cargoHash = "sha256-aSI5SN0RujHVq7VNNsV6m3KnQqVTWyqfLmGHhwH/3ig="; doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index ae415610983a..9e06a46dcd94 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -261,13 +261,13 @@ "vendorHash": "sha256-f6sqKzoQAUpCDrpQdMuK1SuLTKrd2PUn/J6VuKxXGZI=" }, "cloudflare": { - "hash": "sha256-LghaF/2lc8EqTDL0s7pGnF4C/4Vx3GjGzOyg9Fl2LbE=", + "hash": "sha256-REHAEG7Ux+Twv0kA13NQpthBdb+LulYm0McquE6gL14=", "homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare", "owner": "cloudflare", "repo": "terraform-provider-cloudflare", - "rev": "v5.4.0", + "rev": "v5.5.0", "spdx": "Apache-2.0", - "vendorHash": "sha256-C8KtuuNa2N0u1hTfYFhD/H/MwXS8iIx0gXwEo9BLI+Q=" + "vendorHash": "sha256-PRzjEL+6XIacWmO4jmCOMsbPF+R3l1VMeUKUR7vPMmQ=" }, "cloudfoundry": { "hash": "sha256-1nYncJLVU/f9WD6Quh9IieIXgixPzbPk4zbtI1zmf9g=", @@ -426,11 +426,11 @@ "vendorHash": "sha256-oVTanZpCWs05HwyIKW2ajiBPz1HXOFzBAt5Us+EtTRw=" }, "equinix": { - "hash": "sha256-erQUWFpGqnxtU88AaD4Lq0OQyhOg0gXoFBMf6wQC1Fs=", + "hash": "sha256-1/cKun6sywQeNE7utWoXt84B3kAk5YOmFTjCatwHrqE=", "homepage": "https://registry.terraform.io/providers/equinix/equinix", "owner": "equinix", "repo": "terraform-provider-equinix", - "rev": "v3.8.0", + "rev": "v3.9.0", "spdx": "MIT", "vendorHash": "sha256-sjEgBLwk/dYUmq+kL0PtamEukXgC9rzeyTT87HK0Y8E=" }, @@ -696,13 +696,13 @@ "vendorHash": "sha256-Dd02Ikt51eh/FBEtswe8Qr6P5tgQFZJTKgO01gxPX3s=" }, "kafka": { - "hash": "sha256-xFuNCHUE2r+NGsvLmD2W+d9oB6RjV/2o4sAxqTOJUtE=", + "hash": "sha256-RZwag424lXwI1GR/kFOcpv+huaYMyG4jcFjkhvA0Nlc=", "homepage": "https://registry.terraform.io/providers/Mongey/kafka", "owner": "Mongey", "repo": "terraform-provider-kafka", - "rev": "v0.10.1", + "rev": "v0.10.2", "spdx": "MIT", - "vendorHash": "sha256-wnyCBxqvmWfgR/MLRVcA/cXeq08qcuhSVIsSWYPTJGc=" + "vendorHash": "sha256-57V/0JIsq+pqbWmg3iZ0s8t8iD2Xtipy08I/+ZJCkNc=" }, "kafka-connect": { "hash": "sha256-XMGpK22Ww8swvfrnbClxjErVmkBKX3dxdlkjgNJHlCE=", @@ -732,13 +732,13 @@ "vendorHash": "sha256-FcxAh8EOvnT8r1GHu0Oj2C5Jgbr2WPwD7/vY4/qIvTA=" }, "kubernetes": { - "hash": "sha256-4ghGJ3yf17PI498bqLFtKHnx7axNMaf4BHUPQqyjvVk=", + "hash": "sha256-JUlthPqYTYlsKyPAjyN9N0A0i8aMJh3tAtwH1vHjzJs=", "homepage": "https://registry.terraform.io/providers/hashicorp/kubernetes", "owner": "hashicorp", "repo": "terraform-provider-kubernetes", - "rev": "v2.36.0", + "rev": "v2.37.1", "spdx": "MPL-2.0", - "vendorHash": "sha256-slDHNiH5CTfzzj1y2BOt8JuL2iBS1irSZBIiP/4QDLE=" + "vendorHash": "sha256-LeMFN4pOJotTTqakEbVelHSTEb4p7CQIuKzeuX3SZUM=" }, "launchdarkly": { "hash": "sha256-VL0nijqk61EBKLEHW54a3dH/PE5B+9VRoGJ36TJj7ps=", @@ -1012,11 +1012,11 @@ "vendorHash": null }, "pagerduty": { - "hash": "sha256-CvW7u0VD6qOHYUVJIin38qrkVLtNfNeK4QlLOICFu1E=", + "hash": "sha256-nCd2EQgLR1PNPBnWPSpRGxd3zwQ7dJy8fb3tWgGnbRc=", "homepage": "https://registry.terraform.io/providers/PagerDuty/pagerduty", "owner": "PagerDuty", "repo": "terraform-provider-pagerduty", - "rev": "v3.25.2", + "rev": "v3.26.0", "spdx": "MPL-2.0", "vendorHash": null }, @@ -1066,13 +1066,13 @@ "vendorHash": "sha256-mnKXYT0GfIS+ODzBCS9l4rLF1ugadesmpgdOgj74nLg=" }, "proxmox": { - "hash": "sha256-agupFUy/4D0gJ12AhJDNt0FPnSWM1laBban13z04pPA=", + "hash": "sha256-vrlZ2bt2Eczst+Xu5BZZqFp2aJzb1WrHZS/p3f99gRI=", "homepage": "https://registry.terraform.io/providers/Telmate/proxmox", "owner": "Telmate", "repo": "terraform-provider-proxmox", - "rev": "v3.0.1-rc8", + "rev": "v3.0.2-rc01", "spdx": "MIT", - "vendorHash": "sha256-LZ3g/UuI+u4ULaM2taso9GgSsmxJICjKhrSaWIL6nCw=" + "vendorHash": "sha256-H8nmIaBwyBLO61Wys16YZgMHVFcCLe0eP+VbUUMc47c=" }, "rabbitmq": { "hash": "sha256-ArteHTNNUxgiBJamnR1bJFDrvNnqjbJ6D3mj1XlpVUA=", @@ -1246,13 +1246,13 @@ "vendorHash": "sha256-oEamCseBGmETqeBLiBHfh81oQNUHWfTrsegkFijvb20=" }, "spotinst": { - "hash": "sha256-ip+HG6nPd4sYyKDzggR5cfwaQQZI/C9GzT+PvGDO3Dk=", + "hash": "sha256-opJqvsqGqsFz2G+5T2JK1tpDxnFmMCxRVrUNYYnuN7s=", "homepage": "https://registry.terraform.io/providers/spotinst/spotinst", "owner": "spotinst", "repo": "terraform-provider-spotinst", - "rev": "v1.220.0", + "rev": "v1.220.2", "spdx": "MPL-2.0", - "vendorHash": "sha256-w3Bg1FpMki8EhkVe1R8QWD91n8tooT+xIvlM50gbcSA=" + "vendorHash": "sha256-/UoLwkMCY4PsfNITOQBKWT9bKaReaIISqWyYiTS4/64=" }, "ssh": { "hash": "sha256-1UN5QJyjCuxs2vQYlSuz2jsu/HgGTxOoWWRcv4qcwow=", @@ -1409,13 +1409,13 @@ "vendorHash": "sha256-giqZi1CmuyANNwzW+y9BUUUEfBhFZKkVGAvIPVvZnzE=" }, "vault": { - "hash": "sha256-6gCpXzvF4p2otwo3dJ8c+EvzbsMZfzVZymb41+hEZoM=", + "hash": "sha256-Vqnmw69fktBQhSkj/W0legJ4sHOQP9Moqqi6Z5qYFy4=", "homepage": "https://registry.terraform.io/providers/hashicorp/vault", "owner": "hashicorp", "repo": "terraform-provider-vault", - "rev": "v4.8.0", + "rev": "v5.0.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-5e6WQ0lByT3BWcuJvG/LYRVeiiIYQDkV4A74CJhiUBA=" + "vendorHash": "sha256-6gWw4ypQZWPX7VC9cZxHiU/KhTYEdMTZ276B9neGAiI=" }, "vcd": { "hash": "sha256-W+ffIT70IaePg3xfOaQgCjPTWTN3iSAYwkf+s+zkB84=", diff --git a/pkgs/applications/networking/qv2ray/default.nix b/pkgs/applications/networking/qv2ray/default.nix deleted file mode 100644 index 2e570937f2d7..000000000000 --- a/pkgs/applications/networking/qv2ray/default.nix +++ /dev/null @@ -1,90 +0,0 @@ -{ - lib, - stdenv, - mkDerivation, - fetchFromGitHub, - symlinkJoin, - qttools, - cmake, - grpc, - protobuf_21, - openssl, - pkg-config, - c-ares, - libGL, - zlib, - curl, - v2ray, - v2ray-geoip, - v2ray-domain-list-community, - assets ? [ - v2ray-geoip - v2ray-domain-list-community - ], -}: - -mkDerivation rec { - pname = "qv2ray"; - version = "unstable-2023-07-11"; - - src = fetchFromGitHub { - owner = "Qv2ray"; - repo = "Qv2ray"; - rev = "b3080564809dd8aef864a54ca1b79f0984fe986b"; - hash = "sha256-LwBjuX5x3kQcdEfPLEirWpkMqOigkhNoh/VNmBfPAzw="; - fetchSubmodules = true; - }; - - postPatch = lib.optionals stdenv.hostPlatform.isDarwin '' - substituteInPlace cmake/platforms/macos.cmake \ - --replace \''${QV2RAY_QtX_DIR}/../../../bin/macdeployqt macdeployqt - ''; - - assetsDrv = symlinkJoin { - name = "v2ray-assets"; - paths = assets; - }; - - cmakeFlags = [ - "-DQV2RAY_DISABLE_AUTO_UPDATE=on" - "-DQV2RAY_USE_V5_CORE=on" - "-DQV2RAY_TRANSLATION_PATH=${placeholder "out"}/share/qv2ray/lang" - "-DQV2RAY_DEFAULT_VASSETS_PATH='${assetsDrv}/share/v2ray'" - "-DQV2RAY_DEFAULT_VCORE_PATH='${v2ray}/bin/v2ray'" - ]; - - preConfigure = '' - export _QV2RAY_BUILD_INFO_="Qv2ray Nixpkgs" - export _QV2RAY_BUILD_EXTRA_INFO_="(Nixpkgs build) nixpkgs" - ''; - - buildInputs = [ - libGL - zlib - grpc - protobuf_21 - openssl - c-ares - ]; - - nativeBuildInputs = [ - cmake - pkg-config - qttools - curl - ]; - - meta = with lib; { - description = "GUI frontend to v2ray"; - homepage = "https://github.com/Qv2ray/Qv2ray"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ - poscat - rewine - ]; - platforms = platforms.all; - # never built on aarch64-darwin, x86_64-darwin since update to unstable-2022-09-25 - broken = stdenv.hostPlatform.isDarwin; - mainProgram = "qv2ray"; - }; -} diff --git a/pkgs/applications/video/mpv/scripts/uosc.nix b/pkgs/applications/video/mpv/scripts/uosc.nix index 17ad8b687976..8437d02a85ed 100644 --- a/pkgs/applications/video/mpv/scripts/uosc.nix +++ b/pkgs/applications/video/mpv/scripts/uosc.nix @@ -9,14 +9,14 @@ buildLua (finalAttrs: { pname = "uosc"; - version = "5.9.2"; + version = "5.10.0"; scriptPath = "src/uosc"; src = fetchFromGitHub { owner = "tomasklaen"; repo = "uosc"; rev = finalAttrs.version; - hash = "sha256-tBSMLzwiKAXdbvyI80ihl0x/ZcDrNd4e7r1g7+CrLgQ="; + hash = "sha256-Jj88PkP7hpyUOHsz0w0TOTTdJoQ/ShgJfHg//GUuUvM="; }; passthru.updateScript = gitUpdater { }; diff --git a/pkgs/by-name/ab/abctl/package.nix b/pkgs/by-name/ab/abctl/package.nix index 968206813bb0..ee6de98ba562 100644 --- a/pkgs/by-name/ab/abctl/package.nix +++ b/pkgs/by-name/ab/abctl/package.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "abctl"; - version = "0.25.0"; + version = "0.26.0"; src = fetchFromGitHub { owner = "airbytehq"; repo = "abctl"; tag = "v${version}"; - hash = "sha256-ZM0ae4Oiz/q4KSkxVxEXPe6oJa5fsNWzw+fX5hobc1c="; + hash = "sha256-FbL9jfTg2wV203XwMTTDgkfjX4+J/aEagIHE/q4sYDs="; }; checkFlags = diff --git a/pkgs/by-name/al/albert/package.nix b/pkgs/by-name/al/albert/package.nix index c474a0bcc86c..e7f04a96aa5f 100644 --- a/pkgs/by-name/al/albert/package.nix +++ b/pkgs/by-name/al/albert/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + kdePackages, qt6, cmake, libqalculate, @@ -14,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "albert"; - version = "0.27.8"; + version = "0.28.0"; src = fetchFromGitHub { owner = "albertlauncher"; repo = "albert"; tag = "v${finalAttrs.version}"; - hash = "sha256-UZJS61YeieA68PUNgudpjn1iWHCTvhXpt3uXJAkJtCg="; + hash = "sha256-ciqCNQD5S7qv9Ph6AgUpFB5Sphv6Eb1LR3Ap3bTd1EE="; fetchSubmodules = true; }; @@ -32,17 +33,20 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ + kdePackages.qtkeychain libqalculate libarchive muparser - qt6.qtbase - qt6.qtscxml - qt6.qtsvg - qt6.qtdeclarative - qt6.qtwayland - qt6.qt5compat - qt6.qttools ] + ++ (with qt6; [ + qt5compat + qtbase + qtdeclarative + qtscxml + qtsvg + qttools + qtwayland + ]) ++ (with python3Packages; [ python pybind11 diff --git a/pkgs/by-name/al/albyhub/ldk-node-go/default.nix b/pkgs/by-name/al/albyhub/ldk-node-go/default.nix new file mode 100644 index 000000000000..e911017b7e5a --- /dev/null +++ b/pkgs/by-name/al/albyhub/ldk-node-go/default.nix @@ -0,0 +1,39 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + ldkNode, +}: + +buildGoModule rec { + pname = "ldk-node-go"; + version = "0-unstable-2025-05-21"; + + src = fetchFromGitHub { + owner = "getAlby"; + repo = "ldk-node-go"; + rev = "ca26307fa2d8ee4d30da9affd0b202897f9919f6"; + hash = "sha256-UdsfN6UL9lKPQSCfF8oA89U0M3pqj/TcFcs01E7WoXs="; + }; + + vendorHash = null; + + ldflags = [ + "-s" + "-w" + ]; + + buildInputs = [ + ldkNode + ]; + + propagatedBuildInputs = [ ldkNode ]; + + meta = { + description = "Experimental Go bindings for LDK-node"; + homepage = "https://github.com/getAlby/ldk-node-go"; + license = lib.licenses.asl20; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ bleetube ]; + }; +} diff --git a/pkgs/by-name/al/albyhub/ldk-node/default.nix b/pkgs/by-name/al/albyhub/ldk-node/default.nix new file mode 100644 index 000000000000..99ea24923470 --- /dev/null +++ b/pkgs/by-name/al/albyhub/ldk-node/default.nix @@ -0,0 +1,48 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + cmake, + llvmPackages, +}: + +rustPlatform.buildRustPackage rec { + pname = "ldk-node"; + version = "0-unstable-2025-05-21"; + + src = fetchFromGitHub { + owner = "getAlby"; + repo = "ldk-node"; + rev = "9bb381ad38dbaa71e17816738789d993158fc1a2"; + hash = "sha256-Ie7FOSOd12mwmkEjD4r0p1ZmeYkXm5eN1LlQhWl0VG4="; + }; + + buildFeatures = [ "uniffi" ]; + + useFetchCargoVendor = true; + cargoHash = "sha256-hM6VCU0kIg5ZmJM8C4HoybSc/VXNj6GTE/oFLfqGMcY="; + + # Skip tests because they download bitcoin-core and electrs zip files, and then fail + doCheck = false; + + nativeBuildInputs = [ + cmake + llvmPackages.clang + rustPlatform.bindgenHook + ]; + + # Add CFLAGS to suppress the stringop-overflow error during aws-lc-sys compilation. + NIX_CFLAGS_COMPILE = "-Wno-error=stringop-overflow"; + + meta = { + description = "Embeds the LDK node implementation compiled as shared library objects"; + homepage = "https://github.com/getAlby/ldk-node"; + changelog = "https://github.com/getAlby/ldk-node/blob/${src.rev}/CHANGELOG.md"; + license = with lib.licenses; [ + asl20 + mit + ]; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ bleetube ]; + }; +} diff --git a/pkgs/by-name/al/albyhub/package.nix b/pkgs/by-name/al/albyhub/package.nix new file mode 100644 index 000000000000..9a6af0077532 --- /dev/null +++ b/pkgs/by-name/al/albyhub/package.nix @@ -0,0 +1,98 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchYarnDeps, + fixup-yarn-lock, + nodejs, + pkgs, + yarn, + stdenv, + makeWrapper, + callPackage, + go, +}: + +let + ldkNode = callPackage ./ldk-node { }; + ldkNodeGo = callPackage ./ldk-node-go { + inherit ldkNode; + }; + +in + +buildGoModule rec { + pname = "albyhub"; + version = "1.17.1"; + + src = fetchFromGitHub { + owner = "getAlby"; + repo = "hub"; + tag = "v${version}"; + hash = "sha256-ZDTCA3nMJEA8I7PeSgwQAe+wU8Wk0GaH3ItQLzPhOBQ="; + }; + + vendorHash = "sha256-4e75SqQiRUEEjtDZKDZsGSRavZFh5ulJdMz0Ne7gME0="; + proxyVendor = true; # needed for secp256k1-zkp CGO bindings + + nativeBuildInputs = [ + fixup-yarn-lock + nodejs + yarn + makeWrapper + ]; + + buildInputs = [ + ldkNodeGo + (lib.getLib stdenv.cc.cc) + ]; + + frontendYarnOfflineCache = fetchYarnDeps { + yarnLock = src + "/frontend/yarn.lock"; + hash = "sha256-SStTJGqeqPvXBKjFMPjKEts+jg6A9Vaqi+rZkr/ytdc="; + }; + + preBuild = '' + export HOME=$TMPDIR + pushd frontend + fixup-yarn-lock yarn.lock + yarn config set yarn-offline-mirror "${frontendYarnOfflineCache}" + yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive + patchShebangs node_modules + yarn --offline build:http + popd + ''; + + subPackages = [ + "cmd/http" + ]; + + ldflags = [ + "-X github.com/getAlby/hub/version.Tag=v${version}" + "-s" + "-w" + ]; + + postInstall = '' + mv $out/bin/http $out/bin/albyhub + ''; + + preFixup = '' + patchelf --set-rpath ${ + lib.makeLibraryPath [ + ldkNode + ldkNodeGo + (lib.getLib stdenv.cc.cc) + ] + } $out/bin/albyhub + ''; + + meta = { + description = "Control lightning wallets over nostr"; + homepage = "https://github.com/getAlby/hub"; + license = lib.licenses.asl20; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ bleetube ]; + mainProgram = "albyhub"; + }; +} diff --git a/pkgs/by-name/am/amazon-ecr-credential-helper/package.nix b/pkgs/by-name/am/amazon-ecr-credential-helper/package.nix index 978b8cbb1c69..fa979d84fdfc 100644 --- a/pkgs/by-name/am/amazon-ecr-credential-helper/package.nix +++ b/pkgs/by-name/am/amazon-ecr-credential-helper/package.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "amazon-ecr-credential-helper"; - version = "0.9.1"; + version = "0.10.0"; src = fetchFromGitHub { owner = "awslabs"; repo = "amazon-ecr-credential-helper"; rev = "v${version}"; - sha256 = "sha256-kX1I8HsOJKFogqpfTgFBedM6BObdkpYfYwx3tS2IdMo="; + sha256 = "sha256-so8ZquyfW2YLQj2Og60o3oACy/bxDsjeNA7ky/DHd2I="; }; vendorHash = null; diff --git a/pkgs/by-name/au/audiobookshelf/source.json b/pkgs/by-name/au/audiobookshelf/source.json index 84c31d3aac1d..4d0383a553f3 100644 --- a/pkgs/by-name/au/audiobookshelf/source.json +++ b/pkgs/by-name/au/audiobookshelf/source.json @@ -1,9 +1,9 @@ { "owner": "advplyr", "repo": "audiobookshelf", - "rev": "077273033657da2345494084dc7a1f399cc1a7ba", - "hash": "sha256-6ygJrB7AvOyRLgDrkz/qLXiJXP+0U7uhi1HqZP62+gU=", - "version": "2.23.0", - "depsHash": "sha256-3ANieZvWxLVDiIZ1oGSB3UQgApZvukXN5OokyUnFyzg=", - "clientDepsHash": "sha256-WiMQZwPFo5qTo4kTWZ+LuLKDEorediQ+GhUxAO+nRCc=" + "rev": "c377b57601f82f76d677b09e6bbabda732c18861", + "hash": "sha256-q0Qlslw5e1nHDqLfLi4AvD3vAzoWvz9/0/lMgqn+y8Y=", + "version": "2.24.0", + "depsHash": "sha256-s4U+Hgace+d+zRaHeJkxh6TWgClY6T+tlmoyZq7L7Rk=", + "clientDepsHash": "sha256-fAtr5GW8AInIDgSEjv1JwKW9GNZGYImD3LxerkUqH8k=" } diff --git a/pkgs/by-name/au/automatic-timezoned/package.nix b/pkgs/by-name/au/automatic-timezoned/package.nix index 2e34bf2c7144..9229f6a43161 100644 --- a/pkgs/by-name/au/automatic-timezoned/package.nix +++ b/pkgs/by-name/au/automatic-timezoned/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "automatic-timezoned"; - version = "2.0.76"; + version = "2.0.79"; src = fetchFromGitHub { owner = "maxbrunet"; repo = "automatic-timezoned"; rev = "v${version}"; - sha256 = "sha256-fObJL4AOVGW/b050kh0/zpAg/BLzLpgop70SgvGqW6E="; + sha256 = "sha256-FPSwTtLLf1T4lx4ZmPPa6dnhcI9pBCFjhsABeIccRKk="; }; useFetchCargoVendor = true; - cargoHash = "sha256-msoYCTrBgq4xdQiKRvyyQ5seWceyRBM7StFvJ/8MDJ4="; + cargoHash = "sha256-H4bFSqt8hOH6tF2WO1mQqqmbK9U2qlFC+7swz/xj1I8="; meta = with lib; { description = "Automatically update system timezone based on location"; diff --git a/pkgs/by-name/bi/bitwarden-desktop/dont-use-platform-triple.patch b/pkgs/by-name/bi/bitwarden-desktop/dont-use-platform-triple.patch index 0b39a187e39d..f2f9259ebc00 100644 --- a/pkgs/by-name/bi/bitwarden-desktop/dont-use-platform-triple.patch +++ b/pkgs/by-name/bi/bitwarden-desktop/dont-use-platform-triple.patch @@ -45,10 +45,10 @@ index 2922035..6497a38 100644 ], "electronVersion": "34.0.0", "generateUpdatesFilesForAllChannels": true, -@@ -67,7 +67,6 @@ - ], +@@ -68,7 +68,6 @@ "CFBundleDevelopmentRegion": "en" }, + "provisioningProfile": "bitwarden_desktop_developer_id.provisionprofile", - "singleArchFiles": "node_modules/@bitwarden/desktop-napi/desktop_napi.darwin-*.node", "extraFiles": [ { diff --git a/pkgs/by-name/bi/bitwarden-desktop/package.nix b/pkgs/by-name/bi/bitwarden-desktop/package.nix index 70f8ada470e0..b2f9ab146577 100644 --- a/pkgs/by-name/bi/bitwarden-desktop/package.nix +++ b/pkgs/by-name/bi/bitwarden-desktop/package.nix @@ -34,13 +34,13 @@ let in buildNpmPackage' rec { pname = "bitwarden-desktop"; - version = "2025.4.2"; + version = "2025.5.0"; src = fetchFromGitHub { owner = "bitwarden"; repo = "clients"; rev = "desktop-v${version}"; - hash = "sha256-sWphSdxh07GS7GPlNVxK7zoXMTGLjT7qTLfH1nsIiQQ="; + hash = "sha256-8jVKwqKhTfhur226SER4sb1i4dY+TjJRYmOY8YtO6CY="; }; patches = [ @@ -76,7 +76,7 @@ buildNpmPackage' rec { "--ignore-scripts" ]; npmWorkspace = "apps/desktop"; - npmDepsHash = "sha256-/BOzDt+wgnWedWfShPkAhaeujBBQTDlZdtiKl3wrOqE="; + npmDepsHash = "sha256-0IoBPRGdtkMeTrT5cqZLHB/WrUCONtsJ6YHh0y4K5Ls="; cargoDeps = rustPlatform.fetchCargoVendor { inherit @@ -86,7 +86,7 @@ buildNpmPackage' rec { cargoRoot patches ; - hash = "sha256-EONHK33RuVy2ZlUzwdvdBX+6/jiCsrNo9ueZYQtWSkA="; + hash = "sha256-ZD/UPYRa+HR7hyWDP6S/BKvQpYRDwWQJV6iGF9LT2uY="; }; cargoRoot = "apps/desktop/desktop_native"; diff --git a/pkgs/by-name/ca/cargo-leptos/package.nix b/pkgs/by-name/ca/cargo-leptos/package.nix index fad103ebb5b3..8d4f6c3c10bb 100644 --- a/pkgs/by-name/ca/cargo-leptos/package.nix +++ b/pkgs/by-name/ca/cargo-leptos/package.nix @@ -1,21 +1,37 @@ { fetchFromGitHub, lib, + stdenv, rustPlatform, + pkg-config, + openssl, }: rustPlatform.buildRustPackage rec { pname = "cargo-leptos"; - version = "0.2.28"; + version = "0.2.35"; src = fetchFromGitHub { owner = "leptos-rs"; repo = "cargo-leptos"; rev = "v${version}"; - hash = "sha256-SjpfM963Zux+H5QhK8prvDLuI56fP5PqX5gcVbthRx4="; + hash = "sha256-CNktytEm6+5QTPAlxNz07+s7gue9dA5zZM82YQOWFSw="; }; useFetchCargoVendor = true; - cargoHash = "sha256-Da9ei4yAOfhSQmQgrUDZCmMeJXTfGnYhI1+L0JT/ECs="; + cargoHash = "sha256-O/JyB47UP6rLeAG1rt1dXhaKfZ71QPg7qAeciHAvrAk="; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ openssl ]; + + env = + { + OPENSSL_NO_VENDOR = 1; + } + // lib.optionalAttrs stdenv.hostPlatform.isDarwin { + # Fix for C++ compiler version on darwin for wasm-opt + CRATE_CC_NO_DEFAULTS = 1; + }; # https://github.com/leptos-rs/cargo-leptos#dependencies buildFeatures = [ "no_downloads" ]; # cargo-leptos will try to install missing dependencies on its own otherwise diff --git a/pkgs/by-name/ca/cargo-modules/package.nix b/pkgs/by-name/ca/cargo-modules/package.nix index 1e44adb6cc0e..f580869d1b7b 100644 --- a/pkgs/by-name/ca/cargo-modules/package.nix +++ b/pkgs/by-name/ca/cargo-modules/package.nix @@ -6,17 +6,17 @@ }: rustPlatform.buildRustPackage rec { pname = "cargo-modules"; - version = "0.24.0"; + version = "0.24.1"; src = fetchFromGitHub { owner = "regexident"; repo = "cargo-modules"; tag = "v${version}"; - hash = "sha256-MJswCl5eJjKarB2ufeNLQL0ZPDaRPpX6OGOqszG+a0g="; + hash = "sha256-VApgcyG2wKZ2kXHvToWfFi/YM0Q0Ebw2G1RJfmMrGuI="; }; useFetchCargoVendor = true; - cargoHash = "sha256-N1Bj0fqyirp51DNsrZEtRGOSUPS1YNbk+O3kdboQ+TQ="; + cargoHash = "sha256-kKYB6Dvvw/DkMJ0q9PPltZMBgGQJ50L7MXFOVjkHSEM="; checkFlags = [ "--skip=cfg_test::with_tests::smoke" diff --git a/pkgs/by-name/ca/cargo-xwin/package.nix b/pkgs/by-name/ca/cargo-xwin/package.nix index 5cdbbea67be7..039525814b43 100644 --- a/pkgs/by-name/ca/cargo-xwin/package.nix +++ b/pkgs/by-name/ca/cargo-xwin/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "cargo-xwin"; - version = "0.18.4"; + version = "0.18.5"; src = fetchFromGitHub { owner = "rust-cross"; repo = "cargo-xwin"; rev = "v${version}"; - hash = "sha256-bzyEIBOa0yqjAYjWGw4Fbb8Cv3yCCfJ4vV0q600Rwyk="; + hash = "sha256-P4X7k0r29vEjsVHGOD/rFpltUF2PJHETVyazJ6c8UhQ="; }; useFetchCargoVendor = true; - cargoHash = "sha256-8V5F0uhuJlc2uJtebQoHJT/qRZPCT2gXjwpRFbzUezk="; + cargoHash = "sha256-Oq3IfaywAZPrh4oom2ejPQRTM2BsgEzfaifaLAQzvbw="; meta = with lib; { description = "Cross compile Cargo project to Windows MSVC target with ease"; diff --git a/pkgs/by-name/co/conceal/package.nix b/pkgs/by-name/co/conceal/package.nix index 866eb72c001c..8fa83ab69759 100644 --- a/pkgs/by-name/co/conceal/package.nix +++ b/pkgs/by-name/co/conceal/package.nix @@ -10,17 +10,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "conceal"; - version = "0.6.1"; + version = "0.6.2"; src = fetchFromGitHub { owner = "TD-Sky"; repo = "conceal"; tag = "v${finalAttrs.version}"; - hash = "sha256-kgJcxckXfwnKZ3MyJ+GE1LiQmu9YdfqFrtL9gBJ330E="; + hash = "sha256-B6vZ4Xl7H6KOlscys+FT8fMXb0Xrvosr2DXHzvRjLis="; }; useFetchCargoVendor = true; - cargoHash = "sha256-Ym/HnUOLIKfCFWgusx92QeQYaNp9tfrhg5V1h02q3e0="; + cargoHash = "sha256-aBc9ijRObFi9AyQxSoQZs/3exAzOlYq5uNqFfvjNhvw="; env.CONCEAL_GEN_COMPLETIONS = "true"; diff --git a/pkgs/by-name/co/cotp/package.nix b/pkgs/by-name/co/cotp/package.nix index f4425425c19f..9ad7560e9927 100644 --- a/pkgs/by-name/co/cotp/package.nix +++ b/pkgs/by-name/co/cotp/package.nix @@ -8,17 +8,17 @@ rustPlatform.buildRustPackage rec { pname = "cotp"; - version = "1.9.5"; + version = "1.9.6"; src = fetchFromGitHub { owner = "replydev"; repo = "cotp"; rev = "v${version}"; - hash = "sha256-Jv5BT7P/OXLkkfrEf+8x2IrACMhqr3zpbcKX8I/TzDc="; + hash = "sha256-bbmxnzCUvhZ7rjaqbFCB+Qqx3EfY/W8OKhMNlt6KQ64="; }; useFetchCargoVendor = true; - cargoHash = "sha256-9iZyi3TPnqRpt+SRI3t7kwwiGpwUjQ0BrLZQY3X383o="; + cargoHash = "sha256-pWgHwqU/xbD5aA2ZCuI7PaImmdojHATgZ+SVSwjnqbk="; buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libxcb ]; diff --git a/pkgs/by-name/db/dbip-asn-lite/package.nix b/pkgs/by-name/db/dbip-asn-lite/package.nix index 8be3a8f3a1b3..898d67764e52 100644 --- a/pkgs/by-name/db/dbip-asn-lite/package.nix +++ b/pkgs/by-name/db/dbip-asn-lite/package.nix @@ -5,11 +5,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "dbip-asn-lite"; - version = "2025-05"; + version = "2025-06"; src = fetchurl { url = "https://download.db-ip.com/free/dbip-asn-lite-${finalAttrs.version}.mmdb.gz"; - hash = "sha256-7o/mGSi66++h9mOPhsv/M/taDHJ7kPfKPh7jb+nC4IQ="; + hash = "sha256-ZlbspbZoeUrftP5xaPqY16BBZrPu1tU2AjbmJOOzN0w="; }; dontUnpack = true; diff --git a/pkgs/by-name/db/dbip-city-lite/package.nix b/pkgs/by-name/db/dbip-city-lite/package.nix index 7d986448796b..fc49f52d647b 100644 --- a/pkgs/by-name/db/dbip-city-lite/package.nix +++ b/pkgs/by-name/db/dbip-city-lite/package.nix @@ -5,11 +5,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "dbip-city-lite"; - version = "2025-05"; + version = "2025-06"; src = fetchurl { url = "https://download.db-ip.com/free/dbip-city-lite-${finalAttrs.version}.mmdb.gz"; - hash = "sha256-Trqy6BlagHycC432BE1p/fF+hfcVpPhzVJTKIJQaWlY="; + hash = "sha256-iv4UfdLcmLE5d5y38kz4EFpDpecjScESr1I30dB+jDQ="; }; dontUnpack = true; diff --git a/pkgs/by-name/db/dbip-country-lite/package.nix b/pkgs/by-name/db/dbip-country-lite/package.nix index 23fb563eaffa..b6383b60b55f 100644 --- a/pkgs/by-name/db/dbip-country-lite/package.nix +++ b/pkgs/by-name/db/dbip-country-lite/package.nix @@ -5,11 +5,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "dbip-country-lite"; - version = "2025-05"; + version = "2025-06"; src = fetchurl { url = "https://download.db-ip.com/free/dbip-country-lite-${finalAttrs.version}.mmdb.gz"; - hash = "sha256-7ZmodKYVMID/5yOMZuEpRkb41/DTrgprJPG7DYnYNak="; + hash = "sha256-p3HJTzzAtkHgDdiXa9M1jPSukDo+AgRu3Cjf1Q+QXB8="; }; dontUnpack = true; diff --git a/pkgs/by-name/dd/ddns-go/package.nix b/pkgs/by-name/dd/ddns-go/package.nix index e390d5c7a1f3..b3a1f333f843 100644 --- a/pkgs/by-name/dd/ddns-go/package.nix +++ b/pkgs/by-name/dd/ddns-go/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "ddns-go"; - version = "6.9.3"; + version = "6.9.5"; src = fetchFromGitHub { owner = "jeessy2"; repo = "ddns-go"; rev = "v${version}"; - hash = "sha256-SvhfrVdVn5hvtnDWLg6tdv8wXicUBt3U0CjseJLPbVY="; + hash = "sha256-FwLS233yGPXzBfHscJV4JCNqJru0hOAA808DVis4V0s="; }; vendorHash = "sha256-RPYjw4G1jfsrge1eXKdQ6RdNL7srjagUY14GzXBJvpI="; diff --git a/pkgs/by-name/di/diamond/package.nix b/pkgs/by-name/di/diamond/package.nix index a0104ed26108..3df9a9234b9a 100644 --- a/pkgs/by-name/di/diamond/package.nix +++ b/pkgs/by-name/di/diamond/package.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "diamond"; - version = "2.1.11"; + version = "2.1.12"; src = fetchFromGitHub { owner = "bbuchfink"; repo = "diamond"; rev = "v${version}"; - sha256 = "sha256-X/6sOClMFGBYksMrVfM1Y7MM3NmBEiRpmLg4Rbatc+w="; + sha256 = "sha256-C4hr0Strv7h76NzcOLB0tfbqKSk+Us6cwoJlstYfvto="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/do/doctl/package.nix b/pkgs/by-name/do/doctl/package.nix index 864380f6bdd7..50f0c3a67c5d 100644 --- a/pkgs/by-name/do/doctl/package.nix +++ b/pkgs/by-name/do/doctl/package.nix @@ -9,7 +9,7 @@ buildGoModule rec { pname = "doctl"; - version = "1.127.0"; + version = "1.128.0"; vendorHash = null; @@ -42,7 +42,7 @@ buildGoModule rec { owner = "digitalocean"; repo = "doctl"; tag = "v${version}"; - hash = "sha256-wdba3kly0Iqsqs0i+AGMsNtzO3dsFIZVc0g0arL/NfM="; + hash = "sha256-/G+T7tvK1Jg13a6cBA2T58yPPypP1j1/6IvBws3SEOA="; }; meta = { diff --git a/pkgs/by-name/do/dooit-extras/package.nix b/pkgs/by-name/do/dooit-extras/package.nix index ec68b74ba121..5cd863f26376 100644 --- a/pkgs/by-name/do/dooit-extras/package.nix +++ b/pkgs/by-name/do/dooit-extras/package.nix @@ -10,14 +10,14 @@ let in python3.pkgs.buildPythonPackage rec { pname = "dooit-extras"; - version = "0.2.0"; + version = "0.2.1"; pyproject = true; src = fetchFromGitHub { owner = "dooit-org"; repo = "dooit-extras"; tag = "v${version}"; - hash = "sha256-ZBzzH8k4oC3ovLF9+9rzzFZaDDoOvcbX5NCh1WBedK4="; + hash = "sha256-h29lN32Qca8edF1aLhLxnV97MMEapX3Docc+CIEF6I4="; }; build-system = with python3.pkgs; [ poetry-core ]; diff --git a/pkgs/by-name/es/esphome/package.nix b/pkgs/by-name/es/esphome/package.nix index 3568e5a6bacd..da6e54c817bf 100644 --- a/pkgs/by-name/es/esphome/package.nix +++ b/pkgs/by-name/es/esphome/package.nix @@ -33,14 +33,14 @@ let in python.pkgs.buildPythonApplication rec { pname = "esphome"; - version = "2025.5.1"; + version = "2025.5.2"; pyproject = true; src = fetchFromGitHub { owner = "esphome"; repo = "esphome"; tag = version; - hash = "sha256-z4FwymWFjyqNx95r2o7LLCmytRQYkogfCKiUFNyGOuA="; + hash = "sha256-p4+OuBGS9OJxxiQ4xOO2WseUrw3yXWyCZn7jilnh06E="; }; build-systems = with python.pkgs; [ diff --git a/pkgs/by-name/ff/ffizer/package.nix b/pkgs/by-name/ff/ffizer/package.nix index dbcd7a4f2b72..6cd1b410aa32 100644 --- a/pkgs/by-name/ff/ffizer/package.nix +++ b/pkgs/by-name/ff/ffizer/package.nix @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec { pname = "ffizer"; - version = "2.13.2"; + version = "2.13.3"; buildFeatures = [ "cli" ]; @@ -18,11 +18,11 @@ rustPlatform.buildRustPackage rec { owner = "ffizer"; repo = "ffizer"; rev = version; - hash = "sha256-GL1tdWOcbdybPayfShoGnxHsqYi8p+DZ6Eo/8bvWElE="; + hash = "sha256-S5iF2xjOw1g6scxUMGn6ghr3iASlLlz6IUYjsLo1wRk="; }; useFetchCargoVendor = true; - cargoHash = "sha256-5hsJ6eMiUPOqAzW1bdXTGTP5tY6VM2tTdySpkJl6pAY="; + cargoHash = "sha256-VYjxSZUFgdrYiL0yzHVLH3MgUx4geypxDV2h8lpqc0o="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/fi/files-to-prompt/package.nix b/pkgs/by-name/fi/files-to-prompt/package.nix index b671e52e9504..bba3859edb6b 100644 --- a/pkgs/by-name/fi/files-to-prompt/package.nix +++ b/pkgs/by-name/fi/files-to-prompt/package.nix @@ -1,43 +1,3 @@ -{ - lib, - python3Packages, - fetchFromGitHub, - versionCheckHook, -}: +{ python3Packages }: -python3Packages.buildPythonApplication rec { - pname = "files-to-prompt"; - version = "0.6"; - pyproject = true; - - src = fetchFromGitHub { - owner = "simonw"; - repo = "files-to-prompt"; - tag = version; - hash = "sha256-LWp/DNP3bsh7/goQGkpi4x2N11tRuhLVh2J8H6AUH0w="; - }; - - build-system = with python3Packages; [ - setuptools - ]; - - dependencies = with python3Packages; [ - click - ]; - - nativeCheckInputs = with python3Packages; [ - pytestCheckHook - versionCheckHook - ]; - - versionCheckProgramArg = "--version"; - - meta = { - description = "Concatenate a directory full of files into a single prompt for use with LLMs"; - homepage = "https://github.com/simonw/files-to-prompt/"; - changelog = "https://github.com/simonw/files-to-prompt/releases/tag/${src.tag}"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ erethon ]; - mainProgram = "files-to-prompt"; - }; -} +python3Packages.toPythonApplication python3Packages.files-to-prompt diff --git a/pkgs/by-name/fl/flake-checker/package.nix b/pkgs/by-name/fl/flake-checker/package.nix index 51b6b98b2ac2..8a1e86d09794 100644 --- a/pkgs/by-name/fl/flake-checker/package.nix +++ b/pkgs/by-name/fl/flake-checker/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "flake-checker"; - version = "0.2.6"; + version = "0.2.7"; src = fetchFromGitHub { owner = "DeterminateSystems"; repo = "flake-checker"; rev = "v${version}"; - hash = "sha256-qEdwtyk5IaYCx67BFnLp4iUN+ewfPMl/wjs9K4hKqGc="; + hash = "sha256-RwkyyrWm0QRNOn7Bb9jKOyJ049B6pPmhbrx8tXpUf4w="; }; useFetchCargoVendor = true; - cargoHash = "sha256-5eaVjrAPxBQdG+LQ6mQ/ZYAdslpdK3mrZ5Vbuwe3iQw="; + cargoHash = "sha256-lB7+2dQGfbn7IhmCAN0jvFTGjJDBpw57VHi3qIwwOZ4="; meta = with lib; { description = "Health checks for your Nix flakes"; diff --git a/pkgs/by-name/fl/flare-signal/package.nix b/pkgs/by-name/fl/flare-signal/package.nix index 7ad1ac892efe..cd15e153b8a9 100644 --- a/pkgs/by-name/fl/flare-signal/package.nix +++ b/pkgs/by-name/fl/flare-signal/package.nix @@ -22,19 +22,19 @@ stdenv.mkDerivation (finalAttrs: { pname = "flare"; - version = "0.16.1"; + version = "0.16.2"; src = fetchFromGitLab { domain = "gitlab.com"; owner = "schmiddi-on-mobile"; repo = "flare"; tag = finalAttrs.version; - hash = "sha256-5phXBsXi0kbTb4RVzbB4LS9b+S2M3U2l/6QYoSHo114="; + hash = "sha256-H7lh3yjAC4xSv5NsLo3q4bEzuLgEh/UExwCw3BJWUeQ="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-sI+zV1YW9RhtYRgUWiFKN8Iw9a5qkktOo0hFwyimPI8="; + hash = "sha256-x1Yyr6Mwd1fYylrhRflpnzkBKG6Zm8R5UO/jcqP+aKE="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ga/gamescope/package.nix b/pkgs/by-name/ga/gamescope/package.nix index 26c47796dcdc..f373a4cce8d5 100644 --- a/pkgs/by-name/ga/gamescope/package.nix +++ b/pkgs/by-name/ga/gamescope/package.nix @@ -49,14 +49,14 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "gamescope"; - version = "3.16.10"; + version = "3.16.11"; src = fetchFromGitHub { owner = "ValveSoftware"; repo = "gamescope"; tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-MZhIsnSp2uGMQds5zEhF8WZgGNHDGH+3A2TGjB6Vn10="; + hash = "sha256-Hj/o5QcjCtMoteKOFU9uZmPIQ28ZlM83BT4MAQTmqQQ="; }; patches = [ diff --git a/pkgs/by-name/gh/ghostfolio/package.nix b/pkgs/by-name/gh/ghostfolio/package.nix index fd4951c0a97a..79d23db32cc8 100644 --- a/pkgs/by-name/gh/ghostfolio/package.nix +++ b/pkgs/by-name/gh/ghostfolio/package.nix @@ -11,13 +11,13 @@ buildNpmPackage rec { pname = "ghostfolio"; - version = "2.162.0"; + version = "2.165.0"; src = fetchFromGitHub { owner = "ghostfolio"; repo = "ghostfolio"; tag = version; - hash = "sha256-2j7haypj1Bl0T0ppBCo+KDaMup+1dOuI2xouaJuVtec="; + hash = "sha256-3pgYRwTsfHbooW1oEw2LTH1DXYrru7F7XPmWPQs1x0o="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; @@ -27,7 +27,7 @@ buildNpmPackage rec { ''; }; - npmDepsHash = "sha256-IYHV7PEyfkGtwpROHITulqBEC6NgA5CumIykKtoamU8="; + npmDepsHash = "sha256-x/F9fcQBmK6+xL0N38HIBUi+vkvZ3p8rxxqxpnm7p68="; nativeBuildInputs = [ prisma diff --git a/pkgs/by-name/gi/git-spice/package.nix b/pkgs/by-name/gi/git-spice/package.nix index 1305f143527f..d1225d994d01 100644 --- a/pkgs/by-name/gi/git-spice/package.nix +++ b/pkgs/by-name/gi/git-spice/package.nix @@ -10,16 +10,16 @@ buildGo124Module rec { pname = "git-spice"; - version = "0.13.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "abhinav"; repo = "git-spice"; tag = "v${version}"; - hash = "sha256-hqdU0j7H3hhhjGV4lmluG1D6NXNqI80d9gGr5KJ9D+Q="; + hash = "sha256-Le33Ri2mt6ccTpC0GN0TLtQKqN/cGD2Rt8ZG56lnjtI="; }; - vendorHash = "sha256-Wi/NNqHnHrfikO0EWDXNdTjPmgHrGSs2k612c0w8OA8="; + vendorHash = "sha256-ccFt9T/p//ABMK/SuHKKnQJZH8yM0yRzYm/cON4I6CQ="; subPackages = [ "." ]; diff --git a/pkgs/by-name/gp/gpu-viewer/package.nix b/pkgs/by-name/gp/gpu-viewer/package.nix index ebc91e8e9d7f..f726b77f1c9f 100644 --- a/pkgs/by-name/gp/gpu-viewer/package.nix +++ b/pkgs/by-name/gp/gpu-viewer/package.nix @@ -29,14 +29,14 @@ python3Packages.buildPythonApplication rec { pname = "gpu-viewer"; - version = "3.12"; + version = "3.13"; pyproject = false; src = fetchFromGitHub { owner = "arunsivaramanneo"; repo = "gpu-viewer"; tag = "v${version}"; - hash = "sha256-wVgAAKqlf5mtj2u+DsRPvYeVta7wAr+eCXVM1c/l6bo="; + hash = "sha256-0owVFnAy2jncNzcWma8vLAAXWOZJ7d56yfn5fr2c2lU="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/gq/gqlgen/package.nix b/pkgs/by-name/gq/gqlgen/package.nix index 87f0129aef6f..a45d38f22d3a 100644 --- a/pkgs/by-name/gq/gqlgen/package.nix +++ b/pkgs/by-name/gq/gqlgen/package.nix @@ -6,7 +6,7 @@ }: let - version = "0.17.73"; + version = "0.17.74"; in buildGoModule { pname = "gqlgen"; @@ -16,10 +16,10 @@ buildGoModule { owner = "99designs"; repo = "gqlgen"; tag = "v${version}"; - hash = "sha256-s6D9ohFdUhch2LhpmHYBgpBrO/5WEM1TX/+DIfwxSPc="; + hash = "sha256-vnUsqJTurGK4pymgDHYpatQ8qW00SfJdxk+CfC/62UA="; }; - vendorHash = "sha256-QN3ebVC6cJBnpm9Kyhg16EcXoT2rI1fR6QEf6i74WHg="; + vendorHash = "sha256-k0jWR8t9ZaShEYAXrJi7bUXs7uJ8/rbtHQioQd7/pf8="; subPackages = [ "." ]; diff --git a/pkgs/by-name/ho/home-manager/package.nix b/pkgs/by-name/ho/home-manager/package.nix index 3b9b94a41e17..764292e4985e 100644 --- a/pkgs/by-name/ho/home-manager/package.nix +++ b/pkgs/by-name/ho/home-manager/package.nix @@ -19,14 +19,14 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "home-manager"; - version = "0-unstable-2025-05-23"; + version = "0-unstable-2025-06-02"; src = fetchFromGitHub { name = "home-manager-source"; owner = "nix-community"; repo = "home-manager"; - rev = "7419250703fd5eb50e99bdfb07a86671939103ea"; - hash = "sha256-pQQnbxWpY3IiZqgelXHIe/OAE/Yv4NSQq7fch7M6nXQ="; + rev = "cb809ec1ff15cf3237c6592af9bbc7e4d983e98c"; + hash = "sha256-BJ0qRIdvt5aeqm3zg/5if7b5rruG05zrSX3UpLqjDRk="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ic/icdiff/package.nix b/pkgs/by-name/ic/icdiff/package.nix index d34b976f068e..98144d145cd0 100644 --- a/pkgs/by-name/ic/icdiff/package.nix +++ b/pkgs/by-name/ic/icdiff/package.nix @@ -1,41 +1,3 @@ -{ - lib, - python3Packages, - fetchFromGitHub, - bash, - git, - less, -}: +{ python3Packages }: -python3Packages.buildPythonApplication rec { - pname = "icdiff"; - version = "2.0.7"; - - src = fetchFromGitHub { - owner = "jeffkaufman"; - repo = "icdiff"; - tag = "release-${version}"; - hash = "sha256-XOw/xhPGlzi1hAgzQ1EtioUM476A+lQWLlvvaxd9j08="; - }; - - # error: could not lock config file /homeless-shelter/.gitconfig: No such file or directory - doCheck = false; - - nativeCheckInputs = [ - bash - git - less - ]; - - checkPhase = '' - patchShebangs test.sh - ./test.sh ${python3Packages.python.interpreter} - ''; - - meta = { - homepage = "https://www.jefftk.com/icdiff"; - description = "Side-by-side highlighted command line diffs"; - maintainers = [ ]; - license = lib.licenses.psfl; - }; -} +python3Packages.toPythonApplication python3Packages.icdiff diff --git a/pkgs/by-name/jq/jq-lsp/package.nix b/pkgs/by-name/jq/jq-lsp/package.nix index f82633cd71e6..428947a998f1 100644 --- a/pkgs/by-name/jq/jq-lsp/package.nix +++ b/pkgs/by-name/jq/jq-lsp/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "jq-lsp"; - version = "0.1.11"; + version = "0.1.12"; src = fetchFromGitHub { owner = "wader"; repo = "jq-lsp"; tag = "v${version}"; - hash = "sha256-jnHM3VSfi0KioNmXlkjVIlV7/7bKipEvpnV+z13+59Y="; + hash = "sha256-rq6AZsRwCWCIqLH78mOAA2tWa66ys78hRCxnNSXxegc="; }; vendorHash = "sha256-8sZGnoP7l09ZzLJqq8TUCquTOPF0qiwZcFhojUnnEIY="; diff --git a/pkgs/by-name/ju/jumppad/package.nix b/pkgs/by-name/ju/jumppad/package.nix index 07166a513a97..840d60ab6f1b 100644 --- a/pkgs/by-name/ju/jumppad/package.nix +++ b/pkgs/by-name/ju/jumppad/package.nix @@ -6,15 +6,15 @@ buildGoModule rec { pname = "jumppad"; - version = "0.20.0"; + version = "0.20.1"; src = fetchFromGitHub { owner = "jumppad-labs"; repo = "jumppad"; rev = version; - hash = "sha256-g46sbsAa0c7smCDMDLhGIJ8KlpEH9gHSV4/uRLQjxL8="; + hash = "sha256-K+HWXtuKe0g8K3SpfbHgKzuTxiz68MSvzeI07fm0O4U="; }; - vendorHash = "sha256-ZYcjlOt0y5fhbMmxTgr8vAFO8vhqLDTNKonYf0f1J58="; + vendorHash = "sha256-mr7Rnqp2rPIeW9oqNMbxc0SR+l8pPhKm6jk6EEycpRQ="; subPackages = [ "." ]; diff --git a/pkgs/by-name/li/libosinfo/package.nix b/pkgs/by-name/li/libosinfo/package.nix index c48b1d2c739a..5357338529bf 100644 --- a/pkgs/by-name/li/libosinfo/package.nix +++ b/pkgs/by-name/li/libosinfo/package.nix @@ -25,11 +25,11 @@ stdenv.mkDerivation rec { pname = "libosinfo"; - version = "1.11.0"; + version = "1.12.0"; src = fetchurl { url = "https://releases.pagure.org/${pname}/${pname}-${version}.tar.xz"; - sha256 = "sha256-G/lu7J4UYPPRpxMWPMof8NSAo0kLUImSkvFFSLOpa2A="; + sha256 = "sha256-rYVX7OJnk9pD0m3lZePWjOLua/uNARO3zH3+B/a/xrY="; }; outputs = [ @@ -65,10 +65,10 @@ stdenv.mkDerivation rec { osinfo_db_data_dir = "${osinfo-db}/share"; }) - # Fix build with libxml 2.12 + # Fix build with libxml 2.14 (fetchpatch { - url = "https://gitlab.com/libosinfo/libosinfo/-/commit/5bbdd06503456784c5ffa22409e8bab50470d673.patch"; - hash = "sha256-KqgHXI+lD5VYp2wtA58Drp15TgNK1O3xCaYBy4/B9wc="; + url = "https://gitlab.com/libosinfo/libosinfo/-/commit/0adf38535637ec668e658d43f04f60f11f51574f.patch"; + hash = "sha256-NZija5BwevRU7bAe2SPx9GnoGb1P+mXEbJ5EVAFT9Yw="; }) ]; diff --git a/pkgs/by-name/ll/llm/package.nix b/pkgs/by-name/ll/llm/package.nix new file mode 100644 index 000000000000..f2bb127d32aa --- /dev/null +++ b/pkgs/by-name/ll/llm/package.nix @@ -0,0 +1,46 @@ +# The `...` allows this derivation to be overridden with `enable-`. +# +# Example: +# +# ```nix +# llm.override { +# enable-llm-anthropic = true; +# enable-llm-gemini = true; +# enable-llm-cmd = true; +# enable-llm-templates-github = true; +# } +# ``` +# +# Whatever names are accepted by `llm.withPlugins` are accepted with an added `enable-` prefix as +# an override of this derivation. The user can also do `llm.withPlugins { llm-anthropic = true; }`. +{ lib, python3Packages, ... }@args: + +let + inherit (python3Packages) llm; + + hasEnablePrefix = lib.hasPrefix "enable-"; + addEnablePrefix = name: "enable-${name}"; + removeEnablePrefix = lib.removePrefix "enable-"; + + # Filter to just the attributes which are named "enable-" + enableArgs = lib.filterAttrs (name: value: hasEnablePrefix name) args; + pluginArgs = lib.mapAttrs' ( + name: value: lib.nameValuePair (removeEnablePrefix name) value + ) enableArgs; + + # Provide some diagnostics for the plugin names + pluginNames = lib.attrNames (lib.functionArgs llm.withPlugins); + enableNames = lib.map addEnablePrefix pluginNames; + unknownPluginNames = lib.removeAttrs pluginArgs pluginNames; + unknownNames = lib.map addEnablePrefix (lib.attrNames unknownPluginNames); + unknownNamesDiagnostic = '' + Unknown plugins specified in override: ${lib.concatStringsSep ", " unknownNames} + + Valid overrides: + - ${lib.concatStringsSep "\n - " enableNames} + ''; +in + +assert lib.assertMsg (lib.length unknownNames == 0) unknownNamesDiagnostic; + +llm.withPlugins pluginArgs diff --git a/pkgs/by-name/ma/maa-assistant-arknights/pin.json b/pkgs/by-name/ma/maa-assistant-arknights/pin.json index ec43cd01494a..7904f82f9503 100644 --- a/pkgs/by-name/ma/maa-assistant-arknights/pin.json +++ b/pkgs/by-name/ma/maa-assistant-arknights/pin.json @@ -1,10 +1,10 @@ { "stable": { - "version": "5.16.9", - "hash": "sha256-D6ea+fDffOxAPf9+dCOjbr9+meXdOEUN+1BAicO2xhc=" + "version": "5.16.10", + "hash": "sha256-H3RW2SikKCYhmDsoID5Kye9qq6lAbuu8tedzCHuybis=" }, "beta": { - "version": "5.16.9", - "hash": "sha256-D6ea+fDffOxAPf9+dCOjbr9+meXdOEUN+1BAicO2xhc=" + "version": "5.17.0-beta.1", + "hash": "sha256-qBfy7M5jqf4aPT5kcdzLm6HFZKn8KfYeZVaZvfY9rAg=" } } diff --git a/pkgs/by-name/ma/magnetic-catppuccin-gtk/package.nix b/pkgs/by-name/ma/magnetic-catppuccin-gtk/package.nix index 7f2dcb4650cc..b05514106395 100644 --- a/pkgs/by-name/ma/magnetic-catppuccin-gtk/package.nix +++ b/pkgs/by-name/ma/magnetic-catppuccin-gtk/package.nix @@ -59,13 +59,13 @@ lib.checkListOfEnum "${pname} Valid theme accent(s)" validAccents accent lib.che stdenv.mkDerivation { pname = "magnetic-${lib.toLower pname}"; - version = "0-unstable-2024-11-06"; + version = "0-unstable-2025-04-25"; src = fetchFromGitHub { owner = "Fausto-Korpsvart"; repo = "Catppuccin-GTK-Theme"; - rev = "be79b8289200aa1a17620f84dde3fe4c3b9c5998"; - hash = "sha256-QItHmYZpe7BiPC+2CtFwiRXyMTG7+ex0sJTs63xmkAo="; + rev = "c961826d027ed93fae12a9a309616e36d140e6b9"; + hash = "sha256-7F4FrhM+kBFPeLp2mjmYkoDiF9iKDUkC27LUBuFyz7g="; }; nativeBuildInputs = [ @@ -101,11 +101,11 @@ lib.checkListOfEnum "${pname} Valid theme accent(s)" validAccents accent lib.che runHook postInstall ''; - meta = with lib; { + meta = { description = "GTK Theme with Catppuccin colour scheme"; homepage = "https://github.com/Fausto-Korpsvart/Catppuccin-GTK-Theme"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ icy-thought ]; - platforms = platforms.all; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ icy-thought ]; + platforms = lib.platforms.all; }; } diff --git a/pkgs/by-name/me/mergiraf/package.nix b/pkgs/by-name/me/mergiraf/package.nix index 3642d9f256e3..64df812e3231 100644 --- a/pkgs/by-name/me/mergiraf/package.nix +++ b/pkgs/by-name/me/mergiraf/package.nix @@ -11,18 +11,18 @@ rustPlatform.buildRustPackage rec { pname = "mergiraf"; - version = "0.8.1"; + version = "0.10.0"; src = fetchFromGitea { domain = "codeberg.org"; owner = "mergiraf"; repo = "mergiraf"; rev = "refs/tags/v${version}"; - hash = "sha256-HtIrl9q64JLV/ufJ2g9OrQDDOkcwvyn4+l6/dUqwXkw="; + hash = "sha256-wnXOl7KzSvvxQP4CebOJ+fEIn7fQDKTmO2PkGMRA4t4="; }; useFetchCargoVendor = true; - cargoHash = "sha256-xe+JbXKOfxj0XSUM3zW0cYkWo22nyTOp+mOudv3UbE4="; + cargoHash = "sha256-jShWfd3m9g6YlUFLOzlMPFtuXAAfjh+sBujCJ9F2Uj0="; nativeCheckInputs = [ git diff --git a/pkgs/by-name/n8/n8n/package.nix b/pkgs/by-name/n8/n8n/package.nix index 6882af2fb37a..42c7448d8669 100644 --- a/pkgs/by-name/n8/n8n/package.nix +++ b/pkgs/by-name/n8/n8n/package.nix @@ -17,18 +17,18 @@ stdenv.mkDerivation (finalAttrs: { pname = "n8n"; - version = "1.93.0"; + version = "1.95.2"; src = fetchFromGitHub { owner = "n8n-io"; repo = "n8n"; tag = "n8n@${finalAttrs.version}"; - hash = "sha256-qq4oehZnwp9Zj+h827exILrgLgM/yHQzjWRQsdmYWgs="; + hash = "sha256-MFREFqDuT7xTCOJ6s6bcDG8jjTSckyqJTvAFSukV5x0="; }; pnpmDeps = pnpm_10.fetchDeps { inherit (finalAttrs) pname version src; - hash = "sha256-bLpYfIIJYmooRX7F/L8e7kdbEKPNJE6EPqjhPdAwJt4="; + hash = "sha256-ikGRHuAy9kmpxhu0Aawk6qL2vMYygSgf3YPdfs7OwOM="; }; nativeBuildInputs = diff --git a/pkgs/by-name/ne/netavark/package.nix b/pkgs/by-name/ne/netavark/package.nix index 0392ef6e3145..2c5ad1b57736 100644 --- a/pkgs/by-name/ne/netavark/package.nix +++ b/pkgs/by-name/ne/netavark/package.nix @@ -11,17 +11,17 @@ rustPlatform.buildRustPackage rec { pname = "netavark"; - version = "1.15.0"; + version = "1.15.1"; src = fetchFromGitHub { owner = "containers"; repo = "netavark"; rev = "v${version}"; - hash = "sha256-V+JwfKWo8gqVq/lF0MMt8sovPRyb3saBxsUhdMo4C5g="; + hash = "sha256-/X0G26XuIBVLnXVADws+CGWwDA8IwTs/XEbA0slaazs="; }; useFetchCargoVendor = true; - cargoHash = "sha256-C2+N3jPdqh/cmJ2efrUnScXo1rFBEec6w4r8M6OfcPo="; + cargoHash = "sha256-orhYOBZDfrbXJ+nNBu2nsiTUbpKuGWmfuryCzyXSjG0="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/om/omnictl/package.nix b/pkgs/by-name/om/omnictl/package.nix index dba1f3c45bc4..d8d6067aa108 100644 --- a/pkgs/by-name/om/omnictl/package.nix +++ b/pkgs/by-name/om/omnictl/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "omnictl"; - version = "0.50.0"; + version = "0.50.1"; src = fetchFromGitHub { owner = "siderolabs"; repo = "omni"; rev = "v${version}"; - hash = "sha256-zxtBAFfZrXbUL1V2AN8Cblm6M7HhogoncOzGyjOUcK4="; + hash = "sha256-ewbTYS5eRluTRY7pOzD/ylHUH2Wbgn/qoQvICnJ2vrg="; }; - vendorHash = "sha256-ewJTnoJpnz/237j/mpYpi8Otwu3ge9QN8cNrAfCHvUM="; + vendorHash = "sha256-bS5g4cXzp9zKtlsE/EApm7mQJ3asZdyQ3vw8Vslz62Q="; ldflags = [ "-s" diff --git a/pkgs/by-name/pa/paretosecurity/package.nix b/pkgs/by-name/pa/paretosecurity/package.nix index 05211c8098fe..53722be17a66 100644 --- a/pkgs/by-name/pa/paretosecurity/package.nix +++ b/pkgs/by-name/pa/paretosecurity/package.nix @@ -17,7 +17,7 @@ buildGoModule (finalAttrs: { webkitgtk_4_1 ]; pname = "paretosecurity"; - version = "0.2.27"; + version = "0.2.31"; src = fetchFromGitHub { owner = "ParetoSecurity"; @@ -26,7 +26,7 @@ buildGoModule (finalAttrs: { hash = "sha256-dYQNSzovWCX7sj7VjgBc5GHz+5dKLTiB5pvbVSLMyqY="; }; - vendorHash = "sha256-PhuHRs0PjIJqY3ZBC4ga7zFxgf57xfPjJ3VIDaA61F0"; + vendorHash = "sha256-PhuHRs0PjIJqY3ZBC4ga7zFxgf57xfPjJ3VIDaA61F0="; proxyVendor = true; # Skip building the Windows installer diff --git a/pkgs/by-name/po/pocket-id/package.nix b/pkgs/by-name/po/pocket-id/package.nix index abd96cd6c227..50728a63c42c 100644 --- a/pkgs/by-name/po/pocket-id/package.nix +++ b/pkgs/by-name/po/pocket-id/package.nix @@ -9,18 +9,18 @@ buildGoModule (finalAttrs: { pname = "pocket-id"; - version = "1.1.0"; + version = "1.2.0"; src = fetchFromGitHub { owner = "pocket-id"; repo = "pocket-id"; tag = "v${finalAttrs.version}"; - hash = "sha256-J/s8wpKAU7w8Djtd7rtamCzg/7176W0ybSoAB/vHOjs="; + hash = "sha256-LydP89zyqMGpWbC7nEAyPMx0ARDrYh4qL9sH1i8a88M="; }; sourceRoot = "${finalAttrs.src.name}/backend"; - vendorHash = "sha256-jLwuBYiFZhUDIvG5uk78vXmo+wuqkFmyC5lAUZ3vUxU="; + vendorHash = "sha256-U7FKU5WkU1EoXav+Q1i04uRSxBux/o4/9UzajT/hV/g="; env.CGO_ENABLED = 0; ldflags = [ @@ -42,7 +42,7 @@ buildGoModule (finalAttrs: { sourceRoot = "${finalAttrs.src.name}/frontend"; - npmDepsHash = "sha256-ykoyJtnqFK1fK60SbzrL7nhRcKYa3qYdHf9kFOC3EwE="; + npmDepsHash = "sha256-+KmNWKe5k/WuQL9B6XYZWDCLICyGWIg/vHLZr9T7SOc="; npmFlags = [ "--legacy-peer-deps" ]; env.BUILD_OUTPUT_PATH = "dist"; diff --git a/pkgs/by-name/pr/pretix/package.nix b/pkgs/by-name/pr/pretix/package.nix index 6900d84dbc47..8743450e547d 100644 --- a/pkgs/by-name/pr/pretix/package.nix +++ b/pkgs/by-name/pr/pretix/package.nix @@ -7,6 +7,7 @@ python3, gettext, nixosTests, + pretix, plugins ? [ ], }: @@ -35,6 +36,7 @@ let }; }; + pretix = self.toPythonModule pretix; pretix-plugin-build = self.callPackage ./plugin-build.nix { }; }; }; diff --git a/pkgs/by-name/pr/pretix/plugins/sepadebit/package.nix b/pkgs/by-name/pr/pretix/plugins/sepadebit/package.nix new file mode 100644 index 000000000000..d5ad04b3da56 --- /dev/null +++ b/pkgs/by-name/pr/pretix/plugins/sepadebit/package.nix @@ -0,0 +1,64 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + pretix-plugin-build, + setuptools, + + # dependencies + django-localflavor, + sepaxml, + + # tests + django-scopes, + pretix, + pytest-django, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "pretix-sepadebit"; + version = "2.6.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pretix"; + repo = "pretix-sepadebit"; + tag = "v${version}"; + hash = "sha256-o4HVPuSpYIFjxmYuL+IsJJDkv+4ARuvaDqPjxWxlhMg="; + }; + + build-system = [ + pretix-plugin-build + setuptools + ]; + + dependencies = [ + django-localflavor + sepaxml + ]; + + pythonImportsCheck = [ + "pretix_sepadebit" + ]; + + nativeCheckInputs = [ + django-scopes + pretix + pytest-django + pytestCheckHook + ]; + + preCheck = '' + export DJANGO_SETTINGS_MODULE=pretix.testutils.settings + ''; + + meta = with lib; { + description = "Plugin to receive payments via SEPA direct debit"; + homepage = "https://github.com/pretix/pretix-sepadebit"; + license = licenses.asl20; + maintainers = with maintainers; [ bbenno ]; + }; +} diff --git a/pkgs/by-name/si/sioyek/package.nix b/pkgs/by-name/si/sioyek/package.nix index a44e9826df8d..0cd41434b56f 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-2025-05-23"; + version = "2.0.0-unstable-2025-05-30"; src = fetchFromGitHub { owner = "ahrm"; repo = "sioyek"; - rev = "d73a2fcd74c0a119c397372a79aeea628205d4a7"; - hash = "sha256-ZKAv/G/Bgb3lxEx+WRupTBxo4Gf5yFbZ+siNyz5lABY="; + rev = "43402f6207f241ea0bb2854dfd9159e175649921"; + hash = "sha256-mB7vBnvSrQdrPO4yLKRmDvYfuDOCfOshV64cAVGsdDU="; }; buildInputs = diff --git a/pkgs/by-name/sm/smpmgr/package.nix b/pkgs/by-name/sm/smpmgr/package.nix index cbcc7e673820..8f22b5fdf222 100644 --- a/pkgs/by-name/sm/smpmgr/package.nix +++ b/pkgs/by-name/sm/smpmgr/package.nix @@ -7,14 +7,14 @@ python3Packages.buildPythonApplication rec { pname = "smpmgr"; - version = "0.12.0"; + version = "0.12.1"; pyproject = true; src = fetchFromGitHub { owner = "intercreate"; repo = "smpmgr"; tag = version; - hash = "sha256-HNL9e3D/uZwJI0d4escbhe51zKH7hBFAnCGZZuZdla4="; + hash = "sha256-nEDvJ9R5xFY5LU3nFnXQXbvupg3+TbvcUK6/ZlNN788="; }; build-system = with python3Packages; [ @@ -44,7 +44,7 @@ python3Packages.buildPythonApplication rec { meta = { description = "Simple Management Protocol (SMP) Manager for remotely managing MCU firmware"; homepage = "https://github.com/intercreate/smpmgr"; - changelog = "https://github.com/intercreate/smpmgr/releases/tag/${version}"; + changelog = "https://github.com/intercreate/smpmgr/releases/tag/${src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ otavio ]; mainProgram = "smpmgr"; diff --git a/pkgs/by-name/sm/smug/package.nix b/pkgs/by-name/sm/smug/package.nix index c7745d1a5cee..61aa2f4a9aa0 100644 --- a/pkgs/by-name/sm/smug/package.nix +++ b/pkgs/by-name/sm/smug/package.nix @@ -7,7 +7,7 @@ buildGoModule rec { pname = "smug"; - version = "0.3.6"; + version = "0.3.7"; subPackages = [ "." ]; @@ -15,7 +15,7 @@ buildGoModule rec { owner = "ivaaaan"; repo = "smug"; rev = "v${version}"; - sha256 = "sha256-9So81tZwQa3rQYgVO+KjOlTVIzlm/e2K5C/qULZeA7U="; + sha256 = "sha256-c4etBWF2NGyHtMLZNISMMjOswCFbbYtpsFuagMW8zeE="; }; vendorHash = "sha256-vaDUzVRmpmNn8/vUPeR1U5N6T4llFRIk9A1lum8uauU="; diff --git a/pkgs/by-name/tp/tpnote/package.nix b/pkgs/by-name/tp/tpnote/package.nix index 42f1ef23c9a9..b731a3bab140 100644 --- a/pkgs/by-name/tp/tpnote/package.nix +++ b/pkgs/by-name/tp/tpnote/package.nix @@ -12,17 +12,17 @@ rustPlatform.buildRustPackage rec { pname = "tpnote"; - version = "1.25.10"; + version = "1.25.11"; src = fetchFromGitHub { owner = "getreu"; repo = "tp-note"; tag = "v${version}"; - hash = "sha256-bQGgpO820eCp3J1cwOXfTA61PTekjdRc891L3UyokTk="; + hash = "sha256-5YqOOHz4L+kho+08mYQSjcm1SFDeAas+xNaMhuY7H4s="; }; useFetchCargoVendor = true; - cargoHash = "sha256-LTNYnETMO/jeByWWsEazfP8nsHaJ6aVeqCVCwtxiQfQ="; + cargoHash = "sha256-qYQ6MJQfffiqXyvjZAl1qjbMZYeEw3Dt4uKlaKoh+vQ="; nativeBuildInputs = [ cmake diff --git a/pkgs/by-name/ts/tscli/package.nix b/pkgs/by-name/ts/tscli/package.nix new file mode 100644 index 000000000000..7573a782e6c1 --- /dev/null +++ b/pkgs/by-name/ts/tscli/package.nix @@ -0,0 +1,43 @@ +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, +}: + +buildGoModule rec { + pname = "tscli"; + version = "0.0.7"; + + src = fetchFromGitHub { + owner = "jaxxstorm"; + repo = "tscli"; + tag = "v${version}"; + hash = "sha256-o08ynbx+Pclme+xS00jx7096D2jHnvJg28UISZayxKY="; + }; + + vendorHash = "sha256-+4PFwEib/8o+1mk5SOkIZkK7W1elIFToU1DI9P8s1Y8="; + + nativeBuildInputs = [ installShellFiles ]; + + ldflags = [ + "-X=github.com/jaxxstorm/tscli/pkg/version.Version=${version}" + ]; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd tscli \ + --bash <($out/bin/tscli -k XXX completion bash) \ + --fish <($out/bin/tscli -k XXX completion fish) \ + --zsh <($out/bin/tscli -k XXX completion zsh) + ''; + + meta = { + description = "A CLI tool to interact with the Tailscale API"; + homepage = "https://github.com/jaxxstorm/tscli"; + changelog = "https://github.com/jaxxstorm/tscli/releases/tag/${src.tag}/CHANGELOG.md"; + mainProgram = "tscli"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix index 44459e7caa5b..495c48f73f87 100644 --- a/pkgs/by-name/uv/uv/package.nix +++ b/pkgs/by-name/uv/uv/package.nix @@ -18,17 +18,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uv"; - version = "0.7.9"; + version = "0.7.10"; src = fetchFromGitHub { owner = "astral-sh"; repo = "uv"; tag = finalAttrs.version; - hash = "sha256-Q2HOR8kpHuCB4c61vS0yojyue5tYNCHpx/NuG0HGHl4="; + hash = "sha256-NdePwYsAIphAJxtD+sCC7vSouWt+i+uPEp+b0zRlLg0="; }; useFetchCargoVendor = true; - cargoHash = "sha256-oIgvufZsS65gL0SL8WQggjZ3UFPDfEpf0yM+kkkUiqg="; + cargoHash = "sha256-vPs6VwhnMsnoTpktdLlOdYcw1X35xN/alwZ5zEyHmEY="; buildInputs = [ rust-jemalloc-sys diff --git a/pkgs/by-name/v2/v2ray-domain-list-community/package.nix b/pkgs/by-name/v2/v2ray-domain-list-community/package.nix index d512752b7f97..2b1544c24ac4 100644 --- a/pkgs/by-name/v2/v2ray-domain-list-community/package.nix +++ b/pkgs/by-name/v2/v2ray-domain-list-community/package.nix @@ -9,12 +9,12 @@ let generator = pkgsBuildBuild.buildGoModule rec { pname = "v2ray-domain-list-community"; - version = "20250526033544"; + version = "20250602083629"; src = fetchFromGitHub { owner = "v2fly"; repo = "domain-list-community"; rev = version; - hash = "sha256-XA6kB8mwnwZwioviIlKbYr40pJ1ndOXecjMToE9mAYE="; + hash = "sha256-LdB4BUHDpPoA0c8yoZX9gZhaY97t4DfkR37y32yHlvk="; }; vendorHash = "sha256-NLh14rXRci4hgDkBJVJDIDvobndB7KYRKAX7UjyqSsg="; meta = with lib; { diff --git a/pkgs/by-name/va/vault-tasks/package.nix b/pkgs/by-name/va/vault-tasks/package.nix index 711c88a01459..dc817ada9256 100644 --- a/pkgs/by-name/va/vault-tasks/package.nix +++ b/pkgs/by-name/va/vault-tasks/package.nix @@ -5,7 +5,7 @@ nix-update-script, }: let - version = "0.11.1"; + version = "0.11.2"; in rustPlatform.buildRustPackage { pname = "vault-tasks"; @@ -14,10 +14,10 @@ rustPlatform.buildRustPackage { owner = "louis-thevenet"; repo = "vault-tasks"; rev = "v${version}"; - hash = "sha256-7stFa2fLczGyoM/O2S/uKCfjSDyABUw/b3tXp7Olqq8="; + hash = "sha256-DcnOuQ37fzLVJOteP7ZiA9IxNAd6lH6zelaO5GCvakk="; }; useFetchCargoVendor = true; - cargoHash = "sha256-RSW0N0icKAZbh8KQNkI9TgcKwa6hTKjhaJWCGADtfq8="; + cargoHash = "sha256-/5CpIPdqIvxwiplMqXZ1J04oQoK9rnzDP1N7ffrbJDk="; postInstall = "install -Dm444 desktop/vault-tasks.desktop -t $out/share/applications"; diff --git a/pkgs/by-name/va/vault/package.nix b/pkgs/by-name/va/vault/package.nix index eb560c67b588..891c9d16be2a 100644 --- a/pkgs/by-name/va/vault/package.nix +++ b/pkgs/by-name/va/vault/package.nix @@ -12,16 +12,16 @@ buildGoModule rec { pname = "vault"; - version = "1.19.4"; + version = "1.19.5"; src = fetchFromGitHub { owner = "hashicorp"; repo = "vault"; rev = "v${version}"; - hash = "sha256-IF67/aWBUMFjAyC0TloKOJUa3zenk47QaCTBKwOltvw="; + hash = "sha256-pj9aaEpXEmBBjJOqdvD2bYip5gg3pUob7gmV8rbhnuo="; }; - vendorHash = "sha256-tVCSEqAlyogwFSBWtFEzDl5ziteoBexqQ0xaGmk8F+k="; + vendorHash = "sha256-tOGB9psxlgC+h/uJd93tkpDYzi/xIZ25rDMQ4LnX9Pg="; proxyVendor = true; diff --git a/pkgs/by-name/xl/xlockmore/package.nix b/pkgs/by-name/xl/xlockmore/package.nix index 857e200f4bac..b3d209294a1e 100644 --- a/pkgs/by-name/xl/xlockmore/package.nix +++ b/pkgs/by-name/xl/xlockmore/package.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation rec { pname = "xlockmore"; - version = "5.82"; + version = "5.83"; src = fetchurl { url = "http://sillycycle.com/xlock/xlockmore-${version}.tar.xz"; - sha256 = "sha256-1pB43ywLfflQLg2PooSTKwWSepcrYo16tnyJwG/mt7I="; + sha256 = "sha256-ppjQmf1qPBnEHhl8EG2ejDo4pOj/B3wqpLrHYp1pyMM="; curlOpts = "--user-agent 'Mozilla/5.0'"; }; diff --git a/pkgs/by-name/xw/xwayland-satellite/package.nix b/pkgs/by-name/xw/xwayland-satellite/package.nix index c63af00aec55..58cb0297b115 100644 --- a/pkgs/by-name/xw/xwayland-satellite/package.nix +++ b/pkgs/by-name/xw/xwayland-satellite/package.nix @@ -13,13 +13,13 @@ rustPlatform.buildRustPackage rec { pname = "xwayland-satellite"; - version = "0.5.1"; + version = "0.6"; src = fetchFromGitHub { owner = "Supreeeme"; repo = "xwayland-satellite"; tag = "v${version}"; - hash = "sha256-/hBM43/Gd0/tW+egrhlWgOIISeJxEs2uAOIYVpfDKeU="; + hash = "sha256-IiLr1alzKFIy5tGGpDlabQbe6LV1c9ABvkH6T5WmyRI="; }; postPatch = '' @@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec { ''; useFetchCargoVendor = true; - cargoHash = "sha256-1tt7YNornw9U9FRdsRkdWx3Al3FZtvtCBXn9Pln+gk4="; + cargoHash = "sha256-R3xXyXpHQw/Vh5Y4vFUl7n7jwBEEqwUCIZGAf9+SY1M="; nativeBuildInputs = [ makeBinaryWrapper diff --git a/pkgs/development/libraries/qtpbfimageplugin/default.nix b/pkgs/development/libraries/qtpbfimageplugin/default.nix index 38629fe04c33..c19e971db598 100644 --- a/pkgs/development/libraries/qtpbfimageplugin/default.nix +++ b/pkgs/development/libraries/qtpbfimageplugin/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "qtpbfimageplugin"; - version = "4.0"; + version = "4.2"; src = fetchFromGitHub { owner = "tumic0"; repo = "QtPBFImagePlugin"; tag = version; - hash = "sha256-17mQ7aTpZhmsoAHhnueHSRTvCIHRcpWwZHZM+YUdeps="; + hash = "sha256-yk/DsLjNLqtmhvPcHDZGsNiAI1zBv1vBtgERvtNjF4I="; }; nativeBuildInputs = [ @@ -30,10 +30,10 @@ stdenv.mkDerivation rec { postPatch = '' # Fix plugin dir substituteInPlace pbfplugin.pro \ - --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix" + --replace-warn "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix" ''; - meta = with lib; { + meta = { description = "Qt image plugin for displaying Mapbox vector tiles"; longDescription = '' QtPBFImagePlugin is a Qt image plugin that enables applications capable of @@ -41,8 +41,8 @@ stdenv.mkDerivation rec { vector tiles without (almost) any application modifications. ''; homepage = "https://github.com/tumic0/QtPBFImagePlugin"; - license = licenses.lgpl3Only; - maintainers = with maintainers; [ sikmir ]; - platforms = platforms.unix; + license = lib.licenses.lgpl3Only; + maintainers = with lib.maintainers; [ sikmir ]; + platforms = lib.platforms.unix; }; } diff --git a/pkgs/development/python-modules/aiocomelit/default.nix b/pkgs/development/python-modules/aiocomelit/default.nix index 1ff620b7c7fd..39b1f6deaa42 100644 --- a/pkgs/development/python-modules/aiocomelit/default.nix +++ b/pkgs/development/python-modules/aiocomelit/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "aiocomelit"; - version = "0.12.3"; + version = "1.0.0"; pyproject = true; disabled = pythonOlder "3.12"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "chemelli74"; repo = "aiocomelit"; tag = "v${version}"; - hash = "sha256-ZymhYx8uCb7kDcXGz0SQ3rN1ozFYRBtXhS1exMA/8yI="; + hash = "sha256-jne+epQQ3fvy1QqAnBcxdihd9/VJkLU5xoiT/WRTMh0="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/anchor-kr/default.nix b/pkgs/development/python-modules/anchor-kr/default.nix index 10828482b830..563589c651f0 100644 --- a/pkgs/development/python-modules/anchor-kr/default.nix +++ b/pkgs/development/python-modules/anchor-kr/default.nix @@ -2,11 +2,12 @@ lib, buildPythonPackage, fetchFromGitHub, + setuptools, }: buildPythonPackage { - pname = "anchor"; - version = "3"; - format = "setuptools"; + pname = "anchor-kr"; + version = "0.1.3"; + pyproject = true; src = fetchFromGitHub { owner = "justfoolingaround"; @@ -16,12 +17,14 @@ buildPythonPackage { hash = "sha256-t75IFBSz6ncHRqXRxbrM9EQdr8xPXjSd9di+/y2LegE="; }; + build-system = [ setuptools ]; + pythonImportsCheck = [ "anchor" ]; - meta = with lib; { + meta = { description = "Python library for scraping"; homepage = "https://github.com/justfoolingaround/anchor"; - license = licenses.unfree; - maintainers = with maintainers; [ passivelemon ]; + license = lib.licenses.unfree; + maintainers = with lib.maintainers; [ passivelemon ]; }; } diff --git a/pkgs/development/python-modules/awswrangler/default.nix b/pkgs/development/python-modules/awswrangler/default.nix index dd1c755c047d..25f935b01284 100644 --- a/pkgs/development/python-modules/awswrangler/default.nix +++ b/pkgs/development/python-modules/awswrangler/default.nix @@ -26,7 +26,7 @@ buildPythonPackage rec { pname = "awswrangler"; - version = "3.11.0"; + version = "3.12.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -35,7 +35,7 @@ buildPythonPackage rec { owner = "aws"; repo = "aws-sdk-pandas"; tag = version; - hash = "sha256-dIdNrfhBrfrzXmspw25yd/y6MbXRrLfDveCQk+AERV0="; + hash = "sha256-BudK7pP7b8YJRyDCQAZv8FtxF5paA+AR/ZBt9UO3XjM="; }; pythonRelaxDeps = [ @@ -86,7 +86,7 @@ buildPythonPackage rec { meta = with lib; { description = "Pandas on AWS"; homepage = "https://github.com/aws/aws-sdk-pandas"; - changelog = "https://github.com/aws/aws-sdk-pandas/releases/tag/${version}"; + changelog = "https://github.com/aws/aws-sdk-pandas/releases/tag/${src.tag}"; license = licenses.asl20; maintainers = with maintainers; [ mcwitt ]; }; diff --git a/pkgs/development/python-modules/curl-cffi/default.nix b/pkgs/development/python-modules/curl-cffi/default.nix index 1f55b5bc466f..6ba6faedf147 100644 --- a/pkgs/development/python-modules/curl-cffi/default.nix +++ b/pkgs/development/python-modules/curl-cffi/default.nix @@ -7,19 +7,31 @@ curl-impersonate-chrome, cffi, certifi, - typing-extensions, + charset-normalizer, + cryptography, + fastapi, + httpx, + proxy-py, + pytest-asyncio, + pytest-trio, + pytestCheckHook, + python-multipart, + trustme, + uvicorn, + websockets, + writableTmpDirAsHomeHook, }: buildPythonPackage rec { pname = "curl-cffi"; - version = "0.10.0"; + version = "0.11.1"; pyproject = true; src = fetchFromGitHub { owner = "lexiforest"; repo = "curl_cffi"; tag = "v${version}"; - hash = "sha256-h7PPlxjIVT6T9x7gKBSifuWl8wzUNDwRcaUifUS0icM="; + hash = "sha256-hpsAga5741oTBT87Rt7XTyxxu7SQ5Usw+2VVr54oA8k="; }; patches = [ ./use-system-libs.patch ]; @@ -33,7 +45,6 @@ buildPythonPackage rec { dependencies = [ cffi certifi - typing-extensions ]; env = lib.optionalAttrs stdenv.cc.isGNU { @@ -42,7 +53,49 @@ buildPythonPackage rec { pythonImportsCheck = [ "curl_cffi" ]; + nativeCheckInputs = [ + charset-normalizer + cryptography + fastapi + httpx + proxy-py + pytest-asyncio + pytest-trio + pytestCheckHook + python-multipart + trustme + uvicorn + websockets + writableTmpDirAsHomeHook + ]; + + preCheck = '' + # import from $out + rm -r curl_cffi + ''; + + pytestFlags = [ + "tests/unittest" + # test accesses network + "--deselect tests/unittest/test_smoke.py::test_async" + ]; + + disabledTests = [ + # FIXME ImpersonateError: Impersonating chrome136 is not supported + "test_impersonate_without_version" + "test_with_impersonate" + # InvalidURL: Invalid URL component 'path' + "test_update_params" + # tests access network + "test_add_handle" + "test_socket_action" + "test_without_impersonate" + ]; + + __darwinAllowLocalNetworking = true; + meta = with lib; { + changelog = "https://github.com/lexiforest/curl_cffi/releases/tag/${src.tag}"; description = "Python binding for curl-impersonate via cffi"; homepage = "https://curl-cffi.readthedocs.io"; license = licenses.mit; diff --git a/pkgs/development/python-modules/files-to-prompt/default.nix b/pkgs/development/python-modules/files-to-prompt/default.nix new file mode 100644 index 000000000000..f4392672429a --- /dev/null +++ b/pkgs/development/python-modules/files-to-prompt/default.nix @@ -0,0 +1,45 @@ +{ + lib, + click, + setuptools, + fetchFromGitHub, + buildPythonPackage, + pytestCheckHook, + versionCheckHook, +}: + +buildPythonPackage rec { + pname = "files-to-prompt"; + version = "0.6"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "files-to-prompt"; + tag = version; + hash = "sha256-LWp/DNP3bsh7/goQGkpi4x2N11tRuhLVh2J8H6AUH0w="; + }; + + build-system = [ setuptools ]; + + dependencies = [ click ]; + + nativeCheckInputs = [ + pytestCheckHook + versionCheckHook + ]; + + versionCheckProgramArg = "--version"; + + meta = { + mainProgram = "files-to-prompt"; + description = "Concatenate a directory full of files into a single prompt for use with LLMs"; + homepage = "https://github.com/simonw/files-to-prompt"; + changelog = "https://github.com/simonw/files-to-prompt/releases/tag/${src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + erethon + philiptaron + ]; + }; +} diff --git a/pkgs/development/python-modules/google-cloud-dlp/default.nix b/pkgs/development/python-modules/google-cloud-dlp/default.nix index 87e39d057cb1..56e170020fb0 100644 --- a/pkgs/development/python-modules/google-cloud-dlp/default.nix +++ b/pkgs/development/python-modules/google-cloud-dlp/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "google-cloud-dlp"; - version = "3.29.0"; + version = "3.30.0"; pyproject = true; disabled = pythonOlder "3.7"; @@ -23,7 +23,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "google_cloud_dlp"; inherit version; - hash = "sha256-FbNmneFjhZmqq17EMeNsiOSCq98+JODhAJDEzHabLiA="; + hash = "sha256-qTCw9C4ULzapSjGptsr5uFL4ThUpROTxsx2ICZCx6H0="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/granian/default.nix b/pkgs/development/python-modules/granian/default.nix index a9271048d300..2698683c3a55 100644 --- a/pkgs/development/python-modules/granian/default.nix +++ b/pkgs/development/python-modules/granian/default.nix @@ -96,6 +96,7 @@ buildPythonPackage rec { meta = { description = "Rust HTTP server for Python ASGI/WSGI/RSGI applications"; homepage = "https://github.com/emmett-framework/granian"; + changelog = "https://github.com/emmett-framework/granian/releases/tag/v${version}"; license = lib.licenses.bsd3; mainProgram = "granian"; maintainers = with lib.maintainers; [ diff --git a/pkgs/development/python-modules/icdiff/0001-Don-t-test-black-or-flake8.patch b/pkgs/development/python-modules/icdiff/0001-Don-t-test-black-or-flake8.patch new file mode 100644 index 000000000000..3e8a067c7841 --- /dev/null +++ b/pkgs/development/python-modules/icdiff/0001-Don-t-test-black-or-flake8.patch @@ -0,0 +1,35 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Philip Taron +Date: Thu, 29 May 2025 14:47:58 -0700 +Subject: [PATCH] Don't test black or flake8 + +Signed-off-by: Philip Taron +--- + test.sh | 14 -------------- + 1 file changed, 14 deletions(-) + +diff --git a/test.sh b/test.sh +index 1dd6c4be579e8a61d2d284b042c54cd2a1e0ff77..dc9ecab4a9097878a0a65c45df38a4fa25eb9fa2 100755 +--- a/test.sh ++++ b/test.sh +@@ -210,20 +210,6 @@ function ensure_installed() { + fi + } + +-ensure_installed "black" +-echo 'Running black formatter...' +-if ! black icdiff --quiet --line-length 79 --check; then +- echo "" +- echo 'Consider running `black icdiff --line-length 79`' +- fail +-fi +- +-ensure_installed "flake8" +-echo 'Running flake8 linter...' +-if ! flake8 icdiff; then +- fail +-fi +- + if ! $REGOLD; then + echo PASS + fi diff --git a/pkgs/development/python-modules/icdiff/default.nix b/pkgs/development/python-modules/icdiff/default.nix new file mode 100644 index 000000000000..b1bd7addd69b --- /dev/null +++ b/pkgs/development/python-modules/icdiff/default.nix @@ -0,0 +1,61 @@ +{ + lib, + stdenv, + python, + buildPythonPackage, + fetchFromGitHub, + setuptools, + pytestCheckHook, + writableTmpDirAsHomeHook, + pkgs, +}: +let + inherit (pkgs) bash git less; +in + +buildPythonPackage rec { + pname = "icdiff"; + version = "2.0.7"; + pyproject = true; + + src = fetchFromGitHub { + owner = "jeffkaufman"; + repo = "icdiff"; + tag = "release-${version}"; + hash = "sha256-XOw/xhPGlzi1hAgzQ1EtioUM476A+lQWLlvvaxd9j08="; + leaveDotGit = true; + }; + + patches = [ ./0001-Don-t-test-black-or-flake8.patch ]; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "icdiff" ]; + + nativeCheckInputs = [ + bash + git + less + writableTmpDirAsHomeHook + ]; + + # Odd behavior in the sandbox + doCheck = !stdenv.hostPlatform.isDarwin; + + checkPhase = '' + runHook preCheck + + patchShebangs test.sh + ./test.sh ${python.interpreter} + + runHook postCheck + ''; + + meta = { + description = "Improved colorized diff"; + homepage = "https://github.com/jeffkaufman/icdiff"; + changelog = "https://github.com/jeffkaufman/icdiff/releases/tag/release-${version}/CHANGELOG.md"; + license = lib.licenses.psfl; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/kserve/default.nix b/pkgs/development/python-modules/kserve/default.nix index 239a35a08963..4307c502f8b3 100644 --- a/pkgs/development/python-modules/kserve/default.nix +++ b/pkgs/development/python-modules/kserve/default.nix @@ -54,14 +54,14 @@ buildPythonPackage rec { pname = "kserve"; - version = "0.15.1"; + version = "0.15.2"; pyproject = true; src = fetchFromGitHub { owner = "kserve"; repo = "kserve"; tag = "v${version}"; - hash = "sha256-k+uyOhsxWPpiA82wCCEn53W2VQgSHGgSABFipEPErRk="; + hash = "sha256-NklR2Aoa5UdWkqNOfX+xl3R158JDSQtStXv9DkklOwM="; }; sourceRoot = "${src.name}/python/kserve"; @@ -176,7 +176,7 @@ buildPythonPackage rec { meta = { description = "Standardized Serverless ML Inference Platform on Kubernetes"; homepage = "https://github.com/kserve/kserve/tree/master/python/kserve"; - changelog = "https://github.com/kserve/kserve/releases/tag/v${version}"; + changelog = "https://github.com/kserve/kserve/releases/tag/${src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ GaetanLepage ]; }; diff --git a/pkgs/development/python-modules/llm-anthropic/default.nix b/pkgs/development/python-modules/llm-anthropic/default.nix index a7377833ff54..41bc86f10a15 100644 --- a/pkgs/development/python-modules/llm-anthropic/default.nix +++ b/pkgs/development/python-modules/llm-anthropic/default.nix @@ -1,10 +1,10 @@ { lib, - callPackage, buildPythonPackage, fetchFromGitHub, setuptools, llm, + llm-anthropic, anthropic, pytestCheckHook, pytest-asyncio, @@ -14,21 +14,24 @@ buildPythonPackage rec { pname = "llm-anthropic"; - version = "0.15.1"; + version = "0.17"; pyproject = true; src = fetchFromGitHub { owner = "simonw"; repo = "llm-anthropic"; tag = version; - hash = "sha256-8bVs3MJteOTCiw7n/4pMf+oXMhsQbCSzUFVQqm2ezcE="; + hash = "sha256-2fatBKZMttC5flzfC7MWCpduc3m6IOVWZiW1K2dYqis="; }; build-system = [ setuptools + ]; + + dependencies = [ + anthropic llm ]; - dependencies = [ anthropic ]; nativeCheckInputs = [ pytestCheckHook @@ -39,9 +42,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "llm_anthropic" ]; - passthru.tests = { - llm-plugin = callPackage ./tests/llm-plugin.nix { }; - }; + passthru.tests = llm.mkPluginTest llm-anthropic; meta = { description = "LLM access to models by Anthropic, including the Claude series"; diff --git a/pkgs/development/python-modules/llm-anthropic/tests/llm-plugin.nix b/pkgs/development/python-modules/llm-anthropic/tests/llm-plugin.nix deleted file mode 100644 index a57802a8ad08..000000000000 --- a/pkgs/development/python-modules/llm-anthropic/tests/llm-plugin.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - runCommand, - python, - yq, -}: -let - venv = python.withPackages (ps: [ - ps.llm - ps.llm-anthropic - ]); -in -runCommand "llm-anthropic-test-llm-plugin" - { - nativeBuildInputs = [ - venv - yq - ]; - } - '' - llm plugins | yq --exit-status 'any(.name == "llm-anthropic")' - touch "$out" - '' diff --git a/pkgs/development/python-modules/llm-cmd/default.nix b/pkgs/development/python-modules/llm-cmd/default.nix index 9fca11cad544..30b1cd22250c 100644 --- a/pkgs/development/python-modules/llm-cmd/default.nix +++ b/pkgs/development/python-modules/llm-cmd/default.nix @@ -1,6 +1,5 @@ { lib, - callPackage, buildPythonPackage, fetchFromGitHub, # build-system @@ -11,6 +10,7 @@ pygments, # tests pytestCheckHook, + llm-cmd, }: buildPythonPackage rec { @@ -27,13 +27,11 @@ buildPythonPackage rec { # Only needed until https://github.com/simonw/llm-cmd/pull/18 is merged and released patches = [ ./fix-test.patch ]; - build-system = [ - setuptools - # Follows the reasoning from https://github.com/NixOS/nixpkgs/pull/327800#discussion_r1681586659 about including llm in build-system - llm - ]; + + build-system = [ setuptools ]; dependencies = [ + llm prompt-toolkit pygments ]; @@ -46,15 +44,16 @@ buildPythonPackage rec { "llm_cmd" ]; - passthru.tests = { - llm-plugin = callPackage ./tests/llm-plugin.nix { }; - }; + passthru.tests = llm.mkPluginTest llm-cmd; meta = { description = "Use LLM to generate and execute commands in your shell"; homepage = "https://github.com/simonw/llm-cmd"; changelog = "https://github.com/simonw/llm-cmd/releases/tag/${version}"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ erethon ]; + maintainers = with lib.maintainers; [ + erethon + philiptaron + ]; }; } diff --git a/pkgs/development/python-modules/llm-cmd/tests/llm-plugin.nix b/pkgs/development/python-modules/llm-cmd/tests/llm-plugin.nix deleted file mode 100644 index 1707195abbc7..000000000000 --- a/pkgs/development/python-modules/llm-cmd/tests/llm-plugin.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - runCommand, - python, - yq, -}: -let - venv = python.withPackages (ps: [ - ps.llm - ps.llm-cmd - ]); -in -runCommand "llm-cmd-test-llm-plugin" - { - nativeBuildInputs = [ - venv - yq - ]; - } - '' - llm plugins | yq --exit-status 'any(.name == "llm-cmd")' - touch "$out" - '' diff --git a/pkgs/development/python-modules/llm-command-r/default.nix b/pkgs/development/python-modules/llm-command-r/default.nix new file mode 100644 index 000000000000..386973b2df4a --- /dev/null +++ b/pkgs/development/python-modules/llm-command-r/default.nix @@ -0,0 +1,50 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-command-r, + cohere, + pytestCheckHook, + pytest-recording, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "llm-command-r"; + version = "0.3.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-command-r"; + tag = version; + hash = "sha256-PxICRds9NJQP64HwoL7Oxd39yaIrMdAyQEbhaumJCgo="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + cohere + llm + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-recording + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ "llm_command_r" ]; + + passthru.tests = llm.mkPluginTest llm-command-r; + + meta = { + description = "Access the Cohere Command R family of models"; + homepage = "https://github.com/simonw/llm-command-r"; + changelog = "https://github.com/simonw/llm-command-r/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-deepseek/default.nix b/pkgs/development/python-modules/llm-deepseek/default.nix new file mode 100644 index 000000000000..c0cb3668dc7f --- /dev/null +++ b/pkgs/development/python-modules/llm-deepseek/default.nix @@ -0,0 +1,37 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-deepseek, +}: + +buildPythonPackage rec { + pname = "llm-deepseek"; + version = "0.1.6"; + pyproject = true; + + src = fetchFromGitHub { + owner = "abrasumente233"; + repo = "llm-deepseek"; + tag = version; + hash = "sha256-yrNvIGnU9Q/0H786DsM0wGEwfxZYIk8IXhqC4mWaQAA="; + }; + + build-system = [ setuptools ]; + + dependencies = [ llm ]; + + pythonImportsCheck = [ "llm_deepseek" ]; + + passthru.tests = llm.mkPluginTest llm-deepseek; + + meta = { + description = "LLM plugin providing access to Deepseek models."; + homepage = "https://github.com/abrasumente233/llm-deepseek"; + changelog = "https://github.com/abrasumente233/llm-deepseek/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-docs/default.nix b/pkgs/development/python-modules/llm-docs/default.nix new file mode 100644 index 000000000000..c1d07f8b1c49 --- /dev/null +++ b/pkgs/development/python-modules/llm-docs/default.nix @@ -0,0 +1,37 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-docs, +}: + +buildPythonPackage rec { + pname = "llm-docs"; + version = "0.2.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-docs"; + tag = version; + hash = "sha256-+Ha6L2h8p/yA073MfO2Uvd6E4bKA2xAvaBWtvjqglOw="; + }; + + build-system = [ setuptools ]; + + dependencies = [ llm ]; + + pythonImportsCheck = [ "llm_docs" ]; + + passthru.tests = llm.mkPluginTest llm-docs; + + meta = { + description = "Ask questions of LLM documentation using LLM"; + homepage = "https://github.com/simonw/llm-docs"; + changelog = "https://github.com/simonw/llm-docs/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-echo/default.nix b/pkgs/development/python-modules/llm-echo/default.nix new file mode 100644 index 000000000000..588b6f64909d --- /dev/null +++ b/pkgs/development/python-modules/llm-echo/default.nix @@ -0,0 +1,44 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-echo, + pytestCheckHook, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "llm-echo"; + version = "0.3a3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-echo"; + tag = version; + hash = "sha256-4345UIyaQx+mYYBAFD5AaX5YbjbnJQt8bKMD5Vl8VJc="; + }; + + build-system = [ setuptools ]; + + dependencies = [ llm ]; + + nativeCheckInputs = [ + pytestCheckHook + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ "llm_echo" ]; + + passthru.tests = llm.mkPluginTest llm-echo; + + meta = { + description = "Debug plugin for LLM"; + homepage = "https://github.com/simonw/llm-echo"; + changelog = "https://github.com/simonw/llm-echo/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-fragments-github/default.nix b/pkgs/development/python-modules/llm-fragments-github/default.nix new file mode 100644 index 000000000000..cf4874805c79 --- /dev/null +++ b/pkgs/development/python-modules/llm-fragments-github/default.nix @@ -0,0 +1,37 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-fragments-github, +}: + +buildPythonPackage rec { + pname = "llm-fragments-github"; + version = "0.4"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-fragments-github"; + tag = version; + hash = "sha256-7i1WRix5AAEG5EXJqtaU+QY56aL0SePdqz84z+C+iYM="; + }; + + build-system = [ setuptools ]; + + dependencies = [ llm ]; + + pythonImportsCheck = [ "llm_fragments_github" ]; + + passthru.tests = llm.mkPluginTest llm-fragments-github; + + meta = { + description = "Load GitHub repository contents as LLM fragments"; + homepage = "https://github.com/simonw/llm-fragments-github"; + changelog = "https://github.com/simonw/llm-fragments-github/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-fragments-pypi/default.nix b/pkgs/development/python-modules/llm-fragments-pypi/default.nix new file mode 100644 index 000000000000..c07f2cbc4f01 --- /dev/null +++ b/pkgs/development/python-modules/llm-fragments-pypi/default.nix @@ -0,0 +1,41 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + llm, + llm-fragments-pypi, + httpx, +}: + +buildPythonPackage rec { + pname = "llm-fragments-pypi"; + version = "0.1.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "samueldg"; + repo = "llm-fragments-pypi"; + tag = version; + hash = "sha256-1XqAmuZ1WMHD6JbLbLsK9K4Uf3FvvKJD4mn1G2J/3C8="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + httpx + llm + ]; + + pythonImportsCheck = [ "llm_fragments_pypi" ]; + + passthru.tests = llm.mkPluginTest llm-fragments-pypi; + + meta = { + description = "LLM fragments plugin for PyPI packages metadata"; + homepage = "https://github.com/samueldg/llm-fragments-pypi"; + changelog = "https://github.com/samueldg/llm-fragments-pypi/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-fragments-reader/default.nix b/pkgs/development/python-modules/llm-fragments-reader/default.nix new file mode 100644 index 000000000000..b3b5aa4ad9ce --- /dev/null +++ b/pkgs/development/python-modules/llm-fragments-reader/default.nix @@ -0,0 +1,49 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + httpx, + httpx-sse, + llm, + llm-fragments-reader, + pytestCheckHook, + pytest-asyncio, + pytest-httpx, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "llm-fragments-reader"; + version = "0.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-fragments-reader"; + tag = version; + hash = "sha256-2xdvOpMGsTtnerrlGiVSHoJrM+GQ7Zgv+zn2SAwYAL4="; + }; + + build-system = [ setuptools ]; + + dependencies = [ llm ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-httpx + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ "llm_fragments_reader" ]; + + passthru.tests = llm.mkPluginTest llm-fragments-reader; + + meta = { + description = "Run URLs through the Jina Reader API"; + homepage = "https://github.com/simonw/llm-fragments-reader"; + changelog = "https://github.com/simonw/llm-fragments-reader/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-fragments-symbex/default.nix b/pkgs/development/python-modules/llm-fragments-symbex/default.nix new file mode 100644 index 000000000000..c476c6a9ec6e --- /dev/null +++ b/pkgs/development/python-modules/llm-fragments-symbex/default.nix @@ -0,0 +1,48 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + symbex, + llm, + llm-fragments-symbex, + pytestCheckHook, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "llm-fragments-symbex"; + version = "0.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-fragments-symbex"; + tag = version; + hash = "sha256-LECMHv4tGMCY60JU68y2Sfxp97Px7T/RJVhYVDSFCy4="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + llm + symbex + ]; + + nativeCheckInputs = [ + pytestCheckHook + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ "llm_fragments_symbex" ]; + + passthru.tests = llm.mkPluginTest llm-fragments-symbex; + + meta = { + description = "LLM fragment loader for Python symbols"; + homepage = "https://github.com/simonw/llm-fragments-symbex"; + changelog = "https://github.com/simonw/llm-fragments-symbex/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-gemini/default.nix b/pkgs/development/python-modules/llm-gemini/default.nix index 0d0c33a4c446..ab0976f2a97b 100644 --- a/pkgs/development/python-modules/llm-gemini/default.nix +++ b/pkgs/development/python-modules/llm-gemini/default.nix @@ -1,10 +1,10 @@ { lib, - callPackage, buildPythonPackage, fetchFromGitHub, setuptools, llm, + llm-gemini, httpx, ijson, pytestCheckHook, @@ -15,24 +15,22 @@ }: buildPythonPackage rec { pname = "llm-gemini"; - version = "0.20"; + version = "0.21"; pyproject = true; src = fetchFromGitHub { owner = "simonw"; repo = "llm-gemini"; tag = version; - hash = "sha256-haaJtJ9RqV5/n/j8PNXPS7zc332W+gU20x0wGPRdzOQ="; + hash = "sha256-aCP0YjcghzpgceuZRKGTN15wm7OIPCwcJAJJBxh78f4="; }; - build-system = [ - setuptools - ]; + build-system = [ setuptools ]; dependencies = [ - llm httpx ijson + llm ]; nativeCheckInputs = [ @@ -45,9 +43,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "llm_gemini" ]; - passthru.tests = { - llm-plugin = callPackage ./tests/llm-plugin.nix { }; - }; + passthru.tests = llm.mkPluginTest llm-gemini; meta = { description = "LLM plugin to access Google's Gemini family of models"; diff --git a/pkgs/development/python-modules/llm-gemini/tests/llm-plugin.nix b/pkgs/development/python-modules/llm-gemini/tests/llm-plugin.nix deleted file mode 100644 index d1f2f6ffbe67..000000000000 --- a/pkgs/development/python-modules/llm-gemini/tests/llm-plugin.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - runCommand, - python, - yq, -}: -let - venv = python.withPackages (ps: [ - ps.llm - ps.llm-gemini - ]); -in -runCommand "llm-gemini-test-llm-plugin" - { - nativeBuildInputs = [ - venv - yq - ]; - } - '' - llm plugins | yq --exit-status 'any(.name == "llm-gemini")' - touch "$out" - '' diff --git a/pkgs/development/python-modules/llm-gguf/default.nix b/pkgs/development/python-modules/llm-gguf/default.nix index 76a01159b2b8..1a399f3861e6 100644 --- a/pkgs/development/python-modules/llm-gguf/default.nix +++ b/pkgs/development/python-modules/llm-gguf/default.nix @@ -1,6 +1,5 @@ { lib, - callPackage, buildPythonPackage, fetchFromGitHub, @@ -11,6 +10,7 @@ httpx, llama-cpp-python, llm, + llm-gguf, }: buildPythonPackage rec { @@ -25,14 +25,12 @@ buildPythonPackage rec { hash = "sha256-ihMOiQnTfgZKICVDoQHLOMahrd+GiB+HwWFBMyIcs0A="; }; - build-system = [ - setuptools - ]; + build-system = [ setuptools ]; dependencies = [ httpx - llama-cpp-python llm + llama-cpp-python ]; pythonImportsCheck = [ "llm_gguf" ]; @@ -40,9 +38,7 @@ buildPythonPackage rec { # Tests require internet access (downloading models) doCheck = false; - passthru.tests = { - llm-plugin = callPackage ./tests/llm-plugin.nix { }; - }; + passthru.tests = llm.mkPluginTest llm-gguf; meta = { description = "Run models distributed as GGUF files using LLM"; diff --git a/pkgs/development/python-modules/llm-gguf/tests/llm-plugin.nix b/pkgs/development/python-modules/llm-gguf/tests/llm-plugin.nix deleted file mode 100644 index 97e1f51d6c26..000000000000 --- a/pkgs/development/python-modules/llm-gguf/tests/llm-plugin.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - runCommand, - python, - yq, -}: -let - venv = python.withPackages (ps: [ - ps.llm - ps.llm-gguf - ]); -in -runCommand "llm-gguf-test-llm-plugin" - { - nativeBuildInputs = [ - venv - yq - ]; - } - '' - llm plugins | yq --exit-status 'any(.name == "llm-gguf")' - touch "$out" - '' diff --git a/pkgs/development/python-modules/llm-git/default.nix b/pkgs/development/python-modules/llm-git/default.nix new file mode 100644 index 000000000000..957a54581de6 --- /dev/null +++ b/pkgs/development/python-modules/llm-git/default.nix @@ -0,0 +1,62 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + click, + deepmerge, + pyyaml, + rich, + pygments, + llm, + llm-git, + pytestCheckHook, + pytest-cov-stub, + pytest-asyncio, + pytest-httpx, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "llm-git"; + version = "0.2.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "OttoAllmendinger"; + repo = "llm-git"; + tag = "v${version}"; + hash = "sha256-LcIsJPQgZ4gj2t7sSa0Wu35WHWYyquZZTS/UxojH+XU="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + click + deepmerge + llm + pyyaml + rich + pygments + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-cov-stub + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ "llm_git" ]; + + passthru.tests = llm.mkPluginTest llm-git; + + meta = { + description = "AI-powered Git commands for the LLM CLI tool"; + homepage = "https://github.com/OttoAllmendinger/llm-git"; + changelog = "https://github.com/OttoAllmendinger/llm-git/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-grok/default.nix b/pkgs/development/python-modules/llm-grok/default.nix new file mode 100644 index 000000000000..a2c5ac03adc3 --- /dev/null +++ b/pkgs/development/python-modules/llm-grok/default.nix @@ -0,0 +1,54 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-grok, + httpx, + httpx-sse, + rich, + pytestCheckHook, + pytest-httpx, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "llm-grok"; + version = "1.0.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Hiepler"; + repo = "llm-grok"; + tag = "v${version}"; + hash = "sha256-OeeU/53XKucLCtGvnl5RWc/QqF0TprB/SO8pnnK5fdw="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + llm + httpx + httpx-sse + rich + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-httpx + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ "llm_grok" ]; + + passthru.tests = llm.mkPluginTest llm-grok; + + meta = { + description = "LLM plugin providing access to Grok models using the xAI API"; + homepage = "https://github.com/Hiepler/llm-grok"; + changelog = "https://github.com/Hiepler/llm-grok/releases/tag/${src.tag}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-groq/default.nix b/pkgs/development/python-modules/llm-groq/default.nix new file mode 100644 index 000000000000..55364db0921b --- /dev/null +++ b/pkgs/development/python-modules/llm-groq/default.nix @@ -0,0 +1,43 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-groq, + groq, +}: + +buildPythonPackage rec { + pname = "llm-groq"; + version = "0.8"; + pyproject = true; + + src = fetchFromGitHub { + owner = "angerman"; + repo = "llm-groq"; + tag = "v${version}"; + hash = "sha256-sZ5d9w43NvypaPrebwZ5BLgRaCHAhd7gBU6uHEdUaF4="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + groq + llm + ]; + + pythonImportsCheck = [ "llm_groq" ]; + + passthru.tests = llm.mkPluginTest llm-groq; + + meta = { + description = "LLM plugin providing access to Groqcloud models."; + homepage = "https://github.com/angerman/llm-groq"; + changelog = "https://github.com/angerman/llm-groq/releases/tag/${src.tag}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-hacker-news/default.nix b/pkgs/development/python-modules/llm-hacker-news/default.nix new file mode 100644 index 000000000000..6c481e0212b6 --- /dev/null +++ b/pkgs/development/python-modules/llm-hacker-news/default.nix @@ -0,0 +1,37 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-hacker-news, +}: + +buildPythonPackage rec { + pname = "llm-hacker-news"; + version = "0.1.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-hacker-news"; + tag = version; + hash = "sha256-pywx9TAN/mnGR6Vv6YsPhLO4R5Geagw/bcydQjvTH5s="; + }; + + build-system = [ setuptools ]; + + dependencies = [ llm ]; + + pythonImportsCheck = [ "llm_hacker_news" ]; + + passthru.tests = llm.mkPluginTest llm-hacker-news; + + meta = { + description = "LLM plugin for pulling content from Hacker News"; + homepage = "https://github.com/simonw/llm-hacker-news"; + changelog = "https://github.com/simonw/llm-hacker-news/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-jq/default.nix b/pkgs/development/python-modules/llm-jq/default.nix index 14ab4046712e..f88e6ae566f4 100644 --- a/pkgs/development/python-modules/llm-jq/default.nix +++ b/pkgs/development/python-modules/llm-jq/default.nix @@ -1,11 +1,10 @@ { lib, - callPackage, buildPythonPackage, fetchFromGitHub, setuptools, llm, - nix-update-script, + llm-jq, }: buildPythonPackage rec { pname = "llm-jq"; @@ -19,19 +18,13 @@ buildPythonPackage rec { hash = "sha256-Mf/tbB9+UdmSRpulqv5Wagr8wjDcRrNs2741DNQZhO4="; }; - build-system = [ - setuptools - ]; + build-system = [ setuptools ]; - dependencies = [ - llm - ]; + dependencies = [ llm ]; pythonImportsCheck = [ "llm_jq" ]; - passthru.tests = { - llm-plugin = callPackage ./tests/llm-plugin.nix { }; - }; + passthru.tests = llm.mkPluginTest llm-jq; meta = { description = "Write and execute jq programs with the help of LLM"; diff --git a/pkgs/development/python-modules/llm-jq/tests/llm-plugin.nix b/pkgs/development/python-modules/llm-jq/tests/llm-plugin.nix deleted file mode 100644 index d659a2d52198..000000000000 --- a/pkgs/development/python-modules/llm-jq/tests/llm-plugin.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - runCommand, - python, - yq, -}: -let - venv = python.withPackages (ps: [ - ps.llm - ps.llm-jq - ]); -in -runCommand "llm-jq-test-llm-plugin" - { - nativeBuildInputs = [ - venv - yq - ]; - } - '' - llm plugins | yq --exit-status 'any(.name == "llm-jq")' - llm jq --help - touch "$out" - '' diff --git a/pkgs/development/python-modules/llm-llama-server/default.nix b/pkgs/development/python-modules/llm-llama-server/default.nix new file mode 100644 index 000000000000..cb0887020d41 --- /dev/null +++ b/pkgs/development/python-modules/llm-llama-server/default.nix @@ -0,0 +1,44 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-llama-server, + pytestCheckHook, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "llm-llama-server"; + version = "0.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-llama-server"; + tag = version; + hash = "sha256-jtFSfGu3JhNUfTsspY+OFLTMt9jQrh6R05sK9KBOKTE="; + }; + + build-system = [ setuptools ]; + + dependencies = [ llm ]; + + nativeCheckInputs = [ + pytestCheckHook + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ "llm_llama_server" ]; + + passthru.tests = llm.mkPluginTest llm-llama-server; + + meta = { + description = "LLM plugin providing access to Mistral models using the Mistral API"; + homepage = "https://github.com/simonw/llm-llama-server"; + changelog = "https://github.com/simonw/llm-llama-server/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-mistral/default.nix b/pkgs/development/python-modules/llm-mistral/default.nix new file mode 100644 index 000000000000..773868d5a875 --- /dev/null +++ b/pkgs/development/python-modules/llm-mistral/default.nix @@ -0,0 +1,56 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + httpx, + httpx-sse, + llm, + llm-mistral, + pytestCheckHook, + pytest-asyncio, + pytest-httpx, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "llm-mistral"; + version = "0.14"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-mistral"; + tag = version; + hash = "sha256-NuiqRA/SCjGq0hJsnHJ/vgdncIKu3oE9WqWGht7QRMc="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + httpx + httpx-sse + llm + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + pytest-httpx + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ "llm_mistral" ]; + + passthru.tests = llm.mkPluginTest llm-mistral; + + meta = { + description = "LLM plugin providing access to Mistral models using the Mistral API"; + homepage = "https://github.com/simonw/llm-mistral"; + changelog = "https://github.com/simonw/llm-mistral/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-ollama/default.nix b/pkgs/development/python-modules/llm-ollama/default.nix index e8d13d4926c6..0df527ee0241 100644 --- a/pkgs/development/python-modules/llm-ollama/default.nix +++ b/pkgs/development/python-modules/llm-ollama/default.nix @@ -1,6 +1,5 @@ { lib, - callPackage, buildPythonPackage, fetchFromGitHub, @@ -18,28 +17,26 @@ pytest-asyncio, pytest-mock, writableTmpDirAsHomeHook, + llm-ollama, }: buildPythonPackage rec { pname = "llm-ollama"; - version = "0.10.0"; + version = "0.11.0"; pyproject = true; src = fetchFromGitHub { owner = "taketwo"; repo = "llm-ollama"; tag = version; - hash = "sha256-IA9Tb82XB+Gr6YwMVqzsw1dPtT3GWK2W/ZtuDVznF1A"; + hash = "sha256-iwrDqrPt/zwXypBwD7zDAcen4fQq6PXl7Xj5VUL2KWA="; }; - build-system = [ - setuptools - # Follows the reasoning from https://github.com/NixOS/nixpkgs/pull/327800#discussion_r1681586659 about including llm in build-system - llm - ]; + build-system = [ setuptools ]; dependencies = [ click + llm ollama pydantic ]; @@ -55,9 +52,7 @@ buildPythonPackage rec { "llm_ollama" ]; - passthru.tests = { - llm-plugin = callPackage ./tests/llm-plugin.nix { }; - }; + passthru.tests = llm.mkPluginTest llm-ollama; meta = { description = "LLM plugin providing access to Ollama models using HTTP API"; diff --git a/pkgs/development/python-modules/llm-ollama/tests/llm-plugin.nix b/pkgs/development/python-modules/llm-ollama/tests/llm-plugin.nix deleted file mode 100644 index c601b393ac62..000000000000 --- a/pkgs/development/python-modules/llm-ollama/tests/llm-plugin.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - runCommand, - python, - yq, - cacert, -}: -let - venv = python.withPackages (ps: [ - ps.llm - ps.llm-ollama - ]); -in -runCommand "llm-ollama-test-llm-plugin" - { - nativeBuildInputs = [ - venv - yq - ]; - env.SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; - } - '' - llm plugins | yq --exit-status 'any(.name == "llm-ollama")' - touch "$out" - '' diff --git a/pkgs/development/python-modules/llm-openai-plugin/default.nix b/pkgs/development/python-modules/llm-openai-plugin/default.nix index 76f13696a877..49fd64c6acd2 100644 --- a/pkgs/development/python-modules/llm-openai-plugin/default.nix +++ b/pkgs/development/python-modules/llm-openai-plugin/default.nix @@ -1,10 +1,10 @@ { lib, - callPackage, buildPythonPackage, fetchFromGitHub, setuptools, llm, + llm-openai-plugin, openai, pytestCheckHook, pytest-asyncio, @@ -25,9 +25,7 @@ buildPythonPackage rec { hash = "sha256-UoUxCwR+qOUufHuS0gw6A5Q7sB77VO4HYuMjFGN7mhA="; }; - build-system = [ - setuptools - ]; + build-system = [ setuptools ]; dependencies = [ llm @@ -45,9 +43,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "llm_openai" ]; - passthru.tests = { - llm-plugin = callPackage ./tests/llm-plugin.nix { }; - }; + passthru.tests = llm.mkPluginTest llm-openai-plugin; meta = { description = "OpenAI plugin for LLM"; diff --git a/pkgs/development/python-modules/llm-openai-plugin/tests/llm-plugin.nix b/pkgs/development/python-modules/llm-openai-plugin/tests/llm-plugin.nix deleted file mode 100644 index 8092b15a5c90..000000000000 --- a/pkgs/development/python-modules/llm-openai-plugin/tests/llm-plugin.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - runCommand, - python, - yq, -}: -let - venv = python.withPackages (ps: [ - ps.llm - ps.llm-openai-plugin - ]); -in -runCommand "llm-openai-plugin-test-llm-plugin" - { - nativeBuildInputs = [ - venv - yq - ]; - } - '' - llm plugins | yq --exit-status 'any(.name == "llm-openai-plugin")' - touch "$out" - '' diff --git a/pkgs/development/python-modules/llm-openrouter/default.nix b/pkgs/development/python-modules/llm-openrouter/default.nix new file mode 100644 index 000000000000..ada713681c69 --- /dev/null +++ b/pkgs/development/python-modules/llm-openrouter/default.nix @@ -0,0 +1,56 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-openrouter, + httpx, + openai, + pytestCheckHook, + inline-snapshot, + pytest-recording, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "llm-openrouter"; + version = "0.4.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-openrouter"; + tag = version; + hash = "sha256-ojBkyXqEaqTcOv7mzTWL5Ihhb50zeVzeQZNA6DySuVg="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + httpx + llm + openai + ]; + + nativeCheckInputs = [ + pytestCheckHook + inline-snapshot + pytest-recording + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ "llm_openrouter" ]; + + passthru.tests = llm.mkPluginTest llm-openrouter; + + meta = { + description = "LLM plugin for models hosted by OpenRouter"; + homepage = "https://github.com/simonw/llm-openrouter"; + changelog = "https://github.com/simonw/llm-openrouter/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-pdf-to-images/default.nix b/pkgs/development/python-modules/llm-pdf-to-images/default.nix new file mode 100644 index 000000000000..fd39db4914dd --- /dev/null +++ b/pkgs/development/python-modules/llm-pdf-to-images/default.nix @@ -0,0 +1,49 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + pymupdf, + llm, + llm-pdf-to-images, + pytestCheckHook, + pytest-asyncio, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "llm-pdf-to-images"; + version = "0.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-pdf-to-images"; + tag = version; + hash = "sha256-UWtCPdKrGE93NNjCroct5fPhq1pWIkngXXtRb+BHm8k="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + llm + pymupdf + ]; + + nativeCheckInputs = [ + pytestCheckHook + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ "llm_pdf_to_images" ]; + + passthru.tests = llm.mkPluginTest llm-pdf-to-images; + + meta = { + description = "LLM fragment plugin to load a PDF as a sequence of images"; + homepage = "https://github.com/simonw/llm-pdf-to-images"; + changelog = "https://github.com/simonw/llm-pdf-to-images/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-sentence-transformers/default.nix b/pkgs/development/python-modules/llm-sentence-transformers/default.nix new file mode 100644 index 000000000000..db7439998e87 --- /dev/null +++ b/pkgs/development/python-modules/llm-sentence-transformers/default.nix @@ -0,0 +1,56 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-sentence-transformers, + einops, + sentence-transformers, + pytestCheckHook, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "llm-sentence-transformers"; + version = "0.3.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-sentence-transformers"; + tag = version; + hash = "sha256-FDDMItKFEYEptiL3EHKgKVxClqRU9RaM3uD3xP0F4OM="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + einops + llm + sentence-transformers + ]; + + nativeCheckInputs = [ + pytestCheckHook + writableTmpDirAsHomeHook + ]; + + # Disabled because they access the network + disabledTests = [ + "test_run_embedding" + "test_embed_multi_with_generator" + ]; + + pythonImportsCheck = [ "llm_sentence_transformers" ]; + + passthru.tests = llm.mkPluginTest llm-sentence-transformers; + + meta = { + description = "LLM plugin for embeddings using sentence-transformers"; + homepage = "https://github.com/simonw/llm-sentence-transformers"; + changelog = "https://github.com/simonw/llm-sentence-transformers/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-templates-fabric/default.nix b/pkgs/development/python-modules/llm-templates-fabric/default.nix new file mode 100644 index 000000000000..c966d21915ea --- /dev/null +++ b/pkgs/development/python-modules/llm-templates-fabric/default.nix @@ -0,0 +1,37 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-templates-fabric, +}: + +buildPythonPackage rec { + pname = "llm-templates-fabric"; + version = "0.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-templates-fabric"; + tag = version; + hash = "sha256-tfkSjeT9WstUsNCtVr3fMzqELFCtfYphqf3xFGvHaV0="; + }; + + build-system = [ setuptools ]; + + dependencies = [ llm ]; + + pythonImportsCheck = [ "llm_templates_fabric" ]; + + passthru.tests = llm.mkPluginTest llm-templates-fabric; + + meta = { + description = "Load LLM templates from Fabric"; + homepage = "https://github.com/simonw/llm-templates-fabric"; + changelog = "https://github.com/simonw/llm-templates-fabric/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-templates-github/default.nix b/pkgs/development/python-modules/llm-templates-github/default.nix new file mode 100644 index 000000000000..ccf0d937f05d --- /dev/null +++ b/pkgs/development/python-modules/llm-templates-github/default.nix @@ -0,0 +1,37 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-templates-github, +}: + +buildPythonPackage rec { + pname = "llm-templates-github"; + version = "0.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-templates-github"; + tag = version; + hash = "sha256-SFXrvpKrvfIP0JmXQt6OZ52kne4AEtiggbshyac9XQc="; + }; + + build-system = [ setuptools ]; + + dependencies = [ llm ]; + + pythonImportsCheck = [ "llm_templates_github" ]; + + passthru.tests = llm.mkPluginTest llm-templates-github; + + meta = { + description = "Load LLM templates from GitHub repositories"; + homepage = "https://github.com/simonw/llm-templates-github"; + changelog = "https://github.com/simonw/llm-templates-github/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-tools-datasette/default.nix b/pkgs/development/python-modules/llm-tools-datasette/default.nix new file mode 100644 index 000000000000..4320fa797a1e --- /dev/null +++ b/pkgs/development/python-modules/llm-tools-datasette/default.nix @@ -0,0 +1,48 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-tools-datasette, + llm-echo, + pytestCheckHook, + pytest-httpx, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "llm-tools-datasette"; + version = "0.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-tools-datasette"; + tag = version; + hash = "sha256-Us9bPk2qpTlgJqQ0Cl9QdeqW+h8j+pmnkriM0WXEyyA="; + }; + + build-system = [ setuptools ]; + + dependencies = [ llm ]; + + nativeCheckInputs = [ + llm-echo + pytestCheckHook + pytest-httpx + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ "llm_tools_datasette" ]; + + passthru.tests = llm.mkPluginTest llm-tools-datasette; + + meta = { + description = "Expose Datasette instances to LLM as a tool"; + homepage = "https://github.com/simonw/llm-tools-datasette"; + changelog = "https://github.com/simonw/llm-tools-datasette/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-tools-quickjs/default.nix b/pkgs/development/python-modules/llm-tools-quickjs/default.nix new file mode 100644 index 000000000000..ad447a01ade1 --- /dev/null +++ b/pkgs/development/python-modules/llm-tools-quickjs/default.nix @@ -0,0 +1,50 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + quickjs, + llm, + llm-tools-quickjs, + llm-echo, + pytestCheckHook, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "llm-tools-quickjs"; + version = "0.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-tools-quickjs"; + tag = version; + hash = "sha256-Si3VcHnRUj8Q/N8pRhltPOM6K64TX9DBH/u4WQxQJjQ="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + llm + quickjs + ]; + + nativeCheckInputs = [ + llm-echo + pytestCheckHook + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ "llm_tools_quickjs" ]; + + passthru.tests = llm.mkPluginTest llm-tools-quickjs; + + meta = { + description = "JavaScript execution as a tool for LLM"; + homepage = "https://github.com/simonw/llm-tools-quickjs"; + changelog = "https://github.com/simonw/llm-tools-quickjs/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-tools-simpleeval/default.nix b/pkgs/development/python-modules/llm-tools-simpleeval/default.nix new file mode 100644 index 000000000000..06b5a31f8ea5 --- /dev/null +++ b/pkgs/development/python-modules/llm-tools-simpleeval/default.nix @@ -0,0 +1,50 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-tools-simpleeval, + llm-echo, + pytestCheckHook, + simpleeval, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "llm-tools-simpleeval"; + version = "0.1.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-tools-simpleeval"; + tag = version; + hash = "sha256-IOmYu7zoim7Co/xIm5VLaGkCPI0o+2Nb2Pu3U2fH0BU="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + llm + simpleeval + ]; + + nativeCheckInputs = [ + llm-echo + pytestCheckHook + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ "llm_tools_simpleeval" ]; + + passthru.tests = llm.mkPluginTest llm-tools-simpleeval; + + meta = { + description = "Make simple_eval available as an LLM tool"; + homepage = "https://github.com/simonw/llm-tools-simpleeval"; + changelog = "https://github.com/simonw/llm-tools-simpleeval/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-tools-sqlite/default.nix b/pkgs/development/python-modules/llm-tools-sqlite/default.nix new file mode 100644 index 000000000000..494c4c5994e5 --- /dev/null +++ b/pkgs/development/python-modules/llm-tools-sqlite/default.nix @@ -0,0 +1,46 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-tools-sqlite, + llm-echo, + pytestCheckHook, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "llm-tools-sqlite"; + version = "0.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-tools-sqlite"; + tag = version; + hash = "sha256-VAmK4cXzZWTWCU92TwMdhNJPvYPZ88t5BZe8vo60SZY="; + }; + + build-system = [ setuptools ]; + + dependencies = [ llm ]; + + nativeCheckInputs = [ + llm-echo + pytestCheckHook + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ "llm_tools_sqlite" ]; + + passthru.tests = llm.mkPluginTest llm-tools-sqlite; + + meta = { + description = "LLM tools for running queries against SQLite"; + homepage = "https://github.com/simonw/llm-tools-sqlite"; + changelog = "https://github.com/simonw/llm-tools-sqlite/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-venice/default.nix b/pkgs/development/python-modules/llm-venice/default.nix new file mode 100644 index 000000000000..df24b6a20967 --- /dev/null +++ b/pkgs/development/python-modules/llm-venice/default.nix @@ -0,0 +1,40 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-venice, +}: + +buildPythonPackage rec { + pname = "llm-venice"; + version = "0.7.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "ar-jan"; + repo = "llm-venice"; + tag = version; + hash = "sha256-vsb3oXGr+2FDJnTwYomICfald1ptben28hAJ8ypKiBI="; + }; + + build-system = [ setuptools ]; + + dependencies = [ llm ]; + + # Reaches out to the real API + doCheck = false; + + pythonImportsCheck = [ "llm_venice" ]; + + passthru.tests = llm.mkPluginTest llm-venice; + + meta = { + description = "LLM plugin to access models available via the Venice API"; + homepage = "https://github.com/ar-jan/llm-venice"; + changelog = "https://github.com/ar-jan/llm-venice/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-video-frames/default.nix b/pkgs/development/python-modules/llm-video-frames/default.nix new file mode 100644 index 000000000000..1591ead64395 --- /dev/null +++ b/pkgs/development/python-modules/llm-video-frames/default.nix @@ -0,0 +1,37 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-video-frames, +}: + +buildPythonPackage rec { + pname = "llm-video-frames"; + version = "0.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "llm-video-frames"; + tag = version; + hash = "sha256-brTyBymoFuvSQzsD/4aWzFGCrh3yEmWbpsUNGKT9dcU="; + }; + + build-system = [ setuptools ]; + + dependencies = [ llm ]; + + pythonImportsCheck = [ "llm_video_frames" ]; + + passthru.tests = llm.mkPluginTest llm-video-frames; + + meta = { + description = "LLM plugin to turn a video into individual frames"; + homepage = "https://github.com/simonw/llm-video-frames"; + changelog = "https://github.com/simonw/llm-video-frames/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm/001-disable-install-uninstall-commands.patch b/pkgs/development/python-modules/llm/001-disable-install-uninstall-commands.patch index cef7fba13343..a9012c98f3b5 100644 --- a/pkgs/development/python-modules/llm/001-disable-install-uninstall-commands.patch +++ b/pkgs/development/python-modules/llm/001-disable-install-uninstall-commands.patch @@ -1,11 +1,12 @@ diff --git a/llm/cli.py b/llm/cli.py -index af37feb..18b078a 100644 +index 5d53e74..c2b4707 100644 --- a/llm/cli.py +++ b/llm/cli.py -@@ -1014,18 +1014,7 @@ def templates_path(): +@@ -2895,30 +2895,38 @@ def display_truncated(text): + help="Include pre-release and development versions", ) - def install(packages, upgrade, editable, force_reinstall, no_cache_dir): - """Install packages from PyPI into the same environment as LLM""" + def install(packages, upgrade, editable, force_reinstall, no_cache_dir, pre): +- """Install packages from PyPI into the same environment as LLM""" - args = ["pip", "install"] - if upgrade: - args += ["--upgrade"] @@ -15,20 +16,49 @@ index af37feb..18b078a 100644 - args += ["--force-reinstall"] - if no_cache_dir: - args += ["--no-cache-dir"] +- if pre: +- args += ["--pre"] - args += list(packages) - sys.argv = args - run_module("pip", run_name="__main__") -+ click.echo("Install command has been disabled for Nix. If you want to install extra llm plugins, use llm.withPlugins([]) expression.") - - ++ """Install packages from PyPI into the same environment as LLM. Disabled for nixpkgs.""" ++ raise click.ClickException( ++"""Install command has been disabled for Nix. To install extra `llm` plugins, use the `llm.withPlugins` function. ++ ++Example: ++ ++```nix ++llm.withPlugins { ++ @listOfPackagedPlugins@ ++} ++``` ++""" ++ ) + + @cli.command() -@@ -1033,8 +1022,7 @@ def install(packages, upgrade, editable, force_reinstall, no_cache_dir): + @click.argument("packages", nargs=-1, required=True) @click.option("-y", "--yes", is_flag=True, help="Don't ask for confirmation") def uninstall(packages, yes): - """Uninstall Python packages from the LLM environment""" +- """Uninstall Python packages from the LLM environment""" - sys.argv = ["pip", "uninstall"] + list(packages) + (["-y"] if yes else []) - run_module("pip", run_name="__main__") -+ click.echo("Uninstall command has been disabled for Nix. If you want to uninstall extra llm plugins, just remove them from llm.withPlugins([]) list expression.") - - ++ """Uninstall Python packages from the LLM environment. Disabled for nixpkgs.""" ++ raise click.ClickException( ++"""Uninstall command has been disabled for Nix. To remove `llm` plugins, use the `llm.withPlugins` function with the desired set of plugins specified. ++ ++Example: ++ ++```nix ++llm.withPlugins { ++ @listOfPackagedPlugins@ ++} ++``` ++""" ++ ) + + @cli.command() +-- +2.49.0 + diff --git a/pkgs/development/python-modules/llm/default.nix b/pkgs/development/python-modules/llm/default.nix index aa2515f19c73..70d606ec556b 100644 --- a/pkgs/development/python-modules/llm/default.nix +++ b/pkgs/development/python-modules/llm/default.nix @@ -1,9 +1,12 @@ { lib, + runCommand, + callPackage, buildPythonPackage, fetchFromGitHub, pytestCheckHook, pythonOlder, + replaceVars, setuptools, click-default-group, condense-json, @@ -13,18 +16,154 @@ pluggy, puremagic, pydantic, + python, python-ulid, pyyaml, sqlite-migrate, cogapp, pytest-asyncio, pytest-httpx, + pytest-recording, sqlite-utils, + syrupy, + llm-echo, }: let + /** + Make a derivation for `llm` that contains `llm` plus the relevant plugins. + The function signature of `withPlugins` is the list of all the plugins `llm` knows about. + Adding a parameter here requires that it be in `python3Packages` attrset. + + # Type + + ``` + withPlugins :: + { + llm-anthropic :: bool, + llm-gemini :: bool, + ... + } + -> derivation + ``` + + See `lib.attrNames (lib.functionArgs llm.withPlugins)` for the total list of plugins supported. + + # Examples + :::{.example} + ## `llm.withPlugins` usage example + + ```nix + llm.withPlugins { llm-gemini = true; llm-groq = true; } + => «derivation /nix/store/-python3-3.12.10-llm-with-llm-gemini-llm-groq.drv» + ``` + + ::: + */ + withPlugins = + # Keep this list up to date with the plugins in python3Packages! + { + llm-anthropic ? false, + llm-cmd ? false, + llm-command-r ? false, + llm-deepseek ? false, + llm-docs ? false, + llm-echo ? false, + llm-fragments-github ? false, + llm-fragments-pypi ? false, + llm-fragments-reader ? false, + llm-fragments-symbex ? false, + llm-gemini ? false, + llm-gguf ? false, + llm-git ? false, + llm-grok ? false, + llm-groq ? false, + llm-hacker-news ? false, + llm-jq ? false, + llm-llama-server ? false, + llm-mistral ? false, + llm-ollama ? false, + llm-openai-plugin ? false, + llm-openrouter ? false, + llm-pdf-to-images ? false, + llm-sentence-transformers ? false, + llm-templates-fabric ? false, + llm-templates-github ? false, + llm-tools-datasette ? false, + llm-tools-quickjs ? false, + llm-tools-simpleeval ? false, + llm-tools-sqlite ? false, + llm-venice ? false, + llm-video-frames ? false, + ... + }@args: + let + # Filter to just the attributes which are set to a true value. + setArgs = lib.filterAttrs (name: lib.id) args; + + # Make the derivation name reflect what's inside it, up to a certain limit. + setArgNames = lib.attrNames setArgs; + drvName = + let + len = builtins.length setArgNames; + in + if len == 0 then + "llm-${llm.version}" + else if len > 20 then + "llm-${llm.version}-with-${toString len}-plugins" + else + # Make a string with those names separated with a dash. + "llm-${llm.version}-with-${lib.concatStringsSep "-" setArgNames}"; + + # Make a python environment with just those plugins. + python-environment = python.withPackages ( + ps: + let + # Throw a diagnostic if this list gets out of sync with the names in python3Packages + allPluginsPresent = pluginNames == withPluginsArgNames; + pluginNames = lib.attrNames (lib.intersectAttrs ps withPluginsArgs); + missingNamesList = lib.attrNames (lib.removeAttrs withPluginsArgs pluginNames); + missingNames = lib.concatStringsSep ", " missingNamesList; + + # The relevant plugins are the ones the user asked for. + plugins = lib.intersectAttrs setArgs ps; + in + assert lib.assertMsg allPluginsPresent "Missing these plugins: ${missingNames}"; + ([ ps.llm ] ++ lib.attrValues plugins) + ); + + in + # That Python environment produced above contains too many irrelevant binaries, due to how + # Python needs to use propagatedBuildInputs. Let's make one with just what's needed: `llm`. + # Since we include the `passthru` and `meta` information, it's as good as the original + # derivation. + runCommand "${python.name}-${drvName}" { inherit (llm) passthru meta; } '' + mkdir -p $out/bin + ln -s ${python-environment}/bin/llm $out/bin/llm + ''; + + # Uses the `withPlugins` names to make a Python environment with everything. + withAllPlugins = withPlugins (lib.genAttrs withPluginsArgNames (name: true)); + + # The function signature of `withPlugins` is the list of all the plugins `llm` knows about. + # The plugin directory is at + withPluginsArgs = lib.functionArgs withPlugins; + withPluginsArgNames = lib.attrNames withPluginsArgs; + + # In order to help with usability, we patch `llm install` and `llm uninstall` to tell users how to + # customize `llm` with plugins in Nix, including the name of the plugin, its description, and + # where it's coming from. + listOfPackagedPlugins = builtins.toFile "plugins.txt" ( + lib.concatStringsSep "\n " ( + map (name: '' + # ${python.pkgs.${name}.meta.description} <${python.pkgs.${name}.meta.homepage}> + ${name} = true; + '') withPluginsArgNames + ) + ); + llm = buildPythonPackage rec { pname = "llm"; - version = "0.25"; + version = "0.26"; pyproject = true; build-system = [ setuptools ]; @@ -35,11 +174,16 @@ let owner = "simonw"; repo = "llm"; tag = version; - hash = "sha256-iH1P0VdpwIItY1In7vlM0Sn44Db23TqFp8GZ79/GMJs="; + hash = "sha256-KTlNajuZrR0kBX3LatepsNM3PfRVsQn+evEfXTu6juE="; }; patches = [ ./001-disable-install-uninstall-commands.patch ]; + postPatch = '' + substituteInPlace llm/cli.py \ + --replace-fail "@listOfPackagedPlugins@" "$(< ${listOfPackagedPlugins})" + ''; + dependencies = [ click-default-group condense-json @@ -61,11 +205,19 @@ let numpy pytest-asyncio pytest-httpx + pytest-recording + syrupy pytestCheckHook ]; doCheck = true; + # The tests make use of `llm_echo` but that would be a circular dependency. + # So we make a local copy in this derivation, as it's a super-simple package of one file. + preCheck = '' + cp ${llm-echo.src}/llm_echo.py llm_echo.py + ''; + pytestFlagsArray = [ "-svv" "tests/" @@ -74,27 +226,28 @@ let pythonImportsCheck = [ "llm" ]; passthru = { - inherit withPlugins; + inherit withPlugins withAllPlugins; + + mkPluginTest = plugin: { + ${plugin.pname} = callPackage ./mk-plugin-test.nix { inherit llm plugin; }; + }; + + # include tests for all the plugins + tests = lib.mergeAttrsList (map (name: python.pkgs.${name}.tests) withPluginsArgNames); }; - meta = with lib; { + meta = { homepage = "https://github.com/simonw/llm"; description = "Access large language models from the command-line"; changelog = "https://github.com/simonw/llm/releases/tag/${src.tag}"; - license = licenses.asl20; + license = lib.licenses.asl20; mainProgram = "llm"; - maintainers = with maintainers; [ + maintainers = with lib.maintainers; [ aldoborrero mccartykim + philiptaron ]; }; }; - - withPlugins = throw '' - llm.withPlugins was confusing to use and has been removed. - Please migrate to using python3.withPackages(ps: [ ps.llm ]) instead. - - See https://nixos.org/manual/nixpkgs/stable/#python.withpackages-function for more usage examples. - ''; in llm diff --git a/pkgs/development/python-modules/llm/mk-plugin-test.nix b/pkgs/development/python-modules/llm/mk-plugin-test.nix new file mode 100644 index 000000000000..01a53ab28348 --- /dev/null +++ b/pkgs/development/python-modules/llm/mk-plugin-test.nix @@ -0,0 +1,27 @@ +{ + cacert, + runCommand, + writableTmpDirAsHomeHook, + yq, + llm, + plugin, +}: +let + venv = llm.pythonModule.withPackages (_: [ + llm + plugin + ]); +in +runCommand "${plugin.pname}-test" + { + nativeBuildInputs = [ + venv + writableTmpDirAsHomeHook + yq + ]; + env.SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + } + '' + llm plugins | yq --exit-status 'any(.name == "${plugin.pname}")' + touch "$out" + '' diff --git a/pkgs/development/python-modules/mpi-pytest/default.nix b/pkgs/development/python-modules/mpi-pytest/default.nix index 585307c94b83..740c0de6dc3b 100644 --- a/pkgs/development/python-modules/mpi-pytest/default.nix +++ b/pkgs/development/python-modules/mpi-pytest/default.nix @@ -11,23 +11,16 @@ buildPythonPackage rec { pname = "mpi-pytest"; - version = "2025.4.0"; + version = "2025.5.0"; pyproject = true; src = fetchFromGitHub { owner = "firedrakeproject"; repo = "mpi-pytest"; tag = "v${version}"; - hash = "sha256-r9UB5H+qAJc6k2SVAiOCI2yRDLNv2zKRmfrAan+cX9I="; + hash = "sha256-Eq53rCM3xwY30BuGUaTH4Nuloc/9kGJMFhspLH04zqE="; }; - # A temporary fixup to support fork mode with openmpi implementation - # See https://github.com/firedrakeproject/mpi-pytest/pull/17 - postPatch = lib.optionalString (mpi4py.mpi.pname == "openmpi") '' - substituteInPlace pytest_mpi/plugin.py \ - --replace-fail '"-genv", CHILD_PROCESS_FLAG, "1"' '"-x", f"{CHILD_PROCESS_FLAG}=1"' - ''; - build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pytensor/default.nix b/pkgs/development/python-modules/pytensor/default.nix index 77edafdd0351..c1d7b0e494fb 100644 --- a/pkgs/development/python-modules/pytensor/default.nix +++ b/pkgs/development/python-modules/pytensor/default.nix @@ -33,7 +33,7 @@ buildPythonPackage rec { pname = "pytensor"; - version = "2.31.2"; + version = "2.31.3"; pyproject = true; src = fetchFromGitHub { @@ -43,7 +43,7 @@ buildPythonPackage rec { postFetch = '' sed -i 's/git_refnames = "[^"]*"/git_refnames = " (tag: ${src.tag})"/' $out/pytensor/_version.py ''; - hash = "sha256-dFqJm9/77Nelh//1FjLauPAAQSogDa2fd1JJjlVFWsY="; + hash = "sha256-tvK8UzJZvX9X2NKgqkyhi0ZzAb38Lu0ULze4L1Z3YfU="; }; build-system = [ @@ -133,6 +133,7 @@ buildPythonPackage rec { "test_scan_err1" "test_scan_err2" "test_shared" + "test_size_implied_by_broadcasted_parameters" "test_solve_triangular_grad" "test_structured_add_s_v_grad" "test_structureddot_csc_grad" diff --git a/pkgs/development/python-modules/pytest-icdiff/default.nix b/pkgs/development/python-modules/pytest-icdiff/default.nix new file mode 100644 index 000000000000..6b0ba2adfd42 --- /dev/null +++ b/pkgs/development/python-modules/pytest-icdiff/default.nix @@ -0,0 +1,52 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + icdiff, + pprintpp, + pytest, + pytestCheckHook, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "pytest-icdiff"; + version = "0.5-unstable-2024-09-04"; + pyproject = true; + + src = fetchFromGitHub { + owner = "hjwp"; + repo = "pytest-icdiff"; + rev = "6e2fb8de35e37428a9f7a268c8abb57e9ee285e5"; + hash = "sha256-kSeGz5IExldgi955XOEkQnc8uqxkbyvuDOdz9y3AFIY="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + pytest + icdiff + pprintpp + ]; + + # These are failing on the main branch; disable for now + disabledTests = [ + "test_long_dict" + "test_mutliline_strings_have_no_escaped_newlines" + ]; + + nativeCheckInputs = [ + pytestCheckHook + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ "pytest_icdiff" ]; + + meta = { + description = "Better error messages in pytest assertions using icdiff"; + homepage = "https://github.com/hjwp/pytest-icdiff"; + license = lib.licenses.unlicense; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/pytest-spec/default.nix b/pkgs/development/python-modules/pytest-spec/default.nix index e1cc01003aa5..dce9e0d9d6aa 100644 --- a/pkgs/development/python-modules/pytest-spec/default.nix +++ b/pkgs/development/python-modules/pytest-spec/default.nix @@ -12,16 +12,16 @@ buildPythonPackage rec { pname = "pytest-spec"; - version = "4.0.0"; + version = "5.0.0"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "pchomik"; repo = "pytest-spec"; tag = version; - hash = "sha256-SOu4ucRcLQSk1YOfNifFDezsB+ZeLXTwbJJ93/3EASk="; + hash = "sha256-EWhKqGOLBa+Eb4fJtkamP8it+hWeK3rGWKgY8mJI53U="; }; build-system = [ diff --git a/pkgs/development/python-modules/quickjs/0001-Update-for-QuickJS-2025-04-26-release.patch b/pkgs/development/python-modules/quickjs/0001-Update-for-QuickJS-2025-04-26-release.patch new file mode 100644 index 000000000000..05501f6a220c --- /dev/null +++ b/pkgs/development/python-modules/quickjs/0001-Update-for-QuickJS-2025-04-26-release.patch @@ -0,0 +1,66 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Philip Taron +Date: Thu, 29 May 2025 17:16:43 -0700 +Subject: [PATCH] Update for QuickJS 2025-04-26 release + +Signed-off-by: Philip Taron +--- + setup.py | 6 +++--- + test_quickjs.py | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/setup.py b/setup.py +index 9d17af357dcadc40478789ef9c82ac82632967d3..d0b4ff2bd7f3450f6f055ee9e2eda6b591d70689 100644 +--- a/setup.py ++++ b/setup.py +@@ -16,7 +16,7 @@ if sys.platform == "win32": + # system PATH when compiling. + # 3. The code below will moneky-patch distutils to work. + import distutils.cygwinccompiler +- distutils.cygwinccompiler.get_msvcr = lambda: [] ++ distutils.cygwinccompiler.get_msvcr = lambda: [] + # Make sure that pthreads is linked statically, otherwise we run into problems + # on computers where it is not installed. + extra_link_args = ["-static"] +@@ -26,7 +26,7 @@ def get_c_sources(include_headers=False): + sources = [ + "module.c", + "upstream-quickjs/cutils.c", +- "upstream-quickjs/libbf.c", ++ "upstream-quickjs/dtoa.c", + "upstream-quickjs/libregexp.c", + "upstream-quickjs/libunicode.c", + "upstream-quickjs/quickjs.c", +@@ -34,7 +34,7 @@ def get_c_sources(include_headers=False): + if include_headers: + sources += [ + "upstream-quickjs/cutils.h", +- "upstream-quickjs/libbf.h", ++ "upstream-quickjs/dtoa.h", + "upstream-quickjs/libregexp-opcode.h", + "upstream-quickjs/libregexp.h", + "upstream-quickjs/libunicode-table.h", +diff --git a/test_quickjs.py b/test_quickjs.py +index 1f6dec7ccd15092e98e80a9139ae2acff359b010..9444234655fba9d932ce92c82b9d8da8fe83ad5b 100644 +--- a/test_quickjs.py ++++ b/test_quickjs.py +@@ -105,8 +105,8 @@ class Context(unittest.TestCase): + else: + self.fail("Expected exception.") + +- self.assertIn("at funcA (:3)\n", msg) +- self.assertIn("at funcB (:6)\n", msg) ++ self.assertIn("at funcA (:3:24)\n", msg) ++ self.assertIn("at funcB (:6:26)\n", msg) + + def test_memory_limit(self): + code = """ +@@ -508,7 +508,7 @@ class FunctionTest(unittest.TestCase): + """) + + self.assertEqual(f(100), 100) +- limit = 500 ++ limit = 1500 + with self.assertRaises(quickjs.StackOverflow): + f(limit) + f.set_max_stack_size(2000 * limit) diff --git a/pkgs/development/python-modules/quickjs/default.nix b/pkgs/development/python-modules/quickjs/default.nix new file mode 100644 index 000000000000..1d5726bee259 --- /dev/null +++ b/pkgs/development/python-modules/quickjs/default.nix @@ -0,0 +1,58 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + poetry-core, + pytestCheckHook, + pkgs, +}: + +let + inherit (pkgs) quickjs srcOnly; +in + +buildPythonPackage rec { + pname = "quickjs"; + version = "1.19.4"; + pyproject = true; + + src = fetchFromGitHub { + owner = "PetterS"; + repo = "quickjs"; + tag = version; + hash = "sha256-nLloXJWOuaK/enZfwXJI94IcsAMYrkBtG4i3gmxuhfw="; + }; + + patches = [ ./0001-Update-for-QuickJS-2025-04-26-release.patch ]; + + # Upstream uses Git submodules; let's de-vendor and use Nix, so that we gain security fixes like + # https://github.com/NixOS/nixpkgs/pull/407469 + prePatch = '' + rmdir upstream-quickjs + ln -s ${srcOnly quickjs} upstream-quickjs + ''; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail poetry>=1.5.0 poetry \ + --replace-fail poetry poetry-core \ + --replace-fail 'version = "0"' 'version = "${version}"' + ''; + + build-system = [ + poetry-core + setuptools + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "quickjs" ]; + + meta = { + description = "Python wrapper around the quickjs C library"; + homepage = "https://github.com/PetterS/quickjs"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/roombapy/default.nix b/pkgs/development/python-modules/roombapy/default.nix index 26f79276053a..cd18675e0ed9 100644 --- a/pkgs/development/python-modules/roombapy/default.nix +++ b/pkgs/development/python-modules/roombapy/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "roombapy"; - version = "1.9.0"; + version = "1.9.1"; pyproject = true; disabled = pythonOlder "3.10"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "pschmitt"; repo = "roombapy"; tag = version; - hash = "sha256-fcCK6yby9Jfc4lSSETn13Y+4A3qjvYfm4Ps3T5yG4Rc="; + hash = "sha256-63PqNmJC0IWPPMVyZdKoZikvBA4phMcYxlTBk/m1cq0="; }; nativeBuildInputs = [ @@ -67,7 +67,7 @@ buildPythonPackage rec { description = "Python program and library to control Wi-Fi enabled iRobot Roombas"; mainProgram = "roombapy"; homepage = "https://github.com/pschmitt/roombapy"; - changelog = "https://github.com/pschmitt/roombapy/releases/tag/${version}"; + changelog = "https://github.com/pschmitt/roombapy/releases/tag/${src.tag}"; license = licenses.mit; maintainers = [ ]; }; diff --git a/pkgs/development/python-modules/symbex/default.nix b/pkgs/development/python-modules/symbex/default.nix new file mode 100644 index 000000000000..47405f4b8223 --- /dev/null +++ b/pkgs/development/python-modules/symbex/default.nix @@ -0,0 +1,45 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + click, + pytestCheckHook, + pyyaml, + pytest-icdiff, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "symbex"; + version = "2.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "symbex"; + tag = version; + hash = "sha256-swg98z4DpQJ5rq7tdsd3FofbYF7O5S+9ZR0weoM2DoI="; + }; + + build-system = [ setuptools ]; + + dependencies = [ click ]; + + pythonImportsCheck = [ "symbex" ]; + + nativeCheckInputs = [ + pytestCheckHook + pyyaml + pytest-icdiff + writableTmpDirAsHomeHook + ]; + + meta = { + description = "Find the Python code for specified symbols"; + homepage = "https://github.com/simonw/symbex"; + changelog = "https://github.com/simonw/symbex/releases/tag/${version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/waymax/default.nix b/pkgs/development/python-modules/waymax/default.nix index 6fb36ddcf8b8..187448c8ea9d 100644 --- a/pkgs/development/python-modules/waymax/default.nix +++ b/pkgs/development/python-modules/waymax/default.nix @@ -21,31 +21,16 @@ buildPythonPackage { pname = "waymax"; - version = "0-unstable-2024-03-23"; + version = "0-unstable-2025-05-30"; pyproject = true; src = fetchFromGitHub { owner = "waymo-research"; repo = "waymax"; - rev = "720f9214a9bf79b3da7926497f0cd0468ca3e630"; - hash = "sha256-B1Rp5MATbEelp6G6K2wwV83QpINhOHgvAxb3mBN52Eg="; + rev = "48b33d71aac20a22db7d25f2d3220596899d944a"; + hash = "sha256-YV0KI0UrFXO3HvKjqJE+K+hJJuYI4GiIR4l1fZNnl/E="; }; - # AttributeError: jax.tree_map was removed in JAX v0.6.0: use jax.tree.map (jax v0.4.25 or newer) or jax.tree_util.tree_map (any JAX version). - # https://github.com/waymo-research/waymax/pull/77 - postPatch = '' - substituteInPlace \ - waymax/agents/expert.py \ - waymax/agents/waypoint_following_agent.py \ - waymax/agents/waypoint_following_agent_test.py \ - waymax/dynamics/abstract_dynamics_test.py \ - waymax/dynamics/state_dynamics_test.py \ - waymax/env/base_environment_test.py \ - waymax/env/rollout_test.py \ - waymax/env/wrappers/brax_wrapper_test.py \ - --replace-fail "jax.tree_map" "jax.tree_util.tree_map" - ''; - build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/tools/haskell/vaultenv/default.nix b/pkgs/development/tools/haskell/vaultenv/default.nix index 0b44a8b05395..ee9d867c128d 100644 --- a/pkgs/development/tools/haskell/vaultenv/default.nix +++ b/pkgs/development/tools/haskell/vaultenv/default.nix @@ -32,13 +32,13 @@ }: mkDerivation rec { pname = "vaultenv"; - version = "0.18.0"; + version = "0.19.0"; src = fetchFromGitHub { owner = "channable"; repo = "vaultenv"; rev = "v${version}"; - hash = "sha256-Qb9GMAFjQBsPItwkiWSMWv8WJyc5hOz9Yrq5PPOFVQo="; + hash = "sha256-x3c9TKrCF3tsEFofYAXfK6DWdirEUxWWTttNqU/sJSc="; }; buildTools = [ hpack ]; diff --git a/pkgs/development/tools/pnpm/fetch-deps/default.nix b/pkgs/development/tools/pnpm/fetch-deps/default.nix index 024aec34119d..8e26d173fd90 100644 --- a/pkgs/development/tools/pnpm/fetch-deps/default.nix +++ b/pkgs/development/tools/pnpm/fetch-deps/default.nix @@ -10,11 +10,15 @@ yq, }: +let + pnpm' = pnpm; +in { fetchDeps = lib.makeOverridable ( { hash ? "", pname, + pnpm ? pnpm', pnpmWorkspaces ? [ ], prePnpmInstall ? "", pnpmInstallFlags ? [ ], @@ -52,7 +56,7 @@ cacert jq moreutils - pnpm + args.pnpm or pnpm' yq ]; @@ -109,7 +113,7 @@ passthru = { serve = callPackage ./serve.nix { - inherit pnpm; + pnpm = args.pnpm or pnpm'; pnpmDeps = finalAttrs.finalPackage; }; }; diff --git a/pkgs/servers/roundcube/default.nix b/pkgs/servers/roundcube/default.nix index b88ba3a60819..b10167d270bb 100644 --- a/pkgs/servers/roundcube/default.nix +++ b/pkgs/servers/roundcube/default.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation rec { pname = "roundcube"; - version = "1.6.10"; + version = "1.6.11"; src = fetchurl { url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz"; - sha256 = "sha256-A8+sL0lN2Zwlw177CtTTM/JI4y8l9CBPvI8nMb+68OQ="; + sha256 = "sha256-ojDkMgZVVb+ie+o/z0rGcvI1nvKK2E9ZReo8z3AudGY="; }; patches = [ ./0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch ]; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index dff073b86bbc..162b19d07af5 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1646,6 +1646,7 @@ mapAliases { quicklispPackagesGCL = throw "Lisp packages have been redesigned. See 'lisp-modules' in the nixpkgs manual."; # Added 2024-05-07 quicklispPackagesSBCL = throw "Lisp packages have been redesigned. See 'lisp-modules' in the nixpkgs manual."; # Added 2024-05-07 quickserve = throw "'quickserve' has been removed because its upstream is unavailable"; # Added 2025-05-10 + qv2ray = throw "'qv2ray' has been removed as it was unmaintained"; # Added 2025-06-03 qxw = throw "'qxw' has been removed due to lack of maintenance upstream. Consider using 'crosswords' instead"; # Added 2024-10-19 ### R ### diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index acfb22f0f0ae..4c0a8f4f630e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3501,8 +3501,6 @@ with pkgs; ocamlPackages = ocaml-ng.ocamlPackages_4_14; }; - llm = with python3Packages; toPythonApplication llm; - loganalyzer = libsForQt5.callPackage ../development/tools/loganalyzer { }; logstash7 = callPackage ../tools/misc/logstash/7.x.nix { @@ -9462,8 +9460,6 @@ with pkgs; } ); - qv2ray = libsForQt5.callPackage ../applications/networking/qv2ray { }; - readline = readline82; readline70 = callPackage ../development/libraries/readline/7.0.nix { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 38e52355778d..99dcdd005c57 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -25678,6 +25678,9 @@ with self; url = "mirror://cpan/authors/id/J/JU/JUERD/Net-MQTT-Simple-1.28.tar.gz"; hash = "sha256-Sp6hB+a8IuJrUzZ4oKPMbEI7N4TsP8ROjjM5t8Vr7gM="; }; + propagatedBuildInputs = [ + IOSocketSSL + ]; meta = { description = "Minimal MQTT version 3 interface"; license = with lib.licenses; [ diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3757307b0e8f..0bcca49abba5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4969,6 +4969,8 @@ self: super: with self; { filelock = callPackage ../development/python-modules/filelock { }; + files-to-prompt = callPackage ../development/python-modules/files-to-prompt { }; + filetype = callPackage ../development/python-modules/filetype { }; filterpy = callPackage ../development/python-modules/filterpy { }; @@ -6652,6 +6654,8 @@ self: super: with self; { icalevents = callPackage ../development/python-modules/icalevents { }; + icdiff = callPackage ../development/python-modules/icdiff { }; + icecream = callPackage ../development/python-modules/icecream { }; iceportal = callPackage ../development/python-modules/iceportal { }; @@ -8304,16 +8308,66 @@ self: super: with self; { llm-cmd = callPackage ../development/python-modules/llm-cmd { }; + llm-command-r = callPackage ../development/python-modules/llm-command-r { }; + + llm-deepseek = callPackage ../development/python-modules/llm-deepseek { }; + + llm-docs = callPackage ../development/python-modules/llm-docs { }; + + llm-echo = callPackage ../development/python-modules/llm-echo { }; + + llm-fragments-github = callPackage ../development/python-modules/llm-fragments-github { }; + + llm-fragments-pypi = callPackage ../development/python-modules/llm-fragments-pypi { }; + + llm-fragments-reader = callPackage ../development/python-modules/llm-fragments-reader { }; + + llm-fragments-symbex = callPackage ../development/python-modules/llm-fragments-symbex { }; + llm-gemini = callPackage ../development/python-modules/llm-gemini { }; llm-gguf = callPackage ../development/python-modules/llm-gguf { }; + llm-git = callPackage ../development/python-modules/llm-git { }; + + llm-grok = callPackage ../development/python-modules/llm-grok { }; + + llm-groq = callPackage ../development/python-modules/llm-groq { }; + + llm-hacker-news = callPackage ../development/python-modules/llm-hacker-news { }; + llm-jq = callPackage ../development/python-modules/llm-jq { }; + llm-llama-server = callPackage ../development/python-modules/llm-llama-server { }; + + llm-mistral = callPackage ../development/python-modules/llm-mistral { }; + llm-ollama = callPackage ../development/python-modules/llm-ollama { }; llm-openai-plugin = callPackage ../development/python-modules/llm-openai-plugin { }; + llm-openrouter = callPackage ../development/python-modules/llm-openrouter { }; + + llm-pdf-to-images = callPackage ../development/python-modules/llm-pdf-to-images { }; + + llm-sentence-transformers = callPackage ../development/python-modules/llm-sentence-transformers { }; + + llm-templates-fabric = callPackage ../development/python-modules/llm-templates-fabric { }; + + llm-templates-github = callPackage ../development/python-modules/llm-templates-github { }; + + llm-tools-datasette = callPackage ../development/python-modules/llm-tools-datasette { }; + + llm-tools-quickjs = callPackage ../development/python-modules/llm-tools-quickjs { }; + + llm-tools-simpleeval = callPackage ../development/python-modules/llm-tools-simpleeval { }; + + llm-tools-sqlite = callPackage ../development/python-modules/llm-tools-sqlite { }; + + llm-venice = callPackage ../development/python-modules/llm-venice { }; + + llm-video-frames = callPackage ../development/python-modules/llm-video-frames { }; + llmx = callPackage ../development/python-modules/llmx { }; llvmlite = callPackage ../development/python-modules/llvmlite { @@ -13825,6 +13879,8 @@ self: super: with self; { pytest-httpx = callPackage ../development/python-modules/pytest-httpx { }; + pytest-icdiff = callPackage ../development/python-modules/pytest-icdiff { }; + pytest-image-diff = callPackage ../development/python-modules/pytest-image-diff { }; pytest-instafail = callPackage ../development/python-modules/pytest-instafail { }; @@ -14874,6 +14930,8 @@ self: super: with self; { queuelib = callPackage ../development/python-modules/queuelib { }; + quickjs = callPackage ../development/python-modules/quickjs { }; + quil = callPackage ../development/python-modules/quil { }; quixote = callPackage ../development/python-modules/quixote { }; @@ -17031,6 +17089,8 @@ self: super: with self; { sybil = callPackage ../development/python-modules/sybil { }; + symbex = callPackage ../development/python-modules/symbex { }; + symbolic = callPackage ../development/python-modules/symbolic { }; symengine = callPackage ../development/python-modules/symengine { inherit (pkgs) symengine; };