From owner-svn-ports-all@freebsd.org Wed Sep 5 18:28:47 2018 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8A1E1FF94B8; Wed, 5 Sep 2018 18:28:47 +0000 (UTC) (envelope-from danfe@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 36A4B8D825; Wed, 5 Sep 2018 18:28:47 +0000 (UTC) (envelope-from danfe@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 23415296BC; Wed, 5 Sep 2018 18:28:47 +0000 (UTC) (envelope-from danfe@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w85ISk6K087173; Wed, 5 Sep 2018 18:28:46 GMT (envelope-from danfe@FreeBSD.org) Received: (from danfe@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w85ISkTk087171; Wed, 5 Sep 2018 18:28:46 GMT (envelope-from danfe@FreeBSD.org) Message-Id: <201809051828.w85ISkTk087171@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: danfe set sender to danfe@FreeBSD.org using -f From: Alexey Dokuchaev Date: Wed, 5 Sep 2018 18:28:46 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r479036 - in head/games/yadex: . files X-SVN-Group: ports-head X-SVN-Commit-Author: danfe X-SVN-Commit-Paths: in head/games/yadex: . files X-SVN-Commit-Revision: 479036 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2018 18:28:47 -0000 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;