Attached is an update diff for games/pokerth.
The port now uses the upstream distfile, it no longer requires
an OpenBSD-specific backlevel fmt submodule. Tested with amd64.
$BROKEN-i386 remains set, as i386 does not build.
2.0 highlights:
port from qmake to cmake
port from Qt5 to Qt6.9.2 LTS
port to libboost >=1.83
removed mysqplpp dependency
removed curl dependency
removed tinyxml dependency
removed sqlite3 dependency
removed gsasl dependency
removed libSDL dependency
implemented TLS for websocket-Server
implemented TLS for game-server & client
new feature: dark-/light-/auto (system) appearance mode with settings
option and translations
replaced gsasl auth mechanism with plain text auth (encrypted in
combination with TLS!)
macOS: several bugfixes, functional build for macOS Monterey as minimum OS
version
android: Qt Widget GUI adapted to qt6 - no more fixed Width/Height values
in ui files
removed QtSingleApplication dependency
reproducable docker build environments for linux, windows and android build
reproducable build_macos.sh Script for easy build & deploy on macOS
new feature: 33%, 50%, 100% pot bet sizes with settings option and
translations
server heartbeat to handle former silent client disconnects
2.0.1 highlights:
several bugfixes for linux and windows audio output
hibernate/suspend fixes for GUI scaling
minor sidepot issue fixed
TCP keep-alive added
AFK timeout re-enabled
2.0.2 highlights:
macOS GUI fix
AFK timeout fix
lobby playerlist fix
diff --git games/pokerth/Makefile games/pokerth/Makefile
index 45f83e29675..ef11e06320e 100644
--- games/pokerth/Makefile
+++ games/pokerth/Makefile
@@ -2,10 +2,9 @@ BROKEN-i386 = protobuf/abseil problems
COMMENT = texas holdem poker client, local or internet games
-DIST_TUPLE = github jggimi pokerth-openbsd 2025.09.04 .
-V = 1.1.2pl20250904
+V = 2.0.2
+DIST_TUPLE = github pokerth pokerth v${V} .
PKGNAME = pokerth-${V}
-REVISION = 0
CATEGORIES = games
@@ -19,30 +18,28 @@ SUBST_VARS += MODQT_QTDIR V
ALL_TARGET = pokerth_client
-CONFIGURE_ARGS += -DCMAKE_BUILD_TYPE=RelWithDebInfo
+CONFIGURE_ARGS += -DCMAKE_BUILD_TYPE=RelWithDebInfo
+MODCMAKE_LDFLAGS += -L${LOCALBASE}/lib -liconv
+
DEBUG_PACKAGES = ${BUILD_PACKAGES}
BUILD_DEPENDS += x11/qt6/qtwebsockets
LIB_DEPENDS += devel/boost,-main
LIB_DEPENDS += devel/protobuf
-LIB_DEPENDS += devel/sdl
-LIB_DEPENDS += devel/sdl-mixer
-LIB_DEPENDS += security/libgsasl
+LIB_DEPENDS += x11/qt6/qtmultimedia
RUN_DEPENDS += devel/desktop-file-utils
-WANTLIB += ${COMPILER_LIBCXX} GL Qt6Core Qt6Gui Qt6Network
-WANTLIB += Qt6Sql Qt6Widgets Qt6Xml SDL SDL_mixer boost_atomic-mt
-WANTLIB += boost_filesystem-mt boost_iostreams-mt boost_program_options-mt
-WANTLIB += boost_random-mt boost_regex-mt
-WANTLIB += boost_thread-mt boost_thread-mt c crypto curl gsasl m protobuf
-WANTLIB += sqlite3 ssl
-
-pre-configure:
- cd ${WRKSRC} && \
- protoc --cpp_out=src/third_party/protobuf chatcleaner.proto && \
- protoc --cpp_out=src/third_party/protobuf pokerth.proto && \
- ${SUBST_CMD} pokerth.desktop src/game_defs.h
+WANTLIB += ${COMPILER_LIBCXX} GL Qt6Core Qt6Gui Qt6Multimedia
+WANTLIB += Qt6Network Qt6Sql Qt6Widgets Qt6Xml boost_atomic-mt
+WANTLIB += boost_chrono-mt boost_container-mt boost_date_time-mt
+WANTLIB += boost_filesystem-mt boost_iostreams-mt boost_program_options-mt
+WANTLIB += boost_random-mt boost_regex-mt boost_thread-mt c crypto
+WANTLIB += iconv m protobuf ssl
+
+
+pre-build:
+ ${SUBST_CMD} ${WRKSRC}/pokerth.desktop
.include <bsd.port.mk>
diff --git games/pokerth/distinfo games/pokerth/distinfo
index 9c3b9078f67..07458ec221e 100644
--- games/pokerth/distinfo
+++ games/pokerth/distinfo
@@ -1,2 +1,2 @@
-SHA256 (jggimi-pokerth-openbsd-2025.09.04.tar.gz) =
njlbeGY9KJUAIX/yTtUsWaP4hEwftZlLHoFi2+JE5Oo=
-SIZE (jggimi-pokerth-openbsd-2025.09.04.tar.gz) = 27752902
+SHA256 (pokerth-pokerth-v2.0.2.tar.gz) =
Ccmk8gt2a6BCi50OkE1v/ZT7HlRWeZnuJ/HBo3v87d0=
+SIZE (pokerth-pokerth-v2.0.2.tar.gz) = 27503666
diff --git games/pokerth/patches/patch-src_gui_qt6-qml_CMakeLists_txt
games/pokerth/patches/patch-src_gui_qt6-qml_CMakeLists_txt
new file mode 100644
index 00000000000..5bec9a310de
--- /dev/null
+++ games/pokerth/patches/patch-src_gui_qt6-qml_CMakeLists_txt
@@ -0,0 +1,9 @@
+Index: src/gui/qt6-qml/CMakeLists.txt
+--- src/gui/qt6-qml/CMakeLists.txt.orig
++++ src/gui/qt6-qml/CMakeLists.txt
+@@ -132,5 +132,4 @@ endif()
+
+ install(TARGETS pokerth_qml-client DESTINATION bin OPTIONAL)
+ install(DIRECTORY ../../../data DESTINATION share/pokerth)
+-install(FILES ../../../pokerth_qml.desktop DESTINATION share/applications)
+ install(FILES ../../../pokerth.png DESTINATION share/pixmaps)
diff --git games/pokerth/patches/patch-src_net_clientstate_cpp
games/pokerth/patches/patch-src_net_clientstate_cpp
new file mode 100644
index 00000000000..263a06d5e96
--- /dev/null
+++ games/pokerth/patches/patch-src_net_clientstate_cpp
@@ -0,0 +1,14 @@
+TCP_KEEPALIVE not supported
+
+Index: src/net/clientstate.cpp
+--- src/net/clientstate.cpp.orig
++++ src/net/clientstate.cpp
+@@ -604,7 +604,7 @@ ClientStateStartConnect::HandleConnect(const boost::sy
+ setsockopt(fd, IPPROTO_TCP, TCP_KEEPALIVE, &keepidle,
sizeof(keepidle));
+ setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, &keepintvl,
sizeof(keepintvl));
+ setsockopt(fd, IPPROTO_TCP, TCP_KEEPCNT, &keepcnt,
sizeof(keepcnt));
+-#else
++#elif !defined(__OpenBSD__)
+ setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &keepidle,
sizeof(keepidle));
+ setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, &keepintvl,
sizeof(keepintvl));
+ setsockopt(fd, IPPROTO_TCP, TCP_KEEPCNT, &keepcnt,
sizeof(keepcnt));
diff --git games/pokerth/pkg/PLIST games/pokerth/pkg/PLIST
index 4dc8720dab6..c93473395a8 100644
--- games/pokerth/pkg/PLIST
+++ games/pokerth/pkg/PLIST
@@ -290,6 +290,7 @@ share/pokerth/data/gfx/gui/misc/startwindowbg10_mobile.png
share/pokerth/data/gfx/gui/misc/welcomepokerth10_desktop.png
share/pokerth/data/gfx/gui/misc/welcomepokerth10_mobile.png
share/pokerth/data/gfx/gui/misc/windowicon.png
+share/pokerth/data/gfx/gui/misc/windowicon_transparent.png
share/pokerth/data/gfx/gui/table/
share/pokerth/data/gfx/gui/table/danuxi1/
share/pokerth/data/gfx/gui/table/danuxi1/bigblindPuck.png
@@ -438,6 +439,7 @@ share/pokerth/data/sounds/default/playerconnected.wav
share/pokerth/data/sounds/default/raise.wav
share/pokerth/data/sounds/default/yourturn.wav
share/pokerth/data/translations/
+share/pokerth/data/translations/pokerth_START_HERE.qm
share/pokerth/data/translations/pokerth_af.qm
share/pokerth/data/translations/pokerth_bg.qm
share/pokerth/data/translations/pokerth_ca.qm
@@ -476,6 +478,7 @@ share/pokerth/data/translations/qt_gl.qm
share/pokerth/data/translations/qt_he.qm
share/pokerth/data/translations/qt_hu.qm
share/pokerth/data/translations/qt_ja.qm
+share/pokerth/data/translations/qt_lt.qm
share/pokerth/data/translations/qt_nl.qm
share/pokerth/data/translations/qt_pl.qm
share/pokerth/data/translations/qt_pt.qm
@@ -484,6 +487,7 @@ share/pokerth/data/translations/qt_sk.qm
share/pokerth/data/translations/qt_sl.qm
share/pokerth/data/translations/qt_sv.qm
share/pokerth/data/translations/qt_uk.qm
+share/pokerth/data/translations/qt_untranslated.qm
share/pokerth/data/translations/qt_zh_CN.qm
share/pokerth/data/translations/qt_zh_TW.qm
@tag update-desktop-database