diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index de9446fdeb0c..e168e7913842 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -11047,6 +11047,11 @@ githubId = 207392575; name = "Isaac Kabel"; }; + ikci = { + github = "ikcii"; + githubId = 48479629; + name = "ikci"; + }; ikervagyok = { email = "ikervagyok@gmail.com"; github = "ikervagyok"; diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index e5f2f6402293..99146e827f81 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -141,6 +141,16 @@ with lib.maintainers; enableFeatureFreezePing = true; }; + cockpit = { + members = [ + alexandru0-dev + andre4ik3 + lucasew + ]; + scope = "Maintain Cockpit and official plugins by the Cockpit project."; + shortName = "Cockpit"; + }; + coq = { members = [ cohencyril diff --git a/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix b/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix index 965ba4e4be3b..475a5122fd4e 100644 --- a/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix +++ b/nixos/modules/services/hardware/nvidia-container-toolkit/default.nix @@ -151,6 +151,17 @@ }; config = lib.mkMerge [ + (lib.mkIf (config.virtualisation.docker.enableNvidia || config.virtualisation.podman.enableNvidia) { + hardware.nvidia-container-toolkit.enable = lib.mkDefault true; + + warnings = lib.mkIf (!config.hardware.nvidia-container-toolkit.enable) [ + '' + `virtualisation.docker.enableNvidia` or `virtualisation.podman.enableNvidia` is enabled, + but `hardware.nvidia-container-toolkit.enable` is disabled. The nvidia-container-toolkit + module is required for GPU support in containers. + '' + ]; + }) (lib.mkIf config.virtualisation.docker.enableNvidia { environment.etc."nvidia-container-runtime/config.toml".text = '' disable-require = true @@ -162,7 +173,7 @@ no-cgroups = false path = "${lib.getExe' pkgs.libnvidia-container "nvidia-container-cli"}" [nvidia-container-runtime] - mode = "auto" + mode = "cdi" runtimes = ["docker-runc", "runc", "crun"] [nvidia-container-runtime-hook] path = "${lib.getOutput "tools" config.hardware.nvidia-container-toolkit.package}/bin/nvidia-container-runtime-hook" diff --git a/nixos/modules/services/monitoring/cockpit.nix b/nixos/modules/services/monitoring/cockpit.nix index 8a7192f635eb..a349e2b22611 100644 --- a/nixos/modules/services/monitoring/cockpit.nix +++ b/nixos/modules/services/monitoring/cockpit.nix @@ -15,6 +15,33 @@ let mkPackageOption ; settingsFormat = pkgs.formats.ini { }; + + pathPkgs = [ cfg.package ] ++ cfg.plugins; + + resourcesEnv = pkgs.buildEnv { + name = "cockpit-plugins"; + paths = pathPkgs; + pathsToLink = [ "/share/cockpit" ]; + }; + + depsEnv = pkgs.buildEnv { + name = "cockpit-plugins-env"; + paths = lib.concatMap (p: p.passthru.cockpitPath or [ ]) pathPkgs; + pathsToLink = [ + "/bin" + "/share" + "/lib" + ]; + }; + + share = pkgs.buildEnv { + name = "cockpit-share"; + paths = [ + resourcesEnv + depsEnv + ]; + pathsToLink = [ "/share" ]; + }; in { options = { @@ -100,22 +127,11 @@ in }; # Add plugins in discoverable folder - "cockpit/share/cockpit".source = "${ - pkgs.buildEnv { - name = "cockpit-plugins"; - paths = cfg.plugins ++ [ cfg.package ]; - pathsToLink = [ "/share/cockpit" ]; - } - }/share/cockpit"; + "cockpit/share".source = "${share}/share"; # Add plugins dependencies - "cockpit/bin".source = "${ - pkgs.buildEnv { - name = "cockpit-path"; - paths = lib.concatMap (p: p.passthru.cockpitPath or [ ]) cfg.plugins; - pathsToLink = [ "/bin" ]; - } - }/bin"; + "cockpit/bin".source = "${depsEnv}/bin"; + "cockpit/lib".source = "${depsEnv}/lib"; }; security.pam.services.cockpit = { diff --git a/nixos/modules/services/web-apps/ifm.nix b/nixos/modules/services/web-apps/ifm.nix index 2b081a137f6d..ca49b0f5219c 100644 --- a/nixos/modules/services/web-apps/ifm.nix +++ b/nixos/modules/services/web-apps/ifm.nix @@ -53,6 +53,7 @@ in description = "Improved file manager, a single-file web based filemanager"; after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; environment = { diff --git a/nixos/tests/ft2-clone.nix b/nixos/tests/ft2-clone.nix index c4f1475ad710..faea0d30aa50 100644 --- a/nixos/tests/ft2-clone.nix +++ b/nixos/tests/ft2-clone.nix @@ -11,6 +11,13 @@ imports = [ ./common/x11.nix ]; + + boot.kernelModules = [ "snd-dummy" ]; + services.pulseaudio = { + enable = true; + systemWide = true; + }; + services.pipewire.enable = false; environment.systemPackages = [ pkgs.ft2-clone ]; }; @@ -18,8 +25,6 @@ testScript = '' machine.wait_for_x() - # Add a dummy sound card, or the program won't start - machine.execute("modprobe snd-dummy") machine.execute("ft2-clone >&2 &") diff --git a/nixos/tests/ifm.nix b/nixos/tests/ifm.nix index 228f0a06c121..0ef0b76cb1d3 100644 --- a/nixos/tests/ifm.nix +++ b/nixos/tests/ifm.nix @@ -7,30 +7,42 @@ }; nodes = { - server = rec { - services.ifm = { - enable = true; - port = 9001; - dataDir = "/data"; - }; + server = + { config, ... }: + { + services.ifm = { + enable = true; + port = 9001; + dataDir = "/data"; + }; - system.activationScripts.ifm-setup-dir = '' - mkdir -p ${services.ifm.dataDir} - chmod u+w,g+w,o+w ${services.ifm.dataDir} - ''; - }; + systemd.tmpfiles.settings = { + ifm-data-dir = { + ${config.services.ifm.dataDir}.d = { + mode = "0777"; + user = "root"; + group = "root"; + }; + }; + }; + }; }; - testScript = '' - start_all() - server.wait_for_unit("ifm.service") - server.wait_for_open_port(9001) - server.succeed("curl --fail http://localhost:9001") + testScript = + # python + '' + start_all() + server.wait_for_unit("ifm.service") + server.wait_for_open_port(9001) + server.succeed("curl --fail http://localhost:9001") - server.succeed("echo \"testfile\" > testfile && shasum testfile >> checksums") - server.succeed("curl --fail http://localhost:9001 -X POST -F \"api=upload\" -F \"dir=\" -F \"file=@testfile\" | grep \"OK\""); - server.succeed("rm testfile") - server.succeed("curl --fail http://localhost:9001 -X POST -F \"api=download\" -F \"filename=testfile\" -F \"dir=\" --output testfile"); - server.succeed("shasum testfile >> checksums && shasum --check checksums") - ''; + server.succeed('echo "testfile" > testfile') + server.succeed("shasum testfile | tee checksums") + + server.succeed('curl --fail http://localhost:9001 -X POST -F "api=upload" -F "dir=" -F "file=@testfile" | grep "OK"'); + server.succeed("rm testfile") + + server.succeed('curl --fail http://localhost:9001 -X POST -F "api=download" -F "filename=testfile" -F "dir=" --output testfile'); + server.succeed("shasum --check checksums") + ''; } diff --git a/nixos/tests/pt2-clone.nix b/nixos/tests/pt2-clone.nix index 160431175f8d..de48f93e1ed5 100644 --- a/nixos/tests/pt2-clone.nix +++ b/nixos/tests/pt2-clone.nix @@ -12,7 +12,12 @@ ./common/x11.nix ]; - services.xserver.enable = true; + boot.kernelModules = [ "snd-dummy" ]; + services.pulseaudio = { + enable = true; + systemWide = true; + }; + services.pipewire.enable = false; environment.systemPackages = [ pkgs.pt2-clone ]; }; @@ -20,16 +25,13 @@ testScript = '' machine.wait_for_x() - # Add a dummy sound card, or the program won't start - machine.execute("modprobe snd-dummy") machine.execute("pt2-clone >&2 &") machine.wait_for_window(r"ProTracker") machine.sleep(5) # One of the few words that actually get recognized - if "LENGTH" not in machine.get_screen_text(): - raise Exception("Program did not start successfully") + machine.wait_for_text("LENGTH") machine.screenshot("screen") ''; } diff --git a/nixos/tests/sfxr-qt.nix b/nixos/tests/sfxr-qt.nix index f62eeacafbd5..764911610ed7 100644 --- a/nixos/tests/sfxr-qt.nix +++ b/nixos/tests/sfxr-qt.nix @@ -5,7 +5,7 @@ maintainers = [ fgaz ]; }; - machine = + nodes.machine = { config, pkgs, ... }: { imports = [ @@ -13,6 +13,12 @@ ]; services.xserver.enable = true; + boot.kernelModules = [ "snd-dummy" ]; + services.pulseaudio = { + enable = true; + systemWide = true; + }; + services.pipewire.enable = false; environment.systemPackages = [ pkgs.sfxr-qt ]; }; diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index c5e68763ef58..6b64fa1b6686 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -497,14 +497,9 @@ let # Started failing to apply with M142, but this is no longer needed anyway. ./patches/chromium-126-llvm-17.patch ] - ++ lib.optionals (!chromiumVersionAtLeast "140") [ + ++ lib.optionals (versionRange "140" "141") [ # Partial revert of https://github.com/chromium/chromium/commit/3687976b0c6d36cf4157419a24a39f6770098d61 # allowing us to use our rustc and our clang. - ./patches/chromium-129-rust.patch - ] - ++ lib.optionals (versionRange "140" "141") [ - # Rebased variant of the patch above due to - # https://chromium-review.googlesource.com/c/chromium/src/+/6665907 ./patches/chromium-140-rust.patch ] ++ lib.optionals (chromiumVersionAtLeast "141") [ @@ -535,7 +530,7 @@ let # exact version or even running a newer version. ./patches/chromium-136-nodejs-assert-minimal-version-instead-of-exact-match.patch ] - ++ lib.optionals (chromiumVersionAtLeast "138") [ + ++ [ (fetchpatch { # Unbreak building with Rust 1.89+ which introduced # a new mismatched_lifetime_syntaxes lint. @@ -548,33 +543,6 @@ let hash = "sha256-xf1Jq5v3InXkiVH0uT7+h1HPwZse5MDcHKuJNjSLR6k="; }) ] - ++ lib.optionals (!chromiumVersionAtLeast "138") [ - # Rebased variant of the patch above for - # electron 35 (M134) and 36 (M136) - ./patches/chromium-134-rust-1.86-mismatched_lifetime_syntaxes.patch - ] - ++ lib.optionals (versionRange "141" "142") [ - (fetchpatch { - # Fix "invalid application of 'sizeof' to an incomplete type 'blink::CSSStyleSheet'" - # by reverting https://chromium-review.googlesource.com/c/chromium/src/+/6892157 - name = "chromium-141-Revert-Remove-unnecessary-include-in-tree_scope.h.patch"; - url = "https://chromium.googlesource.com/chromium/src/+/0fc0e71aa1ca0419fae6d14255025543980d2cba^!?format=TEXT"; - decode = "base64 -d"; - revert = true; - hash = "sha256-pnEus2NHpNWZ6ZSXLgdTn+it7oy1MPZPbD8SOAKLWbw="; - }) - ] - ++ lib.optionals (chromiumVersionAtLeast "142" && lib.versionOlder rustcVersion "1.90") [ - (fetchpatch { - # Fix "ld.lld: error: undefined symbol: __rustc::__rust_alloc_error_handler_should_panic'" - # with Rust < 1.90 by reverting https://chromium-review.googlesource.com/c/chromium/src/+/6935385 - name = "chromium-142-Revert-rust-Remove-the-old-__rust_alloc_error_handler_should_panic-symbol.patch"; - url = "https://chromium.googlesource.com/chromium/src/+/e33287758f2234d6aabfc5d4e011c4e81e3a47cf^!?format=TEXT"; - decode = "base64 -d"; - revert = true; - hash = "sha256-0vRDz7wwGCsqm38fVvkLLzOOtEtd8CnqyjDLgGofh/o="; - }) - ] ++ lib.optionals (versionRange "142" "143") [ (fetchpatch { # Fix https://issues.chromium.org/issues/450752866 by backporting @@ -585,28 +553,6 @@ let hash = "sha256-0ueOCHYheSFHRFzEat3TDhnU3Avf0TcNBBBpTkz+saw="; }) ] - ++ lib.optionals (chromiumVersionAtLeast "142" && lib.versionOlder rustcVersion "1.91") [ - # Fix the following error when compiling CrabbyAvif with Rust < 1.91 due to - # https://github.com/rust-lang/rust/pull/142681 by reverting - # https://github.com/webmproject/CrabbyAvif/pull/663 and - # https://github.com/webmproject/CrabbyAvif/pull/654 and - # https://chromium-review.googlesource.com/c/chromium/src/+/6960510 - # - # error: cannot find attribute `sanitize` in this scope - # --> ../../third_party/crabbyavif/src/src/capi/io.rs:210:41 - # | - # 210 | #[cfg_attr(feature = "disable_cfi", sanitize(cfi = "off"))] - # | ^^^^^^^^ - # - ./patches/chromium-142-crabbyavif-rust-no_sanitize.patch - (fetchpatch { - name = "chromium-142-crabbyavif-Revert-Enable-disable_cfi-feature.patch"; - url = "https://chromium.googlesource.com/chromium/src/+/9415f40bc6f853547f791e633be638c71368ce56^!?format=TEXT"; - decode = "base64 -d"; - revert = true; - hash = "sha256-bYcJqPMbE7hMvhZVnzqHok1crUAdqrzqxr+4IHNzAtg="; - }) - ] ++ lib.optionals (chromiumVersionAtLeast "144") [ # Patch rustc_nightly_capability to eval to false instead of true. # https://chromium-review.googlesource.com/c/chromium/src/+/7022369 @@ -640,9 +586,7 @@ let /* Generated by lastchange.py, do not edit.*/ #ifndef SKIA_EXT_SKIA_COMMIT_HASH_H_ #define SKIA_EXT_SKIA_COMMIT_HASH_H_ - #define SKIA_COMMIT_HASH "${upstream-info.DEPS."src/third_party/skia".rev}${ - lib.optionalString (!chromiumVersionAtLeast "142") "-" - }" + #define SKIA_COMMIT_HASH "${upstream-info.DEPS."src/third_party/skia".rev}" #endif // SKIA_EXT_SKIA_COMMIT_HASH_H_ EOF @@ -650,7 +594,7 @@ let mkdir -p third_party/jdk/current/bin '' - + lib.optionalString (!isElectron && chromiumVersionAtLeast "142") '' + + lib.optionalString (!isElectron) '' cat << EOF > gpu/webgpu/dawn_commit_hash.h /* Generated by lastchange.py, do not edit.*/ #ifndef GPU_WEBGPU_DAWN_COMMIT_HASH_H_ @@ -815,11 +759,6 @@ let use_gio = true; use_cups = cupsSupport; } - // lib.optionalAttrs (!chromiumVersionAtLeast "139") { - # Feature overrides: - # Native Client support was deprecated in 2020 and support will end in June 2021: - enable_nacl = false; - } // lib.optionalAttrs (packageName == "chromium") { # Enabling the Widevine here doesn't affect whether we can redistribute the chromium package. # Widevine in this drv is a bit more complex than just that. See Widevine patch somewhere above. diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-129-rust.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-129-rust.patch deleted file mode 100644 index 1fe0c7f87324..000000000000 --- a/pkgs/applications/networking/browsers/chromium/patches/chromium-129-rust.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 45086d6838cac..81132ad8ecb31 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -1727,16 +1727,6 @@ config("runtime_library") { - configs += [ "//build/config/c++:runtime_library" ] - } - -- # Rust and C++ both provide intrinsics for LLVM to call for math operations. We -- # want to use the C++ intrinsics, not the ones in the Rust compiler_builtins -- # library. The Rust symbols are marked as weak, so that they can be replaced by -- # the C++ symbols. This config ensures the C++ symbols exist and are strong in -- # order to cause that replacement to occur by explicitly linking in clang's -- # compiler-rt library. -- if (is_clang && !is_nacl && !is_cronet_build) { -- configs += [ "//build/config/clang:compiler_builtins" ] -- } -- - # TODO(crbug.com/40570904): Come up with a better name for is POSIX + Fuchsia - # configuration. - if (is_posix || is_fuchsia) { diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-142-crabbyavif-rust-no_sanitize.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-142-crabbyavif-rust-no_sanitize.patch deleted file mode 100644 index 0dd08dbb41b9..000000000000 --- a/pkgs/applications/networking/browsers/chromium/patches/chromium-142-crabbyavif-rust-no_sanitize.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/third_party/crabbyavif/src/src/capi/io.rs b/third_party/crabbyavif/src/src/capi/io.rs -index e7994ce3129c4d7f46553f527bf8f10376ff9ed8..60a3c13b788a560e9669db013e3b8e88e5f9947b 100644 ---- a/third_party/crabbyavif/src/src/capi/io.rs -+++ b/third_party/crabbyavif/src/src/capi/io.rs -@@ -207,7 +207,7 @@ impl Drop for avifIOWrapper { - } - - impl crate::decoder::IO for avifIOWrapper { -- #[cfg_attr(feature = "disable_cfi", sanitize(cfi = "off"))] -+ #[cfg_attr(feature = "disable_cfi", no_sanitize(cfi))] - fn read(&mut self, offset: u64, size: usize) -> AvifResult<&[u8]> { - // SAFETY: Calling into a C function. - let res = unsafe { -diff --git a/third_party/crabbyavif/src/src/lib.rs b/third_party/crabbyavif/src/src/lib.rs -index 90fa41188905a8aaf7b74594937b3a335ceed18d..a05f0a5e8b6cbffbf6e1a0f5fefc8a1e1480273f 100644 ---- a/third_party/crabbyavif/src/src/lib.rs -+++ b/third_party/crabbyavif/src/src/lib.rs -@@ -13,7 +13,7 @@ - // limitations under the License. - - #![deny(unsafe_op_in_unsafe_fn)] --#![cfg_attr(feature = "disable_cfi", feature(sanitize))] -+#![cfg_attr(feature = "disable_cfi", feature(no_sanitize))] - - #[macro_use] - mod internal_utils; -diff --git a/third_party/crabbyavif/src/src/reformat/libyuv.rs b/third_party/crabbyavif/src/src/reformat/libyuv.rs -index 9df874ccf7b6a943c6dcebe495ce15b7a7e9cd66..3f68c16f2b2e8e22b3edfd0dcedbb95fe34887f9 100644 ---- a/third_party/crabbyavif/src/src/reformat/libyuv.rs -+++ b/third_party/crabbyavif/src/src/reformat/libyuv.rs -@@ -372,7 +372,7 @@ fn find_conversion_function( - // Returns Ok(Some(false)) if only YUV was converted and alpha - // needs to be imported separately. - // Returns Ok(None) if the conversion is not implemented. --#[cfg_attr(feature = "disable_cfi", sanitize(cfi = "off"))] -+#[cfg_attr(feature = "disable_cfi", no_sanitize(cfi))] - pub(crate) fn yuv_to_rgb(image: &image::Image, rgb: &mut rgb::Image) -> AvifResult> { - if (rgb.depth != 8 && rgb.depth != 10) || !image.depth_valid() { - return Ok(None); // Not implemented. -@@ -833,7 +833,7 @@ fn rgb_to_yuv_conversion_function( - } - } - --#[cfg_attr(feature = "disable_cfi", sanitize(cfi = "off"))] -+#[cfg_attr(feature = "disable_cfi", no_sanitize(cfi))] - pub(crate) fn rgb_to_yuv(rgb: &rgb::Image, image: &mut image::Image) -> AvifResult> { - let conversion_function = match rgb_to_yuv_conversion_function(rgb, image) { - Some(conversion_function) => conversion_function, diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index b4dd4cf5d530..0ebfbbaf9e57 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -394,7 +394,7 @@ let in { # Get revisions from - # https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/* + # https://github.com/moby/moby/tree/${mobyRev}/Dockerfile docker_25 = let version = "25.0.13"; @@ -435,18 +435,18 @@ in docker_29 = let - version = "29.1.5"; + version = "29.2.0"; in callPackage dockerGen { inherit version; cliRev = "v${version}"; - cliHash = "sha256-fg18lmJsMoy7lpL4hGkIhM0LKnhEY5nl5f0YuW8yg0A="; + cliHash = "sha256-GbXPe8DlhV4WnwJO8OVAdbXZ18IOUlXszenMGvPvSMQ="; mobyRev = "docker-v${version}"; - mobyHash = "sha256-iUoqJT0lIiVh5WaHzlw71QXxc3sEsSpQpADb0KveXNQ="; + mobyHash = "sha256-Uilc5cxKuctSkjVxY3R5aezlmGHhLhHY4opVkTYRVIY="; runcRev = "v1.3.4"; runcHash = "sha256-1IfY08sBoDpbLrwz1AKBRSTuCZyOgQzYPHTDUI6fOZ8="; - containerdRev = "v2.2.0"; - containerdHash = "sha256-LXBGA03FTrrbxlH+DxPBFtp3/AYQf096YE2rpe6A+WM="; + containerdRev = "v2.2.1"; + containerdHash = "sha256-fDOfN0XESrBTDW7Nxj9niqU93BQ5/JaGLwAR3u6Xaik="; tiniRev = "369448a167e8b3da4ca5bca0b3307500c3371828"; tiniHash = "sha256-jCBNfoJAjmcTJBx08kHs+FmbaU82CbQcf0IVjd56Nuw="; }; diff --git a/pkgs/by-name/au/audiosource/package.nix b/pkgs/by-name/au/audiosource/package.nix new file mode 100644 index 000000000000..18aebf5b35fc --- /dev/null +++ b/pkgs/by-name/au/audiosource/package.nix @@ -0,0 +1,80 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fetchurl, + makeWrapper, + installShellFiles, + python3, + android-tools, + pulseaudio, + coreutils, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "audiosource"; + version = "1.4"; + + src = fetchFromGitHub { + owner = "gdzx"; + repo = "audiosource"; + tag = "v${finalAttrs.version}"; + hash = "sha256-SlX8gjs7X5jfoeU6pyk4n8f6oMJgneGVt0pmFs48+mQ="; + }; + + patches = [ + # Removes build-related logic from the script that is unused in the package and fixes a small bug with adb args on new Android versions + ./unused-logic-removal-and-args-fix.patch + ]; + + postPatch = '' + substituteInPlace audiosource \ + --replace-fail "@apkPath@" "$out/share/audiosource/audiosource.apk" + ''; + + nativeBuildInputs = [ + makeWrapper + installShellFiles + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/share/audiosource + cp ${finalAttrs.passthru.apk} $out/share/audiosource/audiosource.apk + + installBin audiosource + + runHook postInstall + ''; + + postFixup = '' + wrapProgram $out/bin/audiosource \ + --prefix PATH : ${ + lib.makeBinPath [ + python3 + android-tools + pulseaudio + coreutils + ] + } + ''; + + passthru.apk = fetchurl { + url = "https://github.com/gdzx/audiosource/releases/download/v${finalAttrs.version}/audiosource.apk"; + hash = "sha256-vDIF+NZ3JgTT67Dem4qeajWsA5m/MFt2nRDpWUqC9aU="; + }; + + meta = { + description = "Use an Android device as a USB microphone"; + homepage = "https://github.com/gdzx/audiosource"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ ikci ]; + mainProgram = "audiosource"; + platforms = lib.platforms.linux; + sourceProvenance = with lib.sourceTypes; [ + fromSource + binaryBytecode + ]; + }; +}) diff --git a/pkgs/by-name/au/audiosource/unused-logic-removal-and-args-fix.patch b/pkgs/by-name/au/audiosource/unused-logic-removal-and-args-fix.patch new file mode 100644 index 000000000000..3a8b331c432f --- /dev/null +++ b/pkgs/by-name/au/audiosource/unused-logic-removal-and-args-fix.patch @@ -0,0 +1,82 @@ +diff --git a/audiosource b/audiosource +index b06127a..0bccddf 100755 +--- a/audiosource ++++ b/audiosource +@@ -2,15 +2,7 @@ + + set -eu + +-AUDIOSOURCE_PROFILE=${AUDIOSOURCE_PROFILE:-debug} +- +-if [ "$AUDIOSOURCE_PROFILE" = 'release' ]; then +- AUDIOSOURCE_DEFAULT_APK=app/build/outputs/apk/release/app-release.apk +-else +- AUDIOSOURCE_DEFAULT_APK=app/build/outputs/apk/debug/app-debug.apk +-fi +- +-AUDIOSOURCE_APK=${AUDIOSOURCE_APK:-"$AUDIOSOURCE_DEFAULT_APK"} ++AUDIOSOURCE_APK=${AUDIOSOURCE_APK:-"@apkPath@"} + ANDROID_SERIAL=${ANDROID_SERIAL:-} + + PYSOCAT="$(cat < audiosource.apk.sha256 +-} +- + _unload() { + for id in `pactl list modules short | sed -n "/module-pipe-source\tsource_name=$AUDIOSOURCE_NAME/p" | cut -f1`; do + pactl unload-module "$id" +@@ -146,7 +128,7 @@ volume() { + + main_help() { + cat <<-EOF +- Usage: ./audiosource [-s SERIAL] COMMAND [ARGS...] ++ Usage: audiosource [-s SERIAL] COMMAND [ARGS...] + + Options: + +@@ -154,15 +136,13 @@ main_help() { + + Commands: + +- build Build Audio Source APK (default: debug) +- install Install Audio Source to Android device (default: debug) ++ install Install Audio Source to Android device + run Run Audio Source and start forwarding + volume LEVEL Set volume to LEVEL (for example, 250%) + + Environment: + +- AUDIOSOURCE_APK APK path (default: app/build/outputs/apk/\$profile/app-\$profile.apk) +- AUDIOSOURCE_PROFILE Build profile (debug or release, default: build) ++ AUDIOSOURCE_APK APK path (default: @apkPath@) + AUDIOSOURCE_NAME Name of the PulseAudio source (default: android-) + ANDROID_SERIAL Device serial number to connect to (default: unset) + EOF +@@ -200,7 +180,7 @@ main() { + shift + + case "$cmd" in +- build|install|run|volume|_release) ++ install|run|volume) + "$cmd" "$@" + ;; + *) diff --git a/pkgs/by-name/ca/cagent/package.nix b/pkgs/by-name/ca/cagent/package.nix index bc04212f31fa..d32995da0f48 100644 --- a/pkgs/by-name/ca/cagent/package.nix +++ b/pkgs/by-name/ca/cagent/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "cagent"; - version = "1.19.0"; + version = "1.20.0"; src = fetchFromGitHub { owner = "docker"; repo = "cagent"; tag = "v${finalAttrs.version}"; - hash = "sha256-J7IRlSsjXRDvbUKwnV2rrWnEmvqciJw3mN8NerQBtl4="; + hash = "sha256-HOQibgT9R7Ic1tGtgjSB+nSWKID6TD1Yt6tr37Voa7w="; }; - vendorHash = "sha256-q7mP9JWJEdDbUO/3MHsJwiySNvN2SbhnhEbJArnCW3M="; + vendorHash = "sha256-8NXiIxaq+03+LrHFBaxZ4YFb0sqYikajgk5gYXTn3Rs="; # Disable tests: Networked model providers and writable cache directories are required. doCheck = false; diff --git a/pkgs/by-name/ch/chirp/package.nix b/pkgs/by-name/ch/chirp/package.nix index 9e78eb855790..790f1d26a92d 100644 --- a/pkgs/by-name/ch/chirp/package.nix +++ b/pkgs/by-name/ch/chirp/package.nix @@ -11,14 +11,14 @@ python3Packages.buildPythonApplication { pname = "chirp"; - version = "0.4.0-unstable-2026-01-22"; + version = "0.4.0-unstable-2026-02-01"; pyproject = true; src = fetchFromGitHub { owner = "kk7ds"; repo = "chirp"; - rev = "77a0299172e271fe62393f870d61f2033f201ca2"; - hash = "sha256-4V7nFW4KhfxOFvjQllcE6YHNuUDiYDFvBrlZk5r5tUQ="; + rev = "52a3a4be4035fac1bec56ee6f20ae50ea15f8c31"; + hash = "sha256-HrLOo9duWDOxoranH2fo9KVs3OIV0oHDvzEcWdwthTs="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/cl/clickhouse-backup/package.nix b/pkgs/by-name/cl/clickhouse-backup/package.nix index aabb2a8d539b..9d5d59b8eee6 100644 --- a/pkgs/by-name/cl/clickhouse-backup/package.nix +++ b/pkgs/by-name/cl/clickhouse-backup/package.nix @@ -9,16 +9,16 @@ buildGoModule rec { pname = "clickhouse-backup"; - version = "2.6.41"; + version = "2.6.42"; src = fetchFromGitHub { owner = "Altinity"; repo = "clickhouse-backup"; tag = "v${version}"; - hash = "sha256-LBwmdGcQuDu0tr9c67bboBzv6ypxzYRU36Z76lL94yo="; + hash = "sha256-v2SezQwMgDkS+dAhj122P//CaVIwbqdjlLBvkW3Xkh0="; }; - vendorHash = "sha256-UxbQ/Q4HsTBkbIMBdeKns6t8tZnfdBRaHDMOA2RYDLI="; + vendorHash = "sha256-vEsbS5aa2+2xiUU96dwn697hW0QA5IGxYD8ua1bsVyw="; ldflags = [ "-X main.version=${version}" diff --git a/pkgs/by-name/co/cockpit-files/package.nix b/pkgs/by-name/co/cockpit-files/package.nix new file mode 100644 index 000000000000..5b1ac0e97489 --- /dev/null +++ b/pkgs/by-name/co/cockpit-files/package.nix @@ -0,0 +1,56 @@ +{ + lib, + stdenv, + cockpit, + nodejs, + gettext, + writeShellScriptBin, + fetchFromGitHub, + gitUpdater, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "cockpit-files"; + version = "34"; + + src = fetchFromGitHub { + owner = "cockpit-project"; + repo = "cockpit-files"; + tag = finalAttrs.version; + hash = "sha256-nxlPzNrX3mAwhR8mpRfoZ7d6tdfVOBEaTtzEHU14p68="; + + fetchSubmodules = true; + postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json"; + }; + + buildInputs = [ + nodejs + gettext + (writeShellScriptBin "git" "true") + ]; + + cockpitSrc = cockpit.src; + + postPatch = '' + mkdir -p pkg; cp -r $cockpitSrc/pkg/lib pkg + mkdir -p test; cp -r $cockpitSrc/test/common test + + substituteInPlace Makefile \ + --replace-fail '$(MAKE) package-lock.json' 'true' \ + --replace-fail '$(COCKPIT_REPO_FILES) | tar x' "" \ + --replace-fail '/usr/local' "$out" + + patchShebangs build.js + ''; + + passthru.updateScript = gitUpdater { }; + + meta = { + description = "Featureful file browser for Cockpit"; + homepage = "https://github.com/cockpit-project/cockpit-files"; + changelog = "https://github.com/cockpit-project/cockpit-files/releases/tag/${finalAttrs.version}"; + platforms = lib.platforms.linux; + license = [ lib.licenses.lgpl21 ]; + teams = [ lib.teams.cockpit ]; + }; +}) diff --git a/pkgs/by-name/co/cockpit-machines/package.nix b/pkgs/by-name/co/cockpit-machines/package.nix new file mode 100644 index 000000000000..742f72328bac --- /dev/null +++ b/pkgs/by-name/co/cockpit-machines/package.nix @@ -0,0 +1,67 @@ +{ + lib, + stdenv, + cockpit, + nodejs, + gettext, + writeShellScriptBin, + fetchFromGitHub, + gitUpdater, + libosinfo, + osinfo-db, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "cockpit-machines"; + version = "346"; + + src = fetchFromGitHub { + owner = "cockpit-project"; + repo = "cockpit-machines"; + tag = finalAttrs.version; + hash = "sha256-fsEmxJ/9w4NbjgKhb4JTFY94FFTc735+ZQ8YieLQVpA="; + + fetchSubmodules = true; + postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json"; + }; + + buildInputs = [ + nodejs + gettext + (writeShellScriptBin "git" "true") + ]; + + cockpitSrc = cockpit.src; + + postPatch = '' + mkdir -p pkg; cp -r $cockpitSrc/pkg/lib pkg + mkdir -p test; cp -r $cockpitSrc/test/common test + + substituteInPlace Makefile \ + --replace-fail '$(MAKE) package-lock.json' 'true' \ + --replace-fail '$(COCKPIT_REPO_FILES) | tar x' "" \ + --replace-fail '/usr/local' "$out" + + substituteInPlace src/manifest.json \ + --replace-fail '"/usr/share/dbus-1/system.d/org.libvirt.conf"' '"/etc/systemd/system/libvirt-dbus.service"' + + patchShebangs build.js + ''; + + passthru = { + updateScript = gitUpdater { }; + cockpitPath = [ + libosinfo + osinfo-db + ]; + }; + + meta = { + description = "Cockpit UI for virtual machines"; + homepage = "https://github.com/cockpit-project/cockpit-machines"; + changelog = "https://github.com/cockpit-project/cockpit-machines/releases/tag/${finalAttrs.version}"; + platforms = lib.platforms.linux; + license = [ lib.licenses.lgpl21 ]; + teams = [ lib.teams.cockpit ]; + }; +}) diff --git a/pkgs/by-name/co/cockpit-podman/package.nix b/pkgs/by-name/co/cockpit-podman/package.nix new file mode 100644 index 000000000000..d4cd27c96f5c --- /dev/null +++ b/pkgs/by-name/co/cockpit-podman/package.nix @@ -0,0 +1,63 @@ +{ + lib, + stdenv, + cockpit, + nodejs, + gettext, + writeShellScriptBin, + fetchFromGitHub, + gitUpdater, + podman, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "cockpit-podman"; + version = "119.1"; + + src = fetchFromGitHub { + owner = "cockpit-project"; + repo = "cockpit-podman"; + tag = finalAttrs.version; + hash = "sha256-XAOHkul9oh1mUJ27ghJgZLtriBGjofyoGhQ3gb7Gunc="; + + fetchSubmodules = true; + postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json"; + }; + + buildInputs = [ + nodejs + gettext + (writeShellScriptBin "git" "true") + ]; + + cockpitSrc = cockpit.src; + + postPatch = '' + mkdir -p pkg; cp -r $cockpitSrc/pkg/lib pkg + mkdir -p test; cp -r $cockpitSrc/test/common test + + substituteInPlace Makefile \ + --replace-fail '$(MAKE) package-lock.json' 'true' \ + --replace-fail '$(COCKPIT_REPO_FILES) | tar x' "" \ + --replace-fail '/usr/local' "$out" + + substituteInPlace src/manifest.json \ + --replace-fail '"/lib/systemd' '"/run/current-system/sw/lib/systemd' + + patchShebangs build.js + ''; + + passthru = { + updateScript = gitUpdater { }; + cockpitPath = [ podman ]; + }; + + meta = { + description = "Cockpit UI for podman containers"; + homepage = "https://github.com/cockpit-project/cockpit-podman"; + changelog = "https://github.com/cockpit-project/cockpit-podman/releases/tag/${finalAttrs.version}"; + platforms = lib.platforms.linux; + license = [ lib.licenses.lgpl21 ]; + teams = [ lib.teams.cockpit ]; + }; +}) diff --git a/pkgs/by-name/co/cockpit/package.nix b/pkgs/by-name/co/cockpit/package.nix index acee0c9e2a02..a5ce3e74a015 100644 --- a/pkgs/by-name/co/cockpit/package.nix +++ b/pkgs/by-name/co/cockpit/package.nix @@ -14,6 +14,7 @@ git, glib, glib-networking, + gobject-introspection, gnused, gnutls, hostname, @@ -160,15 +161,23 @@ stdenv.mkDerivation (finalAttrs: { --replace-warn '"/usr/share' '"/run/current-system/sw/share' \ --replace-warn '"/lib/systemd' '"/run/current-system/sw/lib/systemd' - # replace reference to system python interpreter, used for e.g. sosreport - substituteInPlace pkg/lib/python.ts \ - --replace-fail /usr/libexec/platform-python ${python3Packages.python.interpreter} + # fix polkit agent helper path + substituteInPlace src/cockpit/polkit.py \ + --replace-fail "/usr/lib/polkit-1/polkit-agent-helper-1" "/run/wrappers/bin/polkit-agent-helper-1" ''; configureFlags = [ "--enable-prefix-only=yes" "--disable-pcp" # TODO: figure out how to package its dependency - "--with-default-session-path=${placeholder "out"}/bin:/etc/cockpit/bin:${util-linux}/bin:/run/wrappers/bin:/run/current-system/sw/bin" + "--with-default-session-path=${ + lib.makeBinPath [ + (placeholder "out") + "/etc/cockpit" + util-linux + "/run/wrappers" + "/run/current-system/sw" + ] + }" "--with-admin-group=root" # TODO: really? Maybe "wheel"? ]; @@ -192,8 +201,15 @@ stdenv.mkDerivation (finalAttrs: { for binary in $out/bin/cockpit-bridge $out/libexec/cockpit-askpass; do chmod +x $binary wrapProgram $binary \ - --prefix PYTHONPATH : $out/${python3Packages.python.sitePackages} \ - --prefix XDG_DATA_DIRS : /etc/cockpit/share # Cockpit apps will be stored at /etc/cockpit/share/cockpit/ (managed by Cockpit nixos service) + --prefix PATH : "/etc/cockpit/bin" \ + --prefix PYTHONPATH : ${ + lib.makeSearchPath python3Packages.python.sitePackages [ + "$out" + "/etc/cockpit" + ] + } \ + --prefix GI_TYPELIB_PATH : "/etc/cockpit/lib/girepository-1.0" \ + --prefix XDG_DATA_DIRS : "/etc/cockpit/share" done patchShebangs $out/share/cockpit/issue/update-issue @@ -256,6 +272,12 @@ stdenv.mkDerivation (finalAttrs: { passthru = { tests = { inherit (nixosTests) cockpit; }; updateScript = nix-update-script { }; + cockpitPath = [ + glib + gobject-introspection + python3Packages.python + python3Packages.pygobject3 + ]; }; meta = { @@ -264,9 +286,6 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://cockpit-project.org/"; changelog = "https://cockpit-project.org/blog/cockpit-${finalAttrs.version}.html"; license = lib.licenses.lgpl21; - maintainers = with lib.maintainers; [ - lucasew - andre4ik3 - ]; + teams = [ lib.teams.cockpit ]; }; }) diff --git a/pkgs/by-name/do/doomretro/package.nix b/pkgs/by-name/do/doomretro/package.nix index 51f8808963c1..8673834dd098 100644 --- a/pkgs/by-name/do/doomretro/package.nix +++ b/pkgs/by-name/do/doomretro/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "doomretro"; - version = "5.8"; + version = "5.8.2"; src = fetchFromGitHub { owner = "bradharding"; repo = "doomretro"; rev = "v${finalAttrs.version}"; - hash = "sha256-UCLIQEeKNJ0qTZQdzybdBxt/6catf8y3lnWKsjg2Mf8="; + hash = "sha256-tFRDfiHsRNrhmKHYpV88G2W5Ww7r8D9Neu/zbln0DGc="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/fz/fzf-git-sh/package.nix b/pkgs/by-name/fz/fzf-git-sh/package.nix index 23980da941b1..e6fe1d9dc1ea 100644 --- a/pkgs/by-name/fz/fzf-git-sh/package.nix +++ b/pkgs/by-name/fz/fzf-git-sh/package.nix @@ -20,13 +20,13 @@ stdenv.mkDerivation rec { pname = "fzf-git-sh"; - version = "0-unstable-2025-12-30"; + version = "0-unstable-2026-01-31"; src = fetchFromGitHub { owner = "junegunn"; repo = "fzf-git.sh"; - rev = "8dd169c08393b4d50c2ddd270da19705a30cbbac"; - hash = "sha256-EYo2HlZfFbLKRDuQz5nz8/Di2ur2uG0haapECKfamoU="; + rev = "34cd6c9d315d9b59b94721bd602c5769e919d686"; + hash = "sha256-9xa7th5qC1ZtZ8VYTEgYNqoCk6dIII4OvsCcrG8vuyc="; }; dontBuild = true; diff --git a/pkgs/by-name/gc/gcs/package.nix b/pkgs/by-name/gc/gcs/package.nix index 3a8641224673..2a6fda48b895 100644 --- a/pkgs/by-name/gc/gcs/package.nix +++ b/pkgs/by-name/gc/gcs/package.nix @@ -19,13 +19,13 @@ buildGoModule rec { pname = "gcs"; - version = "5.41.1"; + version = "5.42.0"; src = fetchFromGitHub { owner = "richardwilkes"; repo = "gcs"; tag = "v${version}"; - hash = "sha256-PPlz3DRwkKN0nZSFKJvl/axow6LxqyA3JPzZmfEkIsM="; + hash = "sha256-eCWMaO1iv917aHcdln2B10oCSbmzpXvQIF/luztHwRc="; }; modPostBuild = '' @@ -33,7 +33,7 @@ buildGoModule rec { sed -i 's|-lmupdf[^ ]* |-lmupdf |g' vendor/github.com/richardwilkes/pdf/pdf.go ''; - vendorHash = "sha256-LfRzNmjJe6hBhWuN5fUfFpB3nKmURZhM/wpdrcYr9jU="; + vendorHash = "sha256-pbt4zNbFYTXKVe9D70Lg3XVsjadnUIuPwbbV1CJNLc8="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/ge/gerrit/package.nix b/pkgs/by-name/ge/gerrit/package.nix index 50d7c41e2f49..db43704d7967 100644 --- a/pkgs/by-name/ge/gerrit/package.nix +++ b/pkgs/by-name/ge/gerrit/package.nix @@ -8,11 +8,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "gerrit"; - version = "3.13.1"; + version = "3.13.2"; src = fetchurl { url = "https://gerrit-releases.storage.googleapis.com/gerrit-${finalAttrs.version}.war"; - hash = "sha256-4+Z1q1cHEM5IaG+SAS7JgiCypfjM8W2Zaa25/KGaoqw="; + hash = "sha256-FVfmruKxPR6SQQsbGD0QTOzaAxdZkJaPky4PSEgWTQ8="; }; buildCommand = '' diff --git a/pkgs/by-name/gi/github-copilot-cli/package.nix b/pkgs/by-name/gi/github-copilot-cli/package.nix index 992087fc7a61..b11c252b5597 100644 --- a/pkgs/by-name/gi/github-copilot-cli/package.nix +++ b/pkgs/by-name/gi/github-copilot-cli/package.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "github-copilot-cli"; - version = "0.0.394"; + version = "0.0.400"; src = fetchzip { url = "https://registry.npmjs.org/@github/copilot/-/copilot-${finalAttrs.version}.tgz"; - hash = "sha256-5d0Tvc/TVCocSYB8hcBfQAR9VZ8qcw7ZE8yIwwKaLAI="; + hash = "sha256-TZDeDmN2GF0a4KFOHt+oXn4IXDRl+OwvlEkBefNR3io="; }; nativeBuildInputs = [ makeBinaryWrapper ]; diff --git a/pkgs/by-name/go/got/package.nix b/pkgs/by-name/go/got/package.nix index de8586086fe1..8b09e3fbd46f 100644 --- a/pkgs/by-name/go/got/package.nix +++ b/pkgs/by-name/go/got/package.nix @@ -25,11 +25,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "got"; - version = "0.120"; + version = "0.121"; src = fetchurl { url = "https://gameoftrees.org/releases/portable/got-portable-${finalAttrs.version}.tar.gz"; - hash = "sha256-t6YMZ2H23CgQ9nZgaisy63YxwXqW3MdLjZm2e5Hon0M="; + hash = "sha256-1A6+69IkCAzalhEVcuhj6KO/IjXIqVOifiRRGomIIJo="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/gr/groonga/package.nix b/pkgs/by-name/gr/groonga/package.nix index 513623136cd1..f1e43c9041bb 100644 --- a/pkgs/by-name/gr/groonga/package.nix +++ b/pkgs/by-name/gr/groonga/package.nix @@ -23,11 +23,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "groonga"; - version = "15.1.7"; + version = "15.2.3"; src = fetchurl { url = "https://packages.groonga.org/source/groonga/groonga-${finalAttrs.version}.tar.gz"; - hash = "sha256-iZpBSgY291aNGhGEX+PddbcB9yEGp6JvMLyVCvWHZhY="; + hash = "sha256-DwLNXhq/adrajX2HX0Cpr6UBT8yMDWRfa/sYDnGOpnI="; }; patches = [ diff --git a/pkgs/by-name/he/heynote/package.nix b/pkgs/by-name/he/heynote/package.nix index 0d98130d7048..4f26a0393107 100644 --- a/pkgs/by-name/he/heynote/package.nix +++ b/pkgs/by-name/he/heynote/package.nix @@ -7,11 +7,11 @@ }: let pname = "heynote"; - version = "2.7.1"; + version = "2.7.2"; src = fetchurl { url = "https://github.com/heyman/heynote/releases/download/v${version}/Heynote_${version}_x86_64.AppImage"; - sha256 = "sha256-Hb9hcfdHJNqeRyl5p053qmqv/3Yzz+32iVu1PCj+6nY="; + sha256 = "sha256-MEMZAWmLGdLZxBb/XPEJl8l3RriCfUH4Ogqs4GL0lAw="; }; appimageContents = appimageTools.extractType2 { diff --git a/pkgs/by-name/if/ifm-web/package.nix b/pkgs/by-name/if/ifm-web/package.nix index 330334cb4284..b8b87efe9c82 100644 --- a/pkgs/by-name/if/ifm-web/package.nix +++ b/pkgs/by-name/if/ifm-web/package.nix @@ -7,10 +7,10 @@ nixosTests, }: let - version = "4.0.2"; + version = "4.1.1"; src = fetchurl { url = "https://github.com/misterunknown/ifm/releases/download/v${version}/cdn.ifm.php"; - hash = "sha256-37WbRM6D7JGmd//06zMhxMGIh8ioY8vRUmxX4OHgqBE="; + hash = "sha256-io4HOtOe4J8J9Il+64eboIIwBXLWyXdv2OIBVKW+qS0="; }; serve_script = writeShellScript "ifm-serve" '' diff --git a/pkgs/by-name/jo/joplin-desktop/package.nix b/pkgs/by-name/jo/joplin-desktop/package.nix index d35cd511d16a..c0f31bf541f7 100644 --- a/pkgs/by-name/jo/joplin-desktop/package.nix +++ b/pkgs/by-name/jo/joplin-desktop/package.nix @@ -20,6 +20,8 @@ libGL, clang_20, jq, + glib, + gsettings-desktop-schemas, }: let @@ -183,6 +185,7 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper "$outdir"/joplin $out/bin/joplin-desktop \ --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \ + --prefix XDG_DATA_DIRS : "${glib.getSchemaDataDirPath gsettings-desktop-schemas}" \ --add-flags "--no-sandbox" \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-wayland-ime --ozone-platform=wayland --enable-features=WaylandWindowDecorations}}" \ --inherit-argv0 diff --git a/pkgs/by-name/ku/kubectl-gadget/package.nix b/pkgs/by-name/ku/kubectl-gadget/package.nix index 6962e3b252f8..1a21bfa44748 100644 --- a/pkgs/by-name/ku/kubectl-gadget/package.nix +++ b/pkgs/by-name/ku/kubectl-gadget/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "kubectl-gadget"; - version = "0.48.0"; + version = "0.48.1"; src = fetchFromGitHub { owner = "inspektor-gadget"; repo = "inspektor-gadget"; tag = "v${version}"; - hash = "sha256-g2nJYiGukgi6CEhIJRuqqpPT9XbfQGFVmQD4Ne8gul0="; + hash = "sha256-brYWsPd8RDBiFoXhbnNf8R0cgnHws1Wh5bc8y0s2U3k="; }; vendorHash = "sha256-FLWpvCHeZUnlGZM1lxNoArqfSP2iQuYnhBRtD2ymclI="; diff --git a/pkgs/by-name/li/limine/package.nix b/pkgs/by-name/li/limine/package.nix index 1edcbea2fb02..4d80fef3b155 100644 --- a/pkgs/by-name/li/limine/package.nix +++ b/pkgs/by-name/li/limine/package.nix @@ -47,14 +47,14 @@ in # as bootloader for various platforms and corresponding binary and helper files. stdenv.mkDerivation (finalAttrs: { pname = "limine"; - version = "10.6.3"; + version = "10.6.4"; # We don't use the Git source but the release tarball, as the source has a # `./bootstrap` script performing network access to download resources. # Packaging that in Nix is very cumbersome. src = fetchurl { url = "https://codeberg.org/Limine/Limine/releases/download/v${finalAttrs.version}/limine-${finalAttrs.version}.tar.gz"; - hash = "sha256-4jpxSJ+ZHYsaX7eYhOonh1j/Ye9QF7Wt8kST7CbBtKk="; + hash = "sha256-mxIPN+avDU6vAd72mX4IFOKj7QkFcQ/L4jceRkRPIvw="; }; enableParallelBuilding = true; diff --git a/pkgs/by-name/lt/lttng-tools/package.nix b/pkgs/by-name/lt/lttng-tools/package.nix index 8b6dea07b6dc..ffe2ed82880b 100644 --- a/pkgs/by-name/lt/lttng-tools/package.nix +++ b/pkgs/by-name/lt/lttng-tools/package.nix @@ -14,11 +14,11 @@ stdenv.mkDerivation rec { pname = "lttng-tools"; - version = "2.14.0"; + version = "2.14.1"; src = fetchurl { url = "https://lttng.org/files/lttng-tools/${pname}-${version}.tar.bz2"; - sha256 = "sha256-2MOcJs7BO3vYJVHNUqIu/DWLiI4268+cG2DvHDo8L9M="; + sha256 = "sha256-DmjrJ5I2IcS8Enz85AQi0oz35HP+32IprmwyulxbfG0="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/me/metacubexd/package.nix b/pkgs/by-name/me/metacubexd/package.nix index 920baf9a1429..74ff8930e2ca 100644 --- a/pkgs/by-name/me/metacubexd/package.nix +++ b/pkgs/by-name/me/metacubexd/package.nix @@ -3,39 +3,42 @@ fetchFromGitHub, nix-update-script, nodejs, - pnpm_9, + pnpm_10, fetchPnpmDeps, pnpmConfigHook, stdenv, }: stdenv.mkDerivation (finalAttrs: { pname = "metacubexd"; - version = "1.192.0"; + version = "1.235.3"; src = fetchFromGitHub { owner = "MetaCubeX"; repo = "metacubexd"; rev = "v${finalAttrs.version}"; - hash = "sha256-OZLwKckwiw0FPJYOLgj9bXEm6xq9SmDrDZNQhM0r7dc="; + hash = "sha256-3CtXD8fG/JEK13VcovjckrtPLTQUltut1AOk2nufdCc="; }; nativeBuildInputs = [ pnpmConfigHook - pnpm_9 + pnpm_10 nodejs ]; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; - pnpm = pnpm_9; + pnpm = pnpm_10; fetcherVersion = 1; - hash = "sha256-v+wuYGK0WEgrPNBLuLnoO/uDEk6AqJTlNJZHTpEb4mc="; + hash = "sha256-cT0HGAc/eu7LMZp4/MNRgodo+nkhLoN5yOWfcrtsr5I="; }; buildPhase = '' runHook preBuild - pnpm build + export NUXT_TELEMETRY_DISABLED=1 + export NUXT_APP_BASE_URL='./' + + pnpm generate runHook postBuild ''; @@ -43,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: { installPhase = '' runHook preInstall - cp -r ./dist $out + cp -r ./.output/public $out runHook postInstall ''; diff --git a/pkgs/by-name/mi/minify/package.nix b/pkgs/by-name/mi/minify/package.nix index 2efde66eca9b..5ea8ae15c9fb 100644 --- a/pkgs/by-name/mi/minify/package.nix +++ b/pkgs/by-name/mi/minify/package.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "minify"; - version = "2.24.5"; + version = "2.24.8"; src = fetchFromGitHub { owner = "tdewolff"; repo = "minify"; rev = "v${version}"; - hash = "sha256-0OmL/HG4pt2iDha6NcQoUKWz2u9vsLH6QzYhHb+mTL0="; + hash = "sha256-sCEKc9WjLaryz8RAxUqftLySgsv50SQ9b+Q6DzDNbxI="; }; - vendorHash = "sha256-QS0vffGJaaDhXvc7ylJmFJ1s83kaIqFWsBXNWVozt1k="; + vendorHash = "sha256-ugxHPZQlitskC0Xrzy0SNqYPbmm7Cl4sNhIzNR8DeqQ="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/pe/perplexity-mcp/package.nix b/pkgs/by-name/pe/perplexity-mcp/package.nix new file mode 100644 index 000000000000..6af3a0585db3 --- /dev/null +++ b/pkgs/by-name/pe/perplexity-mcp/package.nix @@ -0,0 +1,37 @@ +{ + lib, + buildNpmPackage, + fetchFromGitHub, + nix-update-script, +}: + +buildNpmPackage (finalAttrs: { + pname = "perplexity-mcp"; + version = "0-unstable-2025-12-19"; + + src = fetchFromGitHub { + owner = "perplexityai"; + repo = "modelcontextprotocol"; + rev = "29dddc491b5853d8be66aac9e0ffdce105aa7f07"; + hash = "sha256-GBA4NPGf6fbj8DJ6Cke4DD03jMe3Ts6uGu2PoLhOaUg="; + }; + + npmDepsHash = "sha256-aAIH/z/5BSbLYmAc7ZyPEIoblLdHlncp8uFGFDebots="; + + passthru = { + updateScript = nix-update-script { + extraArgs = [ + "--version=branch" + ]; + }; + }; + + meta = { + description = "The official MCP server implementation for the Perplexity API Platform"; + homepage = "https://github.com/perplexityai/modelcontextprotocol"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ malik ]; + mainProgram = "perplexity-mcp"; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/ph/phel/package.nix b/pkgs/by-name/ph/phel/package.nix index ba1c0851cebf..02eb98ac9d34 100644 --- a/pkgs/by-name/ph/phel/package.nix +++ b/pkgs/by-name/ph/phel/package.nix @@ -7,16 +7,16 @@ php.buildComposerProject2 (finalAttrs: { pname = "phel"; - version = "0.27.0"; + version = "0.28.0"; src = fetchFromGitHub { owner = "phel-lang"; repo = "phel-lang"; tag = "v${finalAttrs.version}"; - hash = "sha256-8e29IQcTOT6kgcluGxp5bJ/tmD1tmA2VfrgAqpoao4o="; + hash = "sha256-kl1AwHApVaCT9rli3pvc+ftMfj+ZJg+NRi2DafI8cVo="; }; - vendorHash = "sha256-G78w7Cwhrs2kqtVEZFlbw9EqnE3roOWlR+O16R5M3eI="; + vendorHash = "sha256-ypyiNC3NX94g+koQ8uZjrEqLTvctTQNi18od+vP4e/g="; doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; diff --git a/pkgs/by-name/po/podman/package.nix b/pkgs/by-name/po/podman/package.nix index 6057168de143..8b46449a7ec3 100644 --- a/pkgs/by-name/po/podman/package.nix +++ b/pkgs/by-name/po/podman/package.nix @@ -7,7 +7,6 @@ buildGoModule, buildPackages, gpgme, - lvm2, btrfs-progs, libapparmor, libseccomp, @@ -83,7 +82,6 @@ buildGoModule (finalAttrs: { libapparmor libseccomp libselinux - lvm2 systemd ]; diff --git a/pkgs/by-name/ra/rabbitmq-server/package.nix b/pkgs/by-name/ra/rabbitmq-server/package.nix index bebbcfa61ec6..3873771025ce 100644 --- a/pkgs/by-name/ra/rabbitmq-server/package.nix +++ b/pkgs/by-name/ra/rabbitmq-server/package.nix @@ -1,6 +1,7 @@ { lib, - beamPackages, + beam27Packages, + elixir_1_18, stdenv, fetchurl, python3, @@ -39,6 +40,8 @@ let systemd # for systemd unit activation check ] ); + + beamPackages = beam27Packages.extend (self: super: { elixir = elixir_1_18; }); in stdenv.mkDerivation (finalAttrs: { diff --git a/pkgs/by-name/ra/railway/package.nix b/pkgs/by-name/ra/railway/package.nix index 3009169bc6d6..011e529595cf 100644 --- a/pkgs/by-name/ra/railway/package.nix +++ b/pkgs/by-name/ra/railway/package.nix @@ -7,16 +7,16 @@ }: rustPlatform.buildRustPackage rec { pname = "railway"; - version = "4.27.2"; + version = "4.27.5"; src = fetchFromGitHub { owner = "railwayapp"; repo = "cli"; rev = "v${version}"; - hash = "sha256-9w0AFXf7BxXxw/JZui9rl+5FgHmqEaTlvbcRk8QwLEU="; + hash = "sha256-S6Fp6dXCLdHTmaiRrtsTh+N44GzM4vt27MGCb9lkk5k="; }; - cargoHash = "sha256-WNL/Xmcoh3oTn7C/cK2CD3L085FbbxbdoasI+K5UucM="; + cargoHash = "sha256-8eLrtWxOS/AXcsCYu1H6vcwDaLl4siEVwX2YSvamZ1o="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/re/repath-studio/hardcode-git-paths.patch b/pkgs/by-name/re/repath-studio/hardcode-git-paths.patch new file mode 100644 index 000000000000..1a3f099c7007 --- /dev/null +++ b/pkgs/by-name/re/repath-studio/hardcode-git-paths.patch @@ -0,0 +1,14 @@ +diff --git a/deps.edn b/deps.edn +index 195de4e..6ebe31b 100644 +--- a/deps.edn ++++ b/deps.edn +@@ -1,8 +1,7 @@ + {:paths ["src"] + :deps {binaryage/devtools {:mvn/version "1.0.7"} + camel-snake-kebab/camel-snake-kebab {:mvn/version "0.4.3"} +- clj-kdtree/clj-kdtree {:git/url "https://github.com/abscondment/clj-kdtree.git" +- :sha "5ec321c5e8006db00fa8b45a8ed9eb0b8f3dd56d" ++ clj-kdtree/clj-kdtree {:local/root "@clj-kdtree_src@" + :deps/manifest :deps} + com.taoensso/tempura {:mvn/version "1.5.4"} + day8.re-frame/test {:mvn/version "0.1.7"} diff --git a/pkgs/by-name/re/repath-studio/package.nix b/pkgs/by-name/re/repath-studio/package.nix new file mode 100644 index 000000000000..ebf0e5855aa3 --- /dev/null +++ b/pkgs/by-name/re/repath-studio/package.nix @@ -0,0 +1,205 @@ +{ + lib, + stdenv, + + buildNpmPackage, + fetchFromGitHub, + pkg-config, + electron, + chromium, + clojure, + vips, + + writeShellScriptBin, + copyDesktopItems, + makeDesktopItem, + makeWrapper, + replaceVars, + + vulkan-loader, +}: +buildNpmPackage (finalAttrs: { + pname = "repath-studio"; + version = "0.4.12"; + + src = fetchFromGitHub { + owner = "repath-studio"; + repo = "repath-studio"; + tag = "v${finalAttrs.version}"; + hash = "sha256-sdM3owUYI0P12+R4YyYtF/20Zl0EpJY6t4Z1q/K5EqM="; + }; + + patches = [ + (replaceVars ./hardcode-git-paths.patch { + clj-kdtree_src = fetchFromGitHub { + owner = "abscondment"; + repo = "clj-kdtree"; + rev = "5ec321c5e8006db00fa8b45a8ed9eb0b8f3dd56d"; + hash = "sha256-ZOv+9TxBsOnSSbfM7kJLP3cQH9FpgA15aETszg7YSes="; + }; + }) + # outputHash of manvenDeps changes each time `clojure` is updated + # https://github.com/ngi-nix/ngipkgs/pull/1727#discussion_r2470180998 + ./pin-clojure.patch + ]; + + makeCacheWritable = true; + + npmDepsHash = "sha256-Zihy5VYlkeQtmZUS25kgu3aYGPfQdUxjNSK33WHOEeQ="; + + nativeBuildInputs = [ + finalAttrs.passthru.clojureWithCache + makeWrapper + copyDesktopItems + pkg-config # sharp + ]; + + # For 'sharp' dependency, otherwise it will try to build it + buildInputs = [ vips ]; + + env = { + ELECTRON_SKIP_BINARY_DOWNLOAD = true; + PUPPETEER_SKIP_DOWNLOAD = true; + }; + + postPatch = '' + substituteInPlace shadow-cljs.edn \ + --replace-fail ":shadow-git-inject/version" '"v${finalAttrs.version}"' + ''; + + passthru = { + # this was taken and adapted from "logseq" package's nixpkgs derivation + mavenRepo = stdenv.mkDerivation { + name = "repath-studio-${finalAttrs.version}-maven-deps"; + inherit (finalAttrs) src patches; + + nativeBuildInputs = [ clojure ]; + + buildPhase = '' + runHook preBuild + + export HOME="$(mktemp -d)" + mkdir -p "$out" + + # -P -> resolve all normal deps + # -M:alias -> resolve extra-deps of the listed aliases + clj -Sdeps "{:mvn/local-repo \"$out\"}" -P -M:dev:cljs + + runHook postBuild + ''; + + # copied from buildMavenPackage + # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside + installPhase = '' + runHook preInstall + + find $out -type f \( \ + -name \*.lastUpdated \ + -o -name resolver-status.properties \ + -o -name _remote.repositories \) \ + -delete + + runHook postInstall + ''; + + dontFixup = true; + + outputHash = "sha256-ytS7JiQUC7U0vxuQddxQfDnm0Pt4stkRBfiIlbOpeTk="; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + }; + + clojureWithCache = writeShellScriptBin "clojure" '' + exec ${lib.getExe' clojure "clojure"} -Sdeps '{:mvn/local-repo "${finalAttrs.passthru.mavenRepo}"}' "$@" + ''; + }; + + buildPhase = '' + runHook preBuild + + # electronDist needs to be modifiable + cp -r ${electron.dist} electron-dist + chmod -R u+w electron-dist + '' + # Electron builder complains about symlink in electron-dist + + lib.optionalString stdenv.hostPlatform.isLinux '' + rm electron-dist/libvulkan.so.1 + cp ${lib.getLib vulkan-loader}/lib/libvulkan.so.1 electron-dist + '' + + '' + npm run build + npm exec electron-builder -- --dir \ + -c.electronDist=electron-dist \ + -c.electronVersion=${electron.version} + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + ${ + if stdenv.hostPlatform.isDarwin then + # bash + '' + mkdir -p $out/Applications + cp -r "dist/mac"*"/Repath Studio.app" "$out/Applications" + makeWrapper "$out/Applications/Repath Studio.app/Contents/MacOS/Repath Studio" "$out/bin/repath-studio" + '' + else + # bash + '' + mkdir -p $out/share/{repath-studio,icons/hicolor/scalable/apps} + cp -r dist/*-unpacked/resources/app.asar $out/share/repath-studio + cp resources/public/img/icon.svg $out/share/icons/hicolor/scalable/apps/repath-studio.svg + + makeWrapper '${lib.getExe electron}' "$out/bin/repath-studio" \ + --add-flags "$out/share/repath-studio/app.asar" \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \ + --set-default ELECTRON_FORCE_IS_PACKAGED 1 \ + --inherit-argv0 + '' + } + + runHook postInstall + ''; + + # chromium package not available for darwin + doCheck = stdenv.hostPlatform.isLinux; + checkPhase = '' + runHook preCheck + export ELECTRON_OVERRIDE_DIST_PATH=electron-dist/ + export PUPPETEER_EXECUTABLE_PATH=${chromium}/bin/chromium + export CHROME_BIN=${chromium}/bin/chromium + npm run test + unset ELECTRON_OVERRIDE_DIST_PATH + runHook postCheck + ''; + + desktopItems = [ + (makeDesktopItem { + name = "Repath Studio"; + desktopName = "Repath Studio"; + exec = "repath-studio %U"; + type = "Application"; + terminal = false; + icon = "repath-studio"; + comment = "Vector graphics editor, that combines procedural tooling with traditional design workflows"; + categories = [ "Graphics" ]; + }) + ]; + + passthru.updateScript = ./update.sh; + + meta = { + changelog = "https://github.com/repath-studio/repath-studio/blob/v${finalAttrs.src.rev}/CHANGELOG.md"; + description = "Cross-platform vector graphics editor, that combines procedural tooling with traditional design workflows"; + homepage = "https://repath.studio"; + downloadPage = "https://github.com/repath-studio/repath-studio"; + license = lib.licenses.agpl3Only; + mainProgram = "repath-studio"; + maintainers = with lib.maintainers; [ phanirithvij ]; + teams = with lib.teams; [ ngi ]; + platforms = electron.meta.platforms; + }; +}) diff --git a/pkgs/by-name/re/repath-studio/pin-clojure.patch b/pkgs/by-name/re/repath-studio/pin-clojure.patch new file mode 100644 index 000000000000..48bd3d161bd7 --- /dev/null +++ b/pkgs/by-name/re/repath-studio/pin-clojure.patch @@ -0,0 +1,12 @@ +diff --git a/deps.edn b/deps.edn +index 195de4e..02098e5 100644 +--- a/deps.edn ++++ b/deps.edn +@@ -1,5 +1,6 @@ + {:paths ["src"] +- :deps {binaryage/devtools {:mvn/version "1.0.7"} ++ :deps {org.clojure/clojure {:mvn/version "1.12.4"} ++ binaryage/devtools {:mvn/version "1.0.7"} + camel-snake-kebab/camel-snake-kebab {:mvn/version "0.4.3"} + clj-kdtree/clj-kdtree {:git/url "https://github.com/abscondment/clj-kdtree.git" + :sha "5ec321c5e8006db00fa8b45a8ed9eb0b8f3dd56d" diff --git a/pkgs/by-name/re/repath-studio/update.sh b/pkgs/by-name/re/repath-studio/update.sh new file mode 100755 index 000000000000..52a9d297137e --- /dev/null +++ b/pkgs/by-name/re/repath-studio/update.sh @@ -0,0 +1,112 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl jq nix-update gitMinimal diffutils gnused + +set -x +set -eou pipefail + +# check for updates +token_args="" +if [[ -n "${GITHUB_TOKEN:-}" ]]; then + token_args="-H \"Authorization: Bearer $GITHUB_TOKEN\"" +fi + +latest_tag=$(curl ${token_args} -sL "https://api.github.com/repos/repath-studio/repath-studio/releases/latest" | jq -r '.tag_name') +version="${latest_tag#v}" + +set +ue +if [[ "${UPDATE_NIX_OLD_VERSION:-}" == "$version" ]]; then + echo "Already up-to-date, version: $version" + exit 0 +fi +set -ue + +NIXPKGS_PATH="$(git rev-parse --show-toplevel)" +PACKAGE_DIR="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" + +PACKAGE_FILE="$PACKAGE_DIR/package.nix" +PATCH_GIT_FILE="$PACKAGE_DIR/hardcode-git-paths.patch" +PATCH_CLJ_FILE="$PACKAGE_DIR/pin-clojure.patch" + +pushd $NIXPKGS_PATH +nix-update --version="$version" repath-studio +popd + +TMPDIR="$(mktemp -d)" +trap 'rm -rf "$TMPDIR"' EXIT +pushd "$TMPDIR" + +src="$(nix-build --no-link "$NIXPKGS_PATH" -A repath-studio.src)" +cp "$src/deps.edn" deps.edn + +# pin clojure from the upstream's pinned version +workflow_file="$src/.github/workflows/desktop-app.yml" +clj_version="$( + grep -A 10 "uses:.*setup-clojure" "$workflow_file" | + grep "cli:" | + head -n1 | + sed -E 's/.*cli:\s+([0-9]+\.[0-9]+\.[0-9]+).*/\1/' +)" + +if [[ -z "$clj_version" ]]; then + echo "Error: Could not parse clojure version from $workflow_file" >&2 + exit 1 +fi + +mkdir -p a b +cp deps.edn a/deps.edn +cp deps.edn b/deps.edn + +# insert clojure dep at start of :deps map +sed -i "0,/:deps {/s|:deps {|:deps {org.clojure/clojure {:mvn/version \"$clj_version\"}\n |" b/deps.edn +git diff --no-index --no-prefix a/deps.edn b/deps.edn >"$PATCH_CLJ_FILE" || true + +rm -rf a b + +# patches a dependency to be prefetched by nix +# clojure otherwise tries to fetch it at buildtime + +# extract sha from clean deps.edn +clj_sha=$(grep -A 2 "clj-kdtree/clj-kdtree" deps.edn | grep -oP ':sha "\K[^"]+') + +if [[ -z "$clj_sha" ]]; then + echo "Error: Could not extract clj-kdtree SHA from deps.edn" >&2 + exit 1 +fi + +clj_hash=$(nix-prefetch-url --unpack "https://github.com/abscondment/clj-kdtree/archive/$clj_sha.tar.gz" --type sha256) +clj_hash=$(nix hash convert --hash-algo sha256 --from nix32 "$clj_hash") + +sed -i "/owner = \"abscondment\"/,/hash =/ s/rev = \".*\"/rev = \"$clj_sha\"/" "$PACKAGE_FILE" +sed -i "/owner = \"abscondment\"/,/hash =/ s|hash = \".*\"|hash = \"$clj_hash\"|" "$PACKAGE_FILE" + +mkdir -p a b +cp deps.edn a/deps.edn +cp deps.edn b/deps.edn + +sed -i '/clj-kdtree\/clj-kdtree/,/:sha/c\ clj-kdtree/clj-kdtree {:local/root "@clj-kdtree_src@"' b/deps.edn +git diff --no-index --no-prefix a/deps.edn b/deps.edn >"$PATCH_GIT_FILE" || true + +rm -rf a b +popd + +# maven deps + +dummy_hash="sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" +sed -i "s|outputHash = \".*\";|outputHash = \"$dummy_hash\";|" "$PACKAGE_FILE" + +# expect failure to get new hash +set +e +new_mvn_hash="$( + nix-build --no-link -A repath-studio.passthru.mavenRepo "$NIXPKGS_PATH" 2>&1 >/dev/null | + grep "got:" | cut -d':' -f2 | sed 's| ||g' +)" +set -e + +if [[ -z "$new_mvn_hash" ]]; then + echo "Failed to get new maven hash." >&2 + exit 1 +fi + +sed -i "s|\"$dummy_hash\"|\"$new_mvn_hash\"|g" "$PACKAGE_FILE" + +echo "Update to $version complete." diff --git a/pkgs/by-name/ro/rover/package.nix b/pkgs/by-name/ro/rover/package.nix index 69119bb27054..700f24099162 100644 --- a/pkgs/by-name/ro/rover/package.nix +++ b/pkgs/by-name/ro/rover/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "rover"; - version = "0.37.0"; + version = "0.37.2"; src = fetchFromGitHub { owner = "apollographql"; repo = "rover"; tag = "v${finalAttrs.version}"; - hash = "sha256-r/uVaj1+J8wQhc/mTCr9RaMMzEIXdJoRU5iX7/eYZMA="; + hash = "sha256-0lzMrec9rJENKTMofDKAXH7b7kK2ElHplNtlf9/nqkQ="; }; - cargoHash = "sha256-Z9B9DKu6t78Xd75EAKXfB+nr1Au4ylYkZojiENxSykQ="; + cargoHash = "sha256-nMb0kwtzYmfOB+Ub8vXK39wp3vAe5HNFb9k579We26c="; buildInputs = [ openssl diff --git a/pkgs/by-name/ru/rumdl/package.nix b/pkgs/by-name/ru/rumdl/package.nix index c6c67f4d76b6..3d6ba16a0ae3 100644 --- a/pkgs/by-name/ru/rumdl/package.nix +++ b/pkgs/by-name/ru/rumdl/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "rumdl"; - version = "0.1.8"; + version = "0.1.10"; src = fetchFromGitHub { owner = "rvben"; repo = "rumdl"; tag = "v${finalAttrs.version}"; - hash = "sha256-W6+4InVhfROlH0IwtmPanxc0OAl4rooiuz8lKAFRRoI="; + hash = "sha256-i2ok4/cel/BDD6evQO1yqewirGD79jsLLTCg2aA3FAg="; }; - cargoHash = "sha256-ATODqtHCNEZcYm2CdvrHz8L1c+AcKfXkUGhVbUyW9Wg="; + cargoHash = "sha256-cz+hUSMzM0TIqOFHCLcQrJNkOi9sbqIMM9BQdXhU89E="; cargoBuildFlags = [ "--bin=rumdl" diff --git a/pkgs/by-name/se/segger-ozone/package.nix b/pkgs/by-name/se/segger-ozone/package.nix index fe78af186c6d..40417d0004a7 100644 --- a/pkgs/by-name/se/segger-ozone/package.nix +++ b/pkgs/by-name/se/segger-ozone/package.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "segger-ozone"; - version = "3.40b"; + version = "3.40e"; src = fetchurl { url = "https://www.segger.com/downloads/jlink/Ozone_Linux_V${ lib.replaceString "." "" finalAttrs.version }_x86_64.tgz"; - hash = "sha256-5T/DSG43IaYEfjSI1KcL/+KBVkHdAapgS8H0Oln2Vrk="; + hash = "sha256-UX7ZGWVtVphBMcQ0R0iiNYaDfSjYXjSpK9YMBHw2Pss="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/sk/skim/package.nix b/pkgs/by-name/sk/skim/package.nix index fda052e974da..0ef195115394 100644 --- a/pkgs/by-name/sk/skim/package.nix +++ b/pkgs/by-name/sk/skim/package.nix @@ -1,6 +1,6 @@ { lib, - stdenv, + tmux, fetchFromGitHub, installShellFiles, nix-update-script, @@ -9,10 +9,9 @@ skim, testers, }: - -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "skim"; - version = "0.20.5"; + version = "2.0.1"; outputs = [ "out" @@ -23,17 +22,21 @@ rustPlatform.buildRustPackage rec { src = fetchFromGitHub { owner = "skim-rs"; repo = "skim"; - tag = "v${version}"; - hash = "sha256-BX0WW7dNpNLwxlclFCxj0QnrQ58lchKiEnmethzceqk="; + tag = "v${finalAttrs.version}"; + hash = "sha256-MQV7Fcbna6x4t3NFFn8m/EHvOM1CrPpfdwUJGQz09LU="; }; postPatch = '' sed -i -e "s|expand(':h:h')|'$out'|" plugin/skim.vim ''; - cargoHash = "sha256-t2hkWTb/GhesNCWe2/YunZFo26xcXMjoNCiaKaFLOBk="; + cargoHash = "sha256-BlY1idYk6LpVI40dLdH0Sn49ZChbecp6KhwWORgKP3k="; nativeBuildInputs = [ installShellFiles ]; + nativeCheckInputs = [ tmux ]; + + # frizbee requires nightly features + env.RUSTC_BOOTSTRAP = 1; postBuild = '' cat <