File pokerth.spec of Package pokerth
#
# spec file for package pokerth
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: pokerth
Version: 1.1.2
Release: 0
Summary: Multi-Player "Texas Hold'em" Poker Game
License: GPL-2.0-only
Group: Amusements/Games/Board/Card
URL: http://www.pokerth.net/
Source0: http://downloads.sourceforge.net/pokerth/pokerth-%{version}-rc.tar.bz2
Patch0: pokerth-disable_no_dead_strip_inits_and_terms.patch
# PATCH-FIX-UPSTREAM pokerth-1.1.2-protobuf-3.5-compat.patch -- picked from Arch Linux, see https://github.com/pokerth/pokerth/issues/339
Patch1: pokerth-1.1.2-protobuf-3.5-compat.patch
# PATCH-FIX-UPSTREAM -- fix build with boost 1.70.0, see https://github.com/pokerth/pokerth/issues/368
Patch2: websocketpp-replace-make_shared-with-new-in-some-cases.patch
# PATCH-FIX-UPSTREAM -- fix build with boost 1.73.0, see https://github.com/pokerth/pokerth/issues/395
Patch3: Fix-using-boost-placeholders.patch
Patch4: pokerth-1.1.2-protobuf-23.patch
BuildRequires: SDL_mixer-devel
BuildRequires: dos2unix
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: glib2-devel
BuildRequires: gnutls-devel
BuildRequires: libbz2-devel
BuildRequires: libcurl-devel
BuildRequires: libgcrypt-devel
BuildRequires: libgsasl-devel
BuildRequires: libicu-devel
BuildRequires: libircclient-devel
BuildRequires: libqt5-qtbase-devel
BuildRequires: protobuf-devel
BuildRequires: sqlite3-devel
BuildRequires: tinyxml-devel
BuildRequires: update-desktop-files
BuildRequires: zlib-devel
%if 0%{?suse_version} >= 1325
BuildRequires: libboost_date_time-devel
BuildRequires: libboost_filesystem-devel
BuildRequires: libboost_iostreams-devel
BuildRequires: libboost_program_options-devel
BuildRequires: libboost_random-devel
BuildRequires: libboost_regex-devel
BuildRequires: libboost_system-devel
BuildRequires: libboost_thread-devel
%else
BuildRequires: boost-devel
%endif
%description
PokerTH is a poker game written in C++/Qt. You can play the popular "Texas Hold'em" poker variant
against up to nine computer-opponents or play network games with people all over the world.
This poker engine is available for Linux, Windows, and MacOSX.
%package server
Summary: Multi-Player "Texas Hold'em" Poker Game
Group: Amusements/Games/Board/Card
%description server
Dedicated server for PokerTH. Run 'pokerth_server' to start the server,
and use a terminal window. You don't have to, if you want to run game on
a PokerTH server in the internet.
%prep
%setup -q -n pokerth-%{version}-rc
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%if 0%{?suse_version} >= 1600
%patch4 -p1
%endif
# fix permission of ChangeLog
chmod a-x ChangeLog COPYING
# convert dos files to unix files
dos2unix docs/server_setup_howto.txt
%build
# Regenerate protobuf files
protoc --cpp_out=src/third_party/protobuf/ pokerth.proto chatcleaner.proto
# Build PokerTH Server
%qmake5 QMAKE_CFLAGS_ISYSTEM="" pokerth.pro
make %{?_smp_mflags}
make clean
# Build PokerTH Client
%qmake5 "CONFIG+=client" QMAKE_CFLAGS_ISYSTEM="" pokerth.pro
make %{?_smp_mflags}
%install
make INSTALL_ROOT=%{buildroot} install
mkdir -p %{buildroot}/%{_datadir}/pixmaps
install -m 644 pokerth.png %{buildroot}/%{_datadir}/pixmaps
%suse_update_desktop_file -i %{name} Game CardGame
mkdir -p %{buildroot}/%{_bindir}
install -m 755 %{name} %{buildroot}/%{_bindir}
install -m 755 bin/%{name}_server %{buildroot}/%{_bindir}/%{name}_server
# Remove duplicate file with fdupes
%fdupes -s %{buildroot}/%{_datadir}
%files
%defattr(-, root, root)
%{_bindir}/%{name}
%dir %{_datadir}/%{name}
%{_datadir}/pixmaps/%{name}.png
%{_datadir}/applications/%{name}.desktop
%license COPYING
%doc ChangeLog TODO
%defattr(644,root,root)
%{_datadir}/%{name}/*
%files server
%defattr(-, root, root)
%{_bindir}/%{name}_server
%license COPYING
%doc ChangeLog TODO docs/server_setup_howto.txt
%changelog