1 |
# Mageia RPM Spec |
2 |
%undefine _debugsource_packages |
3 |
|
4 |
Name: ckb-next |
5 |
Version: 0.3.2 |
6 |
Release: 8.189 |
7 |
Summary: Corsair RGB keyboard driver for Linux and OS X |
8 |
Group: Applications/System |
9 |
License: GPLv2 |
10 |
URL: https://github.com/ckb-next/ckb-next |
11 |
Source0: https://github.com/ckb-next/ckb-next/archive/v%{version}.tar.gz#/ckb-next-%{version}.tar.gz |
12 |
|
13 |
# Upstream provides none of the following files |
14 |
Source1: ckb-next.appdata.xml |
15 |
Source2: ckb-next.1 |
16 |
Source3: 99-ckb-next.preset |
17 |
|
18 |
BuildRequires: cmake |
19 |
BuildRequires: cmake(Qt5Core) >= 5.3 |
20 |
BuildRequires: cmake(Qt5Gui) >= 5.3 |
21 |
BuildRequires: cmake(Qt5Network) >= 5.3 |
22 |
BuildRequires: cmake(Qt5Widgets) >= 5.3 |
23 |
BuildRequires: quazip-devel |
24 |
BuildRequires: openssl-devel |
25 |
BuildRequires: libgudev-devel |
26 |
BuildRequires: libappindicator-devel |
27 |
BuildRequires: systemd-devel |
28 |
BuildRequires: pulseaudio-devel |
29 |
BuildRequires: zlib-devel |
30 |
BuildRequires: desktop-file-utils |
31 |
BuildRequires: appstream-util |
32 |
BuildRequires: ImageMagick |
33 |
%{?systemd_requires} |
34 |
|
35 |
Requires: qt5ct |
36 |
Obsoletes: ckb |
37 |
|
38 |
%description |
39 |
ckb-next is an open-source driver for Corsair keyboards and mice. It aims to |
40 |
bring the features of their proprietary CUE software to the Linux and Mac |
41 |
operating systems. This project is currently a work in progress, but it already |
42 |
supports much of the same functionality, including full RGB animations. |
43 |
|
44 |
%prep |
45 |
%setup -q -n ckb-next-%{version} |
46 |
# Fedora uses /usr/libexec for daemons |
47 |
sed -e '/^ExecStart/cExecStart=%{_libexecdir}/ckb-next-daemon' -i linux/systemd/ckb-next-daemon.service.in |
48 |
|
49 |
%build |
50 |
%cmake -DCMAKE_BUILD_TYPE=Release -DSAFE_INSTALL=OFF -DSAFE_UNINSTALL=OFF -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBEXECDIR=libexec -DDISABLE_UPDATER=1 |
51 |
#cd build |
52 |
%make_build |
53 |
#cd .. |
54 |
|
55 |
# Color freeze fix |
56 |
sed -e '/^Exec=/cExec=env QT_QPA_PLATFORMTHEME=qt5ct /usr/bin/ckb-next' -i src/gui/ckb-next.desktop |
57 |
|
58 |
%install |
59 |
install -m 644 -D linux/udev/99-ckb-daemon.rules %{buildroot}%{_udevrulesdir}/99-ckb-daemon.rules |
60 |
install -D -m 755 build/bin/ckb-next %{buildroot}%{_bindir}/ckb-next |
61 |
install -D -m 755 build/bin/ckb-next-daemon %{buildroot}%{_libexecdir}/ckb-next-daemon |
62 |
install -d %{buildroot}%{_libexecdir}/ckb-next-animations |
63 |
install -D -m 755 build/bin/gradient %{buildroot}%{_libexecdir}/ckb-next-animations/gradient |
64 |
install -D -m 755 build/bin/heat %{buildroot}%{_libexecdir}/ckb-next-animations/heat |
65 |
install -D -m 755 build/bin/mviz %{buildroot}%{_libexecdir}/ckb-next-animations/mviz |
66 |
install -D -m 755 build/bin/pinwheel %{buildroot}%{_libexecdir}/ckb-next-animations/pinwheel |
67 |
install -D -m 755 build/bin/rain %{buildroot}%{_libexecdir}/ckb-next-animations/rain |
68 |
install -D -m 755 build/bin/random %{buildroot}%{_libexecdir}/ckb-next-animations/random |
69 |
install -D -m 755 build/bin/ripple %{buildroot}%{_libexecdir}/ckb-next-animations/ripple |
70 |
install -D -m 755 build/bin/wave %{buildroot}%{_libexecdir}/ckb-next-animations/wave |
71 |
install -m 644 -D build/src/gui/ckb-next.png %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/ckb-next.png |
72 |
install -Dpm 0644 %{SOURCE3} %{buildroot}/%{_presetdir}/99-ckb-next.preset |
73 |
install -m 644 -D linux/systemd/ckb-next-daemon.service.in %{buildroot}%{_unitdir}/ckb-next-daemon.service |
74 |
desktop-file-install --dir=%{buildroot}%{_datadir}/applications build/src/gui/ckb-next.desktop |
75 |
install -Dpm 0644 \ |
76 |
%{SOURCE1} %{buildroot}%{_datadir}/appdata/ckb-next.appdata.xml |
77 |
appstream-util \ |
78 |
validate-relax --nonet %{buildroot}%{_datadir}/appdata/ckb-next.appdata.xml |
79 |
install -Dpm 0644 %{SOURCE2} %{buildroot}%{_mandir}/man1/ckb-next.1 |
80 |
|
81 |
%post |
82 |
%systemd_post ckb-next-daemon.service |
83 |
if [ $1 -eq 1 ]; then |
84 |
# starting daemon also at install |
85 |
systemctl start ckb-next-daemon.service >/dev/null 2>&1 || : |
86 |
touch --no-create %{_datadir}/icons/hicolor >&/dev/null || : |
87 |
fi |
88 |
udevadm control --reload-rules 2>&1 > /dev/null || : |
89 |
|
90 |
%preun |
91 |
%systemd_preun ckb-next-daemon.service |
92 |
|
93 |
%postun |
94 |
%systemd_postun_with_restart ckb-next-daemon.service |
95 |
if [ $1 -eq 0 ]; then |
96 |
touch --no-create %{_datadir}/icons/hicolor >&/dev/null || : |
97 |
gtk-update-icon-cache %{_datadir}/icons/hicolor >&/dev/null || : |
98 |
fi |
99 |
udevadm control --reload-rules 2>&1 > /dev/null || : |
100 |
|
101 |
%posttrans |
102 |
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : |
103 |
|
104 |
|
105 |
%files |
106 |
%defattr(-,root,root) |
107 |
%license LICENSE |
108 |
%doc CHANGELOG.md FIRMWARE README.md |
109 |
%{_udevrulesdir}/*.rules |
110 |
%{_bindir}/ckb-next |
111 |
%{_libexecdir}/ckb-next-daemon |
112 |
%{_libexecdir}/ckb-next-animations |
113 |
%{_unitdir}/ckb-next-daemon.service |
114 |
%{_presetdir}/99-ckb-next.preset |
115 |
%{_datadir}/applications/ckb-next.desktop |
116 |
%{_datadir}/appdata/ckb-next.appdata.xml |
117 |
%{_datadir}/icons/hicolor/*/apps/ckb-next.png |
118 |
%{_mandir}/man1/ckb-next.1* |
119 |
|