at master 1.4 kB view raw
1{ 2 stdenv, 3 lib, 4 fetchFromGitHub, 5 kernel, 6}: 7 8stdenv.mkDerivation (finalAttrs: { 9 name = "tp_smapi-${finalAttrs.version}-${kernel.version}"; 10 version = "0.45"; 11 12 src = fetchFromGitHub { 13 owner = "linux-thinkpad"; 14 repo = "tp_smapi"; 15 tag = "tp-smapi/${finalAttrs.version}"; 16 hash = "sha256-rB+DNgWUXd1oQBbDgVEAJVJ16nKCaKDtWGAmpcFsx+A="; 17 }; 18 19 nativeBuildInputs = kernel.moduleBuildDependencies; 20 21 hardeningDisable = [ "pic" ]; 22 23 makeFlags = [ 24 "KBASE=${kernel.dev}/lib/modules/${kernel.modDirVersion}" 25 "SHELL=${stdenv.shell}" 26 "HDAPS=1" 27 ]; 28 29 installPhase = '' 30 runHook preInstall 31 32 install -v -D -m 644 thinkpad_ec.ko "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/firmware/thinkpad_ec.ko" 33 install -v -D -m 644 tp_smapi.ko "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/firmware/tp_smapi.ko" 34 install -v -D -m 644 hdaps.ko "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/firmware/hdapsd.ko" 35 36 runHook postInstall 37 ''; 38 39 dontStrip = true; 40 41 enableParallelBuilding = true; 42 43 meta = { 44 description = "IBM ThinkPad hardware functions driver"; 45 homepage = "https://github.com/linux-thinkpad/tp_smapi"; 46 license = lib.licenses.gpl2Plus; 47 maintainers = [ ]; 48 # driver is only meant for linux thinkpads, bellow platforms should cover it. 49 platforms = [ 50 "x86_64-linux" 51 "i686-linux" 52 ]; 53 }; 54})