eljamm 4adde8f35b
linuxPackages.system76-acpi: small improvements
- use `finalAttrs`
- use `tag` and `hash` in `src`
- add {pre,post} hooks to the `installPhase`
- remove `with lib;` from `meta`
2025-05-14 23:16:13 +02:00

56 lines
1.4 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
kernel,
}:
stdenv.mkDerivation (finalAttrs: {
name = "system76-acpi-module-${finalAttrs.version}-${kernel.version}";
version = "1.0.2";
passthru.moduleName = "system76_acpi";
src = fetchFromGitHub {
owner = "pop-os";
repo = "system76-acpi-dkms";
tag = finalAttrs.version;
hash = "sha256-EJGKimf+mDSCG6+I7DZuo5GfPVqGPPkcADDtxoqV/8Q=";
};
hardeningDisable = [ "pic" ];
nativeBuildInputs = kernel.moduleBuildDependencies;
buildFlags = [
"KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
installPhase = ''
runHook preInstall
install -D system76_acpi.ko $out/lib/modules/${kernel.modDirVersion}/misc/system76_acpi.ko
mkdir -p $out/lib/udev/hwdb.d
mv lib/udev/hwdb.d/* $out/lib/udev/hwdb.d
runHook postInstall
'';
# GCC 14 makes this an error by default, remove when fixed upstream
env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
meta = {
maintainers = with lib.maintainers; [ ahoneybun ];
license = [ lib.licenses.gpl2Only ];
platforms = [
"i686-linux"
"x86_64-linux"
];
broken = kernel.kernelOlder "5.2";
description = "System76 ACPI Driver (DKMS)";
homepage = "https://github.com/pop-os/system76-acpi-dkms";
longDescription = ''
This provides the system76_acpi in-tree driver for systems missing it.
'';
};
})