Index: games/Makefile =================================================================== --- games/Makefile +++ games/Makefile @@ -1180,6 +1180,7 @@ SUBDIR += xzip SUBDIR += yadex SUBDIR += yahtzee + SUBDIR += yquake2 SUBDIR += zangband SUBDIR += zatacka SUBDIR += zaz Index: games/yquake2/Makefile =================================================================== --- /dev/null +++ games/yquake2/Makefile @@ -0,0 +1,73 @@ +# $FreeBSD$ + +PORTNAME?= yquake2 +DISTVERSIONPREFIX?= QUAKE2_ +DISTVERSION?= 6_00 +CATEGORIES?= games + +MAINTAINER?= kami@freebsd.org +COMMENT?= Yamagi Quake II client + +LICENSE?= GPLv2 + +LIB_DEPENDS?= libogg.so:audio/libogg \ + libvorbis.so:audio/libvorbis \ + libvorbisfile.so:audio/libvorbis + +USES?= gmake +.ifndef(PKGNAMESUFFIX) # not for slaves +USES+= openal +USE_SDL= sdl2 +USE_GL= glu gl +.endif + +USE_GITHUB= yes + +OPTIONS_NAME?= ${CATEGORIES:[1]}_${PORTNAME} # slaves use the same options +OPTIONS_DEFAULT= QUAKE2_DATA +OPTIONS_SINGLE= DATA +OPTIONS_SINGLE_DATA= QUAKE2_DATA GOG_DATA +QUAKE2_DATA_DESC= Depend on games/quake2-data +GOG_DATA_DESC= Use game data from a GOG.com download + +MAKE_ARGS= WITH_SYSTEMWIDE=yes WITH_SYSTEMDIR="${Q2DIR}" + +SUB_LIST= LIBDIR="${YQ2LIBDIR}" GAME="${PKGNAMESUFFIX:D${YQ2GAME}}" +PLIST_SUB= LIBDIR="${YQ2LIBDIR:S,^${PREFIX}/,,}" +SUB_FILES= wrapper + +DESKTOP_ENTRIES?= "${PORTNAME}${PKGNAMESUFFIX}" "${COMMENT}" \ + "${DATADIR}/icon/Quake2.ico" \ + "${PORTNAME}${PKGNAMESUFFIX}" "Game;" false + +YQ2GAME?= ${PKGNAMESUFFIX:Ubaseq2:S/^-//} +YQ2LIBDIR?= ${PREFIX}/lib/${PORTNAME} +YQ2INST?= "${INSTALL_PROGRAM}",release/quake2,${YQ2LIBDIR}/quake2 \ + "${INSTALL_PROGRAM}",release/q2ded,${YQ2LIBDIR}/q2ded \ + "${INSTALL_LIB}",release/baseq2/game.so,${YQ2LIBDIR}/${YQ2GAME}/game.so \ + "${INSTALL_DATA}",stuff/yq2.cfg,${YQ2LIBDIR}/${YQ2GAME}/yq2.cfg \ + "${INSTALL_DATA}",stuff/icon/Quake2.png,${DATADIR}/icon/Quake2.png \ + "${INSTALL_DATA}",stuff/icon/Quake2.svg,${DATADIR}/icon/Quake2.svg \ + "${INSTALL_DATA}",stuff/icon/Quake2.ico,${DATADIR}/icon/Quake2.ico +YQ2WRAPPER?= yquake2${PKGNAMESUFFIX} yq2ded${PKGNAMESUFFIX} + +.include + +.if ${PORT_OPTIONS:MQUAKE2_DATA} +.include "${.CURDIR}/../quake2-data/Makefile.include" +.elif ${PORT_OPTIONS:MGOG_DATA} +.include "${.CURDIR}/../quake2-data-gog/Makefile.include" +.endif + +do-install: + @_install() { \ + ${MKDIR} "${STAGEDIR}$${3%/*}"; \ + echo "$$1 ${WRKSRC}/$$2 ${STAGEDIR}$$3"; \ + eval "$$1 ${WRKSRC}/$$2 ${STAGEDIR}$$3"; \ + }; \ + for tuple in ${YQ2INST}; do IFS=','; _install $$tuple; done +.for _wrapper in ${YQ2WRAPPER} + ${INSTALL_SCRIPT} ${WRKDIR}/wrapper ${STAGEDIR}${PREFIX}/bin/${_wrapper} +.endfor + +.include Index: games/yquake2/Makefile.include =================================================================== --- /dev/null +++ games/yquake2/Makefile.include @@ -0,0 +1,16 @@ +# Include file for yquake2 expansion packs / mods. + +LIB_DEPENDS?= # Override master +RUN_DEPENDS+= ${YQ2LIBDIR}/quake2:games/yquake2 + +DESCR?= ${.CURDIR}/pkg-descr +DISTINFO_FILE?= ${.CURDIR}/distinfo +PLIST?= ${.CURDIR}/pkg-plist + +DISTVERSIONPREFIX?= ${YQ2GAME:tu}_ +GH_PROJECT?= ${YQ2GAME} + +YQ2GAME?= ${PKGNAMESUFFIX:S/^-//} +YQ2INST?= "${INSTALL_LIB}",release/game.so,${YQ2LIBDIR}/${YQ2GAME}/game.so + +.include "${MASTERDIR}/Makefile" Index: games/yquake2/distinfo =================================================================== --- /dev/null +++ games/yquake2/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1487065778 +SHA256 (yquake2-yquake2-QUAKE2_6_00_GH0.tar.gz) = 57f8c2abd11a63b418620a32fabd7bc32b545b4461fc8c848815a150879600a7 +SIZE (yquake2-yquake2-QUAKE2_6_00_GH0.tar.gz) = 1936175 Index: games/yquake2/files/wrapper.in =================================================================== --- /dev/null +++ games/yquake2/files/wrapper.in @@ -0,0 +1,5 @@ +#!/bin/sh +bin=${0##*/y} +bin=${bin%%-*} +game=%%GAME%% +exec %%LIBDIR%%/$bin ${game:++set game "$game"} "$@" Index: games/yquake2/pkg-descr =================================================================== --- /dev/null +++ games/yquake2/pkg-descr @@ -0,0 +1,12 @@ +Yamagi Quake II is an enhanced client for id Software's Quake II. +The main focus is an unchanged single player experience like back +in 1997, thus the gameplay and the graphics are unaltered. However +the user may use one of the unofficial retexturing packs. + +In comparison with the official client, over 1000 bugs were fixed +and an extensive code audit done, making Yamagi Quake II one of the +most solid Quake II implementations available. Other than most Quake II +source ports Yamagi Quake II is full 64 bit clean, so it works perfectly +on modern 64 bit processors and operating systems. + +WWW: http://www.yamagi.org/quake2/ Index: games/yquake2/pkg-plist =================================================================== --- /dev/null +++ games/yquake2/pkg-plist @@ -0,0 +1,9 @@ +bin/yq2ded +bin/yquake2 +%%LIBDIR%%/q2ded +%%LIBDIR%%/quake2 +%%LIBDIR%%/baseq2/game.so +%%LIBDIR%%/baseq2/yq2.cfg +%%DATADIR%%/icon/Quake2.ico +%%DATADIR%%/icon/Quake2.png +%%DATADIR%%/icon/Quake2.svg