From 8f7bc11e096d428c1393c882f5e07739a2b68b00 Mon Sep 17 00:00:00 2001 From: Antoine Viallon Date: Tue, 26 Dec 2023 17:54:02 +0100 Subject: [PATCH] [Boot] move kernel no-DRM patch to a sed expression --- boot.nix | 17 +++++++++++++++-- remove-kernel-drm.patch | 12 ------------ 2 files changed, 15 insertions(+), 14 deletions(-) delete mode 100644 remove-kernel-drm.patch diff --git a/boot.nix b/boot.nix index cf33b4a..1d8bb27 100644 --- a/boot.nix +++ b/boot.nix @@ -279,7 +279,21 @@ in { moddedKernelAttrs = traceValWithPrefix "moddedKernelAttrs" ( myLib.attrsets.mergeAttrsRecursive (traceValWithPrefix "aviallon.boot.kernel.addAttributes" cfg.kernel.addAttributes) optimizedKernelAttrs ); - moddedKernel = myLib.optimizations.addAttrs baseKernel moddedKernelAttrs; + + noDRMKernel = + if cfg.removeKernelDRM then + baseKernel.overrideAttrs (old: { + passthru = baseKernel.passthru; + nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gnused ]; + postPatch = (old.postPatch or "") + '' + sed -i -e 's/_EXPORT_SYMBOL(sym, "_gpl")/_EXPORT_SYMBOL(sym, "")/g' -e 's/__EXPORT_SYMBOL(sym, "_gpl", __stringify(ns))/__EXPORT_SYMBOL(sym, "", __stringify(ns))/g' include/linux/export.h + ''; + }) + else + baseKernel + ; + + moddedKernel = myLib.optimizations.addAttrs noDRMKernel moddedKernelAttrs; in mkOverride 2 (pkgs.linuxPackagesFor moddedKernel); kernelPatches = [] @@ -289,7 +303,6 @@ in { ++ optional (cfg.patches.amdClusterId.enable && kernelVersionOlder "6.4") customKernelPatches.amdClusterId ++ optional (cfg.patches.zenLLCIdle.enable && kernelVersionOlder "6.5") customKernelPatches.backports.zenLLCIdle ++ optional (isXanmod cfg.kernel.package && config.aviallon.optimizations.enable) (customKernelPatches.optimizeForCPUArch config.aviallon.general.cpu.arch) - ++ optional cfg.removeKernelDRM customKernelPatches.removeKernelDRM ; loader.grub.enable = cfg.useGrub; diff --git a/remove-kernel-drm.patch b/remove-kernel-drm.patch deleted file mode 100644 index c9c67d4..0000000 --- a/remove-kernel-drm.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/include/linux/export.h b/include/linux/export.h -index 3f31ced0d977..dacee5534926 100644 ---- a/include/linux/export.h -+++ b/include/linux/export.h -@@ -150,5 +150,5 @@ struct kernel_symbol { - #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") --#define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") -+#define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "") - #define EXPORT_SYMBOL_NS(sym, ns) __EXPORT_SYMBOL(sym, "", __stringify(ns)) --#define EXPORT_SYMBOL_NS_GPL(sym, ns) __EXPORT_SYMBOL(sym, "_gpl", __stringify(ns)) -+#define EXPORT_SYMBOL_NS_GPL(sym, ns) __EXPORT_SYMBOL(sym, "", __stringify(ns)) -