Merge master into staging-nixos

This commit is contained in:
nixpkgs-ci[bot]
2026-04-06 12:19:20 +00:00
committed by GitHub
61 changed files with 1408 additions and 984 deletions
@@ -206,6 +206,8 @@ of pulling the upstream container image from Docker Hub. If you want the old beh
- `rocmPackages_6` has been removed. `rocmPackages` has been updated to ROCm 7.x. Out of tree packages may rely on obsolete hipblas APIs or compile time constant warp size and need to be updated.
- `services.prometheus.exporters.rspamd` has been removed. It relied on the Rspamd /stat endpoint via the JSON exporter. You can use the Rspamd [/metrics](https://docs.rspamd.com/developers/protocol#controller-http-endpoints) endpoint directly instead.
- The Bash implementation of the `nixos-rebuild` program is removed. All switchable systems now use the Python rewrite. Any prior usage of `system.rebuild.enableNg` must now be removed. If you have any outstanding issues with the new implementation, please open an issue on GitHub.
- `services.desktopManager.gnome` no longer installs the Geary e-mail client since it is not part of the GNOME [core applications](https://apps.gnome.org/) list. Geary's position in the default favorite apps section has been replaced by GNOME Text Editor. To keep it installed, add `programs.geary.enable = true;` to your configuration.
@@ -110,7 +110,6 @@ let
"rasdaemon"
"redis"
"restic"
"rspamd"
"rtl_433"
"sabnzbd"
"scaphandre"
@@ -398,6 +397,10 @@ in
(lib.mkRemovedOptionModule [ "tor" ] ''
The Tor exporter has been removed, as it was broken and unmaintained.
'')
(lib.mkRemovedOptionModule [ "rspamd" ] ''
The Rspamd exporter has been removed. You can use the Rspamd /metrics endpoint directly instead:
https://docs.rspamd.com/developers/protocol#controller-http-endpoints
'')
];
};
description = "Prometheus exporter configuration";
@@ -1,119 +0,0 @@
{
config,
lib,
pkgs,
options,
...
}:
let
cfg = config.services.prometheus.exporters.rspamd;
inherit (lib)
mkOption
types
replaceStrings
mkRemovedOptionModule
recursiveUpdate
concatStringsSep
literalExpression
;
mkFile = conf: pkgs.writeText "rspamd-exporter-config.yml" (builtins.toJSON conf);
generateConfig = extraLabels: {
modules.default.metrics =
(map
(path: {
name = "rspamd_${replaceStrings [ "[" "." " " "]" "\\" "'" ] [ "_" "_" "_" "" "" "" ] path}";
path = "{ .${path} }";
labels = extraLabels;
})
[
"actions['add\\ header']"
"actions['no\\ action']"
"actions['rewrite\\ subject']"
"actions['soft\\ reject']"
"actions.greylist"
"actions.reject"
"bytes_allocated"
"chunks_allocated"
"chunks_freed"
"chunks_oversized"
"connections"
"control_connections"
"ham_count"
"learned"
"pools_allocated"
"pools_freed"
"read_only"
"scanned"
"shared_chunks_allocated"
"spam_count"
"total_learns"
]
)
++ [
{
name = "rspamd_statfiles";
type = "object";
path = "{.statfiles[*]}";
labels = recursiveUpdate {
symbol = "{.symbol}";
type = "{.type}";
} extraLabels;
values = {
revision = "{.revision}";
size = "{.size}";
total = "{.total}";
used = "{.used}";
languages = "{.languages}";
users = "{.users}";
};
}
];
};
in
{
port = 7980;
extraOpts = {
extraLabels = mkOption {
type = types.attrsOf types.str;
default = {
host = config.networking.hostName;
};
defaultText = literalExpression "{ host = config.networking.hostName; }";
example = literalExpression ''
{
host = config.networking.hostName;
custom_label = "some_value";
}
'';
description = "Set of labels added to each metric.";
};
};
serviceOpts.serviceConfig.ExecStart = ''
${pkgs.prometheus-json-exporter}/bin/json_exporter \
--config.file ${mkFile (generateConfig cfg.extraLabels)} \
--web.listen-address "${cfg.listenAddress}:${toString cfg.port}" \
${concatStringsSep " \\\n " cfg.extraFlags}
'';
imports = [
(mkRemovedOptionModule [ "url" ] ''
This option was removed. The URL of the rspamd metrics endpoint
must now be provided to the exporter by prometheus via the url
parameter `target'.
In prometheus a scrape URL would look like this:
http://some.rspamd-exporter.host:7980/probe?target=http://some.rspamd.host:11334/stat
For more information, take a look at the official documentation
(https://github.com/prometheus-community/json_exporter) of the json_exporter.
'')
{
options.warnings = options.warnings;
options.assertions = options.assertions;
}
];
}
-20
View File
@@ -1540,26 +1540,6 @@ let
'';
};
rspamd =
{ ... }:
{
exporterConfig = {
enable = true;
};
metricProvider = {
services.rspamd.enable = true;
};
exporterTest = ''
wait_for_unit("rspamd.service")
wait_for_unit("prometheus-rspamd-exporter.service")
wait_for_open_port(11334)
wait_for_open_port(7980)
wait_until_succeeds(
"curl -sSf 'localhost:7980/probe?target=http://localhost:11334/stat' | grep 'rspamd_scanned{host=\"rspamd\"} 0'"
)
'';
};
rtl_433 =
{ ... }:
{
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "gpsp";
version = "0-unstable-2026-01-27";
version = "0-unstable-2026-03-31";
src = fetchFromGitHub {
owner = "libretro";
repo = "gpsp";
rev = "602512d7c687acb84cd56265cbcf2d7b7c75fb37";
hash = "sha256-YloLG2anJJ1hcVltN+d8XsshgZoDBrFRgRoQA7mfhN8=";
rev = "6373ff347a07ac17c50a00f20aa63d29c080abcf";
hash = "sha256-1aLSJ0oB8WJnIfKHHdwBQ52uVPs1XiFZvgFgrF9zUoA=";
};
makefile = "Makefile";
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "mame2003-plus";
version = "0-unstable-2026-03-10";
version = "0-unstable-2026-04-04";
src = fetchFromGitHub {
owner = "libretro";
repo = "mame2003-plus-libretro";
rev = "53453e57676ff31131441f08c0b734c9ad84e4f0";
hash = "sha256-IpVv/bpT7AHF8QaGFGgTWei5JKuy7H5/O70W2n88s1c=";
rev = "3da943f4bcf264c7af83a07b78617e98ce3822cd";
hash = "sha256-3hJj8BLePPdEEsQriHSWhIMhamr7pvpKswP5/RxtjcM=";
};
makefile = "Makefile";
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "quicknes";
version = "0-unstable-2024-10-21";
version = "0-unstable-2026-03-31";
src = fetchFromGitHub {
owner = "libretro";
repo = "QuickNES_Core";
rev = "dbf19f73e3eb9701d1c7f5898f57c097e05c9fbd";
hash = "sha256-oFQUMp1imc8JCsQYCy1BtIUmTC+u0VcoYHpWzUpKNb4=";
rev = "71782569078f29214017a966b0f992b9e512bf19";
hash = "sha256-Bx1iZcrUG5B/wjeWf2hZEAIocM7dKgRwRPqpGzS2Cgc=";
};
makefile = "Makefile";
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "smsplus";
version = "0-unstable-2024-10-21";
version = "0-unstable-2026-03-31";
src = fetchFromGitHub {
owner = "libretro";
repo = "smsplus-gx";
rev = "c642bbd0680b5959180a420036108893d0aec961";
hash = "sha256-SHBrwzLyVZ4Tp/kVCnr4xj2B3pmdg+JUmZUM7hYao64=";
rev = "41212ee3309fcf84ef0c04317a0916f0e1252c00";
hash = "sha256-7IKnFdSYCVrwjvtP4cTxQCCKANYSVVR6IwrhnjzqPPg=";
};
meta = {
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "snes9x2002";
version = "0-unstable-2024-10-21";
version = "0-unstable-2026-03-31";
src = fetchFromGitHub {
owner = "libretro";
repo = "snes9x2002";
rev = "a0709ec7dcd6de2fbebb43106bd757b649e3b7cf";
hash = "sha256-rrMPhXIsQ48fVvjgZgC3xeqm9k9kwe43oZNzs2d/h1Q=";
rev = "15826a2afc1474b30c310502b5dbe25c639be59d";
hash = "sha256-LVTtpnmZzmKCohFwc74qLMR6cN4ntT/o/OUQOg6mdU0=";
};
makefile = "Makefile";
@@ -5,13 +5,13 @@
}:
mkLibretroCore rec {
core = "snes9x2010";
version = "0-unstable-2024-11-19";
version = "0-unstable-2026-03-31";
src = fetchFromGitHub {
owner = "libretro";
repo = "snes9x2010";
rev = "f9ae8fd28b13070a945a829ccf41cbf90a21d0f7";
hash = "sha256-nsExAYnzDenPvXzeN60jGykRTrCGMi/mRPV+vgS8ZtE=";
rev = "693c0dd2a3004a6332a076a08d14c78086f26bc1";
hash = "sha256-/+VdaLY6JycN2o1/LOPFIOmcp6ZVAqpX1MVuHN3B/Nc=";
};
makeFlags = [ "GIT_VERSION=${builtins.substring 0 7 src.rev}" ];
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "virtualjaguar";
version = "0-unstable-2024-10-21";
version = "0-unstable-2026-04-03";
src = fetchFromGitHub {
owner = "libretro";
repo = "virtualjaguar-libretro";
rev = "48096c1f6f8b98cfff048a5cb4e6a86686631072";
hash = "sha256-DLBQQARHqupGGQS8YznDSSMuxQliyt5apGA4Ku2jlYo=";
rev = "68265f930f6120f8f05c1f71c9fc9e417dab0d28";
hash = "sha256-BWpOm0DECqTqbQ1FR9YgjxjsxU7LdB4MlYHzGatcrJk=";
};
makefile = "Makefile";
+7
View File
@@ -37,6 +37,9 @@ let
pythonRemoveDeps = [
"importlib-resources"
"tree-sitter-c-sharp"
"tree-sitter-embedded-template"
"tree-sitter-yaml"
];
build-system = with python3Packages; [ setuptools-scm ];
@@ -200,6 +203,10 @@ let
"test_main_exit_calls_version_check"
# AssertionError: assert 2 == 1
"test_simple_send_non_retryable_error"
# Upstream tests incompatible with current litellm version
"test_max_context_tokens"
"test_cmd_tokens_output"
"test_cmd_read_only_with_image_file"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# Tests fails on darwin
+3 -3
View File
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
# Renaming it to amber-secret because another package named amber exists
pname = "amber-secret";
version = "0.1.7";
version = "0.1.8";
src = fetchFromGitHub {
owner = "fpco";
repo = "amber";
tag = "v${finalAttrs.version}";
hash = "sha256-nduSnDhLvHpZD7Y1zeZC4nNL7P1qfLWc0yMpsdqrKHM=";
hash = "sha256-nBC/IJgad7/LaKfQ4d+aynKmzwd2t3VcPcUVlWHByzI=";
};
cargoHash = "sha256-Gwj0rnbKWifja5NJwskcrFpPoK15HjSQHXolGbgV784=";
cargoHash = "sha256-svHEeCcudQ4fXxAcYkz8Y8NJ8ATQacXIWXF1c5shom0=";
meta = {
description = "Manage secret values in-repo via public key cryptography";
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule (finalAttrs: {
pname = "cdncheck";
version = "1.2.28";
version = "1.2.30";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = "cdncheck";
tag = "v${finalAttrs.version}";
hash = "sha256-G0h/0HEPE0kOPfCJIFCXZnqeyCYs7JdnlNjusk9+Nzw=";
hash = "sha256-CzTwax3XuUt5ZJsYXIbXHz3czev6natd1WsTQIrokEE=";
};
vendorHash = "sha256-bYN119IyOkO9w+CWGwnCOXqpo4QHJV6iDuToMnTo0og=";
vendorHash = "sha256-z/wOCtd39ENUe8WQUst4uhl8R6RwCDdcUC4OZcRJWSs=";
subPackages = [ "cmd/cdncheck/" ];
+2 -2
View File
@@ -13,14 +13,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "censor";
version = "0.6.0";
version = "0.7.0";
pyproject = false;
src = fetchFromCodeberg {
owner = "censor";
repo = "Censor";
tag = "v${finalAttrs.version}";
hash = "sha256-r5GhPr7dFLVy8nyKWg0poZSjWVrLrpnUHhe4MdEThvM=";
hash = "sha256-ALWctGCV1ttocbjD+F1cV9kMnb/WfWXYzv96j+KAhmk=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -6,18 +6,18 @@
buildGoModule (finalAttrs: {
pname = "cnspec";
version = "13.2.0";
version = "13.3.3";
src = fetchFromGitHub {
owner = "mondoohq";
repo = "cnspec";
tag = "v${finalAttrs.version}";
hash = "sha256-z02BAKPPWqKUiCotgGr+kOIg8omXjyXnLze/RaNdWc0=";
hash = "sha256-yCxry1f5CEF51WSgrYN1m9F8YpVjtt+UNZG978nPXbY=";
};
proxyVendor = true;
vendorHash = "sha256-EgSj4EL6s30u4p5tNOJMyH4h+DM1O8UMg8iveRi6hJA=";
vendorHash = "sha256-wgebRTa1ox+LUzxlYLb3pqcLEF/uUushZ1Oq2mvRGCk=";
subPackages = [ "apps/cnspec" ];
+12 -3
View File
@@ -6,29 +6,38 @@
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "docstrfmt";
version = "1.11.0";
version = "2.0.2";
pyproject = true;
src = fetchFromGitHub {
owner = "LilSpazJoekp";
repo = "docstrfmt";
tag = "v${finalAttrs.version}";
hash = "sha256-5Yx+omXZSlpJSzA4dTY/JdfmHQshM7qI++OVvqYg1jc=";
hash = "sha256-N2uPFOdDvAUL9eV4kn8MYM6OTMWJm24inlyY+k9Eqm8=";
};
build-system = [
python3.pkgs.flit-core
];
pythonRelaxDeps = [
# https://github.com/LilSpazJoekp/docstrfmt/issues/186
"types-docutils"
];
dependencies = with python3.pkgs; [
black
click
coverage
docutils
docutils-stubs
libcst
platformdirs
roman
sphinx
tabulate
toml
tomli
types-docutils
];
nativeCheckInputs = with python3.pkgs; [
+552 -573
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -6,13 +6,13 @@
}:
buildNpmPackage rec {
pname = "eslint";
version = "10.1.0";
version = "10.2.0";
src = fetchFromGitHub {
owner = "eslint";
repo = "eslint";
tag = "v${version}";
hash = "sha256-VO7Q+3utTp9+Z/EcN4jwNafbOwdeeCCJb8dtPMcvyjE=";
hash = "sha256-JsfiBU+BiqiBAIc4DwxXYl/wtBoM9bQntiem1+vi+/s=";
};
# NOTE: Generating lock-file
@@ -24,7 +24,7 @@ buildNpmPackage rec {
cp ${./package-lock.json} package-lock.json
'';
npmDepsHash = "sha256-AXUh8KPqsv4tHGCHvdxjqVV+PRCtkyOuGtWSpoBwKX0=";
npmDepsHash = "sha256-qpxHGNBRWN3hys5R+zJR870xIoN5VL6U3dUnKrIH0go=";
npmInstallFlags = [ "--omit=dev" ];
dontNpmBuild = true;
+66
View File
@@ -0,0 +1,66 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
libGL,
libx11,
vulkan-headers,
vulkan-loader,
callPackage,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "felix86";
version = "26.04";
src = fetchFromGitHub {
owner = "OFFTKP";
repo = "felix86";
tag = finalAttrs.version;
hash = "sha256-onhPibvO74yo95zop7EhG+EILn4M70X9ivhS9I+fIBY=";
};
strictDeps = true;
nativeBuildInputs = [
cmake
pkg-config
vulkan-headers
];
buildInputs = [
libGL
libx11
vulkan-loader
];
installPhase = ''
runHook preInstall
install -Dm755 felix86 $out/bin/felix86
runHook postInstall
'';
cmakeFlags = [
(lib.cmakeBool "ZYDIS_BUILD_DOXYGEN" false)
(lib.cmakeBool "BUILD_TESTS" true)
];
passthru.tests = callPackage ./test.nix { };
meta = {
description = "x86 and x86-64 userspace emulator for RISC-V Linux";
homepage = "https://github.com/OFFTKP/felix86";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
mainProgram = "felix86";
platforms = [ "riscv64-linux" ];
};
})
+35
View File
@@ -0,0 +1,35 @@
{
pkgs,
...
}:
pkgs.testers.nixosTest {
name = "felix86";
nodes.machine =
{
config,
pkgs,
...
}:
{
boot.binfmt.emulatedSystems = [ "riscv64-linux" ];
environment.systemPackages = [
pkgs.pkgsCross.riscv64.felix86
];
};
testScript =
# python
''
machine.wait_for_unit("multi-user.target")
machine.succeed("felix86 --help")
'';
interactive.nodes.machine = {
virtualisation.graphics = false;
environment.systemPackages = [ pkgs.binutils ];
};
interactive.sshBackdoor.enable = true;
}
+2 -2
View File
@@ -17,12 +17,12 @@ buildGoModule (
in
{
pname = "fmd-server";
version = "0.14.1";
version = "0.14.2";
src = fetchFromGitLab {
owner = "fmd-foss";
repo = "fmd-server";
tag = "v${finalAttrs.version}";
hash = "sha256-UmiYtriLC9qztv7nW+1tFpYv9I0NAOsApAJWP72OINg=";
hash = "sha256-zAGwKOfPu7AEYhaDxx1P3EoA1K9p/f3Vwh7GrynqKho=";
};
pnpmDeps = fetchPnpmDeps {
+40
View File
@@ -0,0 +1,40 @@
{
lib,
stdenv,
fetchFromGitHub,
buildGo126Module,
}:
buildGo126Module (finalAttrs: {
version = "3.1.665";
pname = "ipsw";
src = fetchFromGitHub {
owner = "blacktop";
repo = "ipsw";
tag = "v${finalAttrs.version}";
hash = "sha256-Oxf+hpNo/Li/S0kVjekp2RArGrYQP7voNBSTz3/Gr+Q=";
};
vendorHash = "sha256-rzOw51n8G9H5Sxr2rCevrmG6z2SqKZOjluYwJzYiY70=";
ldflags = [
"-s"
"-w"
"-X github.com/blacktop/ipsw/cmd/ipsw/cmd.AppVersion==${finalAttrs.version}"
"-X github.com/blacktop/ipsw/cmd/ipsw/cmd.AppBuildCommit==${finalAttrs.src.tag}"
];
subPackages = [
"cmd/ipsw"
];
meta = {
description = "iOS/macOS Research Swiss Army Knife";
homepage = "https://blacktop.github.io/ipsw";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.viraptor ];
platforms = lib.platforms.unix;
mainProgram = "ipsw";
};
})
+3 -3
View File
@@ -13,7 +13,7 @@
}:
buildNpmPackage (finalAttrs: {
pname = "jellyfin-web";
version = "10.11.7";
version = "10.11.8";
src =
assert finalAttrs.version == jellyfin.version;
@@ -21,7 +21,7 @@ buildNpmPackage (finalAttrs: {
owner = "jellyfin";
repo = "jellyfin-web";
tag = "v${finalAttrs.version}";
hash = "sha256-DA3UDAcaHyxJmLfw8mRgRNxwOiGu6QIm9QHDrMAaG1w=";
hash = "sha256-Nrh4BNlhJyzj9cXQ6Yr7349r5H+4r9W3aldcg9+J6dU=";
};
nodejs = nodejs_20; # does not build with 22
@@ -31,7 +31,7 @@ buildNpmPackage (finalAttrs: {
--replace-fail "git describe --always --dirty" "echo ${finalAttrs.src.rev}" \
'';
npmDepsHash = "sha256-U90aZ3Kym0yxcsNUSAdm3P3XU6Nb2GjEru64wODrm8M=";
npmDepsHash = "sha256-oxytp6n/4X1bhpfFqpqMAji86sbjV669F324zY3hoK4=";
preBuild = ''
# using sass-embedded fails at executing node_modules/sass-embedded-linux-x64/dart-sass/src/dart
+2 -2
View File
@@ -14,13 +14,13 @@
buildDotnetModule (finalAttrs: {
pname = "jellyfin";
version = "10.11.7"; # ensure that jellyfin-web has matching version
version = "10.11.8"; # ensure that jellyfin-web has matching version
src = fetchFromGitHub {
owner = "jellyfin";
repo = "jellyfin";
tag = "v${finalAttrs.version}";
hash = "sha256-u2J55xGjjHwT+nrGvmO01JUS9edaxzYcTdoau3xqnDM=";
hash = "sha256-wBf561mZvC65Hu4MHHSu8YeILQDp/WN9vGA+JxGXwE8=";
};
propagatedBuildInputs = [ sqlite ];
+2 -2
View File
@@ -23,11 +23,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "kstars";
version = "3.8.1";
version = "3.8.2";
src = fetchurl {
url = "mirror://kde/stable/kstars/${finalAttrs.version}/kstars-${finalAttrs.version}.tar.xz";
hash = "sha256-1f40IdBzjKV2dt1TZtIwLE+ivuPkb0GMWM02Az0Sauo=";
hash = "sha256-rKP2YsBjccPu/NVTo6aHyUulinrkYNDGOQf2y59pztk=";
};
nativeBuildInputs = with kdePackages; [
@@ -19,13 +19,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lua-language-server";
version = "3.17.1";
version = "3.18.0";
src = fetchFromGitHub {
owner = "luals";
repo = "lua-language-server";
tag = finalAttrs.version;
hash = "sha256-NfxBiXiGF4+meXTwp6We9+bmHW7Z9ZcxvRXAGwWAULo=";
hash = "sha256-5N27/bGMEQDXUD9amXgGVO8dtiV/7c/8sfSPEhit8gc=";
fetchSubmodules = true;
};
+2 -2
View File
@@ -16,13 +16,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "memorado";
version = "0.6";
version = "0.7";
src = fetchFromGitHub {
owner = "wbernard";
repo = "Memorado";
tag = finalAttrs.version;
hash = "sha256-pHbZ8zBfgAHLmCaMRS4MS/awFat41OG++hSSHz3k2KM=";
hash = "sha256-/AGrtVULG8rnfdd3dYqftv2YU+SjhdCQMQSlc8oY8zI=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -10,13 +10,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "metacubexd";
version = "1.241.3";
version = "1.244.2";
src = fetchFromGitHub {
owner = "MetaCubeX";
repo = "metacubexd";
rev = "v${finalAttrs.version}";
hash = "sha256-oR8rhD/wPgm14rG5ic8Dx4WNCnpmxapzUWomqAC3708=";
hash = "sha256-IDbAxFplMh1mDVobiHgIghjjgy4WyOLxRbJdMR6gcTQ=";
};
nativeBuildInputs = [
@@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
inherit (finalAttrs) pname version src;
pnpm = pnpm_10;
fetcherVersion = 3;
hash = "sha256-i6MSmv6dS/bkpKvId6oroKPAtFYk5OUIvUWyfFa/NJU=";
hash = "sha256-BXyKwwhktRAQ/Eol48iKzD5h4iHYB/p2jJHCuXbZ8Js=";
};
buildPhase = ''
+3 -11
View File
@@ -5,22 +5,15 @@
lzip,
ncurses,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "moe";
version = "1.15";
version = "1.16";
src = fetchurl {
url = "mirror://gnu/moe/moe-${finalAttrs.version}.tar.lz";
hash = "sha256-QfjIsJnOMEeUXKTgl6YNkkPpxz+7JowZShLaiw2fCmY=";
hash = "sha256-TCXNeJGScq6+wKf4wSYBG7Wktdh0IoB6NCMhbwoXqGg=";
};
prePatch = ''
substituteInPlace window_vector.cc --replace \
"insert( 0U, 1," \
"insert( 0U, 1U,"
'';
nativeBuildInputs = [
lzip
];
@@ -44,9 +37,8 @@ stdenv.mkDerivation (finalAttrs: {
delimiter matching, text conversion from/to UTF-8, romanization, etc.
'';
license = lib.licenses.gpl2Plus;
maintainers = [ ];
maintainers = with lib.maintainers; [ videl ];
platforms = lib.platforms.unix;
mainProgram = "moe";
};
})
# TODO: a configurable, global moerc file
+2 -2
View File
@@ -13,13 +13,13 @@ assert blas.isILP64 == lapack.isILP64;
stdenv.mkDerivation (finalAttrs: {
pname = "mopac";
version = "23.2.3";
version = "23.2.4";
src = fetchFromGitHub {
owner = "openmopac";
repo = "mopac";
rev = "v${finalAttrs.version}";
hash = "sha256-wQinzdy0zPe9ZMZuxwkDIb0vjIkW9fcSwrkAZzM4iv8=";
hash = "sha256-Pc9o2ZEHNhU0Dy36vR8egt6hSbTdVmRhSHXB+zNexi0=";
};
nativeBuildInputs = [
+126
View File
@@ -0,0 +1,126 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
cargo-tauri,
pnpm_10,
fetchPnpmDeps,
pnpmConfigHook,
nodejs,
pkg-config,
jq,
moreutils,
glib-networking,
openssl,
webkitgtk_4_1,
libayatana-appindicator,
wrapGAppsHook4,
desktop-file-utils,
xdg-utils,
nix-update-script,
}:
let
pnpm = pnpm_10;
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "motrix-next";
version = "3.6.1";
src = fetchFromGitHub {
owner = "AnInsomniacy";
repo = "motrix-next";
tag = "v${finalAttrs.version}";
hash = "sha256-DeqHF36iH2kPi4F7RU5Ipde0lnwGWJqHfu4kz3znexg=";
};
cargoHash = "sha256-v+0dWo3w42wglv23Ydj0+Cb5HXF2fZ4Z0DC8EIsN5ww=";
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs)
pname
version
src
;
inherit pnpm;
hash = "sha256-WvcN4LLRKiOxYEjImZ7VerwHFj33ELJvDKyP3F2UYG8=";
fetcherVersion = 3;
};
nativeBuildInputs = [
cargo-tauri.hook
pnpmConfigHook
pnpm
nodejs
pkg-config
jq
moreutils
]
++ lib.optionals stdenv.hostPlatform.isLinux [ wrapGAppsHook4 ];
# we don't want to wrap aria2c
dontWrapGApps = true;
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
glib-networking
openssl
webkitgtk_4_1
libayatana-appindicator
];
cargoRoot = "src-tauri";
buildAndTestSubdir = finalAttrs.cargoRoot;
checkFlags = lib.optional stdenv.hostPlatform.isDarwin "--skip=commands::protocol::tests::macos_tests::get_default_handler_bundle_id_returns_some_for_https";
# Deactivate the upstream update mechanism
postPatch = ''
jq '
.bundle.createUpdaterArtifacts = false |
.plugins.updater = {"active": false, "pubkey": "", "endpoints": []}
' \
src-tauri/tauri.conf.json | sponge src-tauri/tauri.conf.json
'';
preFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
gappsWrapperArgs+=(
--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath [
libayatana-appindicator
]
}
--suffix PATH : ${
lib.makeBinPath [
desktop-file-utils
xdg-utils
]
}
# Tricky way to make the protocol handler desktop file point to the wrapper
--set-default APPIMAGE $out/bin/motrix-next
)
wrapGApp $out/bin/motrix-next
'';
passthru.updateScript = nix-update-script { extraArgs = [ "--use-github-releases" ]; };
meta = {
description = "Full-featured download manager, rebuilt from scratch with Tauri 2, Vue 3, and Rust";
homepage = "https://github.com/AnInsomniacy/motrix-next";
changelog = "https://github.com/AnInsomniacy/motrix-next/releases/tag/v${finalAttrs.version}";
license = with lib.licenses; [
mit
gpl2Plus
];
sourceProvenance = with lib.sourceTypes; [
fromSource
# ships an upstream-provided aria2c binary (statically linked, max connections increased)
# source for this binary: https://github.com/AnInsomniacy/aria2-builder
binaryNativeCode
];
maintainers = with lib.maintainers; [ ccicnce113424 ];
mainProgram = "motrix-next";
platforms = with lib.platforms; linux ++ darwin;
};
})
+2 -2
View File
@@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "netgen";
version = "1.5.316";
version = "1.5.318";
src = fetchFromGitHub {
owner = "RTimothyEdwards";
repo = "netgen";
tag = finalAttrs.version;
hash = "sha256-Cw/JZXzkvstfCD3oyWhZ3sWZcXtpGBkZhZIHjq2vQ6Q=";
hash = "sha256-JefKDDzavI/fFJ0nsL6n3z4NHTAVWpOEyMxffYVHLac=";
};
strictDeps = true;
+77 -35
View File
@@ -1,20 +1,35 @@
{
lib,
buildDotnetModule,
stdenv,
dotnetCorePackages,
buildDotnetModule,
fetchFromGitHub,
glibcLocales,
gtk4,
glib,
intltool,
libadwaita,
intltool,
wrapGAppsHook4,
nix-update-script,
# Darwin transitive deps
graphene,
gettext,
pango,
gdk-pixbuf,
cairo,
harfbuzz,
fribidi,
fontconfig,
freetype,
libthai,
pcre2,
libepoxy,
}:
buildDotnetModule rec {
pname = "Pinta";
version = "3.1.1";
src = fetchFromGitHub {
owner = "PintaProject";
repo = "Pinta";
@@ -31,6 +46,22 @@ buildDotnetModule rec {
gtk4
glib
libadwaita
]
++ lib.optionals stdenv.isDarwin [
# Transitive dylib deps that Pinta's NativeImportResolver dlopen's by bare name.
# These are not pulled in by wrapGAppsHook4's LD_LIBRARY_PATH on Darwin, so symlink is needed.
graphene
gettext
pango
gdk-pixbuf
cairo
harfbuzz
fribidi
fontconfig
freetype
libthai
pcre2
libepoxy
];
buildInputs = runtimeDeps;
@@ -38,63 +69,74 @@ buildDotnetModule rec {
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_8_0;
# How-to update deps:
# $ nix-build -A pinta.fetch-deps
# $ ./result
# TODO: create update script
nugetDeps = ./deps.json;
projectFile = "Pinta";
# https://github.com/NixOS/nixpkgs/issues/38991
# bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
env.LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive";
env = lib.optionalAttrs (!stdenv.isDarwin) {
LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive";
};
dotnetFlags = [ "-p:BuildTranslations=true" ];
# Do the autoreconf/Makefile job manually
# TODO: use upstream build system
postBuild = ''
# Substitute translation placeholders
intltool-merge -x po/ xdg/com.github.PintaProject.Pinta.metainfo.xml.in xdg/com.github.PintaProject.Pinta.metainfo.xml
intltool-merge -d po/ xdg/com.github.PintaProject.Pinta.desktop.in xdg/com.github.PintaProject.Pinta.desktop
# Build translations
dotnet build Pinta \
--no-restore \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
-target:CompileTranslations,PublishTranslations \
-p:BuildTranslations=true \
-p:PublishDir="$NIX_BUILD_TOP/source/publish"
'';
postFixup = ''
# Rename the binary
mv "$out/bin/Pinta" "$out/bin/pinta"
# Two-step rename needed on macOS: 'Pinta' is the same as 'pinta' on case-insensitive filesystems.
mv "$out/bin/Pinta" "$out/bin/pinta_tmp"
mv "$out/bin/pinta_tmp" "$out/bin/pinta"
# Copy runtime icons
for i in "Pinta.Resources/icons/hicolor/"*; do
res="$(basename $i)"
mkdir -p "$out/share/icons/hicolor/$res"
cp -rv "Pinta.Resources/icons/hicolor/$res/"* "$out/share/icons/hicolor/$res/"
done
# Install
# Use icons from the dotnet publish output (already at $out/lib/Pinta/icons/).
mkdir -p "$out/share/icons"
cp -r "$out/lib/Pinta/icons/." "$out/share/icons/"
''
+ lib.optionalString (!stdenv.isDarwin) ''
dotnet build installer/linux/install.proj \
-target:Install \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
-p:SourceDir="$NIX_BUILD_TOP/source" \
-p:PublishDir="$NIX_BUILD_TOP/source/publish" \
-p:PublishDir="$out/lib/Pinta" \
-p:InstallPrefix="$out"
''
+ lib.optionalString stdenv.isDarwin ''
# Symlink all dylibs from runtimeDeps into the assembly dir.
# GirCore and Pinta's own NativeImportResolver both search here by bare name.
for dir in ${lib.concatMapStringsSep " " (d: "${lib.getLib d}/lib") runtimeDeps}; do
for dylib in "$dir"/*.dylib; do
[ -e "$dylib" ] || continue
ln -sf "$dylib" "$out/lib/Pinta/$(basename "$dylib")"
done
done
APP="$out/Applications/Pinta.app/Contents"
mkdir -p "$APP/MacOS" "$APP/Resources"
cp "$NIX_BUILD_TOP/source/installer/macos/Info.plist" "$APP/Info.plist"
cp "$NIX_BUILD_TOP/source/installer/macos/pinta.icns" "$APP/Resources/pinta.icns"
ln -s "$out/bin/pinta" "$APP/MacOS/pinta"
ln -s "$out/share" "$APP/Resources/share"
ln -s "$out/lib" "$APP/Resources/lib"
'';
passthru = {
updateScript = nix-update-script { };
};
meta = {
homepage = "https://www.pinta-project.com/";
description = "Drawing/editing program modeled after Paint.NET";
changelog = "https://github.com/PintaProject/Pinta/releases/tag/${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ thiagokokada ];
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
thiagokokada
philocalyst
];
platforms = lib.platforms.unix;
mainProgram = "pinta";
};
}
+6 -4
View File
@@ -20,21 +20,23 @@
stdenv.mkDerivation (finalAttrs: {
pname = "pmix";
version = "5.0.10";
version = "6.1.0";
src = fetchFromGitHub {
repo = "openpmix";
owner = "openpmix";
tag = "v${finalAttrs.version}";
hash = "sha256-i7DZCJeNwjcRYCp3t0GlKM1V1rU/ws22u5Ct/JZ5P1Q=";
hash = "sha256-wMVppqSXpQeBgkwna+jaU5kY03WHbGwMQQrouCyGROo=";
fetchSubmodules = true;
};
outputs = [ "out" ] ++ lib.optionals stdenv.hostPlatform.isLinux [ "dev" ];
postPatch = ''
patchShebangs ./autogen.pl
patchShebangs ./config
patchShebangs --build ./autogen.pl
patchShebangs --build ./config
patchShebangs --build ./contrib
patchShebangs --build ./src/util/convert-help.py
'';
nativeBuildInputs = [
+6 -2
View File
@@ -6,6 +6,7 @@
autoconf,
automake,
libtool,
pkg-config,
gitMinimal,
perl,
python3,
@@ -18,13 +19,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "prrte";
version = "3.0.13";
version = "4.1.0";
src = fetchFromGitHub {
owner = "openpmix";
repo = "prrte";
tag = "v${finalAttrs.version}";
hash = "sha256-T/iHmSO2isyIjsaiTrNYeTiBobM/9eg7gTP12m7ehno=";
hash = "sha256-FO2dFqvJ3Ahc7rE2gAiQhmM5GTc7LJ8nE4y5fe+FgDg=";
fetchSubmodules = true;
};
@@ -46,10 +47,12 @@ stdenv.mkDerivation (finalAttrs: {
preConfigure = ''
./autogen.pl
patchShebangs --build ./src/util/prte-convert-help.py
'';
postInstall = ''
moveToOutput "bin/prte_info" "''${!outputDev}"
moveToOutput "bin/prte-info" "''${!outputDev}"
# Fix a broken symlink, created due to FHS assumptions
rm "$out/bin/pcc"
ln -s ${lib.getDev pmix}/bin/pmixcc "''${!outputDev}"/bin/pcc
@@ -66,6 +69,7 @@ stdenv.mkDerivation (finalAttrs: {
libtool
flex
gitMinimal
pkg-config
];
buildInputs = [
+2 -2
View File
@@ -12,11 +12,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "qsynth";
version = "1.0.4";
version = "1.0.5";
src = fetchurl {
url = "mirror://sourceforge/qsynth/qsynth-${finalAttrs.version}.tar.gz";
hash = "sha256-nP08/Vzlf0WVSaPhCRgGqy/rsFRKH0OJfinvnx7tbww=";
hash = "sha256-s1z3gjKZKmsPYFrB6TFHijMUeL9xovSudQ1xphJK3Ng=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "radcli";
version = "1.4.0";
version = "1.5.0";
src = fetchFromGitHub {
owner = "radcli";
repo = "radcli";
tag = finalAttrs.version;
hash = "sha256-YnZkFYTiU2VNKxuP+JTnH64XYTB/+imeMKN1mZN9VCQ=";
hash = "sha256-PpPKNH9gDE9FewDCeBCog3p5C6FBBYBPVnhahVHYKnA=";
};
postUnpack = ''
+2 -2
View File
@@ -16,7 +16,7 @@
stdenv,
}:
let
version = "2.62.1641";
version = "2.64.1646";
urlVersion = builtins.replaceStrings [ "." ] [ "0" ] version;
in
stdenv.mkDerivation {
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://download.roonlabs.com/updates/production/RoonServer_linuxx64_${urlVersion}.tar.bz2";
hash = "sha256-DX05i4bgTar2d2xHyEqFXNlQ86FladX/xoEC4YLIxnI=";
hash = "sha256-tvNjz31xIo7UAB0t0seOfjiS7Qx6DPVu8VTBLK5ZjEo=";
};
dontConfigure = true;
+2 -2
View File
@@ -15,11 +15,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "samplv1";
version = "1.3.2";
version = "1.4.1";
src = fetchurl {
url = "mirror://sourceforge/samplv1/samplv1-${finalAttrs.version}.tar.gz";
hash = "sha256-YCxt9RAP02uAigddA6HjBt2ryM6MyOtI3L2eLg0AhFg=";
hash = "sha256-siuzbsAkQi909/jBNtz/Lb8gMtxyxh+tiRGuvZ9JUts=";
};
nativeBuildInputs = [
+4 -5
View File
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
runCommand,
config,
pkg-config,
@@ -62,18 +61,18 @@ stdenv.mkDerivation (finalAttrs: {
prePatch = ''
substituteInPlace src/common/env.c \
--replace "/bin/echo" "${lib.getExe' coreutils "echo"}"
--replace-fail "/bin/echo" "${lib.getExe' coreutils "echo"}"
# Autoconf does not support split packages for pmix (libs and headers).
# Fix the path to the pmix libraries, so dlopen can find it.
substituteInPlace src/plugins/mpi/pmix/mpi_pmix.c \
--replace 'xstrfmtcat(full_path, "%s/", PMIXP_LIBPATH)' \
'xstrfmtcat(full_path, "${lib.getLib pmix}/lib/")'
--replace-fail 'xstrfmtcat(full_path, "%s/", PMIXP_LIBPATH)' \
'xstrfmtcat(full_path, "${lib.getLib pmix}/lib/")'
''
+ (lib.optionalString enableX11 ''
substituteInPlace src/common/x11_util.c \
--replace '"/usr/bin/xauth"' '"${lib.getExe xauth}"'
--replace-fail '"/usr/bin/xauth"' '"${lib.getExe xauth}"'
'');
# nixos test fails to start slurmd with 'undefined symbol: slurm_job_preempt_mode'
+3
View File
@@ -206,6 +206,9 @@ python.pkgs.buildPythonApplication rec {
"test_get_reranker"
"test_query_tool_success"
"test_supported_rerankers_initialization"
# tree-sitter-language-pack 1.x.x raises LanguageNotFoundError for unknown
# languages here, while this test still expects LookupError.
"test_treesitter_chunker_parser_from_config_no_parser_found_error"
];
passthru = {
@@ -25,6 +25,7 @@
evaluate,
parameterized,
pytestCheckHook,
torchvision,
transformers,
config,
cudatoolkit,
@@ -62,6 +63,7 @@ buildPythonPackage (finalAttrs: {
evaluate
parameterized
pytestCheckHook
torchvision
transformers
writableTmpDirAsHomeHook
];
@@ -16,14 +16,14 @@
buildPythonPackage (finalAttrs: {
pname = "agentic-threat-hunting-framework";
version = "0.7.2";
version = "0.11.1";
pyproject = true;
src = fetchFromGitHub {
owner = "Nebulock-Inc";
repo = "agentic-threat-hunting-framework";
tag = "v${finalAttrs.version}";
hash = "sha256-HFPPEonSRWTU+Cm/B657En78avehebGbWrsAfr+WmI8=";
hash = "sha256-dqiWldjPv5iU6OGsoZ4fTdw6dXbu/duFHt19qcPfVjk=";
};
build-system = [ setuptools ];
@@ -4,6 +4,7 @@
fetchPypi,
setuptools,
pytestCheckHook,
fetchpatch2,
}:
buildPythonPackage rec {
@@ -16,6 +17,20 @@ buildPythonPackage rec {
hash = "sha256-VLaQgJ8MVqswhaGOFaDDgE1KDRJ/OK7wtc9fhZ0PZjk=";
};
patches = [
(fetchpatch2 {
# Set prog in ArgumentParser explicitly to fix test failure with Python 3.14
# https://github.com/ulif/diceware/issues/122
url = "https://github.com/ulif/diceware/commit/77d98606748df7755f36ebbb3bd838b1cdd80c61.patch";
includes = [ "diceware/__init__.py" ];
hunks = [
2
3
];
hash = "sha256-yXGotV/tq7/vCYhY+1OZgCW3r6/SXTTvsHIU/jywbHc=";
})
];
build-system = [ setuptools ];
dependencies = [ setuptools ];
@@ -0,0 +1,42 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
setuptools,
# dependencies
docutils,
}:
buildPythonPackage (finalAttrs: {
pname = "docutils-stubs";
version = "0.0.22";
pyproject = true;
src = fetchFromGitHub {
owner = "tk0miya";
repo = "docutils-stubs";
tag = finalAttrs.version;
hash = "sha256-ng/f5e8ElFGNqtpdiQsv897TNkJ4gd++HAxON2l+80s=";
};
build-system = [
setuptools
];
dependencies = [
docutils
];
# Module doesn't have tests
doCheck = false;
meta = {
description = "PEP 561 based Type information for docutils";
homepage = "https://github.com/tk0miya/docutils-stubs";
license = lib.licenses.unlicense;
maintainers = with lib.maintainers; [ doronbehar ];
};
})
@@ -24,7 +24,7 @@
tf-keras,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "energyflow";
version = "1.4.0";
pyproject = true;
@@ -32,7 +32,7 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "pkomiske";
repo = "EnergyFlow";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-4RzhpeOOty8IaVGByHD+PyeaeWgR7ZF98mSCJYoM9wY=";
};
@@ -65,7 +65,7 @@ buildPythonPackage rec {
pytestCheckHook
tf-keras
]
++ lib.concatAttrValues optional-dependencies;
++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies;
disabledTests = [
# Issues with array
@@ -73,6 +73,11 @@ buildPythonPackage rec {
"test_gdim"
"test_n_jobs"
"test_periodic_phi"
# NameError: name '_distance_wrap' is not defined
"test_emd_byhand_1_1"
"test_emd_return_flow"
"test_emde"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# RuntimeError: EMDStatus - Infeasible
@@ -86,8 +91,8 @@ buildPythonPackage rec {
meta = {
description = "Python package for the EnergyFlow suite of tools";
homepage = "https://energyflow.network/";
changelog = "https://github.com/thaler-lab/EnergyFlow/releases/tag/v${version}";
changelog = "https://github.com/thaler-lab/EnergyFlow/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ veprbl ];
};
}
})
@@ -9,14 +9,14 @@
buildPythonPackage (finalAttrs: {
pname = "hf-xet";
version = "1.4.2";
version = "1.4.3";
pyproject = true;
src = fetchFromGitHub {
owner = "huggingface";
repo = "xet-core";
tag = "v${finalAttrs.version}";
hash = "sha256-UdHEpJztlVI8LPs8Ne9sKe1Nv3kVVk4YLxQ3W8sUPbQ=";
hash = "sha256-zAliMR2d2j6ynHQmAljQ8XgDyjuPxNawI1bZks5aRgs=";
};
sourceRoot = "${finalAttrs.src.name}/hf_xet";
@@ -28,7 +28,7 @@ buildPythonPackage (finalAttrs: {
src
sourceRoot
;
hash = "sha256-GV+XY5uV57yQWVGdRLpGU3eD8Gz2gy6p7OHlF+mlJI4=";
hash = "sha256-TOgBT0l7TvJamVdIAdAUFRWs8AMRRY+Ydoh6e+3dEp0=";
};
nativeBuildInputs = [
@@ -25,6 +25,9 @@
toml,
fastai,
fastcore,
# gradio
gradio,
requests,
# mcp
mcp,
@@ -34,14 +37,14 @@
buildPythonPackage (finalAttrs: {
pname = "huggingface-hub";
version = "1.5.0";
version = "1.9.0";
pyproject = true;
src = fetchFromGitHub {
owner = "huggingface";
repo = "huggingface_hub";
tag = "v${finalAttrs.version}";
hash = "sha256-XuqZvTu3DuncGpRWXipxtDLY2alY7QVm89ZmpgTdfVo=";
hash = "sha256-7spvenDWuSDVTlcbOQd8oJ3bwzsyuQDIyMiVSyFIhuQ=";
};
build-system = [ setuptools ];
@@ -72,6 +75,10 @@ buildPythonPackage (finalAttrs: {
fastai
fastcore
];
gradio = [
gradio
requests
];
hf_xet = [
hf-xet
];
@@ -8,14 +8,14 @@
buildPythonPackage (finalAttrs: {
pname = "iamdata";
version = "0.1.202604041";
version = "0.1.202604051";
pyproject = true;
src = fetchFromGitHub {
owner = "cloud-copilot";
repo = "iam-data-python";
tag = "v${finalAttrs.version}";
hash = "sha256-nFV0iZr01YkjAFXjkYmgFHuUNhGsX2pHjSiRrlyt6uI=";
hash = "sha256-mMIHQGLMOpxq1ql3fEArQWJ9YDg64JCTaDfXiIluOcA=";
};
__darwinAllowLocalNetworking = true;
+49 -35
View File
@@ -1,25 +1,39 @@
{
lib,
autograd,
buildPythonPackage,
fetchFromGitHub,
cvxopt,
# build-system
cython,
numpy,
setuptools,
# dependencies
scipy,
# optional-dependencies
# backend-jax
jax,
jaxlib,
matplotlib,
numpy,
# backend-tf
tensorflow,
# backend-torch
torch,
# cvxopt
cvxopt,
# dr
scikit-learn,
pymanopt,
autograd,
# plot
matplotlib,
# tests
pytestCheckHook,
pytest-cov-stub,
scikit-learn,
scipy,
setuptools,
tensorflow,
torch,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "pot";
version = "0.9.6.post1";
pyproject = true;
@@ -27,14 +41,23 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "PythonOT";
repo = "POT";
tag = version;
tag = finalAttrs.version;
hash = "sha256-db4fKXqvg9DEmbI/RTQWcOdw+3ccPk74ME0VDsXZlsQ=";
};
postPatch = ''
substituteInPlace setup.cfg \
--replace-fail " --durations=20" "" \
--replace-fail " --junit-xml=junit-results.xml" ""
# we don't need setup.py to find the macos sdk for us
sed -i '/sdk_path/d' setup.py
'';
build-system = [
setuptools
cython
numpy
setuptools
];
dependencies = [
@@ -62,19 +85,6 @@ buildPythonPackage rec {
# torch-geometric
];
plot = [ matplotlib ];
all =
with optional-dependencies;
(
backend-numpy
++ backend-jax
++ backend-cupy
++ backend-tf
++ backend-torch
++ optional-dependencies.cvxopt
++ dr
++ gnn
++ plot
);
};
nativeCheckInputs = [
@@ -82,15 +92,6 @@ buildPythonPackage rec {
pytest-cov-stub
];
postPatch = ''
substituteInPlace setup.cfg \
--replace " --durations=20" "" \
--replace " --junit-xml=junit-results.xml" ""
# we don't need setup.py to find the macos sdk for us
sed -i '/sdk_path/d' setup.py
'';
# need to run the tests with the built package next to the test directory
preCheck = ''
pushd build/lib.*
@@ -99,6 +100,7 @@ buildPythonPackage rec {
postCheck = ''
popd
rm -rf ot
'';
disabledTests = [
@@ -125,8 +127,18 @@ buildPythonPackage rec {
"test_wasserstein_1d_type_devices"
"test_wasserstein"
"test_weak_ot_bakends"
# TypeError: Only integers, slices...
"test_emd1d_device_tf"
# ValueError: setting an array element with a sequence
"test_fully_relaxed_path"
"test_pointwise_gromov"
"test_semi_relaxed_path"
# ValueError: Unknown Distance Metric: sokalmichener
"test_dist"
"test_dist_vs_cdist"
];
pythonImportsCheck = [
@@ -137,7 +149,9 @@ buildPythonPackage rec {
meta = {
description = "Python Optimal Transport Library";
homepage = "https://pythonot.github.io/";
downloadPage = "https://github.com/PythonOT/POT";
changelog = "https://github.com/PythonOT/POT/blob/${finalAttrs.src.tag}/RELEASES.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ yl3dy ];
};
}
})
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "pyanglianwater";
version = "3.1.2";
version = "3.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pantherale0";
repo = "pyanglianwater";
tag = version;
hash = "sha256-Qe1LrM6pwuaWBQYRc7t1xJ38rIT1VlexkRcOGPX/BlA=";
hash = "sha256-q6a6YVXjRx7Q2SdWoLzrlOUQ96AjgSjvmfDKz5Fk23g=";
};
build-system = [ setuptools ];
@@ -2,7 +2,6 @@
lib,
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
# build-system
setuptools,
@@ -13,35 +12,27 @@
joblib,
numpy,
packaging,
sentencepiece,
requests,
scipy,
sentencepiece,
soundfile,
torch,
torchaudio,
tqdm,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "speechbrain";
version = "1.0.3";
version = "1.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "speechbrain";
repo = "speechbrain";
tag = "v${version}";
hash = "sha256-H45kTOIO6frbrRu+TP+udn1z60ZEcrShNB9iTCLInQs=";
tag = "v${finalAttrs.version}";
hash = "sha256-98g9HSCD6ahsmCSKSKIY1okYOuzUqVuJO9N9WUiZMPk=";
};
patches = [
# https://github.com/speechbrain/speechbrain/pull/2988
(fetchpatch {
name = "torchaudio-2.9-compat.patch";
url = "https://github.com/speechbrain/speechbrain/commit/927530fa95e238fbc396000618e839a4a986dd7d.patch";
excludes = [ "pyproject.toml" ];
hash = "sha256-TJxBQLggX2ZHppUJwMcg9+A9r0r+D20XUfivBFW7y/U=";
})
];
build-system = [ setuptools ];
dependencies = [
@@ -50,22 +41,24 @@ buildPythonPackage rec {
joblib
numpy
packaging
sentencepiece
requests
scipy
sentencepiece
soundfile
torch
torchaudio
tqdm
];
doCheck = false; # requires sox backend
pythonImportsCheck = [ "speechbrain" ];
doCheck = false; # requires sox backend
meta = {
description = "PyTorch-based Speech Toolkit";
homepage = "https://speechbrain.github.io";
changelog = "https://github.com/speechbrain/speechbrain/releases/tag/v${version}";
changelog = "https://github.com/speechbrain/speechbrain/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}
})
@@ -9,14 +9,14 @@
buildPythonPackage (finalAttrs: {
pname = "tencentcloud-sdk-python";
version = "3.1.70";
version = "3.1.71";
pyproject = true;
src = fetchFromGitHub {
owner = "TencentCloud";
repo = "tencentcloud-sdk-python";
tag = finalAttrs.version;
hash = "sha256-4FJtabE6XZ+22AUT/l/t5cujaL8tfLiyCiVEAvnQjsU=";
hash = "sha256-zWzwpELLEtkGMtDWBR5v3Z5I47hzZGGGEgG4VC/dN5c=";
};
build-system = [ setuptools ];
@@ -85,6 +85,7 @@
gitpython,
urllib3,
libcst,
tomli,
# opentelemetry
opentelemetry-api,
opentelemetry-exporter-otlp,
@@ -93,14 +94,14 @@
buildPythonPackage (finalAttrs: {
pname = "transformers";
version = "5.3.0";
version = "5.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "huggingface";
repo = "transformers";
tag = "v${finalAttrs.version}";
hash = "sha256-5FzsPIG4dFTR2WgcZbdmVwwwY9Dkqu5aprl5uIIalD0=";
hash = "sha256-2fOCORAsQDKxp6EPe1OHysPWb/q168z6sCYg89tRXdU=";
};
build-system = [ setuptools ];
@@ -191,6 +192,10 @@ buildPythonPackage (finalAttrs: {
urllib3
libcst
rich
tomli
];
docs = [
# hf-docs-builder
];
benchmark = [
# optimum-benchmark
@@ -1,85 +1,159 @@
{
lib,
buildPackages,
buildPythonPackage,
fetchPypi,
fetchFromGitHub,
fetchurl,
python,
pytestCheckHook,
nix-update-script,
# build-system
cython,
setuptools,
typing-extensions,
# dependencies
rustPlatform,
stdenv,
tree-sitter,
tree-sitter-c-sharp,
tree-sitter-embedded-template,
tree-sitter-yaml,
}:
buildPythonPackage rec {
pname = "tree-sitter-language-pack";
version = "0.13.0";
pyproject = true;
let
parserReleaseUrl =
version: "https://github.com/kreuzberg-dev/tree-sitter-language-pack/releases/download/v${version}";
# Using the GitHub sources necessitates fetching the treesitter grammar parsers by using a vendored script.
# The pypi archive has the benefit of already vendoring those dependencies which makes packaging easier on our side
# See: https://github.com/Goldziher/tree-sitter-language-pack/blob/main/scripts/clone_vendors.py
src = fetchPypi {
pname = "tree_sitter_language_pack";
inherit version;
hash = "sha256-AyA0xeJ7H24AcwuefC28ggO0cA0MaB/QGdbe/PYRg+w=";
parserBundleSpecs = {
aarch64-darwin = {
suffix = "macos-arm64";
hash = "sha256-pYrgwhb3BkOEqot5JBi26aXBciGt7/zP/1+HcQT2vsw=";
};
aarch64-linux = {
suffix = "linux-aarch64";
hash = "sha256-t1rWm19iExYAZXluMQqlt9bOkEC2UumcxDov8YmYEEQ=";
};
x86_64-linux = {
suffix = "linux-x86_64";
hash = "sha256-o4IpLZDitTsHfF2KMnyB3Wry7Hig7Byxd0JLcZPybJ0=";
};
};
in
buildPythonPackage (finalAttrs: {
pname = "tree-sitter-language-pack";
pyproject = true;
version = "1.4.1";
src = fetchFromGitHub {
owner = "kreuzberg-dev";
repo = "tree-sitter-language-pack";
tag = "v${finalAttrs.version}";
hash = "sha256-kN2htitEOo+JF6DCrC4RHmHkZXnUA0fUo2jSbMELQHI=";
};
# Upstream bumped dependencies aggressively, but we can still use older
# versions since the newer ones arent packaged in nixpkgs. We can't use
# pythonRelaxDepsHook here because it runs in postBuild, while the dependency
# check occurs during the build phase.
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "typing-extensions>=4.15.0" "typing-extensions>=4.14.1"
'';
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs)
pname
version
src
;
hash = "sha256-ii3rvAfs4xMSyEEDjUrjL2SAONd0ARCVhwQNCJLwuCk=";
};
nativeCheckInputs = [
pytestCheckHook
buildAndTestSubdir = "crates/ts-pack-python";
# Pin the release metadata and per-platform parser archive so runtime use stays offline.
parserManifest = fetchurl {
url = "${parserReleaseUrl finalAttrs.version}/parsers.json";
hash = "sha256-8utASonvrLzOjxZcmRuzuFSGtYe5sEoMU+xz++bfmkk=";
};
parserBundle =
let
spec =
parserBundleSpecs.${stdenv.hostPlatform.system}
or (throw "tree-sitter-language-pack parser bundle is unavailable for ${stdenv.hostPlatform.system}");
in
fetchurl {
url = "${parserReleaseUrl finalAttrs.version}/parsers-${spec.suffix}.tar.zst";
inherit (spec) hash;
};
nativeBuildInputs = [
buildPackages.zstd
rustPlatform.cargoSetupHook
rustPlatform.maturinBuildHook
];
build-system = [
cython
setuptools
typing-extensions
nativeCheckInputs = [ pytestCheckHook ];
dependencies = [ tree-sitter ];
disabledTests = [
# tree-sitter-language-pack 1.4.1 upstream smoke tests expect these aliases
# to resolve directly in the offline cache, but the packaged bundle still
# exposes the underlying parser library names.
"test_get_language_returns_non_none"
"test_get_parser_for_previously_broken_languages"
"test_has_language_for_previously_broken"
];
dependencies = [
tree-sitter
tree-sitter-c-sharp
tree-sitter-embedded-template
tree-sitter-yaml
];
pythonRelaxDeps = [
"tree-sitter"
"tree-sitter-embedded-template"
"tree-sitter-yaml"
];
pythonImportsCheck = [
"tree_sitter_language_pack"
"tree_sitter_language_pack.bindings"
];
# make sure import the built version, not the source one
preCheck = ''
rm -r tree_sitter_language_pack
# Mirror the upstream cache layout: libs live in cache_dir, while the manifest
# is expected at cache_dir/../manifest.json.
cacheRoot=$PWD/.tree-sitter-language-pack-cache
cacheDir="$cacheRoot/libs"
mkdir -p "$cacheDir"
cp ${finalAttrs.parserManifest} "$cacheRoot/manifest.json"
${lib.getExe buildPackages.zstd} -d -c ${finalAttrs.parserBundle} | tar -xvf - -C "$cacheDir" >/dev/null
# Upstream smoke tests call download APIs even when the parsers are already
# available locally, so point them at the pre-fetched cache and short-circuit
# redundant network downloads during pytest.
cat > conftest.py <<EOF
import json
from pathlib import Path
import tree_sitter_language_pack as tslp
_cache_dir = Path(r"$cacheDir")
_manifest_path = _cache_dir.parent / "manifest.json"
tslp.configure(cache_dir=str(_cache_dir))
def _manifest_languages():
return sorted(json.loads(_manifest_path.read_text())["languages"].keys())
def _download(names):
return 0
def _download_all():
return 0
tslp.manifest_languages = _manifest_languages
tslp.download = _download
tslp.download_all = _download_all
EOF
'';
passthru.updateScript = nix-update-script { };
pytestFlagsArray = [
"e2e/python/tests"
"tests/test_apps/python/smoke_test.py"
];
postInstall = ''
cacheRoot=$out/share/tree-sitter-language-pack
cacheDir="$cacheRoot/libs"
mkdir -p "$cacheDir"
cp ${finalAttrs.parserManifest} "$cacheRoot/manifest.json"
${lib.getExe buildPackages.zstd} -d -c ${finalAttrs.parserBundle} | tar -xvf - -C "$cacheDir" >/dev/null
# Make the installed package default to the pre-fetched cache in $out.
substituteInPlace $out/${python.sitePackages}/tree_sitter_language_pack/__init__.py \
--replace-fail 'SupportedLanguage: TypeAlias = str' $'configure(cache_dir="'$cacheDir$'")\n\nSupportedLanguage: TypeAlias = str'
'';
pythonImportsCheck = [ "tree_sitter_language_pack" ];
passthru.updateScript = ./update.sh;
meta = {
description = "Comprehensive collection of tree-sitter languages";
homepage = "https://github.com/Goldziher/tree-sitter-language-pack";
changelog = "https://github.com/Goldziher/tree-sitter-language-pack/releases/tag/v${version}";
description = "Comprehensive collection of tree-sitter language parsers with polyglot bindings";
homepage = "https://github.com/kreuzberg-dev/tree-sitter-language-pack";
changelog = "https://github.com/kreuzberg-dev/tree-sitter-language-pack/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ yzx9 ];
platforms = builtins.attrNames parserBundleSpecs;
};
}
})
@@ -0,0 +1,86 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=./. -i bash -p bash curl jq gnused coreutils nix nix-update
set -euo pipefail
PACKAGE_DIR="$(cd -- "$(dirname "$0")" >/dev/null 2>&1 && pwd -P)"
NIXPKGS_ROOT="$(cd -- "$PACKAGE_DIR/../../../.." >/dev/null 2>&1 && pwd -P)"
PACKAGE_FILE="$PACKAGE_DIR/default.nix"
ATTR_PATH="${UPDATE_NIX_ATTR_PATH:-python3Packages.tree-sitter-language-pack}"
latest_version() {
curl -sL ${GITHUB_TOKEN:+ -H "Authorization: Bearer $GITHUB_TOKEN"} \
"https://api.github.com/repos/kreuzberg-dev/tree-sitter-language-pack/releases/latest" \
| jq -r '.tag_name | sub("^v"; "")'
}
replace_value() {
local pattern="$1"
local replacement="$2"
sed -i "s|$pattern|$replacement|g" "$PACKAGE_FILE"
}
replace_perl() {
local pattern="$1"
local replacement="$2"
perl -0pi -e "s|$pattern|$replacement|s" "$PACKAGE_FILE"
}
prefetch_sri() {
local url="$1"
local hash
hash="$(nix-prefetch-url --type sha256 "$url")"
nix hash convert --hash-algo sha256 --to sri "$hash"
}
version="${1:-$(latest_version)}"
if [[ "$version" == "${UPDATE_NIX_OLD_VERSION:-}" ]]; then
echo "$ATTR_PATH is already at $version"
exit 0
fi
nix-update "$ATTR_PATH" --version "$version"
release_url="https://github.com/kreuzberg-dev/tree-sitter-language-pack/releases/download/v$version"
manifest_hash="$(prefetch_sri "$release_url/parsers.json")"
aarch64_darwin_hash="$(prefetch_sri "$release_url/parsers-macos-arm64.tar.zst")"
aarch64_linux_hash="$(prefetch_sri "$release_url/parsers-linux-aarch64.tar.zst")"
x86_64_linux_hash="$(prefetch_sri "$release_url/parsers-linux-x86_64.tar.zst")"
replace_perl '(parserManifest = fetchurl \{\n url = "\$\{parserReleaseUrl finalAttrs\.version\}/parsers\.json";\n hash = ")[^"]*(";)' "\${1}$manifest_hash\${2}"
replace_perl '(aarch64-darwin = \{\n suffix = "macos-arm64";\n hash = ")[^"]*(";)' "\${1}$aarch64_darwin_hash\${2}"
replace_perl '(aarch64-linux = \{\n suffix = "linux-aarch64";\n hash = ")[^"]*(";)' "\${1}$aarch64_linux_hash\${2}"
replace_perl '(x86_64-linux = \{\n suffix = "linux-x86_64";\n hash = ")[^"]*(";)' "\${1}$x86_64_linux_hash\${2}"
old_cargo_hash="$(
perl -0ne 'print "$1\n" if /cargoDeps = rustPlatform\.fetchCargoVendor \{\n(?:.*\n)*? hash = "([^"]+)";/s' "$PACKAGE_FILE"
)"
fake_hash='sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='
replace_value "$old_cargo_hash" "$fake_hash"
set +e
build_output="$(
cd "$NIXPKGS_ROOT" &&
nix build ".#$ATTR_PATH" 2>&1 >/dev/null
)"
build_status=$?
set -e
if [[ $build_status -eq 0 ]]; then
echo "expected cargo hash mismatch build to fail, but it succeeded" >&2
exit 1
fi
new_cargo_hash="$(printf '%s\n' "$build_output" | sed -n 's/.*got:[[:space:]]*\(sha256-[A-Za-z0-9+/=]*\).*/\1/p' | head -n1)"
if [[ -z "$new_cargo_hash" ]]; then
printf '%s\n' "$build_output" >&2
echo "failed to extract cargo hash from build output" >&2
exit 1
fi
replace_value "$fake_hash" "$new_cargo_hash"
echo "updated $ATTR_PATH to $version"
@@ -18,6 +18,8 @@
pyannote-audio,
torch,
torchaudio,
torchcodec,
torchvision,
transformers,
triton,
@@ -25,6 +27,9 @@
ffmpeg,
ctranslate2-cpp, # alias for `pkgs.ctranslate2`, required due to colliding with the `ctranslate2` Python module.
# tests
versionCheckHook,
# enable GPU support
cudaSupport ? torch.cudaSupport,
}:
@@ -39,14 +44,14 @@ let
in
buildPythonPackage (finalAttrs: {
pname = "whisperx";
version = "3.8.1";
version = "3.8.5";
pyproject = true;
src = fetchFromGitHub {
owner = "m-bain";
repo = "whisperX";
tag = "v${finalAttrs.version}";
hash = "sha256-2HjQtb8k3px0kqXowKtCXkiG2GuKLCuCtDOPYYa/tbc=";
hash = "sha256-dFjB0X7JUqv7r64QLbsQwJNRWti+xGUOWKkhOxJE1tg=";
};
# As `makeWrapperArgs` does not apply to the module, and whisperx depends on `ffmpeg`,
@@ -61,6 +66,7 @@ buildPythonPackage (finalAttrs: {
build-system = [ setuptools ];
pythonRelaxDeps = [
"huggingface-hub"
"torch"
"torchaudio"
];
@@ -75,14 +81,18 @@ buildPythonPackage (finalAttrs: {
pyannote-audio
torch
torchaudio
torchcodec
torchvision
transformers
]
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64) [
triton
];
# No tests in repository
doCheck = false;
# No python tests in repository
nativeCheckInputs = [
versionCheckHook
];
pythonImportsCheck = [ "whisperx" ];
@@ -6,16 +6,16 @@
buildNpmPackage rec {
pname = "material-you-utilities";
version = "2.1.4";
version = "2.1.5";
src = fetchFromGitHub {
owner = "Nerwyn";
repo = "material-you-utilities";
tag = version;
hash = "sha256-/GsZjH6BQUlPjVzvdbAF1OMygA0m67FkQoKcmVOngow=";
hash = "sha256-Z4O7HsV20/5aUvblzR7SLLONr3PrV1Jk91D2badaDl8=";
};
npmDepsHash = "sha256-+stnR6EFH/5JnbkxZ1y9Nv4MeZKmqHzvHrR9pA9lAys=";
npmDepsHash = "sha256-omcnqwwJPYWF2A0hn4ob+mro6cX/ohIh15MrWoLcSzU=";
installPhase = ''
runHook preInstall
+2
View File
@@ -4591,6 +4591,8 @@ self: super: with self; {
docutils = callPackage ../development/python-modules/docutils { };
docutils-stubs = callPackage ../development/python-modules/docutils-stubs { };
docx2python = callPackage ../development/python-modules/docx2python { };
docx2txt = callPackage ../development/python-modules/docx2txt { };
+2 -3
View File
@@ -18,6 +18,7 @@ lib: pkgs: actuallySplice:
let
inherit (lib.customisation) mapCrossIndex renameCrossIndexFrom;
inherit (lib) mapAttrs;
spliceReal =
inputs:
@@ -31,8 +32,6 @@ let
# The same pkgs sets one probably intends
// inputs.buildHost
// inputs.hostTarget;
# perf: mapAttrs defers merge calls until a key is selected, avoiding
# ~60k eager closures that listToAttrs+map would create.
merge =
name: defaultValue:
let
@@ -66,7 +65,7 @@ let
# `__functor__` for functions instead.
defaultValue;
in
builtins.mapAttrs merge mash;
mapAttrs merge mash;
splicePackages =
{