summary refs log tree commit diff
path: root/pkgs/servers/openafs/1.8/module.nix
diff options
context:
space:
mode:
authorAnders Kaseorg <andersk@mit.edu>2022-04-06 19:38:27 -0700
committerAnders Kaseorg <andersk@mit.edu>2022-04-10 23:49:13 -0700
commitdddadac600be177b35dbffd5ebbe3bc99b86b02c (patch)
tree155adaa1ee154bb85b337622f225399bc9508a90 /pkgs/servers/openafs/1.8/module.nix
parentfd364d268852561223a5ada15caad669fd72800e (diff)
downloadnixpkgs-dddadac600be177b35dbffd5ebbe3bc99b86b02c.tar
nixpkgs-dddadac600be177b35dbffd5ebbe3bc99b86b02c.tar.gz
nixpkgs-dddadac600be177b35dbffd5ebbe3bc99b86b02c.tar.bz2
nixpkgs-dddadac600be177b35dbffd5ebbe3bc99b86b02c.tar.lz
nixpkgs-dddadac600be177b35dbffd5ebbe3bc99b86b02c.tar.xz
nixpkgs-dddadac600be177b35dbffd5ebbe3bc99b86b02c.tar.zst
nixpkgs-dddadac600be177b35dbffd5ebbe3bc99b86b02c.zip
openafs: Patch for Linux kernel 5.17
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Diffstat (limited to 'pkgs/servers/openafs/1.8/module.nix')
-rw-r--r--pkgs/servers/openafs/1.8/module.nix35
1 files changed, 34 insertions, 1 deletions
diff --git a/pkgs/servers/openafs/1.8/module.nix b/pkgs/servers/openafs/1.8/module.nix
index 81ff0d6b7ad..c8be2eec27a 100644
--- a/pkgs/servers/openafs/1.8/module.nix
+++ b/pkgs/servers/openafs/1.8/module.nix
@@ -11,6 +11,7 @@
 , perl
 , libtool_2
 , libkrb5
+, fetchpatch
 }:
 
 with (import ./srcs.nix {
@@ -21,6 +22,10 @@ let
   modDestDir = "$out/lib/modules/${kernel.modDirVersion}/extra/openafs";
   kernelBuildDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
 
+  fetchBase64Patch = args: (fetchpatch args).overrideAttrs (o: {
+    postFetch = "mv $out p; base64 -d p > $out; " + o.postFetch;
+  });
+
 in
 stdenv.mkDerivation {
   pname = "openafs";
@@ -32,6 +37,34 @@ stdenv.mkDerivation {
 
   buildInputs = [ libkrb5 ];
 
+  patches = [
+    # Add autoconf-archive to src/external
+    (fetchBase64Patch {
+      url = "https://gerrit.openafs.org/changes/14942/revisions/006616bd8e88b2d386a5ddc23973cf3e625cb80d/patch";
+      hash = "sha256-55sc2sKy5XkQHAv6ysVxi69+0xVsHnN2TS144UTeLHU=";
+    })
+    # Import of code from autoconf-archive
+    (fetchBase64Patch {
+      url = "https://gerrit.openafs.org/changes/14943/revisions/d3782b1d4e6fd81c5432e95112eb44305f07f272/patch";
+      hash = "sha256-ohkjSux+S3+6slh6uZIw5UJXlvhy9UUDpDlP0YFRwmw=";
+    })
+    # Use autoconf-archive m4 from src/external
+    (fetchBase64Patch {
+      url = "https://gerrit.openafs.org/changes/14944/revisions/ea2a0e128d71802f61b8da2e44de3c6325c5f328/patch";
+      hash = "sha256-PAUk/MXL5p8xwhn40/UGmo3UIhvl1PB2FwgqhmqsjJ4=";
+    })
+    # Linux-5.17: kernel func complete_and_exit renamed
+    (fetchBase64Patch {
+      url = "https://gerrit.openafs.org/changes/14945/revisions/a714e865efe41aa1112f6f9c8479112660dacd6f/patch";
+      hash = "sha256-zvyR/GOPJeAbG6ySRRMp44oT5tPujUwybyU0XR/5Xyc=";
+    })
+    # Linux-5.17: Kernel build uses -Wcast-function-type
+    (fetchBase64Patch {
+      url = "https://gerrit.openafs.org/changes/14946/revisions/449d1faf87e2841e80be38cf2b4a5cf5ff4df2d8/patch";
+      hash = "sha256-3bRTHYeMRIleLhob56m2Xt0dWzIMDo3QrytY0K1/q7c=";
+    })
+  ];
+
   hardeningDisable = [ "pic" ];
 
   configureFlags = [
@@ -70,6 +103,6 @@ stdenv.mkDerivation {
     license = licenses.ipl10;
     platforms = platforms.linux;
     maintainers = with maintainers; [ maggesi spacefrogg ];
-    broken = kernel.kernelAtLeast "5.17" || kernel.isHardened;
+    broken = kernel.isHardened;
   };
 }