aboutsummaryrefslogtreecommitdiff
path: root/games
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2005-07-18 21:12:39 +0000
committerPav Lucistnik <pav@FreeBSD.org>2005-07-18 21:12:39 +0000
commit1c72a7109e10943a9da5e864e25e8fff26d788a9 (patch)
tree2f20949090c6e5bbbe655f3151a7770d997019d3 /games
parent5e015f9e53582d7bd801a4013358b1135b5cb643 (diff)
downloadports-1c72a7109e10943a9da5e864e25e8fff26d788a9.tar.gz
ports-1c72a7109e10943a9da5e864e25e8fff26d788a9.zip
exMARS combines the latest advance in corewar simulation technology, with
proactive performance optimizations. Actually exMARS is a redcode simulator, just like exhaust and pMARS. In fact, I have shamelessly taken sourcecode from pMARS, exhaust, some ideas from qMars, a shot of optimizations, shook everything well, and garnished everything with a high level interface for Ruby. PR: ports/83576 Submitted by: Alejandro Pulver <alejandro@varnet.biz>
Notes
Notes: svn path=/head/; revision=139540
Diffstat (limited to 'games')
-rw-r--r--games/Makefile1
-rw-r--r--games/exmars/Makefile45
-rw-r--r--games/exmars/distinfo2
-rw-r--r--games/exmars/files/patch-Makefile21
-rw-r--r--games/exmars/pkg-descr24
-rw-r--r--games/exmars/pkg-plist45
6 files changed, 138 insertions, 0 deletions
diff --git a/games/Makefile b/games/Makefile
index 14c73bddc12d..ec4609ea6a0d 100644
--- a/games/Makefile
+++ b/games/Makefile
@@ -129,6 +129,7 @@
SUBDIR += enigma
SUBDIR += euchre
SUBDIR += evilfinder
+ SUBDIR += exmars
SUBDIR += exult
SUBDIR += falconseye
SUBDIR += farblazer
diff --git a/games/exmars/Makefile b/games/exmars/Makefile
new file mode 100644
index 000000000000..d41634f61db9
--- /dev/null
+++ b/games/exmars/Makefile
@@ -0,0 +1,45 @@
+# New ports collection makefile for: exmars
+# Date created: 16 Jul 2005
+# Whom: Alejandro Pulver <alejandro@varnet.biz>
+#
+# $FreeBSD$
+#
+
+PORTNAME= exmars
+PORTVERSION= 0.01
+CATEGORIES= games
+MASTER_SITES= http://martinus.geekisp.com/files/
+
+MAINTAINER= alejandro@varnet.biz
+COMMENT= Memory Array Redcode Simulator, just like exhaust and pMARS
+
+USE_REINPLACE= yes
+
+ALL_TARGET= ${PORTNAME}
+
+OPTIONS= OPTIMIZED_CFLAGS "Enable compilation optimizations" off
+
+do-install:
+# Program
+ @${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin
+
+# Data
+ @${MKDIR} ${DATADIR}
+ @${CP} -R ${WRKSRC}/warriors ${DATADIR}
+ @${INSTALL_SCRIPT} ${WRKSRC}/bench.sh ${DATADIR}
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+# Fix bench.sh
+ @${REINPLACE_CMD} -e 's|pmars|pmars-server| ; \
+ s|\./exmars|exmars|' \
+ ${WRKSRC}/bench.sh
+
+# Enable/disable compilation optimizations
+ @${REINPLACE_CMD} -e 's|\($${OPT}\)|${CFLAGS} \1|' ${WRKSRC}/${MAKEFILE}
+.if !defined(WITH_OPTIMIZED_CFLAGS)
+ @${REINPLACE_CMD} -e 's|$${OPT}||' ${WRKSRC}/${MAKEFILE}
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/games/exmars/distinfo b/games/exmars/distinfo
new file mode 100644
index 000000000000..30bb03577582
--- /dev/null
+++ b/games/exmars/distinfo
@@ -0,0 +1,2 @@
+MD5 (exmars-0.01.tar.gz) = eccab4367bea768763e4a15cddbbe23f
+SIZE (exmars-0.01.tar.gz) = 67047
diff --git a/games/exmars/files/patch-Makefile b/games/exmars/files/patch-Makefile
new file mode 100644
index 000000000000..daabd0736a77
--- /dev/null
+++ b/games/exmars/files/patch-Makefile
@@ -0,0 +1,21 @@
+--- Makefile.orig Thu Oct 16 04:59:17 2003
++++ Makefile Thu Jul 7 15:32:24 2005
+@@ -1,9 +1,9 @@
+ # default flags
+-CCFLAGS = -O3 -fomit-frame-pointer
++CCFLAGS = ${OPT}
+
+ # my own highly tuned settings
+ #CC = gcc-3.3.1
+-#CCFLAGS = -O3 -fomit-frame-pointer -fforce-addr -funroll-all-loops -fstrict-aliasing -malign-double -fprefetch-loop-arrays -maccumulate-outgoing-args -minline-all-stringops -finline-functions -finline-limit=800 -ffast-math -mno-align-stringops
++OPT = -O3 -fomit-frame-pointer -fforce-addr -funroll-all-loops -fstrict-aliasing -malign-double -fprefetch-loop-arrays -maccumulate-outgoing-args -minline-all-stringops -finline-functions -finline-limit=800 -ffast-math -mno-align-stringops
+ #CCFLAGS += -mfpmath=sse,387 -mmmx -msse -march=pentium3
+
+ # develomental flags
+@@ -21,4 +21,4 @@
+ rm -f exmars Mars.so *.o *~
+
+ distclean: clean
+- rm -f *.da
+\ No newline at end of file
++ rm -f *.da
diff --git a/games/exmars/pkg-descr b/games/exmars/pkg-descr
new file mode 100644
index 000000000000..b9bebf1d5c2e
--- /dev/null
+++ b/games/exmars/pkg-descr
@@ -0,0 +1,24 @@
+exMARS combines the latest advance in corewar simulation technology, with
+proactive performance optimizations.
+
+Actually exMARS is a redcode simulator, just like exhaust and pMARS. In fact,
+I have shamelessly taken sourcecode from pMARS, exhaust, some ideas from
+qMars, a shot of optimizations, shook everything well, and garnished
+everything with a high level interface for Ruby.
+
+The resulting program has the following main features:
+
+* Uses the parser from pMARS, so no previous parsing is neccessary. At first
+ this was my main motivation for exMARS.
+* Speed: 50% faster than pmars on a Pentium III, and often more than twice as
+ fast than pmars on a Pentium 4 (using gcc 3.3.1, and the same compiler
+ options).
+* Rewritten the code in a more object oriented way, which allows different
+ Mars at the same time in the same program, it should also be thread save.
+
+Author: Martin Ankerl
+
+WWW: http://martinus.geekisp.com/rublog.cgi/Projects/CoreWar/exMARS
+
+- Alejandro Pulver
+alejandro@varnet.biz
diff --git a/games/exmars/pkg-plist b/games/exmars/pkg-plist
new file mode 100644
index 000000000000..84f691981cbe
--- /dev/null
+++ b/games/exmars/pkg-plist
@@ -0,0 +1,45 @@
+bin/exmars
+%%DATADIR%%/bench.sh
+%%DATADIR%%/warriors/94nop/Fixed.red
+%%DATADIR%%/warriors/94nop/Jaguar.red
+%%DATADIR%%/warriors/94nop/QuickSilver.red
+%%DATADIR%%/warriors/94nop/Stalker.red
+%%DATADIR%%/warriors/94nop/behemot.red
+%%DATADIR%%/warriors/94nop/blade.red
+%%DATADIR%%/warriors/94nop/candy.red
+%%DATADIR%%/warriors/94nop/candy2.red
+%%DATADIR%%/warriors/94nop/cheephalfoff.red
+%%DATADIR%%/warriors/94nop/firestorm.red
+%%DATADIR%%/warriors/94nop/harmonysnoot.red
+%%DATADIR%%/warriors/94nop/hazylazy.red
+%%DATADIR%%/warriors/94nop/herbalavenger.red
+%%DATADIR%%/warriors/94nop/jinx.red
+%%DATADIR%%/warriors/94nop/machine.red
+%%DATADIR%%/warriors/94nop/nPaperII.red
+%%DATADIR%%/warriors/94nop/numb.red
+%%DATADIR%%/warriors/94nop/olivia.red
+%%DATADIR%%/warriors/94nop/pixie.red
+%%DATADIR%%/warriors/94nop/procoptodon.red
+%%DATADIR%%/warriors/94nop/purifier.red
+%%DATADIR%%/warriors/94nop/recon2.red
+%%DATADIR%%/warriors/94nop/reepicheep.red
+%%DATADIR%%/warriors/94nop/rotpendragon.red
+%%DATADIR%%/warriors/94nop/rov.red
+%%DATADIR%%/warriors/94nop/silvertalon12.red
+%%DATADIR%%/warriors/94nop/sonofvain.red
+%%DATADIR%%/warriors/94nop/thunderstrike.red
+%%DATADIR%%/warriors/94nop/uninvited.red
+%%DATADIR%%/warriors/94nop/vanquisher2.red
+%%DATADIR%%/warriors/error/error.red
+%%DATADIR%%/warriors/pspace/dawn2.red
+%%DATADIR%%/warriors/pspace/devilish.red
+%%DATADIR%%/warriors/pspace/hammerhead.red
+%%DATADIR%%/warriors/pspace/preserver.red
+%%DATADIR%%/warriors/pspace/rotpendragon2.red
+%%DATADIR%%/warriors/pspace/sunset.red
+%%DATADIR%%/warriors/pspace/unheardof.red
+@dirrm %%DATADIR%%/warriors/pspace
+@dirrm %%DATADIR%%/warriors/error
+@dirrm %%DATADIR%%/warriors/94nop
+@dirrm %%DATADIR%%/warriors
+@dirrm %%DATADIR%%