diff --git a/pkgs/os-specific/linux/shufflecake/default.nix b/pkgs/os-specific/linux/shufflecake/default.nix index 6871364183b5..c087b0c55382 100644 --- a/pkgs/os-specific/linux/shufflecake/default.nix +++ b/pkgs/os-specific/linux/shufflecake/default.nix @@ -9,13 +9,14 @@ }: stdenv.mkDerivation (finalAttrs: { name = "shufflecake"; - version = "0.5.2"; + version = "0.5.5"; + src = fetchFromGitea { domain = "codeberg.org"; owner = "shufflecake"; repo = "shufflecake-c"; rev = "v${finalAttrs.version}"; - hash = "sha256-EF9VKaqcNJt3hd/CUT+QeW17tc5ByStDanGGwi4uL4s="; + hash = "sha256-xVuI7tRARPFuETCCKYt507WpvZVZLaj9dhBkhJ03zc8="; }; nativeBuildInputs = kernel.moduleBuildDependencies; @@ -23,12 +24,16 @@ stdenv.mkDerivation (finalAttrs: { libgcrypt lvm2 ]; - makeFlags = kernelModuleMakeFlags ++ [ - "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - ]; - - # GCC 14 makes this an error by default, remove when fixed upstream - env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + makeFlags = + kernelModuleMakeFlags + ++ [ + "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ] + # Use wrapped gcc compiler since the unwrapped one fails to find the + # headers. + ++ lib.optionals stdenv.cc.isGNU [ + "CC=${stdenv.cc.targetPrefix}cc" + ]; outputs = [ "out" @@ -40,13 +45,13 @@ stdenv.mkDerivation (finalAttrs: { install -Dm555 shufflecake $bin/shufflecake ''; - meta = with lib; { + meta = { description = "Plausible deniability (hidden storage) layer for Linux"; homepage = "https://shufflecake.net"; - license = licenses.gpl2Only; - maintainers = with maintainers; [ oluceps ]; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ oluceps ]; outputsToInstall = [ "bin" ]; - platforms = platforms.linux; + platforms = lib.platforms.linux; broken = kernel.kernelOlder "6.1" || kernel.meta.name == "linux-lqx-6.12.1"; }; })