blob: df1ca5fb51ee62005fbac4cb3c708e12f92c0886 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
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
)
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
}
|