%global gittag0 2023-09-14-Release-2.9.0 %define lang_subpkg() \ %package langpack-%{1}\ Summary: %{2} language data for %{name}\ BuildArch: noarch\ Requires: %{name} = %{version}-%{release}\ Supplements: (%{name} = %{version}-%{release} and langpacks-%{1})\ \ %description langpack-%{1}\ %{2} language data for %{name}.\ \ %files langpack-%{1}\ %{_datadir}/%{name}/translations/%{name}_%{1}.qm\ %{_datadir}/oracle/translations/oracle_%{1}.qm Name: cockatrice Version: 2.9.0 Release: %autorelease Summary: A cross-platform virtual tabletop software for multi-player card games # * Public Domain (cockatrice/resources/countries/*.svg) # * GPLv2+ (most of the code) # * BSD (cockatrice/src/qt-json/, common/sfmt/, # * GPLv2 (oracle/src/zip/) # * CPL or LGPLv2 (servatrice/src/smtp/) # # Webclient code (not included?) # * ASL 2.0 (webclient/js/protobuf.js, webclient/js/long.js, # webclient/js/bytebuffer.js) # * MIT (webclient/js/jquery-*.js) License: GPLv2 and Public Domain URL: https://%{name}.github.io Source0: https://github.com/%{name}/%{name}/archive/%{gittag0}.tar.gz Source1: cockatrice.appdata.xml Patch0: cockatrice-ea9e966330-fix-desktop-entry-files.patch # Support MacOS 12 & 13. Support Protobuf 23. Deprecate MacOS 11. (#4884) # https://github.com/Cockatrice/Cockatrice/commit/ee674cb0cfa42875eef1a0a80597840816ad86ea # Backported to the 2.9.0 release Patch1: cockatrice-ee674cb0cf-protobuf-23.patch BuildRequires: gcc-c++ BuildRequires: cmake >= 3.1 BuildRequires: protobuf-devel BuildRequires: qt5-qttools-devel BuildRequires: qt5-qtsvg-devel BuildRequires: qt5-qtmultimedia-devel BuildRequires: zlib-devel BuildRequires: sqlite-devel BuildRequires: qt5-qtwebsockets-devel BuildRequires: libappstream-glib BuildRequires: desktop-file-utils Requires: wget Requires: hicolor-icon-theme Requires: %{name}-utils = %{version}-%{release} %description Cockatrice is an open-source multi-platform supported program for playing tabletop card games over a network. The program's server design prevents any kind of client modifications to gain an unfair advantage in a game. The client also has a built in single-player mode where you can create decks without being connected to a server. %package server Summary: Standalone server for Cockatrice Provides: servatrice = %{version}-%{release} Requires: %{name}-utils = %{version}-%{release} %description server Cockatrice is an open-source multi-platform supported program for playing tabletop card games over a network. The program's server design prevents any kind of client modifications to gain an unfair advantage in a game. The client also has a built in single-player mode where you can create decks without being connected to a server. This is the standalone server, "servatrice". %package utils Summary: Utilities common to both cockatrice and servatrice %description utils Cockatrice is an open-source multi-platform supported program for playing tabletop card games over a network. The program's server design prevents any kind of client modifications to gain an unfair advantage in a game. The client also has a built in single-player mode where you can create decks without being connected to a server. This package provides utilities required by both cockatrice and servatrice. %prep %setup -q -n Cockatrice-%{gittag0} %patch -P 0 %patch -P 1 -p1 find . -iname "*.h" -exec chmod a-x "{}" \; find . -iname "*.cpp" -exec chmod a-x "{}" \; # The API for Protobuf v4 (23.x) requires at least C++14. When compiled as # C++17, abseil-cpp (a transitive dependency via the generated bindings) # requires API users to compile with at least C++17. sed -r -i 's/(CMAKE_CXX_STANDARD )11\b/\117/' CMakeLists.txt %build %cmake \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DBUILD_SHARED_LIBS=OFF \ -DWITH_SERVER=ON %cmake_build %check appstream-util validate-relax --nonet %{SOURCE1} desktop-file-validate cockatrice/%{name}.desktop desktop-file-validate servatrice/servatrice.desktop desktop-file-validate oracle/oracle.desktop %install %cmake_install install -m644 -D %{SOURCE1} %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml rm %{buildroot}%{_datadir}/%{name}/translations/%{name}_en@pirate.qm rm %{buildroot}%{_datadir}/oracle/translations/oracle_en@pirate.qm %files %doc README.md %license LICENSE %{_bindir}/{cockatrice,oracle} %{_datadir}/applications/{cockatrice,oracle}.desktop %{_datadir}/appdata/* %{_datadir}/%{name} %{_datadir}/icons/hicolor/{48x48,scalable}/apps/* %{_datadir}/oracle %exclude %{_datadir}/%{name}/translations/%{name}_*.qm %exclude %{_datadir}/oracle/translations/oracle_*.qm %lang_subpkg cs Czech %lang_subpkg de German %lang_subpkg en_US English %lang_subpkg es Spanish %lang_subpkg et Estonian %lang_subpkg fr French %lang_subpkg it Italian %lang_subpkg ja Japanese %lang_subpkg ko Korean %lang_subpkg nb Norwegian %lang_subpkg nl Dutch %lang_subpkg pl Polish %lang_subpkg pt Portuguese %lang_subpkg pt_BR Brazil %lang_subpkg ru Russian %lang_subpkg sr Serbian %lang_subpkg sv Swedish %lang_subpkg zh-Hans "Chinese (Simplified)" %files utils %license LICENSE %{_bindir}/dbconverter %files server %license LICENSE %{_bindir}/servatrice %{_datadir}/servatrice %{_datadir}/applications/servatrice.desktop %changelog %autochangelog