depot/third_party/nixpkgs/pkgs/tools/wayland/wluma/default.nix

61 lines
1.5 KiB
Nix
Raw Normal View History

{ lib
, stdenv
, fetchFromGitHub
, makeWrapper
, rustPlatform
, vulkan-loader
, pkg-config
, udev
, v4l-utils
, llvmPackages
}:
rustPlatform.buildRustPackage rec {
pname = "wluma";
version = "4.1.0";
src = fetchFromGitHub {
owner = "maximbaz";
repo = "wluma";
rev = version;
sha256 = "sha256-kUYh4RmD4zRI3ZNZWl2oWcO0Ze5czLBXUgPMl/cLW/I=";
};
nativeBuildInputs = [
makeWrapper
pkg-config
];
buildInputs = [
udev
v4l-utils.lib
];
LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib";
# Works around the issue with rust-bindgen and the Nix gcc wrapper:
# https://hoverbear.org/blog/rust-bindgen-in-nix/
preBuild = ''
export BINDGEN_EXTRA_CLANG_ARGS="$(< ${stdenv.cc}/nix-support/libc-cflags) \
$(< ${stdenv.cc}/nix-support/cc-cflags) \
-isystem ${llvmPackages.libclang.lib}/lib/clang/${lib.getVersion llvmPackages.clang}/include \
-idirafter ${stdenv.cc.cc}/lib/gcc/${stdenv.hostPlatform.config}/${lib.getVersion stdenv.cc.cc}/include \
-idirafter ${v4l-utils.dev}/include"
'';
postInstall = ''
wrapProgram $out/bin/wluma \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ vulkan-loader ]}"
'';
cargoSha256 = "sha256-oOIL18gij7DdvgNOuaHtuyFemNBUB85Ouh/sdhKas+s=";
meta = with lib; {
description = "Automatic brightness adjustment based on screen contents and ALS";
homepage = "https://github.com/maximbaz/wluma";
license = licenses.isc;
maintainers = with maintainers; [ yevhenshymotiuk jmc-figueira ];
platforms = platforms.linux;
};
}