asusctl/asusctl.spec

160 lines
5.2 KiB
RPMSpec
Raw Normal View History

2023-01-04 02:27:21 +00:00
%global debug_package %{nil}
%global rpm_dkms_opt 1
# Use hardening ldflags.
%global rustflags -Clink-arg=-Wl,-z,relro,-z,now
2023-01-04 17:03:09 +00:00
2025-01-15 13:29:13 +00:00
%define vendor_id 386fd37e8a3185dba7ec57dacdb025fc
2025-01-15 13:42:51 +00:00
%define rustver 1.83.0
2025-01-15 13:29:13 +00:00
2023-01-04 17:03:09 +00:00
Summary: Control fan speeds, LEDs, graphics modes, and charge levels for ASUS notebooks
2023-01-04 02:27:21 +00:00
Name: asusctl
2025-02-17 02:31:57 +03:00
Version: 6.1.7
2023-04-30 01:58:19 +00:00
Release: 1
2023-01-04 02:27:21 +00:00
License: MPLv2
Group: System/Kernel and hardware
URL: https://gitlab.com/asus-linux/asusctl
2023-09-08 19:07:13 +00:00
Source0: %{url}/-/archive/%{version}/%{name}-%{version}.tar.gz
2025-01-15 13:29:13 +00:00
#Source1: %{url}/uploads/99346eba22c845fcdc7570ad6abbea7b/vendor_%{name}_%{version}.tar.xz
2025-02-09 09:28:14 +00:00
#Source1: https://gitlab.com/-/project/20328305/uploads/%{vendor_id}/vendor_%{name}_%{version}.tar.xz
2023-01-04 02:27:21 +00:00
Source2: cargo_config
2023-08-30 19:12:38 +00:00
Source1000: %{name}.rpmlintrc
Patch0: %{name}-makefile.patch
2025-01-15 13:42:51 +00:00
%if %{mdvver} > 201610
BuildRequires: rust
2023-01-04 02:27:21 +00:00
BuildRequires: cargo
2025-01-15 13:42:51 +00:00
%endif
2023-01-04 02:27:21 +00:00
BuildRequires: cmake
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gdk-3.0)
BuildRequires: pkgconfig(systemd)
BuildRequires: desktop-file-utils
2023-08-30 19:12:38 +00:00
BuildRequires: imagemagick
2025-01-15 13:42:51 +00:00
BuildRequires: curl
BuildRequires: git-core
2023-01-04 02:27:21 +00:00
Requires: %{_lib}appindicator3-gir0.1
2023-04-25 20:40:14 +00:00
Recommends: power-profiles-daemon
2023-01-04 02:27:21 +00:00
%description
asus-nb-ctrl is a utility for Linux to control many aspects of various
ASUS laptops but can also be used with non-Asus laptops with reduced features.
It provides an interface for rootless control of some system functions such as
fan speeds, keyboard LEDs, battery charge level, and graphics modes.
asus-nb-ctrl enables third-party apps to use the above with dbus methods.
2023-01-04 17:03:09 +00:00
%files
2023-08-30 19:12:38 +00:00
%doc LICENSE README.md
2023-01-04 17:03:09 +00:00
%{_bindir}/asusd
%{_bindir}/asusd-user
%{_bindir}/asusctl
%{_userunitdir}/asusd-user.service
2023-08-30 19:12:38 +00:00
%{_unitdir}/asusd.service
%{_udevrulesdir}/99-asusd.rules
2023-01-04 17:03:09 +00:00
%{_datadir}/dbus-1/system.d/asusd.conf
2023-08-30 19:12:38 +00:00
%{_datadir}/icons/hicolor/*/apps/asus_notif_yellow.png
%{_datadir}/icons/hicolor/*/apps/asus_notif_green.png
%{_datadir}/icons/hicolor/*/apps/asus_notif_red.png
%{_datadir}/icons/hicolor/*/apps/asus_notif_blue.png
%{_datadir}/icons/hicolor/*/apps/asus_notif_orange.png
%{_datadir}/icons/hicolor/*/apps/asus_notif_white.png
2023-01-04 17:03:09 +00:00
%{_datadir}/icons/hicolor/scalable/status/gpu-compute.svg
%{_datadir}/icons/hicolor/scalable/status/gpu-hybrid.svg
%{_datadir}/icons/hicolor/scalable/status/gpu-integrated.svg
%{_datadir}/icons/hicolor/scalable/status/gpu-nvidia.svg
%{_datadir}/icons/hicolor/scalable/status/gpu-vfio.svg
%{_datadir}/icons/hicolor/scalable/status/notification-reboot.svg
%{_datadir}/asusd/
#-----------------------------------------------------------------------
2023-01-04 02:27:21 +00:00
%package rog-gui
Summary: An experimental GUI for %{name}
Requires: %{name}
%description rog-gui
A one-stop-shop GUI tool for asusd/asusctl. It aims to provide most controls,
a notification service, and ability to run in the background.
2023-01-04 17:03:09 +00:00
%files rog-gui
2023-08-30 19:12:38 +00:00
%doc LICENSE rog-anime/README.md rog-anime/data/diagonal-template.png
2023-01-04 17:03:09 +00:00
%{_bindir}/rog-control-center
%{_datadir}/applications/rog-control-center.desktop
2023-08-30 19:12:38 +00:00
%{_datadir}/icons/hicolor/*/apps/rog-control-center.png
2023-01-04 17:03:09 +00:00
%{_datadir}/rog-gui
#-----------------------------------------------------------------------
2023-01-04 02:27:21 +00:00
%prep
2023-08-30 19:12:38 +00:00
#autosetup
%setup -q
#setup -D -T -a 1
2023-01-04 02:27:21 +00:00
2025-01-15 13:42:51 +00:00
#patch0 -p1
2023-08-30 19:12:38 +00:00
#mv Cargo.lock{,.bak}
#cargo_prep
#mv Cargo.lock{.bak,}
#sed -i 's|replace-with = "local-registry"|replace-with = "vendored-sources"|' .cargo/config
#cat %{SOURCE2} >> .cargo/config
2023-01-04 02:27:21 +00:00
2025-01-15 13:42:51 +00:00
%if %{mdvver} <= 201610
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs |\
sh -s -- -y --profile default --default-toolchain %{rustver}
%endif
2023-01-04 02:27:21 +00:00
%build
2025-01-15 13:42:51 +00:00
#export RUSTFLAGS="%{rustflags}"
2023-08-30 19:12:38 +00:00
#cargo_build
2025-01-15 13:42:51 +00:00
%if %{mdvver} <= 201610
source "$HOME/.cargo/env"
%endif
2023-08-30 19:12:38 +00:00
cargo build --release
#--frozen
#--offline
#--config .cargo/config.toml
2023-01-04 02:27:21 +00:00
%install
2025-01-15 13:42:51 +00:00
#export RUSTFLAGS="%{rustflags}"
2023-08-30 19:12:38 +00:00
#mkdir -p "%{buildroot}/%{_bindir}" "%{buildroot}%{_docdir}"
2023-01-04 02:27:21 +00:00
%make_install
2023-08-30 19:12:38 +00:00
# install icons
for x in 16 24 32 48 64 96 128 256; do
install -d %{buildroot}%{_iconsdir}/hicolor/${x}x${x}/apps/
pushd data/icons
convert -resize ${x}x${x} asus_notif_yellow.png %{buildroot}%{_iconsdir}/hicolor/${x}x${x}/apps/asus_notif_yellow.png
convert -resize ${x}x${x} asus_notif_green.png %{buildroot}%{_iconsdir}/hicolor/${x}x${x}/apps/asus_notif_green.png
convert -resize ${x}x${x} asus_notif_red.png %{buildroot}%{_iconsdir}/hicolor/${x}x${x}/apps/asus_notif_red.png
convert -resize ${x}x${x} asus_notif_blue.png %{buildroot}%{_iconsdir}/hicolor/${x}x${x}/apps/asus_notif_blue.png
convert -resize ${x}x${x} asus_notif_orange.png %{buildroot}%{_iconsdir}/hicolor/${x}x${x}/apps/asus_notif_orange.png
convert -resize ${x}x${x} asus_notif_white.png %{buildroot}%{_iconsdir}/hicolor/${x}x${x}/apps/asus_notif_white.png
popd
pushd rog-control-center/data
convert -resize ${x}x${x} rog-control-center.png %{buildroot}%{_iconsdir}/hicolor/${x}x${x}/apps/rog-control-center.png
popd
done
# install unit service && udev roles
install -Dm0644 data/asusd.rules %{buildroot}%{_udevrulesdir}/99-asusd.rules
install -Dm0644 data/asusd.service %{buildroot}%{_unitdir}/asusd.service
2023-01-04 02:27:21 +00:00
desktop-file-validate %{buildroot}/%{_datadir}/applications/rog-control-center.desktop
2025-02-09 17:47:56 +03:00
# rm files
rm -rf %{buildroot}/usr/lib/systemd/system/asusd.service \
%{buildroot}/usr/lib/udev/rules.d/99-asusd.rules