Merge master into staging-next
This commit is contained in:
@@ -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
|
||||
'';
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
];
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
})
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
})
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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="
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
})
|
||||
@@ -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/*
|
||||
'';
|
||||
|
||||
|
||||
@@ -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="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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; {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [ "." ];
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
license = lib.licenses.agpl3Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
sigmasquadron
|
||||
bloxx12
|
||||
faukah
|
||||
ALameLlama
|
||||
];
|
||||
mainProgram = "pay-respects";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -55,7 +55,7 @@ rustPlatform.buildRustPackage rec {
|
||||
'';
|
||||
maintainers = with lib.maintainers; [
|
||||
donovanglover
|
||||
bloxx12
|
||||
faukah
|
||||
];
|
||||
mainProgram = "rmpc";
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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,
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
Reference in New Issue
Block a user