aboutsummaryrefslogtreecommitdiffstats
path: root/games/linux-ssamtfe/Makefile
blob: 20000d98b869adf0c0c44236e3d00ddda0ffe61b (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
# Created by: Alexander Logvinov <ports@logvinov.com>
# $FreeBSD$

PORTNAME=   ssamtfe
PORTVERSION=    1.05b3
CATEGORIES= games linux
MASTER_SITES=   http://home.coc-ag.de/dressler-ro/liflg/files/final/ \
        http://bsd-geek.de/FreeBSD/distfiles/
PKGNAMEPREFIX=  linux-
DISTFILES=  ${PORTNAME:S|ssam|serious.sam.|}_${PORTVERSION:S|b|beta|}-english-2.run

MAINTAINER= ports@FreeBSD.org
COMMENT=    Serious Sam: The First Encounter

OPTIONS_DEFINE= VORBIS DOCS
OPTIONS_DEFAULT=    VORBIS

USE_LINUX=  yes
USE_LINUX_APPS= xorglibs
NO_BUILD=   yes
NO_PACKAGE= Distribution is 279MB; set FORCE_PACKAGE if you really want\
        to build this package
RESTRICTED= Redistribution is limited, see license
PORTDOCS=   README.liflg ShellSymbols.txt changes.txt notes.txt
SUB_FILES=  pkg-message

NO_STAGE=   yes
.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MVORBIS}
USE_LINUX_APPS+=libvorbis
PLIST_SUB+= VORBIS=""
.else
PLIST_SUB+= VORBIS="@comment "
.endif

# Gold Edition
.if exists(${CDROM_MOUNT}/Install/1_00c.gro)
GOLD=       yes
GRO_FILES=  ExtraTools music
PLIST_SUB+= GOLD="" NORMAL="@comment "
.else
GRO_FILES=  ExtraTools a music scripts
PLIST_SUB+= GOLD="@comment " NORMAL=""
.endif

do-extract:
    @${MKDIR} ${WRKSRC}/Data
    @cd ${WRKSRC} && ${SED} -e '1,/exit $$res/d' ${_DISTDIR}/${DISTFILES} |\
        ${GUNZIP_CMD} -q | ${TAR} xf -
.for file in SeriousSamPatch105_USA_linux bins
    @${TAR} jx -C ${WRKSRC}/Data -f ${WRKSRC}/${file}.tar.bz2
.endfor

post-patch:
    @${REINPLACE_CMD} -e "s|^\(GAMEDIR=\).*|\1\"${DATADIR}\"|" \
        -e "s|%%PREFIX%%|${PREFIX}|g" ${WRKSRC}/bin/${PORTNAME}

do-install:
.if !defined(CDROM_MOUNT)
    @${ECHO_CMD} "${PKGNAME} requires CDROM_MOUNT set to mount point of CD"
    @${FALSE}
.endif
.if !exists(${CDROM_MOUNT}/Install/Mods/SeriousSamTbn.tex)
    @${ECHO_CMD} "${PKGNAME} requires a retail First Encounter disc"
    @${FALSE}
.endif
    @${MKDIR} ${DATADIR}
.for gro in ${GRO_FILES}
    ${INSTALL_DATA} "${CDROM_MOUNT}/Install/1_00_${gro}.gro" ${DATADIR}/1_00_${gro}.gro
.endfor
.if defined(GOLD)
.for gro in "" _scripts
    ${INSTALL_DATA} "${CDROM_MOUNT}/Install/1_00c${gro}.gro" ${DATADIR}/1_00c${gro}.gro
.endfor
.endif
.for gro in 1_00_ExtraTools 1_04_patch
    ${INSTALL_DATA} ${WRKSRC}/Data/${gro}.gro ${DATADIR}/${gro}.gro
.endfor
.for dir in Controls Data Levels Demos Mods Scripts VirtualTrees
    @cd ${CDROM_MOUNT}/Install && \
        ${FIND} ${dir} -type d -exec \
            ${MKDIR} "${DATADIR}/{}" \; && \
        ${FIND} ${dir} -type f -exec \
            ${INSTALL_DATA} "${CDROM_MOUNT}/Install/{}" "${DATADIR}/{}" \;
.endfor
.for dir in Controls Data Help Players SaveGame Scripts Temp
    @cd ${WRKSRC}/Data && \
        ${FIND} ${dir} -type d -exec \
            ${MKDIR} "${DATADIR}/{}" \; && \
        ${FIND} ${dir} -type f -exec \
            ${INSTALL_DATA} "${WRKSRC}/Data/{}" "${DATADIR}/{}" \;
.endfor
    @${MKDIR} ${DATADIR}/Bin
    @cd ${WRKSRC}/Data && \
        ${FIND} Bin -type f -exec \
            ${INSTALL_PROGRAM} "${WRKSRC}/Data/{}" "${DATADIR}/{}" \;
    ${BRANDELF} -t Linux ${DATADIR}/Bin/ssam_*
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/${PORTNAME} ${PREFIX}/bin
.if ${PORT_OPTIONS:MVORBIS}
    ${LN} -fs ${LINUXBASE}/usr/lib/libvorbisfile.so.3 ${DATADIR}/Bin/libvorbisfile.so
.endif
    @${FIND} -E ${DATADIR} -type f \
        -iregex ".*\.(ctl|txt|lst|ini|cfg|des|reg)" \
        -exec ${SH} -c "${SED} "s/`printf '\r'`//" '{}' \
        >${WRKDIR}/tmp.txt; ${MV} ${WRKDIR}/tmp.txt '{}'" \;
    @${ECHO} SERIOUS_MHZ=2000 > ${PREFIX}/etc/${PORTNAME}.conf.sample
.if !exists(${PREFIX}/etc/${PORTNAME}.conf)
    ${INSTALL_DATA} ${PREFIX}/etc/${PORTNAME}.conf.sample ${PREFIX}/etc/${PORTNAME}.conf
.endif
.if ${PORT_OPTIONS:MDOCS}
    @${MKDIR} ${DOCSDIR}
    ${INSTALL_DATA} -p ${WRKSRC}/README.liflg ${DOCSDIR}
.for i in ${PORTDOCS:NREADME.liflg}
    ${LN} -sf ${DATADIR}/Help/${i} ${DOCSDIR}/${i}
.endfor
.endif

post-install:
    @${CAT} ${PKGMESSAGE}

.include <bsd.port.mk>