- use `finalAttrs`
- use `tag` and `hash` in `src`
- add {pre,post} hooks to the `installPhase`
- remove `with lib;` from `meta`
56 lines
1.4 KiB
Nix
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.
|
|
'';
|
|
};
|
|
})
|