nixpkgs/pkgs/os-specific/linux/light/default.nix
Sergei Trofimovich 47fabead80 light: pull upstream fix for -fno-common toolchains
Without the change ubuild fails on gcc-10 as:

    ld: impl/light-razer.o:/build/source/src/helpers.h:24: multiple definition of
      `light_loglevel'; light-main.o:/build/source/src/helpers.h:24: first defined here
2022-05-17 10:12:24 +01:00

42 lines
1.2 KiB
Nix

{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, coreutils }:
stdenv.mkDerivation rec {
version = "1.2.2";
pname = "light";
src = fetchFromGitHub {
owner = "haikarainen";
repo = "light";
rev = "v${version}";
sha256 = "1a70zcf88ifsnwll486aicjnh48zisdf8f7vi34ihw61kdadsq9s";
};
patches = [
# Pull upstream fix for -fno-common toolchains:
# https://github.com/haikarainen/light/pull/135
(fetchpatch {
name = "fno-common.patch";
url = "https://github.com/haikarainen/light/commit/eae912ca7ff3356805e47739114861d2b6ae7ec0.patch";
sha256 = "15jp8hm5scl0myiy1jmvd6m52lhx5jscvi3rgb5siwakmnkgzx9j";
})
];
configureFlags = [ "--with-udev" ];
nativeBuildInputs = [ autoreconfHook ];
# ensure udev rules can find the commands used
postPatch = ''
substituteInPlace 90-backlight.rules \
--replace '/bin/chgrp' '${coreutils}/bin/chgrp' \
--replace '/bin/chmod' '${coreutils}/bin/chmod'
'';
meta = {
description = "GNU/Linux application to control backlights";
homepage = "https://haikarainen.github.io/light/";
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [ puffnfresh dtzWill ];
platforms = lib.platforms.linux;
};
}