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 \