summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-simulation/pmars-sdl/pmars-sdl-0.9.2e-r2.ebuild')
-rw-r--r--games-simulation/pmars-sdl/pmars-sdl-0.9.2e-r2.ebuild104
1 files changed, 104 insertions, 0 deletions
diff --git a/games-simulation/pmars-sdl/pmars-sdl-0.9.2e-r2.ebuild b/games-simulation/pmars-sdl/pmars-sdl-0.9.2e-r2.ebuild
new file mode 100644
index 000000000000..ee9eb60c147c
--- /dev/null
+++ b/games-simulation/pmars-sdl/pmars-sdl-0.9.2e-r2.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs readme.gentoo-r1
+
+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="https://corewar.co.uk/pihlaja/pmars-sdl/"
+SRC_URI="https://corewar.co.uk/pihlaja/pmars-sdl/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+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}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-format.patch
+ "${FILESDIR}"/${P}-ncurses-opaque.patch
+ "${FILESDIR}"/${P}-c23.patch
+)
+
+DOC_CONTENTS="
+ There are some macros in /usr/share/pmars/macros
+ which you should make accessible to pmars by typing
+ export PMARSHOME=/usr/share/pmars/macros\n
+"
+
+src_compile() {
+ local LIB=""
+ export LFLAGS="-x"
+
+ append-cppflags -DEXT94 -DPERMUTATE
+
+ if use sdl ; then
+ append-cflags $(sdl-config --cflags)
+ append-cppflags -DSDLGRAPHX
+
+ LIB="$(sdl-config --libs)"
+ elif use X ; then
+ append-cppflags -DXWINGRAPHX
+
+ LIB="$($(tc-getPKG_CONFIG) --libs x11)"
+ else
+ append-cppflags -DCURSESGRAPHX
+
+ LIB="$($(tc-getPKG_CONFIG) --libs ncurses)"
+ fi
+
+ cd src || die
+
+ local programs=(
+ asm.c
+ cdb.c
+ clparse.c
+ disasm.c
+ eval.c
+ global.c
+ pmars.c
+ sim.c
+ pos.c
+ str_eng.c
+ token.c
+ )
+
+ for program in "${programs[@]}" ; do
+ einfo "Compiling ${program}"
+ $(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${program} -c || die
+ done
+
+ 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
+}