Merge master into staging-nixos
This commit is contained in:
@@ -10579,6 +10579,11 @@
|
||||
githubId = 982322;
|
||||
name = "Henrik Olsson";
|
||||
};
|
||||
henrikvtcodes = {
|
||||
github = "henrikvtcodes";
|
||||
githubId = 22358337;
|
||||
name = "Henrik VT";
|
||||
};
|
||||
henrirosten = {
|
||||
email = "henri.rosten@unikie.com";
|
||||
github = "henrirosten";
|
||||
@@ -11985,6 +11990,11 @@
|
||||
github = "jaredmontoya";
|
||||
githubId = 49511278;
|
||||
};
|
||||
jasanfarah = {
|
||||
github = "jasanfarah";
|
||||
githubId = 69898185;
|
||||
name = "Jasan Farah";
|
||||
};
|
||||
jasoncarr = {
|
||||
email = "jcarr250@gmail.com";
|
||||
github = "jasoncarr0";
|
||||
|
||||
@@ -1780,6 +1780,7 @@
|
||||
./services/web-apps/vikunja.nix
|
||||
./services/web-apps/wakapi.nix
|
||||
./services/web-apps/weblate.nix
|
||||
./services/web-apps/websurfx.nix
|
||||
./services/web-apps/whitebophir.nix
|
||||
./services/web-apps/whoami.nix
|
||||
./services/web-apps/wiki-js.nix
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
utils,
|
||||
...
|
||||
}:
|
||||
let
|
||||
@@ -11,20 +12,17 @@ let
|
||||
documentationLink = "https://manual.calibre-ebook.com";
|
||||
generatedDocumentationLink = documentationLink + "/generated/en/calibre-server.html";
|
||||
|
||||
execFlags = (
|
||||
lib.concatStringsSep " " (
|
||||
lib.mapAttrsToList (k: v: "${k} ${toString v}") (
|
||||
lib.filterAttrs (name: value: value != null) {
|
||||
"--listen-on" = cfg.host;
|
||||
"--port" = cfg.port;
|
||||
"--auth-mode" = cfg.auth.mode;
|
||||
"--userdb" = cfg.auth.userDb;
|
||||
}
|
||||
)
|
||||
++ [ (lib.optionalString (cfg.auth.enable == true) "--enable-auth") ]
|
||||
++ cfg.extraFlags
|
||||
execFlags =
|
||||
lib.mapAttrsToList (k: v: "--${k}=${toString v}") (
|
||||
lib.filterAttrs (name: value: value != null) {
|
||||
listen-on = cfg.host;
|
||||
port = cfg.port;
|
||||
auth-mode = cfg.auth.mode;
|
||||
userdb = cfg.auth.userDb;
|
||||
}
|
||||
)
|
||||
);
|
||||
++ lib.optional cfg.auth.enable "--enable-auth"
|
||||
++ cfg.extraFlags;
|
||||
in
|
||||
|
||||
{
|
||||
@@ -150,7 +148,9 @@ in
|
||||
serviceConfig = {
|
||||
User = cfg.user;
|
||||
Restart = "always";
|
||||
ExecStart = "${cfg.package}/bin/calibre-server ${lib.concatStringsSep " " cfg.libraries} ${execFlags}";
|
||||
ExecStart = utils.escapeSystemdExecArgs (
|
||||
[ "${cfg.package}/bin/calibre-server" ] ++ execFlags ++ [ "--" ] ++ cfg.libraries
|
||||
);
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
@@ -485,6 +485,7 @@ in
|
||||
PrivateNetwork = cfg.database.createLocally; # defaultServiceConfig enables this by default, needs to be disabled for remote DBs
|
||||
};
|
||||
environment = env;
|
||||
unitConfig.RequiresMountsFor = defaultServiceConfig.ReadWritePaths;
|
||||
|
||||
preStart = ''
|
||||
# remove old papaerless-manage symlink
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.services.websurfx;
|
||||
settingsFormat = pkgs.formats.lua { asBindings = true; };
|
||||
settingsFile = settingsFormat.generate "config.lua" cfg.settings;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
services.websurfx = {
|
||||
enable = lib.mkEnableOption "Websurfx, a metasearch engine";
|
||||
package = lib.mkPackageOption pkgs "websurfx" { };
|
||||
openFirewall = lib.mkEnableOption "Whether to open the used port in the firewall";
|
||||
settings = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
freeformType = settingsFormat.type;
|
||||
|
||||
options.binding_ip = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "127.0.0.1";
|
||||
description = "IP address on which the server should be launched";
|
||||
};
|
||||
options.port = lib.mkOption {
|
||||
type = lib.types.port;
|
||||
default = 4567;
|
||||
description = "Port on which the server should be launched";
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = ''
|
||||
Configuration options for Websurfx, see
|
||||
[websurfx/config.lua](https://github.com/neon-mmd/websurfx/blob/rolling/websurfx/config.lua)
|
||||
for supported values.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.websurfx.settings = {
|
||||
# General
|
||||
logging = lib.mkDefault true;
|
||||
debug = lib.mkDefault false;
|
||||
threads = lib.mkDefault 10;
|
||||
|
||||
# Server
|
||||
production_use = lib.mkDefault false;
|
||||
request_timeout = lib.mkDefault 30;
|
||||
tcp_connection_keep_alive = lib.mkDefault 30;
|
||||
pool_idle_connection_timeout = lib.mkDefault 30;
|
||||
rate_limiter = {
|
||||
number_of_requests = lib.mkDefault 20;
|
||||
time_limit = lib.mkDefault 3;
|
||||
};
|
||||
https_adaptive_window_size = lib.mkDefault true;
|
||||
|
||||
operating_system_tls_certificates = lib.mkDefault true;
|
||||
|
||||
number_of_https_connections = lib.mkDefault 10;
|
||||
client_connection_keep_alive = lib.mkDefault 120;
|
||||
|
||||
# Search
|
||||
safe_search = lib.mkDefault 2;
|
||||
|
||||
# Website
|
||||
colorscheme = lib.mkDefault "catppuccin-mocha";
|
||||
theme = lib.mkDefault "simple";
|
||||
animation = lib.mkDefault "simple-frosted-glow";
|
||||
|
||||
# Caching
|
||||
#redis_url = "redis://127.0.0.1:8082"; # The nixpkgs build doesn't have the redis-cache feature enabled
|
||||
cache_expiry_time = lib.mkDefault 600;
|
||||
|
||||
# Search Engines
|
||||
upstream_search_engines = {
|
||||
DuckDuckGo = lib.mkDefault true;
|
||||
Searx = lib.mkDefault false;
|
||||
Brave = lib.mkDefault false;
|
||||
Startpage = lib.mkDefault false;
|
||||
LibreX = lib.mkDefault false;
|
||||
Mojeek = lib.mkDefault false;
|
||||
Bing = lib.mkDefault false;
|
||||
Wikipedia = lib.mkDefault true;
|
||||
Yahoo = lib.mkDefault false;
|
||||
};
|
||||
|
||||
proxy = lib.mkDefault null;
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ cfg.settings.port ];
|
||||
|
||||
systemd.services.websurfx = {
|
||||
description = "Websurfx, a metasearch engine";
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = lib.getExe cfg.package;
|
||||
DynamicUser = true;
|
||||
RuntimeDirectory = "websurfx";
|
||||
Environment = [ "HOME=%t/websurfx" ];
|
||||
BindReadOnlyPaths = [ "${settingsFile}:%t/websurfx/.config/websurfx/config.lua" ];
|
||||
};
|
||||
|
||||
wants = [ "network-online.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = [ lib.maintainers.SchweGELBin ];
|
||||
}
|
||||
@@ -13,13 +13,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "ppsspp";
|
||||
version = "0-unstable-2026-03-10";
|
||||
version = "0-unstable-2026-03-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hrydgard";
|
||||
repo = "ppsspp";
|
||||
rev = "ab1ee21996b78aaac1f82baa390990c8ce9a9936";
|
||||
hash = "sha256-mzK+ADPTFCxiPxQDw8CtwJEW0nrX+ozUosV0N/jeMHk=";
|
||||
rev = "5f6b4daf61ed8f005f759236ea363fa8ee7a1d08";
|
||||
hash = "sha256-DNsNmtse35Bv3QxhJlYAFe3D0VRhSn2svwfiF+bgxxA=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"chromium": {
|
||||
"version": "146.0.7680.80",
|
||||
"version": "146.0.7680.153",
|
||||
"chromedriver": {
|
||||
"version": "146.0.7680.80",
|
||||
"hash_darwin": "sha256-sjCEvFWV07GNhXJ9CfGVtZ6nCeqsqtNtY4sPj/gq13w=",
|
||||
"hash_darwin_aarch64": "sha256-kTxZJiF7mJlVbkDDFP4ZUB2htBn45se1Wuz28RP8pr8="
|
||||
"version": "146.0.7680.154",
|
||||
"hash_darwin": "sha256-jSAe8mkJ0mDqKJyzsaAuGwyG5lwdOHkYDUgxR2G+vJE=",
|
||||
"hash_darwin_aarch64": "sha256-tCMADPY/Q2sjyHUvZPO9o+ZkLaZ7iTCLrTiPVUYVQr0="
|
||||
},
|
||||
"deps": {
|
||||
"depot_tools": {
|
||||
@@ -21,8 +21,8 @@
|
||||
"DEPS": {
|
||||
"src": {
|
||||
"url": "https://chromium.googlesource.com/chromium/src.git",
|
||||
"rev": "f08938029c887ea624da7a1717059788ed95034d",
|
||||
"hash": "sha256-PCQeTdc6Fl74TLyvxjli4scIUIm0GgZ3e9wbC18Tclw=",
|
||||
"rev": "85fd829a1b2049479ead5ed578f5ed105a094fe4",
|
||||
"hash": "sha256-PshNuKAZBXohix711YGjE4X24ixVW29wxgeePNE9Xzs=",
|
||||
"recompress": true
|
||||
},
|
||||
"src/third_party/clang-format/script": {
|
||||
@@ -92,8 +92,8 @@
|
||||
},
|
||||
"src/third_party/angle": {
|
||||
"url": "https://chromium.googlesource.com/angle/angle.git",
|
||||
"rev": "1d3190bf5633327395d694d621258978d989dffd",
|
||||
"hash": "sha256-QVtTxBBox8fiqTj0gjqvYx6HoBSlvuWIe5ki4iCQl08="
|
||||
"rev": "e05753c6d05b17b23d514038957469c70b75475c",
|
||||
"hash": "sha256-SMym7PN2acfw84Z95xWSbN/QV5UIDIOztWxFeTCfBsk="
|
||||
},
|
||||
"src/third_party/angle/third_party/glmark2/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
|
||||
@@ -132,8 +132,8 @@
|
||||
},
|
||||
"src/third_party/dawn": {
|
||||
"url": "https://dawn.googlesource.com/dawn.git",
|
||||
"rev": "c46c81b25577c40de6e7e510743ae0454e0c8351",
|
||||
"hash": "sha256-Duv3kNulPtVxCLPa3bFIev64O9Y4ObJP/IZz31oPJ0E="
|
||||
"rev": "3d52cfc8dd0bc2cdbbecd9803cc08102de7e4597",
|
||||
"hash": "sha256-lyAG9tKBWQ2yy/morStUd0ZKDPT58t8516NDCQG/jZs="
|
||||
},
|
||||
"src/third_party/dawn/third_party/glfw": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/glfw/glfw",
|
||||
@@ -422,8 +422,8 @@
|
||||
},
|
||||
"src/third_party/libaom/source/libaom": {
|
||||
"url": "https://aomedia.googlesource.com/aom.git",
|
||||
"rev": "4018d3b63456eb657475e66c352bfa86f321e0f5",
|
||||
"hash": "sha256-RuCmzPIR6hW8znjQH4kQqSJmIIJWtMkUQjYEVn3B9AE="
|
||||
"rev": "446588f90da2e3372a9352d3b2ba8ab3f342c8ce",
|
||||
"hash": "sha256-hLddZzWBQZ/MEF5fcCiju5ibNPSb+zhahlxdLaczdsE="
|
||||
},
|
||||
"src/third_party/crabbyavif/src": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/webmproject/CrabbyAvif.git",
|
||||
@@ -602,8 +602,8 @@
|
||||
},
|
||||
"src/third_party/pdfium": {
|
||||
"url": "https://pdfium.googlesource.com/pdfium.git",
|
||||
"rev": "67cf48602b0c8aaa9807cd185212ee078eb30b21",
|
||||
"hash": "sha256-jMoYwf63C0IHx/QcOT+LKCCYN3dJVUhC5COukkhwqx0="
|
||||
"rev": "bccc616f83aaed08f65d4a707dfe00e24133772b",
|
||||
"hash": "sha256-yfjXNWczeGwPlnAVB161OsFXiHms2IRstqKmoZ/AWFU="
|
||||
},
|
||||
"src/third_party/perfetto": {
|
||||
"url": "https://chromium.googlesource.com/external/github.com/google/perfetto.git",
|
||||
@@ -652,8 +652,8 @@
|
||||
},
|
||||
"src/third_party/skia": {
|
||||
"url": "https://skia.googlesource.com/skia.git",
|
||||
"rev": "248acd90d9a35ac46b2ec30201ae50f301b8a173",
|
||||
"hash": "sha256-zOL5j9X72ZvYmS8MzQ+pqSkT8AWBz2IwmaH7I3LN1IE="
|
||||
"rev": "3c7c530c115124b415c1f4e0e35694fbaefd2177",
|
||||
"hash": "sha256-ObLypxiOKH/YoLw6uUA4MmHM44vA8iPhNCEfFcwip0Q="
|
||||
},
|
||||
"src/third_party/smhasher/src": {
|
||||
"url": "https://chromium.googlesource.com/external/smhasher.git",
|
||||
@@ -787,8 +787,8 @@
|
||||
},
|
||||
"src/third_party/webrtc": {
|
||||
"url": "https://webrtc.googlesource.com/src.git",
|
||||
"rev": "d1972add2a63b2a528a6471d447f82e0010b5215",
|
||||
"hash": "sha256-evtOzxwWgKUaJl9zwpQDqPp1wM7w3DzjRcLg29z9ELQ="
|
||||
"rev": "b2a90ac0037ee7187102ce2c40e5007216ca9a58",
|
||||
"hash": "sha256-rX6NEN0RbfHPRqJqkGhypwWt/NcREvPaanL+CDxwhA8="
|
||||
},
|
||||
"src/third_party/wuffs/src": {
|
||||
"url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
|
||||
@@ -817,8 +817,8 @@
|
||||
},
|
||||
"src/v8": {
|
||||
"url": "https://chromium.googlesource.com/v8/v8.git",
|
||||
"rev": "70253f966a7c3936f5a5ff57c6a4a4face1f16ad",
|
||||
"hash": "sha256-8tA9nWXsiQ2Qt7pbALrhsnNFHOFLw/wlcz5OrFjYEI8="
|
||||
"rev": "abb5d7b829d60a5dae46fbcee0e9d0d554d3a946",
|
||||
"hash": "sha256-hnwiRarq+69BECxJ9FQD0XGqqA/OF66RxZUPWTzDaFE="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -310,11 +310,11 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"digitalocean_digitalocean": {
|
||||
"hash": "sha256-CNHGuChMDqSFz8YXETfQzgyQw8p8Ua6u3gevFFr69RI=",
|
||||
"hash": "sha256-QUx+pSj9FyY0+IOUcmBS32qEOgDAGxeQRcio6lQOGN4=",
|
||||
"homepage": "https://registry.terraform.io/providers/digitalocean/digitalocean",
|
||||
"owner": "digitalocean",
|
||||
"repo": "terraform-provider-digitalocean",
|
||||
"rev": "v2.79.0",
|
||||
"rev": "v2.80.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
|
||||
@@ -106,5 +106,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
platforms = lib.platforms.unix;
|
||||
license = lib.licenses.mit;
|
||||
homepage = "https://fmv.jku.at/cadical/";
|
||||
mainProgram = "cadical";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "codd";
|
||||
version = "0.1.6";
|
||||
version = "0.1.8";
|
||||
src = ./.;
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
@@ -72,6 +72,7 @@ mkDerivation {
|
||||
unliftio
|
||||
unliftio-core
|
||||
unordered-containers
|
||||
uuid
|
||||
vector
|
||||
];
|
||||
executableHaskellDepends = [
|
||||
|
||||
@@ -14,18 +14,18 @@
|
||||
##############
|
||||
|
||||
let
|
||||
# Haxl has relatively tight version requirements and is thus often marked as broken.
|
||||
# Haxl has relatively tight version requirements and is often marked as broken.
|
||||
haxlJailbroken = haskell.lib.markUnbroken (haskell.lib.doJailbreak haskellPackages.haxl);
|
||||
|
||||
generated = haskellPackages.callPackage ./generated.nix { haxl = haxlJailbroken; };
|
||||
|
||||
derivationWithVersion = haskell.lib.compose.overrideCabal rec {
|
||||
version = "0.1.6";
|
||||
version = "0.1.8";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mzabani";
|
||||
repo = "codd";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-KdZCL09TERy/PolQyYYykEbPtG5yhxrLZSSo9n6p2WE=";
|
||||
hash = "sha256-7MKlR3oepOwlBwiEpzz3NFepEYGqROT5RrYoe/vvBKM=";
|
||||
};
|
||||
|
||||
# We only run codd's tests that don't require postgresql nor strace. We need to support unix sockets in codd's test suite
|
||||
|
||||
@@ -184,11 +184,11 @@ let
|
||||
|
||||
linux = stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
inherit pname meta passthru;
|
||||
version = "146.0.7680.80";
|
||||
version = "146.0.7680.153";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb";
|
||||
hash = "sha256-Lam/V3YtHyph4RDlz+vGbXESQuRNg+53wqgZoYFcwxU=";
|
||||
hash = "sha256-b/DLXbvHbjUWFyJTXLoL0I6a/3r1YaVowNqr3oQ0imA=";
|
||||
};
|
||||
|
||||
# With strictDeps on, some shebangs were not being patched correctly
|
||||
@@ -302,11 +302,11 @@ let
|
||||
|
||||
darwin = stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
inherit pname meta passthru;
|
||||
version = "146.0.7680.80";
|
||||
version = "146.0.7680.154";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://dl.google.com/release2/chrome/dzyizse52hr7lfzvs5c2ypryzq_146.0.7680.80/GoogleChrome-146.0.7680.80.dmg";
|
||||
hash = "sha256-vKt8bQLAsiwjX2tdrkPjq6uC5wXSk8Jb3dr43ofbEt4=";
|
||||
url = "http://dl.google.com/release2/chrome/aduhru4wjcwjo2cuql7gnsdev6hq_146.0.7680.154/GoogleChrome-146.0.7680.154.dmg";
|
||||
hash = "sha256-u/i8fYn53BbQGFlBFTEayNpSQoeNPBJEBXr2KFArgW8=";
|
||||
};
|
||||
|
||||
dontPatch = true;
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "kamal-proxy";
|
||||
version = "0.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "basecamp";
|
||||
repo = "kamal-proxy";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-oY1XwhoZx/GMg46nQAOK6tx9VzQoXTNdxE26FjBvbsg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-EDPHqVGkZeaV/9p3EywUkQTNbIdBkAjre9oxRi4c+WY=";
|
||||
|
||||
subPackages = [ "cmd/kamal-proxy" ];
|
||||
|
||||
env.CGO_ENABLED = 0;
|
||||
|
||||
ldflags = [ "-s" ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Lightweight proxy server for Kamal";
|
||||
homepage = "https://github.com/basecamp/kamal-proxy";
|
||||
changelog = "https://github.com/basecamp/kamal-proxy/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "kamal-proxy";
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ jasanfarah ];
|
||||
};
|
||||
})
|
||||
@@ -17,6 +17,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
hash = "sha256-dLBgdcrIp5QM2TVIa86qX7m1c5n+qOIQJtqJPGvIZ+0=";
|
||||
};
|
||||
|
||||
# Temporary fix to get build to pass until https://github.com/moghtech/komodo/pull/1122
|
||||
patches = [
|
||||
./rustc-1_9_2-fixes.patch
|
||||
];
|
||||
|
||||
cargoHash = "sha256-jf/Jp28g3inGn5jQp3cACdhl//tbXTMc1vP1K3g/CyQ=";
|
||||
|
||||
# disable for check. document generation is fail
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
diff --git a/bin/core/src/alert/discord.rs b/bin/core/src/alert/discord.rs
|
||||
index 427227d..6d19678 100644
|
||||
--- a/bin/core/src/alert/discord.rs
|
||||
+++ b/bin/core/src/alert/discord.rs
|
||||
@@ -230,14 +230,13 @@ pub async fn send_alert(
|
||||
)
|
||||
}
|
||||
AlertData::Custom { message, details } => {
|
||||
- format!(
|
||||
- "{level} | {message}{}",
|
||||
- if details.is_empty() {
|
||||
- format_args!("")
|
||||
- } else {
|
||||
- format_args!("\n{details}")
|
||||
- }
|
||||
- )
|
||||
+ let details_str = if details.is_empty() {
|
||||
+ String::new()
|
||||
+ } else {
|
||||
+ format!("\n{details} f")
|
||||
+ };
|
||||
+
|
||||
+ format!("{level} | {message}{details_str}")
|
||||
}
|
||||
AlertData::None {} => Default::default(),
|
||||
};
|
||||
diff --git a/bin/core/src/alert/mod.rs b/bin/core/src/alert/mod.rs
|
||||
index 9eba5da..1f51ac2 100644
|
||||
--- a/bin/core/src/alert/mod.rs
|
||||
+++ b/bin/core/src/alert/mod.rs
|
||||
@@ -474,14 +474,13 @@ fn standard_alert_content(alert: &Alert) -> String {
|
||||
)
|
||||
}
|
||||
AlertData::Custom { message, details } => {
|
||||
- format!(
|
||||
- "{level} | {message}{}",
|
||||
- if details.is_empty() {
|
||||
- format_args!("")
|
||||
- } else {
|
||||
- format_args!("\n{details}")
|
||||
- }
|
||||
- )
|
||||
+ let details_str = if details.is_empty() {
|
||||
+ String::new()
|
||||
+ } else {
|
||||
+ format!("\n{details}")
|
||||
+ };
|
||||
+
|
||||
+ format!("{level} | {message}{details_str}")
|
||||
}
|
||||
AlertData::None {} => Default::default(),
|
||||
}
|
||||
@@ -13,20 +13,20 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lasuite-docs-collaboration-server";
|
||||
version = "4.4.0";
|
||||
version = "4.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "suitenumerique";
|
||||
repo = "docs";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Cm/Ch7dBKInQYPFGfSlSMLgj8uQR6E3S+6gCFUyvFSU=";
|
||||
hash = "sha256-R8DO7hsWt8+aKnHFEoZ06f1f+r8dNmNoPZRVBfr9VCY=";
|
||||
};
|
||||
|
||||
sourceRoot = "source/src/frontend";
|
||||
sourceRoot = "${finalAttrs.src.name}/src/frontend";
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${finalAttrs.src}/src/frontend/yarn.lock";
|
||||
hash = "sha256-JacPecJvdyATea8o1jQOxY9Gzx4kH+HLqE0eq03dzjg=";
|
||||
hash = "sha256-F8VXjGY6Ct2Y8btqOmxZevCkxBvqg6xWZLYTZA2uUnM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -12,20 +12,20 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lasuite-docs-frontend";
|
||||
version = "4.4.0";
|
||||
version = "4.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "suitenumerique";
|
||||
repo = "docs";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Cm/Ch7dBKInQYPFGfSlSMLgj8uQR6E3S+6gCFUyvFSU=";
|
||||
hash = "sha256-R8DO7hsWt8+aKnHFEoZ06f1f+r8dNmNoPZRVBfr9VCY=";
|
||||
};
|
||||
|
||||
sourceRoot = "source/src/frontend";
|
||||
sourceRoot = "${finalAttrs.src.name}/src/frontend";
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${finalAttrs.src}/src/frontend/yarn.lock";
|
||||
hash = "sha256-JacPecJvdyATea8o1jQOxY9Gzx4kH+HLqE0eq03dzjg=";
|
||||
hash = "sha256-F8VXjGY6Ct2Y8btqOmxZevCkxBvqg6xWZLYTZA2uUnM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -11,12 +11,12 @@
|
||||
yarnConfigHook,
|
||||
}:
|
||||
let
|
||||
version = "4.5.0";
|
||||
version = "4.8.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "suitenumerique";
|
||||
repo = "docs";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-/mI11ldbYa051WA2hkV7fnc8CJOb0jHra0FJ+eVCqVs=";
|
||||
hash = "sha256-R8DO7hsWt8+aKnHFEoZ06f1f+r8dNmNoPZRVBfr9VCY=";
|
||||
};
|
||||
|
||||
mail-templates = stdenv.mkDerivation {
|
||||
@@ -29,7 +29,7 @@ let
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${src}/src/mail/yarn.lock";
|
||||
hash = "sha256-g71OGg0PAo60h0bC+oOyvLvPOCg0pYXuYD8vsR5X9/k=";
|
||||
hash = "sha256-ag9+g48dWl5Ww/78qqgtcKwiyPVlpNiJ7w7+DPaar2U=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -47,7 +47,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pyproject = true;
|
||||
inherit version src;
|
||||
|
||||
sourceRoot = "source/src/backend";
|
||||
sourceRoot = "${finalAttrs.src.name}/src/backend";
|
||||
|
||||
patches = [
|
||||
# Support configuration throught environment variables for SECURE_*
|
||||
@@ -104,12 +104,14 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
openai
|
||||
psycopg
|
||||
pycrdt
|
||||
pydantic-ai-slim
|
||||
pyjwt
|
||||
pyopenssl
|
||||
python-magic
|
||||
redis
|
||||
requests
|
||||
sentry-sdk
|
||||
uvicorn
|
||||
whitenoise
|
||||
]
|
||||
++ celery.optional-dependencies.redis
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "lepton-jpeg-util";
|
||||
version = "0.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "microsoft";
|
||||
repo = "lepton_jpeg_rust";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-DfVgQGGnrOOa/UdkYHSENbtxkbR0cTe08uglUM2hfGI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-AryHUFB6EWSUvKs+lBI16+A27VfRsr6aUtrwsiZxT28=";
|
||||
|
||||
buildAndTestSubdir = "util";
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Port of DropBox Lepton compression to Rust";
|
||||
changelog = "https://github.com/microsoft/lepton_jpeg_rust/releases/tag/v${finalAttrs.version}";
|
||||
mainProgram = "lepton_jpeg_util";
|
||||
homepage = "https://github.com/microsoft/lepton_jpeg_rust";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ skohtv ];
|
||||
};
|
||||
})
|
||||
@@ -18,13 +18,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libredwg";
|
||||
version = "0.13.3";
|
||||
version = "0.13.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LibreDWG";
|
||||
repo = "libredwg";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-FlBHwNsqVSBE8dTDewoKkCbs8Jd/4d69MPpEFzg6Ruc=";
|
||||
hash = "sha256-FeDQCByFGKfHJDOPQA92GslXZ33nhGfB6/63t2TeugE=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
{
|
||||
lib,
|
||||
python3,
|
||||
fetchPypi,
|
||||
fetchFromGitHub,
|
||||
python3,
|
||||
|
||||
withE2BE ? true,
|
||||
}:
|
||||
|
||||
let
|
||||
python = python3.override {
|
||||
self = python;
|
||||
packageOverrides = self: super: {
|
||||
tulir-telethon = self.telethon.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "1.99.0a6";
|
||||
pname = "tulir_telethon";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-ewqc6s5xXquZJTZVBsFmHeamBLDw6PnTSNcmTNKD0sk=";
|
||||
};
|
||||
patches = [ ];
|
||||
doCheck = false;
|
||||
});
|
||||
};
|
||||
};
|
||||
tulir-telethon = python3.pkgs.telethon.overrideAttrs (
|
||||
finalAttrs: previousAttrs: {
|
||||
version = "1.99.0a6";
|
||||
pname = "tulir_telethon";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tulir";
|
||||
repo = "Telethon";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ulnA+xKbZDOTzXYmF9oBWNBNhgxSiF+mKx1ijoCyo/w=";
|
||||
};
|
||||
dontUsePytestCheck = true;
|
||||
}
|
||||
);
|
||||
in
|
||||
python.pkgs.buildPythonPackage (finalAttrs: {
|
||||
python3.pkgs.buildPythonApplication (finalAttrs: {
|
||||
pname = "mautrix-telegram";
|
||||
version = "0.15.3";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mautrix";
|
||||
@@ -34,47 +34,50 @@ python.pkgs.buildPythonPackage (finalAttrs: {
|
||||
hash = "sha256-w3BqWyAJV/lZPoOFDzxhootpw451lYruwM9efwS6cEc=";
|
||||
};
|
||||
|
||||
format = "setuptools";
|
||||
build-system = with python3.pkgs; [ setuptools ];
|
||||
|
||||
patches = [ ./0001-Re-add-entrypoint.patch ];
|
||||
|
||||
propagatedBuildInputs =
|
||||
with python.pkgs;
|
||||
(
|
||||
[
|
||||
ruamel-yaml
|
||||
python-magic
|
||||
commonmark
|
||||
aiohttp
|
||||
yarl
|
||||
(mautrix.override { withOlm = withE2BE; })
|
||||
tulir-telethon
|
||||
asyncpg
|
||||
mako
|
||||
setuptools
|
||||
# speedups
|
||||
cryptg
|
||||
aiodns
|
||||
brotli
|
||||
# qr_login
|
||||
pillow
|
||||
qrcode
|
||||
# formattednumbers
|
||||
phonenumbers
|
||||
# metrics
|
||||
prometheus-client
|
||||
# sqlite
|
||||
aiosqlite
|
||||
# proxy support
|
||||
pysocks
|
||||
]
|
||||
++ lib.optionals withE2BE [
|
||||
# e2be
|
||||
python-olm
|
||||
pycryptodome
|
||||
unpaddedbase64
|
||||
]
|
||||
);
|
||||
pythonRelaxDeps = [
|
||||
"mautrix"
|
||||
"ruamel.yaml"
|
||||
];
|
||||
|
||||
dependencies =
|
||||
with python3.pkgs;
|
||||
[
|
||||
ruamel-yaml
|
||||
python-magic
|
||||
commonmark
|
||||
aiohttp
|
||||
yarl
|
||||
(mautrix.override { withOlm = withE2BE; })
|
||||
tulir-telethon
|
||||
asyncpg
|
||||
mako
|
||||
setuptools
|
||||
# speedups
|
||||
cryptg
|
||||
aiodns
|
||||
brotli
|
||||
# qr_login
|
||||
pillow
|
||||
qrcode
|
||||
# formattednumbers
|
||||
phonenumbers
|
||||
# metrics
|
||||
prometheus-client
|
||||
# sqlite
|
||||
aiosqlite
|
||||
# proxy support
|
||||
pysocks
|
||||
]
|
||||
++ lib.optionals withE2BE [
|
||||
# e2be
|
||||
python-olm
|
||||
pycryptodome
|
||||
unpaddedbase64
|
||||
];
|
||||
|
||||
# has no tests
|
||||
doCheck = false;
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "mistral-vibe";
|
||||
version = "2.4.2";
|
||||
version = "2.5.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mistralai";
|
||||
repo = "mistral-vibe";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-r/9kMhkoLfj9oEifFun/bpIQYEouqm9YEiWZVk07+S8=";
|
||||
hash = "sha256-5su0Qfg3M+Yq4pkptDOJhvM8VFGCaOLeeDijeFeywP4=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
@@ -58,12 +58,14 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pyyaml
|
||||
requests
|
||||
rich
|
||||
sounddevice
|
||||
textual
|
||||
textual-speedups
|
||||
tomli-w
|
||||
tree-sitter
|
||||
tree-sitter-bash
|
||||
watchfiles
|
||||
websockets
|
||||
zstandard
|
||||
];
|
||||
|
||||
@@ -81,7 +83,29 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
];
|
||||
versionCheckKeepEnvironment = [ "HOME" ];
|
||||
|
||||
disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
disabledTests = [
|
||||
# Fail in the sandbox
|
||||
# vibe.core.audio_recorder.audio_recorder_port.NoAudioInputDeviceError: No audio input device available
|
||||
"test_audio_stream_yields_chunks"
|
||||
"test_auto_stops_after_max_duration"
|
||||
"test_buffer_mode_audio_stream_yields_nothing"
|
||||
"test_can_record_multiple_times"
|
||||
"test_cancel_discards_audio"
|
||||
"test_manual_stop_prevents_on_expire"
|
||||
"test_on_expire_receives_audio"
|
||||
"test_peak_clamps_to_one"
|
||||
"test_peak_updates_from_callback"
|
||||
"test_silent_audio_has_zero_peak"
|
||||
"test_start_sets_recording_state"
|
||||
"test_start_when_already_recording_raises"
|
||||
"test_stop_from_event_loop_does_not_block"
|
||||
"test_stop_returns_empty_data_in_stream_mode"
|
||||
"test_stop_returns_positive_duration"
|
||||
"test_stop_returns_valid_wav"
|
||||
"test_stop_without_drain_returns_promptly"
|
||||
"test_stream_audio_does_not_leak_into_buffer_recording"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# AssertionError
|
||||
"test_rebuilds_index_when_mass_change_threshold_is_exceeded"
|
||||
"test_updates_index_incrementally_by_default"
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "moosefs";
|
||||
version = "4.58.3";
|
||||
version = "4.58.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "moosefs";
|
||||
repo = "moosefs";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-lEnCP+ORWdW52SVO7K3WxcjlFMrQFR9VT8fjquI/fZg=";
|
||||
sha256 = "sha256-AvY1TOoxxpiqrMqngZe3BTgMuxwltQk1unr/IEfOLt4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "mtPaint";
|
||||
version = "3.50.12";
|
||||
version = "3.50.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wjaguar";
|
||||
repo = "mtPaint";
|
||||
rev = "7cae5d663ed835a365d89a535536c39e18862a83";
|
||||
hash = "sha256-W/MQZ1WqoVMzyEd60rbvA8yieesDc/xfKqbYGZumi2U=";
|
||||
rev = "8304376e8861a8a603371b0f188db30f9cafdc17";
|
||||
hash = "sha256-dyBbzEjdgMPlPnjFlJoZOh5qjx/qY94F28jEr2ihLQE=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@@ -71,27 +71,34 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
postInstall = lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) ''
|
||||
# Run both shell completion and manpage generation tasks. Unlike the
|
||||
# fine-grained variants, the 'dist' command doesn't allow specifying the
|
||||
# path but that's fine, because we can simply install them from the implicit
|
||||
# output directories.
|
||||
$out/bin/xtask dist
|
||||
postInstall =
|
||||
lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) (
|
||||
let
|
||||
emulator = stdenv.hostPlatform.emulator buildPackages;
|
||||
in
|
||||
''
|
||||
# Run both shell completion and manpage generation tasks. Unlike the
|
||||
# fine-grained variants, the 'dist' command doesn't allow specifying the
|
||||
# path but that's fine, because we can simply install them from the implicit
|
||||
# output directories.
|
||||
${emulator} $out/bin/xtask dist
|
||||
|
||||
# The dist task above should've created
|
||||
# 1. Shell completions in comp/
|
||||
# 2. The NH manpage (nh.1) in man/
|
||||
# Let's install those.
|
||||
# The important thing to note here is that installShellCompletion cannot
|
||||
# actually load *all* shell completions we generate with 'xtask dist'.
|
||||
# Elvish, for example isn't supported. So we have to be very explicit
|
||||
# about what we're installing, or this will fail.
|
||||
installShellCompletion --cmd ${finalAttrs.meta.mainProgram} ./comp/*.{bash,fish,zsh,nu}
|
||||
installManPage ./man/nh.1
|
||||
|
||||
# Avoid populating PATH with an 'xtask' cmd
|
||||
rm $out/bin/xtask
|
||||
'';
|
||||
# The dist task above should've created
|
||||
# 1. Shell completions in comp/
|
||||
# 2. The NH manpage (nh.1) in man/
|
||||
# Let's install those.
|
||||
# The important thing to note here is that installShellCompletion cannot
|
||||
# actually load *all* shell completions we generate with 'xtask dist'.
|
||||
# Elvish, for example isn't supported. So we have to be very explicit
|
||||
# about what we're installing, or this will fail.
|
||||
installShellCompletion --cmd ${finalAttrs.meta.mainProgram} ./comp/*.{bash,fish,zsh,nu}
|
||||
installManPage ./man/nh.1
|
||||
''
|
||||
)
|
||||
+ ''
|
||||
# Avoid populating PATH with an 'xtask' cmd
|
||||
rm $out/bin/xtask
|
||||
'';
|
||||
|
||||
cargoHash = "sha256-BLv69rL5L84wNTMiKHbSumFU4jVQqAiI1pS5oNLY9yE=";
|
||||
|
||||
|
||||
@@ -1,21 +1,16 @@
|
||||
Remove upstream workarounds for CMake "limitations" that do not appear to exist
|
||||
in nixpkgs build environment, but rather break the build, presumably because
|
||||
CMAKE_INSTALL_{BIN,LIB}DIR is an absolute path in our build so
|
||||
CMAKE_INSTALL_PREFIX has no effect.
|
||||
|
||||
diff --git a/devices/CMakeLists.txt b/devices/CMakeLists.txt
|
||||
index d5111cd..43986ad 100644
|
||||
index a0ea112..4d03b4f 100644
|
||||
--- a/devices/CMakeLists.txt
|
||||
+++ b/devices/CMakeLists.txt
|
||||
@@ -53,7 +53,6 @@ if(OIDN_DEVICE_CUDA)
|
||||
-DCMAKE_CXX_COMPILER:FILEPATH=${_host_compiler}
|
||||
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||
- -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_BINARY_DIR}/cuda/preinstall
|
||||
-DCMAKE_INSTALL_BINDIR:PATH=${CMAKE_INSTALL_BINDIR}
|
||||
-DCMAKE_INSTALL_LIBDIR:PATH=${CMAKE_INSTALL_LIBDIR}
|
||||
-DCUDAToolkit_ROOT:PATH=${CUDAToolkit_ROOT}
|
||||
@@ -69,14 +68,6 @@ if(OIDN_DEVICE_CUDA)
|
||||
@@ -47,7 +47,6 @@ if(OIDN_DEVICE_CUDA)
|
||||
-DCMAKE_CXX_COMPILER:FILEPATH=${_host_compiler}
|
||||
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
|
||||
- -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_BINARY_DIR}/cuda/preinstall
|
||||
-DCMAKE_INSTALL_BINDIR:PATH=${CMAKE_INSTALL_BINDIR}
|
||||
-DCMAKE_INSTALL_LIBDIR:PATH=${CMAKE_INSTALL_LIBDIR}
|
||||
-DOIDN_ROOT_BINARY_DIR:PATH=${OIDN_ROOT_BINARY_DIR}
|
||||
@@ -78,14 +77,6 @@ if(OIDN_DEVICE_CUDA)
|
||||
DEPENDS
|
||||
OpenImageDenoise_core
|
||||
)
|
||||
@@ -30,3 +25,10 @@ index d5111cd..43986ad 100644
|
||||
endif()
|
||||
|
||||
if(OIDN_DEVICE_HIP)
|
||||
@@ -186,4 +177,4 @@ endif()
|
||||
|
||||
if(OIDN_DEVICE_METAL)
|
||||
add_subdirectory(metal)
|
||||
-endif()
|
||||
\ No newline at end of file
|
||||
+endif()
|
||||
|
||||
@@ -19,10 +19,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# The release tarballs include pretrained weights, which would otherwise need to be fetched with git-lfs
|
||||
src = fetchzip {
|
||||
url = "https://github.com/RenderKit/oidn/releases/download/v${finalAttrs.version}/oidn-${finalAttrs.version}.src.tar.gz";
|
||||
sha256 = "sha256-SM0Bn4qgeqRJAXr2MMjNjfWJVTcciERZxMHiyx4Z1hA=";
|
||||
hash = "sha256-SM0Bn4qgeqRJAXr2MMjNjfWJVTcciERZxMHiyx4Z1hA=";
|
||||
};
|
||||
|
||||
patches = lib.optional cudaSupport ./cuda.patch;
|
||||
strictDeps = true;
|
||||
|
||||
patches = lib.optionals cudaSupport [
|
||||
./cuda.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# fix build failure with GCC14
|
||||
@@ -35,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
python3
|
||||
ispc
|
||||
]
|
||||
++ lib.optional cudaSupport cudaPackages.cuda_nvcc
|
||||
++ lib.optionals cudaSupport [ cudaPackages.cuda_nvcc ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ xcodebuild ];
|
||||
|
||||
buildInputs = [
|
||||
@@ -49,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "OIDN_DEVICE_CUDA" cudaSupport)
|
||||
(lib.cmakeFeature "TBB_INCLUDE_DIR" "${onetbb.dev}/include")
|
||||
(lib.cmakeFeature "TBB_INCLUDE_DIR" "${lib.getDev onetbb}/include")
|
||||
(lib.cmakeFeature "TBB_ROOT" "${onetbb}")
|
||||
];
|
||||
|
||||
|
||||
@@ -94,8 +94,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "JavaScript formatter with Prettier integration";
|
||||
homepage = "https://github.com/oxc-project/oxc";
|
||||
description = "High-performance formatter for the JavaScript ecosystem";
|
||||
homepage = "https://oxc.rs/docs/guide/usage/formatter";
|
||||
downloadPage = "https://github.com/oxc-project/oxc";
|
||||
changelog = "https://github.com/oxc-project/oxc/blob/${finalAttrs.src.tag}/apps/oxfmt/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ natsukium ];
|
||||
|
||||
@@ -5,20 +5,20 @@
|
||||
ffmpeg,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication {
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "shira";
|
||||
version = "1.7.1-unstable-2025-08-31";
|
||||
version = "1.8.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KraXen72";
|
||||
repo = "shira";
|
||||
rev = "a7478efa434597324458441f328c1b2f84c04dbc";
|
||||
hash = "sha256-k15GaOmS0rlQBQldnLo1SzIyCkNQux6P5b7ZG2BIa90=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-SgxEvIpjRfc0saoarqw8KySwhbk1UYCGjMcbhhWMhZg=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
python3Packages.flit-core
|
||||
python3Packages.hatchling
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
@@ -46,4 +46,4 @@ python3Packages.buildPythonApplication {
|
||||
maintainers = with lib.maintainers; [ thegu5 ];
|
||||
mainProgram = "shiradl";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
versionCheckHook,
|
||||
perl,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "stax";
|
||||
version = "0.25.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cesarferreira";
|
||||
repo = "stax";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-HHunRVDoijBOcIzj0xknj2O+m+A1nmkkxu97XZcvmJw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ perl ];
|
||||
|
||||
cargoHash = "sha256-cJmK5uX3HCz4own2UtXFkHdGFETjina2/UW18f/g/bA=";
|
||||
|
||||
doInstallCheck = true;
|
||||
doCheck = false;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
meta = {
|
||||
description = "Stacked-branch workflow for Git with an interactive TUI, smart PRs, and safe undo";
|
||||
homepage = "https://github.com/cesarferreira/stax";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "stax";
|
||||
maintainers = with lib.maintainers; [
|
||||
henrikvtcodes
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "style50";
|
||||
version = "2.10.4";
|
||||
version = "2.11.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cs50";
|
||||
repo = "style50";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-59V3QZMYH5edBXv1GNdoaQxerDfKmLKUZ7VL3cvDvuE=";
|
||||
hash = "sha256-THmxq69peJwT3XQKEpT+ooBYaDDkn1HHGVH5rvM/FF8=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
pname = "syspower";
|
||||
version = "0-unstable-2024-12-10";
|
||||
version = "0-unstable-2025-12-31";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "System64fumo";
|
||||
repo = "syspower";
|
||||
rev = "323332b4d97a30360455682194ed35868fcbaf71";
|
||||
hash = "sha256-obL9XUf8kONBWZoyrPvN1PWmEyQx8vMsl6KIneSjkGM=";
|
||||
rev = "1a74a7895a02363dfcc23bb43cd3f7d7d8ad3320";
|
||||
hash = "sha256-gLkjyhLA0QDG/89uTp32VEoOlTGaDjqZm1aLy+X36qw=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -76,10 +76,7 @@
|
||||
depsByComponent.${shortName comp} or [ ]
|
||||
) components;
|
||||
|
||||
phases = [
|
||||
"installPhase"
|
||||
"fixupPhase"
|
||||
];
|
||||
dontUnpack = true;
|
||||
|
||||
# See https://software.intel.com/content/www/us/en/develop/documentation/installation-guide-for-intel-oneapi-toolkits-linux/top/installation/install-with-command-line.html
|
||||
installPhase = ''
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
uv-build,
|
||||
|
||||
# dependencies
|
||||
httpx,
|
||||
pydantic,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "genai-prices";
|
||||
version = "0.0.55";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pydantic";
|
||||
repo = "genai-prices";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-FxHBVroKC9tgYJ+a429cnv7UVWMBoeTX+BEah7eD9Us=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/packages/python";
|
||||
|
||||
build-system = [
|
||||
uv-build
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
httpx
|
||||
pydantic
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"genai_prices"
|
||||
];
|
||||
|
||||
doCheck = false; # no tests
|
||||
|
||||
meta = {
|
||||
description = "Calculate prices for calling LLM inference APIs";
|
||||
homepage = "https://github.com/pydantic/genai-prices";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ hexa ];
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,53 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
hatchling,
|
||||
pdm-backend,
|
||||
uv-dynamic-versioning,
|
||||
|
||||
# optional-dependencies
|
||||
pip,
|
||||
platformdirs,
|
||||
wheel,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "griffelib";
|
||||
version = "2.0.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mkdocstrings";
|
||||
repo = "griffe";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-SiUkgkaHtq2aWraL5BJvItOExTGUQ+e6pQVXEwTM0mk=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/packages/griffelib";
|
||||
|
||||
build-system = [
|
||||
hatchling
|
||||
pdm-backend
|
||||
uv-dynamic-versioning
|
||||
];
|
||||
|
||||
optional-dependencies.pypi = [
|
||||
pip
|
||||
platformdirs
|
||||
wheel
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"griffe"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API";
|
||||
homepage = "https://github.com/mkdocstrings/griffe";
|
||||
license = lib.licenses.isc;
|
||||
maintainers = with lib.maintainers; [ hexa ];
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,94 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
pdm-backend,
|
||||
|
||||
# dependencies
|
||||
anyio,
|
||||
httpx,
|
||||
httpx-ws,
|
||||
msgspec,
|
||||
typing-extensions,
|
||||
|
||||
# tests
|
||||
pytest-asyncio,
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "lmstudio";
|
||||
version = "1.5.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lmstudio-ai";
|
||||
repo = "lmstudio-python";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-3LOoCWoQ7eXRPXHRio9Rtle07HcV3ZrWkrtVVY6mvfI=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
pdm-backend
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
anyio
|
||||
httpx
|
||||
httpx-ws
|
||||
msgspec
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "lmstudio" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# lmstudio.LMStudioRuntimeError: Local API host port is not yet resolved.
|
||||
"test_session_disconnected_async"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# ModuleNotFoundError: No module named 'pytest_subtests'
|
||||
"tests/async/test_model_catalog_async.py"
|
||||
"tests/sync/test_model_catalog_sync.py"
|
||||
"tests/test_inference.py"
|
||||
|
||||
# lmstudio.LMStudioRuntimeError: Local API host port is not yet resolved.
|
||||
"tests/async/test_embedding_async.py"
|
||||
"tests/async/test_images_async.py"
|
||||
"tests/async/test_inference_async.py"
|
||||
"tests/async/test_llm_async.py"
|
||||
"tests/async/test_model_handles_async.py"
|
||||
"tests/async/test_repository_async.py"
|
||||
"tests/async/test_sdk_bypass_async.py"
|
||||
"tests/sync/test_embedding_sync.py"
|
||||
"tests/sync/test_images_sync.py"
|
||||
"tests/sync/test_inference_sync.py"
|
||||
"tests/sync/test_llm_sync.py"
|
||||
"tests/sync/test_model_handles_sync.py"
|
||||
"tests/sync/test_repository_sync.py"
|
||||
"tests/sync/test_sdk_bypass_sync.py"
|
||||
"tests/test_convenience_api.py"
|
||||
"tests/test_logging.py"
|
||||
"tests/test_plugin_examples.py"
|
||||
"tests/test_sessions.py"
|
||||
"tests/test_timeouts.py"
|
||||
];
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
meta = {
|
||||
description = "LM Studio Python SDK";
|
||||
homepage = "https://github.com/lmstudio-ai/lmstudio-python";
|
||||
changelog = "https://github.com/lmstudio-ai/lmstudio-python/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ GaetanLepage ];
|
||||
};
|
||||
})
|
||||
@@ -9,13 +9,10 @@
|
||||
# dependencies
|
||||
eval-type-backport,
|
||||
httpx,
|
||||
invoke,
|
||||
opentelemetry-api,
|
||||
opentelemetry-exporter-otlp-proto-http,
|
||||
opentelemetry-sdk,
|
||||
opentelemetry-semantic-conventions,
|
||||
pydantic,
|
||||
python-dateutil,
|
||||
pyyaml,
|
||||
typing-inspection,
|
||||
|
||||
# optional-dependencies
|
||||
@@ -26,19 +23,20 @@
|
||||
requests,
|
||||
|
||||
# tests
|
||||
opentelemetry-sdk,
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "mistralai";
|
||||
version = "1.12.3";
|
||||
version = "2.0.4";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mistralai";
|
||||
repo = "client-python";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-DaCAO4/DoskFuRgNcoLWBuRdnxXfYhsgY/WZu/s1wk0=";
|
||||
hash = "sha256-SLPLj9rp8TTOSE3ldobBFU1+MpffzH1Bpshw+7LLUvU=";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
@@ -50,18 +48,15 @@ buildPythonPackage (finalAttrs: {
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"opentelemetry-exporter-otlp-proto-http"
|
||||
"opentelemetry-semantic-conventions"
|
||||
];
|
||||
dependencies = [
|
||||
eval-type-backport
|
||||
httpx
|
||||
invoke
|
||||
opentelemetry-api
|
||||
opentelemetry-exporter-otlp-proto-http
|
||||
opentelemetry-sdk
|
||||
opentelemetry-semantic-conventions
|
||||
pydantic
|
||||
python-dateutil
|
||||
pyyaml
|
||||
typing-inspection
|
||||
];
|
||||
|
||||
@@ -80,7 +75,15 @@ buildPythonPackage (finalAttrs: {
|
||||
pythonImportsCheck = [ "mistralai" ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
opentelemetry-sdk
|
||||
pytestCheckHook
|
||||
]
|
||||
++ finalAttrs.passthru.optional-dependencies.agents
|
||||
++ finalAttrs.passthru.optional-dependencies.gcp;
|
||||
|
||||
disabledTests = [
|
||||
# AssertionError: <Response [200 OK]> is not an instance of <class 'mistralai.extra.observability.otel.TracedResponse'>
|
||||
"TestOtelTracing"
|
||||
];
|
||||
|
||||
meta = {
|
||||
|
||||
+257
-276
File diff suppressed because it is too large
Load Diff
@@ -32,17 +32,16 @@
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "outlines-core";
|
||||
version = "0.2.13";
|
||||
|
||||
version = "0.2.14";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dottxt-ai";
|
||||
repo = "outlines-core";
|
||||
tag = version;
|
||||
hash = "sha256-mfw/cOLZPRcL3HWmrm/SyA0zDCPWr5F19EWIUdNu9jM=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-XmXD2tWG2277bC318Bn9RqeEE7j9VdauvWnBmFS8Lsk=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.importCargoLock {
|
||||
@@ -53,7 +52,7 @@ buildPythonPackage rec {
|
||||
substituteInPlace Cargo.toml \
|
||||
--replace-fail \
|
||||
'version = "0.0.0"' \
|
||||
'version = "${version}"'
|
||||
'version = "${finalAttrs.version}"'
|
||||
|
||||
cp --no-preserve=mode ${./Cargo.lock} Cargo.lock
|
||||
'';
|
||||
@@ -67,7 +66,7 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl.dev
|
||||
openssl
|
||||
];
|
||||
|
||||
build-system = [
|
||||
@@ -97,7 +96,10 @@ buildPythonPackage rec {
|
||||
rm -rf outlines_core
|
||||
'';
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ] ++ lib.concatAttrValues optional-dependencies;
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
]
|
||||
++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies;
|
||||
|
||||
disabledTests = [
|
||||
# Tests that need to download from Hugging Face Hub.
|
||||
@@ -116,8 +118,8 @@ buildPythonPackage rec {
|
||||
meta = {
|
||||
description = "Structured text generation (core)";
|
||||
homepage = "https://github.com/outlines-dev/outlines-core";
|
||||
changelog = "https://github.com/dottxt-ai/outlines-core/releases/tag/${version}";
|
||||
changelog = "https://github.com/dottxt-ai/outlines-core/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ danieldk ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
google-genai,
|
||||
iso3166,
|
||||
jax,
|
||||
lmstudio,
|
||||
llama-cpp-python,
|
||||
mistralai,
|
||||
ollama,
|
||||
@@ -41,26 +42,41 @@
|
||||
tensorflow,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "outlines";
|
||||
version = "1.2.9";
|
||||
version = "1.2.12";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "outlines-dev";
|
||||
repo = "outlines";
|
||||
tag = version;
|
||||
hash = "sha256-QuS8IokiOPJeh59+W4FLoE9dvBCChf2li70+Ex3aIwg=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-DPxtvaEbPv3go2WD9lqXB6AfTSmIA+MsqZwxXVcpyXk=";
|
||||
};
|
||||
|
||||
# Fix mistralai>=2.0 compatibility
|
||||
postPatch = ''
|
||||
substituteInPlace tests/models/test_mistral_type_adapter.py \
|
||||
--replace-fail \
|
||||
"from mistralai import (" \
|
||||
"from mistralai.client.models import ("
|
||||
|
||||
substituteInPlace outlines/models/mistral.py \
|
||||
--replace-fail \
|
||||
"from mistralai import UserMessage" \
|
||||
"from mistralai.client.models import UserMessage"
|
||||
|
||||
substituteInPlace outlines/models/mistral.py tests/models/test_mistral.py \
|
||||
--replace-fail \
|
||||
"from mistralai import Mistral" \
|
||||
"from mistralai.client import Mistral"
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"outlines_core"
|
||||
];
|
||||
dependencies = [
|
||||
cloudpickle
|
||||
datasets
|
||||
@@ -94,6 +110,7 @@ buildPythonPackage rec {
|
||||
iso3166
|
||||
jax
|
||||
llama-cpp-python
|
||||
lmstudio
|
||||
mistralai
|
||||
ollama
|
||||
openai
|
||||
@@ -109,11 +126,17 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# Incompatible with latest mistralai (AssertionError: assert False)
|
||||
"test_mistral_type_adapter_input_chat"
|
||||
"test_mistral_type_adapter_input_list"
|
||||
"test_mistral_type_adapter_input_text"
|
||||
|
||||
# Try to dowload models from Hugging Face Hub
|
||||
"test_application_callable_call"
|
||||
"test_application_generator_reuse"
|
||||
"test_application_template_call"
|
||||
"test_application_template_error"
|
||||
"test_check_hf_chat_template"
|
||||
"test_generator_black_box_async_processor"
|
||||
"test_generator_black_box_sync_processor"
|
||||
"test_generator_init_multiple_output_type"
|
||||
@@ -226,8 +249,8 @@ buildPythonPackage rec {
|
||||
meta = {
|
||||
description = "Structured text generation";
|
||||
homepage = "https://github.com/outlines-dev/outlines";
|
||||
changelog = "https://github.com/dottxt-ai/outlines/releases/tag/${version}";
|
||||
changelog = "https://github.com/dottxt-ai/outlines/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ lach ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
hatchling,
|
||||
uv-dynamic-versioning,
|
||||
|
||||
# dependencies
|
||||
genai-prices,
|
||||
griffelib,
|
||||
httpx,
|
||||
opentelemetry-api,
|
||||
pydantic-graph,
|
||||
pydantic,
|
||||
typing-inspection,
|
||||
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pydantic-ai-slim";
|
||||
version = "1.70.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pydantic";
|
||||
repo = "pydantic-ai";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-eG+v5/v8PxGjTVdUcrwhWfIWHFXwNOLMFHsNK9zH7Wo=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/pydantic_ai_slim";
|
||||
|
||||
build-system = [
|
||||
hatchling
|
||||
uv-dynamic-versioning
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
genai-prices
|
||||
griffelib
|
||||
httpx
|
||||
opentelemetry-api
|
||||
pydantic-graph
|
||||
pydantic
|
||||
typing-inspection
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pydantic_ai"
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "GenAI Agent Framework, the Pydantic way";
|
||||
homepage = "https://github.com/pydantic/pydantic-ai";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ hexa ];
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,55 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
hatchling,
|
||||
uv-dynamic-versioning,
|
||||
|
||||
# dependencies
|
||||
httpx,
|
||||
logfire-api,
|
||||
pydantic,
|
||||
typing-inspection,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "pydantic-graph";
|
||||
version = "1.70.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pydantic";
|
||||
repo = "pydantic-ai";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-eG+v5/v8PxGjTVdUcrwhWfIWHFXwNOLMFHsNK9zH7Wo=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/pydantic_graph";
|
||||
|
||||
build-system = [
|
||||
hatchling
|
||||
uv-dynamic-versioning
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
httpx
|
||||
logfire-api
|
||||
pydantic
|
||||
typing-inspection
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pydantic_graph"
|
||||
];
|
||||
|
||||
doCheck = false; # no tests
|
||||
|
||||
meta = {
|
||||
description = "GenAI Agent Framework, the Pydantic way";
|
||||
homepage = "https://github.com/pydantic/pydantic-ai";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ hexa ];
|
||||
};
|
||||
})
|
||||
@@ -12,14 +12,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-pooldose";
|
||||
version = "0.8.2";
|
||||
version = "0.8.6";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lmaertin";
|
||||
repo = "python-pooldose";
|
||||
tag = version;
|
||||
hash = "sha256-zhEUsbHIe31PQt4p0VhrZN3Y2ifE94br/D2ksRSh6Pg=";
|
||||
hash = "sha256-MbfFCE88xWGGRkRPqZ9oftaydxs5R2cgIcdU0YqWQi4=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
psutil,
|
||||
pydantic,
|
||||
pytestCheckHook,
|
||||
pyyaml,
|
||||
rich,
|
||||
setuptools-scm,
|
||||
setuptools,
|
||||
@@ -22,8 +23,8 @@ let
|
||||
owner = "emeryberger";
|
||||
repo = "heap-layers";
|
||||
name = "Heap-Layers";
|
||||
rev = "a2048eae91b531dc5d72be7a194e0b333c06bd4c";
|
||||
sha256 = "sha256-vl3z30CBX7hav/DM/UE0EQ9lLxZF48tMJrYMXuSulyA=";
|
||||
tag = "v1.0.0";
|
||||
hash = "sha256-p+8aUC124Digv3c9fZ7lLHg6H8FXoAcAQxlYzf9TYbM=";
|
||||
};
|
||||
|
||||
printf-src = fetchFromGitHub {
|
||||
@@ -31,20 +32,20 @@ let
|
||||
repo = "printf";
|
||||
name = "printf";
|
||||
tag = "v4.0.0";
|
||||
sha256 = "sha256-tgLJNJw/dJGQMwCmfkWNBvHB76xZVyyfVVplq7aSJnI=";
|
||||
hash = "sha256-tgLJNJw/dJGQMwCmfkWNBvHB76xZVyyfVVplq7aSJnI=";
|
||||
};
|
||||
in
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "scalene";
|
||||
version = "1.5.55";
|
||||
version = "2.1.4";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "plasma-umass";
|
||||
repo = "scalene";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-aO7l/paYqbneDArAbXxptIlMGfvc1dAaFLucEj/7xbk=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-ISXD7QegTL0OvAGS7KYZAk9MAKTr0hMFe/9ws02Ykgk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -52,6 +53,7 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
prePatch = ''
|
||||
mkdir vendor
|
||||
cp -r ${heap-layers-src} vendor/Heap-Layers
|
||||
mkdir vendor/printf
|
||||
cp ${printf-src}/printf.c vendor/printf/printf.cpp
|
||||
@@ -60,18 +62,19 @@ buildPythonPackage rec {
|
||||
sed -i 's/^#define vsnprintf vsnprintf_/\/\/&/' vendor/printf/printf.h
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
build-system = [
|
||||
cython
|
||||
setuptools
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
cloudpickle
|
||||
jinja2
|
||||
numpy
|
||||
psutil
|
||||
pydantic
|
||||
pyyaml
|
||||
rich
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ nvidia-ml-py ];
|
||||
@@ -97,6 +100,14 @@ buildPythonPackage rec {
|
||||
"test_nested_package_relative_import"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# Broken pipe
|
||||
# https://github.com/plasma-umass/scalene/issues/1017
|
||||
"tests/test_coverup_50.py"
|
||||
"tests/test_multiprocessing_spawn.py::TestReplacementSemLockPickling"
|
||||
"tests/test_multiprocessing_spawn.py::TestSpawnModeIntegration"
|
||||
];
|
||||
|
||||
# remove scalene directory to prevent pytest import confusion
|
||||
preCheck = ''
|
||||
rm -rf scalene
|
||||
@@ -107,7 +118,7 @@ buildPythonPackage rec {
|
||||
meta = {
|
||||
description = "High-resolution, low-overhead CPU, GPU, and memory profiler for Python with AI-powered optimization suggestions";
|
||||
homepage = "https://github.com/plasma-umass/scalene";
|
||||
changelog = "https://github.com/plasma-umass/scalene/releases/tag/v${version}";
|
||||
changelog = "https://github.com/plasma-umass/scalene/releases/tag/${finalAttrs.src.tag}";
|
||||
mainProgram = "scalene";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ sarahec ];
|
||||
@@ -122,4 +133,4 @@ buildPythonPackage rec {
|
||||
"aarch64-darwin"
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
fetchFromCodeberg,
|
||||
pythonAtLeast,
|
||||
openssl,
|
||||
rsa,
|
||||
pyaes,
|
||||
@@ -12,33 +12,19 @@
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "telethon";
|
||||
version = "1.42.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LonamiWebs";
|
||||
src = fetchFromCodeberg {
|
||||
owner = "Lonami";
|
||||
repo = "Telethon";
|
||||
tag = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-NMHJkSTGR3/tck0k97EfVN9f85PAWst+EZ6G7Tgrt5s=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://github.com/LonamiWebs/Telethon/pull/4670
|
||||
(fetchpatch {
|
||||
url = "https://github.com/LonamiWebs/Telethon/commit/8e2a46568ef9193f5887aea1abf919ac4ca6d31e.patch";
|
||||
name = "fix_async_test.patch";
|
||||
hash = "sha256-oVpLnO4OxNam/mq945OskVEHkbS5TDSUXk/0xPHVv3I=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (lib.versionOlder version "1.40.1") [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/LonamiWebs/Telethon/commit/ae9c798e2c3648ff40dee1b3f371f5d66851642e.patch";
|
||||
name = "fix_test_messages_test.patch";
|
||||
hash = "sha256-8SJm8EE6w7zRQxt1NuTX6KP1MTYPiYO/maJ5tOA2I9w=";
|
||||
})
|
||||
];
|
||||
disabled = pythonAtLeast "3.14";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace telethon/crypto/libssl.py --replace-fail \
|
||||
@@ -61,13 +47,14 @@ buildPythonPackage rec {
|
||||
nativeCheckInputs = [
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
];
|
||||
]
|
||||
++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/LonamiWebs/Telethon";
|
||||
homepage = "https://codeberg.org/Lonami/Telethon";
|
||||
description = "Full-featured Telegram client library for Python 3";
|
||||
license = lib.licenses.mit;
|
||||
changelog = "https://github.com/LonamiWebs/Telethon/blob/${src.tag}/readthedocs/misc/changelog.rst";
|
||||
changelog = "https://codeberg.org/Lonami/Telethon/blob/${finalAttrs.src.tag}/readthedocs/misc/changelog.rst";
|
||||
maintainers = with lib.maintainers; [ nyanloutre ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -6088,6 +6088,8 @@ self: super: with self; {
|
||||
}
|
||||
);
|
||||
|
||||
genai-prices = callPackage ../development/python-modules/genai-prices { };
|
||||
|
||||
genanki = callPackage ../development/python-modules/genanki { };
|
||||
|
||||
general-sam = callPackage ../development/python-modules/general-sam { };
|
||||
@@ -6706,6 +6708,8 @@ self: super: with self; {
|
||||
|
||||
griffe = callPackage ../development/python-modules/griffe { };
|
||||
|
||||
griffelib = callPackage ../development/python-modules/griffelib { };
|
||||
|
||||
grip = callPackage ../development/python-modules/grip { };
|
||||
|
||||
groestlcoin-hash = callPackage ../development/python-modules/groestlcoin-hash { };
|
||||
@@ -9209,6 +9213,8 @@ self: super: with self; {
|
||||
|
||||
lmnotify = callPackage ../development/python-modules/lmnotify { };
|
||||
|
||||
lmstudio = callPackage ../development/python-modules/lmstudio { };
|
||||
|
||||
lmtpd = callPackage ../development/python-modules/lmtpd { };
|
||||
|
||||
lnkparse3 = callPackage ../development/python-modules/lnkparse3 { };
|
||||
@@ -13489,6 +13495,8 @@ self: super: with self; {
|
||||
|
||||
pydantic = callPackage ../development/python-modules/pydantic { };
|
||||
|
||||
pydantic-ai-slim = callPackage ../development/python-modules/pydantic-ai-slim { };
|
||||
|
||||
pydantic-argparse-extensible =
|
||||
callPackage ../development/python-modules/pydantic-argparse-extensible
|
||||
{ };
|
||||
@@ -13499,6 +13507,8 @@ self: super: with self; {
|
||||
|
||||
pydantic-extra-types = callPackage ../development/python-modules/pydantic-extra-types { };
|
||||
|
||||
pydantic-graph = callPackage ../development/python-modules/pydantic-graph { };
|
||||
|
||||
pydantic-scim = callPackage ../development/python-modules/pydantic-scim { };
|
||||
|
||||
pydantic-settings = callPackage ../development/python-modules/pydantic-settings { };
|
||||
|
||||
Reference in New Issue
Block a user