diff --git a/.gitignore b/.gitignore index 331f8e0..f78ec94 100644 --- a/.gitignore +++ b/.gitignore @@ -2,9 +2,3 @@ /ckb-next-0.4.0.tar.gz /ckb-next-0.4.1.tar.gz /ckb-next-0.4.2.tar.gz -/ckb-next-0.4.3.tar.gz -/ckb-next-0.4.4.tar.gz -/ckb-next-0.5.0.tar.gz -/ckb-next-0.6.0.tar.gz -/ckb-next-0.6.1.tar.gz -/ckb-next-0.6.2.tar.gz diff --git a/0001-unbundle-kissfft.patch b/0001-unbundle-kissfft.patch deleted file mode 100644 index 9026743..0000000 --- a/0001-unbundle-kissfft.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff -r -U4 ckb-next-0.6.0--orig/src/animations/mviz/CMakeLists.txt ckb-next-0.6.0--patched/src/animations/mviz/CMakeLists.txt ---- ckb-next-0.6.0--orig/src/animations/mviz/CMakeLists.txt 2023-06-22 23:07:29.000000000 +0200 -+++ ckb-next-0.6.0--patched/src/animations/mviz/CMakeLists.txt 2024-01-23 13:15:01.273772139 +0100 -@@ -65,14 +65,16 @@ - - set(AUDIO_LIBRARIES "${PULSEAUDIO_LIBRARIES}") - endif () - -+find_package(kissfft REQUIRED) -+ - if (MACOS) - target_link_libraries( - mviz - PRIVATE - m -- KissFFT::KissFFT -+ kissfft::kissfft-float - ${CMAKE_PROJECT_NAME}::Animation - ${CORESERVICES_LIBRARY} - ${COREFOUNDATION_LIBRARY} - ${AUDIOUNIT_LIBRARY} -@@ -83,9 +85,9 @@ - target_link_libraries( - mviz - PRIVATE - m -- KissFFT::KissFFT -+ kissfft::kissfft-float - ${CMAKE_PROJECT_NAME}::Animation - "${AUDIO_LIBRARIES}") - else() - message(WARNING "PortAudio link library has not been specified for this OS.") -diff -r -U4 ckb-next-0.6.0--orig/src/libs/CMakeLists.txt ckb-next-0.6.0--patched/src/libs/CMakeLists.txt ---- ckb-next-0.6.0--orig/src/libs/CMakeLists.txt 2023-06-22 23:07:29.000000000 +0200 -+++ ckb-next-0.6.0--patched/src/libs/CMakeLists.txt 2023-06-25 22:59:56.191319405 +0200 -@@ -24,10 +24,6 @@ - # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - # POSSIBILITY OF SUCH DAMAGE. - --if (WITH_MVIZ) # otherwise doesn't make sense to include -- add_subdirectory(kissfft) --endif () -- - # ckb-next libraries - add_subdirectory(ckb-next) diff --git a/ckb-next.spec b/ckb-next.spec index aa18c5d..3674e4e 100644 --- a/ckb-next.spec +++ b/ckb-next.spec @@ -1,9 +1,11 @@ Name: ckb-next -Version: 0.6.2 -Release: 3%{?dist} +Version: 0.4.2 +Release: 1%{?dist} Summary: Unofficial driver for Corsair RGB keyboards -License: GPL-2.0-only +# ckb-next is GPLv2 +# The kissfft library (src/libs/kissfft) is BSD +License: GPLv2 and BSD URL: https://github.com/ckb-next/ckb-next Source0: %{URL}/archive/v%{version}/%{name}-%{version}.tar.gz @@ -13,36 +15,27 @@ Source1: ckb-next.appdata.xml Source2: ckb-next.1 Source3: 99-ckb-next.preset -# CMakeLists need to be adjusted to compile properly with un-bundled kissfft -Patch1: 0001-unbundle-kissfft.patch - BuildRequires: cmake BuildRequires: desktop-file-utils BuildRequires: gcc-c++ -BuildRequires: make -BuildRequires: libappstream-glib - -BuildRequires: cmake(kissfft) -BuildRequires: cmake(Qt6) -BuildRequires: cmake(Qt6LinguistTools) -BuildRequires: cmake(QuaZip-Qt6) -BuildRequires: cmake(zlib) - BuildRequires: libappindicator-devel +BuildRequires: libappstream-glib BuildRequires: libgudev-devel -BuildRequires: libxcb-devel BuildRequires: pulseaudio-libs-devel -BuildRequires: xcb-util-devel -BuildRequires: xcb-util-wm-devel +BuildRequires: qt5-qtbase-devel >= 5.2.0 +BuildRequires: quazip-qt5-devel >= 0.7.3 +BuildRequires: zlib-devel BuildRequires: systemd-devel %{?systemd_requires} -Requires: qt6-qtbase +Requires: qt5-qtbase >= 5.2.0 +Requires: qt5ct -# ckb-next, as the name suggests, is a re-activation and continuation of "ckb". -# The last released version of the original "ckb" was 0.2.7. -Obsoletes: ckb < 0.2.8-0 +Provides: bundled(kissfft) + +# ckb-next, as the name suggests, is a re-activation and continuation of "ckb" +Obsoletes: ckb %description @@ -53,49 +46,56 @@ supports much of the same functionality, including full RGB animations. %prep -%autosetup -p1 +%setup -q -# Remove the bundled libraries -rm -rf src/libs/kissfft +# Remove the bundled quazip library +rm -rf src/libs/quazip # Fedora uses /usr/libexec for daemons sed -e '/^ExecStart/cExecStart=%{_libexecdir}/ckb-next-daemon' -i linux/systemd/ckb-next-daemon.service.in -# Fedora has merged /lib into /usr/lib -sed -e 's|"/lib/udev/rules.d"|"%{_udevrulesdir}"|g' -i CMakeLists.txt - %build -# TODO: Please submit an issue to upstream (rhbz#2380492) -export CMAKE_POLICY_VERSION_MINIMUM=3.5 -%cmake \ +%cmake -H. -Bbuild \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ - -DCMAKE_INSTALL_LIBEXECDIR=libexec \ - -DDISABLE_UPDATER=1 \ - -DFORCE_INIT_SYSTEM=systemd \ -DSAFE_INSTALL=OFF \ -DSAFE_UNINSTALL=OFF \ - -DPREFER_QT6=ON \ + -DWITH_SHIPPED_QUAZIP=OFF \ + -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DCMAKE_INSTALL_LIBEXECDIR=libexec \ + -DDISABLE_UPDATER=1 +%cmake --build build --target all -- -j build -%cmake_build +pushd build +%make_build +popd + +# Color freeze fix +sed -e '/^Exec=/cExec=env QT_QPA_PLATFORMTHEME=qt5ct %{_bindir}/ckb-next' -i build/src/gui/ckb-next.desktop %install -%cmake_install +install -Dp -m 755 build/bin/ckb-next %{buildroot}%{_bindir}/ckb-next +install -Dp -m 755 build/bin/ckb-next-daemon %{buildroot}%{_libexecdir}/ckb-next-daemon -# Move the daemon from /usr/bin/ to /usr/libexec -mv %{buildroot}%{_bindir}/ckb-next-daemon %{buildroot}%{_libexecdir}/ckb-next-daemon +install -d -m 755 %{buildroot}%{_libexecdir}/ckb-next-animations +for ANIM in $(find src/animations/ -mindepth 1 -maxdepth 1 -type d -printf '%%f '); do + install -p -m 755 "build/bin/${ANIM}" "%{buildroot}%{_libexecdir}/ckb-next-animations/${ANIM}" +done + +install -Dp -m 0644 %{SOURCE3} %{buildroot}/%{_presetdir}/99-ckb-next.preset +install -Dp -m 644 linux/udev/99-ckb-next-daemon.rules %{buildroot}%{_udevrulesdir}/99-ckb-next-daemon.rules +install -Dp -m 644 linux/systemd/ckb-next-daemon.service.in %{buildroot}%{_unitdir}/ckb-next-daemon.service + +install -Dp -m 644 build/src/gui/ckb-next.png %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/ckb-next.png + +desktop-file-install --dir=%{buildroot}%{_datadir}/applications/ build/src/gui/ckb-next.desktop -install -Dp -m 0644 %{SOURCE3} %{buildroot}%{_presetdir}/99-ckb-next.preset install -Dp -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/metainfo/ckb-next.appdata.xml -install -Dp -m 0644 %{SOURCE2} %{buildroot}%{_mandir}/man1/ckb-next.1 - - -%check -desktop-file-validate %{buildroot}%{_datadir}/applications/ckb-next.desktop appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/ckb-next.appdata.xml +install -Dp -m 0644 %{SOURCE2} %{buildroot}%{_mandir}/man1/ckb-next.1 + %post %systemd_post ckb-next-daemon.service @@ -119,16 +119,11 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %license LICENSE %doc CHANGELOG.md FIRMWARE README.md %{_bindir}/ckb-next -%{_bindir}/ckb-next-dev-detect %{_libexecdir}/ckb-next-daemon -%{_libexecdir}/ckb-next-sinfo %{_libexecdir}/ckb-next-animations/ -%{_libdir}/cmake/ckb-next/ %{_datadir}/applications/ckb-next.desktop %{_datadir}/metainfo/ckb-next.appdata.xml %{_datadir}/icons/hicolor/**/apps/ckb-next.png -%{_datadir}/icons/hicolor/**/apps/ckb-next-monochrome.png -%{_datadir}/icons/hicolor/**/status/ckb-next_battery*.png %{_mandir}/man1/ckb-next.1* %{_presetdir}/99-ckb-next.preset %{_udevrulesdir}/*.rules @@ -136,105 +131,12 @@ udevadm control --reload-rules 2>&1 > /dev/null || : %changelog -* Mon Nov 10 2025 Cristian Le - 0.6.2-3 -- Allow to build with CMake 4.0 (rhbz#2380492) - -* Wed Jul 23 2025 Fedora Release Engineering - 0.6.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Mon Mar 17 2025 Artur Frenszek-Iwicki - 0.6.2-1 -- Update to v0.6.2 - -* Sun Mar 09 2025 Artur Frenszek-Iwicki - 0.6.1-1 -- Update to v0.6.1 -- Switch to Qt6 - -* Thu Jan 16 2025 Fedora Release Engineering - 0.6.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Jul 17 2024 Fedora Release Engineering - 0.6.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Jan 23 2024 Artur Frenszek-Iwicki - 0.6.0-5 -- Fix FTBFS -- Replace kissfft static linking with dynamic linking - -* Tue Jan 23 2024 Fedora Release Engineering - 0.6.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 0.6.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Jul 19 2023 Fedora Release Engineering - 0.6.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sun Jun 25 2023 Artur Frenszek-Iwicki - 0.6.0-1 -- Update to v0.6.0 -- Drop Patch0 (buffer overflow fix - backported from this release) - -* Fri May 05 2023 Nicolas Chauvet - 0.5.0-5 -- Rebuilt for quazip 1.4 - -* Tue May 02 2023 Artur Frenszek-Iwicki - 0.5.0-4 -- Add a patch to fix program aborting on launch -- Un-bundle kissfft -- Convert License tag to SPDX - -* Wed Jan 18 2023 Fedora Release Engineering - 0.5.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Jul 20 2022 Fedora Release Engineering - 0.5.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri May 27 2022 Artur Frenszek-Iwicki - 0.5.0-1 -- Update to v0.5.0 -- Remove the Qt QPA fix from desktop file - -* Wed Apr 20 2022 Artur Frenszek-Iwicki - 0.4.4-5 -- Fix FTBFS - -* Wed Jan 19 2022 Fedora Release Engineering - 0.4.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Thu Aug 19 2021 Björn Esser - 0.4.4-3 -- Rebuild (quazip) - -* Wed Jul 21 2021 Fedora Release Engineering - 0.4.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Thu Mar 18 2021 Artur Frenszek-Iwicki - 0.4.4-1 -- Update to v0.4.4 - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 0.4.3-3 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Tue Jan 26 2021 Fedora Release Engineering - 0.4.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Sun Dec 20 2020 Artur Frenszek-Iwicki - 0.4.3-1 -- Update to v0.4.3 -- Remove Patch0 (missing "extern" qualifiers - fixed upstream) -- Simplify the install section (rely on %%cmake_install) - -* Mon Jul 27 2020 Fedora Release Engineering - 0.4.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jan 28 2020 Artur Iwicki - 0.4.2-3 -- Add a patch to fix build failures - -* Tue Jan 28 2020 Fedora Release Engineering - 0.4.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - * Tue Oct 08 2019 Artur Iwicki - 0.4.2-1 - Update to latest upstream release * Tue Aug 27 2019 Artur Iwicki - 0.4.1-1 - Update to latest upstream release -* Wed Jul 24 2019 Fedora Release Engineering - 0.4.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - * Sat Mar 09 2019 Artur Iwicki - 0.4.0-1 - Update to latest upstream release diff --git a/sources b/sources index fbcb2dc..c67c379 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ckb-next-0.6.2.tar.gz) = 21eb6fbb295501e1f30ea34e1361b595161db4c498afcc81efaa6ea7593ef4b04d9fb2966913af526e8151173c47b04b4bf199d7a901dcdc17ed6cd2262c5a20 +SHA512 (ckb-next-0.4.2.tar.gz) = 4c80101e935a4d5137b0fd6aaf7d97889913af0bbb8e3097e035e2420043d6525094c1e3f7b5676e8c50328454251ff3260f6aa9b81ec583a2e8136333ee6af8