Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2026-03-06 00:27:57 +00:00
committed by GitHub
87 changed files with 1190 additions and 386 deletions
+12 -7
View File
@@ -500,13 +500,6 @@
githubId = 2526296;
name = "Adrien Bustany";
};
abysssol = {
name = "abysssol";
email = "abysssol@pm.me";
matrix = "@abysssol:tchncs.de";
github = "abysssol";
githubId = 76763323;
};
acairncross = {
email = "acairncross@gmail.com";
github = "acairncross";
@@ -895,6 +888,12 @@
githubId = 37664775;
name = "Yuto Oguchi";
};
airone01 = {
name = "Erwann Lagouche";
github = "airone01";
githubId = 21955960;
email = "airone01@proton.me";
};
airrnot = {
name = "airRnot";
github = "airRnot1106";
@@ -4457,6 +4456,12 @@
githubId = 495429;
name = "Claas Augner";
};
caverav = {
email = "camilo@fvv.cl";
github = "caverav";
githubId = 66751764;
name = "Camilo Vera Vidales";
};
cawilliamson = {
email = "home@chrisaw.com";
github = "cawilliamson";
@@ -232,6 +232,10 @@ See <https://github.com/NixOS/nixpkgs/issues/481673>.
- `nextcloud31` is EOL and was thus removed.
- Please note that an upgrade from v31 (or older) to v33 directly is not possible. Please upgrade to `nextcloud32` (or earlier) first. Nextcloud prohibits skipping major versions while upgrading. You can upgrade by declaring [`services.nextcloud.package = pkgs.nextcloud32;`](#opt-services.nextcloud.package).
- InvoicePlane with the Caddy webserver (`services.invoiceplane.webserver = "caddy"`) now sets up sites with Caddy's automatic HTTPS instead of HTTP-only.
To keep the old behavior for a site `example.com`, set `services.caddy.virtualHosts."example.com".hostName = "http://example.com"`.
If you set custom Caddy options for a InvoicePlane site, migrate these options by removing `http://` from `services.caddy.virtualHosts."http://example.com"`.
- `services.slurm` now supports slurmrestd usage through the `services.slurm.rest` NixOS options.
- The `services.calibre-web` systemd service has been hardened with additional sandboxing restrictions.
-1
View File
@@ -354,7 +354,6 @@ in
};
meta.maintainers = with lib.maintainers; [
abysssol
onny
];
}
+257 -88
View File
@@ -6,112 +6,281 @@
}:
let
cfg = config.services.harmonia;
cacheCfg = cfg.cache;
daemonCfg = cfg.daemon;
format = pkgs.formats.toml { };
signKeyPaths = cfg.signKeyPaths ++ lib.optional (cfg.signKeyPath != null) cfg.signKeyPath;
signKeyPaths =
cacheCfg.signKeyPaths ++ (if cacheCfg.signKeyPath != null then [ cacheCfg.signKeyPath ] else [ ]);
credentials = lib.imap0 (i: signKeyPath: {
id = "sign-key-${toString i}";
path = signKeyPath;
}) signKeyPaths;
in
{
imports = [
# Renamed options for flat harmonia -> harmonia.cache
(lib.mkRenamedOptionModule
[ "services" "harmonia" "enable" ]
[ "services" "harmonia" "cache" "enable" ]
)
(lib.mkRenamedOptionModule
[ "services" "harmonia" "signKeyPath" ]
[ "services" "harmonia" "cache" "signKeyPath" ]
)
(lib.mkRenamedOptionModule
[ "services" "harmonia" "signKeyPaths" ]
[ "services" "harmonia" "cache" "signKeyPaths" ]
)
(lib.mkRenamedOptionModule
[ "services" "harmonia" "settings" ]
[ "services" "harmonia" "cache" "settings" ]
)
# Note: package stays at the top level
];
options = {
services.harmonia = {
enable = lib.mkEnableOption "Harmonia: Nix binary cache written in Rust";
signKeyPath = lib.mkOption {
type = lib.types.nullOr lib.types.path;
default = null;
description = "DEPRECATED: Use `services.harmonia.signKeyPaths` instead. Path to the signing key to use for signing the cache";
};
signKeyPaths = lib.mkOption {
type = lib.types.listOf lib.types.path;
default = [ ];
description = "Paths to the signing keys to use for signing the cache";
};
package = lib.mkPackageOption pkgs "harmonia" { };
settings = lib.mkOption {
inherit (format) type;
default = { };
description = ''
Settings to merge with the default configuration.
For the list of the default configuration, see <https://github.com/nix-community/harmonia/tree/master#configuration>.
'';
cache = {
enable = lib.mkEnableOption "Harmonia: Nix binary cache written in Rust";
signKeyPath = lib.mkOption {
type = lib.types.nullOr lib.types.path;
default = null;
description = "DEPRECATED: Use `services.harmonia-dev.cache.signKeyPaths` instead. Path to the signing key to use for signing the cache";
};
signKeyPaths = lib.mkOption {
type = lib.types.listOf lib.types.path;
default = [ ];
description = "Paths to the signing keys to use for signing the cache";
};
settings = lib.mkOption {
inherit (format) type;
default = { };
description = ''
Settings to merge with the default configuration.
For the list of the default configuration, see <https://github.com/nix-community/harmonia/tree/master#configuration>.
'';
};
};
daemon = {
enable = lib.mkEnableOption "Harmonia daemon: Nix daemon protocol implementation";
socketPath = lib.mkOption {
type = lib.types.str;
default = "/run/harmonia-daemon/socket";
description = "Path where the daemon socket will be created";
};
storeDir = lib.mkOption {
type = lib.types.str;
default = "/nix/store";
description = "Path to the Nix store directory";
};
dbPath = lib.mkOption {
type = lib.types.str;
default = "/nix/var/nix/db/db.sqlite";
description = "Path to the Nix database";
};
logLevel = lib.mkOption {
type = lib.types.str;
default = "info";
description = "Log level for the daemon";
};
};
};
};
config = lib.mkIf cfg.enable {
warnings = lib.optional (
cfg.signKeyPath != null
) "`services.harmonia.signKeyPath` is deprecated, use `services.harmonia.signKeyPaths` instead";
nix.settings.extra-allowed-users = [ "harmonia" ];
users.users.harmonia = {
isSystemUser = true;
group = "harmonia";
};
users.groups.harmonia = { };
config = lib.mkMerge [
(lib.mkIf cacheCfg.enable {
warnings =
if cacheCfg.signKeyPath != null then
[
"`services.harmonia.cache.signKeyPath` is deprecated, use `services.harmonia.cache.signKeyPaths` instead"
]
else
[ ];
systemd.services.harmonia = {
description = "harmonia binary cache service";
requires = [ "nix-daemon.socket" ];
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
environment = {
CONFIG_FILE = format.generate "harmonia.toml" cfg.settings;
SIGN_KEY_PATHS = lib.strings.concatMapStringsSep " " (
credential: "%d/${credential.id}"
) credentials;
# Note: it's important to set this for nix-store, because it wants to use
# $HOME in order to use a temporary cache dir. bizarre failures will occur
# otherwise
HOME = "/run/harmonia";
nix.settings.extra-allowed-users = [ "harmonia" ];
users.users.harmonia = {
isSystemUser = true;
group = "harmonia";
};
users.groups.harmonia = { };
serviceConfig = {
ExecStart = lib.getExe cfg.package;
User = "harmonia";
Group = "harmonia";
Restart = "on-failure";
PrivateUsers = true;
DeviceAllow = [ "" ];
UMask = "0066";
RuntimeDirectory = "harmonia";
LoadCredential = map (credential: "${credential.id}:${credential.path}") credentials;
SystemCallFilter = [
"@system-service"
"~@privileged"
"~@resources"
];
CapabilityBoundingSet = "";
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectControlGroups = true;
ProtectKernelLogs = true;
ProtectHostname = true;
ProtectClock = true;
RestrictRealtime = true;
MemoryDenyWriteExecute = true;
ProcSubset = "pid";
ProtectProc = "invisible";
RestrictNamespaces = true;
SystemCallArchitectures = "native";
PrivateNetwork = false;
PrivateTmp = true;
PrivateDevices = true;
PrivateMounts = true;
NoNewPrivileges = true;
ProtectSystem = "strict";
ProtectHome = true;
LockPersonality = true;
RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
LimitNOFILE = 65536;
services.harmonia.cache.settings = builtins.mapAttrs (_: v: lib.mkDefault v) (
{
bind = "[::]:5000";
workers = 4;
max_connection_rate = 256;
priority = 50;
}
// lib.optionalAttrs daemonCfg.enable {
daemon_socket = daemonCfg.socketPath;
}
);
systemd.services.harmonia = {
description = "harmonia binary cache service";
requires = if daemonCfg.enable then [ "harmonia-daemon.service" ] else [ "nix-daemon.socket" ];
after = [ "network.target" ] ++ lib.optional daemonCfg.enable "harmonia-daemon.service";
wantedBy = [ "multi-user.target" ];
environment = {
CONFIG_FILE = format.generate "harmonia.toml" cacheCfg.settings;
SIGN_KEY_PATHS = lib.strings.concatMapStringsSep " " (
credential: "%d/${credential.id}"
) credentials;
# Note: it's important to set this for nix-store, because it wants to use
# $HOME in order to use a temporary cache dir. bizarre failures will occur
# otherwise
HOME = "/run/harmonia";
};
serviceConfig = {
ExecStart = lib.getExe cfg.package;
User = "harmonia";
Group = "harmonia";
Restart = "on-failure";
PrivateUsers = true;
DeviceAllow = [ "" ];
UMask = "0066";
RuntimeDirectory = "harmonia";
LoadCredential = map (credential: "${credential.id}:${credential.path}") credentials;
SystemCallFilter = [
"@system-service"
"~@privileged"
"~@resources"
];
CapabilityBoundingSet = "";
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectControlGroups = true;
ProtectKernelLogs = true;
ProtectHostname = true;
ProtectClock = true;
RestrictRealtime = true;
MemoryDenyWriteExecute = true;
ProcSubset = "pid";
ProtectProc = "invisible";
RestrictNamespaces = true;
SystemCallArchitectures = "native";
PrivateNetwork = false;
PrivateTmp = true;
PrivateDevices = true;
PrivateMounts = true;
NoNewPrivileges = true;
ProtectSystem = "strict";
ProtectHome = true;
LockPersonality = true;
RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
LimitNOFILE = 65536;
};
};
};
};
})
(lib.mkIf daemonCfg.enable {
systemd.services.harmonia-daemon =
let
daemonConfig = {
socket_path = daemonCfg.socketPath;
store_dir = daemonCfg.storeDir;
db_path = daemonCfg.dbPath;
log_level = daemonCfg.logLevel;
};
daemonConfigFile = format.generate "harmonia-daemon.toml" daemonConfig;
in
{
description = "Harmonia Nix daemon protocol server";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
environment = {
RUST_LOG = daemonCfg.logLevel;
RUST_BACKTRACE = "1";
HARMONIA_DAEMON_CONFIG = daemonConfigFile;
};
serviceConfig = {
Type = "simple";
ExecStart = lib.getExe' cfg.package "harmonia-daemon";
Restart = "on-failure";
RestartSec = 5;
# Socket will be created at runtime
RuntimeDirectory = "harmonia-daemon";
# Run as root to access the Nix database
# Note: The Nix database is owned by root and requires root access
NoNewPrivileges = true;
PrivateTmp = true;
ProtectSystem = "strict";
ProtectHome = true;
# SQLite needs write access for WAL mode
ReadWritePaths = [
(builtins.dirOf daemonCfg.dbPath) # Need write access for WAL and SHM files
];
ReadOnlyPaths = [
daemonCfg.storeDir
];
# System call filtering
SystemCallFilter = [
"@system-service"
"~@privileged"
"@chown" # for sockets
"~@resources"
];
SystemCallArchitectures = "native";
# Capabilities
CapabilityBoundingSet = "";
# Device access
DeviceAllow = [ "" ];
PrivateDevices = true;
# Kernel protection
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectControlGroups = true;
ProtectKernelLogs = true;
ProtectHostname = true;
ProtectClock = true;
# Memory protection
MemoryDenyWriteExecute = true;
LockPersonality = true;
# Process visibility
ProcSubset = "pid";
ProtectProc = "invisible";
# Namespace restrictions
RestrictNamespaces = true;
PrivateMounts = true;
# Network restrictions
RestrictAddressFamilies = "AF_UNIX";
PrivateNetwork = false;
# Resource limits
LimitNOFILE = 65536;
RestrictRealtime = true;
# Misc restrictions
UMask = "0077";
};
};
})
];
}
@@ -441,7 +441,7 @@ in
enable = true;
virtualHosts = mapAttrs' (
hostName: cfg:
(nameValuePair "http://${hostName}" {
(nameValuePair hostName {
extraConfig = ''
root * ${pkg hostName cfg}
file_server
+36 -15
View File
@@ -29,6 +29,7 @@
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
options = Options()
@@ -41,33 +42,53 @@
wait = WebDriverWait(driver, 60)
assert len(driver.find_elements(
By.ID, "query_div")) == 1
wait.until(EC.presence_of_element_located(
(By.ID, "query_div")))
version = "${lib.strings.replaceStrings [ "-stable" "-lts" ] [ "" "" ] package.version}"
wait.until(EC.text_to_be_present_in_element(
(By.XPATH, "//span[@id='server_info']"), version))
# Determine if a shadow DOM is used for query-result and
# query-progress
result_els = driver.find_elements(By.ID, "query-result")
uses_shadow = len(result_els) > 0
if uses_shadow:
result_shadow = result_els[0].shadow_root
progress_shadow = driver.find_element(
By.ID, "query-progress").shadow_root
def find_rows():
root = result_shadow if uses_shadow else driver
return root.find_elements(
By.CSS_SELECTOR, ".row-number")
def find_check_mark():
root = progress_shadow if uses_shadow else driver
return root.find_elements(
By.CSS_SELECTOR, "#check-mark")
server_info_element = driver.find_element(
By.XPATH, "//span[@id='server_info']")
assert "${
lib.strings.replaceStrings [ "-stable" "-lts" ] [ "" "" ] package.version
}" in server_info_element.text
# Shouldn't show before query done
assert len(driver.find_elements(
By.CSS_SELECTOR, ".row-number")) == 0
assert len(find_rows()) == 0
query_box = driver.find_element(
By.XPATH, "//textarea[@id='query']")
query_box.click()
query_box.send_keys("SELECT 1")
query_run_button = driver.find_element(
driver.find_element(
By.XPATH, "//button[@id='run']").click()
# Now verify results shown
assert len(driver.find_elements(
By.XPATH, "//div[@id='check-mark']")) == 1
# Wait for query to complete
WebDriverWait(driver, 60).until(
lambda d: len(find_check_mark()) > 0)
assert len(driver.find_elements(
By.CSS_SELECTOR, ".row-number")) == 2
# Wait for results to render
WebDriverWait(driver, 60).until(
lambda d: len(find_rows()) > 0)
driver.close()
'';
+2 -2
View File
@@ -5,7 +5,7 @@
nodes = {
harmonia = {
services.harmonia = {
services.harmonia.cache = {
enable = true;
signKeyPaths = [
(pkgs.writeText "cache-key" "cache.example.com-1:9FhO0w+7HjZrhvmzT1VlAZw4OSAlFGTgC24Seg3tmPl4gZBdwZClzTTHr9cVzJpwsRSYLTu7hEAQe3ljy92CWg==")
@@ -37,7 +37,7 @@
harmonia.wait_for_unit("harmonia.service")
client01.wait_until_succeeds("curl -f http://harmonia:5000/nix-cache-info | grep '${toString nodes.harmonia.services.harmonia.settings.priority}' >&2")
client01.wait_until_succeeds("curl -f http://harmonia:5000/nix-cache-info | grep '${toString nodes.harmonia.services.harmonia.cache.settings.priority}' >&2")
client01.succeed("curl -f http://harmonia:5000/version | grep '${nodes.harmonia.services.harmonia.package.version}' >&2")
client01.succeed("cat /etc/nix/nix.conf >&2")
+19 -9
View File
@@ -26,7 +26,17 @@
};
};
networking.firewall.allowedTCPPorts = [ 80 ];
services.caddy.virtualHosts."site1.local".extraConfig = ''
tls internal
'';
services.caddy.virtualHosts."site2.local".extraConfig = ''
tls internal
'';
networking.firewall.allowedTCPPorts = [
80
443
];
networking.hosts."127.0.0.1" = [
"site1.local"
"site2.local"
@@ -76,41 +86,41 @@
machine.wait_for_unit(f"phpfpm-invoiceplane-{site_name}")
with subtest("Website returns welcome screen"):
assert "Please install InvoicePlane" in machine.succeed(f"curl -L {site_name}")
assert "Please install InvoicePlane" in machine.succeed(f"curl -sSfkL {site_name}")
with subtest("Finish InvoicePlane setup"):
machine.succeed(
f"curl -sSfL --cookie-jar cjar {site_name}/setup/language"
f"curl -sSfkL --cookie-jar cjar {site_name}/setup/language"
)
csrf_token = machine.succeed(
"grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'"
)
machine.succeed(
f"curl -sSfL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&ip_lang=english&btn_continue=Continue' {site_name}/setup/language"
f"curl -sSfkL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&ip_lang=english&btn_continue=Continue' {site_name}/setup/language"
)
csrf_token = machine.succeed(
"grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'"
)
machine.succeed(
f"curl -sSfL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/prerequisites"
f"curl -sSfkL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/prerequisites"
)
csrf_token = machine.succeed(
"grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'"
)
machine.succeed(
f"curl -sSfL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/configure_database"
f"curl -sSfkL --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/configure_database"
)
csrf_token = machine.succeed(
"grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'"
)
machine.succeed(
f"curl -sSfl --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/install_tables"
f"curl -sSfkl --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/install_tables"
)
csrf_token = machine.succeed(
"grep ip_csrf_cookie cjar | cut -f 7 | tr -d '\n'"
)
machine.succeed(
f"curl -sSfl --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/upgrade_tables"
)
f"curl -sSfkl --cookie cjar --cookie-jar cjar -d '_ip_csrf={csrf_token}&btn_continue=Continue' {site_name}/setup/upgrade_tables"
)
'';
}
+1 -1
View File
@@ -1,7 +1,7 @@
{ lib, pkgs, ... }:
{
name = "ollama-cuda";
meta.maintainers = with lib.maintainers; [ abysssol ];
meta.maintainers = [ ];
nodes.cuda =
{ ... }:
+1 -1
View File
@@ -1,7 +1,7 @@
{ lib, pkgs, ... }:
{
name = "ollama-rocm";
meta.maintainers = with lib.maintainers; [ abysssol ];
meta.maintainers = [ ];
nodes.rocm =
{ ... }:
+1 -1
View File
@@ -1,7 +1,7 @@
{ lib, pkgs, ... }:
{
name = "ollama-vulkan";
meta.maintainers = with lib.maintainers; [ abysssol ];
meta.maintainers = [ ];
nodes.vulkan =
{ ... }:
+1 -1
View File
@@ -5,7 +5,7 @@ let
in
{
name = "ollama";
meta.maintainers = with lib.maintainers; [ abysssol ];
meta.maintainers = [ ];
nodes = {
cpu =
@@ -4666,6 +4666,19 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
diffs-nvim = buildVimPlugin {
pname = "diffs.nvim";
version = "0.3.0-unstable-2026-03-05";
src = fetchFromGitHub {
owner = "barrettruth";
repo = "diffs.nvim";
rev = "7a3c4ea01e2ad53c6b54136bc19b7f0ad977da7d";
hash = "sha256-rsgboDQ7s9pIc+pDOJgwTA6c950CDY7gLsyn5oycsGI=";
};
meta.homepage = "https://github.com/barrettruth/diffs.nvim/";
meta.hydraPlatforms = [ ];
};
diffview-nvim = buildVimPlugin {
pname = "diffview.nvim";
version = "0-unstable-2024-06-13";
@@ -12,12 +12,12 @@
pkgs,
}:
let
version = "0.0.27-unstable-2026-02-23";
version = "0.0.27-unstable-2026-03-04";
src = fetchFromGitHub {
owner = "yetone";
repo = "avante.nvim";
rev = "2475e71982cadc8d38ba20b9b6112873f33caf31";
hash = "sha256-vgMDC005PrSJBMpoqqxSmth6tCG4YZfTAQz2475Po6E=";
rev = "865cee5f80db8b7959592f23f174acac36f8be8d";
hash = "sha256-5Od/GWzqKpxqprAtmCGSRpJ0E9v6lbVUFK1TzN7G8wo=";
};
avante-nvim-lib = rustPlatform.buildRustPackage {
pname = "avante-nvim-lib";
@@ -357,6 +357,7 @@ https://github.com/onsails/diaglist.nvim/,,
https://github.com/nvim-lua/diagnostic-nvim/,,
https://github.com/3rd/diagram.nvim/,HEAD,
https://github.com/monaqa/dial.nvim/,HEAD,
https://github.com/barrettruth/diffs.nvim/,HEAD,
https://github.com/sindrets/diffview.nvim/,,
https://github.com/elihunter173/dirbuf.nvim/,HEAD,
https://github.com/direnv/direnv.vim/,,
@@ -31,9 +31,14 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -pv "$out"
export HOME="$out"
export HOME="$TMPDIR"
export PATH=$out/bin:$PATH
# Stop Isabelle trying to use `/tmp`.
user_home="$(isabelle getenv -b ISABELLE_HOME_USER)"
mkdir -p "$user_home/etc"
echo 'ISABELLE_TMP_PREFIX="$TMPDIR/isabelle"' > "$user_home/etc/settings"
pushd zenon
./configure --prefix $out
make
+2 -2
View File
@@ -10,11 +10,11 @@
stdenvNoCC.mkDerivation rec {
pname = "camunda-modeler";
version = "5.44.0";
version = "5.45.0";
src = fetchurl {
url = "https://github.com/camunda/camunda-modeler/releases/download/v${version}/camunda-modeler-${version}-linux-x64.tar.gz";
hash = "sha256-Jzf2D3oXFpGimftyZxSbDgexZs4932Nzd8vCDdrWYXs=";
hash = "sha256-5hYMRFdMXlnhHzwbj8Hy48WJBf7L5UUhZUfKSlr06Z0=";
};
sourceRoot = "camunda-modeler-${version}-linux-x64";
@@ -7,14 +7,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "changedetection-io";
version = "0.54.2";
version = "0.53.6";
format = "setuptools";
src = fetchFromGitHub {
owner = "dgtlmoon";
repo = "changedetection.io";
tag = version;
hash = "sha256-EOvZdPMfGfllM57hbc/HMHw1rh9n9uwlA4VSkoY0MWY=";
hash = "sha256-j7Dw6PLGt955wfQNriRHGtsJzCd50xpHJK0fqVvzIY4=";
};
pythonRelaxDeps = true;
@@ -29,10 +29,12 @@ python3.pkgs.buildPythonApplication rec {
brotli
chardet
cryptography
diff-match-patch
elementpath
extruct
feedgen
flask
flask-babel
flask-compress
flask-cors
flask-expects-json
+10 -4
View File
@@ -9,6 +9,7 @@
lib,
stdenv,
llvmPackages_19,
llvmPackages_21,
fetchFromGitHub,
fetchpatch,
cmake,
@@ -30,7 +31,8 @@
versionCheckHook,
}:
let
llvmStdenv = llvmPackages_19.stdenv;
llvmPackages = if lib.versionAtLeast version "26" then llvmPackages_21 else llvmPackages_19;
llvmStdenv = llvmPackages.stdenv;
in
llvmStdenv.mkDerivation (finalAttrs: {
pname = "clickhouse";
@@ -99,7 +101,7 @@ llvmStdenv.mkDerivation (finalAttrs: {
ninja
python3
perl
llvmPackages_19.lld
llvmPackages.lld
removeReferencesTo
]
++ lib.optionals stdenv.hostPlatform.isx86_64 [
@@ -107,7 +109,7 @@ llvmStdenv.mkDerivation (finalAttrs: {
yasm
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
llvmPackages_19.bintools
llvmPackages.bintools
findutils
darwin.bootstrap_cmds
]
@@ -193,6 +195,7 @@ llvmStdenv.mkDerivation (finalAttrs: {
"-DENABLE_CHDIG=OFF"
"-DENABLE_TESTS=OFF"
"-DENABLE_DELTA_KERNEL_RS=0"
"-DENABLE_XRAY=OFF"
"-DCOMPILER_CACHE=disabled"
]
++ lib.optional (
@@ -212,7 +215,10 @@ llvmStdenv.mkDerivation (finalAttrs: {
};
# https://github.com/ClickHouse/ClickHouse/issues/49988
hardeningDisable = [ "fortify" ];
hardeningDisable = [
"fortify"
"libcxxhardeningfast"
];
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
+3 -3
View File
@@ -1,6 +1,6 @@
import ./generic.nix {
version = "25.8.15.35-lts";
rev = "7a0b36cf8934881236312e9fea094baaf5c709a4";
hash = "sha256-zCMqZaw+QO/MAdJhgyrZYvdFPO8o11EXbuGHS5++dZw=";
version = "25.8.18.1-lts";
rev = "557fdf60f81c4370867dff464de7f4b1064d39a7";
hash = "sha256-6QBejA0GdhjHVcqHVqjZkiJ1tmPglvIaFffBWyseYX8=";
lts = true;
}
+3 -3
View File
@@ -1,6 +1,6 @@
import ./generic.nix {
version = "26.1.3.52-stable";
rev = "5549f2acae95c6d627654f50e212a85d059a55f9";
hash = "sha256-7Ww7vQNjvR65Ycw2jnetyy6s8KkHOylzFey+K2xBLjM=";
version = "26.2.3.2-stable";
rev = "ba231782911b5f53713dc4a9ad6a7fcf5ac4bf89";
hash = "sha256-252cNixB1ca8m4AvtB2097+OhlSmG7Diz0MMyqxvExc=";
lts = false;
}
+9 -3
View File
@@ -15,9 +15,11 @@ echoerr "Working on $fname"
shift
# Fetch latest tags from the repo, leave only stable and lts, use version sort in reverse order.
all_tags=$(curl -L -s ${GITHUB_TOKEN:+-u ":${GITHUB_TOKEN}"} https://api.github.com/repos/ClickHouse/ClickHouse/tags \
all_tags=$({ for page in 1 2 3; do
curl -L -s ${GITHUB_TOKEN:+-u ":${GITHUB_TOKEN}"} "https://api.github.com/repos/ClickHouse/ClickHouse/tags?per_page=100&page=$page"
done; } \
| jq -r '.[].name | select(test("-(stable|lts)$"))' \
| sort -Vr)
| sort -Vr | uniq)
# Fail if no tags found
if [[ -z "$all_tags" ]]; then
@@ -27,7 +29,11 @@ fi
pname="clickhouse"
if [[ "$fname" == *lts.nix ]]; then
all_tags=$(echo "$all_tags" | grep -- "-lts$")
all_tags=$(echo "$all_tags" | grep -- "-lts$" || true)
if [[ -z "$all_tags" ]]; then
echoerr "Error: no LTS tags found in fetched tags"
exit 1
fi
pname="clickhouse-lts"
fi
+2 -2
View File
@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cockpit-machines";
version = "349";
version = "349.1";
src = fetchFromGitHub {
owner = "cockpit-project";
repo = "cockpit-machines";
tag = finalAttrs.version;
hash = "sha256-6qoyjPzLyP9pb9VtzDyBgfpJ+AT1m53C328n+rlHGYw=";
hash = "sha256-SJ8osQKbzK/4mioqYbBf2t/2Me1an2Ex1SaGiVilNng=";
fetchSubmodules = true;
postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json";
+5 -5
View File
@@ -1,24 +1,24 @@
{
lib,
buildGoModule,
buildGo126Module,
fetchFromGitHub,
nix-update-script,
writableTmpDirAsHomeHook,
versionCheckHook,
}:
buildGoModule (finalAttrs: {
buildGo126Module (finalAttrs: {
pname = "crush";
version = "0.43.2";
version = "0.47.0";
src = fetchFromGitHub {
owner = "charmbracelet";
repo = "crush";
tag = "v${finalAttrs.version}";
hash = "sha256-VyV57ASsn2t1zaW7L6o7sVc+H+tHf4AP1HaKgrdXrtk=";
hash = "sha256-Gv1Z2Drtl9zFgGsAvr2YBRP/M4AN7wpr062zz6jCFJA=";
};
vendorHash = "sha256-qFqFyPdAqh2BXeE2tkLmn88Z8qHFeSlTA2Ols8H7iaQ=";
vendorHash = "sha256-EpuGHLFi3B+8ZkQiJYGAUjHELz86YDuSE5OCRdie2B4=";
ldflags = [
"-s"
+11 -4
View File
@@ -53,11 +53,18 @@ rustPlatform.buildRustPackage {
cargoHash = "sha256-dzho5gZmfji4n+zHwr2uCqOijCFpVj9loYr8VQNil3g=";
RUSTFLAGS = "--cfg tracing_unstable";
LIBSQLITE3_SYS_USE_PKG_CONFIG = "1";
VERGEN_IDEMPOTENT = "1";
env = {
RUSTFLAGS = "--cfg tracing_unstable";
LIBSQLITE3_SYS_USE_PKG_CONFIG = "1";
VERGEN_IDEMPOTENT = "1";
};
cargoBuildFlags = [ "-p devenv -p devenv-run-tests" ];
cargoBuildFlags = [
"-p"
"devenv"
"-p"
"devenv-run-tests"
];
nativeBuildInputs = [
installShellFiles
+2 -2
View File
@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dolibarr";
version = "22.0.4";
version = "23.0.0";
src = fetchFromGitHub {
owner = "Dolibarr";
repo = "dolibarr";
tag = finalAttrs.version;
hash = "sha256-jk1sjVZJvFeJtQjxgNRx+WLSDsevMvxUIFCO4JMPEHM=";
hash = "sha256-oAzmp6tWUPvLC2AJz/A56p/njunZMTmkZVYaydTL/Ks=";
};
dontBuild = true;
+7 -5
View File
@@ -6,13 +6,14 @@
lib,
stdenv,
writableTmpDirAsHomeHook,
go_1_26,
}:
let
version = "2.7.5";
srcHash = "sha256-vTb1YE73xxCC4GlR6UW5Ibu+ck+N+KKYUg50csb7eUA=";
vendorHash = "sha256-AgWDvlXVZXXprWCeoNeAMDb6LeYfa9yG5afc7TNISQs=";
manifestsHash = "sha256-CmYuHhEiKxkSRtN+fri2/4ILxpwRy2xGwGqCqcfsQwU=";
version = "2.8.1";
srcHash = "sha256-TuXkG54ohsfHMw1VXsYnepZkMx1ZbMHaog+XPxN5F+8=";
vendorHash = "sha256-nzNVH4Vm1p7PwtOqej+RfgjpONpxCrZdqjY6x3f/uog=";
manifestsHash = "sha256-qo0szujGP2eL48KYjnft2Iu95Y/uH2/bSNETvnpVGYE=";
manifests = fetchzip {
url = "https://github.com/fluxcd/flux2/releases/download/v${version}/manifests.tar.gz";
@@ -21,7 +22,7 @@ let
};
in
buildGoModule rec {
buildGoModule.override { go = go_1_26; } rec {
pname = "fluxcd";
inherit vendorHash version;
@@ -81,6 +82,7 @@ buildGoModule rec {
maintainers = with lib.maintainers; [
jlesquembre
ryan4yin
SchahinRohani
];
mainProgram = "flux";
};
+2 -2
View File
@@ -8,13 +8,13 @@
buildGoModule (finalAttrs: {
pname = "forgejo-mcp";
version = "2.11.0";
version = "2.12.0";
src = fetchFromCodeberg {
owner = "goern";
repo = "forgejo-mcp";
tag = "v${finalAttrs.version}";
hash = "sha256-mOxIMK4oke9MfKyirupw/b5ozG+1ZgUZP8vr2UTVfDo=";
hash = "sha256-DcxHl+QOpK5C6ZWYJg+94BSyaSSYNV2JZIGgoJUFY5k=";
};
vendorHash = "sha256-j5o/FZBowQvcatw14Fvs/8CTM5ZtQR6kwlroctaeKuM=";
+3 -3
View File
@@ -9,18 +9,18 @@
buildNpmPackage (finalAttrs: {
pname = "glitchtip-frontend";
version = "5.1.1";
version = "5.2.1";
src = fetchFromGitLab {
owner = "glitchtip";
repo = "glitchtip-frontend";
tag = "v${finalAttrs.version}";
hash = "sha256-WKh5w6AVyKhkGvGsy2Wv4Z01UaKTctDSfEhOek2Y84w=";
hash = "sha256-aqGgaVjJogG3mDooQVpR59SR0HDuMPfKuB1i0Z/AMs8=";
};
npmDeps = fetchNpmDeps {
inherit (finalAttrs) src;
hash = "sha256-G2DZhHfTWi0qCAMs+IP7T2XEecBwTX12Dk3O0pD8ZJw=";
hash = "sha256-urho5XwUJL7m8/xxv9EvH0MxQIW5TG7nOBSIa77RhJc=";
};
postPatch = ''
+9 -4
View File
@@ -53,9 +53,10 @@ let
django-organizations
django-postgres-partition
django-prometheus
django-redis
django-storages
django-valkey
google-cloud-logging
granian
gunicorn
orjson
psycopg
@@ -68,13 +69,17 @@ let
whitenoise
]
++ celery.optional-dependencies.redis
++ celery.optional-dependencies.sqlalchemy
++ django-allauth.optional-dependencies.headless-spec
++ django-allauth.optional-dependencies.mfa
++ django-allauth.optional-dependencies.socialaccount
++ django-redis.optional-dependencies.hiredis
++ django-storages.optional-dependencies.boto3
++ django-storages.optional-dependencies.azure
++ django-storages.optional-dependencies.google
++ django-valkey.optional-dependencies.libvalkey
++ django-valkey.optional-dependencies.lz4
++ granian.optional-dependencies.reload
++ granian.optional-dependencies.uvloop
++ psycopg.optional-dependencies.c
++ psycopg.optional-dependencies.pool
++ pydantic.optional-dependencies.email;
@@ -84,14 +89,14 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "glitchtip";
version = "5.1.1";
version = "5.2.1";
pyproject = true;
src = fetchFromGitLab {
owner = "glitchtip";
repo = "glitchtip-backend";
tag = "v${finalAttrs.version}";
hash = "sha256-P5J4nFXQHt+vP2W1bzdw4V9Pq+YnYsjgJPnU89RYofI=";
hash = "sha256-FxkIbSrIyvLnD9n/Cb2udOhsnoC/bwGAfCRB1L/fhwo=";
};
propagatedBuildInputs = pythonPackages;
+5 -4
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "harmonia";
version = "2.1.0";
version = "3.0.0";
src = fetchFromGitHub {
owner = "nix-community";
repo = "harmonia";
tag = "harmonia-v${finalAttrs.version}";
hash = "sha256-Ch7CBPwSKZxCmZwFunNCA8E74TcOWp9MLbhe3/glQ6w=";
hash = "sha256-BovRI3p2KXwQ6RF49NqLc0uKP/Jk+yA8E0eqScaIP68=";
};
cargoHash = "sha256-7HZoXNL7nf6NUNnh6gzXsZ2o4eeEQL7/KDdIcbh7/jM=";
cargoHash = "sha256-X3A+gV32itmt0SqepioT64IGzHfrCdLsQjF6EDwCTbo=";
doCheck = false;
@@ -41,8 +41,9 @@ rustPlatform.buildRustPackage (finalAttrs: {
meta = {
description = "Nix binary cache";
homepage = "https://github.com/nix-community/harmonia";
changelog = "https://github.com/nix-community/harmonia/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ mic92 ];
mainProgram = "harmonia";
mainProgram = "harmonia-cache";
};
})
@@ -20,14 +20,14 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "incus-ui-canonical";
version = "0.19.8";
version = "0.19.9";
src = fetchFromGitHub {
owner = "zabbly";
repo = "incus-ui-canonical";
# only use tags prefixed by incus- they are the tested fork versions
tag = "incus-${finalAttrs.version}";
hash = "sha256-Dql04inmmWi7X6dQdjJmw0hkIBxlNlnwlTrK3/EN3yA=";
hash = "sha256-HroAKFvmej3mOUMXwZuTXDV4UJAHkb+hLiKuqKgWRTc=";
};
offlineCache = fetchYarnDeps {
+5
View File
@@ -266,6 +266,11 @@ stdenv.mkDerivation (finalAttrs: {
export HOME=$TMP # The build fails if home is not set
setup_name=$(basename contrib/isabelle_setup*)
# Stop Isabelle trying to use `/tmp`.
user_home="$(bin/isabelle getenv -b ISABELLE_HOME_USER)"
mkdir -p "$user_home/etc"
echo 'ISABELLE_TMP_PREFIX="$TMPDIR/isabelle"' > "$user_home/etc/settings"
#The following is adapted from https://isabelle.sketis.net/repos/isabelle/file/Isabelle2021-1/Admin/lib/Tools/build_setup
TARGET_DIR="contrib/$setup_name/lib"
rm -rf "$TARGET_DIR"
+4 -5
View File
@@ -5,16 +5,15 @@
aiger,
}:
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "lingeling";
# This is the version used in satcomp2020
version = "pre1_708beb26";
version = "1.0.0";
src = fetchFromGitHub {
owner = "arminbiere";
repo = "lingeling";
rev = "708beb26a7d5b5d5e7abd88d6f552fb1946b07c1";
sha256 = "1lb2g37nd8qq5hw5g6l691nx5095336yb2zlbaw43mg56hkj8357";
tag = "rel-${version}";
hash = "sha256-gVFznoptP9Ukux+1jbUpXZDPbc45EAdQ4UyeaD2cX0M=";
};
patches = [
+3 -3
View File
@@ -8,18 +8,18 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "meilisearch";
version = "1.36.0";
version = "1.37.0";
src = fetchFromGitHub {
owner = "meilisearch";
repo = "meilisearch";
tag = "v${finalAttrs.version}";
hash = "sha256-yHLSuGWhBmMkWoV3L+oBzpN0fv52gRnJnZDjgXnyHaQ=";
hash = "sha256-JYjc9B4PCj6BR5sBJ1sYnkX+s/81p9izt1nUm5CSOV4=";
};
cargoBuildFlags = [ "--package=meilisearch" ];
cargoHash = "sha256-PxyGw2ZbXkwuXJsqZd6MWwTQdnsE5YWBSgaEZOR0e2g=";
cargoHash = "sha256-7t9kiXSD1xSBSyxC0RG9uJaIHg1c9ytbBGB3LdaBll4=";
# Default features include mini dashboard which downloads something from the internet.
buildNoDefaultFeatures = true;
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nu_plugin_semver";
version = "0.11.14";
version = "0.11.15";
src = fetchFromGitHub {
owner = "abusch";
repo = "nu_plugin_semver";
tag = "v${finalAttrs.version}";
hash = "sha256-mfwgwY/iYdMz8Qn6a9zfpMHWHl2n1Q8ClkT+KiCAGyk=";
hash = "sha256-hR4SIKeebgqGb1KpSw9SgqoPJKm+evcji1qQwQiGlso=";
};
cargoHash = "sha256-5zVqMUC+wg2joo1DKuTUdRwsC5iH7uuyML9SnB2bZCs=";
cargoHash = "sha256-GjiqINWZjk/0sIqojpxXjCelwjRhl+fADULQFwTDFJc=";
passthru.updateScript = nix-update-script { };
+2 -3
View File
@@ -137,13 +137,13 @@ let
in
goBuild (finalAttrs: {
pname = "ollama";
version = "0.17.4";
version = "0.17.6";
src = fetchFromGitHub {
owner = "ollama";
repo = "ollama";
tag = "v${finalAttrs.version}";
hash = "sha256-9yJ8Jbgrgiz/Pr6Se398DLkk1U2Lf5DDUi+tpEIjAaI=";
hash = "sha256-Hd2U6FoYwtDPOt+AZhsYloWSF2/QE+fsXRcC6OKKJXA=";
};
vendorHash = "sha256-Lc1Ktdqtv2VhJQssk8K1UOimeEjVNvDWePE9WkamCos=";
@@ -297,7 +297,6 @@ goBuild (finalAttrs: {
if (rocmRequested || cudaRequested || vulkanRequested) then platforms.linux else platforms.unix;
mainProgram = "ollama";
maintainers = with maintainers; [
abysssol
dit7ya
prusnak
];
+4 -4
View File
@@ -7,16 +7,16 @@
buildNpmPackage (finalAttrs: {
pname = "perplexity-mcp";
version = "0-unstable-2026-01-28";
version = "0-unstable-2026-02-26";
src = fetchFromGitHub {
owner = "perplexityai";
repo = "modelcontextprotocol";
rev = "3f15235fb04698bff33bff673d4725842371cc1d";
hash = "sha256-cv8d5/wH71Nd8/WmcPYqgipX8ZMSWzpoLqOdt97OGfM=";
rev = "95c7a8e9307bc067cbbcf8cbc4290e3ca670eea4";
hash = "sha256-J9ZM7GaaK4JZYlYHDxBUHhPOUPW61Ppdj3CHJjAd8rM=";
};
npmDepsHash = "sha256-654nkK7IQauZImUzeTf328sDDneUkkTSuzlbOmXZXDM=";
npmDepsHash = "sha256-/AtK/jCYB1Wd3DO49loNrmWlnk80OoTxdsFRp5/OW7A=";
passthru = {
updateScript = nix-update-script {
+2 -2
View File
@@ -5,7 +5,7 @@
fetchFromGitHub,
installShellFiles,
makeWrapper,
sbcl,
sbcl_2_4_6,
sqlite,
freetds,
libzip,
@@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
sbcl
sbcl_2_4_6
cacert
sqlite
sphinx
+2 -2
View File
@@ -33,13 +33,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "renderdoc";
version = "1.42";
version = "1.43";
src = fetchFromGitHub {
owner = "baldurk";
repo = "renderdoc";
rev = "v${finalAttrs.version}";
hash = "sha256-BnLmDN7SzhuyQOou8kJObfr/zJxSukUUmD7u5BiiLh0=";
hash = "sha256-2oojSjBSdq/1plQ093mlBeZzwg7KEJW4oDiRt1f7plM=";
};
outputs = [
+6 -10
View File
@@ -2,25 +2,21 @@
lib,
stdenvNoCC,
fetchzip,
installFonts,
}:
stdenvNoCC.mkDerivation rec {
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "roboto-flex";
version = "3.200";
src = fetchzip {
url = "https://github.com/googlefonts/roboto-flex/releases/download/${version}/roboto-flex-fonts.zip";
stripRoot = false;
url = "https://github.com/googlefonts/roboto-flex/releases/download/${finalAttrs.version}/roboto-flex-fonts.zip";
hash = "sha256-p8BvE4f6zQLygl49hzYTXXVQFZEJjrlfUvjNW+miar4=";
};
installPhase = ''
runHook preInstall
sourceRoot = "${finalAttrs.src.name}/roboto-flex-fonts/fonts";
install -Dm644 roboto-flex-fonts/fonts/variable/*.ttf -t $out/share/fonts/truetype
runHook postInstall
'';
nativeBuildInputs = [ installFonts ];
meta = {
homepage = "https://github.com/googlefonts/roboto-flex";
@@ -29,4 +25,4 @@ stdenvNoCC.mkDerivation rec {
platforms = lib.platforms.all;
maintainers = [ lib.maintainers.romildo ];
};
}
})
+7 -5
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
installFonts,
nix-update-script,
}:
@@ -9,6 +10,11 @@ stdenv.mkDerivation (finalAttrs: {
pname = "roboto-mono";
version = "3.001";
outputs = [
"out"
"webfont"
];
src = fetchFromGitHub {
owner = "googlefonts";
repo = "robotomono";
@@ -16,11 +22,7 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-i0r8x4VgaOYW/pYXK+AXw7jMwhA8Hs9VQ1lq5f/xTe0=";
};
installPhase = ''
runHook preInstall
install -Dm644 fonts/ttf/*.ttf -t $out/share/fonts/truetype/RobotoMono
runHook postInstall
'';
nativeBuildInputs = [ installFonts ];
passthru.updateScript = nix-update-script { };
+10 -11
View File
@@ -3,14 +3,20 @@
stdenvNoCC,
fetchurl,
unzip,
installFonts,
}:
stdenvNoCC.mkDerivation rec {
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "roboto-serif";
version = "1.008";
outputs = [
"out"
"webfont"
];
src = fetchurl {
url = "https://github.com/googlefonts/roboto-serif/releases/download/v${version}/RobotoSerifFonts-v${version}.zip";
url = "https://github.com/googlefonts/roboto-serif/releases/download/v${finalAttrs.version}/RobotoSerifFonts-v${finalAttrs.version}.zip";
hash = "sha256-Nm9DcxL0CgA51nGeZJPWSCipgqwnNPlhj0wHyGhLaYQ=";
};
@@ -18,16 +24,9 @@ stdenvNoCC.mkDerivation rec {
nativeBuildInputs = [
unzip
installFonts
];
installPhase = ''
runHook preInstall
install -Dm644 variable/*.ttf -t $out/share/fonts/truetype
runHook postInstall
'';
meta = {
description = "Roboto family of fonts";
longDescription = ''
@@ -40,4 +39,4 @@ stdenvNoCC.mkDerivation rec {
maintainers = with lib.maintainers; [ wegank ];
platforms = lib.platforms.all;
};
}
})
+6 -8
View File
@@ -1,10 +1,11 @@
{
lib,
stdenv,
stdenvNoCC,
fetchFromGitHub,
installFonts,
}:
stdenv.mkDerivation {
stdenvNoCC.mkDerivation {
pname = "roboto-slab";
version = "2.000";
@@ -15,14 +16,11 @@ stdenv.mkDerivation {
sha256 = "1v6z0a2xgwgf9dyj62sriy8ckwpbwlxkki6gfax1f4h4livvzpdn";
};
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp -a fonts/static/*.ttf $out/share/fonts/truetype/
postPatch = ''
rm -r ./old
'';
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "0g663npi5lkvwcqafd4cjrm90ph0nv1lig7d19xzfymnj47qpj8x";
nativeBuildInputs = [ installFonts ];
meta = {
homepage = "https://fonts.google.com/specimen/Roboto+Slab";
+3 -6
View File
@@ -2,6 +2,7 @@
lib,
stdenvNoCC,
fetchzip,
installFonts,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
@@ -14,13 +15,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
hash = "sha256-vfn4KmOHHSVYT9XK+mDz5f4s8LnkCAY/IyTa3Rmir2k=";
};
installPhase = ''
runHook preInstall
nativeBuildInputs = [ installFonts ];
install -Dm644 unhinted/static/*.ttf -t $out/share/fonts/truetype
runHook postInstall
'';
sourceRoot = "${finalAttrs.src.name}/unhinted/static";
meta = {
homepage = "https://github.com/googlefonts/roboto-3-classic";
+3 -3
View File
@@ -38,17 +38,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rustdesk";
version = "1.4.5";
version = "1.4.6";
src = fetchFromGitHub {
owner = "rustdesk";
repo = "rustdesk";
tag = finalAttrs.version;
fetchSubmodules = true;
hash = "sha256-FRtYafsIKHnGPV8NaiaHxIHkon8/T2P83uq9taUD1Xc=";
hash = "sha256-2MZOM+SHDrjFhCIHcFB7zABpwC7hNtS0XNFx2FpaqIE=";
};
cargoHash = "sha256-mEtTo1ony5w/dzJcHieG9WywHirBoQ/C0WpiAr7pUVc=";
cargoHash = "sha256-BYVqeuARE+B1AZLH0s5KlYz2/4qTB18LzzgiGBLXRYg=";
patches = [
./make-build-reproducible.patch
+6 -5
View File
@@ -5,15 +5,15 @@
bison,
lib,
}:
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "sc";
version = "2024-08-15";
version = "7.16_1.1.4";
src = fetchFromGitHub {
repo = "sc";
owner = "n-t-roff";
rev = "e029bc0fb5fa29da1fd23b04fa2a97039a96d2ba";
hash = "sha256-JQY+ixHL+TpP4YRpgB9GP4jO5+PBMS/v5Ad3Ux0+yuQ=";
tag = finalAttrs.version;
hash = "sha256-qC7UQQqprT0Td7TCCe7iB9qJIBp47GW3aBAon27Katg=";
};
buildInputs = [ ncurses ];
@@ -42,6 +42,7 @@ stdenv.mkDerivation {
homepage = "https://github.com/n-t-roff/sc";
license = lib.licenses.unlicense;
platforms = lib.platforms.unix;
maintainers = [ lib.maintainers.claes ];
};
}
})
+74
View File
@@ -0,0 +1,74 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitea,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
let
simpleCss = fetchFromGitHub {
owner = "kevquirk";
repo = "simple.css";
rev = "ba4af949057d489331759e0118de596222e0f5b7";
hash = "sha256-rihjNW1gf0k7DI8x+vaFUR4ehI3gXDV9zWV3DGSg4y8=";
};
in
buildGoModule (finalAttrs: {
pname = "searchix";
version = "0.4.4";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "alinnow";
repo = "searchix";
tag = "v${finalAttrs.version}";
hash = "sha256-R8/iR8QoeUwNQCFkr+JtoPq/iKkJRIe8dsbvGfFqinE=";
};
vendorHash = "sha256-yfcQgy4cQFRvtsyLHLojnJaWhle1ZR3unmaFQj8ljuw=";
subPackages = [ "cmd/searchix-web" ];
tags = [ "embed" ];
ldflags = [
"-s"
"-X=alin.ovh/searchix/internal/config.Version=${finalAttrs.version}"
];
preBuild = ''
rm -f frontend/static/base.css
cp ${simpleCss}/simple.css frontend/static/base.css
'';
postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
$out/bin/searchix-web generate-error-page --outdir $out/share/searchix/
'';
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "version";
doInstallCheck = true;
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Search tool for options and packages in the NixOS ecosystem";
homepage = "https://searchix.ovh/";
downloadPage = "https://codeberg.org/alinnow/searchix";
changelog = "https://codeberg.org/alinnow/searchix/src/tag/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
airone01
BatteredBunny
];
mainProgram = "searchix-web";
};
})
+2 -2
View File
@@ -16,13 +16,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "showmethekey";
version = "1.19.0";
version = "1.21.0";
src = fetchFromGitHub {
owner = "AlynxZhou";
repo = "showmethekey";
tag = "v${finalAttrs.version}";
hash = "sha256-jQRckUqLe9sshi3SJqpFwSsy5H0Gp17kkcCdslwg6cM=";
hash = "sha256-YcRlcfkdSF3z+5raIECdJsnxYP0ij8P2aHAODrblzP4=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -15,14 +15,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "vkd3d";
version = "1.18";
version = "1.19";
src = fetchFromGitLab {
domain = "gitlab.winehq.org";
owner = "wine";
repo = "vkd3d";
tag = "vkd3d-${finalAttrs.version}";
hash = "sha256-KMnWKzWFagOnxU0oS11lpAj03bGUpAS4f/8ZHb0nOwA=";
hash = "sha256-dAm24EVTOQHze5OCveebPJpM6X6SCkNaff1Q0HO7KPs=";
};
outputs = [
+32
View File
@@ -0,0 +1,32 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "wiki-go";
version = "1.8.4";
src = fetchFromGitHub {
owner = "leomoon-studios";
repo = "wiki-go";
tag = "v${version}";
hash = "sha256-bZ1lOLjlx0wxpjM/baBiWljBonv62N7sVQjeiSc975k=";
};
vendorHash = null;
ldflags = [
"-s"
"-w"
];
meta = {
description = "A modern, feature-rich, databaseless flat-file wiki platform built with Go";
homepage = "https://github.com/leomoon-studios/wiki-go";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ paepcke ];
mainProgram = "wiki-go";
};
}
+2 -2
View File
@@ -10,9 +10,9 @@
}:
let
version_4 = "4.12.0";
version_4 = "4.13.0";
version_3 = "3.8.7";
hash_4 = "sha256-HuUqk4g+MaDI7r1cKAwAtQeNrJ6G9T9IdPgybv2W2pU=";
hash_4 = "sha256-FP15a2ueihDm6f/GdXsnqI5drVHo0EtbmrhCZfRdugQ=";
hash_3 = "sha256-vRrk+Fs/7dZha3h7yI5NpMfd1xezesnigpFgTRCACZo=";
in
+11
View File
@@ -19,6 +19,7 @@
wrapGAppsHook3,
nix-update-script,
xvfb-run,
makeBinaryWrapper,
doCheck ? false,
}:
let
@@ -174,6 +175,11 @@ buildNpmPackage (finalAttrs: {
gawk
rsync
copyDesktopItems
]
++ lib.optionals stdenv.targetPlatform.isDarwin [
makeBinaryWrapper
]
++ lib.optionals (!stdenv.targetPlatform.isDarwin) [
wrapGAppsHook3
];
@@ -310,6 +316,11 @@ buildNpmPackage (finalAttrs: {
})
'';
postFixup = lib.optionalString stdenv.targetPlatform.isDarwin ''
mkdir -p $out/bin
makeWrapper $out/Applications/Zotero.app/Contents/MacOS/zotero $out/bin/zotero
'';
passthru.updateScript = nix-update-script { };
meta = {
@@ -1,7 +1,7 @@
import ./generic-builder.nix {
version = "1.20.0-rc.1";
hash = "sha256-FuTZHDI8ZNe6SHjiaPDZh21Ah7ek4kHqlYVvx0ybqI4=";
# https://hexdocs.pm/elixir/1.20.0-rc.1/compatibility-and-deprecations.html#between-elixir-and-erlang-otp
version = "1.20.0-rc.2";
hash = "sha256-un0F3EIwFJn/aeIHxlnlOWn41y1JCPtl+Xm+HSk03OE=";
# https://hexdocs.pm/elixir/1.20.0-rc.2/compatibility-and-deprecations.html#between-elixir-and-erlang-otp
minimumOTPVersion = "26";
maximumOTPVersion = "28";
}
+2 -2
View File
@@ -1,6 +1,6 @@
genericBuilder:
genericBuilder {
version = "28.3.3";
hash = "sha256-UGV1q5TiGK3/t6cXXGWf9pZO2kWxQVpFluTJTibczPk=";
version = "28.4";
hash = "sha256-1WqxypHs2/a0x+uyo0YxMIlH0YRGo/UZHptHcrPK1c4=";
}
@@ -1,7 +1,6 @@
{
lib,
asyncssh,
bcrypt,
buildPythonPackage,
fetchFromGitHub,
pytest-cov-stub,
@@ -13,22 +12,19 @@
buildPythonPackage rec {
pname = "aioasuswrt";
version = "2.0.8";
version = "1.5.4";
pyproject = true;
src = fetchFromGitHub {
owner = "kennedyshead";
repo = "aioasuswrt";
tag = "V${version}";
hash = "sha256-ax2XvZjZ1P8p80JW2WZAy2pdBKgwxuEaf6Erdna8E1s=";
hash = "sha256-tsvtOe3EX/Z7g6Z0MM2npYOTEJoKV9wUbhkhcROILxE=";
};
build-system = [ setuptools ];
dependencies = [
asyncssh
bcrypt
];
dependencies = [ asyncssh ];
nativeCheckInputs = [
pytest-asyncio
@@ -5,7 +5,6 @@
fetchFromGitHub,
lib,
poetry-core,
pyjwt,
pytest-asyncio,
pytest-cov-stub,
pytestCheckHook,
@@ -14,21 +13,20 @@
buildPythonPackage rec {
pname = "aiodukeenergy";
version = "1.0.0";
version = "0.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "hunterjm";
repo = "aiodukeenergy";
tag = "v${version}";
hash = "sha256-tHtuQFOw9CPqWJ6QzdqcN3W8uzjgZFh5z8DqAc+5jLo=";
hash = "sha256-BYDC2j2s6gg8/owTDdijqmReUSqDYWqHXf8BUzYn+sI=";
};
build-system = [ poetry-core ];
dependencies = [
aiohttp
pyjwt
yarl
];
@@ -4,33 +4,48 @@
azure-identity,
azure-storage-blob,
billiard,
boto3,
brotli,
brotlipy,
buildPythonPackage,
cassandra-driver,
click,
click-didyoumean,
click-plugins,
click-repl,
click,
cryptography,
exceptiongroup,
django,
elastic-transport,
elasticsearch,
ephem,
fetchFromGitHub,
gevent,
google-cloud-firestore,
google-cloud-storage,
grpcio,
isPyPy,
kazoo,
kombu,
moto,
msgpack,
pymongo,
redis,
pydantic,
pydocumentdb,
pylibmc,
pytest-celery,
pytest-click,
pytest-timeout,
pytest-xdist,
pytestCheckHook,
python-dateutil,
pyyaml,
python-memcached,
pyzmq,
setuptools,
tzlocal,
sphinx-autobuild,
tblib,
urllib3,
vine,
zstandard,
# The AMQP REPL depends on click-repl, which is incompatible with our version
# of click.
withAmqpRepl ? false,
@@ -70,21 +85,68 @@ buildPythonPackage rec {
];
optional-dependencies = {
# Everything commented is not packaged
# see https://github.com/celery/celery/tree/main/requirements/extras
arangodb = [
# pyarango
];
auth = [ cryptography ];
azureblockblob = [
azure-identity
azure-storage-blob
];
gevent = [ gevent ];
brotli = if isPyPy then [ brotlipy ] else [ brotli ];
cassandra = [ cassandra-driver ];
consul = [
# python-consul2
];
cosmosdbsql = [ pydocumentdb ];
couchbase = [ ];
couchdb = [
# pycouchdb
];
django = [ django ];
dynamodb = [ boto3 ];
elasticsearch = [
elasticsearch
elastic-transport
];
eventlet = [ ];
gcs = [
google-cloud-firestore
google-cloud-storage
grpcio
];
mongodb = [ pymongo ];
msgpack = [ msgpack ];
yaml = [ pyyaml ];
redis = [ redis ];
gevent = [ gevent ];
memcache = [ pylibmc ];
mongodb = kombu.optional-dependencies.mongodb;
msgpack = kombu.optional-dependencies.msgpack;
pydantic = [ pydantic ];
pymemcache = [ python-memcached ];
pyro = [ ];
pytest = [
pytest-celery
]
++ pytest-celery.optional-dependencies.all;
redis = kombu.optional-dependencies.redis;
s3 = [ boto3 ];
slmq = [
# softlayer-messaging
];
solar = lib.optionals isPyPy [ ephem ];
sphinxautobuild = [ sphinx-autobuild ];
sqlalchemy = kombu.optional-dependencies.sqlalchemy;
sqs = [
boto3
urllib3
]
++ kombu.optional-dependencies.sqs;
tblib = [ tblib ];
thread = [ ];
yaml = kombu.optional-dependencies.yaml;
zeromq = [ pyzmq ];
zookeeper = [ kazoo ];
zsdt = [ zstandard ];
};
nativeCheckInputs = [
@@ -29,16 +29,16 @@
tenacity,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "chatlas";
version = "0.15.0";
version = "0.15.2";
pyproject = true;
src = fetchFromGitHub {
owner = "posit-dev";
repo = "chatlas";
tag = "v${version}";
hash = "sha256-+muekY7WhnVFmZXWS4MuZO9ttEXfqx9mPw1t/1CSsmc=";
tag = "v${finalAttrs.version}";
hash = "sha256-BHqF60JTGlnP20BLQkcofkJUs7sAZAwhtr46y2HeNxY=";
};
build-system = [
@@ -169,8 +169,8 @@ buildPythonPackage rec {
description = "Friendly guide to building LLM chat apps in Python with less effort and more clarity";
homepage = "https://posit-dev.github.io/chatlas";
downloadPage = "https://github.com/posit-dev/chatlas";
changelog = "https://github.com/posit-dev/chatlas/blob/${src.tag}/CHANGELOG.md";
changelog = "https://github.com/posit-dev/chatlas/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
}
})
@@ -68,22 +68,23 @@
buildPythonPackage (finalAttrs: {
pname = "chromadb";
version = "1.5.0";
version = "1.5.2";
pyproject = true;
src = fetchFromGitHub {
owner = "chroma-core";
repo = "chroma";
tag = finalAttrs.version;
hash = "sha256-cjSWgXE5FiTIHzTjkpnaikKCgzLazG1wZYh2J0JbJ2Y=";
hash = "sha256-fIlev0B1PapZAO9PgrFIfIh429lcmh/dQ9aGHSNJSLw=";
};
# https://github.com/chroma-core/chroma/issues/5996
# https://github.com/chroma-core/chroma/issues/6546
disabled = pythonAtLeast "3.14";
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-oS+fT+mGz0b0O8s5hff85d26Czu+nI7sPjY3qwtTkM4=";
hash = "sha256-zoyn2IBeM5FlDpA0blYU5tpu8KFXHLG/KzvQN6Hsf2I=";
};
# Can't use fetchFromGitHub as the build expects a zipfile
@@ -221,6 +222,13 @@ buildPythonPackage (finalAttrs: {
# https://github.com/chroma-core/chroma/issues/6029
"test_embedding_function_config_roundtrip"
# Requires network access
"test_persistent_client_close"
"test_persistent_client_context_manager"
"test_ephemeral_client_close"
"test_ephemeral_client_context_manager"
"test_client_close_idempotent"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# Fails in nixpkgs-review on Darwin due to concurrent copies running and the lack of network namespaces.
@@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "cookidoo-api";
version = "0.16.0";
version = "0.15.0";
pyproject = true;
src = fetchFromGitHub {
owner = "miaucl";
repo = "cookidoo-api";
tag = version;
hash = "sha256-Qg2zyQrgRo21wAGYfzeZbUnBM4zHHDdq3kzGLo1UJ8M=";
hash = "sha256-oMosKW6MjeKPqSjF0+dc7CrNp4/5qlRoEY01HZ4sqog=";
};
build-system = [ setuptools ];
@@ -15,6 +15,7 @@
json-repair,
json5,
jsonref,
lancedb,
litellm,
mcp,
openai,
@@ -29,6 +30,7 @@
pyjwt,
python-dotenv,
regex,
textual,
tokenizers,
tomli,
tomli-w,
@@ -52,14 +54,14 @@
buildPythonPackage (finalAttrs: {
pname = "crewai";
version = "1.9.3";
version = "1.10.0";
pyproject = true;
src = fetchFromGitHub {
owner = "crewAIInc";
repo = "crewAI";
tag = finalAttrs.version;
hash = "sha256-bhpmR8sGDTjHw9JBa5oz4vHEF3gJT/fvvoCvPfYkJEQ=";
hash = "sha256-oHDGn77rmjKKH4t+5xSy+r6m/GaI+q6RDwrTpWfIrxs=";
};
postPatch = ''
@@ -84,6 +86,7 @@ buildPythonPackage (finalAttrs: {
"click"
"json-repair"
"json5"
"lancedb"
"litellm"
"mcp"
"openai"
@@ -112,6 +115,7 @@ buildPythonPackage (finalAttrs: {
json-repair
json5
jsonref
lancedb
litellm
mcp
openai
@@ -126,6 +130,7 @@ buildPythonPackage (finalAttrs: {
pyjwt
python-dotenv
regex
textual
tokenizers
tomli
tomli-w
@@ -135,11 +140,8 @@ buildPythonPackage (finalAttrs: {
pythonImportsCheck = [ "crewai" ];
disabledTestPaths = [
# Ignore tests that require {mem0, chromadb, telemetry, security, test_agent}
"tests/memory/test_external_memory.py" # require mem0ai
"tests/storage/test_mem0_storage.py" # require mem0ai
# Ignore tests that require {chromadb, telemetry, security, test_agent}
"tests/cli/test_git.py" # require git
"tests/memory/test_short_term_memory.py" # require require API keys
"tests/test_crew.py" # require require API keys
"tests/rag/chromadb/test_client.py" # issue with chromadb
"tests/telemetry/test_telemetry.py" # telemetry need network access
@@ -155,6 +157,7 @@ buildPythonPackage (finalAttrs: {
"tests/llms/litellm"
"tests/llms/hooks/test_anthropic_interceptor.py"
"tests/llms/hooks/test_unsupported_providers.py"
"tests/mcp/test_amp_mcp.py" # require crewai-tools
# Tests requiring network/API access
"tests/llms/openai"
@@ -164,6 +167,10 @@ buildPythonPackage (finalAttrs: {
"tests/hooks"
"tests/llms/hooks/test_openai_interceptor.py"
"tests/test_llm.py"
"tests/agents/test_native_tool_calling.py"
"tests/utilities/test_agent_utils.py"
"tests/utilities/test_events.py"
"tests/utilities/test_summarize_integration.py"
# Tests requiring crewai-tools
"tests/agents/test_lite_agent.py"
@@ -0,0 +1,92 @@
{
lib,
fetchFromGitHub,
buildPythonPackage,
hatchling,
# propagated
backports-zstd,
brotli,
django,
libvalkey,
lz4,
msgpack,
msgspec,
valkey,
# testing
anyio,
pytest-django,
pytest-mock,
pytestCheckHook,
redisTestHook,
}:
buildPythonPackage rec {
pname = "django-valkey";
version = "0.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "django-commons";
repo = "django-valkey";
tag = version;
hash = "sha256-F6BycXVBmfmtRL1C05lgg/2wehcmlqA5WWGgAIxuAsE=";
};
build-system = [ hatchling ];
dependencies = [
django
valkey
];
optional-dependencies = {
brotli = [ brotli ];
libvalkey = [ libvalkey ];
lz4 = [ lz4 ];
msgpack = [ msgpack ];
msgspec = [ msgspec ];
pyzstd = [ backports-zstd ];
zstd = [ backports-zstd ];
};
pythonImportsCheck = [ "django_valkey" ];
nativeCheckInputs = [
anyio
pytest-django
pytest-mock
pytestCheckHook
redisTestHook # contains valkey
]
++ lib.flatten (lib.attrValues optional-dependencies);
disabledTestPaths = [
# requires valkey cluster
"tests/tests_cluster/test_backend.py"
"tests/tests_cluster/test_cache_options.py"
"tests/tests_cluster/test_client.py"
# AttributeError: 'ValkeyCache' object has no attribute 'aset'
"tests/tests_async/test_backend.py"
# TypeError: object NoneType can't be used in 'await' expression
"tests/tests_async/test_cache_options.py"
# AttributeError: 'DefaultClient' object has no attribute 'aset'. Did you mean: 'hset'?
"tests/tests_async/test_client.py"
# AttributeError: 'ValkeyCache' object has no attribute 'ahas_key'
"tests/tests_async/test_session.py"
"tests/tests_async/test_requests.py"
];
__darwinAllowLocalNetworking = true;
meta = with lib; {
description = "Valkey backend for django";
homepage = "https://github.com/django-commons/django-valkey";
changelog = "https://github.com/django-commons/django-valkey/releases/tag/${version}";
license = licenses.bsd3;
maintainers = [ ];
};
}
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "einx";
version = "0.3.0";
version = "0.4.1";
pyproject = true;
src = fetchFromGitHub {
owner = "fferflo";
repo = "einx";
rev = "v${version}";
hash = "sha256-lbcf47h1tW1fj94NLG4iJPEs6ziGPkcX1Q+wn59PvS8=";
hash = "sha256-n+39RMmdMPsfSufa7rHas2cbRa0SQMTaU5oRksHlDr0=";
};
build-system = [
@@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "energyzero";
version = "5.0.0";
version = "4.0.1";
pyproject = true;
src = fetchFromGitHub {
owner = "klaasnicolaas";
repo = "python-energyzero";
tag = "v${version}";
hash = "sha256-gX8clg0xqIhk8/RYV6P5exnzXPLmYLGUX65Y0Nwt2F8=";
hash = "sha256-Tisng08X/jyNtT27qy1hH6qM6Nqho/X8bg1tFg1oIx8=";
};
postPatch = ''
@@ -51,7 +51,7 @@ buildPythonPackage rec {
meta = {
description = "Module for getting the dynamic prices from EnergyZero";
homepage = "https://github.com/klaasnicolaas/python-energyzero";
changelog = "https://github.com/klaasnicolaas/python-energyzero/releases/tag/${src.tag}";
changelog = "https://github.com/klaasnicolaas/python-energyzero/releases/tag/v${version}";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ fab ];
};
@@ -8,7 +8,6 @@
isodate,
nest-asyncio,
pytestCheckHook,
mock,
pyhamcrest,
pyyaml,
radish-bdd,
@@ -60,7 +59,6 @@ buildPythonPackage rec {
nativeCheckInputs = [
pytestCheckHook
mock
pyhamcrest
pyyaml
radish-bdd
@@ -79,6 +77,7 @@ buildPythonPackage rec {
"tests/driver/test_driver_remote_connection_threaded.py"
"tests/driver/test_web_socket_client_behavior.py"
"tests/process/test_dsl.py"
"tests/process/test_traversal.py" # dead locks
"tests/structure/io/test_functionalityio.py"
];
@@ -86,14 +85,6 @@ buildPythonPackage rec {
"TestFunctionalGraphSONIO and test_timestamp"
"TestFunctionalGraphSONIO and test_datetime"
"TestFunctionalGraphSONIO and test_uuid"
"test_transaction_commit"
"test_transaction_rollback"
"test_transaction_no_begin"
"test_multi_commit_transaction"
"test_multi_rollback_transaction"
"test_multi_commit_and_rollback"
"test_transaction_close_tx"
"test_transaction_close_tx_from_parent"
];
meta = {
@@ -8,7 +8,6 @@
numpy,
polib,
pytest-cov-stub,
pytest-xdist,
pytestCheckHook,
python-dateutil,
setuptools,
@@ -16,14 +15,14 @@
buildPythonPackage rec {
pname = "holidays";
version = "0.89";
version = "0.85";
pyproject = true;
src = fetchFromGitHub {
owner = "vacanza";
repo = "python-holidays";
tag = "v${version}";
hash = "sha256-g7f0364Xxz+jTjgA8y0nEPbzNalQdMLdwoBZ2odq1W0=";
hash = "sha256-ExleK66foB2Q/KK7zcPJ16q4ucz3gOkntB2SQETfHqk=";
};
build-system = [
@@ -37,10 +36,6 @@ buildPythonPackage rec {
postPatch = ''
patchShebangs scripts/l10n/*.py
# generating l10n files imports holidays before distinfo metadata exists
substituteInPlace holidays/version.py \
--replace-fail 'version("holidays")' '"${version}"'
'';
preBuild = ''
@@ -56,7 +51,6 @@ buildPythonPackage rec {
numpy
polib
pytest-cov-stub
pytest-xdist
pytestCheckHook
];
@@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "imeon-inverter-api";
version = "0.4.1";
version = "0.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Imeon-Inverters-for-Home-Assistant";
repo = "inverter-api";
tag = version;
hash = "sha256-+LIDrbSAGVkakofHZsyNJh8vPV87qA6VCW9eY1DhWEU=";
hash = "sha256-8tecWWDYFq+kAqWM9vKhM15LKnEVqaDBkH6jh0xwIsE=";
};
build-system = [ pdm-pep517 ];
@@ -31,28 +31,22 @@
gitUpdater,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "langchain-huggingface";
version = "1.2.0";
version = "1.2.1";
pyproject = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain";
tag = "langchain-huggingface==${version}";
hash = "sha256-ucKhuu8J6XudIyjCniJixFq79wPfoCnNBUd6r1U2ieI=";
tag = "langchain-huggingface==${finalAttrs.version}";
hash = "sha256-I6n7UNEbGqlyzT663k7+YpcaB/+rE9RlkqIToupoEyY=";
};
sourceRoot = "${src.name}/libs/partners/huggingface";
sourceRoot = "${finalAttrs.src.name}/libs/partners/huggingface";
build-system = [ hatchling ];
pythonRelaxDeps = [
# Each component release requests the exact latest core.
# That prevents us from updating individual components.
"langchain-core"
];
dependencies = [
huggingface-hub
langchain-core
@@ -94,7 +88,7 @@ buildPythonPackage rec {
};
meta = {
changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}";
changelog = "https://github.com/langchain-ai/langchain/releases/tag/${finalAttrs.src.tag}";
description = "Integration package connecting Huggingface related classes and LangChain";
homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/huggingface";
license = lib.licenses.mit;
@@ -103,4 +97,4 @@ buildPythonPackage rec {
sarahec
];
};
}
})
@@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "meteo-lt-pkg";
version = "0.4.0";
version = "0.2.4";
pyproject = true;
src = fetchFromGitHub {
owner = "Brunas";
repo = "meteo_lt-pkg";
tag = "v${version}";
hash = "sha256-JYuWO9w0JHjmx4pnjh/WSKJNxVePkqWzPew0wd06uJ8=";
hash = "sha256-OjIBgIOSJ65ryIF4D/UUUa1Oq0sPkKnaQEJeviimqhE=";
};
build-system = [ setuptools ];
@@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "nsapi";
version = "3.2.1";
version = "3.1.3";
pyproject = true;
src = fetchFromGitHub {
owner = "aquatix";
repo = "ns-api";
tag = "v${version}";
hash = "sha256-eZT6DU68wcEYyoFejECuluzit9MDA269zaKVFWpSuc8=";
hash = "sha256-Buhc0643WeX/4ZU/RkzNWiFjfEAJUtNL6uJ98unTnCg=";
};
build-system = [ setuptools ];
@@ -0,0 +1,37 @@
{
buildPythonPackage,
hatchling,
opentelemetry-api,
opentelemetry-instrumentation,
opentelemetry-test-utils,
pytestCheckHook,
wrapt,
}:
buildPythonPackage {
inherit (opentelemetry-instrumentation) version src;
pname = "opentelemetry-instrumentation-threading";
pyproject = true;
sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-threading";
build-system = [ hatchling ];
dependencies = [
opentelemetry-api
opentelemetry-instrumentation
wrapt
];
nativeCheckInputs = [
opentelemetry-test-utils
pytestCheckHook
];
pythonImportsCheck = [ "opentelemetry.instrumentation.threading" ];
meta = opentelemetry-instrumentation.meta // {
description = "Thread context propagation support for OpenTelemetry";
homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-threading";
};
}
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "pyspeex-noise";
version = "2.0.0";
version = "1.0.2";
pyproject = true;
src = fetchFromGitHub {
owner = "rhasspy";
repo = "pyspeex-noise";
tag = "v${version}";
hash = "sha256-sOm3zYXI84c/8Qh4rvEZGcBo/avqS+ul+uLwtmCCc1I=";
tag = version;
hash = "sha256-XtLA5yVVCZdpALPu3fx+U+aaA729Vs1UeOJsIm6/S+k=";
};
build-system = [
@@ -31,7 +31,7 @@ buildPythonPackage rec {
];
meta = {
changelog = "https://github.com/rhasspy/pyspeex-noise/blob/${src.tag}/CHANGELOG.md";
changelog = "https://github.com/rhasspy/pyspeex-noise/blob/${src.rev}/CHANGELOG.md";
description = "Noise suppression and automatic gain with speex";
homepage = "https://github.com/rhasspy/pyspeex-noise";
license = with lib.licenses; [
@@ -1,7 +1,6 @@
{
lib,
buildPythonPackage,
celery,
debugpy,
docker,
fetchFromGitHub,
@@ -11,6 +10,13 @@
pytest-docker-tools,
pytest,
tenacity,
# optional dependencies
redis,
python-memcached,
boto3,
botocore,
urllib3,
}:
buildPythonPackage rec {
@@ -53,6 +59,23 @@ buildPythonPackage rec {
tenacity
];
optional-dependencies = {
all = [
redis
python-memcached
boto3
botocore
urllib3
];
redis = [ redis ];
memcached = [ python-memcached ];
sqs = [
boto3
botocore
urllib3
];
};
# Infinite recursion with celery
doCheck = false;
@@ -1,24 +1,35 @@
{
lib,
buildPythonPackage,
cliff,
fetchFromGitHub,
keystoneauth1,
openstackdocstheme,
pbr,
setuptools,
# direct
cliff,
osc-lib,
oslo-i18n,
oslo-serialization,
oslo-utils,
oslotest,
osprofiler,
pbr,
keystoneauth1,
pyparsing,
setuptools,
# tests
stestrCheckHook,
versionCheckHook,
openstacksdk,
oslotest,
tempest,
testtools,
pifpaf,
# docs
sphinxHook,
stestr,
openstackdocstheme,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "python-aodhclient";
version = "3.10.1";
pyproject = true;
@@ -26,11 +37,11 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "openstack";
repo = "python-aodhclient";
tag = version;
tag = finalAttrs.version;
hash = "sha256-xm42ZicdBxxm4LTDHPhEIeNU6evBZtp2PGvGy6V2t8c=";
};
env.PBR_VERSION = version;
env.PBR_VERSION = finalAttrs.version;
build-system = [
pbr
@@ -44,6 +55,10 @@ buildPythonPackage rec {
sphinxBuilders = [ "man" ];
patches = [
./fix-pyproject.patch
];
dependencies = [
cliff
keystoneauth1
@@ -57,23 +72,31 @@ buildPythonPackage rec {
];
nativeCheckInputs = [
stestrCheckHook
openstacksdk
oslotest
stestr
tempest
testtools
pifpaf
];
checkPhase = ''
runHook preCheck
stestr run
runHook postCheck
'';
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
pythonImportsCheck = [ "aodhclient" ];
pythonImportsCheck = [
"aodhclient"
"aodhclient.v2"
"aodhclient.tests"
"aodhclient.tests.functional"
"aodhclient.tests.unit"
];
meta = {
homepage = "https://github.com/openstack/python-aodhclient";
description = "Client library for OpenStack Aodh API";
description = "Client library for OpenStack AOodh API";
homepage = "https://docs.openstack.org/python-aodhclient/latest/";
downloadPage = "https://github.com/openstack/python-aodhclientz /releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
mainProgram = "aodh";
teams = [ lib.teams.openstack ];
};
}
})
@@ -0,0 +1,18 @@
diff --git a/pyproject.toml b/pyproject.toml
index 877242f..b5707c0 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -33,10 +33,9 @@ classifiers = [
Homepage = "https://docs.openstack.org/python-aodhclient"
Repository = "https://opendev.org/openstack/python-aodhclient"
-[tool.setuptools]
-packages = [
- "aodhclient"
-]
+[tool.setuptools.packages.find]
+where = ["."]
+include = ["aodhclient*"]
[project.scripts]
aodh = "aodhclient.shell:main"
@@ -1,9 +1,9 @@
{ lib }:
rec {
version = "1.145.0";
version = "1.152.0";
srcHash = "sha256-yeTToWfCchGHGsSx/Ly3FQmj7K8iW66qItYs0MVtJvo=";
srcHash = "sha256-CwF9URo3nUfkIWP277y03Bq9P6FUC4CQLjuiYwCPR6M=";
# submodule dependencies
# these are fetched so we:
@@ -13,8 +13,8 @@ rec {
"cli/src/semgrep/semgrep_interfaces" = {
owner = "semgrep";
repo = "semgrep-interfaces";
rev = "e5da9678488bc24e0d5c27a4de71ad67d375cc58";
hash = "sha256-9ilDZQmKYD2JN+CQ8VVyNyrjKYXttF+3KspRPHhuPF8=";
rev = "76ce6450aba3422c297b35a16e38b9fd740fc860";
hash = "sha256-hU76aICQEI7n4tWwZX2fRjgiVw811E4UDkfqQqxX8c0=";
};
};
@@ -25,19 +25,19 @@ rec {
core = {
x86_64-linux = {
platform = "musllinux_1_0_x86_64.manylinux2014_x86_64";
hash = "sha256-W6qWqGiuqOJcBAvTIbTCj4aMLMiAhabJ22lldu3cAR4=";
hash = "sha256-XFZfCxvfCSAs2NxCCbmIU2uN0StNwEPSGaTmaHpYMPo=";
};
aarch64-linux = {
platform = "musllinux_1_0_aarch64.manylinux2014_aarch64";
hash = "sha256-WM2aq4PpYSNqB8PONJAqrYAzQNhIoK1MQvqoJri4S/Q=";
hash = "sha256-XdmzHKizsxrls1Ry7pW40f4BRjA6HEayhDUXuxDHoWk=";
};
x86_64-darwin = {
platform = "macosx_10_14_x86_64";
hash = "sha256-cpE+GBOZnWsNKRTFzpAQCl+JaqPl0bgLvW4GFdwnMQc=";
hash = "sha256-4ZVFhsN5VyDE/VTnzfellv2dHQIT2nCTKd/54UBRPw0=";
};
aarch64-darwin = {
platform = "macosx_11_0_arm64";
hash = "sha256-FAjHtlrGLOGxE7c0/Qd+SpX6NTIh09zDbVAbxQHCDKc=";
hash = "sha256-rEK6kAEKdwIOcmdMhyjTn5MIXbEwLPqrZV3pg3cQINk=";
};
};
@@ -57,6 +57,7 @@ rec {
maintainers = with lib.maintainers; [
jk
ambroisie
caverav
];
};
}
@@ -21,6 +21,7 @@
opentelemetry-api,
opentelemetry-exporter-otlp-proto-http,
opentelemetry-instrumentation-requests,
opentelemetry-instrumentation-threading,
opentelemetry-sdk,
mcp,
packaging,
@@ -32,6 +33,7 @@
requests,
rich,
ruamel-yaml,
semantic-version,
tomli,
tqdm,
types-freezegun,
@@ -94,6 +96,7 @@ buildPythonPackage rec {
requests
rich
ruamel-yaml
semantic-version
tqdm
packaging
jsonschema
@@ -109,6 +112,7 @@ buildPythonPackage rec {
opentelemetry-sdk
opentelemetry-exporter-otlp-proto-http
opentelemetry-instrumentation-requests
opentelemetry-instrumentation-threading
];
doCheck = true;
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "simsimd";
version = "6.5.13";
version = "6.5.15";
pyproject = true;
src = fetchFromGitHub {
owner = "ashvardanian";
repo = "SimSIMD";
tag = "v${version}";
hash = "sha256-jNJ44jCPcs83HbLSkup6eeCL0Hf+SyU4RzyQAyuPJ94=";
hash = "sha256-JmduFKRpnVR2qj22uaKA2hZ3C5BDamBiY+HqozquEVg=";
};
build-system = [
@@ -90,6 +90,8 @@ let
inherit (llvm) clang;
};
rocprof-trace-decoder = self.callPackage ./rocprof-trace-decoder { };
roctracer = self.callPackage ./roctracer { };
rocgdb = self.callPackage ./rocgdb { };
@@ -0,0 +1,85 @@
{
lib,
stdenv,
fetchFromGitHub,
rocmPackages,
cmake,
python3,
nlohmann_json,
gtest,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "rocprof-trace-decoder";
version = "0.1.7";
src = fetchFromGitHub {
owner = "ROCm";
repo = "rocm-systems";
# No tags (yet?)
rev = "feeca99950c590e0b8228733405c4a1a10fa4773";
sparseCheckout = [
"projects/rocprof-trace-decoder"
"shared"
];
hash = "sha256-aJhPiZf5380jj2IeCipgcTEQYogr5R19UnVwKRGnkxo=";
};
sourceRoot = "${finalAttrs.src.name}/projects/rocprof-trace-decoder";
patches = [
./use-system-dependencies.patch
# https://github.com/ROCm/rocm-systems/pull/3800
./fix-test-dependency.patch
];
strictDeps = true;
nativeBuildInputs = [ cmake ];
buildInputs = [
rocmPackages.rocm-comgr
rocmPackages.rocm-runtime
];
cmakeFlags = [
(lib.cmakeBool "BUILD_TESTS" finalAttrs.doCheck)
];
nativeCheckInputs = [
python3
];
checkInputs = [
nlohmann_json
gtest
];
preCheck = ''
patchShebangs test
'';
checkPhase =
let
# Sanitize tests fail because the UBSan runtime (__ubsan_vptr_type_cache) is not available for
# LD_PRELOAD in the sandbox.
skipPattern = "_sanitize$";
in
''
runHook preCheck
ctest --test-dir . --output-on-failure -E '${skipPattern}'
runHook postCheck
'';
doCheck = true;
meta = {
description = "Library for decoding ROCm thread trace data";
homepage = "https://github.com/ROCm/rocm-systems/tree/develop/projects/rocprof-trace-decoder";
license = with lib.licenses; [ mit ];
teams = [ lib.teams.rocm ];
platforms = lib.platforms.linux;
};
})
@@ -0,0 +1,15 @@
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index a923cadce53..95a4d3a807f 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -186,7 +186,9 @@ if(BUILD_INTEGRATION_TESTS)
WORKING_DIRECTORY
${TEST_BIN_DIR}
FIXTURES_REQUIRED
- unpack_data)
+ unpack_data
+ DEPENDS
+ ${DATA}_execute)
endif()
endforeach(DATA)
endif()
@@ -0,0 +1,81 @@
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index a923cad..53b0f49 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -34,13 +34,7 @@ if(DISABLE_COMGR)
endif()
if(NOT APPLE AND BUILD_INTEGRATION_TESTS)
- # Add nlohmann JSON as an external dependency
- include(FetchContent)
- FetchContent_Declare(
- json
- GIT_REPOSITORY https://github.com/nlohmann/json.git
- GIT_TAG v3.11.3)
- FetchContent_MakeAvailable(json)
+ find_package(nlohmann_json REQUIRED)
add_subdirectory(att-tool)
endif()
diff --git a/test/att-tool/CMakeLists.txt b/test/att-tool/CMakeLists.txt
index 208af16..acd161f 100644
--- a/test/att-tool/CMakeLists.txt
+++ b/test/att-tool/CMakeLists.txt
@@ -1,7 +1,7 @@
#
# ATT decoder wrapper library for use by the rocprofv3 tool
#
-find_library(COMGR REQUIRED NAMES amd_comgr HINTS /opt/rocm/lib)
+find_library(COMGR REQUIRED NAMES amd_comgr)
set(ATT_TOOL_SOURCE_FILES
waitcnt/analysis.cpp
@@ -19,8 +19,11 @@ set(ATT_TOOL_SOURCE_FILES
set(DECODER_SRC ${CMAKE_CURRENT_SOURCE_DIR}/../../source/)
-set(INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../../include/ ${DECODER_SRC} ${CMAKE_CURRENT_SOURCE_DIR} ${json_SOURCE_DIR}/include /opt/rocm/include)
-set(LINK_LIBS ${COMGR} pthread)
+set(INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../../include/ ${DECODER_SRC} ${CMAKE_CURRENT_SOURCE_DIR})
+find_path(COMGR_INCLUDE_DIR REQUIRED NAMES amd_comgr.h PATH_SUFFIXES amd_comgr)
+find_path(HSA_INCLUDE_DIR REQUIRED NAMES hsa/amd_hsa_elf.h)
+set(LINK_LIBS ${COMGR} pthread nlohmann_json::nlohmann_json)
+list(APPEND INCLUDE_DIRS ${COMGR_INCLUDE_DIR} ${HSA_INCLUDE_DIR})
# Sources re-globbed only for sanitizer builds
file(GLOB ATT_DECODER_V3_FILES
diff --git a/test/att-tool/sdk/disassembly.hpp b/test/att-tool/sdk/disassembly.hpp
index c054143..ec3d6d2 100644
--- a/test/att-tool/sdk/disassembly.hpp
+++ b/test/att-tool/sdk/disassembly.hpp
@@ -22,7 +22,7 @@
#pragma once
-#include <amd_comgr/amd_comgr.h>
+#include <amd_comgr.h>
#include <hsa/amd_hsa_elf.h>
#include <fcntl.h>
diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt
index 8adafc0..9501efe 100644
--- a/test/unit/CMakeLists.txt
+++ b/test/unit/CMakeLists.txt
@@ -9,16 +9,7 @@ project(att-decoder-unit-tests LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
-# Fetch GoogleTest
-include(FetchContent)
-FetchContent_Declare(
- googletest
- GIT_REPOSITORY https://github.com/google/googletest.git
- GIT_TAG v1.14.0)
-set(INSTALL_GTEST
- OFF
- CACHE BOOL "" FORCE)
-FetchContent_MakeAvailable(googletest)
+find_package(GTest REQUIRED)
enable_testing()
@@ -7,13 +7,13 @@
buildHomeAssistantComponent rec {
owner = "andrew-codechimp";
domain = "battery_notes";
version = "3.3.2";
version = "3.3.4";
src = fetchFromGitHub {
inherit owner;
repo = "HA-Battery-Notes";
tag = version;
hash = "sha256-vsReMeyLuKUzB/XldEOEjW4sfyzYC0lKPgUVnvKMUJM=";
hash = "sha256-H++0Q7X4mQ8d+goTMuvfQiLExax0+0AhotJALTYVz1s=";
};
# has no tests
+5 -5
View File
@@ -1,8 +1,8 @@
{
"serverVersion": "0.19.15",
"uiVersion": "0.19.15",
"serverHash": "sha256-8j18F0I7GnZ4OxIvWM9N4CEe9TnRJKAqukb1160ygv8=",
"serverCargoHash": "sha256-8I3ZoMhfxdfhOF/cmtNZew3QgjuIgKLbuftS9Y7FHhw=",
"uiHash": "sha256-vynfOAi7sRBJbA9y/2RULq79PP0YkgvlUZz6jOxPlhs=",
"serverVersion": "0.19.16",
"uiVersion": "0.19.16",
"serverHash": "sha256-LHde5OEP/V8ViGkQY73I5ERX5kza/+t5zGx3XxijvFg=",
"serverCargoHash": "sha256-2YqJ5wC7H53JSEjGV6AFTlNnhsCn9PNxwesevxX8R3w=",
"uiHash": "sha256-KC2Emn1kGEz6Ic8WW/Xk3R9sP5XHb8pzpk4wRobVwwc=",
"uiPNPMDepsHash": "sha256-UOovErxC060rAVTERdNdZRg+zP2RHL6Hii8RqVe5ye8="
}
+6
View File
@@ -4400,6 +4400,8 @@ self: super: with self; {
django-types = callPackage ../development/python-modules/django-types { };
django-valkey = callPackage ../development/python-modules/django-valkey { };
django-versatileimagefield =
callPackage ../development/python-modules/django-versatileimagefield
{ };
@@ -11658,6 +11660,10 @@ self: super: with self; {
callPackage ../development/python-modules/opentelemetry-instrumentation-sqlalchemy
{ };
opentelemetry-instrumentation-threading =
callPackage ../development/python-modules/opentelemetry-instrumentation-threading
{ };
opentelemetry-instrumentation-urllib3 =
callPackage ../development/python-modules/opentelemetry-instrumentation-urllib3
{ };
-2
View File
@@ -151,7 +151,6 @@ let
jobs.gimp2.x86_64-darwin # FIXME replace with gimp once https://github.com/NixOS/nixpkgs/issues/411189 is resoved
jobs.emacs.x86_64-darwin
jobs.wireshark.x86_64-darwin
jobs.transmission_4-gtk.x86_64-darwin
# Tests
/*
@@ -194,7 +193,6 @@ let
jobs.gimp2.aarch64-darwin # FIXME replace with gimp once https://github.com/NixOS/nixpkgs/issues/411189 is resoved
jobs.emacs.aarch64-darwin
jobs.wireshark.aarch64-darwin
jobs.transmission_4-gtk.aarch64-darwin
# Tests
/*