diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 16dabe152051..230358d5b068 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -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"; diff --git a/nixos/modules/services/display-managers/default.nix b/nixos/modules/services/display-managers/default.nix index 7d518cb501fa..800a10f17d80 100644 --- a/nixos/modules/services/display-managers/default.nix +++ b/nixos/modules/services/display-managers/default.nix @@ -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 = [ diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix b/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix index c13d6b369cf9..3283a43c24de 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix @@ -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 ''; diff --git a/nixos/modules/services/ttys/getty.nix b/nixos/modules/services/ttys/getty.nix index 8fed34e73932..6c9932b15887 100644 --- a/nixos/modules/services/ttys/getty.nix +++ b/nixos/modules/services/ttys/getty.nix @@ -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 = [ diff --git a/nixos/modules/services/web-apps/komga.nix b/nixos/modules/services/web-apps/komga.nix index ed30343f1c07..eac2e0a23ecb 100644 --- a/nixos/modules/services/web-apps/komga.nix +++ b/nixos/modules/services/web-apps/komga.nix @@ -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 + ]; } diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index a2dcd4c7ffd7..34af2e0f2202 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -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; diff --git a/nixos/tests/android-translation-layer.nix b/nixos/tests/android-translation-layer.nix new file mode 100644 index 000000000000..49d683c1aa22 --- /dev/null +++ b/nixos/tests/android-translation-layer.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") + ''; +} diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index 8221a7c82e33..abc9da5fbe62 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -206,7 +206,7 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with maintainers; [ dotlambda rhendric - bloxx12 + faukah ]; license = licenses.asl20; mainProgram = "magick"; diff --git a/pkgs/by-name/an/android-translation-layer/add-gio-unix-dep.patch b/pkgs/by-name/an/android-translation-layer/add-gio-unix-dep.patch new file mode 100644 index 000000000000..dfac46ada366 --- /dev/null +++ b/pkgs/by-name/an/android-translation-layer/add-gio-unix-dep.patch @@ -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 ], diff --git a/pkgs/by-name/an/android-translation-layer/configure-art-path.patch b/pkgs/by-name/an/android-translation-layer/configure-art-path.patch new file mode 100644 index 000000000000..d3f4cb18dba3 --- /dev/null +++ b/pkgs/by-name/an/android-translation-layer/configure-art-path.patch @@ -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') diff --git a/pkgs/by-name/an/android-translation-layer/configure-dex-install-dir.patch b/pkgs/by-name/an/android-translation-layer/configure-dex-install-dir.patch new file mode 100644 index 000000000000..14c886acc81d --- /dev/null +++ b/pkgs/by-name/an/android-translation-layer/configure-dex-install-dir.patch @@ -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) { diff --git a/pkgs/by-name/an/android-translation-layer/package.nix b/pkgs/by-name/an/android-translation-layer/package.nix new file mode 100644 index 000000000000..98dc236170db --- /dev/null +++ b/pkgs/by-name/an/android-translation-layer/package.nix @@ -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"; + }; +} diff --git a/pkgs/by-name/ar/art-standalone/no-hardcode-path-addr2line.patch b/pkgs/by-name/ar/art-standalone/no-hardcode-path-addr2line.patch new file mode 100644 index 000000000000..ef36568090df --- /dev/null +++ b/pkgs/by-name/ar/art-standalone/no-hardcode-path-addr2line.patch @@ -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 FindAddr2line() { + } + } + +- constexpr const char* kHostAddr2line = "/usr/bin/addr2line"; ++ constexpr const char* kHostAddr2line = "addr2line"; + if (access(kHostAddr2line, F_OK) == 0) { + return std::make_unique(kHostAddr2line); + } diff --git a/pkgs/by-name/ar/art-standalone/package.nix b/pkgs/by-name/ar/art-standalone/package.nix new file mode 100644 index 000000000000..0082c97a37c2 --- /dev/null +++ b/pkgs/by-name/ar/art-standalone/package.nix @@ -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 ]; + }; +}) diff --git a/pkgs/by-name/bd/bdf2psf/package.nix b/pkgs/by-name/bd/bdf2psf/package.nix index fe4ceed3098e..a25cb1361b7e 100644 --- a/pkgs/by-name/bd/bdf2psf/package.nix +++ b/pkgs/by-name/bd/bdf2psf/package.nix @@ -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 ]; diff --git a/pkgs/by-name/bi/bind/package.nix b/pkgs/by-name/bi/bind/package.nix index 3add9a0b6121..e6a4d03410f0 100644 --- a/pkgs/by-name/bi/bind/package.nix +++ b/pkgs/by-name/bi/bind/package.nix @@ -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" diff --git a/pkgs/by-name/bi/bionic-translation/package.nix b/pkgs/by-name/bi/bionic-translation/package.nix new file mode 100644 index 000000000000..ac4dd2c2f324 --- /dev/null +++ b/pkgs/by-name/bi/bionic-translation/package.nix @@ -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 ]; + }; +}) diff --git a/pkgs/by-name/bl/bloop/package.nix b/pkgs/by-name/bl/bloop/package.nix index 59e3e0d77af5..2914d30eb1c9 100644 --- a/pkgs/by-name/bl/bloop/package.nix +++ b/pkgs/by-name/bl/bloop/package.nix @@ -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"; }; diff --git a/pkgs/by-name/br/brotli/package.nix b/pkgs/by-name/br/brotli/package.nix index ec7ea22ddaa4..4c681fd2dcc8 100644 --- a/pkgs/by-name/br/brotli/package.nix +++ b/pkgs/by-name/br/brotli/package.nix @@ -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 ]; diff --git a/pkgs/by-name/ci/cirrus-cli/package.nix b/pkgs/by-name/ci/cirrus-cli/package.nix index d5f9e90009d3..d6d80e4c8e01 100644 --- a/pkgs/by-name/ci/cirrus-cli/package.nix +++ b/pkgs/by-name/ci/cirrus-cli/package.nix @@ -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}" diff --git a/pkgs/by-name/di/dix/package.nix b/pkgs/by-name/di/dix/package.nix index 38a6cbe60d88..39369441a8c7 100644 --- a/pkgs/by-name/di/dix/package.nix +++ b/pkgs/by-name/di/dix/package.nix @@ -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"; diff --git a/pkgs/by-name/em/emcee/package.nix b/pkgs/by-name/em/emcee/package.nix index 835409bb6a5f..b90cae2488f7 100644 --- a/pkgs/by-name/em/emcee/package.nix +++ b/pkgs/by-name/em/emcee/package.nix @@ -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}" diff --git a/pkgs/by-name/fa/fastfetch/package.nix b/pkgs/by-name/fa/fastfetch/package.nix index 7c31d6341ed6..1dacc5dab5ea 100644 --- a/pkgs/by-name/fa/fastfetch/package.nix +++ b/pkgs/by-name/fa/fastfetch/package.nix @@ -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 = [ diff --git a/pkgs/by-name/fe/ferron/package.nix b/pkgs/by-name/fe/ferron/package.nix index db7fa00b3f61..ceb76b34a06b 100644 --- a/pkgs/by-name/fe/ferron/package.nix +++ b/pkgs/by-name/fe/ferron/package.nix @@ -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 diff --git a/pkgs/by-name/fl/fluent-bit/package.nix b/pkgs/by-name/fl/fluent-bit/package.nix index c4d3ff6f5f2e..f669cc545e64 100644 --- a/pkgs/by-name/fl/fluent-bit/package.nix +++ b/pkgs/by-name/fl/fluent-bit/package.nix @@ -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. diff --git a/pkgs/by-name/gn/gnunet-messenger-cli/package.nix b/pkgs/by-name/gn/gnunet-messenger-cli/package.nix new file mode 100644 index 000000000000..9db6de9f2a34 --- /dev/null +++ b/pkgs/by-name/gn/gnunet-messenger-cli/package.nix @@ -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"; + }; +}) diff --git a/pkgs/by-name/go/gollama/package.nix b/pkgs/by-name/go/gollama/package.nix index 5ebd9917b0b0..ba0c87e2002b 100644 --- a/pkgs/by-name/go/gollama/package.nix +++ b/pkgs/by-name/go/gollama/package.nix @@ -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; diff --git a/pkgs/by-name/hy/hyprlock/package.nix b/pkgs/by-name/hy/hyprlock/package.nix index 53f15041f4ee..0097048dfd3f 100644 --- a/pkgs/by-name/hy/hyprlock/package.nix +++ b/pkgs/by-name/hy/hyprlock/package.nix @@ -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 = [ diff --git a/pkgs/by-name/in/invidious/package.nix b/pkgs/by-name/in/invidious/package.nix index d9befb33be44..db6d48735876 100644 --- a/pkgs/by-name/in/invidious/package.nix +++ b/pkgs/by-name/in/invidious/package.nix @@ -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 diff --git a/pkgs/by-name/in/invidious/versions.json b/pkgs/by-name/in/invidious/versions.json index 4b19966974c1..dfd283f577de 100644 --- a/pkgs/by-name/in/invidious/versions.json +++ b/pkgs/by-name/in/invidious/versions.json @@ -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=" diff --git a/pkgs/by-name/ko/koto-ls/package.nix b/pkgs/by-name/ko/koto-ls/package.nix index 3f2efa5e285a..ac62ca7cdb9f 100644 --- a/pkgs/by-name/ko/koto-ls/package.nix +++ b/pkgs/by-name/ko/koto-ls/package.nix @@ -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 { }; diff --git a/pkgs/by-name/li/libgnunetchat/package.nix b/pkgs/by-name/li/libgnunetchat/package.nix new file mode 100644 index 000000000000..f5803786bb60 --- /dev/null +++ b/pkgs/by-name/li/libgnunetchat/package.nix @@ -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 ]; + }; +}) diff --git a/pkgs/by-name/li/libmsquic/package.nix b/pkgs/by-name/li/libmsquic/package.nix index b7e71ff3bd20..594bab45668d 100644 --- a/pkgs/by-name/li/libmsquic/package.nix +++ b/pkgs/by-name/li/libmsquic/package.nix @@ -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; }; diff --git a/pkgs/by-name/li/librewolf-bin-unwrapped/package.nix b/pkgs/by-name/li/librewolf-bin-unwrapped/package.nix index b279a124270a..a72a5fad89d4 100644 --- a/pkgs/by-name/li/librewolf-bin-unwrapped/package.nix +++ b/pkgs/by-name/li/librewolf-bin-unwrapped/package.nix @@ -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; }; diff --git a/pkgs/by-name/li/lightdm-slick-greeter/package.nix b/pkgs/by-name/li/lightdm-slick-greeter/package.nix index 67cd39a37d71..6d5ff8194811 100644 --- a/pkgs/by-name/li/lightdm-slick-greeter/package.nix +++ b/pkgs/by-name/li/lightdm-slick-greeter/package.nix @@ -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/* ''; diff --git a/pkgs/by-name/mi/mirrord/manifest.json b/pkgs/by-name/mi/mirrord/manifest.json index f059bf84462f..fa25bd58c788 100644 --- a/pkgs/by-name/mi/mirrord/manifest.json +++ b/pkgs/by-name/mi/mirrord/manifest.json @@ -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=" } } } diff --git a/pkgs/by-name/mo/mold/package.nix b/pkgs/by-name/mo/mold/package.nix index 16307ac2dc3c..c1a9b467ab2b 100644 --- a/pkgs/by-name/mo/mold/package.nix +++ b/pkgs/by-name/mo/mold/package.nix @@ -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 = [ diff --git a/pkgs/by-name/mo/moonlight/package.nix b/pkgs/by-name/mo/moonlight/package.nix index 27bfe293adcf..a33f4c6d1a84 100644 --- a/pkgs/by-name/mo/moonlight/package.nix +++ b/pkgs/by-name/mo/moonlight/package.nix @@ -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 = { diff --git a/pkgs/by-name/ns/nsncd/package.nix b/pkgs/by-name/ns/nsncd/package.nix index 89f9a0e86995..5325dd9f4b85 100644 --- a/pkgs/by-name/ns/nsncd/package.nix +++ b/pkgs/by-name/ns/nsncd/package.nix @@ -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; { diff --git a/pkgs/by-name/ol/ollama/package.nix b/pkgs/by-name/ol/ollama/package.nix index 4f6524dca320..2d0fa1dd0028 100644 --- a/pkgs/by-name/ol/ollama/package.nix +++ b/pkgs/by-name/ol/ollama/package.nix @@ -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 { diff --git a/pkgs/by-name/ow/owmods-cli/package.nix b/pkgs/by-name/ow/owmods-cli/package.nix index f7ad718761ec..98c7ebbb85d1 100644 --- a/pkgs/by-name/ow/owmods-cli/package.nix +++ b/pkgs/by-name/ow/owmods-cli/package.nix @@ -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 diff --git a/pkgs/by-name/pa/packer/package.nix b/pkgs/by-name/pa/packer/package.nix index e8e2bacb23a0..17bab91f5221 100644 --- a/pkgs/by-name/pa/packer/package.nix +++ b/pkgs/by-name/pa/packer/package.nix @@ -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 = [ "." ]; diff --git a/pkgs/by-name/pa/pay-respects/package.nix b/pkgs/by-name/pa/pay-respects/package.nix index 59e5ab719959..f7c297063410 100644 --- a/pkgs/by-name/pa/pay-respects/package.nix +++ b/pkgs/by-name/pa/pay-respects/package.nix @@ -28,7 +28,7 @@ rustPlatform.buildRustPackage (finalAttrs: { license = lib.licenses.agpl3Plus; maintainers = with lib.maintainers; [ sigmasquadron - bloxx12 + faukah ALameLlama ]; mainProgram = "pay-respects"; diff --git a/pkgs/by-name/py/pyrefly/package.nix b/pkgs/by-name/py/pyrefly/package.nix index 2b30b5e125b3..b7e230a2a8be 100644 --- a/pkgs/by-name/py/pyrefly/package.nix +++ b/pkgs/by-name/py/pyrefly/package.nix @@ -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 ]; }; -} +}) diff --git a/pkgs/by-name/ra/rabbit/fix-file-loading.patch b/pkgs/by-name/ra/rabbit/fix-file-loading.patch deleted file mode 100644 index 3b5db5527fcc..000000000000 --- a/pkgs/by-name/ra/rabbit/fix-file-loading.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 3488de815355051d2e369c7fe48a35dabf695cfc Mon Sep 17 00:00:00 2001 -From: Pol Dellaiera -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 - diff --git a/pkgs/by-name/ra/rabbit/package.nix b/pkgs/by-name/ra/rabbit/package.nix index d243b98b845b..e05fc323ee84 100644 --- a/pkgs/by-name/ra/rabbit/package.nix +++ b/pkgs/by-name/ra/rabbit/package.nix @@ -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" diff --git a/pkgs/by-name/rd/rdkafka/package.nix b/pkgs/by-name/rd/rdkafka/package.nix index bca40cfb78cf..976c1c044179 100644 --- a/pkgs/by-name/rd/rdkafka/package.nix +++ b/pkgs/by-name/rd/rdkafka/package.nix @@ -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 diff --git a/pkgs/by-name/rm/rmpc/package.nix b/pkgs/by-name/rm/rmpc/package.nix index dda885dcd73a..46053eea4093 100644 --- a/pkgs/by-name/rm/rmpc/package.nix +++ b/pkgs/by-name/rm/rmpc/package.nix @@ -55,7 +55,7 @@ rustPlatform.buildRustPackage rec { ''; maintainers = with lib.maintainers; [ donovanglover - bloxx12 + faukah ]; mainProgram = "rmpc"; platforms = lib.platforms.linux ++ lib.platforms.darwin; diff --git a/pkgs/by-name/sc/scuba/package.nix b/pkgs/by-name/sc/scuba/package.nix new file mode 100644 index 000000000000..af8b00cfcdda --- /dev/null +++ b/pkgs/by-name/sc/scuba/package.nix @@ -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"; + }; +} diff --git a/pkgs/by-name/ss/sscg/package.nix b/pkgs/by-name/ss/sscg/package.nix index 510c6044c0de..b9c1f004d7df 100644 --- a/pkgs/by-name/ss/sscg/package.nix +++ b/pkgs/by-name/ss/sscg/package.nix @@ -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 = [ diff --git a/pkgs/by-name/ut/ut1999/package.nix b/pkgs/by-name/ut/ut1999/package.nix index 54f9ba6c6839..7e5896fe15f1 100644 --- a/pkgs/by-name/ut/ut1999/package.nix +++ b/pkgs/by-name/ut/ut1999/package.nix @@ -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; diff --git a/pkgs/by-name/wt/wttrbar/package.nix b/pkgs/by-name/wt/wttrbar/package.nix index bbeecb43b82b..23f774a4510c 100644 --- a/pkgs/by-name/wt/wttrbar/package.nix +++ b/pkgs/by-name/wt/wttrbar/package.nix @@ -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 { }; diff --git a/pkgs/by-name/xd/xdg-desktop-portal-xapp/package.nix b/pkgs/by-name/xd/xdg-desktop-portal-xapp/package.nix index c4ae40ba3fb7..bcb6d2d44c48 100644 --- a/pkgs/by-name/xd/xdg-desktop-portal-xapp/package.nix +++ b/pkgs/by-name/xd/xdg-desktop-portal-xapp/package.nix @@ -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 = [ diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix index de4913d2f383..5d8f8e93554e 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix @@ -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 = [ diff --git a/pkgs/desktops/pantheon/apps/switchboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard/default.nix index 595261aa5c12..d08e591c6a43 100644 --- a/pkgs/desktops/pantheon/apps/switchboard/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard/default.nix @@ -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 = [ diff --git a/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix b/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix index 9befb909ebba..309d40b029af 100644 --- a/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix +++ b/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix @@ -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 = '' diff --git a/pkgs/desktops/pantheon/desktop/gala/default.nix b/pkgs/desktops/pantheon/desktop/gala/default.nix index 3ef61e64cd5f..fe86b5284336 100644 --- a/pkgs/desktops/pantheon/desktop/gala/default.nix +++ b/pkgs/desktops/pantheon/desktop/gala/default.nix @@ -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 ]; diff --git a/pkgs/desktops/pantheon/libraries/granite/7/default.nix b/pkgs/desktops/pantheon/libraries/granite/7/default.nix index a099d23c771d..46cc6820853b 100644 --- a/pkgs/desktops/pantheon/libraries/granite/7/default.nix +++ b/pkgs/desktops/pantheon/libraries/granite/7/default.nix @@ -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 diff --git a/pkgs/development/python-modules/gotrue/default.nix b/pkgs/development/python-modules/gotrue/default.nix new file mode 100644 index 000000000000..8ef7436ecc04 --- /dev/null +++ b/pkgs/development/python-modules/gotrue/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/python-modules/langchain-anthropic/default.nix b/pkgs/development/python-modules/langchain-anthropic/default.nix index 71a54c49b7fd..56bffb3d8dcb 100644 --- a/pkgs/development/python-modules/langchain-anthropic/default.nix +++ b/pkgs/development/python-modules/langchain-anthropic/default.nix @@ -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"; diff --git a/pkgs/development/python-modules/langchain-core/default.nix b/pkgs/development/python-modules/langchain-core/default.nix index 370169580ec4..25c111f5826e 100644 --- a/pkgs/development/python-modules/langchain-core/default.nix +++ b/pkgs/development/python-modules/langchain-core/default.nix @@ -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"; diff --git a/pkgs/development/python-modules/langchain-ollama/default.nix b/pkgs/development/python-modules/langchain-ollama/default.nix index 89feb35abbd3..75a6c8f8e55d 100644 --- a/pkgs/development/python-modules/langchain-ollama/default.nix +++ b/pkgs/development/python-modules/langchain-ollama/default.nix @@ -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"; diff --git a/pkgs/development/python-modules/langchain/default.nix b/pkgs/development/python-modules/langchain/default.nix index 414d16e2e99e..39b81c33af58 100644 --- a/pkgs/development/python-modules/langchain/default.nix +++ b/pkgs/development/python-modules/langchain/default.nix @@ -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"; diff --git a/pkgs/development/python-modules/langgraph-checkpoint-postgres/default.nix b/pkgs/development/python-modules/langgraph-checkpoint-postgres/default.nix index aec6964b2c61..590d0ecefcdb 100644 --- a/pkgs/development/python-modules/langgraph-checkpoint-postgres/default.nix +++ b/pkgs/development/python-modules/langgraph-checkpoint-postgres/default.nix @@ -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 diff --git a/pkgs/development/python-modules/langgraph-checkpoint-sqlite/default.nix b/pkgs/development/python-modules/langgraph-checkpoint-sqlite/default.nix index abe8da772df7..15f117a3af8d 100644 --- a/pkgs/development/python-modules/langgraph-checkpoint-sqlite/default.nix +++ b/pkgs/development/python-modules/langgraph-checkpoint-sqlite/default.nix @@ -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 { diff --git a/pkgs/development/python-modules/langgraph-checkpoint/default.nix b/pkgs/development/python-modules/langgraph-checkpoint/default.nix index 865d68a2b4b6..8c0f1a10c7cb 100644 --- a/pkgs/development/python-modules/langgraph-checkpoint/default.nix +++ b/pkgs/development/python-modules/langgraph-checkpoint/default.nix @@ -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 diff --git a/pkgs/development/python-modules/langgraph-prebuilt/default.nix b/pkgs/development/python-modules/langgraph-prebuilt/default.nix index 21e7fdf0dd5c..c3f4e850bcde 100644 --- a/pkgs/development/python-modules/langgraph-prebuilt/default.nix +++ b/pkgs/development/python-modules/langgraph-prebuilt/default.nix @@ -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 { diff --git a/pkgs/development/python-modules/langgraph-sdk/default.nix b/pkgs/development/python-modules/langgraph-sdk/default.nix index 8dc6e7c23fc0..0b1ce1827528 100644 --- a/pkgs/development/python-modules/langgraph-sdk/default.nix +++ b/pkgs/development/python-modules/langgraph-sdk/default.nix @@ -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 diff --git a/pkgs/development/python-modules/langgraph/default.nix b/pkgs/development/python-modules/langgraph/default.nix index 153206ad3c22..fa5efe2b2ba3 100644 --- a/pkgs/development/python-modules/langgraph/default.nix +++ b/pkgs/development/python-modules/langgraph/default.nix @@ -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 = [ diff --git a/pkgs/development/python-modules/mkdocs-build-plantuml/default.nix b/pkgs/development/python-modules/mkdocs-build-plantuml/default.nix index be7a03fa53ad..22d6ccb201f5 100644 --- a/pkgs/development/python-modules/mkdocs-build-plantuml/default.nix +++ b/pkgs/development/python-modules/mkdocs-build-plantuml/default.nix @@ -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" ]; diff --git a/pkgs/development/python-modules/ormsgpack/default.nix b/pkgs/development/python-modules/ormsgpack/default.nix index 5b94c78db911..77a22e932f23 100644 --- a/pkgs/development/python-modules/ormsgpack/default.nix +++ b/pkgs/development/python-modules/ormsgpack/default.nix @@ -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 = [ diff --git a/pkgs/development/python-modules/realtime/default.nix b/pkgs/development/python-modules/realtime/default.nix new file mode 100644 index 000000000000..cf41f0df81f8 --- /dev/null +++ b/pkgs/development/python-modules/realtime/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/python-modules/storage3/default.nix b/pkgs/development/python-modules/storage3/default.nix new file mode 100644 index 000000000000..f022c39ccf80 --- /dev/null +++ b/pkgs/development/python-modules/storage3/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/python-modules/supabase/default.nix b/pkgs/development/python-modules/supabase/default.nix new file mode 100644 index 000000000000..ddfb3e461ca9 --- /dev/null +++ b/pkgs/development/python-modules/supabase/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/python-modules/supafunc/default.nix b/pkgs/development/python-modules/supafunc/default.nix new file mode 100644 index 000000000000..8ecce5f94487 --- /dev/null +++ b/pkgs/development/python-modules/supafunc/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index f5ec93274b9e..c9b793d250e5 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -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. diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 90aa5ba5b4fa..579da4ca686e 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -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, diff --git a/pkgs/servers/klipper/default.nix b/pkgs/servers/klipper/default.nix index 82d51341c9fa..25b241970662 100644 --- a/pkgs/servers/klipper/default.nix +++ b/pkgs/servers/klipper/default.nix @@ -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"; diff --git a/pkgs/servers/klipper/klipper-firmware.nix b/pkgs/servers/klipper/klipper-firmware.nix index b314379be190..5be57bbf5d92 100644 --- a/pkgs/servers/klipper/klipper-firmware.nix +++ b/pkgs/servers/klipper/klipper-firmware.nix @@ -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; }; } diff --git a/pkgs/servers/klipper/klipper-flash.nix b/pkgs/servers/klipper/klipper-flash.nix index 7a6652580654..95f8a261ebcd 100644 --- a/pkgs/servers/klipper/klipper-flash.nix +++ b/pkgs/servers/klipper/klipper-flash.nix @@ -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 <