summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games-simulation/pmars-sdl/files/pmars-sdl-0.9.2e-format.patch12
-rw-r--r--games-simulation/pmars-sdl/pmars-sdl-0.9.2e-r1.ebuild92
2 files changed, 98 insertions, 6 deletions
diff --git a/games-simulation/pmars-sdl/files/pmars-sdl-0.9.2e-format.patch b/games-simulation/pmars-sdl/files/pmars-sdl-0.9.2e-format.patch
index d8c588a32206..4e02da8a82a8 100644
--- a/games-simulation/pmars-sdl/files/pmars-sdl-0.9.2e-format.patch
+++ b/games-simulation/pmars-sdl/files/pmars-sdl-0.9.2e-format.patch
@@ -1,5 +1,5 @@
---- src/asm.c.old 2015-10-28 13:23:53.465014342 +0100
-+++ src/asm.c 2015-10-28 13:23:10.502813377 +0100
+--- a/src/asm.c.old 2015-10-28 13:23:53.465014342 +0100
++++ b/src/asm.c 2015-10-28 13:23:10.502813377 +0100
@@ -652,7 +652,7 @@
macputs(str);
#else
@@ -27,8 +27,8 @@
#ifndef VMS
textout(outs);
#else
---- src/cdb.c.old 2015-10-28 13:24:04.669805966 +0100
-+++ src/cdb.c 2015-10-28 13:23:10.502813377 +0100
+--- a/src/cdb.c.old 2015-10-28 13:24:04.669805966 +0100
++++ b/src/cdb.c 2015-10-28 13:23:10.502813377 +0100
@@ -2760,7 +2760,7 @@
fprintf(outp, nameByAuthorScores, warrior[idxV[i]].name, warrior[idxV[i]].authorName,
scrV[idxV[i]]);
@@ -38,8 +38,8 @@
for (j = 0; j < warriors; ++j) {
fprintf(outp, " %d", warrior[idxV[i]].score[j]);
}
---- src/clparse.c.old 2015-10-28 13:24:10.648694768 +0100
-+++ src/clparse.c 2015-10-28 13:23:10.502813377 +0100
+--- a/src/clparse.c.old 2015-10-28 13:24:10.648694768 +0100
++++ b/src/clparse.c 2015-10-28 13:23:10.502813377 +0100
@@ -289,7 +289,7 @@
if (next_input(filep, inputs)) {
if (!strcmp(inputs, "-")) {
diff --git a/games-simulation/pmars-sdl/pmars-sdl-0.9.2e-r1.ebuild b/games-simulation/pmars-sdl/pmars-sdl-0.9.2e-r1.ebuild
new file mode 100644
index 000000000000..05129c0d1c72
--- /dev/null
+++ b/games-simulation/pmars-sdl/pmars-sdl-0.9.2e-r1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit readme.gentoo-r1 toolchain-funcs
+
+MY_PN="${PN/-sdl/}"
+MY_PV="${PV/e/-5}"
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="Portable redcode simulator's sdl port for core war"
+HOMEPAGE="http://corewar.co.uk/pihlaja/pmars-sdl/"
+SRC_URI="http://corewar.co.uk/pihlaja/pmars-sdl/${MY_P}.tar.gz"
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="sdl X"
+
+RDEPEND="
+ sdl? ( x11-libs/libX11 media-libs/libsdl[video] )
+ X? ( x11-libs/libX11 )
+ !sdl? ( !X? ( sys-libs/ncurses:0= ) )
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}"/${P}-format.patch )
+
+DOC_CONTENTS="
+ There are some macros in ${GAMES_DATADIR}/${MY_PN}/macros
+ which you should make accessible to pmars by typing
+ export PMARSHOME=${GAMES_DATADIR}/${MY_PN}/macros\n
+"
+
+src_compile() {
+ CFLAGS="${CFLAGS} -DEXT94 -DPERMUTATE"
+ LFLAGS="-x"
+
+ if use sdl ; then
+ CFLAGS="${CFLAGS} -DSDLGRAPHX `sdl-config --cflags`"
+ LIB=`sdl-config --libs`
+ elif use X ; then
+ CFLAGS="${CFLAGS} -DXWINGRAPHX"
+ LIB="-L/usr/X11R6/lib -lX11"
+ else
+ CFLAGS="${CFLAGS} -DCURSESGRAPHX"
+ LIB="-lcurses"
+ fi
+
+ cd src
+
+ SRC="asm.c
+ cdb.c
+ clparse.c
+ disasm.c
+ eval.c
+ global.c
+ pmars.c
+ sim.c
+ pos.c
+ str_eng.c
+ token.c"
+
+ for x in ${SRC}; do
+ einfo "compiling ${x}"
+ $(tc-getCC) ${CFLAGS} ${x} -c || die
+ done
+
+ echo
+ einfo "linking with LIB: ${LIB}"
+ $(tc-getCC) ${LDFLAGS} *.o ${LIB} -o ${MY_PN} || die
+}
+
+src_install() {
+ dobin src/${MY_PN}
+ doman doc/${MY_PN}.6
+
+ dodoc AUTHORS CONTRIB ChangeLog README doc/redcode.ref
+ readme.gentoo_create_doc
+
+ insinto "/usr/share/${MY_PN}/warriors"
+ doins warriors/*
+
+ insinto "/usr/share/${MY_PN}/macros"
+ doins config/*.mac
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}