games/gzdoom: create port

GZDoom is a GL-enhanced fork of ZDoom, a source port of ID Software's DOOM
engine. It is based on the source code of id Software's DOOM. GZDoom boasts
enhanced modding support, as well as support for the following games:

* Ultimate Doom
* Doom II
* Final Doom
* Heretic
* Hexen
* Strife
* Chex Quest (1 & 3)
* Action Doom II
* Harmony v1.1
* Hacx
* The Adventures of Square

WWW: http://gzdoom.drdteam.org/

PR:		213907
Submitted by:	kevans
This commit is contained in:
Steve Wills 2017-09-14 17:17:53 +00:00
parent 56648cab1d
commit 60ddfac54a
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=449841
8 changed files with 194 additions and 0 deletions

View File

@ -410,6 +410,7 @@
SUBDIR += gturing
SUBDIR += gtypist
SUBDIR += gunfudeadlands
SUBDIR += gzdoom
SUBDIR += hangman
SUBDIR += hedgewars
SUBDIR += help_hannahs_horse

57
games/gzdoom/Makefile Normal file
View File

@ -0,0 +1,57 @@
# $FreeBSD$
PORTNAME= gzdoom
PORTVERSION= 3.1.0
DISTVERSIONPREFIX= g
CATEGORIES= games
MAINTAINER= bsdports@kyle-evans.net
COMMENT= GL-enhanced source port for Doom-engine games
LICENSE= BSD3CLAUSE GPLv3 LGPL3
LICENSE_COMB= multi
LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/docs/licenses/bsd.txt
LICENSE_FILE_GPLv3= ${WRKSRC}/docs/licenses/gpl.txt
LICENSE_FILE_LGPL3= ${WRKSRC}/docs/licenses/lgpl.txt
BUILD_DEPENDS= zip:archivers/zip
LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2 \
libsndfile.so:audio/libsndfile \
libfluidsynth.so:audio/fluidsynth \
libgme.so:audio/libgme
DATADIR= ${DMDIR}/${PORTNAME}
USES= cmake:outsource gettext jpeg openal pkgconfig
USE_GITHUB= yes
GH_ACCOUNT= coelckers
USE_GNOME= atk cairo gdkpixbuf2 gtk20 pango
USE_SDL= sdl2
USE_GL= gl glu
CXXFLAGS+= -DSHARE_DIR=\\\"${DATADIR}\\\"
LDFLAGS+= -Wl,--as-needed
DESKTOP_ENTRIES= "GZDoom" "" "${PORTNAME}" "${PORTNAME}" "Game;Shooter;" ""
PLIST_FILES= bin/${PORTNAME} \
${DATADIR}/${PORTNAME}.pk3 \
share/pixmaps/${PORTNAME}.xpm
.include <bsd.port.pre.mk>
.if ${OPSYS} == "FreeBSD" && ${OSVERSION} < 1004000
BROKEN= Fails to link due to lack of thread_local
.endif
.include "${.CURDIR}/../doom-data/Makefile.include"
do-install:
${MKDIR} ${STAGEDIR}${DATADIR}
${INSTALL_PROGRAM} ${CONFIGURE_WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
${INSTALL_DATA} ${CONFIGURE_WRKSRC}/${PORTNAME}.pk3 ${STAGEDIR}${DATADIR}
${INSTALL_DATA} ${FILESDIR}/${PORTNAME}.xpm ${STAGEDIR}${PREFIX}/share/pixmaps
.include <bsd.port.post.mk>

3
games/gzdoom/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1498082404
SHA256 (coelckers-gzdoom-g3.1.0_GH0.tar.gz) = c011ce9a95b765da5b81cf723062379d585c57cb586848385a2319deba1996c3
SIZE (coelckers-gzdoom-g3.1.0_GH0.tar.gz) = 9026969

View File

@ -0,0 +1,83 @@
/* XPM */
static char * gzdoom_xpm[] = {
"48 48 32 1",
" c None",
". c #ADA990",
"+ c #999966",
"@ c #666666",
"# c #393939",
"$ c #555555",
"% c #996666",
"& c #777777",
"* c #5F5F5F",
"= c #333333",
"- c #4D4D4D",
"; c #868686",
"> c #969696",
", c #1C1C1C",
"' c #339933",
") c #336633",
"! c #66CC66",
"~ c #66FF66",
"{ c #66CC33",
"] c #222222",
"^ c #333300",
"/ c #292929",
"( c #040404",
"_ c #0C0C0C",
": c #663333",
"< c #996633",
"[ c #CC9966",
"} c #CC6633",
"| c #CC9999",
"1 c #FFCC99",
"2 c #FF9966",
"3 c #FFCCCC",
" ... ",
" ++@##$+ ",
" +...+%&+ ",
" %*=-*&;$=&* ",
" %**=$@;>@=&*% ",
" &**@$*@@$-.+& ",
" %$%@*..$@.. ",
" ,#@+++@@#& ",
" $,#$$@@$#=$'' ",
" )!!!~!{=],,,,]^)'!{') =/, ",
" )){'~!!'')=],=))'{)'')) /=],( ",
" )'!!'!)~'{'),)''''''')) @@/==](( ",
" ^)''')'{{''')'''''),))) $$@$/,( ",
" ,^))),))''''))'')^,__/$$$-#-(( ",
" :<[}<,_)))))))),___,]#@@-/]] ",
" :<|12<:_,,,,,_,#$$-#/,^^=^}}< ",
" :<[1}::,^,,__,#$-==/,,::^:<<< ",
" ::&+@#^,,__/)#-=/,,,,-::^<::= ",
" :*+12[:==_,$-=/,,,,/,#::::=^ ",
" #*}331}-$]-==/,,,,// ##:=^ ",
" /]<13[---],,,,,,,]_] ",
" ,:--/,___]]]]:^___/ ",
" _______,^^,^,__/# ",
" ______:::::/$,,/# ",
" ____^:::=,^^^^,^^ ",
" __,,:=^,,)))^,,= ",
" _,,),,,,,^)^^^,, ",
" ,^,,),__,^))),,^ ",
" ,,,^^,,,,,)))),, ",
" ,,,,,,,)^))))^ ",
" ,,^,,,^^)))))^ ",
" ,^^,,,,)))))), ",
" ,^,,,,))^))), ",
" ],,,,,$&&&*$# ",
" ],,,]#****$# ",
" ]]]]]^####, ",
" ]]]]*,,,,#* ",
" ,_,#@&&@*/ ",
" __$####=# ",
" ,_/$$$$$# ",
" ,,,$*$$$ ",
" ],,,$**$# ",
" ],,,@&&@# ",
" ],,,$**#= ",
" ,,=+++%$ ",
" *%%%*$ ",
" /$*$#/ ",
" ],,]] "};

View File

@ -0,0 +1,11 @@
--- src/dobject.h.orig 2017-06-22 13:58:35 UTC
+++ src/dobject.h
@@ -198,7 +198,7 @@ class DObject (protected)
enum { MetaClassNum = CLASSREG_PClass };
// Per-instance variables. There are four.
-#ifdef _DEBUG
+#ifndef NDEBUG
public:
enum
{

View File

@ -0,0 +1,11 @@
--- src/scripting/vm/vm.h.orig 2017-06-22 13:58:53 UTC
+++ src/scripting/vm/vm.h
@@ -376,7 +376,7 @@ int VMCall(VMFunction *func, VMValue *params, int nump
// variable name <x> at position <p>
void NullParam(const char *varname);
-#ifdef _DEBUG
+#ifndef NDEBUG
bool AssertObject(void * ob);
#endif

View File

@ -0,0 +1,11 @@
--- src/scripting/vm/vmexec.cpp.orig 2017-06-22 13:59:05 UTC
+++ src/scripting/vm/vmexec.cpp
@@ -229,7 +229,7 @@ void VMFillParams(VMValue *params, VMFrame *callee, in
}
-#ifdef _DEBUG
+#ifndef NDEBUG
bool AssertObject(void * ob)
{
auto obj = (DObject*)ob;

17
games/gzdoom/pkg-descr Normal file
View File

@ -0,0 +1,17 @@
GZDoom is a GL-enhanced fork of ZDoom, a source port of ID Software's DOOM
engine. It is based on the source code of id Software's DOOM. GZDoom boasts
enhanced modding support, as well as support for the following games:
* Ultimate Doom
* Doom II
* Final Doom
* Heretic
* Hexen
* Strife
* Chex Quest (1 & 3)
* Action Doom II
* Harmony v1.1
* Hacx
* The Adventures of Square
WWW: http://gzdoom.drdteam.org/