50 lines
1.3 KiB
Makefile
Raw Normal View History

# $OpenBSD: Makefile,v 1.21 2020/03/25 21:22:59 awolk Exp $
ONLY_FOR_ARCHS= i386 amd64 sparc64
COMMENT= Yamagi Quake II
N= yquake2
2020-03-24 17:58:12 +00:00
V= 7.43
PKGNAME= ${N}-${V}
DISTNAME= quake2-${V}
CATEGORIES= games
REVISION= 0
2020-03-24 17:58:12 +00:00
HOMEPAGE= https://www.yamagi.org/quake2/
Update games/yquake2 5.32 => 5.34 OK abieber@ Changes in the port: - taking MAINTAINER, agreed with bmercer@ who provided the initial port - added a q2ded rc script in a similar fashion as the games/ioquake3 port does - the existing /usr/local/share/yquake2/q2ded binary from previous port did not work as it was searching for games.so from a relative path. I found a way to make both quake2 and q2ded work with an upstream supported MAKE variable to provide the system wide quake data directory. Thanks to this change we can drop the wrapper script and use the binaries directly. - adding a new _yquake2 user/group plus /var/yquake2 for the dedicated server binary - updated the port to version 5.34 Additional notes: - make port-lib-depends-check complains on: Extra: openal.2 pthread.22 ktrace tells me that the check is wrong. Openal and pthreads are both used. - upstream said in their changelog that they are changing their platform policy 'Switch from an arch whitelist to an "all archs are supported" approach.'. I saw in our tree a change by landry@ specifically limiting the supported platform to the upstream supported versions (http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/games/yquake2/Makefile?rev=1.2&content-type=text/x-cvsweb-markup). I am not removing this restriction until I get some feedback from people able to test other platforms than currently listed in ONLY_FOR_ARCHS. Upstream changelog: Quake II 5.33 to 5.34: - Add support for stereo 3D (by Valery Guskov) - Make gibt solid so they move with conveyor belts. - Disable gl_ext_multitexturing by default. - Switch from an arch whitelist to an "all archs are supported" approach. - Add a new README. Quake II 5.32 to 5.33: - Add OGG volume slider in settings menu - Fixed some bugs in volume settings - Replaced HUD scale option in video menu with generic UI scale - General UI upscaling improvements - Better support for keyboards with AZERTY layout
2016-06-28 20:50:22 +00:00
MAINTAINER= Adam Wolk <awolk@openbsd.org>
2020-03-24 17:58:12 +00:00
MASTER_SITES= https://deponie.yamagi.org/quake2/
EXTRACT_SUFX= .tar.xz
# GPLv2
PERMIT_PACKAGE= Yes
WANTLIB += GL SDL2 c curl m openal pthread
2020-03-24 17:58:12 +00:00
LIB_DEPENDS= audio/openal \
devel/sdl2 \
net/curl
MAKE_ENV+= VERBOSE=1
USE_GMAKE= Yes
Update games/yquake2 5.32 => 5.34 OK abieber@ Changes in the port: - taking MAINTAINER, agreed with bmercer@ who provided the initial port - added a q2ded rc script in a similar fashion as the games/ioquake3 port does - the existing /usr/local/share/yquake2/q2ded binary from previous port did not work as it was searching for games.so from a relative path. I found a way to make both quake2 and q2ded work with an upstream supported MAKE variable to provide the system wide quake data directory. Thanks to this change we can drop the wrapper script and use the binaries directly. - adding a new _yquake2 user/group plus /var/yquake2 for the dedicated server binary - updated the port to version 5.34 Additional notes: - make port-lib-depends-check complains on: Extra: openal.2 pthread.22 ktrace tells me that the check is wrong. Openal and pthreads are both used. - upstream said in their changelog that they are changing their platform policy 'Switch from an arch whitelist to an "all archs are supported" approach.'. I saw in our tree a change by landry@ specifically limiting the supported platform to the upstream supported versions (http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/games/yquake2/Makefile?rev=1.2&content-type=text/x-cvsweb-markup). I am not removing this restriction until I get some feedback from people able to test other platforms than currently listed in ONLY_FOR_ARCHS. Upstream changelog: Quake II 5.33 to 5.34: - Add support for stereo 3D (by Valery Guskov) - Make gibt solid so they move with conveyor belts. - Disable gl_ext_multitexturing by default. - Switch from an arch whitelist to an "all archs are supported" approach. - Add a new README. Quake II 5.32 to 5.33: - Add OGG volume slider in settings menu - Fixed some bugs in volume settings - Replaced HUD scale option in video menu with generic UI scale - General UI upscaling improvements - Better support for keyboards with AZERTY layout
2016-06-28 20:50:22 +00:00
MAKE_FLAGS = config WITH_SYSTEMWIDE=yes WITH_SYSTEMDIR=${PREFIX}/share/${N}
do-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/${N}
${INSTALL_PROGRAM} ${WRKBUILD}/release/{quake2,q2ded} \
games/yquake2 7.01 => 7.02 OK abieber@ Port changes: - bump version - everything now lives under /usr/local/share/yquake2 this has been asked by upstream and outlined in their porting guide that was created after I started complaining that they want relative paths between the binaries: https://github.com/yquake2/yquake2/blob/master/stuff/packaging.md#where-you-should-put-the-executables - adding a new wrapper for the quake2 binary to cd into the port directory before executing it as we provide no way for a binary to get its executable directory - drop the patch that hardcoded the executable directory upstream accounted for us not supporting that feature and defaults to returning cwd (./) instead of bailing out with an error - modified the q2ded rc.d script to account for the need of changing the working directory before starting the server - note I am not providing a separate wrapper for q2ded in /usr/bin on purpose - I don't see a need for running it outside of the rc.d scripts for any reasons other than debugging and that's rare enough that people can just cd to the game folder themselves - we can drop the Makefile compilation flag diff as upstream took our patch Upstream changelog: Quake II 7.01 to 7.02: - Fix several corner cases regarding render library loading. The game should now always fall back to the OpenGL 1.4 renderer if the new OpenGL 3.2 renderer can't be initialized. Also the game aborts if no useable OpenGL implementation exists. - Refactor the search path code. This should fix several bugs with Quake II writing to the wrong directories or being unable to find some / all assets. - Reimplement portable binaries. If called with the -portable command line option Quake II saves all data (configs, savegames, screenshorts etc.) into it's systemwide installation directory and not users home directory. In contrast to the old implementation on Windows stdout.txt contains all output, the first lines are no longer missing. - vid_fullscreen set to 1 now keeps the desktops resolution. Set it to 2 to change the resolution. - Instead of a list with precalculated FOV values the video menu now shows a slider with possible values from 60 to 120. Horplus is now always enabled, set the horplus cvar to 0 to disable it. - The game is now able to hold the requested framerate (either by the vsync or the gl_maxfps cvar) with an accuracy of about +/- 1% as long as the hardware is fast enough. The framecounter was reimplemented to be much more precise. - Fix misspredictions if an original client running on Win32 connects to a Yamagi Quake II server running on Linux/i386.
2017-11-09 16:20:31 +00:00
${PREFIX}/share/${N}/
${INSTALL_DATA_DIR} ${PREFIX}/share/${N}/baseq2
${INSTALL_PROGRAM} ${WRKBUILD}/release/baseq2/game.so \
${PREFIX}/share/${N}/baseq2/
games/yquake2 6.00 => 7.01 OK abieber@ Port changes: - bump version - install new ref_gl1 / ref_gl3 shared libraries into /usr/local/lib/yquake2 - patch the Makefile to not pass -Wl,--no-undefined to the linker, change already merged upstream: https://github.com/yquake2/yquake2/pull/213 - patch backends/generic/vid.c to dlopen libraries from /usr/local/lib/yquake2 instead of relying on Sys_GetBinaryDir() that thinks the OS can tell it the executable path Regarding the .so changes, please see the following 2 github links - https://github.com/yquake2/yquake2/pull/213 - https://github.com/yquake2/yquake2/issues/214 especially the second one. In short, it's possible that upstream will add a way to define /usr/local/lib/yquake2 as a compile time option which would make this patch obsolete. Note that I did not move the game.so file on purpose, as upstream mentioned in 213 that mods expect it to be in that specific spot. If you want to test the new renderer just execute the game with: $ quake2 +vid_renderer gl3 after first run it will be added to your config, or you can add it yourself by adding: set vid_renderer "gl3" to: /home/mulander/.yq2/baseq2/config.cfg Upstream changelog: Quake II 7.00 to 7.01: - Fix build of GL3 for platforms without SSE. - Fix Jennel Jaquays name in credits and quit screen. - Make Quake II high DPI aware on Window Vista and above. - Fix some problems with loading dependend librarys on Windows. Quake II 6.00 to 7.00: - Remove the broken multitexturing render path from the OpenGL 1.4 renderer. It was switched off by default in 6.00. - Reimplement the support for shared renderer libraries. Please note the this is an incompatible implementation with an custom API. The original renderer libraries will not work! - Implement an OpenGL 3.2 renderer. This renderer has the same look and feel as the old OpenGL 1.4 renderer but makes heavy use of modern OpenGL and GPU features. An OpenGL 3.2 capable GPU (Intel starting with Ivy Bridge on Windows or Sandy Bridge on Linux, Nvidia staring with G80 and AMD starting with R600 / HD2000) is required. - Fix OpenAL compatibility with modern openal-soft versions. - Several fixes and optimizations to OpenAL, implement support for doppler effects. (by xorw)
2017-07-20 23:33:46 +00:00
${INSTALL_DATA_DIR} ${PREFIX}/lib/${N}
2020-03-24 17:58:12 +00:00
${INSTALL_PROGRAM} ${WRKBUILD}/release/ref_soft.so \
${PREFIX}/share/${N}/
games/yquake2 6.00 => 7.01 OK abieber@ Port changes: - bump version - install new ref_gl1 / ref_gl3 shared libraries into /usr/local/lib/yquake2 - patch the Makefile to not pass -Wl,--no-undefined to the linker, change already merged upstream: https://github.com/yquake2/yquake2/pull/213 - patch backends/generic/vid.c to dlopen libraries from /usr/local/lib/yquake2 instead of relying on Sys_GetBinaryDir() that thinks the OS can tell it the executable path Regarding the .so changes, please see the following 2 github links - https://github.com/yquake2/yquake2/pull/213 - https://github.com/yquake2/yquake2/issues/214 especially the second one. In short, it's possible that upstream will add a way to define /usr/local/lib/yquake2 as a compile time option which would make this patch obsolete. Note that I did not move the game.so file on purpose, as upstream mentioned in 213 that mods expect it to be in that specific spot. If you want to test the new renderer just execute the game with: $ quake2 +vid_renderer gl3 after first run it will be added to your config, or you can add it yourself by adding: set vid_renderer "gl3" to: /home/mulander/.yq2/baseq2/config.cfg Upstream changelog: Quake II 7.00 to 7.01: - Fix build of GL3 for platforms without SSE. - Fix Jennel Jaquays name in credits and quit screen. - Make Quake II high DPI aware on Window Vista and above. - Fix some problems with loading dependend librarys on Windows. Quake II 6.00 to 7.00: - Remove the broken multitexturing render path from the OpenGL 1.4 renderer. It was switched off by default in 6.00. - Reimplement the support for shared renderer libraries. Please note the this is an incompatible implementation with an custom API. The original renderer libraries will not work! - Implement an OpenGL 3.2 renderer. This renderer has the same look and feel as the old OpenGL 1.4 renderer but makes heavy use of modern OpenGL and GPU features. An OpenGL 3.2 capable GPU (Intel starting with Ivy Bridge on Windows or Sandy Bridge on Linux, Nvidia staring with G80 and AMD starting with R600 / HD2000) is required. - Fix OpenAL compatibility with modern openal-soft versions. - Several fixes and optimizations to OpenAL, implement support for doppler effects. (by xorw)
2017-07-20 23:33:46 +00:00
${INSTALL_PROGRAM} ${WRKBUILD}/release/ref_gl1.so \
games/yquake2 7.01 => 7.02 OK abieber@ Port changes: - bump version - everything now lives under /usr/local/share/yquake2 this has been asked by upstream and outlined in their porting guide that was created after I started complaining that they want relative paths between the binaries: https://github.com/yquake2/yquake2/blob/master/stuff/packaging.md#where-you-should-put-the-executables - adding a new wrapper for the quake2 binary to cd into the port directory before executing it as we provide no way for a binary to get its executable directory - drop the patch that hardcoded the executable directory upstream accounted for us not supporting that feature and defaults to returning cwd (./) instead of bailing out with an error - modified the q2ded rc.d script to account for the need of changing the working directory before starting the server - note I am not providing a separate wrapper for q2ded in /usr/bin on purpose - I don't see a need for running it outside of the rc.d scripts for any reasons other than debugging and that's rare enough that people can just cd to the game folder themselves - we can drop the Makefile compilation flag diff as upstream took our patch Upstream changelog: Quake II 7.01 to 7.02: - Fix several corner cases regarding render library loading. The game should now always fall back to the OpenGL 1.4 renderer if the new OpenGL 3.2 renderer can't be initialized. Also the game aborts if no useable OpenGL implementation exists. - Refactor the search path code. This should fix several bugs with Quake II writing to the wrong directories or being unable to find some / all assets. - Reimplement portable binaries. If called with the -portable command line option Quake II saves all data (configs, savegames, screenshorts etc.) into it's systemwide installation directory and not users home directory. In contrast to the old implementation on Windows stdout.txt contains all output, the first lines are no longer missing. - vid_fullscreen set to 1 now keeps the desktops resolution. Set it to 2 to change the resolution. - Instead of a list with precalculated FOV values the video menu now shows a slider with possible values from 60 to 120. Horplus is now always enabled, set the horplus cvar to 0 to disable it. - The game is now able to hold the requested framerate (either by the vsync or the gl_maxfps cvar) with an accuracy of about +/- 1% as long as the hardware is fast enough. The framecounter was reimplemented to be much more precise. - Fix misspredictions if an original client running on Win32 connects to a Yamagi Quake II server running on Linux/i386.
2017-11-09 16:20:31 +00:00
${PREFIX}/share/${N}/
games/yquake2 6.00 => 7.01 OK abieber@ Port changes: - bump version - install new ref_gl1 / ref_gl3 shared libraries into /usr/local/lib/yquake2 - patch the Makefile to not pass -Wl,--no-undefined to the linker, change already merged upstream: https://github.com/yquake2/yquake2/pull/213 - patch backends/generic/vid.c to dlopen libraries from /usr/local/lib/yquake2 instead of relying on Sys_GetBinaryDir() that thinks the OS can tell it the executable path Regarding the .so changes, please see the following 2 github links - https://github.com/yquake2/yquake2/pull/213 - https://github.com/yquake2/yquake2/issues/214 especially the second one. In short, it's possible that upstream will add a way to define /usr/local/lib/yquake2 as a compile time option which would make this patch obsolete. Note that I did not move the game.so file on purpose, as upstream mentioned in 213 that mods expect it to be in that specific spot. If you want to test the new renderer just execute the game with: $ quake2 +vid_renderer gl3 after first run it will be added to your config, or you can add it yourself by adding: set vid_renderer "gl3" to: /home/mulander/.yq2/baseq2/config.cfg Upstream changelog: Quake II 7.00 to 7.01: - Fix build of GL3 for platforms without SSE. - Fix Jennel Jaquays name in credits and quit screen. - Make Quake II high DPI aware on Window Vista and above. - Fix some problems with loading dependend librarys on Windows. Quake II 6.00 to 7.00: - Remove the broken multitexturing render path from the OpenGL 1.4 renderer. It was switched off by default in 6.00. - Reimplement the support for shared renderer libraries. Please note the this is an incompatible implementation with an custom API. The original renderer libraries will not work! - Implement an OpenGL 3.2 renderer. This renderer has the same look and feel as the old OpenGL 1.4 renderer but makes heavy use of modern OpenGL and GPU features. An OpenGL 3.2 capable GPU (Intel starting with Ivy Bridge on Windows or Sandy Bridge on Linux, Nvidia staring with G80 and AMD starting with R600 / HD2000) is required. - Fix OpenAL compatibility with modern openal-soft versions. - Several fixes and optimizations to OpenAL, implement support for doppler effects. (by xorw)
2017-07-20 23:33:46 +00:00
${INSTALL_PROGRAM} ${WRKBUILD}/release/ref_gl3.so \
games/yquake2 7.01 => 7.02 OK abieber@ Port changes: - bump version - everything now lives under /usr/local/share/yquake2 this has been asked by upstream and outlined in their porting guide that was created after I started complaining that they want relative paths between the binaries: https://github.com/yquake2/yquake2/blob/master/stuff/packaging.md#where-you-should-put-the-executables - adding a new wrapper for the quake2 binary to cd into the port directory before executing it as we provide no way for a binary to get its executable directory - drop the patch that hardcoded the executable directory upstream accounted for us not supporting that feature and defaults to returning cwd (./) instead of bailing out with an error - modified the q2ded rc.d script to account for the need of changing the working directory before starting the server - note I am not providing a separate wrapper for q2ded in /usr/bin on purpose - I don't see a need for running it outside of the rc.d scripts for any reasons other than debugging and that's rare enough that people can just cd to the game folder themselves - we can drop the Makefile compilation flag diff as upstream took our patch Upstream changelog: Quake II 7.01 to 7.02: - Fix several corner cases regarding render library loading. The game should now always fall back to the OpenGL 1.4 renderer if the new OpenGL 3.2 renderer can't be initialized. Also the game aborts if no useable OpenGL implementation exists. - Refactor the search path code. This should fix several bugs with Quake II writing to the wrong directories or being unable to find some / all assets. - Reimplement portable binaries. If called with the -portable command line option Quake II saves all data (configs, savegames, screenshorts etc.) into it's systemwide installation directory and not users home directory. In contrast to the old implementation on Windows stdout.txt contains all output, the first lines are no longer missing. - vid_fullscreen set to 1 now keeps the desktops resolution. Set it to 2 to change the resolution. - Instead of a list with precalculated FOV values the video menu now shows a slider with possible values from 60 to 120. Horplus is now always enabled, set the horplus cvar to 0 to disable it. - The game is now able to hold the requested framerate (either by the vsync or the gl_maxfps cvar) with an accuracy of about +/- 1% as long as the hardware is fast enough. The framecounter was reimplemented to be much more precise. - Fix misspredictions if an original client running on Win32 connects to a Yamagi Quake II server running on Linux/i386.
2017-11-09 16:20:31 +00:00
${PREFIX}/share/${N}/
${SUBST_CMD} -m 555 -c ${FILESDIR}/quake2.sh ${WRKSRC}/quake2
${INSTALL_SCRIPT} ${WRKSRC}/quake2 ${PREFIX}/bin/
.include <bsd.port.mk>