aboutsummaryrefslogtreecommitdiff
path: root/games/cockatrice
diff options
context:
space:
mode:
authorSean Bruno <sbruno@FreeBSD.org>2018-05-18 19:35:50 +0000
committerSean Bruno <sbruno@FreeBSD.org>2018-05-18 19:35:50 +0000
commit045d9ff18898ab7a2d471be2330601b5da5db65e (patch)
tree6cffa31440cb8eb1c3575e656738f7d5f858f189 /games/cockatrice
parentd12f832e5491b9b0410186537611513a40746826 (diff)
downloadports-045d9ff18898ab7a2d471be2330601b5da5db65e.tar.gz
ports-045d9ff18898ab7a2d471be2330601b5da5db65e.zip
games/cockatrice
- enable server component (servatrice) - add options for server, client and mysql support - add startup script for servatrice - add optional runtime dependency on mysql-server for installs to the same machine or jail. Reviewed by: mat (OPTIONS_SUB help) Differential Revision: https://reviews.freebsd.org/D15416
Notes
Notes: svn path=/head/; revision=470321
Diffstat (limited to 'games/cockatrice')
-rw-r--r--games/cockatrice/Makefile32
-rw-r--r--games/cockatrice/files/servatrice.in34
-rw-r--r--games/cockatrice/pkg-plist196
3 files changed, 162 insertions, 100 deletions
diff --git a/games/cockatrice/Makefile b/games/cockatrice/Makefile
index 3d89579e04dc..6fc930a43d0b 100644
--- a/games/cockatrice/Makefile
+++ b/games/cockatrice/Makefile
@@ -3,24 +3,46 @@
PORTNAME= Cockatrice
PORTVERSION= 2.5.1.g2018.04.16
+PORTREVISION= 1
CATEGORIES= games
MAINTAINER= sbruno@FreeBSD.org
-COMMENT= Cross-platform virtual tabletop for multiplayer card games
+COMMENT= Virtual tabletop client and server for multiplayer card games
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libprotobuf.so:devel/protobuf
+USES= cmake compiler:c++11-lib
+USE_QT5= buildtools concurrent core network qmake widgets
USE_GITHUB= yes
GH_TAGNAME= 2018-04-16-Release-2.5.1
-USES= cmake compiler:c++11-lib
-USE_QT5= buildtools concurrent core multimedia network printsupport \
- qmake svg linguisttools widgets gui
-
INSTALLS_ICONS= yes
DATADIR= ${PREFIX}/share/${PORTNAME:tl}
+OPTIONS_DEFINE= COCKATRICE SERVATRICE MYSQL
+OPTIONS_DEFAULT= COCKATRICE
+OPTIONS_SUB= yes
+
+COCKATRICE_DESC= Build Cockatrice Client
+SERVATRICE_DESC= Build Cockatrice Server
+MYSQL_DESC= (Server Only) Add runtime dependencies on mysql-server
+
+SERVATRICE_CMAKE_ON= -DWITH_SERVER=ON
+SERVATRICE_CMAKE_OFF= -DWITH_SERVER=OFF
+COCKATRICE_CMAKE_ON= -DWITH_CLIENT=ON -DWITH_ORACLE=ON
+COCKATRICE_CMAKE_OFF= -DWITH_CLIENT=OFF -DWITH_ORACLE=OFF
+
+COCKATRICE_USE= qt5=multimedia,printsupport,svg,linguisttools,gui
+SERVATRICE_USE= qt5=sql,sql-mysql,websockets
+SERVATRICE_USE+= RC_SUBR=servatrice
+
+MYSQL_USES+= mysql:server
+MYSQL_SUB_LIST_OFF= mysql=""
+MYSQL_SUB_LIST= mysql="mysql"
+
+SERVATRICE_LDFLAGS+= -lexecinfo
+
.include <bsd.port.mk>
diff --git a/games/cockatrice/files/servatrice.in b/games/cockatrice/files/servatrice.in
new file mode 100644
index 000000000000..0eed87c08d7f
--- /dev/null
+++ b/games/cockatrice/files/servatrice.in
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: servatrice
+# REQUIRE: LOGIN %%mysql%%
+# KEYWORD: shutdown
+
+#
+# Add the following line to /etc/rc.conf to enable servatrice:
+# servatrice_enable (bool): Set to "NO" by default.
+# servatrice_optfile (str): Server-specific option file.
+# Set it in the rc.conf or default behaviour of
+# `servatriced_safe` itself, will be picking
+# ${servatrice_confdir}/my.cnf if it exists.
+# servatrice_pidfile (str): Custum PID file path and name.
+# Default to "${servatrice_dbdir}/${hostname}.pid".
+# servatrice_args (str): Custom additional arguments to be passed
+# to servatriced_safe (default empty).
+#
+
+. /etc/rc.subr
+
+name="servatrice"
+
+load_rc_config $name
+
+: ${servatrice_enable="NO"}
+: ${servatrice_flags="--config /usr/local/etc/servatrice.ini 2>1 & > /dev/null"}
+
+command="/usr/local/bin/servatrice"
+
+run_rc_command "$1"
diff --git a/games/cockatrice/pkg-plist b/games/cockatrice/pkg-plist
index 9893c55a944c..e360fc651241 100644
--- a/games/cockatrice/pkg-plist
+++ b/games/cockatrice/pkg-plist
@@ -1,95 +1,101 @@
-bin/cockatrice
-bin/oracle
-share/applications/cockatrice.desktop
-share/applications/oracle.desktop
-%%DATADIR%%/sounds/Default/attack_step.wav
-%%DATADIR%%/sounds/Default/buddy_join.wav
-%%DATADIR%%/sounds/Default/buddy_leave.wav
-%%DATADIR%%/sounds/Default/end_step.wav
-%%DATADIR%%/sounds/Default/player_join.wav
-%%DATADIR%%/sounds/Default/start_combat.wav
-%%DATADIR%%/sounds/Default/tap_card.wav
-%%DATADIR%%/sounds/Legacy/all_mention.wav
-%%DATADIR%%/sounds/Legacy/chat_mention.wav
-%%DATADIR%%/sounds/Legacy/draw_step.wav
-%%DATADIR%%/sounds/Legacy/play_card.wav
-%%DATADIR%%/sounds/Legacy/player_join.wav
-%%DATADIR%%/sounds/Legacy/private_message.wav
-%%DATADIR%%/sounds/Legacy/shuffle.wav
-%%DATADIR%%/sounds/Legacy/tap_card.wav
-%%DATADIR%%/sounds/Legacy/untap_card.wav
-%%DATADIR%%/themes/Default/.gitignore
-%%DATADIR%%/themes/Fabric/zones/handzone.png
-%%DATADIR%%/themes/Fabric/zones/playerzone.png
-%%DATADIR%%/themes/Fabric/zones/stackzone.png
-%%DATADIR%%/themes/Fabric/zones/tablezone.png
-%%DATADIR%%/themes/Leather/zones/handzone.png
-%%DATADIR%%/themes/Leather/zones/playerzone.png
-%%DATADIR%%/themes/Leather/zones/stackzone.png
-%%DATADIR%%/themes/Leather/zones/tablezone.png
-%%DATADIR%%/themes/Plasma/zones/handzone.png
-%%DATADIR%%/themes/Plasma/zones/playerzone.png
-%%DATADIR%%/themes/Plasma/zones/stackzone.png
-%%DATADIR%%/themes/Plasma/zones/tablezone.png
-%%DATADIR%%/themes/VelvetMarble/zones/handzone.jpg
-%%DATADIR%%/themes/VelvetMarble/zones/playerzone.jpg
-%%DATADIR%%/themes/VelvetMarble/zones/stackzone.jpg
-%%DATADIR%%/themes/VelvetMarble/zones/tablezone.jpg
-%%DATADIR%%/translations/cockatrice_ca.qm
-%%DATADIR%%/translations/cockatrice_cs.qm
-%%DATADIR%%/translations/cockatrice_de.qm
-%%DATADIR%%/translations/cockatrice_el.qm
-%%DATADIR%%/translations/cockatrice_en.qm
-%%DATADIR%%/translations/cockatrice_en@pirate.qm
-%%DATADIR%%/translations/cockatrice_es.qm
-%%DATADIR%%/translations/cockatrice_et.qm
-%%DATADIR%%/translations/cockatrice_fi.qm
-%%DATADIR%%/translations/cockatrice_fr.qm
-%%DATADIR%%/translations/cockatrice_he.qm
-%%DATADIR%%/translations/cockatrice_hu.qm
-%%DATADIR%%/translations/cockatrice_it.qm
-%%DATADIR%%/translations/cockatrice_ja.qm
-%%DATADIR%%/translations/cockatrice_ko.qm
-%%DATADIR%%/translations/cockatrice_lt.qm
-%%DATADIR%%/translations/cockatrice_nb.qm
-%%DATADIR%%/translations/cockatrice_nl.qm
-%%DATADIR%%/translations/cockatrice_pl.qm
-%%DATADIR%%/translations/cockatrice_pt.qm
-%%DATADIR%%/translations/cockatrice_pt_BR.qm
-%%DATADIR%%/translations/cockatrice_ru.qm
-%%DATADIR%%/translations/cockatrice_sr.qm
-%%DATADIR%%/translations/cockatrice_sv.qm
-%%DATADIR%%/translations/cockatrice_tr.qm
-%%DATADIR%%/translations/cockatrice_uk.qm
-%%DATADIR%%/translations/cockatrice_zh-Hans.qm
-share/icons/hicolor/48x48/apps/cockatrice.png
-share/icons/hicolor/48x48/apps/oracle.png
-share/icons/hicolor/scalable/apps/cockatrice.svg
-share/icons/hicolor/scalable/apps/oracle.svg
-share/oracle/translations/oracle_ca.qm
-share/oracle/translations/oracle_cs.qm
-share/oracle/translations/oracle_de.qm
-share/oracle/translations/oracle_el.qm
-share/oracle/translations/oracle_en.qm
-share/oracle/translations/oracle_en@pirate.qm
-share/oracle/translations/oracle_es.qm
-share/oracle/translations/oracle_et.qm
-share/oracle/translations/oracle_fi.qm
-share/oracle/translations/oracle_fr.qm
-share/oracle/translations/oracle_he.qm
-share/oracle/translations/oracle_hu.qm
-share/oracle/translations/oracle_it.qm
-share/oracle/translations/oracle_ja.qm
-share/oracle/translations/oracle_ko.qm
-share/oracle/translations/oracle_lt.qm
-share/oracle/translations/oracle_nb.qm
-share/oracle/translations/oracle_nl.qm
-share/oracle/translations/oracle_pl.qm
-share/oracle/translations/oracle_pt.qm
-share/oracle/translations/oracle_pt_BR.qm
-share/oracle/translations/oracle_ru.qm
-share/oracle/translations/oracle_sr.qm
-share/oracle/translations/oracle_sv.qm
-share/oracle/translations/oracle_tr.qm
-share/oracle/translations/oracle_uk.qm
-share/oracle/translations/oracle_zh-Hans.qm
+%%SERVATRICE%%bin/servatrice
+%%SERVATRICE%%share/applications/servatrice.desktop
+%%SERVATRICE%%share/icons/hicolor/48x48/apps/servatrice.png
+%%SERVATRICE%%share/icons/hicolor/scalable/apps/servatrice.svg
+%%SERVATRICE%%share/servatrice/servatrice.ini.example
+%%SERVATRICE%%share/servatrice/servatrice.sql
+%%COCKATRICE%%bin/cockatrice
+%%COCKATRICE%%bin/oracle
+%%COCKATRICE%%share/applications/cockatrice.desktop
+%%COCKATRICE%%share/applications/oracle.desktop
+%%COCKATRICE%%%%DATADIR%%/sounds/Default/attack_step.wav
+%%COCKATRICE%%%%DATADIR%%/sounds/Default/buddy_join.wav
+%%COCKATRICE%%%%DATADIR%%/sounds/Default/buddy_leave.wav
+%%COCKATRICE%%%%DATADIR%%/sounds/Default/end_step.wav
+%%COCKATRICE%%%%DATADIR%%/sounds/Default/player_join.wav
+%%COCKATRICE%%%%DATADIR%%/sounds/Default/start_combat.wav
+%%COCKATRICE%%%%DATADIR%%/sounds/Default/tap_card.wav
+%%COCKATRICE%%%%DATADIR%%/sounds/Legacy/all_mention.wav
+%%COCKATRICE%%%%DATADIR%%/sounds/Legacy/chat_mention.wav
+%%COCKATRICE%%%%DATADIR%%/sounds/Legacy/draw_step.wav
+%%COCKATRICE%%%%DATADIR%%/sounds/Legacy/play_card.wav
+%%COCKATRICE%%%%DATADIR%%/sounds/Legacy/player_join.wav
+%%COCKATRICE%%%%DATADIR%%/sounds/Legacy/private_message.wav
+%%COCKATRICE%%%%DATADIR%%/sounds/Legacy/shuffle.wav
+%%COCKATRICE%%%%DATADIR%%/sounds/Legacy/tap_card.wav
+%%COCKATRICE%%%%DATADIR%%/sounds/Legacy/untap_card.wav
+%%COCKATRICE%%%%DATADIR%%/themes/Default/.gitignore
+%%COCKATRICE%%%%DATADIR%%/themes/Fabric/zones/handzone.png
+%%COCKATRICE%%%%DATADIR%%/themes/Fabric/zones/playerzone.png
+%%COCKATRICE%%%%DATADIR%%/themes/Fabric/zones/stackzone.png
+%%COCKATRICE%%%%DATADIR%%/themes/Fabric/zones/tablezone.png
+%%COCKATRICE%%%%DATADIR%%/themes/Leather/zones/handzone.png
+%%COCKATRICE%%%%DATADIR%%/themes/Leather/zones/playerzone.png
+%%COCKATRICE%%%%DATADIR%%/themes/Leather/zones/stackzone.png
+%%COCKATRICE%%%%DATADIR%%/themes/Leather/zones/tablezone.png
+%%COCKATRICE%%%%DATADIR%%/themes/Plasma/zones/handzone.png
+%%COCKATRICE%%%%DATADIR%%/themes/Plasma/zones/playerzone.png
+%%COCKATRICE%%%%DATADIR%%/themes/Plasma/zones/stackzone.png
+%%COCKATRICE%%%%DATADIR%%/themes/Plasma/zones/tablezone.png
+%%COCKATRICE%%%%DATADIR%%/themes/VelvetMarble/zones/handzone.jpg
+%%COCKATRICE%%%%DATADIR%%/themes/VelvetMarble/zones/playerzone.jpg
+%%COCKATRICE%%%%DATADIR%%/themes/VelvetMarble/zones/stackzone.jpg
+%%COCKATRICE%%%%DATADIR%%/themes/VelvetMarble/zones/tablezone.jpg
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_ca.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_cs.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_de.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_el.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_en.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_en@pirate.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_es.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_et.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_fi.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_fr.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_he.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_hu.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_it.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_ja.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_ko.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_lt.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_nb.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_nl.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_pl.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_pt.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_pt_BR.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_ru.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_sr.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_sv.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_tr.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_uk.qm
+%%COCKATRICE%%%%DATADIR%%/translations/cockatrice_zh-Hans.qm
+%%COCKATRICE%%share/icons/hicolor/48x48/apps/cockatrice.png
+%%COCKATRICE%%share/icons/hicolor/48x48/apps/oracle.png
+%%COCKATRICE%%share/icons/hicolor/scalable/apps/cockatrice.svg
+%%COCKATRICE%%share/icons/hicolor/scalable/apps/oracle.svg
+%%COCKATRICE%%share/oracle/translations/oracle_ca.qm
+%%COCKATRICE%%share/oracle/translations/oracle_cs.qm
+%%COCKATRICE%%share/oracle/translations/oracle_de.qm
+%%COCKATRICE%%share/oracle/translations/oracle_el.qm
+%%COCKATRICE%%share/oracle/translations/oracle_en.qm
+%%COCKATRICE%%share/oracle/translations/oracle_en@pirate.qm
+%%COCKATRICE%%share/oracle/translations/oracle_es.qm
+%%COCKATRICE%%share/oracle/translations/oracle_et.qm
+%%COCKATRICE%%share/oracle/translations/oracle_fi.qm
+%%COCKATRICE%%share/oracle/translations/oracle_fr.qm
+%%COCKATRICE%%share/oracle/translations/oracle_he.qm
+%%COCKATRICE%%share/oracle/translations/oracle_hu.qm
+%%COCKATRICE%%share/oracle/translations/oracle_it.qm
+%%COCKATRICE%%share/oracle/translations/oracle_ja.qm
+%%COCKATRICE%%share/oracle/translations/oracle_ko.qm
+%%COCKATRICE%%share/oracle/translations/oracle_lt.qm
+%%COCKATRICE%%share/oracle/translations/oracle_nb.qm
+%%COCKATRICE%%share/oracle/translations/oracle_nl.qm
+%%COCKATRICE%%share/oracle/translations/oracle_pl.qm
+%%COCKATRICE%%share/oracle/translations/oracle_pt.qm
+%%COCKATRICE%%share/oracle/translations/oracle_pt_BR.qm
+%%COCKATRICE%%share/oracle/translations/oracle_ru.qm
+%%COCKATRICE%%share/oracle/translations/oracle_sr.qm
+%%COCKATRICE%%share/oracle/translations/oracle_sv.qm
+%%COCKATRICE%%share/oracle/translations/oracle_tr.qm
+%%COCKATRICE%%share/oracle/translations/oracle_uk.qm
+%%COCKATRICE%%share/oracle/translations/oracle_zh-Hans.qm