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