1 # Created by: alepulver
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}
15 MAINTAINER= ports@FreeBSD.org
16 COMMENT= Hexen II source port supporting Linux/FreeBSD/Unix/Windows
19 LICENSE_FILE= ${WRKSRC}/LICENSE.txt
21 USES= gmake pkgconfig tar:tgz
24 MAKE_ARGS= X11BASE="${LOCALBASE}"
27 SUB_FILES= pkg-message
31 OPTIONS_DEFINE= DOCS FLAC MIKMOD OGG OPUS
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
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
63 TREMOR_LIB_DEPENDS= libvorbisidec.so:audio/libtremor
64 TREMOR_MAKE_ARGS= VORBISLIB=tremor
66 VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis
67 VORBIS_MAKE_ARGS= VORBISLIB=vorbis
69 VORBISLIB_DESC= Vorbis audio codec
71 .include <bsd.port.options.mk>
73 .if !${PORT_OPTIONS:MMAD} && !${PORT_OPTIONS:MMPG123}
74 MAKE_ARGS+= USE_CODEC_MP3=no
77 .if !${PORT_OPTIONS:MTREMOR} && !${PORT_OPTIONS:MVORBIS}
78 MAKE_ARGS+= USE_CODEC_VORBIS=no
82 @${CP} ${FILESDIR}/${MAKEFILE} ${WRKSRC}
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}
93 .for f in engine/h2shared/cd_bsd.c
94 @${REINPLACE_CMD} -e \
95 's|"acd0"|"cd0"|' ${WRKSRC}/${f}
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}
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
107 ${INSTALL_DATA} ${WRKDIR}/patchdat/data1/* ${STAGEDIR}${DATADIR}/data1
108 (cd ${WRKDIR} && ${COPYTREE_SHARE} portals ${STAGEDIR}${DATADIR})
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
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
122 post-install-DOCS-on:
123 ${MKDIR} ${STAGEDIR}${DOCSDIR}
124 ${INSTALL_DATA} ${WRKSRC}/docs/* ${STAGEDIR}${DOCSDIR}
126 .include <bsd.port.mk>