From 8af813b109d5449f816a438b9e1e0a5b23a5a6e9 Mon Sep 17 00:00:00 2001 From: Grimmauld Date: Wed, 18 Jun 2025 17:49:49 +0200 Subject: [PATCH 1/2] fuse3: don't check udev rules on musl to avoid infinite recursion --- pkgs/os-specific/linux/fuse/common.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/fuse/common.nix b/pkgs/os-specific/linux/fuse/common.nix index 617a86debe01..5a98a21e46c8 100644 --- a/pkgs/os-specific/linux/fuse/common.nix +++ b/pkgs/os-specific/linux/fuse/common.nix @@ -61,8 +61,8 @@ stdenv.mkDerivation rec { meson ninja pkg-config - udevCheckHook ] + ++ lib.optionals (!stdenv.hostPlatform.isMusl) [ udevCheckHook ] # inf rec on musl, so skip else [ autoreconfHook From eeee1ff9877e5c91c0d17f83a8acfc9716ee5036 Mon Sep 17 00:00:00 2001 From: Grimmauld Date: Wed, 18 Jun 2025 18:13:37 +0200 Subject: [PATCH 2/2] fuse3: Disable failing example builds on musl --- pkgs/os-specific/linux/fuse/common.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/fuse/common.nix b/pkgs/os-specific/linux/fuse/common.nix index 5a98a21e46c8..7b8bb3b4d631 100644 --- a/pkgs/os-specific/linux/fuse/common.nix +++ b/pkgs/os-specific/linux/fuse/common.nix @@ -76,11 +76,17 @@ stdenv.mkDerivation rec { "man" ] ++ lib.optional isFuse3 "udev"; - mesonFlags = lib.optionals isFuse3 [ - "-Dudevrulesdir=/udev/rules.d" - "-Duseroot=false" - "-Dinitscriptdir=" - ]; + mesonFlags = lib.optionals isFuse3 ( + [ + "-Dudevrulesdir=/udev/rules.d" + "-Duseroot=false" + "-Dinitscriptdir=" + ] + # examples fail to build on musl + # error: ‘RENAME_NOREPLACE’ was not declared in this scope + # lib.optionals instead of lib.mesonBool to avoid rebuilds + ++ lib.optionals (stdenv.hostPlatform.isMusl) [ "-Dexamples=false" ] + ); # Ensure that FUSE calls the setuid wrapper, not # $out/bin/fusermount. It falls back to calling fusermount in