## START: Set by rpmautospec ## (rpmautospec version 0.7.3) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %bcond_without tests %if 0%{?fedora} >= 40 %global qtver 6 %else %global qtver 5 %endif %global qmake %{expand:%{qmake_qt%{qtver}}} %global forgeurl https://github.com/mooltipass/%{name} Version: 1.04.0 %forgemeta Name: moolticute Release: %autorelease Summary: Companion GUI application for Mooltipass password manager devices # The entire source code is GPL-3.0-or-later except: # src/AnsiEscapeCodeHandler.[cpp|h] which is GPL-3.0-only WITH Qt-GPL-exception-1.0, # src/CyoEncode/ which is BSD-2-Clause, # src/QtAwesome/ which is MIT AND OFL-1.1 AND CC-BY-3.0 (see src/QtAwesome/README.md for details), # src/SimpleCrypt/ which is BSD-3-Clause, # src/http-parser/ which is MIT, # src/qtcsv/ which is MIT, # src/qtcsv6/ which is MIT, # src/zxcvbn-c which is BSD-3-Clause. # # Note: src/qwinoverlappedionotifier.[cpp|h] is not compiled, and thus ignored. # Note: Missing license files are being added: https://github.com/mooltipass/moolticute/pull/1098 License: GPL-3.0-or-later AND (GPL-3.0-only WITH Qt-GPL-exception-1.0) AND BSD-2-Clause AND BSD-3-Clause AND MIT AND OFL-1.1 AND CC-BY-3.0 URL: %{forgeurl} Source0: %{forgesource} # https://github.com/mooltipass/moolticute/pull/1231 Patch1: moolticute-unbundle-QZXing.patch # QSimpleUpdater is licensed under DBAD, which isn't approved. The updater isn't used anyway, so this patch removes it. Patch2: moolticute-remove-updater.patch Requires: systemd Requires: hicolor-icon-theme Requires: mooltipass-udev BuildRequires: gcc-c++ BuildRequires: make BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(Qt%{qtver}Core) BuildRequires: pkgconfig(Qt%{qtver}DBus) BuildRequires: pkgconfig(Qt%{qtver}Gui) BuildRequires: pkgconfig(Qt%{qtver}Network) BuildRequires: pkgconfig(Qt%{qtver}WebSockets) BuildRequires: pkgconfig(Qt%{qtver}Widgets) BuildRequires: pkgconfig(QZXing) BuildRequires: qt%{qtver}-linguist BuildRequires: desktop-file-utils BuildRequires: libappstream-glib %if %{with tests} BuildRequires: pkgconfig(Qt%{qtver}Test) %endif %description Moolticute is an easy to use companion app to your Mooltipass device and extends the power of the device to more platform/tools. It allows you to manage your Mooltipass with a cross-platform app and daemon service that handles all USB communication with the device. Moolticute comes with a daemon that runs in the background, and a user interface app to control your Mooltipass. Other clients can also connect and talk to the daemon (it uses a WebSocket connection and simple JSON messages). %prep %forgeautosetup -p1 # Remove bundled QZXing rm -rf src/QZXing # Remove bundled QSimpleUpdater rm -rf src/QSimpleUpdater # Change the version from git to the specific release version. # Also set the APP_TYPE to deb to disable the update checker. This isn't # used anywhere else, so doesn't really matter. cat < ./src/version.h #ifndef VERSION__H #define VERSION__H #define APP_VERSION "v%{version}" #define APP_TYPE "deb" #endif EOF %build %qmake Moolticute.pro -o build/ \ PREFIX=%{_prefix} \ CONFIG+=use_system_qzxing %make_build -C build %install %make_install INSTALL_ROOT=%{buildroot} -C build # Collect licenses mkdir LICENSES install -pm 0644 LICENSE LICENSES/LICENSE.GPL3 install -pm 0644 src/AnsiEscapeCodeHandler/LICENSE.GPL3-EXCEPT LICENSES/LICENSE.AnsiEscapeCodeHandler install -pm 0644 src/QtAwesome/LICENSE.md LICENSES/LICENSE.QtAwesome install -pm 0644 src/http-parser/LICENSE-MIT LICENSES/LICENSE.http-parser install -pm 0644 src/qtcsv/LICENSE LICENSES/LICENSE.qtcsv install -pm 0644 src/qtcsv6/LICENSE LICENSES/LICENSE.qtcsv6 install -pm 0644 src/CyoEncode/LICENSE.TXT LICENSES/LICENSE.CyoEncode install -pm 0644 src/SimpleCrypt/LICENSE LICENSES/LICENSE.SimpleCrypt install -pm 0644 src/zxcvbn-c/LICENSE LICENSES/LICENSE.zxcvbn-c %check desktop-file-validate %{buildroot}/%{_datadir}/applications/moolticute.desktop appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml %if %{with tests} %make_build -C build check %endif %post %systemd_post moolticuted.service %preun %systemd_preun moolticuted.service %postun %systemd_postun_with_restart moolticuted.service %files %license LICENSES/* %doc README.md %{_bindir}/moolticute %{_bindir}/moolticuted %{_metainfodir}/*.metainfo.xml %{_datadir}/applications/moolticute.desktop %{_datadir}/icons/hicolor/scalable/apps/moolticute.svg %{_datadir}/icons/hicolor/32x32/apps/moolticute.png %{_datadir}/icons/hicolor/128x128/apps/moolticute.png %{_unitdir}/moolticuted.service %changelog ## START: Generated by rpmautospec * Fri Jul 26 2024 Arthur Bols - 1.04.0-1 - Update to 1.04.0 * Thu Jul 18 2024 Fedora Release Engineering - 1.03.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Fri Mar 01 2024 Arthur Bols - 1.03.0-6 - Enable Qt6 for Fedora >= 40 * Tue Jan 23 2024 Arthur Bols - 1.03.0-5 - Update to 1.03.2-testing (GCC 14 Fix) * Mon Jan 22 2024 Arthur Bols - 1.03.0-4 - Remove udev rules * Mon Jan 22 2024 Arthur Bols - 1.03.0-3 - Cleanup spec - Use %%forgemeta macros - Use pkgconfig * Sun Jan 21 2024 Fedora Release Engineering - 1.03.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Tue Nov 07 2023 Arthur Bols - 1.03.0-1 - Update to 1.03.0 * Mon Oct 16 2023 Arthur Bols - 1.02.0-1 - Update to 1.02.0 * Mon Oct 16 2023 Arthur Bols - 1.01.0-6 - Use package name in source tarball * Thu Jul 20 2023 Fedora Release Engineering - 1.01.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Thu Feb 09 2023 Arthur Bols - 1.01.0-1 - Upstream release 1.01.0 * Sun Jan 22 2023 Arthur Bols - 1.00.1-5 - Split off udev rules to mooltipass-udev - Rename patch * Thu Jan 19 2023 Fedora Release Engineering - 1.00.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Thu Jan 12 2023 Arthur Bols - 1.00.1-3 - Specify udev rules source by commit hash * Sun Jan 01 2023 Arthur Bols - 1.00.1-2 - Add missing license files * Thu Dec 01 2022 Arthur Bols - 1.00.1-1 - Upstream release 1.00.1 - Update license field for SPDX change - Enable LTO * Thu Jul 21 2022 Fedora Release Engineering - 0.55.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Sun Mar 27 2022 Arthur Bols - 0.55.0-1 - Upstream release 0.55.0 * Thu Jan 20 2022 Fedora Release Engineering - 0.53.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Mon Dec 06 2021 Arthur Bols - 0.53.2-1 - Upstream release 0.53.2 * Fri Dec 03 2021 Arthur Bols - 0.53.0-1 - Upstream release 0.53.0 * Tue Sep 14 2021 Arthur Bols - 0.52.0-1 - Upstream release 0.52.0 * Thu Jul 22 2021 Fedora Release Engineering - 0.50.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Sun Jul 04 2021 Arthur Bols - 0.50.1-1 - Initial package ## END: Generated by rpmautospec