aboutsummaryrefslogtreecommitdiff
path: root/games/fmars
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2005-07-22 22:34:47 +0000
committerPav Lucistnik <pav@FreeBSD.org>2005-07-22 22:34:47 +0000
commitfeaccdffa585addfe39003fe25cacc31bf1367ed (patch)
tree639de2dc5a4527ae0073db59727b75f7bcc72c44 /games/fmars
parentaf0091d41c0ac718396643cae567615b58e27348 (diff)
downloadports-feaccdffa585addfe39003fe25cacc31bf1367ed.tar.gz
ports-feaccdffa585addfe39003fe25cacc31bf1367ed.zip
fmars is Fast Memory Array Redcode Simulator
A specialized simulator for the game of Corewars. It's designed to be of particular use in automated redcode optimizers and evolvers. fmars borrows the idea from Martin Ankerl's qmars and pushes it to the extreme. PR: ports/83577 Submitted by: Alejandro Pulver <alejandro@varnet.biz>
Notes
Notes: svn path=/head/; revision=139920
Diffstat (limited to 'games/fmars')
-rw-r--r--games/fmars/Makefile63
-rw-r--r--games/fmars/distinfo2
-rw-r--r--games/fmars/files/patch-Makefile18
-rw-r--r--games/fmars/pkg-descr17
-rw-r--r--games/fmars/pkg-plist240
5 files changed, 340 insertions, 0 deletions
diff --git a/games/fmars/Makefile b/games/fmars/Makefile
new file mode 100644
index 000000000000..063c9f79fac3
--- /dev/null
+++ b/games/fmars/Makefile
@@ -0,0 +1,63 @@
+# New ports collection makefile for: fmars
+# Date created: 16 Jul 2005
+# Whom: Alejandro Pulver <alejandro@varnet.biz>
+#
+# $FreeBSD$
+#
+
+PORTNAME= fmars
+PORTVERSION= 0.0.207
+CATEGORIES= games
+MASTER_SITES= http://www.v-lo.krakow.pl/~michal/
+
+MAINTAINER= alejandro@varnet.biz
+COMMENT= Fast Memory Array Redcode Simulator
+
+BUILD_DEPENDS= guile:${PORTSDIR}/lang/guile
+
+USE_BZIP2= yes
+USE_GMAKE= yes
+USE_REINPLACE= yes
+
+ALL_TARGET= x${PORTNAME}
+
+OPTIONS= OPTIMIZED_CFLAGS "Enable compilation optimizations" off
+
+do-install:
+# Program
+ @${INSTALL_PROGRAM} ${WRKSRC}/x${PORTNAME} ${PREFIX}/bin/${PORTNAME}
+
+# Data
+ @${MKDIR} ${DATADIR}
+.for d in rc rc-test
+ @${CP} -R ${WRKSRC}/${d} ${DATADIR}
+.endfor
+
+# Documentation (optional)
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOCSDIR}
+ @${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
+.endif
+
+post-install:
+# Fix permissions
+ @${CHOWN} -R ${BINOWN}:${BINGRP} ${DATADIR}
+ @${FIND} ${DATADIR} -type f -print0 | \
+ ${XARGS} -0 ${CHMOD} 644
+ @${FIND} ${DATADIR} -type d -print0 | \
+ ${XARGS} -0 ${CHMOD} 755
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+# Fix Makefile
+ @${REINPLACE_CMD} -e 's|\($$(OPT)\)|${CFLAGS} \1| ; \
+ s|gcc|${CC}|g' \
+ ${WRKSRC}/${MAKEFILE}
+
+# Enable/disable compilation optimizations
+.if !defined(WITH_OPTIMIZED_CFLAGS)
+ @${REINPLACE_CMD} -e 's|$$(OPT)||' ${WRKSRC}/${MAKEFILE}
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/games/fmars/distinfo b/games/fmars/distinfo
new file mode 100644
index 000000000000..5b008aeb5600
--- /dev/null
+++ b/games/fmars/distinfo
@@ -0,0 +1,2 @@
+MD5 (fmars-0.0.207.tar.bz2) = 2d42d187dab2edf2e51e6ed0e7484eec
+SIZE (fmars-0.0.207.tar.bz2) = 87057
diff --git a/games/fmars/files/patch-Makefile b/games/fmars/files/patch-Makefile
new file mode 100644
index 000000000000..b718230a3c8b
--- /dev/null
+++ b/games/fmars/files/patch-Makefile
@@ -0,0 +1,18 @@
+--- Makefile.orig Sun May 15 12:54:02 2005
++++ Makefile Thu Jul 7 19:26:25 2005
+@@ -5,13 +5,12 @@
+ #INDENT = indent
+
+
+-CC = gcc
+-CFLAGS = -O2 -fomit-frame-pointer -fpic -fno-strict-aliasing #-march=athlon-xp
++CFLAGS = $(OPT)
++OPT = -O2 -fomit-frame-pointer
+ #DEBUG = -g -fno-omit-frame-pointer -O0
+
+ #options for fm_sim.c only:
+ #no-crossjumping - gcc 3.3 breaks computed gotos, this seems to help a little
+-OPTS = -fno-cse-follow-jumps -fno-crossjumping
+ #OPTS += -fno-strict-aliasing
+
+ #CFLAGS = $(CFLAGS_OPT) -fverbose-asm -W -Wimplicit -Wparentheses -Wpointer-arith \
diff --git a/games/fmars/pkg-descr b/games/fmars/pkg-descr
new file mode 100644
index 000000000000..804d4be011e8
--- /dev/null
+++ b/games/fmars/pkg-descr
@@ -0,0 +1,17 @@
+fmars is Fast Memory Array Redcode Simulator
+
+A specialized simulator for the game of Corewars. It's designed to be of
+particular use in automated redcode optimizers and evolvers. fmars borrows the
+idea from Martin Ankerl's qmars and pushes it to the extreme.
+
+It generates source code with special case for every possible opcode/addressing
+mode combination. This allows some optimizations that aren't possible in other
+simulators.
+
+fmars is compatible with pMARS with an exception for p-space, which is not yet
+implemented.
+
+WWW: http://www.v-lo.krakow.pl/~michal/fmars.html
+
+- Alejandro Pulver
+alejandro@varnet.biz
diff --git a/games/fmars/pkg-plist b/games/fmars/pkg-plist
new file mode 100644
index 000000000000..bd0aaca3ac7f
--- /dev/null
+++ b/games/fmars/pkg-plist
@@ -0,0 +1,240 @@
+bin/fmars
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%DATADIR%%/rc-test/defaults.rc
+%%DATADIR%%/rc-test/defaults.red
+%%DATADIR%%/rc-test/e.txt
+%%DATADIR%%/rc-test/modes.rc
+%%DATADIR%%/rc-test/modes.red
+%%DATADIR%%/rc-test/modfs.rc
+%%DATADIR%%/rc-test/modfs.red
+%%DATADIR%%/rc-test/opcodes.rc
+%%DATADIR%%/rc-test/opcodes.red
+%%DATADIR%%/rc-test/p.txt
+%%DATADIR%%/rc-test/pin1a.rc
+%%DATADIR%%/rc-test/pin1a.red
+%%DATADIR%%/rc-test/pin1b.rc
+%%DATADIR%%/rc-test/pin1b.red
+%%DATADIR%%/rc-test/pin2a.rc
+%%DATADIR%%/rc-test/pin2a.red
+%%DATADIR%%/rc-test/pin2b.rc
+%%DATADIR%%/rc-test/pin2b.red
+%%DATADIR%%/rc-test/ptest1.rc
+%%DATADIR%%/rc-test/ptest1.red
+%%DATADIR%%/rc-test/ptest2.rc
+%%DATADIR%%/rc-test/ptest2.red
+%%DATADIR%%/rc-test/ptest3.rc
+%%DATADIR%%/rc-test/ptest3.red
+%%DATADIR%%/rc-test/ptest4.rc
+%%DATADIR%%/rc-test/ptest4.red
+%%DATADIR%%/rc-test/ptest5.rc
+%%DATADIR%%/rc-test/ptest5.red
+%%DATADIR%%/rc-test/ptest6.rc
+%%DATADIR%%/rc-test/ptest6.red
+%%DATADIR%%/rc-test/validate.rc
+%%DATADIR%%/rc-test/validate.red
+%%DATADIR%%/rc/0test/jmn-f-sk1.rc
+%%DATADIR%%/rc/0test/jmn-f-sk2.rc
+%%DATADIR%%/rc/0test/jmn-f.rc
+%%DATADIR%%/rc/0test/jmz-f.rc
+%%DATADIR%%/rc/blur/Blade.rc
+%%DATADIR%%/rc/blur/Ikarus.rc
+%%DATADIR%%/rc/blur/boys.rc
+%%DATADIR%%/rc/blur/herbal.rc
+%%DATADIR%%/rc/blur/jinx2.rc
+%%DATADIR%%/rc/blur/macabres.rc
+%%DATADIR%%/rc/blur/miniblur.rc
+%%DATADIR%%/rc/blur/myblur2.rc
+%%DATADIR%%/rc/blur/pre75.rc
+%%DATADIR%%/rc/blur/srage.rc
+%%DATADIR%%/rc/blur/stalker.rc
+%%DATADIR%%/rc/blur/zooom.rc
+%%DATADIR%%/rc/bomber/DMan.rc
+%%DATADIR%%/rc/bomber/Fuse.rc
+%%DATADIR%%/rc/bomber/behemot.rc
+%%DATADIR%%/rc/bomber/damage2.rc
+%%DATADIR%%/rc/bomber/draken.rc
+%%DATADIR%%/rc/bomber/myvamp54.rc
+%%DATADIR%%/rc/bomber/pdown.rc
+%%DATADIR%%/rc/bomber/preserv.rc
+%%DATADIR%%/rc/bomber/rfrenzy2.rc
+%%DATADIR%%/rc/bomber/torcht18.rc
+%%DATADIR%%/rc/bomber/tornado4.rc
+%%DATADIR%%/rc/bomber/vamp02b.rc
+%%DATADIR%%/rc/clear/D2003.rc
+%%DATADIR%%/rc/clear/Myth.rc
+%%DATADIR%%/rc/clear/cereal.rc
+%%DATADIR%%/rc/clear/cshot2.rc
+%%DATADIR%%/rc/clear/fscan.rc
+%%DATADIR%%/rc/clear/g2.rc
+%%DATADIR%%/rc/clear/geist.rc
+%%DATADIR%%/rc/clear/giants.rc
+%%DATADIR%%/rc/clear/goonie.rc
+%%DATADIR%%/rc/clear/luke.rc
+%%DATADIR%%/rc/clear/theblood.rc
+%%DATADIR%%/rc/clear/twinshot.rc
+%%DATADIR%%/rc/nso/g2.rc
+%%DATADIR%%/rc/nso/herbal.rc
+%%DATADIR%%/rc/nso/npaper2.rc
+%%DATADIR%%/rc/nso/qsilver.rc
+%%DATADIR%%/rc/nso/rcheep.rc
+%%DATADIR%%/rc/nso/recon2.rc
+%%DATADIR%%/rc/nso/rotfcopy.rc
+%%DATADIR%%/rc/nso/sovain.rc
+%%DATADIR%%/rc/nso/willow.rc
+%%DATADIR%%/rc/paper-imp/blowrag.rc
+%%DATADIR%%/rc/paper-imp/dawn2.rc
+%%DATADIR%%/rc/paper-imp/decoys.rc
+%%DATADIR%%/rc/paper-imp/defensiv.rc
+%%DATADIR%%/rc/paper-imp/fstorm.rc
+%%DATADIR%%/rc/paper-imp/lordimp.rc
+%%DATADIR%%/rc/paper-imp/minijedi.rc
+%%DATADIR%%/rc/paper-imp/netpap.rc
+%%DATADIR%%/rc/paper-imp/rotfcopy.rc
+%%DATADIR%%/rc/paper-imp/safetyin.rc
+%%DATADIR%%/rc/paper-imp/silking.rc
+%%DATADIR%%/rc/paper-imp/unheard.rc
+%%DATADIR%%/rc/paper-stone/Metal.rc
+%%DATADIR%%/rc/paper-stone/faction4.rc
+%%DATADIR%%/rc/paper-stone/numb.rc
+%%DATADIR%%/rc/paper-stone/pglum.rc
+%%DATADIR%%/rc/paper-stone/purifier.rc
+%%DATADIR%%/rc/paper-stone/rcheep.rc
+%%DATADIR%%/rc/paper-stone/recovery.rc
+%%DATADIR%%/rc/paper-stone/wpaper.rc
+%%DATADIR%%/rc/paper/SOS.rc
+%%DATADIR%%/rc/paper/Tyrant.rc
+%%DATADIR%%/rc/paper/disinc.rc
+%%DATADIR%%/rc/paper/first.rc
+%%DATADIR%%/rc/paper/fixed.rc
+%%DATADIR%%/rc/paper/npaper2.rc
+%%DATADIR%%/rc/paper/revenge.rc
+%%DATADIR%%/rc/paper/skin.rc
+%%DATADIR%%/rc/paper/stylized.rc
+%%DATADIR%%/rc/paper/venom.rc
+%%DATADIR%%/rc/paper/wuncle.rc
+%%DATADIR%%/rc/paper/yorba.rc
+%%DATADIR%%/rc/scanner/agonyII.rc
+%%DATADIR%%/rc/scanner/cwork.rc
+%%DATADIR%%/rc/scanner/hsa.rc
+%%DATADIR%%/rc/scanner/mischief.rc
+%%DATADIR%%/rc/scanner/mlion.rc
+%%DATADIR%%/rc/scanner/oos.rc
+%%DATADIR%%/rc/scanner/razor.rc
+%%DATADIR%%/rc/scanner/recon2.rc
+%%DATADIR%%/rc/scanner/solo3.rc
+%%DATADIR%%/rc/scanner/tnames.rc
+%%DATADIR%%/rc/scanner/willow.rc
+%%DATADIR%%/rc/scanner/win.rc
+%%DATADIR%%/rc/stone-a-imp/976.rc
+%%DATADIR%%/rc/stone-a-imp/Stormkeeper.rc
+%%DATADIR%%/rc/stone-a-imp/airbag.rc
+%%DATADIR%%/rc/stone-a-imp/candy2.rc
+%%DATADIR%%/rc/stone-a-imp/cascade.rc
+%%DATADIR%%/rc/stone-a-imp/gigolo.rc
+%%DATADIR%%/rc/stone-a-imp/ironicimps.rc
+%%DATADIR%%/rc/stone-a-imp/rosebud.rc
+%%DATADIR%%/rc/stone-a-imp/rotp.rc
+%%DATADIR%%/rc/stone-a-imp/rotp2.rc
+%%DATADIR%%/rc/stone-b-imp/blinedl.rc
+%%DATADIR%%/rc/stone-b-imp/devilish.rc
+%%DATADIR%%/rc/stone-b-imp/hhead.rc
+%%DATADIR%%/rc/stone-b-imp/olivia.rc
+%%DATADIR%%/rc/stone-b-imp/pixie.rc
+%%DATADIR%%/rc/stone-b-imp/qsilver.rc
+%%DATADIR%%/rc/stone-b-imp/revival.rc
+%%DATADIR%%/rc/stone-b-imp/sovain.rc
+%%DATADIR%%/rc/stone-b-imp/uvited.rc
+%%DATADIR%%/rc/stone-b-imp/vain.rc
+%%DATADIR%%/rc/top50/behemot.rc
+%%DATADIR%%/rc/top50/blade.rc
+%%DATADIR%%/rc/top50/boysareback.rc
+%%DATADIR%%/rc/top50/candy.rc
+%%DATADIR%%/rc/top50/candy2.rc
+%%DATADIR%%/rc/top50/cascade.rc
+%%DATADIR%%/rc/top50/cereal.rc
+%%DATADIR%%/rc/top50/cheephalfoff.rc
+%%DATADIR%%/rc/top50/crazyshot2.rc
+%%DATADIR%%/rc/top50/dat0.rc
+%%DATADIR%%/rc/top50/dawn.rc
+%%DATADIR%%/rc/top50/dawn2.rc
+%%DATADIR%%/rc/top50/dclear.rc
+%%DATADIR%%/rc/top50/dclear2.rc
+%%DATADIR%%/rc/top50/deepfreezex.rc
+%%DATADIR%%/rc/top50/defensive.rc
+%%DATADIR%%/rc/top50/devilish.rc
+%%DATADIR%%/rc/top50/devilstick.rc
+%%DATADIR%%/rc/top50/disincentive.rc
+%%DATADIR%%/rc/top50/fastaction4.rc
+%%DATADIR%%/rc/top50/firestorm.rc
+%%DATADIR%%/rc/top50/freighttrainv02.rc
+%%DATADIR%%/rc/top50/g2.rc
+%%DATADIR%%/rc/top50/geist.rc
+%%DATADIR%%/rc/top50/hammerhead.rc
+%%DATADIR%%/rc/top50/harmonysnoot.rc
+%%DATADIR%%/rc/top50/hazylazy.rc
+%%DATADIR%%/rc/top50/herbalavenger.rc
+%%DATADIR%%/rc/top50/hescansalone.rc
+%%DATADIR%%/rc/top50/idioteque.rc
+%%DATADIR%%/rc/top50/imp.rc
+%%DATADIR%%/rc/top50/ironicimps.rc
+%%DATADIR%%/rc/top50/jinx.rc
+%%DATADIR%%/rc/top50/jinx2.rc
+%%DATADIR%%/rc/top50/machine.rc
+%%DATADIR%%/rc/top50/marsupiallion.rc
+%%DATADIR%%/rc/top50/myblur2.rc
+%%DATADIR%%/rc/top50/newt.rc
+%%DATADIR%%/rc/top50/npaper2.rc
+%%DATADIR%%/rc/top50/numb.rc
+%%DATADIR%%/rc/top50/olivia.rc
+%%DATADIR%%/rc/top50/pixie.rc
+%%DATADIR%%/rc/top50/pre75_z47a.rc
+%%DATADIR%%/rc/top50/preserver.rc
+%%DATADIR%%/rc/top50/procoptodon.rc
+%%DATADIR%%/rc/top50/purifier.rc
+%%DATADIR%%/rc/top50/quicksilver.rc
+%%DATADIR%%/rc/top50/razor.rc
+%%DATADIR%%/rc/top50/recon2.rc
+%%DATADIR%%/rc/top50/recovery.rc
+%%DATADIR%%/rc/top50/reep-noq.rc
+%%DATADIR%%/rc/top50/reepicheep.rc
+%%DATADIR%%/rc/top50/revengepaper.rc
+%%DATADIR%%/rc/top50/ring_a.rc
+%%DATADIR%%/rc/top50/ring_b.rc
+%%DATADIR%%/rc/top50/rotf-noq.rc
+%%DATADIR%%/rc/top50/rotfcopy.rc
+%%DATADIR%%/rc/top50/rotpendragon.rc
+%%DATADIR%%/rc/top50/rotpendragon2.rc
+%%DATADIR%%/rc/top50/rov.rc
+%%DATADIR%%/rc/top50/scanman.rc
+%%DATADIR%%/rc/top50/sevenbrothers.rc
+%%DATADIR%%/rc/top50/seveneleven11gi.rc
+%%DATADIR%%/rc/top50/silking.rc
+%%DATADIR%%/rc/top50/silvertalon12.rc
+%%DATADIR%%/rc/top50/soldierofsilk.rc
+%%DATADIR%%/rc/top50/sonofvain.rc
+%%DATADIR%%/rc/top50/stormkeeper.rc
+%%DATADIR%%/rc/top50/tangletrap3.rc
+%%DATADIR%%/rc/top50/thunderstrike.rc
+%%DATADIR%%/rc/top50/unheardof.rc
+%%DATADIR%%/rc/top50/uninvited.rc
+%%DATADIR%%/rc/top50/vanquisher2.rc
+%%DATADIR%%/rc/top50/wallpaper.rc
+%%DATADIR%%/rc/top50/willow.rc
+%%DATADIR%%/rc/top50/wipeuncle.rc
+%%DATADIR%%/rc/top50/zooom.rc
+@dirrm %%DATADIR%%/rc/top50
+@dirrm %%DATADIR%%/rc/stone-b-imp
+@dirrm %%DATADIR%%/rc/stone-a-imp
+@dirrm %%DATADIR%%/rc/scanner
+@dirrm %%DATADIR%%/rc/paper-stone
+@dirrm %%DATADIR%%/rc/paper-imp
+@dirrm %%DATADIR%%/rc/paper
+@dirrm %%DATADIR%%/rc/nso
+@dirrm %%DATADIR%%/rc/clear
+@dirrm %%DATADIR%%/rc/bomber
+@dirrm %%DATADIR%%/rc/blur
+@dirrm %%DATADIR%%/rc/0test
+@dirrm %%DATADIR%%/rc-test
+@dirrm %%DATADIR%%/rc
+@dirrm %%DATADIR%%
+%%PORTDOCS%%@dirrm %%DOCSDIR%%