diff options
Diffstat (limited to 'pkgs/applications/system/asusctl/default.nix')
-rw-r--r-- | pkgs/applications/system/asusctl/default.nix | 50 |
1 files changed, 36 insertions, 14 deletions
diff --git a/pkgs/applications/system/asusctl/default.nix b/pkgs/applications/system/asusctl/default.nix index ba18d23889018..3fe0f13ea3bfb 100644 --- a/pkgs/applications/system/asusctl/default.nix +++ b/pkgs/applications/system/asusctl/default.nix @@ -3,31 +3,34 @@ , fetchFromGitLab , systemd , coreutils +, gnugrep , pkg-config -, cmake , fontconfig -, gtk3 -, libappindicator , libGL +, libinput +, libxkbcommon +, mesa +, seatd +, wayland }: rustPlatform.buildRustPackage rec { pname = "asusctl"; - version = "5.0.10"; + version = "6.0.9"; src = fetchFromGitLab { owner = "asus-linux"; repo = "asusctl"; rev = version; - hash = "sha256-H8x3nfOFRv9DkbDkFw+LO1tdHiVyU3SzetqED4twPSk="; + hash = "sha256-mml+nj+Z6267QtejTkWiR3SdNAdZCNz4M8r6LzvhALw="; }; cargoLock = { lockFile = ./Cargo.lock; outputHashes = { - "ecolor-0.21.0" = "sha256-m7eHX6flwO21umtx3dnIuVUnNsEs3ZCyOk5Vvp/lVfI="; - "notify-rust-4.6.0" = "sha256-jhCgisA9f6AI9e9JQUYRtEt47gQnDv5WsdRKFoKvHJs="; - "supergfxctl-5.1.2" = "sha256-WDbUgvWExk5cs2cpjo88CiROdEbc01o2DELhRi9gju4="; + "const-field-offset-0.1.5" = "sha256-0MaNu6cUXislY+wDFuxZptXeJRkOuXGRJwZWm6AvcZ8="; + "notify-rust-4.7.0" = "sha256-A7edUorty5GpGXCUQPszZuXtLdEmbmrDSU9JcoDaiaI="; + "supergfxctl-5.2.3" = "sha256-wKcHoMukdUXZrdbE1xsylq7ySJpxny3+0dGUQ40BVH8="; }; }; @@ -37,7 +40,9 @@ rustPlatform.buildRustPackage rec { asusd-user/src/daemon.rs asusd/src/ctrl_anime/config.rs rog-aura/src/aura_detection.rs + rog-control-center/src/lib.rs rog-control-center/src/main.rs + rog-control-center/src/tray.rs " for file in $files; do substituteInPlace $file --replace /usr/share $out/share @@ -50,11 +55,32 @@ rustPlatform.buildRustPackage rec { substituteInPlace data/asusd-user.service \ --replace /usr/bin/asusd-user $out/bin/asusd-user \ --replace /usr/bin/sleep ${coreutils}/bin/sleep + + substituteInPlace Makefile \ + --replace /usr/bin/grep ${lib.getExe gnugrep} ''; - nativeBuildInputs = [ pkg-config cmake rustPlatform.bindgenHook ]; + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ + fontconfig + libGL + libinput + libxkbcommon + mesa + seatd + systemd + wayland + ]; - buildInputs = [ systemd fontconfig gtk3 ]; + # force linking to all the dlopen()ed dependencies + RUSTFLAGS = map (a: "-C link-arg=${a}") [ + "-Wl,--push-state,--no-as-needed" + "-lEGL" + "-lfontconfig" + "-lwayland-client" + "-Wl,--pop-state" + ]; # upstream has minimal tests, so don't rebuild twice doCheck = false; @@ -63,10 +89,6 @@ rustPlatform.buildRustPackage rec { make prefix=$out install-data ''; - postFixup = '' - patchelf --add-rpath "${libappindicator}/lib:${libGL}/lib" "$out/bin/rog-control-center" - ''; - meta = with lib; { description = "A control daemon, CLI tools, and a collection of crates for interacting with ASUS ROG laptops"; homepage = "https://gitlab.com/asus-linux/asusctl"; |