at 25.11-pre 80 lines 2.0 kB view raw
1{ 2 stdenv, 3 lib, 4 fetchFromGitHub, 5 fetchpatch, 6 kernel, 7 writeScript, 8 coreutils, 9 gnugrep, 10 jq, 11 curl, 12 common-updater-scripts, 13 runtimeShell, 14}: 15 16stdenv.mkDerivation rec { 17 name = "tp_smapi-${version}-${kernel.version}"; 18 version = "0.43"; 19 20 src = fetchFromGitHub { 21 owner = "linux-thinkpad"; 22 repo = "tp_smapi"; 23 rev = "tp-smapi/${version}"; 24 sha256 = "1rjb0njckczc2mj05cagvj0lkyvmyk6bw7wkiinv81lw8m90g77g"; 25 }; 26 27 patches = [ 28 # update DEFINE_SEMAPHORE usage for linux 6.4+ 29 # https://github.com/linux-thinkpad/tp_smapi/pull/45 30 (fetchpatch { 31 url = "https://github.com/linux-thinkpad/tp_smapi/commit/0c3398b1acf2a2cabd9cee91dc3fe3d35805fa8b.patch"; 32 hash = "sha256-J/WvijrpHGwFOZMMxnHdNin5eh8vViTcNb4nwsCqsLs="; 33 }) 34 ]; 35 36 nativeBuildInputs = kernel.moduleBuildDependencies; 37 38 hardeningDisable = [ "pic" ]; 39 40 makeFlags = [ 41 "KBASE=${kernel.dev}/lib/modules/${kernel.modDirVersion}" 42 "SHELL=${stdenv.shell}" 43 "HDAPS=1" 44 ]; 45 46 installPhase = '' 47 install -v -D -m 644 thinkpad_ec.ko "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/firmware/thinkpad_ec.ko" 48 install -v -D -m 644 tp_smapi.ko "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/firmware/tp_smapi.ko" 49 install -v -D -m 644 hdaps.ko "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/firmware/hdapsd.ko" 50 ''; 51 52 dontStrip = true; 53 54 enableParallelBuilding = true; 55 56 passthru.updateScript = import ./update.nix { 57 inherit 58 lib 59 writeScript 60 coreutils 61 gnugrep 62 jq 63 curl 64 common-updater-scripts 65 runtimeShell 66 ; 67 }; 68 69 meta = { 70 description = "IBM ThinkPad hardware functions driver"; 71 homepage = "https://github.com/linux-thinkpad/tp_smapi"; 72 license = lib.licenses.gpl2Plus; 73 maintainers = [ ]; 74 # driver is only meant for linux thinkpads i think bellow platforms should cover it. 75 platforms = [ 76 "x86_64-linux" 77 "i686-linux" 78 ]; 79 }; 80}