Merge staging-next into staging
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -354,7 +354,6 @@ in
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
abysssol
|
||||
onny
|
||||
];
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
'';
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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,7 +1,7 @@
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
name = "ollama-cuda";
|
||||
meta.maintainers = with lib.maintainers; [ abysssol ];
|
||||
meta.maintainers = [ ];
|
||||
|
||||
nodes.cuda =
|
||||
{ ... }:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
name = "ollama-rocm";
|
||||
meta.maintainers = with lib.maintainers; [ abysssol ];
|
||||
meta.maintainers = [ ];
|
||||
|
||||
nodes.rocm =
|
||||
{ ... }:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
name = "ollama-vulkan";
|
||||
meta.maintainers = with lib.maintainers; [ abysssol ];
|
||||
meta.maintainers = [ ];
|
||||
|
||||
nodes.vulkan =
|
||||
{ ... }:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
|
||||
@@ -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
|
||||
];
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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="
|
||||
}
|
||||
|
||||
@@ -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
|
||||
{ };
|
||||
|
||||
@@ -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
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user