summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games/tetrinetx/DEINSTALL27
-rw-r--r--games/tetrinetx/DESCR15
-rw-r--r--games/tetrinetx/MESSAGE11
-rw-r--r--games/tetrinetx/Makefile40
-rw-r--r--games/tetrinetx/PLIST8
-rw-r--r--games/tetrinetx/distinfo7
-rw-r--r--games/tetrinetx/files/tetrinetx15
-rw-r--r--games/tetrinetx/patches/patch-aa32
-rw-r--r--games/tetrinetx/patches/patch-ab37
9 files changed, 192 insertions, 0 deletions
diff --git a/games/tetrinetx/DEINSTALL b/games/tetrinetx/DEINSTALL
new file mode 100644
index 00000000000..498faaf2c8c
--- /dev/null
+++ b/games/tetrinetx/DEINSTALL
@@ -0,0 +1,27 @@
+#!/bin/sh
+# $NetBSD: DEINSTALL,v 1.1.1.1 2006/02/14 17:03:54 rillig Exp $
+
+PKGNAME=$1
+STAGE=$2
+LIST="${PKG_PREFIX}/share/tetrinetx/game.log"
+
+case ${STAGE} in
+ DEINSTALL)
+ for to_trash in ${LIST}; do
+ if [ -d "${to_trash}" ]; then
+ rm -rf ${to_trash}/*
+ elif [ -f "${to_trash}" ]; then
+ rm ${to_trash}
+ fi
+ done
+ ;;
+
+ POST-DEINSTALL)
+ ;;
+
+ *)
+ echo "Unexpected argument: ${STAGE}"
+ exit 1
+ ;;
+esac
+exit 0
diff --git a/games/tetrinetx/DESCR b/games/tetrinetx/DESCR
new file mode 100644
index 00000000000..3b2c1d6ed66
--- /dev/null
+++ b/games/tetrinetx/DESCR
@@ -0,0 +1,15 @@
+TetriNET is an addictive 6 player tetr*s game
+
+What this program does is set up a TetriNET server that ordinary
+TetriNET clients can connect to. It attempts to fix some of the
+"glaring" holes in the TetriNET protocol that I discovered, and which
+I'm sure some people use as cheats, but I now see why it is nearly
+impossible to fix ;), without a modification to the client.
+I've kept the server as close to the same as the original TetriNET
+server, but I've added some extras that I've often wanted, such as
+the "/kick" and "/ban" keywords.
+Please note this server in no way encompasses the whole game. The clients
+are the ones that do most of the work, with the server just passing suitable
+packets between each client, and of course adding some of its own.
+
+Author: Brendan Grieve (brg@cheerful.com)
diff --git a/games/tetrinetx/MESSAGE b/games/tetrinetx/MESSAGE
new file mode 100644
index 00000000000..6e92240e53e
--- /dev/null
+++ b/games/tetrinetx/MESSAGE
@@ -0,0 +1,11 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1.1.1 2006/02/14 17:03:54 rillig Exp $
+
+It is recommended to tune tetrinetx configuration and motd files. They are
+located in ${PREFIX}/share/tetrinetx
+
+A rc.d script is provided: if you want tetrinetx to be launched at system
+startup, copy it from ${PREFIX}/share/examples/rc.d into /etc/rc.d
+and add tetrinetx=YES in /etc/rc.conf.
+
+===========================================================================
diff --git a/games/tetrinetx/Makefile b/games/tetrinetx/Makefile
new file mode 100644
index 00000000000..b90afc8cf90
--- /dev/null
+++ b/games/tetrinetx/Makefile
@@ -0,0 +1,40 @@
+# $NetBSD: Makefile,v 1.1.1.1 2006/02/14 17:03:54 rillig Exp $
+
+DISTNAME= tetrinetx-1.13.16+qirc-1.40c
+PKGNAME= tetrinetx-1.13.16
+CATEGORIES= games
+MASTER_SITES= http://tetrinetx.sourceforge.net/
+
+MAINTAINER= david@netbsd-fr.org
+HOMEPAGE= ${MASTER_SITES}
+COMMENT= Server for an addictive 6 player tetris game
+
+WRKSRC= ${WRKDIR}/${DISTNAME}
+SHAREDIR= ${PREFIX}/share/tetrinetx
+BINARY= tetrix.netbsd
+RCD_SCRIPTS= tetrinetx
+
+LIBS.SunOS+= -lsocket -lnsl -lresolv
+
+do-build:
+ cd ${WRKSRC:Q}/src && \
+ ${CC} \
+ ${CPPFLAGS} -I${LOCALBASE:Q}/include \
+ -DSHAREDIR=\"${SHAREDIR:Q}\" -DPREFIX=\"${PREFIX:Q}\" \
+ ${CFLAGS} -fno-strength-reduce -Wall \
+ ${LDFLAGS} -L${LOCALBASE:Q}/lib -ladns ${LIBS} \
+ -o ../bin/${BINARY:Q} -Wl,-R${LOCALBASE:Q}/lib \
+ main.c
+
+do-install:
+ ${INSTALL_DATA_DIR} ${SHAREDIR}
+ ${INSTALL_DATA_DIR} ${PREFIX:Q}/share/examples/rc.d
+ ${INSTALL_PROGRAM} ${WRKSRC:Q}/bin/${BINARY:Q} ${PREFIX:Q}/bin/tetrix
+ ${INSTALL_DATA} ${WRKSRC:Q}/bin/game.conf ${SHAREDIR:Q}
+ ${INSTALL_DATA} ${WRKSRC:Q}/bin/game.secure ${SHAREDIR:Q}
+ ${INSTALL_DATA} ${WRKSRC:Q}/bin/game.motd ${SHAREDIR:Q}
+ ${INSTALL_DATA} ${WRKSRC:Q}/bin/game.pmotd ${SHAREDIR:Q}
+ ${INSTALL_SCRIPT} ${FILESDIR:Q}/tetrinetx ${PREFIX:Q}/share/examples/rc.d/
+
+.include "../../net/adns/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/games/tetrinetx/PLIST b/games/tetrinetx/PLIST
new file mode 100644
index 00000000000..bf1573074a5
--- /dev/null
+++ b/games/tetrinetx/PLIST
@@ -0,0 +1,8 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2006/02/14 17:03:54 rillig Exp $
+bin/tetrix
+share/examples/rc.d/tetrinetx
+share/tetrinetx/game.conf
+share/tetrinetx/game.motd
+share/tetrinetx/game.pmotd
+share/tetrinetx/game.secure
+@dirrm share/tetrinetx
diff --git a/games/tetrinetx/distinfo b/games/tetrinetx/distinfo
new file mode 100644
index 00000000000..455fecf817d
--- /dev/null
+++ b/games/tetrinetx/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1.1.1 2006/02/14 17:03:54 rillig Exp $
+
+SHA1 (tetrinetx-1.13.16+qirc-1.40c.tar.gz) = 3bc0a8ce53bef3ef68b028834689d6fe85c8150a
+RMD160 (tetrinetx-1.13.16+qirc-1.40c.tar.gz) = 447c1d239919f2390748c8808cd1c026d0236afc
+Size (tetrinetx-1.13.16+qirc-1.40c.tar.gz) = 81447 bytes
+SHA1 (patch-aa) = c89202b583e2c3ebac9f566b451a61fece517bc6
+SHA1 (patch-ab) = 10136812d7d20e6c961463c3fa6973d2b23d195e
diff --git a/games/tetrinetx/files/tetrinetx b/games/tetrinetx/files/tetrinetx
new file mode 100644
index 00000000000..9f0c70bf2fb
--- /dev/null
+++ b/games/tetrinetx/files/tetrinetx
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# PROVIDE: tetrinetx
+# REQUIRE: DAEMON LOGIN network
+
+. /etc/rc.subr
+
+name="tetrinetx"
+rcvar=$name
+command="/usr/pkg/bin/tetrix"
+pidfile="/var/run/${name}.pid"
+required_files="/usr/pkg/share/tetrinetx/game.conf"
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/games/tetrinetx/patches/patch-aa b/games/tetrinetx/patches/patch-aa
new file mode 100644
index 00000000000..83a19c33c8e
--- /dev/null
+++ b/games/tetrinetx/patches/patch-aa
@@ -0,0 +1,32 @@
+$NetBSD: patch-aa,v 1.1.1.1 2006/02/14 17:03:54 rillig Exp $
+--- src/config.h.orig 2001-04-24 04:31:29.000000000 +0200
++++ src/config.h 2004-01-23 02:55:51.745142400 +0100
+@@ -7,16 +7,16 @@
+ */
+
+ /* Location of the various external files */
+-#define FILE_MOTD "game.motd" /* Message of the Day File */
+-#define FILE_PMOTD "game.pmotd" /* Playback motd */
+-#define FILE_CONF "game.conf" /* Game configuration File */
+-#define FILE_WINLIST "game.winlist" /* Winlist storage file */
+-#define FILE_WINLIST2 "game.winlist2" /* Winlist storage file */
+-#define FILE_WINLIST3 "game.winlist3" /* Winlist storage file */
++#define FILE_MOTD SHAREDIR "/game.motd" /* Message of the Day File */
++#define FILE_PMOTD SHAREDIR "/game.pmotd" /* Playback motd */
++#define FILE_CONF SHAREDIR "/game.conf" /* Game configuration File */
++#define FILE_WINLIST SHAREDIR "/game.winlist" /* Winlist storage file */
++#define FILE_WINLIST2 SHAREDIR "/game.winlist2" /* Winlist storage file */
++#define FILE_WINLIST3 SHAREDIR "/game.winlist3" /* Winlist storage file */
+
+-#define FILE_BAN "game.ban" /* List of Banned IP's */
+-#define FILE_BAN_COMPROMISE "game.ban.compromise" /* List of Banned IP's */
+-#define FILE_ALLOW "game.allow" /* List of allow IP's */
+-#define FILE_LOG "game.log" /* Logfile */
+-#define FILE_PID "game.pid" /* Default PID */
+-#define FILE_SECURE "game.secure" /* Security file */
++#define FILE_BAN SHAREDIR "/game.ban" /* List of Banned IP's */
++#define FILE_BAN_COMPROMISE SHAREDIR "/game.ban.compromise" /* List of Banned IP's */
++#define FILE_ALLOW SHAREDIR "/game.allow" /* List of allow IP's */
++#define FILE_LOG SHAREDIR "/game.log" /* Logfile */
++#define FILE_PID PREFIX "/tetrinetx.pid" /* Default PID */
++#define FILE_SECURE SHAREDIR "/game.secure" /* Security file */
diff --git a/games/tetrinetx/patches/patch-ab b/games/tetrinetx/patches/patch-ab
new file mode 100644
index 00000000000..9cf958e4eb2
--- /dev/null
+++ b/games/tetrinetx/patches/patch-ab
@@ -0,0 +1,37 @@
+$NetBSD: patch-ab,v 1.1.1.1 2006/02/14 17:03:54 rillig Exp $
+
+--- src/main.c.orig Tue Jul 9 05:53:49 2002
++++ src/main.c Sun Jan 26 18:12:54 2003
+@@ -109,12 +109,12 @@
+ }
+
+
+-/* writepid() - Writes the current pid to game.pidfile */
++/* writepid() - Writes the current pid to FILE_PID */
+ void writepid(void)
+ {
+ FILE *file_out;
+
+- file_out = fopen(game.pidfile,"w");
++ file_out = fopen(FILE_PID,"w");
+ if (file_out == NULL)
+ {
+ // lvprintf(0,"ERROR: Could not write to PID file %s\n", game.pidfile);
+@@ -129,7 +129,7 @@
+ /* delpid() - Delete the pid file */
+ void delpid(void)
+ {
+- remove(game.pidfile);
++ remove(FILE_PID);
+ }
+
+ /* int numallplayers(chan) - Returns ANY player that is connected in a channel */
+@@ -4695,7 +4695,7 @@
+ {
+ struct sigaction sv;
+
+- lvprintf(0,"\nTetriNET for Linux V%s.%s\n---------------------------------\n", TETVERSION, SERVERBUILD);
++ lvprintf(0,"\nTetriNET for NetBSD V%s.%s\n---------------------------------\n", TETVERSION, SERVERBUILD);
+
+
+ gnet=NULL;