%bcond_with vendored Name: lact Version: 0.9.0 Release: 1%{?dist} Summary: Linux GPU control utility License: MIT URL: https://github.com/ilya-zlobintsev/LACT Source0: %{url}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz %if %{with vendored} Source1: %{name}-%{version}-vendor.tar.zst %endif BuildRequires: cargo BuildRequires: rust BuildRequires: gcc BuildRequires: make BuildRequires: clang BuildRequires: gtk4-devel BuildRequires: libadwaita-devel BuildRequires: libdrm-devel BuildRequires: dbus BuildRequires: curl BuildRequires: vulkan-tools BuildRequires: clinfo BuildRequires: systemd-rpm-macros Requires: gtk4 Requires: libadwaita Requires: libdrm Requires: hwdata Requires: vulkan-tools Requires: clinfo %description LACT is a Linux GPU configuration and monitoring tool with support for AMD, Nvidia, and Intel GPUs. It provides monitoring, fan control, power management, overclocking, and a graphical interface backed by a system daemon. %prep %autosetup -n LACT-%{version} %if %{with vendored} # Offline Cargo setup for COPR/mock tar -xaf %{SOURCE1} mkdir -p .cargo cat > .cargo/config.toml <<'EOF' [source.crates-io] replace-with = "vendored-sources" [source.vendored-sources] directory = "vendor" EOF %endif # Fedora 44 / newer toolchains may fail bindgen layout assertions for # Intel libdrm structs generated in lact-daemon. Make them opaque. sed -i '/\.blocklist_item(".*(FILE|file).*\")/a\ .opaque_type("_drm_intel_bo")\ .opaque_type("drm_intel_bo")\ .opaque_type("_drm_intel_bufmgr")\ .opaque_type("drm_intel_bufmgr")\ .opaque_type("_drm_intel_context")\ .opaque_type("drm_intel_context")' lact-daemon/build.rs %build export CARGO_HOME=$PWD/.cargo-home %if %{with vendored} export CARGO_NET_OFFLINE=true %endif export VERGEN_GIT_SHA=v%{version} make build-release %{?_smp_mflags} %install make install PREFIX=%{_prefix} DESTDIR=%{buildroot} %post %systemd_post lactd.service %preun %systemd_preun lactd.service %postun %systemd_postun_with_restart lactd.service %files %license LICENSE %doc README.md %{_bindir}/lact %{_unitdir}/lactd.service %{_datadir}/applications/io.github.ilya_zlobintsev.LACT.desktop %{_datadir}/icons/hicolor/512x512/apps/io.github.ilya_zlobintsev.LACT.png %{_datadir}/icons/hicolor/scalable/apps/io.github.ilya_zlobintsev.LACT.svg %{_datadir}/metainfo/io.github.ilya_zlobintsev.LACT.metainfo.xml %changelog * Tue May 05 2026 sachesi - 0.9.0-1 - Update to 0.9.0 - Add libadwaita BuildRequires/Requires (new dep in 0.9.0) * Fri Apr 24 2026 sachesi - 0.8.4-1 - Initial COPR package - Vendor crates for offline COPR/mock builds - Hot-patch bindgen config for Fedora 44 Intel libdrm layout issue