From 604c2608b42b2eee7fee70d883e4feaacc8611d1 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Sat, 15 Jul 2023 07:52:23 +0200 Subject: [PATCH] tuxedo-keyboard: set it as broken for kernel <= 5.4 - Switch to `finalAttrs` pattern - Add missing phase hooks - Sort `meta` attribute - Update `meta.broken` attribute --- .../linux/tuxedo-keyboard/default.nix | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/pkgs/os-specific/linux/tuxedo-keyboard/default.nix b/pkgs/os-specific/linux/tuxedo-keyboard/default.nix index 4a2ae8554a27..353857de320d 100644 --- a/pkgs/os-specific/linux/tuxedo-keyboard/default.nix +++ b/pkgs/os-specific/linux/tuxedo-keyboard/default.nix @@ -1,13 +1,13 @@ { lib, stdenv, fetchFromGitHub, kernel, linuxHeaders, pahole }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "tuxedo-keyboard-${kernel.version}"; version = "3.2.7"; src = fetchFromGitHub { owner = "tuxedocomputers"; repo = "tuxedo-keyboard"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-Q0wnejeLGLSDS0GPxQuYUKCAdzbYA66KT0DuWsEKIRs="; }; @@ -19,25 +19,29 @@ stdenv.mkDerivation rec { makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ]; installPhase = '' + runHook preInstall + mkdir -p "$out/lib/modules/${kernel.modDirVersion}" for module in clevo_acpi.ko clevo_wmi.ko tuxedo_keyboard.ko tuxedo_io/tuxedo_io.ko uniwill_wmi.ko; do mv src/$module $out/lib/modules/${kernel.modDirVersion} done + + runHook postInstall ''; - meta = with lib; { + meta = { + broken = stdenv.isAarch64 || (lib.versionOlder kernel.version "5.5"); description = "Keyboard and hardware I/O driver for TUXEDO Computers laptops"; + homepage = "https://github.com/tuxedocomputers/tuxedo-keyboard/"; + license = lib.licenses.gpl3Plus; longDescription = '' This driver provides support for Fn keys, brightness/color/mode for most TUXEDO keyboards (except white backlight-only models). Can be used with the "hardware.tuxedo-keyboard" NixOS module. ''; - homepage = "https://github.com/tuxedocomputers/tuxedo-keyboard/"; - license = licenses.gpl3Plus; - platforms = platforms.linux; - broken = stdenv.isAarch64; - maintainers = [ maintainers.blanky0230 ]; + maintainers = [ lib.maintainers.blanky0230 ]; + platforms = lib.platforms.linux; }; -} +})