maintainers: remove email for amuckstot30 (#360059)
[NixPkgs.git] / pkgs / os-specific / linux / openrazer / driver.nix
blob42e6be93dae4d3bdca0948b76a3cc4e1fa533db7
1 { coreutils
2 , fetchFromGitHub
3 , kernel
4 , stdenv
5 , lib
6 , util-linux
7 }:
9 let
10   common = import ../../../development/python-modules/openrazer/common.nix { inherit lib fetchFromGitHub; };
12 stdenv.mkDerivation (common // {
13   pname = "openrazer";
14   version = "${common.version}-${kernel.version}";
16   nativeBuildInputs = kernel.moduleBuildDependencies;
18   makeFlags = kernel.makeFlags ++ [
19     "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
20   ];
22   installPhase = ''
23     runHook preInstall
25     binDir="$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/hid"
26     mkdir -p "$binDir"
27     cp -v driver/*.ko "$binDir"
28     RAZER_MOUNT_OUT="$out/bin/razer_mount"
29     RAZER_RULES_OUT="$out/etc/udev/rules.d/99-razer.rules"
30     install -m 644 -v -D install_files/udev/99-razer.rules $RAZER_RULES_OUT
31     install -m 755 -v -D install_files/udev/razer_mount $RAZER_MOUNT_OUT
32     substituteInPlace $RAZER_RULES_OUT \
33       --replace razer_mount $RAZER_MOUNT_OUT \
34       --replace plugdev openrazer
35     substituteInPlace $RAZER_MOUNT_OUT \
36       --replace /usr/bin/logger ${util-linux}/bin/logger \
37       --replace chgrp ${coreutils}/bin/chgrp \
38       --replace "PATH='/sbin:/bin:/usr/sbin:/usr/bin'" "" \
39       --replace plugdev openrazer
41     runHook postInstall
42   '';
44   enableParallelBuilding = true;
46   meta = common.meta // {
47     description = "Entirely open source Linux driver that allows you to manage your Razer peripherals on GNU/Linux";
48     mainProgram = "razer_mount";
49     broken = kernel.kernelOlder "4.19";
50   };