aboutsummaryrefslogtreecommitdiffstats
path: root/games
diff options
context:
space:
mode:
authortg <tg@FreeBSD.org>1998-05-15 20:14:23 +0800
committertg <tg@FreeBSD.org>1998-05-15 20:14:23 +0800
commit95e9f9fe4e90ff19064ab7f84d80ef22808df2e7 (patch)
treeb13557a6c0ed562ac031c9449b53a20687ea13be /games
parent7ac08091dd87a7540e24910562961c0588ef062a (diff)
downloadfreebsd-ports-graphics-95e9f9fe4e90ff19064ab7f84d80ef22808df2e7.tar.gz
freebsd-ports-graphics-95e9f9fe4e90ff19064ab7f84d80ef22808df2e7.tar.zst
freebsd-ports-graphics-95e9f9fe4e90ff19064ab7f84d80ef22808df2e7.zip
New port KnightCap, a learning chess program with an OpenGL-based GUI.
PR: 6631 Submitted by: Andrey Zakhvatov <andy@icc.surw.chel.su>
Diffstat (limited to 'games')
-rw-r--r--games/KnightCap/Makefile32
-rw-r--r--games/KnightCap/distinfo1
-rw-r--r--games/KnightCap/files/patch-aa34
-rw-r--r--games/KnightCap/files/patch-ab14
-rw-r--r--games/KnightCap/pkg-comment1
-rw-r--r--games/KnightCap/pkg-descr22
-rw-r--r--games/KnightCap/pkg-plist3
7 files changed, 107 insertions, 0 deletions
diff --git a/games/KnightCap/Makefile b/games/KnightCap/Makefile
new file mode 100644
index 00000000000..26112d48b30
--- /dev/null
+++ b/games/KnightCap/Makefile
@@ -0,0 +1,32 @@
+# New ports collection makefile for: KnightCap
+# Version required: 3.5
+# Date created: 10 May 1998
+# Whom: Andrey Zakhvatov
+#
+# $Id$
+#
+
+DISTNAME= KnightCap-3.5
+PKGNAME= knightcap-3.5
+CATEGORIES= games x11
+MASTER_SITES= ftp://samba.anu.edu.au/pub/KnightCap/
+
+MAINTAINER= andy@icc.surw.chel.su
+
+LIB_DEPENDS= MesaGL\\.13\\.:${PORTSDIR}/graphics/Mesa \
+ MesaGLU\\.13\\.:${PORTSDIR}/graphics/Mesa \
+ glut\\.3\\.:${PORTSDIR}/graphics/Mesa
+
+FETCH_BEFORE_ARGS= -P
+ALL_TARGET= KnightCap
+USE_X11= yes
+WRKSRC= ${WRKDIR}/Export
+
+do-install:
+ @ ${INSTALL_PROGRAM} ${WRKSRC}/KnightCap ${PREFIX}/bin
+.if !defined(NOPORTDOCS)
+ @ ${MKDIR} ${PREFIX}/share/doc/KnightCap
+ @ ${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/doc/KnightCap
+.endif
+
+.include <bsd.port.mk>
diff --git a/games/KnightCap/distinfo b/games/KnightCap/distinfo
new file mode 100644
index 00000000000..bb495abc286
--- /dev/null
+++ b/games/KnightCap/distinfo
@@ -0,0 +1 @@
+MD5 (KnightCap-3.5.tar.gz) = 4c188f4a8e0e153ca7d6e84257cb1ae1
diff --git a/games/KnightCap/files/patch-aa b/games/KnightCap/files/patch-aa
new file mode 100644
index 00000000000..0cf23bfaaa9
--- /dev/null
+++ b/games/KnightCap/files/patch-aa
@@ -0,0 +1,34 @@
+--- Makefile Wed Mar 11 21:51:57 1998
++++ /home/andy/tmp/wrk/Makefile Sun May 10 09:54:13 1998
+@@ -2,11 +2,11 @@
+
+ # what C compiler? It better be Ansi-C. Use gcc if you have it.
+ # you may find that KnightCap is very slow if you don't use gcc
+-CC = gcc
++#CC = gcc
+
+ # What compiler switches do you want? These ones work well with gcc
+ #OPT = -O2 -fshort-enums -Wall
+-OPT = -g -fshort-enums -Wall
++OPT = -O2 -fshort-enums -Wall -DPI=M_PI
+
+ # If you don't have gcc then perhaps try this instead. You only need
+ # the null definition for inline if your C compiler doesn't know about
+@@ -21,13 +21,10 @@
+ # display (or you don't have OpenGL and Glut libraries)
+ # If you do have these libs then make sure the first three
+ # lines point at the right places
+-MESA = /usr/local/Mesa-2.1
+-GLUT = /usr/local/Mesa-2.1/glut-3.2
+-X11 = /usr/X11R6
+-GLUT_LIBS = -L$(GLUT)/lib/glut -lglut
+-MESA_LIBS = -L$(MESA)/lib -lMesaGLU -lMesaGL -lm
+-XLIBS = -L$(X11)/lib -lXmu -lXt -lXext -lX11 -lXi
+-DISPLAYFLAGS = -I$(MESA)/include -I$(GLUT) -DRENDERED_DISPLAY=1
++GLUT_LIBS = -L$(X11BASE)/lib -lglut
++MESA_LIBS = -L$(X11BASE)/lib -lMesaGLU -lMesaGL -lm
++XLIBS = -L$(X11BASE)/lib -lXmu -lXt -lXext -lX11 -lXi
++DISPLAYFLAGS = -I$(X11BASE)/include -DRENDERED_DISPLAY=1
+
+ # comment out the following line if you don't want KnightCap's
+ # evaluation function learning turned on.
diff --git a/games/KnightCap/files/patch-ab b/games/KnightCap/files/patch-ab
new file mode 100644
index 00000000000..01dba41e45c
--- /dev/null
+++ b/games/KnightCap/files/patch-ab
@@ -0,0 +1,14 @@
+--- knightcap.c Wed Mar 11 21:51:58 1998
++++ /home/andy/tmp/wrk/knightcap.c Sun May 10 09:54:22 1998
+@@ -934,7 +934,11 @@
+ reset_board();
+ init_movements();
+
++#ifdef __FreeBSD__
++ signal(SIGCHLD, SIG_IGN);
++#else
+ signal(SIGCLD, SIG_IGN);
++#endif
+
+ pid1 = getpid();
+
diff --git a/games/KnightCap/pkg-comment b/games/KnightCap/pkg-comment
new file mode 100644
index 00000000000..11e80e983df
--- /dev/null
+++ b/games/KnightCap/pkg-comment
@@ -0,0 +1 @@
+Chess program with 3D interface for X Window System.
diff --git a/games/KnightCap/pkg-descr b/games/KnightCap/pkg-descr
new file mode 100644
index 00000000000..a6308a455b3
--- /dev/null
+++ b/games/KnightCap/pkg-descr
@@ -0,0 +1,22 @@
+KnightCap is a chess program.
+
+The principal differences between KnightCap and other chess programs
+are:
+
+ - KnightCap has an optional fully rendered 3D interface, giving a feel much
+ more like an "over the board" game.
+
+ - KnightCap was developed to run on a parallel distributed memory
+ machine, although it also runs on normal unix boxes.
+
+ - KnightCap does not have an opening book---instead it keeps a file
+ (brain.dat) of losing moves and inserts them in the hash table at the
+ start of each search. At present it has about 1500 entries, and
+ this makes it a pretty competitive opening player.
+
+ - KnightCap learns the parameters of its evaluation function as it
+ plays. The most dramatic example of how this helps is an experiment
+ we conducted on FICS in which KnightCap learnt from a 1650 player
+ to a 2100 player in just 300 games. See
+ http://keating.anu.edu.au/~jon/papers/knigtcap.ps.gz for more info on
+ its learning algorithm.
diff --git a/games/KnightCap/pkg-plist b/games/KnightCap/pkg-plist
new file mode 100644
index 00000000000..f6fc4f39a8b
--- /dev/null
+++ b/games/KnightCap/pkg-plist
@@ -0,0 +1,3 @@
+bin/KnightCap
+share/doc/KnightCap/README
+@dirrm share/doc/KnightCap