Index: head/games/uhexen2/Makefile =================================================================== --- head/games/uhexen2/Makefile (revision 565430) +++ head/games/uhexen2/Makefile (revision 565431) @@ -1,127 +1,129 @@ # Created by: alepulver # $FreeBSD$ PORTNAME= uhexen2 PORTVERSION= 1.5.9 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= games MASTER_SITES= SF/${PORTNAME}/Hammer%20of%20Thyrion/${PORTVERSION}/Source \ SF/${PORTNAME}/Hexen2%20GameData/gamedata-1.29b:data \ SF/${PORTNAME}/Hexen2%20GameData/hexenworld-pakfiles:hw DISTNAME= hexen2source-${PORTVERSION} DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ gamedata-all-1.29b${EXTRACT_SUFX}:data DIST_SUBDIR= ${PORTNAME} -MAINTAINER= ports@FreeBSD.org +MAINTAINER= ip@unixway.org COMMENT= Hexen II source port supporting Linux/FreeBSD/Unix/Windows LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/LICENSE.txt USES= gl gmake pkgconfig sdl tar:tgz USE_GL= gl USE_SDL= sdl MAKE_ARGS= X11BASE="${LOCALBASE}" MAKE_JOBS_UNSAFE= yes +PORTSCOUT= skipb:yes SUB_FILES= pkg-message -PORTSCOUT= skipb:yes - OPTIONS_DEFINE= DOCS FLAC MIKMOD OGG OPUS +OPTIONS_DEFINE_i386= ASM +OPTIONS_DEFAULT= HEXEN2 HW MAD OGG VORBIS +OPTIONS_DEFAULT_i386= ASM OPTIONS_MULTI= BIN -OPTIONS_MULTI_BIN= HEXEN2 HW +OPTIONS_MULTI_BIN= HEXEN2 HW H2PATCH OPTIONS_RADIO= MP3LIB VORBISLIB OPTIONS_RADIO_MP3LIB= MAD MPG123 OPTIONS_RADIO_VORBISLIB= TREMOR VORBIS -OPTIONS_DEFAULT= HEXEN2 HW MAD OGG VORBIS -OPTIONS_DEFINE_i386= ASM -OPTIONS_DEFAULT_i386= ASM OPTIONS_SUB= yes +H2PATCH_DESC= Build game data patching tool +HEXEN2_DESC= Build Hexen II clients and servers +HW_DESC= Build HexenWorld clients and servers +MP3LIB_DESC= MP3 audio codec +VORBISLIB_DESC= Vorbis audio codec + ASM_BUILD_DEPENDS= nasm:devel/nasm ASM_MAKE_ARGS_OFF= USE_X86_ASM=no FLAC_LIB_DEPENDS= libFLAC.so:audio/flac FLAC_MAKE_ARGS= USE_CODEC_FLAC=yes -HEXEN2_DESC= Build Hexen II clients and servers +H2PATCH_MAKE_ARGS= BUILD_H2PATCH=yes HEXEN2_MAKE_ARGS= BUILD_HEXEN2=yes -HW_DESC= Build HexenWorld clients and servers HW_DISTFILES= hexenworld-pakfiles-0.15${EXTRACT_SUFX}:hw HW_MAKE_ARGS= BUILD_HW=yes MAD_LIB_DEPENDS= libmad.so:audio/libmad MAD_MAKE_ARGS= MP3LIB=mad MIKMOD_LIB_DEPENDS= libmikmod.so:audio/libmikmod MIKMOD_MAKE_ARGS= USE_CODEC_MIKMOD=yes -MP3LIB_DESC= MP3 audio codec MPG123_LIB_DEPENDS= libmpg123.so:audio/mpg123 MPG123_MAKE_ARGS= MP3LIB=mpg123 OGG_LIB_DEPENDS= libogg.so:audio/libogg OGG_MAKE_ARGS_OFF= USE_CODEC_OGG=no +OPUS_IMPLIES= OGG OPUS_LIB_DEPENDS= libopusfile.so:audio/opusfile OPUS_MAKE_ARGS= USE_CODEC_OPUS=yes -OPUS_IMPLIES= OGG +TREMOR_IMPLIES= OGG TREMOR_LIB_DEPENDS= libvorbisidec.so:audio/libtremor TREMOR_MAKE_ARGS= VORBISLIB=tremor -TREMOR_IMPLIES= OGG +VORBIS_IMPLIES= OGG VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis VORBIS_MAKE_ARGS= VORBISLIB=vorbis -VORBIS_IMPLIES= OGG -VORBISLIB_DESC= Vorbis audio codec .include .if !${PORT_OPTIONS:MMAD} && !${PORT_OPTIONS:MMPG123} MAKE_ARGS+= USE_CODEC_MP3=no .endif .if !${PORT_OPTIONS:MTREMOR} && !${PORT_OPTIONS:MVORBIS} MAKE_ARGS+= USE_CODEC_VORBIS=no .endif post-extract: @${CP} ${FILESDIR}/${MAKEFILE} ${WRKSRC} post-patch: .for f in engine/hexen2/Makefile engine/hexenworld/client/Makefile \ engine/hexenworld/server/Makefile hw_utils/hwmaster/Makefile \ - libs/timidity/Makefile + libs/timidity/Makefile h2patch/Makefile @${REINPLACE_CMD} -e \ '/^CPU_X86/s|=.*|=| ; \ /^CFLAGS/s| -g | | ; \ /^CFLAGS/s| -O2 | | ;' ${WRKSRC}/${f} .endfor .for f in engine/h2shared/cd_bsd.c @${REINPLACE_CMD} -e \ 's|"acd0"|"cd0"|' ${WRKSRC}/${f} .endfor .for f in engine/hexen2/sys_unix.c engine/hexenworld/client/sys_unix.c @${REINPLACE_CMD} -e \ '/parms.basedir/s|= cwd;|= "${DATADIR}";|' ${WRKSRC}/${f} .endfor do-install: - @${MKDIR} ${STAGEDIR}${DATADIR}/data1 -.for f in default.cfg hexen.rc progs.dat progs2.dat strings.txt - ${INSTALL_DATA} ${WRKDIR}/data1/${f} ${STAGEDIR}${DATADIR}/data1 -.endfor - ${INSTALL_DATA} ${WRKDIR}/patchdat/data1/* ${STAGEDIR}${DATADIR}/data1 - (cd ${WRKDIR} && ${COPYTREE_SHARE} portals ${STAGEDIR}${DATADIR}) + cd ${WRKDIR} && \ + ${COPYTREE_SHARE} data1 ${STAGEDIR}${DATADIR} && \ + ${COPYTREE_SHARE} portals ${STAGEDIR}${DATADIR} -post-install-HW-on: - ${INSTALL_PROGRAM} ${WRKSRC}/engine/hexenworld/client/glhwcl ${STAGEDIR}${PREFIX}/bin - ${INSTALL_PROGRAM} ${WRKSRC}/engine/hexenworld/client/hwcl ${STAGEDIR}${PREFIX}/bin - ${INSTALL_PROGRAM} ${WRKSRC}/engine/hexenworld/server/hwsv ${STAGEDIR}${PREFIX}/bin - ${INSTALL_PROGRAM} ${WRKSRC}/hw_utils/hwmaster/hwmaster ${STAGEDIR}${PREFIX}/bin - ${MKDIR} ${STAGEDIR}${DATADIR}/hw - ${INSTALL_DATA} ${WRKDIR}/hw/* ${STAGEDIR}${DATADIR}/hw +post-install-DOCS-on: + ${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/docs/* ${STAGEDIR}${DOCSDIR} +post-install-H2PATCH-on: + ${INSTALL_PROGRAM} ${WRKSRC}/h2patch/h2patch ${STAGEDIR}${PREFIX}/bin + cd ${WRKDIR} && ${COPYTREE_SHARE} patchdat ${STAGEDIR}${DATADIR} + post-install-HEXEN2-on: ${INSTALL_PROGRAM} ${WRKSRC}/engine/hexen2/glhexen2 ${STAGEDIR}${PREFIX}/bin ${INSTALL_PROGRAM} ${WRKSRC}/engine/hexen2/hexen2 ${STAGEDIR}${PREFIX}/bin -post-install-DOCS-on: - ${MKDIR} ${STAGEDIR}${DOCSDIR} - ${INSTALL_DATA} ${WRKSRC}/docs/* ${STAGEDIR}${DOCSDIR} +post-install-HW-on: + ${INSTALL_PROGRAM} ${WRKSRC}/engine/hexenworld/client/glhwcl ${STAGEDIR}${PREFIX}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/engine/hexenworld/client/hwcl ${STAGEDIR}${PREFIX}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/engine/hexenworld/server/hwsv ${STAGEDIR}${PREFIX}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/hw_utils/hwmaster/hwmaster ${STAGEDIR}${PREFIX}/bin + cd ${WRKDIR} && ${COPYTREE_SHARE} hw ${STAGEDIR}${DATADIR} .include Index: head/games/uhexen2/files/Makefile =================================================================== --- head/games/uhexen2/files/Makefile (revision 565430) +++ head/games/uhexen2/files/Makefile (revision 565431) @@ -1,17 +1,20 @@ # GNU Makefile wrapper for games/uhexen2. # The source tree does not have a main Makefile. # # $FreeBSD$ # all: ifeq ($(BUILD_HEXEN2),yes) $(MAKE) -C engine/hexen2 h2 clean $(MAKE) -C engine/hexen2 glh2 clean endif ifeq ($(BUILD_HW),yes) $(MAKE) -C engine/hexenworld/server hwsv clean $(MAKE) -C engine/hexenworld/client hw localclean $(MAKE) -C engine/hexenworld/client glhw localclean $(MAKE) -C hw_utils/hwmaster hwmaster clean endif +ifeq ($(BUILD_H2PATCH),yes) + ${MAKE} -C h2patch +endif Index: head/games/uhexen2/files/patch-h2patch_Makefile =================================================================== --- head/games/uhexen2/files/patch-h2patch_Makefile (nonexistent) +++ head/games/uhexen2/files/patch-h2patch_Makefile (revision 565431) @@ -0,0 +1,17 @@ +--- h2patch/Makefile.orig 2021-02-11 09:31:42 UTC ++++ h2patch/Makefile +@@ -10,11 +10,11 @@ LIBS_DIR:=$(UHEXEN2_TOP)/libs + OSLIBS:=$(UHEXEN2_TOP)/oslibs + + CC ?= gcc +-ifeq ($(origin CC),default) ++#ifeq ($(origin CC),default) + # refuse the stupid 'cc' default of make + # which not necessarily exist everywhere +-CC = gcc +-endif ++#CC = gcc ++#endif + LINKER = $(CC) + + CPUFLAGS= Property changes on: head/games/uhexen2/files/patch-h2patch_Makefile ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/games/uhexen2/files/patch-h2patch_h2patch3.c =================================================================== --- head/games/uhexen2/files/patch-h2patch_h2patch3.c (nonexistent) +++ head/games/uhexen2/files/patch-h2patch_h2patch3.c (revision 565431) @@ -0,0 +1,40 @@ +--- h2patch/h2patch3.c.orig 2017-09-01 18:03:15 UTC ++++ h2patch/h2patch3.c +@@ -580,6 +580,7 @@ static void print_help (void) + fprintf (stdout, " -h | -help show help\n"); + fprintf (stdout, " -version show version\n"); + fprintf (stdout, " -verbose be verbose\n"); ++ fprintf (stdout, " -prefix dir look for data files in 'dir'\n"); + } + + +@@ -663,6 +664,7 @@ int main (int argc, char **argv) + int i, num_patched, ret; + long len; + unsigned long csum; ++ char* prefix = "."; + + print_version (); + for (i = 1; i < argc; ++i) +@@ -680,6 +682,10 @@ int main (int argc, char **argv) + { + h2patch_options.verbose = 1; + } ++ else if (!strcmp(argv[i], "-prefix")) ++ { ++ prefix = argv[++i]; ++ } + else + { + fprintf (stderr, "Unrecognized option \"%s\"\n", argv[i]); +@@ -710,8 +716,8 @@ int main (int argc, char **argv) + + for (i = 0; i < NUM_PATCHES; i++) + { +- q_snprintf (dst, sizeof(dst), "%s%c%s", patch_data[i].dir_name, +- DIR_SEPARATOR_CHAR, patch_data[i].filename); ++ q_snprintf (dst, sizeof(dst), "%s%c%s%c%s", prefix , DIR_SEPARATOR_CHAR, ++ patch_data[i].dir_name, DIR_SEPARATOR_CHAR, patch_data[i].filename); + fprintf (stdout, "File %s :\n", dst); + + ret = check_access(dst); Property changes on: head/games/uhexen2/files/patch-h2patch_h2patch3.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/games/uhexen2/files/pkg-message.in =================================================================== --- head/games/uhexen2/files/pkg-message.in (revision 565430) +++ head/games/uhexen2/files/pkg-message.in (revision 565431) @@ -1,14 +1,22 @@ [ { type: install message: <