1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 kernel,
6 kernelModuleMakeFlags,
7}:
8
9stdenv.mkDerivation rec {
10 pname = "acpi-call";
11 version = "1.2.2";
12 name = "${pname}-${version}-${kernel.version}";
13
14 src = fetchFromGitHub {
15 owner = "nix-community";
16 repo = "acpi_call";
17 rev = "v${version}";
18 sha256 = "1s7h9y3adyfhw7cjldlfmid79lrwz3vqlvziw9nwd6x5qdj4w9vp";
19 };
20
21 hardeningDisable = [ "pic" ];
22
23 nativeBuildInputs = kernel.moduleBuildDependencies;
24
25 makeFlags = kernelModuleMakeFlags ++ [
26 "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
27 ];
28
29 installPhase = ''
30 install -D acpi_call.ko $out/lib/modules/${kernel.modDirVersion}/misc/acpi_call.ko
31 install -D -m755 examples/turn_off_gpu.sh $out/bin/test_discrete_video_off.sh
32 '';
33
34 meta = with lib; {
35 maintainers = with maintainers; [
36 raskin
37 mic92
38 ];
39 homepage = "https://github.com/nix-community/acpi_call";
40 platforms = platforms.linux;
41 description = "Module allowing arbitrary ACPI calls; use case: hybrid video";
42 mainProgram = "test_discrete_video_off.sh";
43 license = licenses.gpl3Plus;
44 };
45}