aboutsummaryrefslogtreecommitdiff
path: root/games/vkquake
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2018-09-03 17:48:23 +0000
committerJan Beich <jbeich@FreeBSD.org>2018-09-03 17:48:23 +0000
commitdd4c7e36aca93d9b1fe5a1f9dc40a041a28e1bd3 (patch)
tree123276f5fa42a662514eb43cac2981c6cc8baae0 /games/vkquake
parent230cd7fef8281681fb6da25bb579bd58a6e0b3e8 (diff)
downloadports-dd4c7e36aca93d9b1fe5a1f9dc40a041a28e1bd3.tar.gz
ports-dd4c7e36aca93d9b1fe5a1f9dc40a041a28e1bd3.zip
Notes
Diffstat (limited to 'games/vkquake')
-rw-r--r--games/vkquake/Makefile97
-rw-r--r--games/vkquake/distinfo3
-rw-r--r--games/vkquake/files/patch-common.c11
-rw-r--r--games/vkquake/files/vkquake.desktop11
-rw-r--r--games/vkquake/files/vkquake.pngbin0 -> 26441 bytes
-rw-r--r--games/vkquake/pkg-descr9
-rw-r--r--games/vkquake/pkg-plist4
7 files changed, 135 insertions, 0 deletions
diff --git a/games/vkquake/Makefile b/games/vkquake/Makefile
new file mode 100644
index 000000000000..414c24bae8d9
--- /dev/null
+++ b/games/vkquake/Makefile
@@ -0,0 +1,97 @@
+# $FreeBSD$
+
+PORTNAME= vkquake
+DISTVERSION= 1.00.0
+CATEGORIES= games
+
+MAINTAINER= greg@unrelenting.technology
+COMMENT= Quake 1 port using Vulkan instead of OpenGL, based on QuakeSpasm
+
+LICENSE= GPLv2+
+LICENSE_FILE= ${WRKSRC}/../LICENSE.txt
+
+BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:devel/vulkan-headers
+LIB_DEPENDS= libSDL2.so:devel/sdl20 \
+ libX11-xcb.so:x11/libX11 \
+ libvulkan.so:graphics/vulkan-loader
+
+WRKSRC_SUBDIR= Quake
+
+USES= desktop-file-utils gmake pkgconfig
+
+USE_GITHUB= yes
+GH_ACCOUNT= Novum
+GH_PROJECT= vkQuake
+
+INSTALLS_ICONS= yes
+
+MAKE_ENV= prefix=${PREFIX} bindir=${PREFIX}/bin
+ALL_TARGET= # empty
+
+.include "${.CURDIR}/../quake-data/Makefile.include"
+
+CFLAGS+= -DDATADIR='\"${Q1DIR}\"'
+
+OPTIONS_DEFINE= USERDIRS WAVE FLAC MP3 VORBIS # OPUS
+OPTIONS_RADIO= MODPLAYER
+OPTIONS_RADIO_MODPLAYER= MIKMOD XMP MODPLUG
+OPTIONS_DEFAULT= USERDIRS WAVE FLAC VORBIS MODPLUG # OPUS MODPLUG
+
+USERDIRS_DESC= Enable support for loading game files from user directories (~/.vkquake)
+WAVE_DESC= Enable support for Wave music
+FLAC_DESC= Enable support for FLAC music
+MP3_DESC= Enable support for MP3 music
+VORBIS_DESC= Enable support for Ogg Vorbis music
+# OPUS_DESC= Enable support for Opus music
+MIKMOD_DESC= Enable support for tracker module music using MikMod
+XMP_DESC= Enable support for tracker module music using XMP
+MODPLUG_DESC= Enable support for tracker module music using ModPlug
+
+USERDIRS_MAKE_ARGS= DO_USERDIRS=1
+USERDIRS_MAKE_ARGS_OFF= DO_USERDIRS=0
+
+WAVE_MAKE_ARGS= USE_CODEC_WAVE=1
+WAVE_MAKE_ARGS_OFF= USE_CODEC_WAVE=0
+
+FLAC_MAKE_ARGS= USE_CODEC_FLAC=1
+FLAC_MAKE_ARGS_OFF= USE_CODEC_FLAC=0
+FLAC_LIB_DEPENDS= libFLAC.so:audio/flac
+
+MP3_MAKE_ARGS= USE_CODEC_MP3=1 MP3LIB=mad
+MP3_MAKE_ARGS_OFF= USE_CODEC_MP3=0
+MP3_LIB_DEPENDS= libmad.so:audio/libmad
+
+VORBIS_MAKE_ARGS= USE_CODEC_VORBIS=1 VORBISLIB=vorbis
+VORBIS_MAKE_ARGS_OFF= USE_CODEC_VORBIS=0
+VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis \
+ libvorbisfile.so:audio/libvorbis \
+ libogg.so:audio/libogg
+
+# XXX: crashes on start
+# OPUS_MAKE_ARGS= USE_CODEC_OPUS=1
+# OPUS_MAKE_ARGS_OFF= USE_CODEC_OPUS=0
+# OPUS_LIB_DEPENDS= libopus.so:audio/opus \
+# libopusfile.so:audio/opusfile
+
+MIKMOD_MAKE_ARGS= USE_CODEC_MIKMOD=1
+MIKMOD_MAKE_ARGS_OFF= USE_CODEC_MIKMOD=0
+MIKMOD_LIB_DEPENDS= libmikmod.so:audio/libmikmod
+
+XMP_MAKE_ARGS= USE_CODEC_XMP=1
+XMP_MAKE_ARGS_OFF= USE_CODEC_XMP=0
+XMP_LIB_DEPENDS= libxmp.so:audio/xmp
+
+MODPLUG_MAKE_ARGS= USE_CODEC_MODPLUG=1
+MODPLUG_MAKE_ARGS_OFF= USE_CODEC_MODPLUG=0
+MODPLUG_LIB_DEPENDS= libmodplug.so:audio/libmodplug
+
+post-install:
+ ${MKDIR} ${STAGEDIR}${Q1DIR}
+ ${INSTALL_DATA} ${WRKSRC}/vkquake.pak ${STAGEDIR}${Q1DIR}
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps
+ ${INSTALL_DATA} ${FILESDIR}/vkquake.png \
+ ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps/vkquake.png
+ ${INSTALL_DATA} ${FILESDIR}/vkquake.desktop \
+ ${STAGEDIR}${PREFIX}/share/applications
+
+.include <bsd.port.mk>
diff --git a/games/vkquake/distinfo b/games/vkquake/distinfo
new file mode 100644
index 000000000000..55c37b95931f
--- /dev/null
+++ b/games/vkquake/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1533668323
+SHA256 (Novum-vkQuake-1.00.0_GH0.tar.gz) = b0c5420d6f5c71ed032232729fc73537588267a187bea5f29681dc2d51d8712f
+SIZE (Novum-vkQuake-1.00.0_GH0.tar.gz) = 3404109
diff --git a/games/vkquake/files/patch-common.c b/games/vkquake/files/patch-common.c
new file mode 100644
index 000000000000..2a3b2fb9b899
--- /dev/null
+++ b/games/vkquake/files/patch-common.c
@@ -0,0 +1,11 @@
+--- common.c.orig 2017-09-09 21:55:23 UTC
++++ common.c
+@@ -2231,7 +2231,7 @@ void COM_InitFilesystem (void) //johnfitz -- modified
+ if (i && i < com_argc-1)
+ q_strlcpy (com_basedir, com_argv[i + 1], sizeof(com_basedir));
+ else
+- q_strlcpy (com_basedir, host_parms->basedir, sizeof(com_basedir));
++ q_strlcpy (com_basedir, DATADIR, sizeof(com_basedir));
+
+ j = strlen (com_basedir);
+ if (j < 1) Sys_Error("Bad argument to -basedir");
diff --git a/games/vkquake/files/vkquake.desktop b/games/vkquake/files/vkquake.desktop
new file mode 100644
index 000000000000..43f30001c23d
--- /dev/null
+++ b/games/vkquake/files/vkquake.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=vkQuake
+GenericName=Quake engine modification (Vulkan)
+Comment=Quake 1 port using Vulkan
+Exec=vkquake
+Icon=vkquake
+Terminal=false
+Type=Application
+Categories=Game;
+MimeType=x-scheme-handler/steam;
+Keywords=quake;game;First-Person-Shooter;
diff --git a/games/vkquake/files/vkquake.png b/games/vkquake/files/vkquake.png
new file mode 100644
index 000000000000..fec19dbf5d7e
--- /dev/null
+++ b/games/vkquake/files/vkquake.png
Binary files differ
diff --git a/games/vkquake/pkg-descr b/games/vkquake/pkg-descr
new file mode 100644
index 000000000000..114277394247
--- /dev/null
+++ b/games/vkquake/pkg-descr
@@ -0,0 +1,9 @@
+vkQuake is a Quake 1 port using Vulkan instead of OpenGL for rendering. It is
+based on the popular QuakeSpasm port and runs all mods compatible with it like
+Arcane Dimensions or In The Shadows.
+
+Compared to QuakeSpasm vkQuake also features a software Quake like underwater
+effect, has better color precision, generates mipmap for water surfaces at
+runtime and has native support for anti-aliasing and AF.
+
+WWW: https://github.com/Novum/vkQuake
diff --git a/games/vkquake/pkg-plist b/games/vkquake/pkg-plist
new file mode 100644
index 000000000000..3c46159d5dc7
--- /dev/null
+++ b/games/vkquake/pkg-plist
@@ -0,0 +1,4 @@
+bin/vkquake
+%%Q1DIR%%/vkquake.pak
+share/applications/vkquake.desktop
+share/icons/hicolor/256x256/apps/vkquake.png