diff --git a/ci/OWNERS b/ci/OWNERS index 343b4283340f..6e2ba2f601ae 100644 --- a/ci/OWNERS +++ b/ci/OWNERS @@ -527,3 +527,6 @@ pkgs/by-name/wa/warp-terminal/ @emilytrau @imadnyc @FlameFlag @johnrtitor # Radicle /pkgs/build-support/fetchradicle/ @NixOS/radicle /pkgs/build-support/fetchradiclepatch/ @NixOS/radicle + +# Zellij plugins +/pkgs/by-name/ze/zellij/plugins/ @PerchunPak diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md index 3b4c274609f8..13451b77d66c 100644 --- a/doc/release-notes/rl-2605.section.md +++ b/doc/release-notes/rl-2605.section.md @@ -197,6 +197,8 @@ - `python3Packages.pikepdf` no longer builds with mupdf support by default, which may be nice in Jupyter and iPython. Build with `withMupdf = true` if this is required. +- `olive-editor` has been dropped as upstream development ceased and no longer builds. + - `python3Packages.django-mdeditor` has been removed, as it was unmaintained upstream and the latest release was vulnerable to a [critical security vulnerability](https://github.com/NixOS/nixpkgs/issues/515462). - `vicinae` has been updated to v0.20. This includes, among several other breaking changes, a complete overhaul of the configuration system. For update instructions, see the [upstream configuration documentation](https://docs.vicinae.com/config#migration-from-v0-16-x-to-v0-17-x). diff --git a/nixos/tests/nixos-test-driver/containers.nix b/nixos/tests/nixos-test-driver/containers.nix index 6f27a59255fa..8f76c9f97b5b 100644 --- a/nixos/tests/nixos-test-driver/containers.nix +++ b/nixos/tests/nixos-test-driver/containers.nix @@ -2,7 +2,12 @@ { name = "containers"; meta.maintainers = with pkgs.lib.maintainers; [ jfly ]; - # https://github.com/NixOS/infra/issues/987 + # Relies upon /dev/net/tun, which is currently disabled in hydra due to + # security concerns [0]. + # There is a PR [1] that will remove the requirement on /dev/net/tun. When/if + # that lands, we can run this test in hydra. + # [0]: https://github.com/NixOS/infra/issues/987#issuecomment-4261612652 + # [1]: https://github.com/NixOS/nixpkgs/pull/512268 meta.hydraPlatforms = [ ]; nodes = { diff --git a/nixos/tests/test-containers-bittorrent.nix b/nixos/tests/test-containers-bittorrent.nix index 478f76dadd34..aeac191cdc2e 100644 --- a/nixos/tests/test-containers-bittorrent.nix +++ b/nixos/tests/test-containers-bittorrent.nix @@ -51,8 +51,6 @@ in maintainers = [ lib.maintainers.kmein ]; - # https://github.com/NixOS/infra/issues/987 - hydraPlatforms = [ ]; }; containers = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ghostel/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ghostel/package.nix index cb5454ebe303..8d572a34cded 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ghostel/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ghostel/package.nix @@ -35,6 +35,18 @@ let env.EMACS_INCLUDE_DIR = "${emacs}/include"; + dontSetZigDefaultFlags = true; + + doCheck = true; + + zigCheckFlags = [ + "-Dcpu=baseline" + # See https://github.com/ghostty-org/ghostty/blob/main/PACKAGING.md#build-options + "-Doptimize=ReleaseFast" + ]; + + zigBuildFlags = finalAttrs.zigCheckFlags; + postConfigure = '' cp -rLT ${finalAttrs.deps} "$ZIG_GLOBAL_CACHE_DIR/p" chmod -R u+w "$ZIG_GLOBAL_CACHE_DIR/p" diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index d8a6c14aef48..2d9972961ee1 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1058,11 +1058,11 @@ "vendorHash": null }, "oracle_oci": { - "hash": "sha256-+/7ie5SBYMQ+fEvnrFvVRHnEJ6DGtcjKNzBpsYKItP0=", + "hash": "sha256-AFQV9frUBb8OutvJ0UM5bhMh9IownwQ37iGE1fPmps4=", "homepage": "https://registry.terraform.io/providers/oracle/oci", "owner": "oracle", "repo": "terraform-provider-oci", - "rev": "v8.14.0", + "rev": "v8.15.0", "spdx": "MPL-2.0", "vendorHash": null }, diff --git a/pkgs/by-name/br/brainflow/package.nix b/pkgs/by-name/br/brainflow/package.nix index 4aecf07162dc..52bd6e331179 100644 --- a/pkgs/by-name/br/brainflow/package.nix +++ b/pkgs/by-name/br/brainflow/package.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "brainflow"; - version = "5.22.1"; + version = "5.22.2"; src = fetchFromGitHub { owner = "brainflow-dev"; repo = "brainflow"; tag = finalAttrs.version; - hash = "sha256-z2EoWjQfDY8eSP+YMZtY9Um7iwoGTi+9ZGJOEZozPoo="; + hash = "sha256-TOBttlEl7fPiGH+cGEuxozT4S1Jr/X6mKMiMtNU0NXA="; }; patches = [ ]; diff --git a/pkgs/by-name/br/bruno/package.nix b/pkgs/by-name/br/bruno/package.nix index f768c3a81a32..ba007dc0a2c2 100644 --- a/pkgs/by-name/br/bruno/package.nix +++ b/pkgs/by-name/br/bruno/package.nix @@ -21,13 +21,13 @@ buildNpmPackage rec { pname = "bruno"; - version = "3.3.0"; + version = "3.4.2"; src = fetchFromGitHub { owner = "usebruno"; repo = "bruno"; tag = "v${version}"; - hash = "sha256-YVZPXrYfOFd9lUdZ0rwWnbSDO91Bn1vZyO3AwnE2pZE="; + hash = "sha256-eDLHXOKhQBdRWZ9QGAVk4nky8vywYFAjUXCskFTunUo="; postFetch = '' ${lib.getExe npm-lockfile-fix} $out/package-lock.json @@ -36,7 +36,7 @@ buildNpmPackage rec { nodejs = nodejs_22; - npmDepsHash = "sha256-IH2AVyHwMZuyZOUsAP7qoxm5Em32hk90Tp7uvSE9bIE="; + npmDepsHash = "sha256-+wr86nNT9cT7Qy0gUfkFq0xFQaaWCrDTc1tg7A80pk4="; npmFlags = [ "--legacy-peer-deps" ]; nativeBuildInputs = [ diff --git a/pkgs/by-name/ca/cargo-tally/package.nix b/pkgs/by-name/ca/cargo-tally/package.nix index 0f84275cf0d8..78bce4e915c5 100644 --- a/pkgs/by-name/ca/cargo-tally/package.nix +++ b/pkgs/by-name/ca/cargo-tally/package.nix @@ -6,14 +6,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cargo-tally"; - version = "1.0.73"; + version = "1.0.74"; src = fetchCrate { inherit (finalAttrs) pname version; - hash = "sha256-aYVo/mI4YoohwxXoIL9vpuPN526sPnQMV1PnUqJEO2U="; + hash = "sha256-JZtELsvxOx6FFQ+l8fbhPnR8Tt+sQWV4fGsoS8ue4QY="; }; - cargoHash = "sha256-+TIYJn0BvFBmhVkldOTtAvQv5Uj5sLsJ4OGNH3ic8lU="; + cargoHash = "sha256-Vn5OSJNpwE3rjs+tYX784o1Khrcf4f21dvb8Yn/c9bY="; meta = { description = "Graph the number of crates that depend on your crate over time"; diff --git a/pkgs/by-name/co/cosmic-reader/package.nix b/pkgs/by-name/co/cosmic-reader/package.nix index 176c9d4973e1..270801aac527 100644 --- a/pkgs/by-name/co/cosmic-reader/package.nix +++ b/pkgs/by-name/co/cosmic-reader/package.nix @@ -19,16 +19,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-reader"; - version = "0-unstable-2026-05-12"; + version = "0-unstable-2026-05-20"; src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-reader"; - rev = "0dde6aed2c51b16e48d2756ceeb0c92620442418"; - hash = "sha256-Is6SRWn7BbsT6GRsmPMDxQNzdGxSMXKM3hNVMV2NM7c="; + rev = "c29b3e82c0827133b24dcdb43e1f28a1c7df37a1"; + hash = "sha256-YsRXWSf2l8RfIEXKxvJtYWxhma8N2Y+0/HZwhs7d5k8="; }; - cargoHash = "sha256-p0dg5RNXkzbi+/RB5k+jr34RNOp+Irahj0BiFUddfnk="; + cargoHash = "sha256-P9ZC7721MjC/h7sbf7x91WGfMbT4tA46HrYhDgCeiWE="; separateDebugInfo = true; __structuredAttrs = true; diff --git a/pkgs/by-name/fi/fio/package.nix b/pkgs/by-name/fi/fio/package.nix index 7ae6aa9b3592..162176add36b 100644 --- a/pkgs/by-name/fi/fio/package.nix +++ b/pkgs/by-name/fi/fio/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, makeWrapper, libaio, pkg-config, @@ -17,23 +16,15 @@ stdenv.mkDerivation (finalAttrs: { pname = "fio"; - version = "3.41"; + version = "3.42"; src = fetchFromGitHub { owner = "axboe"; repo = "fio"; tag = "fio-${finalAttrs.version}"; - hash = "sha256-m4JskjSc/KHjID+6j/hbhnGzehPxMxA3m2Iyn49bJDU="; + hash = "sha256-v2A2mY0Lvoje632761urfR7h1KHVcGnVDaKOMjexqis="; }; - patches = [ - # https://github.com/axboe/fio/pull/2029 - (fetchpatch { - url = "https://github.com/axboe/fio/commit/ccce76d2850d6e52da3d7986c950af068fbfe0fd.patch"; - hash = "sha256-0jN3q1vTiU6YkdXrcTAOzqRqgu8sW8AWO4KkANi0XKo="; - }) - ]; - buildInputs = [ cunit python3 @@ -89,6 +80,7 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = { + changelog = "https://github.com/axboe/fio/releases/tag/${finalAttrs.src.tag}"; description = "Flexible IO Tester - an IO benchmark tool"; homepage = "https://git.kernel.dk/cgit/fio/"; license = lib.licenses.gpl2Plus; diff --git a/pkgs/by-name/it/itgmania/themes/arrowcloud-theme.nix b/pkgs/by-name/it/itgmania/themes/arrowcloud-theme.nix index 0ec3c79b09cf..fac8fd86d8e5 100644 --- a/pkgs/by-name/it/itgmania/themes/arrowcloud-theme.nix +++ b/pkgs/by-name/it/itgmania/themes/arrowcloud-theme.nix @@ -6,13 +6,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "arrowcloud-theme"; - version = "20260424"; + version = "20260525"; src = fetchFromGitHub { owner = "Arrow-Cloud"; repo = "theme"; tag = "v${finalAttrs.version}"; - hash = "sha256-Sdl32MARZnPYKN21xoWu8sa6E/lUloMiRrjpWfkXefc="; + hash = "sha256-HrvDJ5bxVDge6SvUjFwBjy15H9sUHeKiwCX9biPw338="; }; postInstall = '' diff --git a/pkgs/by-name/it/itgmania/themes/itg3encore.nix b/pkgs/by-name/it/itgmania/themes/itg3encore.nix index fbe3f6380556..4019cb5f40aa 100644 --- a/pkgs/by-name/it/itgmania/themes/itg3encore.nix +++ b/pkgs/by-name/it/itgmania/themes/itg3encore.nix @@ -6,13 +6,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "itg3encore"; - version = "0-unstable-2026-05-18"; + version = "0-unstable-2026-05-26"; src = fetchFromGitHub { owner = "DarkBahamut162"; repo = "itg3encore"; - rev = "dbecf5a8a55b41aead224fa21cfdd00d5914b5cf"; - hash = "sha256-c026xUb7CA+1h8CfzE2/BOh0scEkG2ZbanVS4FiO0KI="; + rev = "7cb2d0f4c1e36964b041380f9361598b568a0bd5"; + hash = "sha256-W9pJ48tiKre+G5xHd9JKHroZecOgkE7E9dRMTp0JoZQ="; }; postInstall = '' diff --git a/pkgs/by-name/mo/motrix-next/package.nix b/pkgs/by-name/mo/motrix-next/package.nix index 2ac697866da2..65ad9c42d0c3 100644 --- a/pkgs/by-name/mo/motrix-next/package.nix +++ b/pkgs/by-name/mo/motrix-next/package.nix @@ -25,16 +25,16 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "motrix-next"; - version = "3.8.10"; + version = "3.9.0"; src = fetchFromGitHub { owner = "AnInsomniacy"; repo = "motrix-next"; tag = "v${finalAttrs.version}"; - hash = "sha256-gDRxeQBw2l04zHbt8SVl49FzUEo3gaDWvY0cUofrL50="; + hash = "sha256-qeI9lXykd1LxX/x7Ls5I7wxJGwsd5X/XOryin6V9zsc="; }; - cargoHash = "sha256-vLcbFlxKHio58i6nNXdpPLdj8ISEo5vdQ1uTqPhx6xA="; + cargoHash = "sha256-nRBDVxHGm5PzfV1GycsIPaUg+A0igKwr6MS9LMZjaOE="; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) @@ -43,7 +43,7 @@ rustPlatform.buildRustPackage (finalAttrs: { src ; inherit pnpm; - hash = "sha256-BjBC7w2I5VCP59H7TqsIpDLvsfOhGVkfUPmvfzyndaI="; + hash = "sha256-6+any7Ptq0KTPoXS4V+wOt+7hyxtOMi4P6xZzj4cAaI="; fetcherVersion = 3; }; diff --git a/pkgs/by-name/nu/nucleus/package.nix b/pkgs/by-name/nu/nucleus/package.nix index 0f1987f1f10c..98b6038eeef7 100644 --- a/pkgs/by-name/nu/nucleus/package.nix +++ b/pkgs/by-name/nu/nucleus/package.nix @@ -14,7 +14,7 @@ nix-update-script, }: let - version = "2"; + version = "3"; in python3Packages.buildPythonApplication { pname = "nucleus"; @@ -25,7 +25,7 @@ python3Packages.buildPythonApplication { owner = "lo-vely"; repo = "nucleus"; tag = "v${version}"; - hash = "sha256-VBKeHKmNYB2P3x+C7HOzXHjkuUqR6GWoHihAXxhV0wY="; + hash = "sha256-0IuFKOadweGYvflCN2c1hvW+X4GzvqG8ZRhPzuVSBr8="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ol/olive-editor/olive-editor-kddockwidgets-fix-build-with-qt-6_10.patch b/pkgs/by-name/ol/olive-editor/olive-editor-kddockwidgets-fix-build-with-qt-6_10.patch deleted file mode 100644 index 3ab25e679764..000000000000 --- a/pkgs/by-name/ol/olive-editor/olive-editor-kddockwidgets-fix-build-with-qt-6_10.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/ext/KDDockWidgets/CMakeLists.txt b/ext/KDDockWidgets/CMakeLists.txt -index 608a2491..d0edc399 100644 ---- a/ext/KDDockWidgets/CMakeLists.txt -+++ b/ext/KDDockWidgets/CMakeLists.txt -@@ -160,8 +160,16 @@ - include(KDQtInstallPaths) #to set QT_INSTALL_FOO variables - - set(${PROJECT_NAME}_DEPS "widgets") -+if(Qt6Core_VERSION VERSION_GREATER_EQUAL "6.10.0") -+ set(QT_NO_PRIVATE_MODULE_WARNING ON) -+ find_package(Qt6 ${QT_MIN_VERSION} NO_MODULE REQUIRED COMPONENTS WidgetsPrivate) -+endif() - if(${PROJECT_NAME}_QTQUICK) - find_package(Qt${Qt_VERSION_MAJOR} NO_MODULE REQUIRED COMPONENTS Quick QuickControls2) -+ if(Qt6Core_VERSION VERSION_GREATER_EQUAL "6.10.0") -+ set(QT_NO_PRIVATE_MODULE_WARNING ON) -+ find_package(Qt6 ${QT_MIN_VERSION} NO_MODULE REQUIRED COMPONENTS QuickPrivate) -+ endif() - add_definitions(-DKDDOCKWIDGETS_QTQUICK) - set(${PROJECT_NAME}_DEPS "${${PROJECT_NAME}_DEPS} quick quickcontrols2") - else() diff --git a/pkgs/by-name/ol/olive-editor/package.nix b/pkgs/by-name/ol/olive-editor/package.nix deleted file mode 100644 index 09d1b26ac1df..000000000000 --- a/pkgs/by-name/ol/olive-editor/package.nix +++ /dev/null @@ -1,104 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - fetchpatch, - pkg-config, - which, - frei0r, - opencolorio, - ffmpeg_6, - cmake, - openimageio, - openexr, - portaudio, - imath, - qt6, - fmt_10, -}: - -let - # https://github.com/olive-editor/olive/issues/2284 - # we patch support for 2.3+, but 2.5 fails - openimageio' = (openimageio.override { fmt = fmt_10; }).overrideAttrs (old: rec { - version = "2.4.15.0"; - src = ( - old.src.override { - tag = "v${version}"; - hash = "sha256-I2/JPmUBDb0bw7qbSZcAkYHB2q2Uo7En7ZurMwWhg/M="; - } - ); - - # robin-map headers require c++17 - cmakeFlags = (old.cmakeFlags or [ ]) ++ [ (lib.cmakeFeature "CMAKE_CXX_STANDARD" "17") ]; - }); -in - -stdenv.mkDerivation { - pname = "olive-editor"; - version = "0.1.2-unstable-2023-06-12"; - - src = fetchFromGitHub { - fetchSubmodules = true; - owner = "olive-editor"; - repo = "olive"; - rev = "2036fffffd0e24b7458e724b9084ae99c9507c64"; - hash = "sha256-qee9/WTvTy5jWLowvZJOwAjrqznRhJR+u9dYsnCN/Qs="; - }; - - cmakeFlags = [ - "-DBUILD_QT6=1" - ]; - - patches = [ - (fetchpatch { - # Taken from https://github.com/olive-editor/olive/pull/2294. - name = "olive-editor-openimageio-2.3-compat.patch"; - url = "https://github.com/olive-editor/olive/commit/311eeb72944f93f873d1cd1784ee2bf423e1e7c2.patch"; - hash = "sha256-lswWn4DbXGH1qPvPla0jSgUJQXuqU7LQGHIPoXAE8ag="; - }) - - # Fix build of `kddockwidgets` with qt6-6.10, adapted from: - # https://github.com/KDAB/KDDockWidgets/pull/615 - # https://github.com/KDAB/KDDockWidgets/commit/f2b50fff29bd4b49acdfed3ed8fc42eb0a502032 - ./olive-editor-kddockwidgets-fix-build-with-qt-6_10.patch - ]; - - # https://github.com/olive-editor/olive/issues/2200 - postPatch = '' - substituteInPlace ./app/node/project/serializer/serializer230220.cpp \ - --replace 'QStringRef' 'QStringView' - ''; - - nativeBuildInputs = [ - pkg-config - which - cmake - qt6.wrapQtAppsHook - ]; - - buildInputs = [ - ffmpeg_6 - frei0r - opencolorio - openimageio' - imath - openexr - portaudio - qt6.qtwayland - qt6.qtmultimedia - qt6.qttools - ]; - - meta = { - description = "Professional open-source NLE video editor"; - homepage = "https://www.olivevideoeditor.org/"; - downloadPage = "https://www.olivevideoeditor.org/download.php"; - license = lib.licenses.gpl3; - maintainers = with lib.maintainers; [ balsoft ]; - platforms = lib.platforms.unix; - # never built on aarch64-darwin since first introduction in nixpkgs - broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; - mainProgram = "olive-editor"; - }; -} diff --git a/pkgs/by-name/po/poliedros/package.nix b/pkgs/by-name/po/poliedros/package.nix index 184f06e4cae0..56ffe7f96b3d 100644 --- a/pkgs/by-name/po/poliedros/package.nix +++ b/pkgs/by-name/po/poliedros/package.nix @@ -14,7 +14,7 @@ nix-update-script, }: let - version = "1.5.2"; + version = "1.5.3"; in python3Packages.buildPythonApplication { pname = "poliedros"; @@ -25,7 +25,7 @@ python3Packages.buildPythonApplication { owner = "kriptolix"; repo = "Poliedros"; tag = "v${version}"; - hash = "sha256-1xrXR0kY4zq2cafhVgPvWcJD7pEEiZX7tW1/T3Mfe+A="; + hash = "sha256-PZKmxy9Pc0bPCXUmSZL2ETuJbmN3pebMwak3fRuj9AU="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/re/reqable/package.nix b/pkgs/by-name/re/reqable/package.nix index 5fda9477704c..00425afa521c 100644 --- a/pkgs/by-name/re/reqable/package.nix +++ b/pkgs/by-name/re/reqable/package.nix @@ -28,11 +28,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "reqable"; - version = "3.1.1"; + version = "3.1.2"; src = fetchurl { url = "https://github.com/reqable/reqable-app/releases/download/${finalAttrs.version}/reqable-app-linux-x86_64.deb"; - hash = "sha256-AGOooC4H4NQ4CsuRsIg3oHh9LEfZL9KRdQGETe7uJm4="; + hash = "sha256-cz9bTFR5WUQNb0ImEe0qShcrRWfv4mcpdBQ3p7RFKeQ="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/su/supabase-cli/package.nix b/pkgs/by-name/su/supabase-cli/package.nix index 4944a52392c1..6fbe0aa2f2a5 100644 --- a/pkgs/by-name/su/supabase-cli/package.nix +++ b/pkgs/by-name/su/supabase-cli/package.nix @@ -9,7 +9,7 @@ buildGoModule (finalAttrs: { pname = "supabase-cli"; - version = "2.100.1"; + version = "2.101.0"; __structuredAttrs = true; @@ -17,13 +17,13 @@ buildGoModule (finalAttrs: { owner = "supabase"; repo = "cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-vCaPZXf4I2f9kJDBDsZcl1q8PIM35NxwuLTeq1aastw="; + hash = "sha256-bsABVdMrRjr0Ndc6q0KgwRwr5PfLZOXMm9rr7RlTf38="; }; # Supabase is in the process of porting the CLI to TS, for now we continue with the Go cli. sourceRoot = "${finalAttrs.src.name}/apps/cli-go"; - vendorHash = "sha256-MebmiEFfWozJV/zEQyRtjmd9eR2nG3ZXcpyY6lEEQgI="; + vendorHash = "sha256-FMRq2t28Wbxi//eWarjdLauaVz1iIZA2OuF03Y1QOFY="; ldflags = [ "-s" diff --git a/pkgs/by-name/tm/tmux-sessionizer/package.nix b/pkgs/by-name/tm/tmux-sessionizer/package.nix index daf97c4e2ba2..ee100a6377d7 100644 --- a/pkgs/by-name/tm/tmux-sessionizer/package.nix +++ b/pkgs/by-name/tm/tmux-sessionizer/package.nix @@ -15,7 +15,7 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "jrmoulton"; repo = "tmux-sessionizer"; rev = "v${finalAttrs.version}"; - hash = "sha256-tJ8aKajSWc62BZ8hb3u+OQtlu04z8Ala5nAK5H4Byp4="; + hash = "sha256-pRf381gxyf4leoEfSZKb5foVYYdVEsxuaTU27mbd46o="; }; cargoHash = "sha256-AJqlzLr6MDFfPssSFMxslxFFuPVxoQGcuG7sZeu+8pg="; diff --git a/pkgs/by-name/wo/worktrunk/package.nix b/pkgs/by-name/wo/worktrunk/package.nix index 77e6794473e5..1e2fca36c949 100644 --- a/pkgs/by-name/wo/worktrunk/package.nix +++ b/pkgs/by-name/wo/worktrunk/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "worktrunk"; - version = "0.50.0"; + version = "0.53.0"; src = fetchFromGitHub { owner = "max-sixty"; repo = "worktrunk"; tag = "v${finalAttrs.version}"; - hash = "sha256-ZCcrTXVVbB61r2tMTFwN3x5+C1i6T/wn28dviGr5rtM="; + hash = "sha256-1qWVELd9+XINjnzNNKeeCR9CxX/0DJVV6TS2cI0KhP4="; }; - cargoHash = "sha256-GTWoOaDjXS1Lu2JuWw1A/RYbPreivLYuhHhoWj4bFHM="; + cargoHash = "sha256-sT9zOGhvsV3QKfRA2wtP4OnWitjxhL0B4guMBdkciE8="; cargoBuildFlags = [ "--package=worktrunk" ]; diff --git a/pkgs/by-name/xe/xemu/package.nix b/pkgs/by-name/xe/xemu/package.nix index 6c6e7f164b9b..290e5c5ebdd9 100644 --- a/pkgs/by-name/xe/xemu/package.nix +++ b/pkgs/by-name/xe/xemu/package.nix @@ -36,13 +36,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "xemu"; - version = "0.8.134"; + version = "0.8.135"; src = fetchFromGitHub { owner = "xemu-project"; repo = "xemu"; tag = "v${finalAttrs.version}"; - hash = "sha256-BWOLKa7B1GURG4Zfo65ZQrr54nRaRHYibKv71j6gtiY="; + hash = "sha256-IyOv+OdPHrQxOkYSFDGcf4b051+dTzvAgIm1W9DGhOs="; nativeBuildInputs = [ git diff --git a/pkgs/by-name/ze/zellij/package.nix b/pkgs/by-name/ze/zellij/package.nix index 06ef857d59ba..32013b52f0ae 100644 --- a/pkgs/by-name/ze/zellij/package.nix +++ b/pkgs/by-name/ze/zellij/package.nix @@ -1,96 +1,35 @@ { lib, - stdenv, - rustPlatform, - fetchFromGitHub, - mandown, - installShellFiles, - pkg-config, - curl, - openssl, - writableTmpDirAsHomeHook, - versionCheckHook, + callPackage, + makeBinaryWrapper, + stdenvNoCC, nix-update-script, + + extraPackages ? [ ], }: - -rustPlatform.buildRustPackage (finalAttrs: { +let + unwrapped = callPackage ./unwrapped.nix { }; +in +stdenvNoCC.mkDerivation { + inherit (unwrapped) version meta; pname = "zellij"; - version = "0.44.3"; + __structuredAttrs = true; + strictDeps = true; - src = fetchFromGitHub { - owner = "zellij-org"; - repo = "zellij"; - tag = "v${finalAttrs.version}"; - hash = "sha256-r8GAOiau4CZPVotFmsBQJOvEu+t0Bu9UCYAOs18i3Kg="; + src = unwrapped; + dontUnpack = true; + + nativeBuildInputs = [ makeBinaryWrapper ]; + buildPhase = '' + cp -rs --no-preserve=mode "$src" "$out" + + wrapProgram "$out/bin/zellij" \ + --prefix PATH : '${lib.makeBinPath extraPackages}' + ''; + + passthru = unwrapped.passthru or { } // { + inherit unwrapped; + updateScript = nix-update-script { attrPath = "zellij.unwrapped"; }; }; - - # Remove the `vendored_curl` feature in order to link against the libcurl from nixpkgs instead of - # the vendored one - postPatch = '' - substituteInPlace Cargo.toml \ - --replace-fail ', "vendored_curl"' "" - ''; - - cargoHash = "sha256-966FpfSsF9I10SrYe3+YNsfM2kLLv+gd0/Aw8vLp4Lk="; - - env.OPENSSL_NO_VENDOR = 1; - - nativeBuildInputs = [ - mandown - installShellFiles - pkg-config - (lib.getDev curl) - ]; - - buildInputs = [ - curl - openssl - ]; - - nativeCheckInputs = [ - writableTmpDirAsHomeHook - ]; - - nativeInstallCheckInputs = [ - versionCheckHook - ]; - doInstallCheck = true; - - # Ensure that we don't vendor curl, but instead link against the libcurl from nixpkgs - installCheckPhase = lib.optionalString (stdenv.hostPlatform.libc == "glibc") '' - runHook preInstallCheck - - ldd "$out/bin/zellij" | grep libcurl.so - - runHook postInstallCheck - ''; - - postInstall = '' - mandown docs/MANPAGE.md > zellij.1 - installManPage zellij.1 - '' - + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - installShellCompletion --cmd $pname \ - --bash <($out/bin/zellij setup --generate-completion bash) \ - --fish <($out/bin/zellij setup --generate-completion fish) \ - --zsh <($out/bin/zellij setup --generate-completion zsh) - ''; - - passthru.updateScript = nix-update-script { }; - - meta = { - description = "Terminal workspace with batteries included"; - homepage = "https://zellij.dev/"; - changelog = "https://github.com/zellij-org/zellij/blob/v${finalAttrs.version}/CHANGELOG.md"; - license = with lib.licenses; [ mit ]; - maintainers = with lib.maintainers; [ - therealansh - _0x4A6F - abbe - matthiasbeyer - ryan4yin - ]; - mainProgram = "zellij"; - }; -}) +} diff --git a/pkgs/by-name/ze/zellij/plugins/README.md b/pkgs/by-name/ze/zellij/plugins/README.md new file mode 100644 index 000000000000..bf643ce98969 --- /dev/null +++ b/pkgs/by-name/ze/zellij/plugins/README.md @@ -0,0 +1,83 @@ +# Zellij plugins + +Zellij offers a Webassembly / WASI plugin system, allowing plugin developers to +develop plugins in many different languages. Currently, nixpkgs focuses only on +Rust plugins (the majority of them). + +Most of the plugins were generated using `nix-init` on [awesome-zellij]. +Excluded plugins from that list (should be packaged later anyway): + +- [bar-theme-config](https://github.com/allisonhere/zellij-bar-theme-config): not a plugin, but a separate application +- [fzf-zellij](https://github.com/k-kuroguro/fzf-zellij): [closed source](https://github.com/k-kuroguro/fzf-zellij/issues/1) +- [gitpod-zellij](https://github.com/ona-samples/gitpod.zellij): not a plugin, but a separate application? +- [opencode-zellij-namer](https://github.com/24601/opencode-zellij-namer): written in TypeScript, not Rust +- [theme-configurator](https://rosmur.github.io/zellij-theme-configurator/): not a plugin, but a separate application +- [yazelix](https://github.com/luccahuguet/yazelix): written in Nushell +- [zeco](https://github.com/julianbuettner/zeco): not a plugin, but a separate application? +- [zellij-load](https://github.com/Christian-Prather/zellij-load): has daemon, so that needs to be packaged too +- [zellij-vscode-toolkit](https://github.com/atoolz/zellij-vscode-toolkit): not a plugin, but a VSCode plugin +- [zellix](https://github.com/EmeraldPandaTurtle/zellix): written in Nushell +- [zj-quit](https://github.com/cristiand391/zj-quit): archived +- [zj-status-bar](https://github.com/cristiand391/zj-status-bar): archived +- [zrw](https://github.com/ivoronin/zrw): written in Go + +Contributions are welcome! + +[awesome-zellij]: https://github.com/zellij-org/awesome-zellij/blob/95fce2c02a2dcca33e4972eed3eba64d516693c9/README.md + +## Specifying runtime dependencies + +Runtime dependencies are packages, that will be used by the plugin inside +a Zellij session. Those are specified in `passthru.runtimeDeps` attribute from +`pkgsBuildBuild` attrset. + +Since we compile all plugins on WASI, everything that the plugin gets as +derivation arguments are also get compiled for WASI. However, `coreutils` is +not available on WASI and so is the vast majority of packages. This is why +runtime dependencies need to be specified from `pkgsBuildBuild` attrs set +(which points to the user's system). + +```nix +# assume we build the plugin on a x86_64-linux machine +{ + lib, + fetchFromGitHub, + rustPlatform, + + # these will be compiled for WASI, not x86_64-linux! + just, + bacon, + # but pkgsBuildBuild points to x86_64-linux + pkgsBuildBuild, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "jbz"; + version = "0.39.0"; + + src = fetchFromGitHub { + owner = "nim65s"; + repo = "jbz"; + tag = "v${finalAttrs.version}"; + hash = "sha256-3n3Bv3YDb1+MYJTTAmMkIgGY7kX9IVUoDNV4c/n0Ydo="; + }; + + cargoHash = "sha256-U+P2LlhmXwaZy2a2eigrg545HTuV1T01jZfUOEUQ5+w="; + + # this is the only way how to specify dependencies + passthru.runtimeDeps = with pkgsBuildBuild; [ + bacon + just + ]; + + meta = { + description = "Display your Just commands wrapped in Bacon"; + homepage = "https://github.com/nim65s/jbz"; + changelog = "https://github.com/nim65s/jbz/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ PerchunPak ]; + }; +}) +``` + +If you are wondering why `pkgsBuildBuild` is named like that, refer to +[the docs on cross-compilation](https://nixos.org/manual/nixpkgs/unstable/#possible-dependency-types). diff --git a/pkgs/by-name/ze/zellij/plugins/default.nix b/pkgs/by-name/ze/zellij/plugins/default.nix new file mode 100644 index 000000000000..2fd950c0504e --- /dev/null +++ b/pkgs/by-name/ze/zellij/plugins/default.nix @@ -0,0 +1,53 @@ +{ + lib, + callPackage, + nix-update-script, + stdenvNoCC, + zellij, +}: +let + # wrapper for changing the output path from directory to single file + # from /nix/store/...-zsm-static-wasm32-unknown-wasi-0.4.1/bin/zsm.wasm + # to /nix/store/...-zellij-plugin-zsm-0.4.1.wasm + wrapper = + attrName: pkg: + assert lib.assertMsg ( + !((lib.hasAttr "runtimeDeps" pkg) && (!lib.hasAttr "runtimeDeps" pkg.passthru)) + ) "Plugin ${pkg.pname} has specified `runtimeDeps` instead of `passthru.runtimeDeps`"; + stdenvNoCC.mkDerivation (finalAttrs: { + inherit (pkg) + pname + version + ; + name = "zellij-plugin-${finalAttrs.pname}-${finalAttrs.version}.wasm"; + + src = pkg; + + dontUnpack = true; + buildPhase = '' + resultFile=$(find "$src" -name '*.wasm') + if [ $(echo "$resultFile" | wc -l) -ne 1 ]; then + echo "The unwrapped plugin ($src) contains more than one WASM file" + echo "$resultFile" + exit 1 + fi + + # there should probably be `ln -s` here, but it produces a permission error for me + cp "$resultFile" "$out" + ''; + + passthru = pkg.passthru or { } // { + unwrapped = pkg; + updateScript = pkg.passthru.updateScript or nix-update-script { + attrPath = "zellijPlugins.${attrName}.unwrapped"; + }; + }; + + meta = pkg.meta // { + maintainers = pkg.meta.maintainers or [ ] ++ [ lib.maintainers.PerchunPak ]; + platforms = pkg.meta.platforms or zellij.platforms; + }; + }); + rustPlugins = lib.mapAttrs wrapper (callPackage ./rust { }); +in +rustPlugins // { inherit wrapper; } diff --git a/pkgs/by-name/ze/zellij/plugins/rust/default.nix b/pkgs/by-name/ze/zellij/plugins/rust/default.nix new file mode 100644 index 000000000000..4de3f7567f85 --- /dev/null +++ b/pkgs/by-name/ze/zellij/plugins/rust/default.nix @@ -0,0 +1,25 @@ +{ pkgsCross, lib }: +let + root = ./.; + pkgs' = pkgsCross.wasi32; + + call = name: override (pkgs'.callPackage (root + "/${name}") { }); + override = + pkg: + pkg.overrideAttrs (old: { + # these hacks are needed until https://github.com/NixOS/nixpkgs/pull/463720#pullrequestreview-3841639011 is resolved + nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs'.lld ]; + env = old.env or { } // { + RUSTFLAGS = old.env.RUSTFLAGS or "" + " -C linker=wasm-ld"; + }; + + meta = old.meta or { } // { + platforms = old.meta.platforms or lib.platforms.linux; + }; + }); +in +lib.pipe root [ + builtins.readDir + (lib.filterAttrs (name: _: name != "default.nix" && name != "README.md")) + (lib.mapAttrs' (name: _: lib.nameValuePair (lib.removeSuffix ".nix" name) (call name))) +] diff --git a/pkgs/by-name/ze/zellij/plugins/rust/jbz.nix b/pkgs/by-name/ze/zellij/plugins/rust/jbz.nix new file mode 100644 index 000000000000..f46df69e428e --- /dev/null +++ b/pkgs/by-name/ze/zellij/plugins/rust/jbz.nix @@ -0,0 +1,32 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + pkgsBuildBuild, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "jbz"; + version = "0.39.0"; + + src = fetchFromGitHub { + owner = "nim65s"; + repo = "jbz"; + tag = "v${finalAttrs.version}"; + hash = "sha256-3n3Bv3YDb1+MYJTTAmMkIgGY7kX9IVUoDNV4c/n0Ydo="; + }; + + cargoHash = "sha256-U+P2LlhmXwaZy2a2eigrg545HTuV1T01jZfUOEUQ5+w="; + + passthru.runtimeDeps = with pkgsBuildBuild; [ + bacon + just + ]; + + meta = { + description = "Display your Just commands wrapped in Bacon"; + homepage = "https://github.com/nim65s/jbz"; + changelog = "https://github.com/nim65s/jbz/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ PerchunPak ]; + }; +}) diff --git a/pkgs/by-name/ze/zellij/plugins/rust/vim-zellij-navigator.nix b/pkgs/by-name/ze/zellij/plugins/rust/vim-zellij-navigator.nix new file mode 100644 index 000000000000..6697d1138d8e --- /dev/null +++ b/pkgs/by-name/ze/zellij/plugins/rust/vim-zellij-navigator.nix @@ -0,0 +1,26 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "vim-zellij-navigator"; + version = "0.3.0"; + + src = fetchFromGitHub { + owner = "hiasr"; + repo = "vim-zellij-navigator"; + tag = finalAttrs.version; + hash = "sha256-1zzY1Z8ZpiNTdFW+gKRYaRR+oCzMnbJA2szY0k24bGg="; + }; + + cargoHash = "sha256-AbfgDhQEbm5qULw2HHxG5EMCYdML4VhHxJaAqP2g3u0="; + + meta = { + description = "Seamless navigation between Zellij panes and Vim splits"; + homepage = "https://github.com/hiasr/vim-zellij-navigator"; + changelog = "https://github.com/hiasr/vim-zellij-navigator/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ PerchunPak ]; + }; +}) diff --git a/pkgs/by-name/ze/zellij/plugins/rust/zjframes.nix b/pkgs/by-name/ze/zellij/plugins/rust/zjframes.nix new file mode 100644 index 000000000000..330d63676ae1 --- /dev/null +++ b/pkgs/by-name/ze/zellij/plugins/rust/zjframes.nix @@ -0,0 +1,12 @@ +{ callPackage }: +# zjstatus and zjframes are contained in the same repository, but as different crates +let + zjstatus = callPackage ./zjstatus.nix { _binaryName = "zjframes"; }; +in +zjstatus.overrideAttrs (old: { + pname = "zjframes"; + + meta = old.meta // { + description = "Toggle Zellij pane frames based on different conditions"; + }; +}) diff --git a/pkgs/by-name/ze/zellij/plugins/rust/zjstatus.nix b/pkgs/by-name/ze/zellij/plugins/rust/zjstatus.nix new file mode 100644 index 000000000000..d9418642f7a8 --- /dev/null +++ b/pkgs/by-name/ze/zellij/plugins/rust/zjstatus.nix @@ -0,0 +1,30 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + + _binaryName ? "zjstatus", # passed to `cargo build --bin` +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "zjstatus"; + version = "0.23.0"; + + src = fetchFromGitHub { + owner = "dj95"; + repo = "zjstatus"; + tag = "v${finalAttrs.version}"; + hash = "sha256-sjMs63OaRhwCrl46v1A+K2EJdqnw63Pc7BMnHqiU790="; + }; + + cargoHash = "sha256-jg7EpcA3o/Qdb1eIspZQI3TX3+7gc3YX+FB4l4FZX44="; + + cargoBuildFlags = [ "--bin=${_binaryName}" ]; + + meta = { + description = "Configurable statusbar plugin for Zellij"; + homepage = "https://github.com/dj95/zjstatus"; + changelog = "https://github.com/dj95/zjstatus/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ PerchunPak ]; + }; +}) diff --git a/pkgs/by-name/ze/zellij/unwrapped.nix b/pkgs/by-name/ze/zellij/unwrapped.nix new file mode 100644 index 000000000000..f691bc5418b2 --- /dev/null +++ b/pkgs/by-name/ze/zellij/unwrapped.nix @@ -0,0 +1,93 @@ +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + mandown, + installShellFiles, + pkg-config, + curl, + openssl, + writableTmpDirAsHomeHook, + versionCheckHook, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "zellij-unwrapped"; + version = "0.44.3"; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "zellij-org"; + repo = "zellij"; + tag = "v${finalAttrs.version}"; + hash = "sha256-r8GAOiau4CZPVotFmsBQJOvEu+t0Bu9UCYAOs18i3Kg="; + }; + + # Remove the `vendored_curl` feature in order to link against the libcurl from nixpkgs instead of + # the vendored one + postPatch = '' + substituteInPlace Cargo.toml \ + --replace-fail ', "vendored_curl"' "" + ''; + + cargoHash = "sha256-966FpfSsF9I10SrYe3+YNsfM2kLLv+gd0/Aw8vLp4Lk="; + + env.OPENSSL_NO_VENDOR = 1; + + nativeBuildInputs = [ + mandown + installShellFiles + pkg-config + (lib.getDev curl) + ]; + + buildInputs = [ + curl + openssl + ]; + + nativeCheckInputs = [ + writableTmpDirAsHomeHook + ]; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + doInstallCheck = true; + + # Ensure that we don't vendor curl, but instead link against the libcurl from nixpkgs + installCheckPhase = lib.optionalString (stdenv.hostPlatform.libc == "glibc") '' + runHook preInstallCheck + + ldd "$out/bin/zellij" | grep libcurl.so + + runHook postInstallCheck + ''; + + postInstall = '' + mandown docs/MANPAGE.md > zellij.1 + installManPage zellij.1 + '' + + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd zellij \ + --bash <($out/bin/zellij setup --generate-completion bash) \ + --fish <($out/bin/zellij setup --generate-completion fish) \ + --zsh <($out/bin/zellij setup --generate-completion zsh) + ''; + + meta = { + description = "Terminal workspace with batteries included"; + homepage = "https://zellij.dev/"; + changelog = "https://github.com/zellij-org/zellij/blob/v${finalAttrs.version}/CHANGELOG.md"; + license = with lib.licenses; [ mit ]; + maintainers = with lib.maintainers; [ + therealansh + _0x4A6F + abbe + matthiasbeyer + ryan4yin + ]; + mainProgram = "zellij"; + }; +}) diff --git a/pkgs/development/python-modules/libretranslate/default.nix b/pkgs/development/python-modules/libretranslate/default.nix index 7a5561effa66..b3ababe0bd61 100644 --- a/pkgs/development/python-modules/libretranslate/default.nix +++ b/pkgs/development/python-modules/libretranslate/default.nix @@ -39,14 +39,14 @@ let in buildPythonPackage (finalAttrs: { pname = "libretranslate"; - version = "1.9.5"; + version = "1.9.6"; pyproject = true; src = fetchFromGitHub { owner = "LibreTranslate"; repo = "LibreTranslate"; tag = "v${finalAttrs.version}"; - hash = "sha256-VcMo1GX+ituQOW8Dpt0ABJG5fsJbFuxAPmi59Byg5ww="; + hash = "sha256-AIjbwx2WoynN/ExGNQ2fhHxjEM/2LIvgydaA7ylU0D8="; }; build-system = [ diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index c498269dad82..9888380d2515 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1595,6 +1595,7 @@ mapAliases { oguri = throw "'oguri' has been removed from nixpkgs because the upstream repository was archived. Please see https://github.com/vilhalmer/oguri#notice-unmaintained for upstream's suggested replacements."; # Added 2026-05-04 oil = throw "'oil' has been renamed to/replaced by 'oils-for-unix'"; # Converted to throw 2025-10-27 olaris-server = throw "'olaris-server' has been removed as it failed to build since 2024"; # Added 2026-01-15 + olive-editor = throw "'olive-editor' has been removed as it is unmaintained upstream and broken"; # Added 2026-05-22 oneDNN = onednn; # Added 2026-02-08 oneDNN_2 = onednn_2; # Added 2026-02-08 onevpl-intel-gpu = throw "'onevpl-intel-gpu' has been renamed to/replaced by 'vpl-gpu-rt'"; # Converted to throw 2025-10-27 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index addfc5657ab4..48c57e8495fc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3467,6 +3467,8 @@ with pkgs; nvidiaSupport = true; }; + zellijPlugins = recurseIntoAttrs (callPackage ../by-name/ze/zellij/plugins { }); + zstd = callPackage ../tools/compression/zstd { cmake = buildPackages.cmakeMinimal; };