Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-07-31 18:06:00 +00:00
committed by GitHub
81 changed files with 1194 additions and 295 deletions
+19 -6
View File
@@ -3447,12 +3447,6 @@
githubId = 535135;
name = "Brennon Loveless";
};
bloxx12 = {
email = "charlie@charlieroot.dev";
github = "bloxx12";
githubId = 75451918;
name = "Charlie Root";
};
blusk = {
email = "bluskript@gmail.com";
github = "bluskript";
@@ -8119,6 +8113,11 @@
githubId = 345808;
name = "Jakub Okoński";
};
faukah = {
github = "faukah";
name = "faukah";
githubId = 75451918;
};
fauxmight = {
email = "nix@ivories.org";
matrix = "@fauxmight:matrix.ivories.org";
@@ -23300,6 +23299,12 @@
githubId = 4294323;
name = "Langston Barrett";
};
siegema = {
email = "bee@sharpbeedevelopment.com";
name = "Martin";
github = "Siegema";
githubId = 15473103;
};
sielicki = {
name = "Nicholas Sielicki";
email = "nix@opensource.nslick.com";
@@ -24750,6 +24755,14 @@
githubId = 1552853;
name = "Vincent Ambo";
};
tbaldwin = {
email = "trent.baldwin@proton.me";
matrix = "@tbaldwin:matrix.org";
github = "tbaldwin-dev";
githubId = 220447215;
name = "Trent Baldwin";
keys = [ { fingerprint = "930C 3A61 F911 1296 7DA5 56D1 665A 9E2A FCDD 68AA"; } ];
};
tbenst = {
email = "nix@tylerbenster.com";
github = "tbenst";
@@ -267,12 +267,6 @@ in
in
lib.mkIf noDmUsed (lib.mkDefault false);
# We can't just rely on 'Conflicts=autovt@tty1.service' because
# 'switch-to-configuration switch' will start 'autovt@tty1.service'
# and kill us.
systemd.services."autovt@tty1".enable =
lib.mkIf config.systemd.services.display-manager.enable false;
systemd.services.display-manager = {
description = "Display Manager";
after = [
@@ -2,13 +2,12 @@
config,
lib,
pkgs,
options,
...
}:
let
cfg = config.services.prometheus.exporters.bitcoin;
inherit (lib) mkOption types concatStringsSep;
inherit (lib) mkOption types;
in
{
port = 9332;
@@ -75,7 +74,8 @@ in
};
serviceOpts = {
script = ''
export BITCOIN_RPC_PASSWORD=$(cat ${cfg.rpcPasswordFile})
BITCOIN_RPC_PASSWORD=$(cat ${cfg.rpcPasswordFile})
export BITCOIN_RPC_PASSWORD
exec ${cfg.package}/bin/bitcoind-monitor.py
'';
+8 -1
View File
@@ -148,7 +148,14 @@ in
"container-getty@.service"
];
systemd.targets.getty.wants = [ "autovt@tty1.service" ];
# We can't just rely on 'Conflicts=autovt@tty1.service' because
# 'switch-to-configuration switch' will start 'autovt@tty1.service'
# and kill the display manager.
systemd.targets.getty.wants =
lib.mkIf (!(config.systemd.services.display-manager.enable or false))
[
"autovt@tty1.service"
];
systemd.services."getty@" = {
serviceConfig.ExecStart = [
+5 -2
View File
@@ -144,7 +144,7 @@ in
PrivateTmp = true;
ProtectProc = "invisible";
ProtectClock = true;
ProcSubset = "pid";
ProcSubset = "all";
PrivateUsers = true;
PrivateDevices = true;
ProtectHostname = true;
@@ -166,5 +166,8 @@ in
};
};
meta.maintainers = with maintainers; [ govanify ];
meta.maintainers = with maintainers; [
govanify
tebriel
];
}
+1
View File
@@ -208,6 +208,7 @@ in
amazon-init-shell = runTest ./amazon-init-shell.nix;
amazon-ssm-agent = runTest ./amazon-ssm-agent.nix;
amd-sev = runTest ./amd-sev.nix;
android-translation-layer = runTest ./android-translation-layer.nix;
angie-api = runTest ./angie-api.nix;
anki-sync-server = runTest ./anki-sync-server.nix;
anubis = runTest ./anubis.nix;
+40
View File
@@ -0,0 +1,40 @@
{ pkgs, lib, ... }:
let
# Example Android app
demoApp = pkgs.fetchurl {
url = "https://gitlab.com/android_translation_layer/atl_test_apks/-/raw/061e32a3172c8167b1746768d098f0e62d8f564b/demo_app.apk";
hash = "sha256-aXxLZEAMNsL6nL4r2N9rVsbBPmf3+gFGmgo3kZjdo4s=";
};
in
{
name = "android-translation-layer";
meta.maintainers = with pkgs.lib.maintainers; [ onny ];
nodes.machine =
{ config, pkgs, ... }:
{
imports = [
./common/x11.nix
];
services.xserver.enable = true;
environment = {
systemPackages = [ pkgs.android-translation-layer ];
};
};
enableOCR = true;
testScript = ''
machine.wait_for_x()
with subtest("launch android translation layer demo app"):
machine.succeed("android-translation-layer ${demoApp} >&2 &")
machine.sleep(10)
machine.wait_for_text(r"hello PoC world!")
machine.screenshot("atl_demo_app")
machine.succeed("pkill -f android-translation-layer")
'';
}
@@ -206,7 +206,7 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = with maintainers; [
dotlambda
rhendric
bloxx12
faukah
];
license = licenses.asl20;
mainProgram = "magick";
@@ -0,0 +1,13 @@
diff --git a/meson.build b/meson.build
index 8f525118..658cd9e5 100644
--- a/meson.build
+++ b/meson.build
@@ -178,7 +178,7 @@ libtranslationlayer_so = shared_library('translation_layer_main', [
extra_deps,
dependency('gtk4', version: '>=4.14'), dependency('gl'), dependency('egl'), dependency('wayland-client'), dependency('jni'),
dependency('libportal'), dependency('sqlite3'), dependency('libavcodec', version: '>=59'), dependency('libdrm'),
- dependency('gudev-1.0'), dependency('libswscale'), dependency('webkitgtk-6.0'),
+ dependency('gudev-1.0'), dependency('libswscale'), dependency('webkitgtk-6.0'), dependency('gio-unix-2.0'),
libandroidfw_dep, wayland_protos_dep
],
link_with: [ libandroid_so ],
@@ -0,0 +1,29 @@
diff --git a/meson.build b/meson.build
index 8f525118..c1761a2d 100644
--- a/meson.build
+++ b/meson.build
@@ -11,8 +11,8 @@ dir_base = meson.current_source_dir()
builddir_base = meson.current_build_dir()
# FIXME: make art install a pkgconfig file
libart_dep = [
- cc.find_library('art', dirs : [ '/usr' / get_option('libdir') / 'art', '/usr/local' / get_option('libdir') / 'art', get_option('prefix') / get_option('libdir') / 'art' ]),
- cc.find_library('nativebridge', dirs : [ '/usr' / get_option('libdir') / 'art', '/usr/local' / get_option('libdir') / 'art', get_option('prefix') / get_option('libdir') / 'art' ])
+ cc.find_library('art', dirs : [ '/usr' / get_option('libdir') / 'art', '/usr/local' / get_option('libdir') / 'art', get_option('prefix') / get_option('libdir') / 'art', '@artStandalonePackageDir@' / get_option('libdir') / 'art' ]),
+ cc.find_library('nativebridge', dirs : [ '/usr' / get_option('libdir') / 'art', '/usr/local' / get_option('libdir') / 'art', get_option('prefix') / get_option('libdir') / 'art', '@artStandalonePackageDir@' / get_option('libdir') / 'art' ])
]
libdl_bio_dep = [
cc.find_library('dl_bio')
@@ -21,10 +21,10 @@ libc_bio_dep = [
cc.find_library('c_bio')
]
libandroidfw_dep = [
- cc.find_library('androidfw', dirs : [ '/usr' / get_option('libdir') / 'art', '/usr/local' / get_option('libdir') / 'art', get_option('prefix') / get_option('libdir') / 'art' ]),
+ cc.find_library('androidfw', dirs : [ '/usr' / get_option('libdir') / 'art', '/usr/local' / get_option('libdir') / 'art', get_option('prefix') / get_option('libdir') / 'art', '@artStandalonePackageDir@' / 'lib' / 'art' ]),
]
-if fs.is_file('/usr' / get_option('libdir') / 'java/core-all_classes.jar')
- bootclasspath_dir = '/usr' / get_option('libdir') / 'java'
+if fs.is_file('@artStandalonePackageDir@' / get_option('libdir') / 'java/core-all_classes.jar')
+ bootclasspath_dir = '@artStandalonePackageDir@' / get_option('libdir') / 'java'
elif fs.is_file('/usr/local' / get_option('libdir') / 'java/core-all_classes.jar')
bootclasspath_dir = '/usr/local' / get_option('libdir') / 'java'
elif fs.is_file(get_option('prefix') / get_option('libdir') / 'java/core-all_classes.jar')
@@ -0,0 +1,12 @@
diff --git a/src/main-executable/main.c b/src/main-executable/main.c
index d7cfbfe8..c542c71a 100644
--- a/src/main-executable/main.c
+++ b/src/main-executable/main.c
@@ -311,6 +311,7 @@ static void open(GtkApplication *app, GFile **files, gint nfiles, const gchar *h
} else {
dex_install_dir = "DIDN'T_GET_SO_PATH_WITH_dladdr_SUS"; // in case we print this as part of some other error, it should be clear what the real cause is
}
+ dex_install_dir = "@out@/lib/java/dex";
char *app_data_dir_base = getenv("ANDROID_APP_DATA_DIR");
if (!app_data_dir_base) {
@@ -0,0 +1,102 @@
{
stdenv,
fetchFromGitLab,
ffmpeg,
meson,
openjdk17,
lib,
glib,
pkg-config,
wayland-protocols,
wayland,
wayland-scanner,
gtk4,
openxr-loader,
libglvnd,
libportal-gtk4,
sqlite,
libdrm,
libgudev,
webkitgtk_6_0,
ninja,
art-standalone,
bionic-translation,
alsa-lib,
makeWrapper,
replaceVars,
nixosTests,
}:
stdenv.mkDerivation {
pname = "android-translation-layer";
version = "0-unstable-2025-07-14";
src = fetchFromGitLab {
owner = "android_translation_layer";
repo = "android_translation_layer";
rev = "828f779c4f7170f608047c500d6d3b64b480df7f";
hash = "sha256-1KYZWlzES3tbskqvA8qSQCegE0uLTLCq4q2CX6uix4o=";
};
patches = [
(replaceVars ./configure-art-path.patch {
artStandalonePackageDir = "${art-standalone}";
})
# Required gio-unix dependency is missing in meson.build
./add-gio-unix-dep.patch
# Patch custon Dex install dir
./configure-dex-install-dir.patch
];
postPatch = ''
# As we need the $out reference, we can't use `replaceVars` here.
substituteInPlace src/main-executable/main.c \
--replace-fail '@out@' "$out"
'';
nativeBuildInputs = [
makeWrapper
meson
ninja
openjdk17
pkg-config
];
buildInputs = [
alsa-lib
art-standalone
bionic-translation
ffmpeg
gtk4
libdrm
libglvnd
libgudev
libportal-gtk4
openxr-loader
sqlite
wayland
wayland-protocols
wayland-scanner
webkitgtk_6_0
];
postFixup = ''
wrapProgram $out/bin/android-translation-layer \
--prefix LD_LIBRARY_PATH : ${art-standalone}/lib/art
'';
passthru.tests = {
inherit (nixosTests) android-translation-layer;
};
meta = {
description = "Translation layer that allows running Android apps on a Linux system";
homepage = "https://gitlab.com/android_translation_layer/android_translation_layer";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ onny ];
mainProgram = "android-translation-layer";
};
}
@@ -0,0 +1,26 @@
diff --git a/art/runtime/native_stack_dump.cc b/art/runtime/native_stack_dump.cc
index 150fa782..2fca7caf 100644
--- a/art/runtime/native_stack_dump.cc
+++ b/art/runtime/native_stack_dump.cc
@@ -76,7 +76,7 @@ std::string FindAddr2line() {
return std::string(env_value) + kAddr2linePrebuiltPath;
}
}
- return std::string("/usr/bin/addr2line");
+ return std::string("addr2line");
}
ALWAYS_INLINE
diff --git a/art/tools/timeout_dumper/timeout_dumper.cc b/art/tools/timeout_dumper/timeout_dumper.cc
index 08d2f4c0..513324ad 100644
--- a/art/tools/timeout_dumper/timeout_dumper.cc
+++ b/art/tools/timeout_dumper/timeout_dumper.cc
@@ -122,7 +122,7 @@ std::unique_ptr<std::string> FindAddr2line() {
}
}
- constexpr const char* kHostAddr2line = "/usr/bin/addr2line";
+ constexpr const char* kHostAddr2line = "addr2line";
if (access(kHostAddr2line, F_OK) == 0) {
return std::make_unique<std::string>(kHostAddr2line);
}
@@ -0,0 +1,96 @@
{
lib,
stdenv,
fetchFromGitLab,
wolfssl,
bionic-translation,
python3,
which,
jdk17,
zip,
xz,
icu,
zlib,
libcap,
expat,
openssl,
libbsd,
lz4,
runtimeShell,
libpng,
makeWrapper,
binutils,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "art-standalone";
version = "0-unstable-2025-07-09";
src = fetchFromGitLab {
owner = "android_translation_layer";
repo = "art_standalone";
rev = "1eee3dce3ba6f324bb7a32a170b2da14889af39d";
hash = "sha256-OAO0k/LkQ+MKqR4HkFXD18LSXQZNPogjjRot4UVoE5A=";
};
patches = [
# Do not hardocde addr2line binary path
./no-hardcode-path-addr2line.patch
];
postPatch = ''
chmod +x dalvik/dx/etc/{dx,dexmerger}
patchShebangs .
sed -i "s|/bin/bash|${runtimeShell}|" build/core/config.mk build/core/main.mk
'';
enableParallelBuilding = true;
strictDeps = true;
nativeBuildInputs = [
jdk17
makeWrapper
python3
which
zip
];
buildInputs = [
bionic-translation
expat
icu
libbsd
libcap
libpng
lz4
openssl
(wolfssl.overrideAttrs (oldAttrs: {
configureFlags = oldAttrs.configureFlags ++ [
"--enable-jni"
];
}))
xz
zlib
];
makeFlags = [
"____LIBDIR=lib"
"____PREFIX=${placeholder "out"}"
"____INSTALL_ETC=${placeholder "out"}/etc"
];
postFixup = ''
wrapProgram $out/bin/dx \
--prefix LD_LIBRARY_PATH : $out/lib \
--prefix PATH : ${lib.makeBinPath [ binutils ]}
'';
meta = {
description = "Art and dependencies with modifications to make it work on Linux";
homepage = "https://gitlab.com/android_translation_layer/art_standalone";
# No license specified yet
license = lib.licenses.unfree;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ onny ];
};
})
+2 -2
View File
@@ -8,11 +8,11 @@
stdenv.mkDerivation rec {
pname = "bdf2psf";
version = "1.239";
version = "1.240";
src = fetchurl {
url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
sha256 = "sha256-O0hV2OGj5+laVJ+a8rHGPRvThRWoiEUS5g7E3Wam7XY=";
sha256 = "sha256-TFCTCoWyEUzFQTSObk5SavBH1bTHQaGc5E/z6mtY5yU=";
};
nativeBuildInputs = [ dpkg ];
+5
View File
@@ -23,6 +23,8 @@
cmocka,
tzdata,
gitUpdater,
fstrm,
protobufc,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -61,6 +63,8 @@ stdenv.mkDerivation (finalAttrs: {
libuv
nghttp2
jemalloc
fstrm
protobufc
]
++ lib.optional stdenv.hostPlatform.isLinux libcap
++ lib.optional enableGSSAPI libkrb5
@@ -71,6 +75,7 @@ stdenv.mkDerivation (finalAttrs: {
configureFlags = [
"--localstatedir=/var"
"--without-lmdb"
"--enable-dnstap"
"--with-libidn2"
]
++ lib.optional enableGSSAPI "--with-gssapi=${libkrb5.dev}/bin/krb5-config"
@@ -0,0 +1,50 @@
{
lib,
stdenv,
fetchFromGitLab,
mesa,
wayland,
libglvnd,
libbsd,
libunwind,
libelf,
meson,
pkg-config,
ninja,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "bionic-translation";
version = "0-unstable-2025-07-07";
src = fetchFromGitLab {
owner = "android_translation_layer";
repo = "bionic_translation";
rev = "18c65637bf02dba86415dd009036b72f62cbb37d";
hash = "sha256-cqmWT9mbYJRLaX1Ey0lDfRFYM7JXuwayDN4o2WJIAVc=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
];
buildInputs = [
libbsd
libelf
libglvnd
libunwind
mesa
wayland
];
meta = {
description = "Set of libraries for loading bionic-linked .so files on musl/glibc";
homepage = "https://gitlab.com/android_translation_layer/bionic_translation";
# No license specified yet
license = lib.licenses.unfree;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ onny ];
};
})
+4 -4
View File
@@ -11,7 +11,7 @@
stdenv.mkDerivation rec {
pname = "bloop";
version = "2.0.10";
version = "2.0.12";
platform =
if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64 then
@@ -42,11 +42,11 @@ stdenv.mkDerivation rec {
url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-${platform}";
sha256 =
if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64 then
"sha256-GoWHVYIA98YMMmhYj1bBysABBq2UxEcELXqDi+XRnQ4="
"sha256-vsPzoZLEeBLVDkKpFzJ2qCfGxZNRedlGI96X3uSmqkw="
else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 then
"sha256-hE54Z2QLlAt4S+LQOAD0jLf1y2/PkKO9JAT2L6M8lWA="
"sha256-JNX+uyGynl/QokSB1gwY75c/im8+UZwM/pg7X+rFLbU="
else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then
"sha256-8gtaiSilf1yL50QSsy4K686R1J9W5NL1JyB7onMSTOw="
"sha256-Ry9VRrJe6ThKAKQNgD1RSsT7mVxoPpP1Tzq3bwcPxTM="
else
throw "unsupported platform";
};
+3 -3
View File
@@ -58,7 +58,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = with lib; {
homepage = "https://github.com/google/brotli";
description = "Generic-purpose lossless compression algorithm and tool";
description = "General-purpose lossless compression library with CLI";
longDescription = ''
Brotli is a generic-purpose lossless compression algorithm that
compresses data using a combination of a modern variant of the LZ77
@@ -68,8 +68,8 @@ stdenv.mkDerivation (finalAttrs: {
deflate but offers more dense compression.
The specification of the Brotli Compressed Data Format is defined
in the following internet draft:
http://www.ietf.org/id/draft-alakuijala-brotli
in the following Internet-Draft:
https://datatracker.ietf.org/doc/html/rfc7932
'';
license = licenses.mit;
maintainers = with maintainers; [ freezeboy ];
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "cirrus-cli";
version = "0.146.0";
version = "0.147.0";
src = fetchFromGitHub {
owner = "cirruslabs";
repo = "cirrus-cli";
rev = "v${version}";
hash = "sha256-Eemi6EDB5wYM72XJl9WWSdnC5noLGbf2Dju+b1NxQuI=";
hash = "sha256-krEgxsPEMNDagaiB14uaF2XzuK5WSoGauGYM/k6YaY4=";
};
vendorHash = "sha256-CvypJVRLdMr38Qn8E67IZ33cSq5fYhM3i5HyifXGYNE=";
vendorHash = "sha256-oG5RhpXsL8R5lqZEp+U4Biwnip7H1AjXM+fZIrS2pZc=";
ldflags = [
"-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}"
+3 -3
View File
@@ -10,7 +10,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
version = "1.2.1";
src = fetchFromGitHub {
owner = "bloxx12";
owner = "faukah";
repo = "dix";
tag = "v${finalAttrs.version}";
hash = "sha256-cSmxpzj5bNcMgfxJQiYwcwKjCrsTHxY+loRi+pzpFd4=";
@@ -24,11 +24,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://github.com/bloxx12/dix";
homepage = "https://github.com/faukah/dix";
description = "Blazingly fast tool to diff Nix related things";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [
bloxx12
faukah
NotAShelf
];
mainProgram = "dix";
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "emcee";
version = "0.4.5";
version = "0.5.1";
src = fetchFromGitHub {
owner = "loopwork-ai";
repo = "emcee";
tag = "v${finalAttrs.version}";
hash = "sha256-qiH9Om1ChuMpU3CFQkOdJj1uITSI7hojRtXkRF9GSC0=";
hash = "sha256-ri/4Xxc6QgGqsARI5c2JjVeEe5lOmi/c+B3+vUvW6ow=";
};
vendorHash = "sha256-TU6Z06b+ZkiaK2ArNKIhHMwBludThpSo4RLZO/sirK4=";
vendorHash = "sha256-B8shxh1fLdIR7TN0mSugu9wFNShmrb1WBzCArHVVnoU=";
ldflags = [
"-X main.version=${finalAttrs.version}"
+2 -2
View File
@@ -59,13 +59,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fastfetch";
version = "2.48.1";
version = "2.49.0";
src = fetchFromGitHub {
owner = "fastfetch-cli";
repo = "fastfetch";
tag = finalAttrs.version;
hash = "sha256-+0TN4tSay2fpSl5Aoy8M6y3fsWPKGfWWdLiVvg+r978=";
hash = "sha256-M1/VThHWRB6MbmPpHcgaM3j07kmuj0RnjblKo54RatY=";
};
outputs = [
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ferron";
version = "1.3.3";
version = "1.3.4";
src = fetchFromGitHub {
owner = "ferronweb";
repo = "ferron";
tag = finalAttrs.version;
hash = "sha256-pJ3UGiQUIon1RTZqw0Y4b/FC+0aAxHSwmXRApWsNhP4=";
hash = "sha256-kERR2wEKMjOIjcEYKzCyUFkEeOxDP4ypfs69kPWxQ9Y=";
};
cargoHash = "sha256-9ZJYf7tcsdBhE82MSmLi2deSM+l1mjfwSIHLTDan5Hg=";
cargoHash = "sha256-+UJ+wF/U2T315E1T1QhG1cCV3DJ/tIXZ8O09pyrXRIU=";
nativeBuildInputs = [
pkg-config
+2 -2
View File
@@ -29,13 +29,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "fluent-bit";
version = "4.0.3";
version = "4.0.5";
src = fetchFromGitHub {
owner = "fluent";
repo = "fluent-bit";
tag = "v${finalAttrs.version}";
hash = "sha256-hxlvidzrEE/5xzka414CerGQ/Vi2jXUnNvO/oSxrHQQ=";
hash = "sha256-wxis93xdSVRHpBfl06DlOkDnch58iSpXFMAFCtOXzbU=";
};
# The source build documentation covers some dependencies and CMake options.
@@ -0,0 +1,56 @@
{
lib,
stdenv,
fetchgit,
meson,
ninja,
pkg-config,
gnunet,
libsodium,
libgcrypt,
libgnunetchat,
ncurses,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gnunet-messenger-cli";
version = "0.3.1";
src = fetchgit {
url = "https://git.gnunet.org/messenger-cli.git";
tag = "v${finalAttrs.version}";
hash = "sha256-8Iby3IZXEZJ1dqVV62xDzXx/qq7JKhVtn6ZLb697ZSw=";
};
env.INSTALL_DIR = (placeholder "out") + "/";
strictDeps = true;
nativeBuildInputs = [
meson
ninja
pkg-config
];
buildInputs = [
gnunet
libgcrypt
libgnunetchat
libsodium
ncurses
];
preInstall = "mkdir -p $out/bin";
preFixup = "mv $out/bin/messenger-cli $out/bin/gnunet-messenger-cli";
meta = {
description = "Decentralized, privacy-preserving networking framework for secure peer-to-peer communication";
homepage = "https://git.gnunet.org/messenger-cli.git";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.all;
teams = with lib.teams; [ ngi ];
maintainers = [ lib.maintainers.ethancedwards8 ];
mainProgram = "gnunet-messenger-cli";
};
})
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "gollama";
version = "v1.34.1";
version = "v1.35.1";
src = fetchFromGitHub {
owner = "sammcj";
repo = "gollama";
tag = "v${version}";
hash = "sha256-Zysy8UTpUzIb4ekg9tAg5Wj7LRIIw8axENYqK8z2TdY=";
hash = "sha256-fiCfkCxj/7XTmlqxLwZqnv+tRDF6RC412RthAcpHUUA=";
};
vendorHash = "sha256-7e1wM2FDaQGAIhb0gERy/RgJupra1B52SgTV0EHD570=";
vendorHash = "sha256-O9uv/oXZKr9060woz/RQ8UEPdbW4Z8vnhXIQXm+ljQ4=";
doCheck = false;
+2 -2
View File
@@ -28,13 +28,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hyprlock";
version = "0.9.0";
version = "0.9.1";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprlock";
rev = "v${finalAttrs.version}";
hash = "sha256-YndFlXC9ZM7uiC75MfnYFk4S9s1Xqq3GTnW0xMBlG7g=";
hash = "sha256-hHTJ65uOiGqQgI2XbH9jqIGHUcA86K+GJbnhAKhRWNo=";
};
nativeBuildInputs = [
+2
View File
@@ -20,6 +20,8 @@
# but nix's sandboxing does not allow that)
# * if shard.lock changed
# * recreate shards.nix by running crystal2nix
# Broken versions:
# * 20250517 (`Missing hash key: "videoDetails" (KeyError)`)
versions ? lib.importJSON ./versions.json,
}:
let
+4 -4
View File
@@ -1,9 +1,9 @@
{
"invidious": {
"hash": "sha256-Mm1Hk7L/aFuVrcS+6ikrW8RQZld31vU5Uwecr0HIseQ=",
"version": "2.20250517.0",
"date": "2025.05.17",
"commit": "f07859e1"
"hash": "sha256-JXcj5mh0WEetTt91cA+/pgqxNwyIRF+bISOBoHHVZf0=",
"version": "2.20250504.0",
"date": "2025.05.04",
"commit": "aa7de1ed"
},
"videojs": {
"hash": "sha256-jED3zsDkPN8i6GhBBJwnsHujbuwlHdsVpVqa1/pzSH4="
+3 -3
View File
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "koto-ls";
version = "0.16.0";
version = "0.16.1";
src = fetchFromGitHub {
owner = "koto-lang";
repo = "koto-ls";
tag = "v${finalAttrs.version}";
hash = "sha256-a2YGjAZvLyPRfFdZdd0z7sbijS1RCPa5wY2DkJZwbmk=";
hash = "sha256-k3XzVfuObA+PyE45arZvp1aER/6uDOyMzs937K8VECQ=";
};
cargoHash = "sha256-GFgIW+x+kncf1OTWZZZjD9yoLEwW01pWAUnJQCpPFhQ=";
cargoHash = "sha256-4mHl9Pds2B4Htkpm425LBHADaR2E2VwvhYC1FwDu304=";
passthru.updateScript = nix-update-script { };
+59
View File
@@ -0,0 +1,59 @@
{
lib,
stdenv,
fetchgit,
meson,
ninja,
pkg-config,
validatePkgConfig,
testers,
check,
gnunet,
libsodium,
libgcrypt,
libextractor,
}:
stdenv.mkDerivation (finalAttrs: {
name = "libgnunetchat";
version = "0.5.3";
src = fetchgit {
url = "https://git.gnunet.org/libgnunetchat.git";
tag = "v${finalAttrs.version}";
hash = "sha256-DhXPYa8ya9cEbwa4btQTrpjfoTGhzBInWXXH4gmDAQw=";
};
strictDeps = true;
nativeBuildInputs = [
meson
ninja
pkg-config
validatePkgConfig
];
buildInputs = [
check
gnunet
libextractor
libgcrypt
libsodium
];
env.INSTALL_DIR = (placeholder "out") + "/";
prePatch = "mkdir -p $out/lib";
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
pkgConfigModules = [ "gnunetchat" ];
description = "Library for secure, decentralized chat using GNUnet network services";
homepage = "https://git.gnunet.org/libgnunetchat.git";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.all;
teams = with lib.teams; [ ngi ];
maintainers = [ lib.maintainers.ethancedwards8 ];
};
})
+2 -2
View File
@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libmsquic";
version = "2.4.12";
version = "2.4.14";
src = fetchFromGitHub {
owner = "microsoft";
repo = "msquic";
tag = "v${finalAttrs.version}";
hash = "sha256-zWg5h5+wguBiAYPN8nZU/lQv1do2b87yyvuFm3445Ys=";
hash = "sha256-hsdtRxvAbo7pfsM6ioG3CiGJhgRilrydA6zvAcoux4c=";
fetchSubmodules = true;
};
@@ -37,7 +37,7 @@ let
pname = "librewolf-bin-unwrapped";
version = "140.0.4-1";
version = "141.0-1";
in
stdenv.mkDerivation {
@@ -47,9 +47,9 @@ stdenv.mkDerivation {
url = "https://gitlab.com/api/v4/projects/44042130/packages/generic/librewolf/${version}/librewolf-${version}-${arch}-package.tar.xz";
hash =
{
i686-linux = "sha256-DrjlqCjQ6BJe9m/0/n9c4vvKBU9kVywVPHpWO7tTTUw=";
x86_64-linux = "sha256-KHwp8Lk1Y8FyJBbqKgYa5O+NvBvBCDp7fbOVfd93Lr4=";
aarch64-linux = "sha256-o8eM/49kmG6e0cnNZnKp1wAd2evMeXLxwC96cavwfmY=";
i686-linux = "sha256-nF9sGMMzLmVJapTyiU8y0ICIl26i+eloAHKJSVvSeuY=";
x86_64-linux = "sha256-mlvZ0faAXra6oZ4nsq6hiIgk/byoa0EmThvAkGpqQiU=";
aarch64-linux = "sha256-AfMmwQtfjWY0ImwQ/M+1liU3IzaxBVkIVLxSEQ7YTCw=";
}
.${stdenv.hostPlatform.system} or throwSystem;
};
@@ -8,7 +8,6 @@
python3,
vala,
wrapGAppsHook3,
xapp,
lightdm,
gtk3,
pixman,
@@ -23,13 +22,13 @@
stdenv.mkDerivation rec {
pname = "lightdm-slick-greeter";
version = "2.0.9";
version = "2.2.0";
src = fetchFromGitHub {
owner = "linuxmint";
repo = "slick-greeter";
rev = version;
sha256 = "sha256-YSSAFH6azXVk527CmZ6RM2hBdzziTdXeOmYZKusF/DQ=";
hash = "sha256-xuNUCS8v8XXidXNT/DP+sckdadUTeflFK34ZDpF1iyc=";
};
nativeBuildInputs = [
@@ -43,7 +42,6 @@ stdenv.mkDerivation rec {
];
buildInputs = [
xapp
lightdm
gtk3
pixman
@@ -71,6 +69,10 @@ stdenv.mkDerivation rec {
substituteInPlace data/x.dm.slick-greeter.gschema.xml \
--replace-fail "/usr/share/onboard" "/run/current-system/sw/share/onboard"
# This image is really just a fallback.
substituteInPlace src/user-prompt-box.vala \
--replace-fail "/usr/share/cinnamon/faces/" "/run/current-system/sw/share/cinnamon/faces/"
patchShebangs files/usr/bin/*
'';
+9 -9
View File
@@ -1,21 +1,21 @@
{
"version": "3.152.1",
"version": "3.154.0",
"assets": {
"x86_64-linux": {
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.152.1/mirrord_linux_x86_64",
"hash": "sha256-iHGwnqJQ2uEyi3Mvtkce3YU38nuHjPL0x5cSbDZ4RXk="
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.154.0/mirrord_linux_x86_64",
"hash": "sha256-MLLUVAsmOwyTzWw/Kr9dU4o8+YQnZCG7Iu2izEqV3vU="
},
"aarch64-linux": {
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.152.1/mirrord_linux_aarch64",
"hash": "sha256-6Ef5MRVUF7bNMNCFbSpUvZK6JoTdgWi/QhiqVuQIW5E="
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.154.0/mirrord_linux_aarch64",
"hash": "sha256-ssOU8DNpgbNwo9MdTuzqoQ9Z9d2zXzaxtDFgiMrnWPg="
},
"aarch64-darwin": {
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.152.1/mirrord_mac_universal",
"hash": "sha256-GzUpt+3GkWdMTXK1O5Daki1ASoHtf6DbufyTy5HRcm4="
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.154.0/mirrord_mac_universal",
"hash": "sha256-fc3BTnojzNsjIYXYIYOfQTmif7TBvK0pay2ucng+gxg="
},
"x86_64-darwin": {
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.152.1/mirrord_mac_universal",
"hash": "sha256-GzUpt+3GkWdMTXK1O5Daki1ASoHtf6DbufyTy5HRcm4="
"url": "https://github.com/metalbear-co/mirrord/releases/download/3.154.0/mirrord_mac_universal",
"hash": "sha256-fc3BTnojzNsjIYXYIYOfQTmif7TBvK0pay2ucng+gxg="
}
}
}
+2 -2
View File
@@ -26,13 +26,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mold";
version = "2.40.2";
version = "2.40.3";
src = fetchFromGitHub {
owner = "rui314";
repo = "mold";
tag = "v${finalAttrs.version}";
hash = "sha256-Db2IxHCQWb6JdJROi+nOi0pV4zb+8/TcFrJWUCdH6N8=";
hash = "sha256-zE+qve1ooCN1UY0h9tI2jo7Sw+fVdhh4DPFIU7yYKSg=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -8,13 +8,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "moonlight";
version = "1.3.23";
version = "1.3.24";
src = fetchFromGitHub {
owner = "moonlight-mod";
repo = "moonlight";
tag = "v${finalAttrs.version}";
hash = "sha256-LVXO+V182R2KmNfTJjpYx/yYk97+Kvzul7gzSM72JJM=";
hash = "sha256-qyKn4qHEpGqis82ALjsog0iH6nM8HKMl4y1KLazXT7I=";
};
nativeBuildInputs = [
@@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [ nodejs_22 ];
fetcherVersion = 1;
hash = "sha256-gmv0W4PluHoiZRSAJuBTDo3CjmJOM1ZHFbxrt7CsJaE=";
hash = "sha256-Ij2jc5K0WpIIeI/iKXAdU+fxyqkWpkCuQSNqHvhkQS8=";
};
env = {
+4 -11
View File
@@ -8,7 +8,7 @@
}:
let
version = "1.5.1";
version = "1.5.2";
in
rustPlatform.buildRustPackage {
@@ -18,11 +18,11 @@ rustPlatform.buildRustPackage {
src = fetchFromGitHub {
owner = "twosigma";
repo = "nsncd";
rev = "v${version}";
hash = "sha256-0cFCX5pKvYv6yr4+X5kXGz8clNi/LYndFtHaxSmHN+I=";
tag = "v${version}";
hash = "sha256-HNg2pf6dUQW95B8x/xWa53+GZVWzpTMRVeqWT3dp/M8=";
};
cargoHash = "sha256-9M8Y0WwXFlrpRleSQPYDpnjNnxKGvrtO6Istl9qM30M=";
cargoHash = "sha256-kjxRhrgKPLCKWc3/gOvdcmQX7IdxFLuwcV7DRZIte78=";
checkFlags = [
# Relies on the test environment to be able to resolve "localhost"
@@ -36,13 +36,6 @@ rustPlatform.buildRustPackage {
"--skip=handlers::test::test_handle_getservbyport_port"
"--skip=handlers::test::test_handle_getservbyport_port_proto"
"--skip=handlers::test::test_handle_getservbyport_port_proto_aliases"
]
++ lib.optionals stdenv.hostPlatform.isBigEndian [
# Expected serialisation output in tests doesn't account for endianness differences
# https://github.com/twosigma/nsncd/issues/160
"--skip=handlers::test::test_hostent_serialization"
"--skip=handlers::test::test_innetgroup_serialization_in_group"
"--skip=handlers::test::test_netgroup_serialization"
];
meta = with lib; {
+3 -3
View File
@@ -116,17 +116,17 @@ in
goBuild (finalAttrs: {
pname = "ollama";
# don't forget to invalidate all hashes each update
version = "0.9.6";
version = "0.10.0";
src = fetchFromGitHub {
owner = "ollama";
repo = "ollama";
tag = "v${finalAttrs.version}";
hash = "sha256-fVbHz/Sa3aSIYBic3lNQl5iUYo+9LHIk52vO9mx6XRE=";
hash = "sha256-BoT4WUapxakETHAlHP64okcReMIhQ+PzKaSVpELvrcI=";
fetchSubmodules = true;
};
vendorHash = "sha256-oHTo8EQGfrKOwg6SRPrL23qSH+p+clBxxiXsuO1auLk=";
vendorHash = "sha256-SlaDsu001TUW+t9WRp7LqxUSQSGDF1Lqu9M1bgILoX4=";
env =
lib.optionalAttrs enableRocm {
+3 -3
View File
@@ -16,16 +16,16 @@
rustPlatform.buildRustPackage rec {
pname = "owmods-cli";
version = "0.15.1";
version = "0.15.2";
src = fetchFromGitHub {
owner = "ow-mods";
repo = "ow-mod-man";
rev = "cli_v${version}";
hash = "sha256-NIg8heytWUshpoUbaH+RFIvwPBQGXL6yaGKvUuGnxg8=";
hash = "sha256-5ymU9X4J5UPLHxV+7WB29e5Wuq++wYA9bqI2YPjDtWs=";
};
cargoHash = "sha256-kLuiNfrxc3Z8UeDQ2Mb6N78TST6c2f4N7mt4X0zv1Zk=";
cargoHash = "sha256-Z/muI8JLjOFJBSIMWlvCyFW4JI3lP6/O0AI8Uj8AtBo=";
nativeBuildInputs = [
pkg-config
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "packer";
version = "1.13.1";
version = "1.14.0";
src = fetchFromGitHub {
owner = "hashicorp";
repo = "packer";
rev = "v${version}";
hash = "sha256-8DKMRiqv0XasLvFHGscpet51ZLVJjWjAYP8bLgVRIyQ=";
hash = "sha256-5rhdIx+80ZHoMupYpun2qfQq/2fFiOWO4k6jsGSm/JY=";
};
vendorHash = "sha256-aXeYGyMn+lnsfcQMJXRt1uZsdi9np26sMna6Ch1swbg=";
vendorHash = "sha256-F6hn+pXPyPe70UTK8EF24lk7ArYz7ygUyVVsatW6+hI=";
subPackages = [ "." ];
+1 -1
View File
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
license = lib.licenses.agpl3Plus;
maintainers = with lib.maintainers; [
sigmasquadron
bloxx12
faukah
ALameLlama
];
mainProgram = "pay-respects";
+14 -24
View File
@@ -1,36 +1,26 @@
{
lib,
python3,
fetchPypi,
rustPlatform,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
rustPlatform,
maturin,
}:
python3.pkgs.buildPythonApplication rec {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "pyrefly";
version = "0.17.1";
pyproject = true;
version = "0.20.2";
# fetch from PyPI instead of GitHub, since source repo does not have Cargo.lock
src = fetchPypi {
inherit pname version;
hash = "sha256-w4ivRtmApXiXQT95GI4vvYBop7yxdbbkpW+YTyFtgXM=";
src = fetchFromGitHub {
owner = "facebook";
repo = "pyrefly";
tag = finalAttrs.version;
hash = "sha256-E3CPs3/c5/0VKeRFI6dNRj0xUoU9YBV1rZ1qFt4E2+U=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src;
hash = "sha256-Op5ueVkzZTiJ1zeBGVi8oeLcfSzXMYfk5zEg4OGyA5g=";
};
buildAndTestSubdir = "pyrefly";
cargoHash = "sha256-EkGw7y5NtJ6Yd3DzL4z+81I0v5WyIwZ28klHXMqHjJc=";
build-system = [ maturin ];
nativeBuildInputs = with rustPlatform; [
cargoSetupHook
maturinBuildHook
];
nativeCheckInputs = [ versionCheckHook ];
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
# requires unstable rust features
env.RUSTC_BOOTSTRAP = 1;
@@ -48,4 +38,4 @@ python3.pkgs.buildPythonApplication rec {
QuiNzX
];
};
}
})
@@ -1,47 +0,0 @@
From 3488de815355051d2e369c7fe48a35dabf695cfc Mon Sep 17 00:00:00 2001
From: Pol Dellaiera <pol.dellaiera@protonmail.com>
Date: Mon, 17 Mar 2025 16:52:25 +0100
Subject: [PATCH] fix file loading
---
rabbit.py | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/rabbit.py b/rabbit.py
index a1826d3..697c880 100644
--- a/rabbit.py
+++ b/rabbit.py
@@ -9,6 +9,7 @@ from sklearn.ensemble import GradientBoostingClassifier
import joblib
import site
from tqdm import tqdm
+from importlib.resources import files
import GenerateActivities as gat
import ExtractEvent as eev
@@ -59,15 +60,13 @@ def get_model():
'''
model_file = 'bimbas.joblib'
- for dir in site.getsitepackages():
- if dir.endswith('site-packages'):
- target_dir = dir
- else:
- target_dir = site.getsitepackages()[0]
- bot_identification_model = joblib.load(f'{target_dir}/{model_file}')
- # bot_identification_model = joblib.load(model_file)
-
- return(bot_identification_model)
+ try:
+ resource_path = files("rabbit").joinpath(model_file)
+ bot_identification_model = joblib.load(resource_path)
+ except Exception as e:
+ raise RuntimeError(f"Failed to load the model: {e}")
+
+ return bot_identification_model
def compute_confidence(probability_value):
'''
--
2.48.1
+20 -22
View File
@@ -6,15 +6,18 @@
}:
let
python3' =
let
packageOverrides = self: super: {
scikit-learn = super.scikit-learn.overridePythonAttrs (old: {
python3' = python3.override {
packageOverrides = self: super: {
scikit-learn =
let
version = "1.5.2";
in
super.scikit-learn.overridePythonAttrs (old: {
inherit version;
src = fetchPypi {
pname = "scikit_learn";
version = "1.5.2";
inherit version;
hash = "sha256-tCN+17P90KSIJ5LmjvJUXVuqUKyju0WqffRoE4rY+U0=";
};
@@ -23,36 +26,31 @@ let
# - test_csr_polynomial_expansion_index_overflow[csr_array-False-True-3-2344]
doCheck = false;
});
};
in
python3.override {
inherit packageOverrides;
self = python3;
};
in
python3'.pkgs.buildPythonApplication rec {
pname = "rabbit";
self = python3;
};
# Make sure to check for which version of scikit-learn this project was built
# Currently version 2.3.1 is made with scikit-learn 1.5.2
# Currently version 2.3.2 is made with scikit-learn 1.5.2
# Upgrading to newer versions of scikit-learn break the project
version = "2.3.1";
version = "2.3.2";
in
python3'.pkgs.buildPythonApplication {
pname = "rabbit";
inherit version;
pyproject = true;
src = fetchFromGitHub {
owner = "natarajan-chidambaram";
repo = "RABBIT";
tag = version;
hash = "sha256-QmP6yfVnlYoNVa4EUtKR9xbCnQW2V6deV0+hN9IGtic=";
hash = "sha256-icf42vqYPNH1v1wEv/MpqScqMUr/qDlcGoW9kPY2R6s=";
};
patches = [
# Fix file loading, to be removed at the next bump.
# The author has been notified about the issue and currently working on it.
./fix-file-loading.patch
];
pythonRelaxDeps = [
"joblib"
"numpy"
"requests"
"scikit-learn"
"scipy"
"tqdm"
+4
View File
@@ -6,8 +6,10 @@
zstd,
openssl,
curl,
cyrus_sasl,
cmake,
ninja,
pkg-config,
deterministic-host-uname,
}:
@@ -30,6 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
cmake
ninja
pkg-config
# cross: build system uses uname to determine host system
deterministic-host-uname
];
@@ -39,6 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
zstd
openssl
curl
cyrus_sasl
];
# examples and tests don't build on darwin statically
+1 -1
View File
@@ -55,7 +55,7 @@ rustPlatform.buildRustPackage rec {
'';
maintainers = with lib.maintainers; [
donovanglover
bloxx12
faukah
];
mainProgram = "rmpc";
platforms = lib.platforms.linux ++ lib.platforms.darwin;
+67
View File
@@ -0,0 +1,67 @@
{
lib,
pkgsStatic,
fetchFromGitHub,
python3Packages,
}:
let
version = "2.14.0";
src = fetchFromGitHub {
owner = "JonathonReinhart";
repo = "scuba";
tag = "v${version}";
hash = "sha256-AX70js/bvt88zWJlXpuHIeBsBRfAL4qZjuthPFKSnFI=";
};
# This must be built statically because scuba will execute unknown docker environments
scubainit = pkgsStatic.rustPlatform.buildRustPackage rec {
pname = "scubainit";
inherit src version;
sourceRoot = "${src.name}/scubainit";
cargoHash = "sha256-YUYo2B5hzzmDeNiWUC+198Qbz+JPgUJfpAqyPWAXTRA=";
};
in
python3Packages.buildPythonPackage rec {
pname = "scuba";
inherit src version;
pyproject = true;
build-system = with python3Packages; [
setuptools
];
dependencies = with python3Packages; [
argcomplete
pyyaml
];
postPatch = ''
# Version detection fails
# Patch in the version instead
substituteInPlace scuba/version.py \
--replace-fail "__version__ = get_version()" "__version__ = \"${version}\""
# Disable calling cargo through the make file
# scubainit has already been built
substituteInPlace setup.py \
--replace-fail "check_call([\"make\"])" "pass"
'';
preBuild = ''
# Link scubainit into the build tree
ln -s ${scubainit}/bin/scubainit scuba/scubainit
'';
meta = {
description = "Simple Container-Utilizing Build Apparatus";
homepage = "https://github.com/JonathonReinhart/scuba";
changelog = "https://github.com/JonathonReinhart/scuba/releases/tag/${src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ tbaldwin ];
mainProgram = "scuba";
};
}
+2 -2
View File
@@ -16,13 +16,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "sscg";
version = "3.0.7";
version = "3.0.8";
src = fetchFromGitHub {
owner = "sgallagher";
repo = "sscg";
tag = "sscg-${finalAttrs.version}";
hash = "sha256-e9/ruYBn206J0snQSo5uS9mvWmNh9AaZdZshSADEd4M=";
hash = "sha256-vHZuBjFs7sGIMGFWyqaW0SzzDDsrszlLmLREJtjLH2g=";
};
nativeBuildInputs = [
+6 -6
View File
@@ -21,23 +21,23 @@
}:
let
version = "469e-rc8";
version = "469e-rc9";
srcs = rec {
x86_64-linux = fetchurl {
url = "https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${version}/OldUnreal-UTPatch${builtins.elemAt (lib.strings.splitString "-" version) 0}-Linux-amd64.tar.bz2";
hash = "sha256-VR4Ldb2LVqO/6kIZINLyndaxf1qzmB1xJrzZHAaoOU0=";
hash = "sha256-1hEWiUjgzb1mKTs/2p2/Whj8FdpqpvfaDtXf63S/W44=";
};
aarch64-linux = fetchurl {
url = "https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${version}/OldUnreal-UTPatch${builtins.elemAt (lib.strings.splitString "-" version) 0}-Linux-arm64.tar.bz2";
hash = "sha256-vMZfmdD0THSIt//ku90bmURqGIRAcsOojJncis2Cr4w=";
hash = "sha256-ZYbwwefn5ifzz9rkx9X8PSVy1c8t2Z24VXt6dignUtg=";
};
i686-linux = fetchurl {
url = "https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${version}/OldUnreal-UTPatch${builtins.elemAt (lib.strings.splitString "-" version) 0}-Linux-x86.tar.bz2";
hash = "sha256-Qel/p5wDLsrmD+Nd/+6+s4b6rjcPFDbRw18VHsMH47M=";
hash = "sha256-afpDtlU01tEpGnfgichWqsUj80Lk2K//s/6iyqS/Vq8=";
};
x86_64-darwin = fetchurl {
url = "https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${version}/OldUnreal-UTPatch${builtins.elemAt (lib.strings.splitString "-" version) 0}-macOS-.dmg";
hash = "sha256-Vtp/b+00La0U/jh+UC0SkPnHi0G5+7h7wjsy7FxWdNY=";
url = "https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${version}/OldUnreal-UTPatch${builtins.elemAt (lib.strings.splitString "-" version) 0}-macOS.dmg";
hash = "sha256-rFbgSQNeYwgd3Dzs/F+ljUFaGRwHCddLEuJBCehKktQ=";
};
# fat binary
aarch64-darwin = x86_64-darwin;
+3 -3
View File
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "wttrbar";
version = "0.12.1";
version = "0.12.3";
src = fetchFromGitHub {
owner = "bjesus";
repo = "wttrbar";
rev = version;
hash = "sha256-+EyjZZpDktkYbxy3YXAtuW3A0bEFKFa+UuRvIzUEISM=";
hash = "sha256-gJJnmJ1dpKVCRZtzL1R86s607hOCHTpsFDPsQKOnvvA=";
};
cargoHash = "sha256-AXyt5z1d26si7qLZgd7dWrHOOJBvK75B29/LJj7bpAo=";
cargoHash = "sha256-WMRDUAefYjXY03EqTZf3VNJuypxu07RTyDmdlB6a0kk=";
passthru.updateScript = nix-update-script { };
@@ -17,13 +17,13 @@
stdenv.mkDerivation rec {
pname = "xdg-desktop-portal-xapp";
version = "1.1.1";
version = "1.1.2";
src = fetchFromGitHub {
owner = "linuxmint";
repo = "xdg-desktop-portal-xapp";
rev = version;
hash = "sha256-i6odMJcQpzQjeFI7nw5sKPYZi5Q3eFEundQzu9PZljc=";
hash = "sha256-3EGim8GDlzVhgKiBHaOjV+apyEanFyfTqfJLegwlQHo=";
};
nativeBuildInputs = [
@@ -17,13 +17,13 @@
stdenv.mkDerivation rec {
pname = "switchboard-plug-sharing";
version = "8.0.1";
version = "8.0.2";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-BWlQrM13gI6FXoqfOKoeqtE1+HVBUB09NDatGraTYtY=";
hash = "sha256-XTgUHgvBSzZeuUup0gT6sbhyT4FGGG7o+qbPmfeRVQE=";
};
nativeBuildInputs = [
@@ -18,13 +18,13 @@
stdenv.mkDerivation rec {
pname = "switchboard";
version = "8.0.2";
version = "8.0.3";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "sha256-iRxxXAUuSJzhX6uj1YeEzMUihWmrVZ6BFfayfteg/c8=";
hash = "sha256-pVXcY/QSjgBcTr0sFQnPxICoQ0tpy2fEJ687zHEDXA0=";
};
nativeBuildInputs = [
@@ -53,6 +53,11 @@ stdenv.mkDerivation {
for i in $(cat $pathsPath); do
${xorg.lndir}/bin/lndir -silent $i $out
done
dbus_file="share/dbus-1/services/io.elementary.settings.service"
rm -f "$out/$dbus_file"
substitute "${switchboard}/$dbus_file" "$out/$dbus_file" \
--replace-fail "${switchboard}" "$out"
'';
preFixup = ''
@@ -2,6 +2,7 @@
stdenv,
lib,
fetchFromGitHub,
fetchpatch,
desktop-file-utils,
gettext,
libxml2,
@@ -42,6 +43,13 @@ stdenv.mkDerivation rec {
# We look for plugins in `/run/current-system/sw/lib/` because
# there are multiple plugin providers (e.g. gala and wingpanel).
./plugins-dir.patch
# Fix gtk3 daemon menu location with x2 scaling
# https://github.com/elementary/gala/pull/2493
(fetchpatch {
url = "https://github.com/elementary/gala/commit/33bc3ebe7f175c61845feaf2d06083f1e3b64ddc.patch";
hash = "sha256-hjjiKcO5o/OABKD8vUsVyqtNKN4ffEOGZntLceLr2+k=";
})
];
depsBuildBuild = [ pkg-config ];
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
nix-update-script,
meson,
ninja,
@@ -33,6 +34,15 @@ stdenv.mkDerivation rec {
sha256 = "sha256-bv2rOq16xg9lCWfcLzAFN4LjBTJBxPhXvEJzutkdYzs=";
};
patches = [
# Init: Avoid crash with Gtk >= 4.17
# https://github.com/elementary/granite/pull/893
(fetchpatch {
url = "https://github.com/elementary/granite/commit/60cb8c4119b579592e6c7f3b1476e4d729f58699.patch";
hash = "sha256-6NB/Tu3mdmiBd77SOi4twdY/HidyhMn7mNN+54iFLIc=";
})
];
nativeBuildInputs = [
gettext
gobject-introspection
@@ -0,0 +1,44 @@
{
lib,
buildPythonPackage,
fetchPypi,
poetry-core,
httpx,
h2,
pydantic,
pyjwt,
pytest-mock,
}:
buildPythonPackage rec {
pname = "gotrue";
version = "2.12.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-ueoWTuUpZNg2TFUM3hbdDpV2JBpM/+qlLsozn2HR0Us=";
};
build-system = [ poetry-core ];
dependencies = [
httpx
h2
pydantic
pyjwt
pytest-mock
];
pythonImportsCheck = [ "gotrue" ];
# test aren't in pypi package
doCheck = false;
meta = {
homepage = "https://github.com/supabase/auth-py";
license = lib.licenses.mit;
description = "Python Client Library for Supabase Auth";
maintainers = with lib.maintainers; [ siegema ];
};
}
@@ -22,14 +22,14 @@
buildPythonPackage rec {
pname = "langchain-anthropic";
version = "0.3.15";
version = "0.3.17";
pyproject = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain";
tag = "langchain-anthropic==${version}";
hash = "sha256-GOD6pMuUDCfrQ6MP+/HXZIg5wHUDRysosEjXjewY/9M=";
hash = "sha256-oUT4Mu/vG+bVF6zLQX2RbVUglJ6VMyBt8XtCBSlBlpU=";
};
sourceRoot = "${src.name}/libs/partners/anthropic";
@@ -36,14 +36,14 @@
buildPythonPackage rec {
pname = "langchain-core";
version = "0.3.66";
version = "0.3.72";
pyproject = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain";
tag = "langchain-core==${version}";
hash = "sha256-k9B2ApNyX3w6RTt/XdOl2FvU87NuZSi96vvfJOnBltM=";
hash = "sha256-Q2uGMiODUtwkPdOyuSqp8vqjlLjiXk75QjXp7rr20tc=";
};
sourceRoot = "${src.name}/libs/core";
@@ -22,14 +22,14 @@
buildPythonPackage rec {
pname = "langchain-ollama";
version = "0.3.5";
version = "0.3.6";
pyproject = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain";
tag = "langchain-ollama==${version}";
hash = "sha256-UmfbCctAb0D8mETICl5OJ58vghwhQKWkM1drkPt1aAg=";
hash = "sha256-GQkyJaYvwRbjDR0Rfen7/X5hFhY2+WU74B6/9Ufhpo4=";
};
sourceRoot = "${src.name}/libs/partners/ollama";
@@ -44,14 +44,14 @@
buildPythonPackage rec {
pname = "langchain";
version = "0.3.26";
version = "0.3.27";
pyproject = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langchain";
tag = "langchain==${version}";
hash = "sha256-xxkayOtC2GtgtF3tPkTGKOS9VQ/y2gRPopvKq48/Kq0=";
hash = "sha256-bqzJ0017Td65rhDCr2wfx+SCaJzPZTFzQpzy3RlaRj4=";
};
sourceRoot = "${src.name}/libs/langchain";
@@ -128,6 +128,9 @@ buildPythonPackage rec {
"test_serializable_mapping"
"test_person"
"test_aliases_hidden"
# AssertionError: (failed string match due to terminal control chars in output)
# https://github.com/langchain-ai/langchain/issues/32150
"test_filecallback"
];
disabledTestPaths = [
@@ -151,6 +154,8 @@ buildPythonPackage rec {
rev-prefix = "langchain==";
};
__darwinAllowLocalNetworking = true;
meta = {
description = "Building applications with LLMs through composability";
homepage = "https://github.com/langchain-ai/langchain";
@@ -5,7 +5,7 @@
stdenvNoCC,
# build system
poetry-core,
hatchling,
# dependencies
langgraph-checkpoint,
@@ -26,14 +26,14 @@
buildPythonPackage rec {
pname = "langgraph-checkpoint-postgres";
version = "2.0.21";
version = "2.0.23";
pyproject = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langgraph";
tag = "checkpointpostgres==${version}";
hash = "sha256-hl1EBOtUkSfHGxsM+LOZPLSvkW7hdHS08klpvA7/Bd0=";
hash = "sha256-QAzT8T3bf3R3gwI/iWDYYDz0SxgLZsP61oMk72dYz4s=";
};
postgresqlTestSetupPost = ''
@@ -44,7 +44,7 @@ buildPythonPackage rec {
sourceRoot = "${src.name}/libs/checkpoint-postgres";
build-system = [ poetry-core ];
build-system = [ hatchling ];
dependencies = [
langgraph-checkpoint
@@ -4,15 +4,17 @@
fetchFromGitHub,
# build system
poetry-core,
hatchling,
# dependencies
aiosqlite,
langgraph-checkpoint,
sqlite-vec,
# testing
pytest-asyncio,
pytestCheckHook,
sqlite,
# passthru
gitUpdater,
@@ -20,28 +22,33 @@
buildPythonPackage rec {
pname = "langgraph-checkpoint-sqlite";
version = "2.0.6";
version = "2.0.10";
pyproject = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langgraph";
tag = "checkpointsqlite==${version}";
hash = "sha256-UUlrhQS0C2rPp//+LwU2rgR4R3AM5fM9X3CYvi/DAy8=";
hash = "sha256-570rXAxS4p2b7fc1aqSNArXHTz7G2GjZQDqMlqK7Jso=";
};
sourceRoot = "${src.name}/libs/checkpoint-sqlite";
build-system = [ poetry-core ];
build-system = [ hatchling ];
dependencies = [
aiosqlite
langgraph-checkpoint
sqlite-vec
];
pythonRelaxDeps = [
"aiosqlite"
# Bug: version is showing up as 0.0.0
# https://github.com/NixOS/nixpkgs/issues/427197
"sqlite-vec"
# Checkpoint clients are lagging behind langgraph-checkpoint
"langgraph-checkpoint"
];
@@ -51,6 +58,20 @@ buildPythonPackage rec {
nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
sqlite
];
disabledTestPaths = [
# Failed: 'flaky' not found in `markers` configuration option
"tests/test_ttl.py"
];
disabledTests = [
# AssertionError: (fails object comparison due to extra runtime fields)
# https://github.com/langchain-ai/langgraph/issues/5604
"test_combined_metadata"
"test_asearch"
"test_search"
];
passthru.updateScript = gitUpdater {
@@ -4,7 +4,7 @@
fetchFromGitHub,
# build system
poetry-core,
hatchling,
# dependencies
langchain-core,
@@ -13,6 +13,8 @@
# testing
dataclasses-json,
numpy,
pandas,
pytest-asyncio,
pytest-mock,
pytestCheckHook,
@@ -23,19 +25,19 @@
buildPythonPackage rec {
pname = "langgraph-checkpoint";
version = "2.0.26";
version = "2.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langgraph";
tag = "checkpoint==${version}";
hash = "sha256-DSkjaxUfpsOg2ex0dgfO/UJ7WiQb5wQsAGgHPTckF6o=";
hash = "sha256-UY3AChShKfOrtOQzOm5vi3Yy3rlBc+TAje9L2L6My/U=";
};
sourceRoot = "${src.name}/libs/checkpoint";
build-system = [ poetry-core ];
build-system = [ hatchling ];
dependencies = [
langchain-core
@@ -48,6 +50,8 @@ buildPythonPackage rec {
nativeCheckInputs = [
dataclasses-json
numpy
pandas
pytest-asyncio
pytest-mock
pytestCheckHook
@@ -5,7 +5,7 @@
fetchFromGitHub,
# build-system
poetry-core,
hatchling,
# dependencies
langchain-core,
@@ -21,6 +21,7 @@
pytest-asyncio,
pytest-mock,
pytestCheckHook,
syrupy,
xxhash,
# passthru
@@ -30,19 +31,19 @@
# It exists so the langgraph team can iterate on it without having to rebuild langgraph.
buildPythonPackage rec {
pname = "langgraph-prebuilt";
version = "0.1.8";
version = "0.6.1";
pyproject = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langgraph";
tag = "prebuilt==${version}";
hash = "sha256-mYcj7HRbB5H6G0CVLOICKgdtR5Wlv9WeTIBjQJqlhOE=";
hash = "sha256-8mubZSV1CDgYzykKaaWqn04yJldAgdGmgZDm54towWc=";
};
sourceRoot = "${src.name}/libs/prebuilt";
build-system = [ poetry-core ];
build-system = [ hatchling ];
dependencies = [
langchain-core
@@ -66,6 +67,7 @@ buildPythonPackage rec {
pytest-asyncio
pytest-mock
pytestCheckHook
syrupy
xxhash
];
@@ -82,6 +84,9 @@ buildPythonPackage rec {
# psycopg.OperationalError: connection failed: connection to server at "127.0.0.1", port 5442 failed: Connection refused
# Is the server running on that host and accepting TCP/IP connections?
"tests/test_react_agent.py"
# Utilities to import
"tests/conftest.py"
];
passthru.updateScript = gitUpdater {
@@ -4,7 +4,7 @@
fetchFromGitHub,
# build-system
poetry-core,
hatchling,
# dependencies
httpx,
@@ -18,19 +18,19 @@
buildPythonPackage rec {
pname = "langgraph-sdk";
version = "0.1.69";
version = "0.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langgraph";
tag = "sdk==${version}";
hash = "sha256-MRs5crbUEak/fr17+lerGFY+xTm7sanUW1lZXbPBAeg=";
hash = "sha256-uhVdtB/fLy0hfZKfzNV2eoO83bvKppGVl4Lm8IEscL0=";
};
sourceRoot = "${src.name}/libs/sdk-py";
build-system = [ poetry-core ];
build-system = [ hatchling ];
dependencies = [
httpx
@@ -5,13 +5,14 @@
fetchFromGitHub,
# build-system
poetry-core,
hatchling,
# dependencies
langchain-core,
langgraph-checkpoint,
langgraph-prebuilt,
langgraph-sdk,
pydantic,
xxhash,
# tests
@@ -23,7 +24,6 @@
langgraph-checkpoint-sqlite,
langsmith,
psycopg,
pydantic,
pytest-asyncio,
pytest-mock,
pytest-repeat,
@@ -38,30 +38,33 @@
}:
buildPythonPackage rec {
pname = "langgraph";
version = "0.4.1";
version = "0.6.1";
pyproject = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langgraph";
tag = version;
hash = "sha256-bTxtfduuuyRITZqhk15aWwxNwiZ7TMTgBOEPat6zVIc=";
hash = "sha256-8mubZSV1CDgYzykKaaWqn04yJldAgdGmgZDm54towWc=";
};
postgresqlTestSetupPost = ''
substituteInPlace tests/conftest.py \
substituteInPlace tests/conftest_store.py \
--replace-fail "DEFAULT_POSTGRES_URI = \"postgres://postgres:postgres@localhost:5442/\"" "DEFAULT_POSTGRES_URI = \"postgres:///$PGDATABASE\""
substituteInPlace tests/conftest_checkpointer.py \
--replace-fail "DEFAULT_POSTGRES_URI = \"postgres://postgres:postgres@localhost:5442/\"" "DEFAULT_POSTGRES_URI = \"postgres:///$PGDATABASE\""
'';
sourceRoot = "${src.name}/libs/langgraph";
build-system = [ poetry-core ];
build-system = [ hatchling ];
dependencies = [
langchain-core
langgraph-checkpoint
langgraph-prebuilt
langgraph-sdk
pydantic
xxhash
];
@@ -96,10 +99,6 @@ buildPythonPackage rec {
];
disabledTests = [
# test is flaky due to pydantic error on the exception
"test_doesnt_warn_valid_schema"
"test_tool_node_inject_store"
# Disabling tests that requires to create new random databases
"test_cancel_graph_astream"
"test_cancel_graph_astream_events_v2"
@@ -114,9 +113,9 @@ buildPythonPackage rec {
"test_pending_writes_resume"
"test_remove_message_via_state_update"
# pydantic.errors.PydanticForbiddenQualifier,
# see https://github.com/langchain-ai/langgraph/issues/4360
"test_state_schema_optional_values"
# Requires `langgraph dev` to be running
"test_remote_graph_basic_invoke"
"test_remote_graph_stream_messages_tuple"
];
disabledTestPaths = [
@@ -5,6 +5,7 @@
pkgs, # Only for pkgs.plantuml,
setuptools,
httplib2,
mkdocs,
}:
buildPythonPackage rec {
@@ -29,6 +30,7 @@ buildPythonPackage rec {
dependencies = [
httplib2
mkdocs
];
pythonImportsCheck = [ "mkdocs_build_plantuml_plugin" ];
@@ -19,19 +19,19 @@
buildPythonPackage rec {
pname = "ormsgpack";
version = "1.9.1";
version = "1.10.0";
pyproject = true;
src = fetchFromGitHub {
owner = "aviramha";
repo = "ormsgpack";
tag = version;
hash = "sha256-lFKHXTYtYEjtu+nXemQnB0yjkFD69gr0n7XfJ1Hy3J0=";
hash = "sha256-7VESiHAkDynf31xrQQh0Vv5vSfMOjnVXRFackUQdB68=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src;
hash = "sha256-jOEryJcE5+b0Y588fbDSyPcz5h4zYz2+40+lIfRDV1M=";
hash = "sha256-um6PzwL0M5lz4gDkTO/lvWJ0wwuCneNKRW8qysKMmM0=";
};
build-system = [
@@ -0,0 +1,57 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
poetry-core,
python-dateutil,
typing-extensions,
websockets,
aiohttp,
pytestCheckHook,
python-dotenv,
}:
buildPythonPackage rec {
pname = "realtime-py";
version = "2.5.2";
pyproject = true;
src = fetchFromGitHub {
owner = "supabase";
repo = "realtime-py";
rev = "v${version}";
hash = "sha256-NFxWcnt/zpgDehacqK7QlXhmjrh6JoA6xh+sFjD/tt0=";
};
dependencies = [
python-dateutil
typing-extensions
websockets
aiohttp
];
pythonRelaxDeps = [
"websockets"
"aiohttp"
"typing-extensions"
];
# Can't run all the tests due to infinite loop in pytest-asyncio
nativeBuildInputs = [
pytestCheckHook
python-dotenv
];
pythonImportsCheck = [ "realtime" ];
build-system = [ poetry-core ];
doCheck = false;
meta = {
homepage = "https://github.com/supabase/realtime-py";
license = lib.licenses.mit;
description = "Python Realtime Client for Supabase";
maintainers = with lib.maintainers; [ siegema ];
};
}
@@ -0,0 +1,43 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
poetry-core,
python-dateutil,
httpx,
h2,
deprecation,
}:
buildPythonPackage rec {
pname = "storage3";
version = "0.12.0";
pyproject = true;
src = fetchFromGitHub {
owner = "supabase";
repo = "storage-py";
rev = "v${version}";
hash = "sha256-3Z+j9n/seL1ZuB1djOVpA6Qci/Ygi9g8g2lLQGKRUHM=";
};
dependencies = [
python-dateutil
httpx
h2
deprecation
];
build-system = [ poetry-core ];
pythonImportCheck = [ "storage3" ];
# tests fail due to mock server not starting
meta = {
homepage = "https://github.com/supabase/storage-py";
license = lib.licenses.mit;
description = "Supabase Storage client for Python.";
maintainers = with lib.maintainers; [ siegema ];
};
}
@@ -0,0 +1,58 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
poetry-core,
gotrue,
postgrest-py,
realtime,
storage3,
supafunc,
httpx,
pytestCheckHook,
python-dotenv,
pytest-asyncio,
pydantic,
}:
buildPythonPackage rec {
pname = "supabase-py";
version = "2.16.0";
pyproject = true;
src = fetchFromGitHub {
owner = "supabase";
repo = "supabase-py";
rev = "v${version}";
hash = "sha256-n+LVC4R9m/BKID9wLEMw/y/2I589TUXTygSIPfTZwB8=";
};
build-system = [ poetry-core ];
propagatedBuildInputs = [
postgrest-py
realtime
gotrue
httpx
storage3
supafunc
pydantic
];
nativeBuildInputs = [
pytestCheckHook
python-dotenv
pytest-asyncio
];
pythonImportsCheck = [ "supabase" ];
doCheck = true;
meta = {
homepage = "https://github.com/supabase/supabase-py";
license = lib.licenses.mit;
description = "Supabas client for Python";
maintainers = with lib.maintainers; [ siegema ];
};
}
@@ -0,0 +1,40 @@
{
lib,
buildPythonPackage,
fetchPypi,
poetry-core,
strenum,
httpx,
h2,
}:
buildPythonPackage rec {
pname = "supafunc";
version = "0.10.1";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-pbM8i67La1KX0l2imiUD4uxn7mmG89RME35lG4pZoX0=";
};
dependencies = [
strenum
httpx
h2
];
build-system = [ poetry-core ];
pythonImportsCheck = [ "supafunc" ];
# tests are not in pypi package
doCheck = false;
meta = {
homepage = "https://github.com/supabase/functions-py";
license = lib.licenses.mit;
description = "Library for Supabase Functions";
maintainers = with lib.maintainers; [ siegema ];
};
}
+13 -1
View File
@@ -114,7 +114,7 @@ rec {
};
# data center driver compatible with current default cudaPackages
dc = dc_565;
dc = dc_570;
dc_535 = generic rec {
version = "535.154.05";
@@ -129,6 +129,7 @@ rec {
patches = [ rcu_patch ];
};
# Drop after next nixos release
dc_565 = generic rec {
version = "565.57.01";
url = "https://us.download.nvidia.com/tesla/${version}/NVIDIA-Linux-x86_64-${version}.run";
@@ -140,6 +141,17 @@ rec {
useFabricmanager = true;
};
dc_570 = generic rec {
version = "570.172.08";
url = "https://us.download.nvidia.com/tesla/${version}/NVIDIA-Linux-x86_64-${version}.run";
sha256_64bit = "sha256-AlaGfggsr5PXsl+nyOabMWBiqcbHLG4ij617I4xvoX0=";
persistencedSha256 = "sha256-x4K0Gp89LdL5YJhAI0AydMRxl6fyBylEnj+nokoBrK8=";
fabricmanagerSha256 = "sha256-jSTKzeRVTUcYma1Cb0ajSdXKCi6KzUXCp2OByPSWSR4=";
useSettings = false;
usePersistenced = true;
useFabricmanager = true;
};
# Update note:
# If you add a legacy driver here, also update `top-level/linux-kernels.nix`,
# adding to the `nvidia_x11_legacy*` entries.
@@ -127,8 +127,6 @@
)
# see https://github.com/NixOS/nixpkgs/pull/194149#issuecomment-1266642211
&& !stdenv.hostPlatform.isMips64
# can't find gnu/stubs-32.h
&& (stdenv.hostPlatform.isPower64 -> stdenv.hostPlatform.isBigEndian)
# https://reviews.llvm.org/D43106#1019077
&& (stdenv.hostPlatform.isRiscV32 -> stdenv.cc.isClang)
# buildPackages.targetPackages.llvmPackages is the same as llvmPackages,
+3 -3
View File
@@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "klipper";
version = "0.13.0-unstable-2025-05-22";
version = "0.13.0-unstable-2025-07-12";
src = fetchFromGitHub {
owner = "KevinOConnor";
repo = "klipper";
rev = "b1011e3fb14df7470d9b74e59042383012b199c6";
sha256 = "sha256-gDOGGTS0UPe0ni+zcRUz9CRhkL6hq1PXCzYC9RpqNU8=";
rev = "9323a5dfe28619a53c7f350c2e894d299c342bca";
sha256 = "sha256-m6A8a3lR8aeMudA/kz1wCynm+6jZY3w6v2Pag54lQd8=";
};
sourceRoot = "${src.name}/klippy";
+59 -4
View File
@@ -1,4 +1,5 @@
{
args@{
klipper-firmware,
stdenv,
lib,
pkg-config,
@@ -12,9 +13,19 @@
klipper,
avrdude,
stm32flash,
klipper-flash,
mcu ? "mcu",
firmwareConfig ? ./simulator.cfg,
}:
# are used by flash scripts
# find those with `rg '\[\"lib'` inside of klipper repo
let
flashBinaries = [
"lib/bossac/bin/bossac"
"lib/hidflash/hid-flash"
"lib/rp2040_flash/rp2040_flash"
];
in
stdenv.mkDerivation rec {
name = "klipper-firmware-${mcu}-${version}";
version = klipper.version;
@@ -33,15 +44,26 @@ stdenv.mkDerivation rec {
wxGTK32 # Required for bossac
];
preBuild = "cp ${firmwareConfig} ./.config";
configurePhase = ''
cp ${firmwareConfig} ./.config
chmod +w ./.config
echo qy | { make menuconfig >/dev/null || true; }
if ! diff ${firmwareConfig} ./.config; then
echo " !!! Klipper KConfig has changed. Please run klipper-genconf to update your configuration."
fi
'';
postPatch = ''
patchShebangs .
'';
postBuild = ''
# build flash binaries
${with builtins; concatStringsSep "\n" (map (path: "make ${path} $out/bin/ || true") flashBinaries)}
'';
makeFlags = [
"V=1"
"KCONFIG_CONFIG=${firmwareConfig}"
"WXVERSION=3.2"
];
@@ -51,14 +73,47 @@ stdenv.mkDerivation rec {
cp out/klipper.bin $out/ || true
cp out/klipper.elf $out/ || true
cp out/klipper.uf2 $out/ || true
mkdir -p $out/lib/
${
with builtins;
concatStringsSep "\n" (
map (path: ''
if [ -e ${path} ]; then
mkdir -p $out/$(dirname ${path})
cp -r ${path} $out/$(dirname ${path})
fi
'') flashBinaries
)
}
rmdir $out/lib 2>/dev/null || echo "Flash binaries exist, not cleaning up lib/"
'';
dontFixup = true;
passthru = {
makeFlasher =
{ flashDevice }:
klipper-flash.override {
klipper-firmware = klipper-firmware.override args;
inherit
klipper
firmwareConfig
mcu
flashDevice
;
};
};
meta = with lib; {
inherit (klipper.meta) homepage license;
description = "Firmware part of Klipper";
maintainers = with maintainers; [ vtuan10 ];
maintainers = with maintainers; [
vtuan10
cab404
];
platforms = platforms.linux;
};
}
+35 -29
View File
@@ -1,47 +1,53 @@
{
lib,
writeShellApplication,
gnumake,
pkgsCross,
klipper,
klipper-firmware,
python3,
avrdude,
dfu-util,
stm32flash,
mcu ? "mcu",
flashDevice ? "/dev/null",
firmwareConfig ? ./simulator.cfg,
}:
let
supportedArches = [
"avr"
"stm32"
"lpc176x"
];
matchBoard =
getConfigField =
field:
with builtins;
match ''^.*CONFIG_BOARD_DIRECTORY="([a-zA-Z0-9_]+)".*$'' (readFile firmwareConfig);
boardArch = if matchBoard == null then null else builtins.head matchBoard;
let
matches = match ''^.*${field}="([a-zA-Z0-9_]+)".*$'' (readFile firmwareConfig);
in
if matches != null then head matches else null;
matchPlatform = getConfigField "CONFIG_BOARD_DIRECTORY";
matchBoard = getConfigField "CONFIG_MCU";
in
writeShellApplication {
name = "klipper-flash-${mcu}";
runtimeInputs = [
python3
pkgsCross.avr.stdenv.cc
gnumake
]
++ lib.optionals (boardArch == "avr") [ avrdude ]
++ lib.optionals (boardArch == "stm32") [ stm32flash ];
text = ''
if ${lib.boolToString (!builtins.elem boardArch supportedArches)}; then
printf "Flashing Klipper firmware to your board is not supported yet.\n"
printf "Please use the compiled firmware at ${klipper-firmware} and flash it using the tools provided for your microcontroller."
exit 1
fi
if ${lib.boolToString (boardArch == "stm32")}; then
make -C ${klipper.src} FLASH_DEVICE="${toString flashDevice}" OUT="${klipper-firmware}/" KCONFIG_CONFIG="${klipper-firmware}/config" serialflash
runtimeInputs =
[ ]
++ lib.optionals (matchPlatform == "avr") [ avrdude ]
++ lib.optionals (matchPlatform == "stm32") [
stm32flash
dfu-util
]
++ lib.optionals (matchPlatform == "lpc176x") [ dfu-util ]
# bossac, hid-flash and RP2040 flash binaries are built by klipper-firmware
;
text =
# generic USB script for most things with serial and bootloader (see MCU_TYPES in scripts/flash_usb.py)
if matchBoard != null && matchPlatform != null then
''
pushd ${klipper-firmware}
${klipper}/lib/scripts/flash_usb.py -t ${matchBoard} -d ${flashDevice} ${klipper-firmware}/klipper.bin $@
popd
''
else
make -C ${klipper.src} FLASH_DEVICE="${toString flashDevice}" OUT="${klipper-firmware}/" KCONFIG_CONFIG="${klipper-firmware}/config" flash
fi
'';
''
cat <<EOF
Board pair ${toString matchBoard}/${toString matchPlatform} (config ${firmwareConfig}) is not supported in NixOS auto flashing script.
Please manually flash the firmware using the appropriate tool for your board.
Built firmware is located here:
${klipper-firmware}
EOF
'';
}
+12
View File
@@ -6113,6 +6113,8 @@ self: super: with self; {
gotify = callPackage ../development/python-modules/gotify { };
gotrue = callPackage ../development/python-modules/gotrue { };
govee-ble = callPackage ../development/python-modules/govee-ble { };
govee-led-wez = callPackage ../development/python-modules/govee-led-wez { };
@@ -15423,6 +15425,8 @@ self: super: with self; {
readthedocs-sphinx-ext = callPackage ../development/python-modules/readthedocs-sphinx-ext { };
realtime = callPackage ../development/python-modules/realtime { };
rebulk = callPackage ../development/python-modules/rebulk { };
recipe-scrapers = callPackage ../development/python-modules/recipe-scrapers { };
@@ -17326,6 +17330,8 @@ self: super: with self; {
stopit = callPackage ../development/python-modules/stopit { };
storage3 = callPackage ../development/python-modules/storage3 { };
stp = toPythonModule (pkgs.stp.override { python3 = self.python; });
stransi = callPackage ../development/python-modules/stransi { };
@@ -17446,6 +17452,12 @@ self: super: with self; {
sunweg = callPackage ../development/python-modules/sunweg { };
supabase = callPackage ../development/python-modules/supabase { };
supabase-functions = self.supafunc;
supafunc = callPackage ../development/python-modules/supafunc { };
superqt = callPackage ../development/python-modules/superqt { };
supervise-api = callPackage ../development/python-modules/supervise-api { };