From c5cea38e690922026a14bec43c21370ec67503f3 Mon Sep 17 00:00:00 2001 From: eljamm Date: Sun, 25 May 2025 00:33:28 +0200 Subject: [PATCH 1/2] linuxPackages.veikk-linux-driver: fix build with kernels >= 6.12 --- .../linux/veikk-linux-driver/default.nix | 2 ++ .../veikk-linux-driver/fix-6.12-build.patch | 26 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/os-specific/linux/veikk-linux-driver/fix-6.12-build.patch diff --git a/pkgs/os-specific/linux/veikk-linux-driver/default.nix b/pkgs/os-specific/linux/veikk-linux-driver/default.nix index 55ce63db7902..81111d4e710e 100644 --- a/pkgs/os-specific/linux/veikk-linux-driver/default.nix +++ b/pkgs/os-specific/linux/veikk-linux-driver/default.nix @@ -17,6 +17,8 @@ stdenv.mkDerivation rec { sha256 = "11mg74ds58jwvdmi3i7c4chxs6v9g09r9ll22pc2kbxjdnrp8zrn"; }; + patches = [ ./fix-6.12-build.patch ]; + nativeBuildInputs = kernel.moduleBuildDependencies; buildInputs = [ kernel ]; diff --git a/pkgs/os-specific/linux/veikk-linux-driver/fix-6.12-build.patch b/pkgs/os-specific/linux/veikk-linux-driver/fix-6.12-build.patch new file mode 100644 index 000000000000..feae73dd83e2 --- /dev/null +++ b/pkgs/os-specific/linux/veikk-linux-driver/fix-6.12-build.patch @@ -0,0 +1,26 @@ +https://github.com/torvalds/linux/commit/5f60d5f6bbc12e782fac78110b0ee62698f3b576 +--- + veikk_vdev.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/veikk_vdev.c b/veikk_vdev.c +index 9d0b49f..83e9efa 100644 +--- a/veikk_vdev.c ++++ b/veikk_vdev.c +@@ -6,7 +6,13 @@ + * - Set up the module parameters + */ + ++#include ++ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 12, 0) + #include ++#else ++#include ++#endif + #include + #include "veikk.h" + +-- +2.49.0 + From 38b936056fdeebe9d7f69d58cadd54b0dccb39b7 Mon Sep 17 00:00:00 2001 From: eljamm Date: Sun, 25 May 2025 00:37:46 +0200 Subject: [PATCH 2/2] linuxPackages.veikk-linux-driver: small improvements - use finalAttrs - use src.tag - add installPhase hooks - remove `with lib;` from meta --- .../linux/veikk-linux-driver/default.nix | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/pkgs/os-specific/linux/veikk-linux-driver/default.nix b/pkgs/os-specific/linux/veikk-linux-driver/default.nix index 81111d4e710e..7663707fe662 100644 --- a/pkgs/os-specific/linux/veikk-linux-driver/default.nix +++ b/pkgs/os-specific/linux/veikk-linux-driver/default.nix @@ -6,15 +6,15 @@ kernelModuleMakeFlags, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "veikk-linux-driver"; version = "2.0"; src = fetchFromGitHub { owner = "jlam55555"; - repo = pname; - rev = "v${version}"; - sha256 = "11mg74ds58jwvdmi3i7c4chxs6v9g09r9ll22pc2kbxjdnrp8zrn"; + repo = "veikk-linux-driver"; + tag = "v${finalAttrs.version}"; + sha256 = "sha256-Nn90s22yrynYFYLSlBN4aRvdISPsxBFr21yiohs5r4Y="; }; patches = [ ./fix-6.12-build.patch ]; @@ -28,16 +28,20 @@ stdenv.mkDerivation rec { ]; installPhase = '' + runHook preInstall + mkdir -p $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/veikk install -Dm755 veikk.ko $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/veikk + + runHook postInstall ''; - meta = with lib; { + meta = { description = "Linux driver for VEIKK-brand digitizers"; homepage = "https://github.com/jlam55555/veikk-linux-driver/"; - license = licenses.gpl2Only; - platforms = platforms.linux; - maintainers = with maintainers; [ nicbk ]; + license = lib.licenses.gpl2Only; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ nicbk ]; broken = kernel.kernelOlder "4.19"; }; -} +})