On Sun, Jun 26, 2016 at 01:35:44PM -0700, Ryan Freeman wrote: > On Sat, Jun 18, 2016 at 11:50:55PM -0700, Ryan Freeman wrote: > > On Sat, Jun 18, 2016 at 03:54:45PM -0400, Daniel Wilkins wrote: > > > The old version was something like 3 years old and 2000 weeklies behind. > > > I've talked to the dev and it now builds cleanly without patches(or > > > rather, > > > I made the changes needed and got it merged into the project.) > > > > > > Now it'll actually run the official expansions properly, as well as all > > > the > > > other additions since 2013. > > > > Here is a patch against current ports cvs triggered by Daniel's update. > > WANTLIB and LIB_DEPENDS have been regenerated. the do-install paths have > > been corrected, I removed the dos2unix stuff as I don't think it is that > > big a deal in the end, and it matches upstream. > > > > The datafile path substitutions have been reduced to one file (yay), and > > perl has been switched out in lieu of sed. > > > > Unfortunately the Makefile.common has some mean tricks to really break our > > ability to feed CC/CXX, so I did some hack'n'slash patching of it. I am > > not sure that this is best, I have employed their recommended > > PACKAGE_REPOSITORY=1 setting to 'not completely gut all their > > optimizations'.. > > but I'd love it if anyone can confirm its okay :-) looks to just use -O2. > > > > Turning on aggressive debugging things like DEBUGANYWAY kinda broke mouse > > input making it really hard to play, so avoiding that path. > > > > Lastly I think we need to use ports gcc now. > > > > works good here on current amd64 > > ping?
Anyone? I saw the mail go out about pending ports lock, this definitely isn't something terribly important, but if there is opportunity to squeeze it in before lock, why not? > > Cheers! > > -ryan > > > > > > ? eduke32.diff > > Index: Makefile > > =================================================================== > > RCS file: /cvs/ports/games/eduke32/Makefile,v > > retrieving revision 1.7 > > diff -u -p -r1.7 Makefile > > --- Makefile 22 Oct 2014 13:55:07 -0000 1.7 > > +++ Makefile 19 Jun 2016 06:43:09 -0000 > > @@ -1,12 +1,11 @@ > > # $OpenBSD: Makefile,v 1.7 2014/10/22 13:55:07 jasper Exp $ > > > > COMMENT = Enhanced Duke Nukem 3D engine > > -RDATE = 20120301 > > -RTAG = 2394 > > +RDATE = 20160610 > > +RTAG = 5775 > > DISTNAME = eduke32_src_${RDATE}-${RTAG} > > PKGNAME = eduke32-2.0.0.${RTAG} > > -REVISION = 2 > > -EXTRACT_SUFX = .tar.bz2 > > +EXTRACT_SUFX = .tar.xz > > CATEGORIES = games x11 > > > > HOMEPAGE = http://www.eduke32.com/ > > @@ -25,12 +24,15 @@ BUILD_DEPENDS = archivers/unzip \ > > BUILD_DEPENDS += devel/nasm > > .endif > > > > -WANTLIB = SDL c m pthread stdc++ SDL_mixer>=3 vorbisfile vpx > > +WANTLIB += c m ogg png pthread vorbis vorbisfile vpx z > > +WANTLIB += SDL2 SDL2_mixer FLAC execinfo > > > > LIB_DEPENDS = audio/libvorbis \ > > - multimedia/libvpx \ > > - devel/sdl \ > > - devel/sdl-mixer > > + audio/flac \ > > + devel/sdl2 \ > > + devel/sdl2-mixer \ > > + devel/libexecinfo \ > > + multimedia/libvpx > > > > # dlopen()'d; shows as Extra in check-lib-depends but it is used > > LIB_DEPENDS += x11/gtk+2 > > @@ -38,31 +40,23 @@ WANTLIB += gtk-x11-2.0 > > > > RUN_DEPENDS = games/duke3ddata > > > > -MASTER_SITES = > > http://dukeworld.duke4.net/eduke32/synthesis/old/${RDATE}-${RTAG}/ \ > > - http://dukeworld.duke4.net/eduke32/synthesis/${RDATE}-${RTAG}/ > > +MASTER_SITES = > > http://dukeworld.duke4.net/eduke32/synthesis/${RDATE}-${RTAG}/ > > + > > +MODULES = gcc4 > > +MODGCC4_LANGS = c c++ > > +MODGCC4_ARCHS = * > > > > # make sure we can see compilation output, respect CC/CXX, don't strip! > > -MAKE_FLAGS = PRETTY_OUTPUT=0 CC="${CC}" CXX="${CXX}" DEBUGANYWAY=1 > > +MAKE_ENV = CC="${CC}" CXX="${CXX}" PRETTY_OUTPUT=0 PACKAGE_REPOSITORY=1 > > USE_GMAKE = Yes > > NO_TEST = Yes > > > > -WRKDIST = ${WRKDIR}/eduke32_${RDATE}-${RTAG}/ > > +WRKDIST = ${WRKDIR}/eduke32_${RDATE}-${RTAG} > > > > post-extract: > > # check for data files in correct location > > - @perl -pi -e "s,/usr/share/games/eduke32,${TRUEPREFIX}/share/duke3d," \ > > - ${WRKSRC}/source/astub.c > > - @perl -pi -e "s,/usr/share/games/eduke32,${TRUEPREFIX}/share/duke3d," \ > > - ${WRKSRC}/source/game.c > > - @perl -pi -e "s,./eduke32,eduke32," ${WRKSRC}/build/include/editor.h > > - # make plaintext files less annoying to read... > > - @perl -MExtUtils::Command -e dos2unix \ > > - ${WRKSRC}/tiles.cfg \ > > - ${WRKSRC}/names.h \ > > - ${WRKSRC}/GNU.TXT \ > > - ${WRKSRC}/buildlic.txt \ > > - ${WRKSRC}/samples/*.sample \ > > - ${WRKSRC}/samples/*.txt > > + @sed -i "s,/usr/share/games/eduke32,${TRUEPREFIX}/share/duke3d," \ > > + ${WRKSRC}/source/common.c > > > > do-install: > > ${INSTALL_PROGRAM} ${WRKBUILD}/eduke32 ${PREFIX}/bin > > @@ -71,17 +65,25 @@ do-install: > > ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/eduke32 > > ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/eduke32 > > # mapster32 help files > > - ${INSTALL_DATA} ${WRKDIST}/m32help.hlp ${PREFIX}/share/duke3d/ > > - ${INSTALL_DATA} ${WRKDIST}/SEHELP.HLP ${PREFIX}/share/duke3d/ > > - ${INSTALL_DATA} ${WRKDIST}/STHELP.HLP ${PREFIX}/share/duke3d/ > > + ${INSTALL_DATA} ${WRKDIST}/package/sdk/m32help.hlp \ > > + ${PREFIX}/share/duke3d/ > > + ${INSTALL_DATA} ${WRKDIST}/package/sdk/SEHELP.HLP \ > > + ${PREFIX}/share/duke3d/ > > + ${INSTALL_DATA} ${WRKDIST}/package/sdk/STHELP.HLP \ > > + ${PREFIX}/share/duke3d/ > > # mapster32 config and config header file > > - ${INSTALL_DATA} ${WRKDIST}/tiles.cfg ${PREFIX}/share/duke3d/ > > - ${INSTALL_DATA} ${WRKDIST}/names.h ${PREFIX}/share/duke3d/ > > + ${INSTALL_DATA} ${WRKDIST}/package/sdk/tiles.cfg \ > > + ${PREFIX}/share/duke3d/ > > + ${INSTALL_DATA} ${WRKDIST}/package/sdk/names.h \ > > + ${PREFIX}/share/duke3d/ > > # eduke32/mapster32 licenses > > - ${INSTALL_DATA} ${WRKDIST}/GNU.TXT ${PREFIX}/share/doc/eduke32/ > > - ${INSTALL_DATA} ${WRKDIST}/buildlic.txt ${PREFIX}/share/doc/eduke32/ > > + ${INSTALL_DATA} ${WRKDIST}/package/common/gpl-2.0.txt \ > > + ${PREFIX}/share/doc/eduke32/ > > + ${INSTALL_DATA} ${WRKDIST}/package/common/buildlic.txt \ > > + ${PREFIX}/share/doc/eduke32/ > > # sample game mapping/modding data files > > - ${INSTALL_DATA} ${WRKDIST}/samples/* ${PREFIX}/share/examples/eduke32/ > > + ${INSTALL_DATA} ${WRKDIST}/package/sdk/samples/* \ > > + ${PREFIX}/share/examples/eduke32/ > > > > .if ${MACHINE_ARCH:Mi386} > > CFLAGS += -fno-pie > > Index: distinfo > > =================================================================== > > RCS file: /cvs/ports/games/eduke32/distinfo,v > > retrieving revision 1.2 > > diff -u -p -r1.2 distinfo > > --- distinfo 2 Mar 2013 13:03:17 -0000 1.2 > > +++ distinfo 19 Jun 2016 06:43:09 -0000 > > @@ -1,2 +1,2 @@ > > -SHA256 (eduke32_src_20120301-2394.tar.bz2) = > > zuxpT5DIOfFCCG2jzlRpAAcIaj+pGPAhSAEZEICypGc= > > -SIZE (eduke32_src_20120301-2394.tar.bz2) = 3200173 > > +SHA256 (eduke32_src_20160610-5775.tar.xz) = > > znVDHKAUXxw3k01ck0OTmC8ntqpkYZpAI85U5P1QyPk= > > +SIZE (eduke32_src_20160610-5775.tar.xz) = 14532340 > > Index: patches/patch-Makefile_common > > =================================================================== > > RCS file: /cvs/ports/games/eduke32/patches/patch-Makefile_common,v > > retrieving revision 1.1.1.1 > > diff -u -p -r1.1.1.1 patch-Makefile_common > > --- patches/patch-Makefile_common 17 Jul 2012 21:29:50 -0000 1.1.1.1 > > +++ patches/patch-Makefile_common 19 Jun 2016 06:43:09 -0000 > > @@ -1,14 +1,73 @@ > > -$OpenBSD: patch-Makefile_common,v 1.1.1.1 2012/07/17 21:29:50 rfreeman Exp > > $ > > - > > -Use default optimisation options. > > - > > ---- Makefile.common.orig Fri Mar 9 06:15:40 2012 > > -+++ Makefile.common Fri Mar 9 06:16:13 2012 > > -@@ -89,7 +89,6 @@ endif > > - > > - ifneq (0,$(RELEASE)) > > - # Debugging disabled > > -- debug+= -O$(OPTLEVEL) > > - ifneq ($(CC),clang) > > - debug+= -funswitch-loops > > +$OpenBSD$ > > +--- Makefile.common.orig Sat Jun 4 21:46:28 2016 > > ++++ Makefile.common Sat Jun 18 23:37:57 2016 > > +@@ -7,35 +7,19 @@ PRETTY_OUTPUT ?= 1 > > + > > + # Tools > > + CROSS= > > +-ifneq ($(CROSS),) > > +- undefine CC > > +- undefine CXX > > +- undefine AR > > +- undefine RC > > +- undefine RANLIB > > +- undefine STRIP > > +-endif > > + > > +-CC=$(CROSS)gcc > > +-CXX=$(CROSS)g++ > > +-AR=$(CROSS)ar > > +-RC=$(CROSS)windres > > +-RANLIB=$(CROSS)ranlib > > +-STRIP=$(CROSS)strip > > +-AS=nasm > > +-PKG_CONFIG=pkg-config > > ++CC?=$(CROSS)gcc > > ++CXX?=$(CROSS)g++ > > ++AR?=$(CROSS)ar > > ++RC?=$(CROSS)windres > > ++RANLIB?=$(CROSS)ranlib > > ++STRIP= > > ++AS?=nasm > > ++PKG_CONFIG?=pkg-config > > + > > + DONT_PRINT = > /dev/null 2>&1 > > + DONT_FAIL = ; exit 0 > > + > > +-# Override defaults that absolutely will not work. > > +-ifeq ($(CC),cc) > > +- override CC=gcc > > +-endif > > +-ifeq ($(AS),as) > > +- override AS=nasm > > +-endif > > +- > > + COBJC=$(CC) -x objective-c > > + COBJCXX=$(CXX) -x objective-c++ > > + L_CC=$(CC) > > +@@ -283,14 +267,9 @@ GUI_LIBS= > > + LIBDIRS= > > + > > + ifeq (1,$(strip $(shell expr $(GCC_MAJOR) \>= 4))) > > +- F_NO_STACK_PROTECTOR := -fno-stack-protector > > +- # there are some link-time issues with stack protectors, so make it > > possible to override > > +- F_STACK_PROTECTOR_ALL ?= -fstack-protector-all > > + ifeq (0,$(CLANG)) > > + F_JUMP_TABLES := -fjump-tables > > endif > > +- M_TUNE_GENERIC := -mtune=generic > > +- M_STACKREALIGN := -mstackrealign > > + endif > > + > > + W_STRICT_OVERFLOW := -Wno-strict-overflow > > +@@ -663,10 +642,6 @@ DLLSUFFIX=.so > > + > > + SDL_TARGET ?= 2 > > + SDL_FRAMEWORK ?= 0 > > +- > > +-ifeq (1,$(strip $(shell expr $(GCC_MAJOR) \>= 4))) > > +- L_SSP := -lssp > > +-endif > > + > > + # ifeq (1,$(strip $(shell expr $(GCC_MAJOR) \>= 5))) > > + # ifneq (0,$(LTO)) > > Index: patches/patch-build_Makefile_shared > > =================================================================== > > RCS file: patches/patch-build_Makefile_shared > > diff -N patches/patch-build_Makefile_shared > > --- patches/patch-build_Makefile_shared 17 Jul 2012 21:29:50 -0000 > > 1.1.1.1 > > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > > @@ -1,32 +0,0 @@ > > -$OpenBSD: patch-build_Makefile_shared,v 1.1.1.1 2012/07/17 21:29:50 > > rfreeman Exp $ > > - > > -Default optimisations. > > - > > ---- build/Makefile.shared.orig Fri Dec 9 14:08:47 2011 > > -+++ build/Makefile.shared Fri Mar 9 05:59:46 2012 > > -@@ -21,24 +21,14 @@ BUILDCFLAGS= > > - # This is easier than trying to squeeze it out of gcc --version: > > - GCC_MAJOR ?= 4 > > - ifeq (4,$(GCC_MAJOR)) > > -- F_NO_STACK_PROTECTOR := -fno-stack-protector > > -- # there are some link-time issues with stack protectors, so make it > > possible to override > > -- F_STACK_PROTECTOR_ALL ?= -fstack-protector-all > > - ifneq ($(CC),clang) > > - F_JUMP_TABLES := -fjump-tables > > - endif > > -- M_TUNE_GENERIC := -mtune=generic > > -- M_STACKREALIGN := -mstackrealign > > -- L_SSP := -lssp > > - endif > > - > > - > > - ifndef ARCH > > -- ifeq ($(findstring i686, $(shell uname -m)), i686) > > -- ARCH=-march=pentium3 $(M_TUNE_GENERIC) -mmmx # -msse2 > > -mfpmath=sse,387 -malign-double $(M_STACKREALIGN) > > -- else > > -- ARCH= > > -- endif > > -+ ARCH= > > - endif > > - > > - # Detect the platform if it wasn't explicitly given to us from > > Index: patches/patch-build_include_compat_h > > =================================================================== > > RCS file: patches/patch-build_include_compat_h > > diff -N patches/patch-build_include_compat_h > > --- patches/patch-build_include_compat_h 1 May 2015 16:51:25 -0000 > > 1.2 > > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > > @@ -1,28 +0,0 @@ > > -$OpenBSD: patch-build_include_compat_h,v 1.2 2015/05/01 16:51:25 ajacoutot > > Exp $ > > - > > -this is committed upstream as of 2012-08-18, fixes build on hppa, ppc > > - > > ---- build/include/compat.h.orig Thu Aug 9 04:05:30 2012 > > -+++ build/include/compat.h Thu Aug 9 04:11:36 2012 > > -@@ -140,7 +140,20 @@ static inline float nearbyintf(float x) > > - # endif > > - # define B_ENDIAN_C_INLINE 1 > > - > > --#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) > > -+#elif defined(__OpenBSD__) > > -+# include <endian.h> > > -+# if _BYTE_ORDER == _LITTLE_ENDIAN > > -+# define B_LITTLE_ENDIAN 1 > > -+# define B_BIG_ENDIAN 0 > > -+# elif _BYTE_ORDER == _BIG_ENDIAN > > -+# define B_LITTLE_ENDIAN 0 > > -+# define B_BIG_ENDIAN 1 > > -+# endif > > -+# define B_SWAP64(x) __swap64(x) > > -+# define B_SWAP32(x) __swap32(x) > > -+# define B_SWAP16(x) __swap16(x) > > -+ > > -+#elif defined(__FreeBSD__) || defined(__NetBSD__) > > - # include <sys/endian.h> > > - # if _BYTE_ORDER == _LITTLE_ENDIAN > > - # define B_LITTLE_ENDIAN 1 > > Index: patches/patch-build_src_dynamicgtk_c > > =================================================================== > > RCS file: patches/patch-build_src_dynamicgtk_c > > diff -N patches/patch-build_src_dynamicgtk_c > > --- patches/patch-build_src_dynamicgtk_c 13 Jan 2013 09:26:35 -0000 > > 1.1 > > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > > @@ -1,12 +0,0 @@ > > -$OpenBSD: patch-build_src_dynamicgtk_c,v 1.1 2013/01/13 09:26:35 sthen Exp > > $ > > ---- build/src/dynamicgtk.c.orig Fri Jan 11 23:10:36 2013 > > -+++ build/src/dynamicgtk.c Fri Jan 11 23:10:42 2013 > > -@@ -20,7 +20,7 @@ int32_t dynamicgtk_init(void) > > - > > - if (handle) return 1; > > - > > -- handle = dlopen("libgtk-x11-2.0.so.0", RTLD_NOW|RTLD_GLOBAL); > > -+ handle = dlopen("libgtk-x11-2.0.so", RTLD_NOW|RTLD_GLOBAL); > > - if (!handle) return -1; > > - > > - memset(&dynamicgtksyms, 0, sizeof(dynamicgtksyms)); > > Index: patches/patch-build_src_glbuild_c > > =================================================================== > > RCS file: patches/patch-build_src_glbuild_c > > diff -N patches/patch-build_src_glbuild_c > > --- patches/patch-build_src_glbuild_c 17 Jul 2012 21:29:50 -0000 > > 1.1.1.1 > > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > > @@ -1,25 +0,0 @@ > > -$OpenBSD: patch-build_src_glbuild_c,v 1.1.1.1 2012/07/17 21:29:50 rfreeman > > Exp $ > > - > > -allow dlopen to find our libGL.so, falling back to libGL.so.1 for > > -linux or others. > > - > > ---- build/src/glbuild.c.orig Tue Oct 11 17:52:53 2011 > > -+++ build/src/glbuild.c Fri Mar 9 01:12:27 2012 > > -@@ -338,6 +338,8 @@ int32_t loadgldriver(const char *driver) > > - driver = "opengl32.dll"; > > - #elif defined __APPLE__ > > - driver = "/System/Library/Frameworks/OpenGL.framework/OpenGL"; > > -+#elif defined __OpenBSD__ > > -+ driver = "libGL.so"; > > - #else > > - driver = "libGL.so.1"; > > - #endif > > -@@ -936,6 +938,8 @@ int32_t loadglulibrary(const char *driver) > > - driver = "glu32.dll"; > > - #elif defined __APPLE__ > > - driver = "/System/Library/Frameworks/OpenGL.framework/OpenGL"; // > > FIXME: like I know anything about Apple. Hah. > > -+#elif defined __OpenBSD__ > > -+ driver = "libGLU.so"; > > - #else > > - driver = "libGLU.so.1"; > > - #endif > > Index: pkg/PLIST > > =================================================================== > > RCS file: /cvs/ports/games/eduke32/pkg/PLIST,v > > retrieving revision 1.1.1.1 > > diff -u -p -r1.1.1.1 PLIST > > --- pkg/PLIST 17 Jul 2012 21:29:50 -0000 1.1.1.1 > > +++ pkg/PLIST 19 Jun 2016 06:43:09 -0000 > > @@ -2,8 +2,8 @@ > > @bin bin/eduke32 > > @bin bin/mapster32 > > share/doc/eduke32/ > > -share/doc/eduke32/GNU.TXT > > share/doc/eduke32/buildlic.txt > > +share/doc/eduke32/gpl-2.0.txt > > share/doc/pkg-readmes/${FULLPKGNAME} > > share/duke3d/SEHELP.HLP > > share/duke3d/STHELP.HLP > > @@ -13,11 +13,17 @@ share/duke3d/tiles.cfg > > share/examples/eduke32/ > > share/examples/eduke32/_clipshape0.map > > share/examples/eduke32/a.m32 > > +share/examples/eduke32/aspect.map > > share/examples/eduke32/duke3d.def.sample > > +share/examples/eduke32/dump_used_assets.m32 > > share/examples/eduke32/enhance.con.sample > > share/examples/eduke32/m32script_ex.map > > +share/examples/eduke32/r_usenewshading.map > > share/examples/eduke32/ror.map > > +share/examples/eduke32/splitscr.con > > share/examples/eduke32/spriteclip.txt > > +share/examples/eduke32/startpos.m32 > > +share/examples/eduke32/test_tileoffsets.map > > share/examples/eduke32/tests.m32 > > share/examples/eduke32/trueror1.map > > share/examples/eduke32/weapons.con.sample > > >