From 9154aaa97cf5360f243302cf22d94d3fa538af76 Mon Sep 17 00:00:00 2001 From: "Luke D. Jones" Date: Thu, 27 Jul 2023 10:13:10 +1200 Subject: [PATCH] Add distro packaging dir + spec file for fedora --- distro-packaging/asusctl.spec | 128 ++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100755 distro-packaging/asusctl.spec diff --git a/distro-packaging/asusctl.spec b/distro-packaging/asusctl.spec new file mode 100755 index 00000000..0949fd3e --- /dev/null +++ b/distro-packaging/asusctl.spec @@ -0,0 +1,128 @@ +# +# spec file for package asus-nb-ctrl +# +# Copyright (c) 2020-2021 Luke Jones +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at https://mozilla.org/MPL/2.0/. + +%if %{defined fedora} +%global debug_package %{nil} +%endif + +%global rpm_dkms_opt 1 + +# Use hardening ldflags. +%global rustflags -Clink-arg=-Wl,-z,relro,-z,now +Name: asusctl +Version: 4.7.0 +Release: 2 +Summary: Control fan speeds, LEDs, graphics modes, and charge levels for ASUS notebooks +License: MPLv2 + +Group: System Environment/Kernel + +URL: https://gitlab.com/asus-linux/asusctl +Source: %{name}-%{version}.tar.gz +Source1: vendor-%{name}-%{version}.tar.gz +Source2: cargo_config + +BuildRequires: cargo +BuildRequires: rust-packaging +BuildRequires: systemd-rpm-macros +BuildRequires: clang-devel +BuildRequires: cmake +BuildRequires: rust +BuildRequires: rust-std-static +BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(gdk-3.0) +BuildRequires: desktop-file-utils +Requires: libappindicator-gtk3 + +%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. + +%package rog-gui +Summary: An experimental GUI for %{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. + +%prep +%autosetup +%setup -D -T -a 1 -c -n %{name}-%{version}/vendor +cd .. + +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 + +%build +export RUSTFLAGS="%{rustflags}" +%cargo_build +#cargo build --release --frozen --offline --config .cargo/config.toml + +%install +export RUSTFLAGS="%{rustflags}" +mkdir -p "%{buildroot}/%{_bindir}" "%{buildroot}%{_docdir}" +%make_install + +install -D -m 0644 README.md %{buildroot}/%{_docdir}/%{name}/README.md +install -D -m 0644 rog-anime/README.md %{buildroot}/%{_docdir}/%{name}/README-anime.md +install -D -m 0644 rog-anime/data/diagonal-template.png %{buildroot}/%{_docdir}/%{name}/diagonal-template.png + +desktop-file-validate %{buildroot}/%{_datadir}/applications/rog-control-center.desktop + +%files +%license LICENSE +%{_bindir}/asusd +%{_bindir}/asusd-user +%{_bindir}/asusctl +%{_unitdir}/asusd.service +%{_userunitdir}/asusd-user.service +%{_udevrulesdir}/99-asusd.rules +#%dir %{_sysconfdir}/asusd/ +%{_datadir}/asusd/aura_support.ron +%{_datadir}/dbus-1/system.d/asusd.conf +%{_datadir}/icons/hicolor/512x512/apps/asus_notif_yellow.png +%{_datadir}/icons/hicolor/512x512/apps/asus_notif_green.png +%{_datadir}/icons/hicolor/512x512/apps/asus_notif_red.png +%{_datadir}/icons/hicolor/512x512/apps/asus_notif_blue.png +%{_datadir}/icons/hicolor/512x512/apps/asus_notif_orange.png +%{_datadir}/icons/hicolor/512x512/apps/asus_notif_white.png +%{_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 +%{_docdir}/%{name}/ +%{_datadir}/asusd/ + +%files rog-gui +%{_bindir}/rog-control-center +%{_datadir}/applications/rog-control-center.desktop +%{_datadir}/icons/hicolor/512x512/apps/rog-control-center.png +%{_datadir}/rog-gui + +%changelog