svn commit: r479036 - in head/games/yadex: . files
Alexey Dokuchaev
danfe at FreeBSD.org
Wed Sep 5 18:28:47 UTC 2018
Author: danfe
Date: Wed Sep 5 18:28:46 2018
New Revision: 479036
URL: https://svnweb.freebsd.org/changeset/ports/479036
Log:
Improve the port and catch it up with modern reality a bit:
- Fix a runtime crash (segfault) due to `MasterDirectory dirbuf' if-block
local variable being used after it went out of scope by making it local
to the LoadPicture() function instead
- Add the HEXEN option which brings better Hexen support to Yadex (duh).
Unfortunately, it depends on the SEARCH patch and conflicts with the
LAPTOP_KEYS patch (which is the reason why I didn't introduce it years
ago: we did not have IMPLIES/PREVENTS back then, but we do now)
- Building with 3D Render option requires USE_CXXSTD=c++98 due to infamous
"in-class initializer for static data member of type 'const double'
requires 'constexpr' specifier" error in `src/r_render.cc'. Actually,
we could get away with c++03, but GCC 4.2, which is still used on e.g.
powerpc and sparc64, does not support it. Enable it unconditionally so
the port is always built against the same C++ standard regardless of the
selected options
- Reword option descriptions to avoid using verbs, per our conventions
Added:
head/games/yadex/files/patch-src_pic2img.cc (contents, props changed)
Modified:
head/games/yadex/Makefile
head/games/yadex/distinfo
Modified: head/games/yadex/Makefile
==============================================================================
--- head/games/yadex/Makefile Wed Sep 5 18:14:00 2018 (r479035)
+++ head/games/yadex/Makefile Wed Sep 5 18:28:46 2018 (r479036)
@@ -3,7 +3,7 @@
PORTNAME= yadex
PORTVERSION= 1.7.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= games
MASTER_SITES= http://www.teaser.fr/~amajorel/yadex/
DIST_SUBDIR= ${PORTNAME}
@@ -16,22 +16,28 @@ LICENSE= GPLv2
USES= gmake perl5 shebangfix
HAS_CONFIGURE= yes
CONFIGURE_ENV= CC="${CC}" CXX="${CXX}" PREFIX="${PREFIX}"
+USE_CXXSTD= c++98 # required for 3D preview option (see r479036)
USE_PERL5= build
SHEBANG_FILES= scripts/copyright scripts/youngest
USE_XORG= x11
MAKEFILE= GNUmakefile
SUB_FILES= pkg-message
-OPTIONS_DEFINE= WHITE_BG 3D_RENDER SEARCH EXTRA_TOOLS LAPTOP_KEYS DOCS
+OPTIONS_DEFINE= WHITE_BG 3D_RENDER SEARCH EXTRA_TOOLS LAPTOP_KEYS HEXEN DOCS
+NO_OPTIONS_SORT= yes # required because HEXEN implies SEARCH
WHITE_BG_DESC= Alternative (black-on-white) color scheme
-3D_RENDER_DESC= Build with 3D preview function
+3D_RENDER_DESC= 3D preview function (activate with 'R')
SEARCH_DESC= Thing, linedef, or sector search by type
-EXTRA_TOOLS_DESC= Add a few extra tools to Yadex' repertoire
+EXTRA_TOOLS_DESC= Extra tools to Yadex' repertoire
LAPTOP_KEYS_DESC= Key bindings for easier editing on laptops
+HEXEN_DESC= Improved Hexen support
+HEXEN_IMPLIES= SEARCH
+HEXEN_PREVENTS= LAPTOP_KEYS
+
PATCH_SITES= http://glbsp.sourceforge.net/yadex/
-PATCH_DIST_STRIP= -p1
+PATCH_DIST_STRIP= -p1 -l # -l is needed for the Hexen patch
PATCH_PREFIX= Yadex_${PORTVERSION:S/.//g}
PATCH_SUFFIX= .diff
PATCHFILES= ${PATCH_PREFIX}_Depend${PATCH_SUFFIX}
@@ -41,6 +47,7 @@ PATCHFILES= ${PATCH_PREFIX}_Depend${PATCH_SUFFIX}
SEARCH_PATCHFILES= ${PATCH_PREFIX}_Find${PATCH_SUFFIX}
EXTRA_TOOLS_PATCHFILES= ${PATCH_PREFIX}_Tools${PATCH_SUFFIX}
LAPTOP_KEYS_PATCHFILES= ${PATCH_PREFIX}_Keys${PATCH_SUFFIX}
+HEXEN_PATCHFILES= ${PATCH_PREFIX}_Hexen${PATCH_SUFFIX}
post-patch-WHITE_BG-on:
@${REINPLACE_CMD} -E 's,^#(CXXFLAGS \+= -DWHITE_BACKGROUND)$$,\1,' \
Modified: head/games/yadex/distinfo
==============================================================================
--- head/games/yadex/distinfo Wed Sep 5 18:14:00 2018 (r479035)
+++ head/games/yadex/distinfo Wed Sep 5 18:28:46 2018 (r479036)
@@ -1,3 +1,4 @@
+TIMESTAMP = 1072661760
SHA256 (yadex/yadex-1.7.0.tar.gz) = 316aca295b647b45d6d0d359fd7bba0448e7e114d295347add7ac0e87aa0f446
SIZE (yadex/yadex-1.7.0.tar.gz) = 551318
SHA256 (yadex/Yadex_170_Depend.diff) = d2cf391fb1aaf1fb6ac60f3fb2bb50c549389ef3a0590b838922f0251240a9f3
@@ -10,3 +11,5 @@ SHA256 (yadex/Yadex_170_Tools.diff) = 2c1573de67aee31a
SIZE (yadex/Yadex_170_Tools.diff) = 17179
SHA256 (yadex/Yadex_170_Keys.diff) = d93e63b1baaaff769442245243027cb6aadde166a3004726e187eb3697decd15
SIZE (yadex/Yadex_170_Keys.diff) = 1496
+SHA256 (yadex/Yadex_170_Hexen.diff) = b7ac148c7bbbc4f122c350bf13eb81ce8daff56230be42101e5d7817b63f5c38
+SIZE (yadex/Yadex_170_Hexen.diff) = 44138
Added: head/games/yadex/files/patch-src_pic2img.cc
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/games/yadex/files/patch-src_pic2img.cc Wed Sep 5 18:28:46 2018 (r479036)
@@ -0,0 +1,18 @@
+--- src/pic2img.cc.orig 2003-03-28 12:37:32 UTC
++++ src/pic2img.cc
+@@ -72,6 +72,7 @@ int LoadPicture (
+ int *pic_width, // To return the size of the picture
+ int *pic_height) // (can be NULL)
+ {
++MasterDirectory dirbuf;
+ MDirPtr dir;
+ i16 pic_width_;
+ i16 pic_height_;
+@@ -95,7 +96,6 @@ u8 *buf; /* This variable is set to point to the
+ // Locate the lump where the picture is
+ if (picloc.wad != 0)
+ {
+- MasterDirectory dirbuf;
+ dirbuf.wadfile = picloc.wad;
+ dirbuf.dir.start = picloc.ofs;
+ dirbuf.dir.size = picloc.len;
More information about the svn-ports-all
mailing list