Tweak games/kreversi version 4.14.3
[dports.git] / games / uhexen2 / Makefile
1 # Created by: alepulver
2 # $FreeBSD$
3
4 PORTNAME=       uhexen2
5 PORTVERSION=    1.5.7
6 CATEGORIES=     games
7 MASTER_SITES=   SF/${PORTNAME}/Hammer%20of%20Thyrion/${PORTVERSION}/Source \
8                 SF/${PORTNAME}/Hexen2%20GameData/gamedata-1.29:data \
9                 SF/${PORTNAME}/Hexen2%20GameData/hexenworld-pakfiles:hw
10 DISTNAME=       hexen2source-${PORTVERSION}
11 DISTFILES=      ${DISTNAME}${EXTRACT_SUFX} \
12                 gamedata-all-1.29${EXTRACT_SUFX}:data
13 DIST_SUBDIR=    ${PORTNAME}
14
15 MAINTAINER=     ports@FreeBSD.org
16 COMMENT=        Hexen II source port supporting Linux/FreeBSD/Unix/Windows
17
18 LICENSE=        GPLv2+
19 LICENSE_FILE=   ${WRKSRC}/LICENSE.txt
20
21 USES=           gmake pkgconfig tar:tgz
22 USE_GL=         gl
23 USE_SDL=        sdl
24 MAKE_ARGS=      X11BASE="${LOCALBASE}"
25 MAKE_JOBS_UNSAFE=       yes
26
27 SUB_FILES=      pkg-message
28
29 PORTSCOUT=      skipb:yes
30
31 OPTIONS_DEFINE=         DOCS FLAC MIKMOD OGG OPUS
32 OPTIONS_MULTI=          BIN
33 OPTIONS_MULTI_BIN=      HEXEN2 HW
34 OPTIONS_RADIO=          MP3LIB VORBISLIB
35 OPTIONS_RADIO_MP3LIB=   MAD MPG123
36 OPTIONS_RADIO_VORBISLIB=        TREMOR VORBIS
37 OPTIONS_DEFAULT=        HEXEN2 HW MAD OGG VORBIS
38 OPTIONS_DEFINE_i386=    ASM
39 OPTIONS_DEFAULT_i386=   ASM
40 OPTIONS_SUB=            yes
41
42 ASM_BUILD_DEPENDS=      nasm:devel/nasm
43 ASM_MAKE_ARGS_OFF=      USE_X86_ASM=no
44 FLAC_LIB_DEPENDS=       libFLAC.so:audio/flac
45 FLAC_MAKE_ARGS=         USE_CODEC_FLAC=yes
46 HEXEN2_DESC=            Build Hexen II clients and servers
47 HEXEN2_MAKE_ARGS=       BUILD_HEXEN2=yes
48 HW_DESC=                Build HexenWorld clients and servers
49 HW_DISTFILES=           hexenworld-pakfiles-0.15${EXTRACT_SUFX}:hw
50 HW_MAKE_ARGS=           BUILD_HW=yes
51 MAD_LIB_DEPENDS=        libmad.so:audio/libmad
52 MAD_MAKE_ARGS=          MP3LIB=mad
53 MIKMOD_LIB_DEPENDS=     libmikmod.so:audio/libmikmod
54 MIDMOD_MAKE_ARGS=       USE_CODEC_MIKMOD=yes
55 MP3LIB_DESC=            MP3 audio codec
56 MPG123_LIB_DEPENDS=     libmpg123.so:audio/mpg123
57 MPG123_MAKE_ARGS=       MP3LIB=mpg123
58 OGG_LIB_DEPENDS=        libogg.so:audio/libogg
59 OGG_MAKE_ARGS_OFF=      USE_CODEC_OGG=no
60 OPUS_LIB_DEPENDS=       libopusfile.so:audio/opusfile
61 OPUS_MAKE_ARGS=         USE_CODEC_OPUS=yes
62 OPUS_IMPLIES=           OGG
63 TREMOR_LIB_DEPENDS=     libvorbisidec.so:audio/libtremor
64 TREMOR_MAKE_ARGS=       VORBISLIB=tremor
65 TREMOR_IMPLIES=         OGG
66 VORBIS_LIB_DEPENDS=     libvorbis.so:audio/libvorbis
67 VORBIS_MAKE_ARGS=       VORBISLIB=vorbis
68 VORBIS_IMPLIES=         OGG
69 VORBISLIB_DESC=         Vorbis audio codec
70
71 .include <bsd.port.options.mk>
72
73 .if !${PORT_OPTIONS:MMAD} && !${PORT_OPTIONS:MMPG123}
74 MAKE_ARGS+=     USE_CODEC_MP3=no
75 .endif
76
77 .if !${PORT_OPTIONS:MTREMOR} && !${PORT_OPTIONS:MVORBIS}
78 MAKE_ARGS+=     USE_CODEC_VORBIS=no
79 .endif
80
81 post-extract:
82         @${CP} ${FILESDIR}/${MAKEFILE} ${WRKSRC}
83
84 post-patch:
85 .for f in engine/hexen2/Makefile engine/hexenworld/client/Makefile \
86         engine/hexenworld/server/Makefile hw_utils/hwmaster/Makefile \
87         libs/timidity/Makefile
88         @${REINPLACE_CMD} -e \
89                 '/^CPU_X86/s|=.*|=| ; \
90                  /^CFLAGS/s| -g | | ; \
91                  /^CFLAGS/s| -O2 | | ;' ${WRKSRC}/${f}
92 .endfor
93 .for f in engine/h2shared/cd_bsd.c
94         @${REINPLACE_CMD} -e \
95                 's|"acd0"|"cd0"|' ${WRKSRC}/${f}
96 .endfor
97 .for f in engine/hexen2/sys_unix.c engine/hexenworld/client/sys_unix.c
98         @${REINPLACE_CMD} -e \
99                 '/parms.basedir/s|= cwd;|= "${DATADIR}";|' ${WRKSRC}/${f}
100 .endfor
101
102 do-install:
103         @${MKDIR} ${STAGEDIR}${DATADIR}/data1
104 .for f in default.cfg hexen.rc progs.dat progs2.dat strings.txt
105         ${INSTALL_DATA} ${WRKDIR}/data1/${f} ${STAGEDIR}${DATADIR}/data1
106 .endfor
107         ${INSTALL_DATA} ${WRKDIR}/patchdat/data1/* ${STAGEDIR}${DATADIR}/data1
108         (cd ${WRKDIR} && ${COPYTREE_SHARE} portals ${STAGEDIR}${DATADIR})
109
110 post-install-HW-on:
111         ${INSTALL_PROGRAM} ${WRKSRC}/engine/hexenworld/client/glhwcl ${STAGEDIR}${PREFIX}/bin
112         ${INSTALL_PROGRAM} ${WRKSRC}/engine/hexenworld/client/hwcl ${STAGEDIR}${PREFIX}/bin
113         ${INSTALL_PROGRAM} ${WRKSRC}/engine/hexenworld/server/hwsv ${STAGEDIR}${PREFIX}/bin
114         ${INSTALL_PROGRAM} ${WRKSRC}/hw_utils/hwmaster/hwmaster ${STAGEDIR}${PREFIX}/bin
115         ${MKDIR} ${STAGEDIR}${DATADIR}/hw
116         ${INSTALL_DATA} ${WRKDIR}/hw/* ${STAGEDIR}${DATADIR}/hw
117
118 post-install-HEXEN2-on:
119         ${INSTALL_PROGRAM} ${WRKSRC}/engine/hexen2/glhexen2 ${STAGEDIR}${PREFIX}/bin
120         ${INSTALL_PROGRAM} ${WRKSRC}/engine/hexen2/hexen2 ${STAGEDIR}${PREFIX}/bin
121
122 post-install-DOCS-on:
123         ${MKDIR} ${STAGEDIR}${DOCSDIR}
124         ${INSTALL_DATA} ${WRKSRC}/docs/* ${STAGEDIR}${DOCSDIR}
125
126 .include <bsd.port.mk>