aboutsummaryrefslogtreecommitdiff
path: root/games/alephone-scenarios/Makefile
blob: 07883fae64582555438e1de2a60a1cfbd55fac54 (plain) (blame)
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# Created by: alepulver

PORTNAME=	scenarios
PORTVERSION=	1.0
PORTREVISION=	8
CATEGORIES=	games
MASTER_SITES=	http://files3.bungie.org/trilogy/:bungie \
		http://files5.bungie.org/marathon/:rubicon \
		http://nardofiles.bungie.org/:nardofiles \
		http://eternal.bungie.org/files/_releases/:eternal \
		SF/../emr3:emr \
		http://ryoko.treellama.org/:gray
PKGNAMEPREFIX=	alephone-
DISTFILES=	#
DIST_SUBDIR=	alephone
EXTRACT_ONLY=	#

MAINTAINER=	ports@FreeBSD.org
COMMENT=	Free scenarios for the Aleph One engine

RUN_DEPENDS=	alephone:games/alephone

USES=		zip
NO_BUILD=	yes
NO_WRKSUBDIR=	yes

OPTIONS_MULTI=	PACKS
OPTIONS_MULTI_PACKS=	EMR ETERNAL EVIL RED RUBICON TI GRAY
OPTIONS_DEFAULT=	EVIL RED
OPTIONS_SUB=	yes

EMR_DESC=	Excalibur: Morgana's Revenge data
ETERNAL_DESC=	Eternal X data
EVIL_DESC=	Marathon Evil data
RED_DESC=	Marathon Red data
RUBICON_DESC=	Rubicon X data
TI_DESC=	Tempus Irae data
GRAY_DESC=	The Gray Incident data

SUB_FILES=	wrapper

.include <bsd.port.options.mk>

.if ${OPSYS} == FreeBSD
. if ${PORT_OPTIONS:METERNAL} || ${PORT_OPTIONS:MRUBICON}
USES=		zip:infozip
. endif
.endif

DATADIR!=	cd ${PORTSDIR}/games/alephone && ${MAKE} -V DATADIR

.if ${PORT_OPTIONS:MEMR}
. if ${OPSYS} == FreeBSD
EXTRACT_DEPENDS=gtar:archivers/gtar
TAR=		${LOCALBASE}/bin/gtar
. endif
EMR_FILE=	emr-3.0-0602.tgz
DISTFILES+=	${EMR_FILE}:emr
AO_PACKS+=	emr
DESKTOP_ENTRIES+="Excalibur: Morgana's Revenge" "" "" "alephone-emr" \
		"Game;ActionGame;" false
.endif

.if ${PORT_OPTIONS:METERNAL}
DISTFILES+=	EternalXv103Full${EXTRACT_SUFX}:eternal
EXTRACT_ONLY+=	EternalXv103Full${EXTRACT_SUFX}
AO_PACKS+=	eternal
DESKTOP_ENTRIES+="Eternal X" "" "" "alephone-eternal" \
		"Game;ActionGame;" false
.endif

.if ${PORT_OPTIONS:MEVIL}
DISTFILES+=	MarathonEvil${EXTRACT_SUFX}:bungie
EXTRACT_ONLY+=	MarathonEvil${EXTRACT_SUFX}
AO_PACKS+=	evil
DESKTOP_ENTRIES+="Evil" "" "" "alephone-evil" \
		"Game;ActionGame;" false
.endif

.if ${PORT_OPTIONS:MRED}
DISTFILES+=	MarathonRED${EXTRACT_SUFX}:bungie
EXTRACT_ONLY+=	MarathonRED${EXTRACT_SUFX}
AO_PACKS+=	red
DESKTOP_ENTRIES+="Marathon Red" "" "" "alephone-red" \
		"Game;ActionGame;" false
.endif

.if ${PORT_OPTIONS:MRUBICON}
DISTFILES+=	marathonRubiconX${EXTRACT_SUFX}:rubicon
EXTRACT_ONLY+=	marathonRubiconX${EXTRACT_SUFX}
AO_PACKS+=	rubicon
DESKTOP_ENTRIES+="Rubicon X" "" "" "alephone-rubicon" \
		"Game;ActionGame;" false
.endif

.if ${PORT_OPTIONS:MTI}
DISTFILES+=	Tempus_Irae${EXTRACT_SUFX}:nardofiles
EXTRACT_ONLY+=	Tempus_Irae${EXTRACT_SUFX}
AO_PACKS+=	tempus_irae
DESKTOP_ENTRIES+="Tempus Irae" "" "" "alephone-tempus_irae" \
		"Game;ActionGame;" false
.endif

.if ${PORT_OPTIONS:MGRAY}
DISTFILES+=	tgi${EXTRACT_SUFX}:gray
EXTRACT_ONLY+=	tgi${EXTRACT_SUFX}
AO_PACKS+=	gray
DESKTOP_ENTRIES+="The Gray Incident" "" "" "alephone-gray" \
		"Game;ActionGame;" false
.endif

post-extract:
.if ${PORT_OPTIONS:MEMR}
	@${TAR} zxf ${DISTDIR}/${DIST_SUBDIR}/${EMR_FILE} -C ${WRKDIR}
	@${MKDIR} ${WRKSRC}/emr
	@cd ${WRKSRC}/${EMR_FILE:S/-0602.tgz//} && \
		${MV} share-emr/* ../emr && \
		${MV} share-doc-emr ../emr/docs && \
		${MV} README ../emr/docs
.endif
.if ${PORT_OPTIONS:METERNAL}
	@cd ${WRKSRC} && ${MV} "Eternal X 1.0.3" eternal
.endif
.if ${PORT_OPTIONS:MEVIL}
	@cd ${WRKSRC} && ${MV} "Marathon EVIL" evil
.endif
.if ${PORT_OPTIONS:MRED}
	@cd ${WRKSRC} && ${MV} "Marathon RED" red
.endif
.if ${PORT_OPTIONS:MRUBICON}
	@cd ${WRKSRC} && ${MV} "Rubicon X "?? rubicon
.endif
.if ${PORT_OPTIONS:MTI}
	@cd ${WRKSRC} && ${MV} Tempus_Irae tempus_irae
.endif
.if ${PORT_OPTIONS:MGRAY}
	@cd ${WRKSRC} && ${MV} "The Gray Incident" gray
.endif

pre-install:
.for f in ${AO_PACKS}
	@cd ${WRKDIR} && ${SED} -e 's|%%GAMEDIR%%|${f}|' wrapper > alephone-${f}
.endfor

do-install:
	@${MKDIR} ${STAGEDIR}${DATADIR}
.for f in ${AO_PACKS}
	${INSTALL_SCRIPT} ${WRKDIR}/alephone-${f} ${STAGEDIR}${PREFIX}/bin
	(cd ${WRKSRC} && ${COPYTREE_SHARE} ${f} ${STAGEDIR}${DATADIR})
.endfor
.if ${PORT_OPTIONS:MRUBICON}
. for f in Fonts MML Themes
	@${LN} -s ${DATADIR}/${f} ${STAGEDIR}${DATADIR}/rubicon
. endfor
.endif

.include <bsd.port.mk>