From 3a196a0748fc598d17868889cd428d7f5f04f6d8 Mon Sep 17 00:00:00 2001 From: Michael Baeuerle Date: Fri, 28 Aug 2020 18:24:25 +0200 Subject: [PATCH] ZenNode: Import version 1.2.1 ZenNode is a node/blockmap/reject builder written by Marc Rousseau. It is very fast (especially the reject builder) and produces nodes that work well with GL source ports. For example, it makes OpenGL holes disappear almost entirely in Doom Legacy. --- Makefile | 1 + ZenNode/DESCR | 5 ++ ZenNode/Makefile | 45 ++++++++++++++++ ZenNode/PLIST | 16 ++++++ ZenNode/distinfo | 8 +++ ZenNode/patches/patch-src_DOOM_wad.cpp | 15 ++++++ ZenNode/patches/patch-src_ZenNode_makefile | 61 ++++++++++++++++++++++ 7 files changed, 151 insertions(+) create mode 100644 ZenNode/DESCR create mode 100644 ZenNode/Makefile create mode 100644 ZenNode/PLIST create mode 100644 ZenNode/distinfo create mode 100644 ZenNode/patches/patch-src_DOOM_wad.cpp create mode 100644 ZenNode/patches/patch-src_ZenNode_makefile diff --git a/Makefile b/Makefile index 9dd6952eb0..f26f13143b 100644 --- a/Makefile +++ b/Makefile @@ -74,6 +74,7 @@ SUBDIR+= Terminal SUBDIR+= TextEdit SUBDIR+= VASSAL SUBDIR+= WEPCrack +SUBDIR+= ZenNode SUBDIR+= a2ps-sharatype SUBDIR+= accountsservice SUBDIR+= acme-client diff --git a/ZenNode/DESCR b/ZenNode/DESCR new file mode 100644 index 0000000000..fe73947f9e --- /dev/null +++ b/ZenNode/DESCR @@ -0,0 +1,5 @@ +ZenNode is a node/blockmap/reject builder written by Marc Rousseau. + +It is very fast (especially the reject builder) and produces nodes that work +well with GL source ports. For example, it makes OpenGL holes disappear almost +entirely in Doom Legacy. diff --git a/ZenNode/Makefile b/ZenNode/Makefile new file mode 100644 index 0000000000..227f52812a --- /dev/null +++ b/ZenNode/Makefile @@ -0,0 +1,45 @@ +# $NetBSD$ + +DISTNAME= zennode-1.2.1 +PKGNAME= ${DISTNAME:S/zennode/ZenNode/} +CATEGORIES= games +MASTER_SITES= http://www.mrousseau.org/programs/ZenNode/archives/ +EXTRACT_SUFX= .zip + +MAINTAINER= micha@NetBSD.org +HOMEPAGE= https://www.mrousseau.org/programs/ZenNode/ +COMMENT= Node/blockmap/reject builder for Doom and Hexen level formats +LICENSE= gnu-gpl-v2 + +USE_LANGUAGES= c++ +USE_TOOLS+= gmake unzip +BUILD_DIRS= src/ZenNode +MAKE_FILE= makefile + +ZENNODE_DOCS= Custom.html History.html Overview.html README.html RMB.html \ + bspdiff.html bspinfo.html compare.html index.html main.css \ + manual.html + +WRKSRC= ${WRKDIR}/${PKGNAME_NOREV} +INSTALLATION_DIRS+= bin +INSTALLATION_DIRS+= share/doc/ZenNode + +post-extract: + cd ${WRKSRC} ; unzip zennode-src.zip + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/src/ZenNode/ZenNode \ + ${DESTDIR}${PREFIX}//bin + ${INSTALL_PROGRAM} ${WRKSRC}/src/ZenNode/bspdiff \ + ${DESTDIR}${PREFIX}//bin/ZenNode-bspdiff + ${INSTALL_PROGRAM} ${WRKSRC}/src/ZenNode/bspinfo \ + ${DESTDIR}${PREFIX}//bin/ZenNode-bspinfo + ${INSTALL_PROGRAM} ${WRKSRC}/src/ZenNode/compare \ + ${DESTDIR}${PREFIX}//bin/ZenNode-compare + cd ${WRKSRC} ; for zennode_file in ${ZENNODE_DOCS} ; \ + do \ + ${INSTALL_DATA} ${WRKSRC}/doc/$${zennode_file} \ + ${DESTDIR}${PREFIX}/share/doc/ZenNode ; \ + done + +.include "../../mk/bsd.pkg.mk" diff --git a/ZenNode/PLIST b/ZenNode/PLIST new file mode 100644 index 0000000000..1e9312d3cb --- /dev/null +++ b/ZenNode/PLIST @@ -0,0 +1,16 @@ +@comment $NetBSD$ +bin/ZenNode +bin/ZenNode-bspdiff +bin/ZenNode-bspinfo +bin/ZenNode-compare +share/doc/ZenNode/Custom.html +share/doc/ZenNode/History.html +share/doc/ZenNode/Overview.html +share/doc/ZenNode/README.html +share/doc/ZenNode/RMB.html +share/doc/ZenNode/bspdiff.html +share/doc/ZenNode/bspinfo.html +share/doc/ZenNode/compare.html +share/doc/ZenNode/index.html +share/doc/ZenNode/main.css +share/doc/ZenNode/manual.html diff --git a/ZenNode/distinfo b/ZenNode/distinfo new file mode 100644 index 0000000000..5fb60063a7 --- /dev/null +++ b/ZenNode/distinfo @@ -0,0 +1,8 @@ +$NetBSD$ + +SHA1 (zennode-1.2.1.zip) = 3012db4b369a6df70e8d8093a038faf7327190ba +RMD160 (zennode-1.2.1.zip) = 85f51faba0e2483072e99541754adcb810f37d94 +SHA512 (zennode-1.2.1.zip) = c0c5702c6da701558f4f261d32a310559272415e00f91ae84308580508d0453d07d3fd93da077a6ed4ec6d2b2e64a294b0bb0a2f614a4be09e34b4e4705eab9e +Size (zennode-1.2.1.zip) = 647067 bytes +SHA1 (patch-src_DOOM_wad.cpp) = 35fc9379a494223cde251c985a0f917c0dcb1f10 +SHA1 (patch-src_ZenNode_makefile) = 22b3913dcd4e681e467d0acabeb44dc5b480b65e diff --git a/ZenNode/patches/patch-src_DOOM_wad.cpp b/ZenNode/patches/patch-src_DOOM_wad.cpp new file mode 100644 index 0000000000..64ec598da5 --- /dev/null +++ b/ZenNode/patches/patch-src_DOOM_wad.cpp @@ -0,0 +1,15 @@ +$NetBSD$ + +"dir" was allocated as arrary. + +--- src/DOOM/wad.cpp.orig 2004-05-08 20:54:08.000000000 +0000 ++++ src/DOOM/wad.cpp +@@ -1137,7 +1137,7 @@ bool wadList::Save ( const char *newName + errors = true; + fprintf ( stderr, "\nERROR: wadList::Save - Error writing directory." ); + } +- delete dir; ++ delete [] dir; + + fseek ( tmpFile, 0, SEEK_SET ); + if ( fwrite ( &m_Header, sizeof ( m_Header ), 1, tmpFile ) != 1 ) { diff --git a/ZenNode/patches/patch-src_ZenNode_makefile b/ZenNode/patches/patch-src_ZenNode_makefile new file mode 100644 index 0000000000..e04eac6e0d --- /dev/null +++ b/ZenNode/patches/patch-src_ZenNode_makefile @@ -0,0 +1,61 @@ +$NetBSD$ + +Use pkgsrc defined C++ compiler via CXX. +Honor LDFLAGS. +Remove "-fstrength-reduce" (not supported by clang). +Add "-Wno-write-strings" to avoid warning flood. + +--- src/ZenNode/makefile.orig 2004-05-28 05:27:38.000000000 +0000 ++++ src/ZenNode/makefile +@@ -1,17 +1,16 @@ + # ZenNode makefile for Linux + +-CC = g++ +-CFLAGS += -g -O -fstrength-reduce -fno-rtti +-CFLAGS += -fomit-frame-pointer -foptimize-sibling-calls ++CXXFLAGS += -g -O -fno-rtti ++CXXFLAGS += -fomit-frame-pointer -foptimize-sibling-calls + #CFLAGS += -fbranch-probabilities + #CFLAGS += -fprofile-arcs +-WARNINGS = -Wall -Wno-format -Wstrict-prototypes -Wmissing-prototypes -Winline ++WARNINGS = -Wall -Wno-format -Winline -Wno-write-strings -Wno-unused-function + #CC = /opt/intel/compiler60/ia32/bin/icc + #CFLAGS = -g -O3 + INCLUDES = -I../DOOM -I../common + TARGETS = ZenNode bspdiff bspinfo compare + +-CFLAGS += -D__LINUX__ ++CXXFLAGS += -D__LINUX__ + + ifdef WIN32 + CFLAGS += -D__WIN32__ +@@ -26,7 +25,7 @@ LIBS += -lpthread -lrt + endif + + .cpp.o: +- $(CC) -c $(CFLAGS) $(WARNINGS) $(INCLUDES) -o $@ $< ++ $(CXX) -c $(CXXFLAGS) $(WARNINGS) $(INCLUDES) -o $@ $< + + .SUFFIXES: .cpp .o + +@@ -38,16 +37,16 @@ clean: + rm -rf {.,../DOOM/,../common/logger}/{*.o,*~} $(TARGETS) + + ZenNode: ZenMain.o ZenNode.o ZenReject.o ZenRMB.o blockmap.o console.o ../DOOM/wad.o ../DOOM/level.o $(LOGGER) +- $(CC) $(LIBS) -o $@ $^ ++ $(CXX) $(LDFLAGS) $(LIBS) -o $@ $^ + + bspdiff: bspdiff.o console.o ../DOOM/wad.o ../DOOM/level.o $(LOGGER) +- $(CC) $(LIBS) -o $@ $^ ++ $(CXX) $(LDFLAGS) $(LIBS) -o $@ $^ + + bspinfo: bspinfo.o console.o ../DOOM/wad.o ../DOOM/level.o $(LOGGER) +- $(CC) $(LIBS) -o $@ $^ ++ $(CXX) $(LDFLAGS) $(LIBS) -o $@ $^ + + compare: compare.o console.o ../DOOM/wad.o ../DOOM/level.o $(LOGGER) +- $(CC) $(LIBS) -o $@ $^ ++ $(CXX) $(LDFLAGS) $(LIBS) -o $@ $^ + + ZenReject.o: \ + ZenReject.cpp \