Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2026-02-02 18:12:50 +00:00
committed by GitHub
83 changed files with 1107 additions and 1741 deletions
+5
View File
@@ -11047,6 +11047,11 @@
githubId = 207392575;
name = "Isaac Kabel";
};
ikci = {
github = "ikcii";
githubId = 48479629;
name = "ikci";
};
ikervagyok = {
email = "ikervagyok@gmail.com";
github = "ikervagyok";
+10
View File
@@ -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
@@ -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"
+30 -14
View File
@@ -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 = {
+1
View File
@@ -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 = {
+7 -2
View File
@@ -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 &")
+34 -22
View File
@@ -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")
'';
}
+7 -5
View File
@@ -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")
'';
}
+7 -1
View File
@@ -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 ];
};
@@ -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.
@@ -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) {
@@ -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<Option<bool>> {
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<Option<()>> {
let conversion_function = match rgb_to_yuv_conversion_function(rgb, image) {
Some(conversion_function) => conversion_function,
@@ -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=";
};
+80
View File
@@ -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
];
};
})
@@ -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 <<EOF
@@ -81,22 +73,12 @@ install() {
echo '[+] Installing Audio Source'
- adb install -rtg "$AUDIOSOURCE_APK" || {
+ adb install -r -t -g "$AUDIOSOURCE_APK" || {
adb uninstall fr.dzx.audiosource
- adb install -tg "$AUDIOSOURCE_APK"
+ adb install -t -g "$AUDIOSOURCE_APK"
}
}
-_release() {
- AUDIOSOURCE_PROFILE=release
- AUDIOSOURCE_APK=app/build/outputs/apk/release/app-release.apk
-
- build
-
- cp -a "$AUDIOSOURCE_APK" audiosource.apk
- sha256sum audiosource.apk > 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-<serial-hash>)
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" "$@"
;;
*)
+3 -3
View File
@@ -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;
+3 -3
View File
@@ -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 = [
@@ -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}"
+56
View File
@@ -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 ];
};
})
@@ -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 ];
};
})
@@ -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 ];
};
})
+29 -10
View File
@@ -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 ];
};
})
+2 -2
View File
@@ -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 = [
+3 -3
View File
@@ -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;
+3 -3
View File
@@ -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 ];
+2 -2
View File
@@ -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 = ''
@@ -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 ];
+2 -2
View File
@@ -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 = [
+2 -2
View File
@@ -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 = [
+2 -2
View File
@@ -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 {
+2 -2
View File
@@ -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" ''
@@ -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
+2 -2
View File
@@ -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=";
+2 -2
View File
@@ -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;
+2 -2
View File
@@ -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 ];
+11 -8
View File
@@ -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
'';
+3 -3
View File
@@ -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 ];
@@ -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;
};
})
+3 -3
View File
@@ -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 ];
-2
View File
@@ -7,7 +7,6 @@
buildGoModule,
buildPackages,
gpgme,
lvm2,
btrfs-progs,
libapparmor,
libseccomp,
@@ -83,7 +82,6 @@ buildGoModule (finalAttrs: {
libapparmor
libseccomp
libselinux
lvm2
systemd
];
+4 -1
View File
@@ -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: {
+3 -3
View File
@@ -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 ];
@@ -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"}
+205
View File
@@ -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;
};
})
@@ -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"
+112
View File
@@ -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."
+3 -3
View File
@@ -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
+3 -3
View File
@@ -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"
+2 -2
View File
@@ -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 = [
+42 -12
View File
@@ -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('<sfile>: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 <<SCRIPT > sk-share
@@ -58,9 +61,36 @@ rustPlatform.buildRustPackage rec {
--zsh shell/completion.zsh
'';
# Doc tests are broken on aarch64
# https://github.com/lotabout/skim/issues/440
cargoTestFlags = lib.optional stdenv.hostPlatform.isAarch64 "--all-targets";
useNextest = true;
checkPhase =
let
skippedTests = [
# Assertion Error: Insta: Code output doesn't match the expected snapshot
"opt_replstr"
"opt_with_nth_preview"
"preview_offset_expr"
"preview_navigation"
"preview_offset_fixed"
"preview_nul_char"
"preview_nowrap"
"preview_offset_fixed_and_expr"
"preview_plus"
"preview_preserve_quotes"
"preview_pty_linux"
"preview_wrap"
"preview_window_down"
"preview_window_left"
"preview_window_up"
];
filterExpr =
"not ("
+ (builtins.concatStringsSep " or " (map (testName: "test(${testName})") skippedTests))
+ ")";
in
''
cargo nextest run --features test-utils --release --offline -E '${filterExpr}'
'';
passthru = {
tests.version = testers.testVersion { package = skim; };
@@ -70,7 +100,7 @@ rustPlatform.buildRustPackage rec {
meta = {
description = "Command-line fuzzy finder written in Rust";
homepage = "https://github.com/skim-rs/skim";
changelog = "https://github.com/skim-rs/skim/releases/tag/v${version}";
changelog = "https://github.com/skim-rs/skim/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
dywedir
@@ -79,4 +109,4 @@ rustPlatform.buildRustPackage rec {
];
mainProgram = "sk";
};
}
})
+3 -3
View File
@@ -12,16 +12,16 @@ let
in
php.buildComposerProject2 (finalAttrs: {
pname = "snipe-it";
version = "8.3.6";
version = "8.3.7";
src = fetchFromGitHub {
owner = "grokability";
repo = "snipe-it";
tag = "v${finalAttrs.version}";
hash = "sha256-hqJUhjL4k6fC5ed8pFOb3Ym0CmelfVZYWqmMuTjHN/U=";
hash = "sha256-NqQqpgSrYimZximHdAZw1ul2wQloZvEiMpQ9R6Uko3k=";
};
vendorHash = "sha256-6ryHXXWtih/eHSQk36NSf4UjZZfUH+zjnyZoLnLNqHU=";
vendorHash = "sha256-0psoi/aX6ReJuiEoQMj0EmVNhDM76nlQYxsb4paPSdE=";
postInstall = ''
snipe_it_out="$out/share/php/snipe-it"
+4 -3
View File
@@ -24,16 +24,16 @@
buildGoModule rec {
pname = "supersonic" + lib.optionalString waylandSupport "-wayland";
version = "0.20.0";
version = "0.20.1";
src = fetchFromGitHub {
owner = "dweymouth";
repo = "supersonic";
tag = "v${version}";
hash = "sha256-/zHqD5e3ZmLoaY3/KJSBtQpF0fzAr2kG1FSauzSduvo=";
hash = "sha256-q9g59TVo8Y7cKdSnyrsTQEIpB+f/+pcaobBFynnAgwY=";
};
vendorHash = "sha256-hDE0ZKZLAUgztLqxMHtTj8AU0sIAX26bi7eCb2JFo3Q=";
vendorHash = "sha256-x8eq1ZGitBoq+N1QOIYLZRLIta3gbfpn2xZsqkj4cGo=";
nativeBuildInputs = [
copyDesktopItems
@@ -104,6 +104,7 @@ buildGoModule rec {
maintainers = with lib.maintainers; [
zane
sochotnicky
toasteruwu
];
};
}
+2 -2
View File
@@ -17,13 +17,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "switchfin";
version = "0.8.2";
version = "0.8.3";
src = fetchFromGitHub {
owner = "dragonflylee";
repo = "switchfin";
rev = finalAttrs.version;
hash = "sha256-D41joed/ZjZLSNjQC9WVWrPOi8v/RHopf0MQrbmGyeg=";
hash = "sha256-EXYsx8y9tMOkuARe/ffon1IXicmwvZxByuze0wKeMh0=";
fetchSubmodules = true;
};
+1 -1
View File
@@ -7,7 +7,7 @@
python3Packages,
}:
python3Packages.buildPythonApplication rec {
name = "tiddit";
pname = "tiddit";
version = "3.6.1";
pyproject = true;
+1 -1
View File
@@ -47,7 +47,7 @@ in
python3.pkgs.buildPythonApplication {
inherit version src;
name = "tribler";
pname = "tribler";
pyproject = true;
build-system = with python3.pkgs; [
+3 -3
View File
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "ttdl";
version = "4.19.1";
version = "4.21.0";
src = fetchFromGitHub {
owner = "VladimirMarkelov";
repo = "ttdl";
rev = "v${version}";
sha256 = "sha256-7BynMgcIhxKpKJ9NfWDxYj3G8/Zu9ZYV0pAG9tBOCtM=";
sha256 = "sha256-nRb3GHE+PTEkJ9WaMC6oCHlfLwLPzwfmOC3cEy2gCJY=";
};
cargoHash = "sha256-qz9xkdw2+pdBts+onVUjtsoFIzG1uNVErsVNOznrP0E=";
cargoHash = "sha256-fN396X7RVgmO/akzDCOkylnFvzfabR+gHBUAggo4IwY=";
meta = {
description = "CLI tool to manage todo lists in todo.txt format";
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "uniex";
version = "0.1.19";
version = "0.1.28";
src = fetchFromGitHub {
owner = "paepckehh";
repo = "uniex";
tag = "v${version}";
hash = "sha256-6a/jVTDur0h1n+YtbaaZLyhgi1RDJDTTDLJrknHFUxY=";
hash = "sha256-9/B6SVPvHT7l8Y5rY7ax09B30ra3doCUDCtTZUgwcZo=";
};
vendorHash = "sha256-s/oWtYziUtSKDQmvDxWznqynlKmWxwt5jAAT5xl+gqo=";
vendorHash = "sha256-YZ4WbKSa3hFVqIkZGye0UN5WSezPuAPdNdcA5opaWi4=";
ldflags = [
"-s"
+6 -6
View File
@@ -6,7 +6,7 @@
stdenv.mkDerivation rec {
pname = "vault-bin";
version = "1.21.1";
version = "1.21.2";
src =
let
@@ -20,11 +20,11 @@ stdenv.mkDerivation rec {
aarch64-darwin = "darwin_arm64";
};
hash = selectSystem {
x86_64-linux = "sha256-k+dHuEXjaWDz5TMf0HLdVD0MbvA2Z9+/wSkUp5Yc8rc=";
aarch64-linux = "sha256-Ss07jlpVXeWyanXqTZK7uxmI6IYcuEfNKkw8t3oqM+o=";
i686-linux = "sha256-hfYJmYHna4LucvMIn/6lf1R2DabISF9TqBYlIcjkrxc=";
x86_64-darwin = "sha256-8FwwDMuer0TRobS0+/yECZfWydnt7AYOzpv2gIPLEuI=";
aarch64-darwin = "sha256-3K3TI2CzDqxxEC5jYFLejMDB08SzxScbqmIjjvU7kYQ=";
x86_64-linux = "sha256-nnxORNS+/pII7eB8yOLlZ/XO1bwZavXnlbWW/j367Fs=";
aarch64-linux = "sha256-VmJL/wvxDt04SpogYtfg2xRznc4X+uDXAwniv9CITk0=";
i686-linux = "sha256-TLSYncDPUWOIkDz8eVNnE66E6YF3b7gmikFDCM6E6AQ=";
x86_64-darwin = "sha256-JLIG5GJCWCgHgXJ6BgnMGiDX5C0HqFvmnyVQVMDRd1c=";
aarch64-darwin = "sha256-gcKDVW/+jMcv1+J4GtPmSsVYJE53ScJxzFzGURsOxCY=";
};
in
fetchzip {
+2 -2
View File
@@ -13,13 +13,13 @@
buildGoModule (finalAttrs: {
pname = "VictoriaMetrics";
version = "1.134.0";
version = "1.135.0";
src = fetchFromGitHub {
owner = "VictoriaMetrics";
repo = "VictoriaMetrics";
tag = "v${finalAttrs.version}";
hash = "sha256-66iiAxm9vtBgDeZQ6g5B6uGTkv4k0nX3uTUEV6UwmWE=";
hash = "sha256-sQjha7ZVR/hFllN+vWd58eVjLR70axtKqOYu4SelwQM=";
};
vendorHash = null;
@@ -1,6 +1,5 @@
{
lib,
stdenv,
fetchFromGitHub,
llvmPackages_19,
boost,
@@ -21,8 +20,9 @@ let
#
# > Where `.#` is the flake path were the repo `wasmedge` was cloned at the expected version.
llvmPackages = llvmPackages_19;
stdenv = llvmPackages.stdenv;
in
llvmPackages.stdenv.mkDerivation (finalAttrs: {
stdenv.mkDerivation (finalAttrs: {
pname = "wasmedge";
version = "0.16.1";
+2 -2
View File
@@ -19,11 +19,11 @@
stdenv.mkDerivation rec {
pname = "x42-plugins";
version = "20251025";
version = "20260125";
src = fetchurl {
url = "https://gareus.org/misc/x42-plugins/${pname}-${version}.tar.xz";
hash = "sha256-ZY9KGtkLqjdUVo2BCOO/gnVo+19Ewx2gkj1zsWKxUS8=";
hash = "sha256-wcIShcFc91BVZQ1rz55+AN+7R5b0fClOzT1thXSz1ug=";
};
nativeBuildInputs = [ pkg-config ];
+3 -3
View File
@@ -19,14 +19,14 @@
}:
llvmPackages_20.stdenv.mkDerivation {
pname = "xenia-canary";
version = "0-unstable-2026-01-25";
version = "0-unstable-2026-02-02";
src = fetchFromGitHub {
owner = "xenia-canary";
repo = "xenia-canary";
fetchSubmodules = true;
rev = "67d80958c9d1ff926b9098be7f830c1937921d9a";
hash = "sha256-gKw85Lm31vEJSDurh9CaqYQhuQyAZ/Ey5ineGnVijxQ=";
rev = "60ffc2e83f901bcce4ccb9b9fdd86f5fe8c1bc6b";
hash = "sha256-2mUS3mAXaKnE7FWk+hcn1SiQZnjOaQFKi/A6l57qMI0=";
};
dontConfigure = true;
+3 -3
View File
@@ -14,18 +14,18 @@
stdenv.mkDerivation (finalAttrs: {
pname = "your_spotify_server";
version = "1.15.0";
version = "1.16.0";
src = fetchFromGitHub {
owner = "Yooooomi";
repo = "your_spotify";
tag = finalAttrs.version;
hash = "sha256-i/R5tvt+9DD/ZUPLBq6EOJjuyHSv5zljTWuLwo+JBYA=";
hash = "sha256-eVKBrYE6U80G1SS/7nIl4fZb2BELb9lQizKcdcEIJIM=";
};
offlineCache = fetchYarnDeps {
yarnLock = finalAttrs.src + "/yarn.lock";
hash = "sha256-2Z5bOiPenlDTzOAMrIt73k4pi0v3SAN7HXXJDoOo8Qc=";
hash = "sha256-JP5enfy8yyMjZpp0U72S0uR5zJkhpvxog38icOBtQRQ=";
};
nativeBuildInputs = [
@@ -47,19 +47,21 @@ stdenv.mkDerivation (
stackHook
];
STACK_PLATFORM_VARIANT = "nix";
STACK_IN_NIX_SHELL = 1;
STACK_IN_NIX_EXTRA_ARGS = extraArgs;
env = {
STACK_PLATFORM_VARIANT = "nix";
STACK_IN_NIX_SHELL = 1;
STACK_IN_NIX_EXTRA_ARGS = extraArgs;
# XXX: workaround for https://ghc.haskell.org/trac/ghc/ticket/11042.
LD_LIBRARY_PATH = lib.makeLibraryPath (LD_LIBRARY_PATH ++ buildInputs);
# ^^^ Internally uses `getOutput "lib"` (equiv. to getLib)
# XXX: workaround for https://ghc.haskell.org/trac/ghc/ticket/11042.
LD_LIBRARY_PATH = lib.makeLibraryPath (LD_LIBRARY_PATH ++ buildInputs);
# ^^^ Internally uses `getOutput "lib"` (equiv. to getLib)
# Non-NixOS git needs cert
GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
# Non-NixOS git needs cert
GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
# Fixes https://github.com/commercialhaskell/stack/issues/2358 krank:ignore-line
LANG = "en_US.UTF-8";
# Fixes https://github.com/commercialhaskell/stack/issues/2358 krank:ignore-line
LANG = "en_US.UTF-8";
};
preferLocalBuild = true;
@@ -5,11 +5,13 @@
# build-system
flit-core,
pythonRelaxDepsHook,
# dependencies
jinja2,
loguru,
matplotlib,
natsort,
numpy,
orjson,
pandas,
@@ -44,24 +46,31 @@
pytest-regressions,
pytestCheckHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "gdsfactory";
version = "9.20.1";
version = "9.32.1";
pyproject = true;
src = fetchFromGitHub {
owner = "gdsfactory";
repo = "gdsfactory";
tag = "v${version}";
hash = "sha256-TpMi0Rv6sQA8uAPGl6iR1qgTU7havBlWmdz98DROoSk=";
tag = "v${finalAttrs.version}";
hash = "sha256-uXFH+6uZx+fFo1QfozI/JVomchFlnWx805CwbAj7CPQ=";
};
build-system = [ flit-core ];
build-system = [
flit-core
];
nativeBuildInputs = [
pythonRelaxDepsHook
];
dependencies = [
jinja2
loguru
matplotlib
natsort
numpy
orjson
pandas
@@ -101,6 +110,7 @@ buildPythonPackage rec {
pythonRelaxDeps = [
"pydantic"
"trimesh"
"kfactory"
];
# tests require >32GB of RAM
@@ -111,8 +121,8 @@ buildPythonPackage rec {
meta = {
description = "Python library to generate GDS layouts";
homepage = "https://github.com/gdsfactory/gdsfactory";
changelog = "https://github.com/gdsfactory/gdsfactory/blob/${src.tag}/CHANGELOG.md";
changelog = "https://github.com/gdsfactory/gdsfactory/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fbeffa ];
};
}
})
@@ -62,14 +62,14 @@ let
in
buildPythonPackage rec {
pname = "gftools";
version = "0.9.98";
version = "0.9.99";
pyproject = true;
src = fetchFromGitHub {
owner = "googlefonts";
repo = "gftools";
tag = "v${version}";
hash = "sha256-MFBY54L0reo/z0pACaTN7k8MTuUKzmsXNTOd3/UhIXs=";
hash = "sha256-40pUW18DP2oqPwQJZ38ZvBv9AKgw54eTRq77dVcwqbM=";
};
postPatch = ''
@@ -30,22 +30,22 @@
pytestCheckHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "kfactory";
version = "2.0.0";
version = "2.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "gdsfactory";
repo = "kfactory";
tag = "v${version}";
tag = "v${finalAttrs.version}";
# kfactory uses `.git` to infer the project directory.
# https://github.com/gdsfactory/kfactory/blob/v2.0.0/src/kfactory/conf.py#L318-L327
# Otherwise, tests fail with:
# assert kf.config.project_dir is not None
# E AssertionError: assert None is not None
leaveDotGit = true;
hash = "sha256-eZRNUb2Qw2HcR2W1pf15ulEt7ZCJwi60SuGdte/cG8E=";
hash = "sha256-6z2JlndmuegpCAf74YRa/qVVjFOWv1Xy3dabeWlOmbs=";
};
build-system = [
@@ -55,7 +55,9 @@ buildPythonPackage rec {
pythonRelaxDeps = [
"pydantic"
"klayout"
];
dependencies = [
aenum
cachetools
@@ -143,8 +145,8 @@ buildPythonPackage rec {
meta = {
description = "KLayout API implementation of gdsfactory";
homepage = "https://github.com/gdsfactory/kfactory";
changelog = "https://github.com/gdsfactory/kfactory/blob/${src.tag}/CHANGELOG.md";
changelog = "https://github.com/gdsfactory/kfactory/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fbeffa ];
};
}
})
@@ -22,14 +22,14 @@
buildPythonPackage rec {
pname = "lastversion";
version = "3.5.12";
version = "3.6.7";
pyproject = true;
src = fetchFromGitHub {
owner = "dvershinin";
repo = "lastversion";
tag = "v${version}";
hash = "sha256-0yq4rH5okkfbZRxIowClVSV9ihFMCnhRxqwUpMPFDyk=";
hash = "sha256-HI9HQlpzvvYl5SWZQETlPSOulx/tPfAmFJJpVxOvfPA=";
};
build-system = [ setuptools ];
@@ -126,7 +126,11 @@ buildPythonPackage (finalAttrs: {
"python/tests/"
];
disabledTests = lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64) [
disabledTests = [
# brittle memory leak test, see: https://github.com/ml-explore/mlx/pull/3088
"test_siblings_without_eval"
]
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64) [
# Segmentation fault
"test_lapack"
"test_multivariate_normal"
@@ -1,7 +1,9 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# python module stuff
buildPythonPackage,
pythonAtLeast,
setuptools,
# dependencies
cached-property,
@@ -20,7 +22,7 @@
hypothesis,
pytestCheckHook,
pytest-xdist,
eth-hash,
pycryptodome,
}:
buildPythonPackage rec {
@@ -28,6 +30,9 @@ buildPythonPackage rec {
version = "0.12.1-beta.1";
pyproject = true;
# py-evm project has been archived by upstream; its support should be deprecated from "3.14".
disabled = pythonAtLeast "3.14";
src = fetchFromGitHub {
owner = "ethereum";
repo = "py-evm";
@@ -56,8 +61,8 @@ buildPythonPackage rec {
hypothesis
pytestCheckHook
pytest-xdist
]
++ eth-hash.optional-dependencies.pycryptodome;
pycryptodome
];
disabledTests = [
# side-effect: runs pip online check and is blocked by sandbox
@@ -9,7 +9,7 @@
}:
buildPythonPackage rec {
pname = "python-sat";
version = "1.8.dev26";
version = "1.8.dev28";
pyproject = true;
build-system = [ setuptools ];
@@ -17,7 +17,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit version;
pname = "python_sat";
hash = "sha256-CXyYqvm0j9GbB8WVeGC/o6rjRvJNDquaGLGGREgIfoc=";
hash = "sha256-eFBUismC7x2+ng+8rbXxZTis/xNKSx2I/lVkCbx4dgo=";
};
preBuild = ''
@@ -61,7 +61,7 @@ let
];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
# https://www.electronjs.org/docs/latest/tutorial/electron-timelines
knownVulnerabilities = lib.optional (lib.versionOlder version "37.0.0") "Electron version ${version} is EOL";
knownVulnerabilities = lib.optional (lib.versionOlder version "38.0.0") "Electron version ${version} is EOL";
};
fetcher =
@@ -1,15 +1,4 @@
{
"36": {
"hashes": {
"aarch64-darwin": "73eb08fd541e6105d448735f2f820a7e0f63ff07e836ca05462dc2c01028e7df",
"aarch64-linux": "f7e9a3079f2276b907c39e0bad0ded08d6846274823d4371256a82e7a47fab27",
"armv7l-linux": "4ec9c4ec03f17b9cb2ac6a2eca7d2bef3e0ab3b70b73ba1a3b9a12baef350e5c",
"headers": "06na5h0bx4nbb2hv867warr19dgk7ilz0w8j4mmkxmv33x7w65bd",
"x86_64-darwin": "fce84ddaba4999b83c0501f9e4bbbf811965b76b67ad81452bc918db88c09c61",
"x86_64-linux": "52d6364aeed68116320f8cd6f7d7b6ad185da011ff212755f18c604696628616"
},
"version": "36.9.5"
},
"37": {
"hashes": {
"aarch64-darwin": "24529be1f2f87c587d06c7474607f1b57d1184b3f45d916cac33791de3a70014",
@@ -1,15 +1,4 @@
{
"36": {
"hashes": {
"aarch64-darwin": "ad47b3386cf39ed2dfc830d4806850b784a4939a9ca132055a5b1a11f8a88835",
"aarch64-linux": "9b5765533abb3efc4860ea567f4f84a2ffa904d93ea19acdc118d8d4087e82b1",
"armv7l-linux": "9ea179c3d0c74fd51cff21d9be9bb91e11fb71f33688903574e3cc939ef8cb1a",
"headers": "06na5h0bx4nbb2hv867warr19dgk7ilz0w8j4mmkxmv33x7w65bd",
"x86_64-darwin": "f61eb6e6c9259a495e872113c5e18f9b6b3a49b658a9dd1035945aadcb40cf38",
"x86_64-linux": "ea24ba5853422fd1b555087aea0be59ee8bbfa98c48d65291aaee4006ceea180"
},
"version": "36.9.5"
},
"37": {
"hashes": {
"aarch64-darwin": "aa9dda4d536fd98e2620eb39de689e441fe799869c29e53db5c2c4351f1b4aba",
@@ -92,22 +92,6 @@ in
patches =
base.patches
++ lib.optionals (lib.versionOlder info.version "38") [
# Fix build with Rust 1.89.0
# https://chromium-review.googlesource.com/c/chromium/src/+/6624733
(fetchpatch {
name = "Define-rust-no-alloc-shim-is-unstable-v2.patch";
url = "https://github.com/chromium/chromium/commit/6aae0e2353c857d98980ff677bf304288d7c58de.patch";
hash = "sha256-Dd38c/0hiH+PbGPJhhEFuW6kUR45A36XZqOVExoxlhM=";
})
# Fix build with LLVM 21+
# https://chromium-review.googlesource.com/c/chromium/src/+/6633292
(fetchpatch {
name = "Dont-return-an-enum-from-EnumSizeTraits-Count.patch";
url = "https://github.com/chromium/chromium/commit/b0ff8c3b258a8816c05bdebf472dbba719d3c491.patch";
hash = "sha256-YIWcsCj5w0jUd7D67hsuk0ljTA/IbHwA6db3eK4ggUY=";
})
]
++ lib.optionals (lib.versionOlder info.version "39") [
# Fix build with Rust 1.90.0
# https://chromium-review.googlesource.com/c/chromium/src/+/6875644
@@ -280,9 +264,6 @@ in
# other
enable_widevine = false;
override_electron_version = info.version;
}
// lib.optionalAttrs (lib.versionOlder info.version "38") {
content_enable_legacy_ipc = true;
};
installPhase = ''
File diff suppressed because it is too large Load Diff
@@ -29,6 +29,7 @@ crystal.buildCrystalPackage {
openssl
makeWrapper
];
env.LLVM_CONFIG = lib.getExe' (lib.getDev llvmPackages.llvm) "llvm-config";
doCheck = false;
doInstallCheck = false;
@@ -44,7 +45,11 @@ crystal.buildCrystalPackage {
};
postInstall = ''
wrapProgram "$out/bin/crystalline" --prefix PATH : '${lib.makeBinPath [ llvmPackages.llvm.dev ]}'
wrapProgram "$out/bin/crystalline" --prefix PATH : '${
lib.makeBinPath [
(lib.getDev llvmPackages.llvm)
]
}'
'';
meta = {
+2 -2
View File
@@ -17,13 +17,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "evdi";
version = "1.14.12";
version = "1.14.13";
src = fetchFromGitHub {
owner = "DisplayLink";
repo = "evdi";
tag = "v${finalAttrs.version}";
hash = "sha256-J5unC9KTnbwTlBMi/sCAyxD3R18vb9bHK1NPU/0NHwM=";
hash = "sha256-59Tr2l2RHOW/TMgSW0HY0l60L7mBZKmYyx/r+Y0NatQ=";
};
prePatch = ''
@@ -13,14 +13,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "tuxedo-drivers-${kernel.version}";
version = "4.18.1";
version = "4.20.1";
src = fetchFromGitLab {
group = "tuxedocomputers";
owner = "development/packages";
repo = "tuxedo-drivers";
rev = "v${finalAttrs.version}";
hash = "sha256-TkzdFVffYpVYEKImhRj6nqeVTr4yvzh//wSSRqIrPyA=";
hash = "sha256-t+Y1qYFJ9EeYtMFtBIsHzG1J4IVunpZHevYsEZNHGH0=";
};
patches = [ ./no-cp-usr.patch ];
+6 -6
View File
@@ -4,19 +4,19 @@
"version": "18.26.4"
},
"asterisk_20": {
"sha256": "277d3fbfbb9edaec70fbe9c0d977d10d23a8d945691b587793467aed23a3a39d",
"version": "20.18.0"
"sha256": "fffc04d9348676c884224d5f66201c0c88468f382b3f58c41c2e5afd4a72868f",
"version": "20.18.1"
},
"asterisk_21": {
"sha256": "ccd04f5f433dd398448858dcac68231c67cf13826f068f4321d06d45dbd999a8",
"version": "21.12.0"
},
"asterisk_22": {
"sha256": "6f9b024bc338f7c0033be5b0085bc9f95f68949a2fab7ec2e5603c1e4e8215e1",
"version": "22.8.0"
"sha256": "9a63ae4df974ab55199b0d1fbde22fec6ce7ede69929b18890ed5c928b4ad63b",
"version": "22.8.1"
},
"asterisk_23": {
"sha256": "681eecd3541dad03f752d926520cb13349bc89bd121a4ff0a5c446fc8a8d2d98",
"version": "23.2.0"
"sha256": "8d3eddea9a9d5f0239c1509a8890787ae0ef23ba07c4b3ac99e96a3ff391b47c",
"version": "23.2.1"
}
}
@@ -10,7 +10,7 @@
postgresqlBuildExtension (finalAttrs: {
pname = "pgrouting";
version = "4.0.0";
version = "4.0.1";
nativeBuildInputs = [
cmake
@@ -22,7 +22,7 @@ postgresqlBuildExtension (finalAttrs: {
owner = "pgRouting";
repo = "pgrouting";
tag = "v${finalAttrs.version}";
hash = "sha256-HtTWpOE/4UzhUou3abuTKVTZ4yTANeHLl7UB1lLaikg=";
hash = "sha256-j3dlVcENhBveVmkuzWaLfHWy73OMDpC2FxrNQ4W6m9k=";
};
meta = {
+3
View File
@@ -593,8 +593,11 @@ mapAliases {
eidolon = throw "eidolon was removed as it is unmaintained upstream."; # Added 2025-05-28
eintopf = throw "'eintopf' has been renamed to/replaced by 'lauti'"; # Converted to throw 2025-10-27
electron-chromedriver_35 = throw "electron-chromedriver_35 has been removed in favor of newer versions"; # Added 2025-11-10
electron-chromedriver_36 = throw "electron-chromedriver_36 has been removed in favor of newer versions"; # Added 2026-02-02
electron_35 = throw "electron_35 has been removed in favor of newer versions"; # Added 2025-11-06
electron_35-bin = throw "electron_35-bin has been removed in favor of newer versions"; # Added 2025-11-06
electron_36 = throw "electron_36 has been removed in favor of newer versions"; # Added 2026-02-02
electron_36-bin = throw "electron_36-bin has been removed in favor of newer versions"; # Added 2026-02-02
elementsd-simplicity = throw "'elementsd-simplicity' has been removed due to lack of maintenance, consider using 'elementsd' instead"; # Added 2025-06-04
elixir_ls = throw "'elixir_ls' has been renamed to/replaced by 'elixir-ls'"; # Converted to throw 2025-10-27
elm-github-install = throw "'elm-github-install' has been removed as it is abandoned upstream and only supports Elm 0.18.0"; # Added 2025-08-25
+1 -16
View File
@@ -3665,10 +3665,6 @@ with pkgs;
buildWasmBindgenCli = callPackage ../build-support/wasm-bindgen-cli { };
wasmedge = callPackage ../development/tools/wasmedge {
stdenv = clangStdenv;
};
woodpecker-agent = callPackage ../development/tools/continuous-integration/woodpecker/agent.nix { };
woodpecker-cli = callPackage ../development/tools/continuous-integration/woodpecker/cli.nix { };
@@ -5548,7 +5544,6 @@ with pkgs;
electron-source = callPackage ../development/tools/electron { };
inherit (callPackages ../development/tools/electron/binary { })
electron_36-bin
electron_37-bin
electron_38-bin
electron_39-bin
@@ -5556,7 +5551,6 @@ with pkgs;
;
inherit (callPackages ../development/tools/electron/chromedriver { })
electron-chromedriver_36
electron-chromedriver_37
electron-chromedriver_38
electron-chromedriver_39
@@ -5580,11 +5574,7 @@ with pkgs;
});
in
{
electron_36 = electron_36-bin;
electron_37 = getElectronPkg {
src = electron-source.electron_37;
bin = electron_37-bin;
};
electron_37 = electron_37-bin;
electron_38 = getElectronPkg {
src = electron-source.electron_38;
bin = electron_38-bin;
@@ -5599,7 +5589,6 @@ with pkgs;
};
}
)
electron_36
electron_37
electron_38
electron_39
@@ -8786,10 +8775,6 @@ with pkgs;
qremotecontrol-server = libsForQt5.callPackage ../servers/misc/qremotecontrol-server { };
rabbitmq-server = callPackage ../by-name/ra/rabbitmq-server/package.nix {
beamPackages = beam27Packages.extend (self: super: { elixir = elixir_1_18; });
};
rethinkdb = callPackage ../servers/nosql/rethinkdb {
stdenv = clangStdenv;
libtool = cctools;