From 7a921cdbff97bd9c82c7c084903cf81abed5fe0b Mon Sep 17 00:00:00 2001 From: B. Watson Date: Sun, 30 Jun 2013 19:19:21 -0300 Subject: games/oblige: Updated for version 4.28b Signed-off-by: Niels Horn --- games/oblige/Makefile.unixy | 205 ++++++++++++++++++++++++++++++++++++ games/oblige/README | 4 +- games/oblige/compile_fixes.diff | 23 ---- games/oblige/lua_compile_fixes.diff | 53 ---------- games/oblige/oblige.SlackBuild | 26 +++-- games/oblige/oblige.info | 8 +- 6 files changed, 226 insertions(+), 93 deletions(-) create mode 100644 games/oblige/Makefile.unixy delete mode 100644 games/oblige/compile_fixes.diff delete mode 100644 games/oblige/lua_compile_fixes.diff diff --git a/games/oblige/Makefile.unixy b/games/oblige/Makefile.unixy new file mode 100644 index 0000000000..60fe072236 --- /dev/null +++ b/games/oblige/Makefile.unixy @@ -0,0 +1,205 @@ +#---------------------------------------------------------------- +# OBLIGE +#---------------------------------------------------------------- +# +# GNU Makefile for Unix/Linux with system-wide install +# +# Using this makefile (make, make install) will place the +# executable, script and data files in standard Unixy places. +# The script and data files can be overridden by files in the +# $HOME/.oblige directory. +# +# NOTE: a system-wide FLTK library is assumed +# + +PROGRAM=oblige + +# prefix choices: /usr /usr/local /opt +INSTALL_PREFIX=/usr/local + +SCRIPT_DIR=$(INSTALL_PREFIX)/share/oblige + +CXX=g++ + +LIB_LOC=lib_linux +OBJ_DIR=obj_linux + +OPTIMISE=-O2 + +# operating system choices: UNIX WIN32 +OS=UNIX + + +#--- Internal stuff from here ----------------------------------- + +# assumes system-wide FLTK installation +FLTK_CONFIG=fltk-config +FLTK_FLAGS=$(shell $(FLTK_CONFIG) --cflags) +FLTK_LIBS=$(shell $(FLTK_CONFIG) --use-images --ldflags) + +CXXFLAGS=$(OPTIMISE) -Wall -D$(OS) -Ilua_src -Iglbsp_src $(FLTK_FLAGS) +LDFLAGS=-L/usr/X11R6/lib +LIBS=-lm -lz $(FLTK_LIBS) + +CXXFLAGS += -DFHS_INSTALL + + +#----- OBLIGE Objects ---------------------------------------------- + +OBJS= $(OBJ_DIR)/main.o \ + $(OBJ_DIR)/m_cookie.o \ + $(OBJ_DIR)/m_lua.o \ + $(OBJ_DIR)/m_spots.o \ + $(OBJ_DIR)/lib_argv.o \ + $(OBJ_DIR)/lib_file.o \ + $(OBJ_DIR)/lib_signal.o \ + $(OBJ_DIR)/lib_util.o \ + $(OBJ_DIR)/lib_grp.o \ + $(OBJ_DIR)/lib_pak.o \ + $(OBJ_DIR)/lib_wad.o \ + $(OBJ_DIR)/lib_zip.o \ + $(OBJ_DIR)/sys_assert.o \ + $(OBJ_DIR)/sys_debug.o \ + $(OBJ_DIR)/img_bolt.o \ + $(OBJ_DIR)/img_pill.o \ + $(OBJ_DIR)/img_carve.o \ + $(OBJ_DIR)/img_relief.o \ + $(OBJ_DIR)/img_font1.o \ + \ + $(OBJ_DIR)/csg_bsp.o \ + $(OBJ_DIR)/csg_clip.o \ + $(OBJ_DIR)/csg_main.o \ + $(OBJ_DIR)/csg_doom.o \ + $(OBJ_DIR)/csg_nukem.o \ + $(OBJ_DIR)/csg_quake.o \ + $(OBJ_DIR)/dm_extra.o \ + $(OBJ_DIR)/g_doom.o \ + $(OBJ_DIR)/g_nukem.o \ + $(OBJ_DIR)/g_quake.o \ + $(OBJ_DIR)/g_quake2.o \ + $(OBJ_DIR)/g_wolf.o \ + $(OBJ_DIR)/q_common.o \ + $(OBJ_DIR)/q_light.o \ + $(OBJ_DIR)/q_tjuncs.o \ + $(OBJ_DIR)/q_vis.o \ + $(OBJ_DIR)/vis_buffer.o \ + \ + $(OBJ_DIR)/twister.o \ + $(OBJ_DIR)/tx_forge.o \ + $(OBJ_DIR)/tx_skies.o \ + $(OBJ_DIR)/ui_about.o \ + $(OBJ_DIR)/ui_build.o \ + $(OBJ_DIR)/ui_chooser.o \ + $(OBJ_DIR)/ui_console.o \ + $(OBJ_DIR)/ui_dialog.o \ + $(OBJ_DIR)/ui_game.o \ + $(OBJ_DIR)/ui_hyper.o \ + $(OBJ_DIR)/ui_level.o \ + $(OBJ_DIR)/ui_map.o \ + $(OBJ_DIR)/ui_module.o \ + $(OBJ_DIR)/ui_rchoice.o \ + $(OBJ_DIR)/ui_play.o \ + $(OBJ_DIR)/ui_window.o + +$(OBJ_DIR)/%.o: gui/%.cc + $(CXX) $(CXXFLAGS) -o $@ -c $< + + +#----- LUA Objects -------------------------------------------------- + +LUA_OBJS=\ + $(OBJ_DIR)/lua/lapi.o \ + $(OBJ_DIR)/lua/lcode.o \ + $(OBJ_DIR)/lua/ldebug.o \ + $(OBJ_DIR)/lua/ldo.o \ + $(OBJ_DIR)/lua/ldump.o \ + $(OBJ_DIR)/lua/lfunc.o \ + $(OBJ_DIR)/lua/lgc.o \ + $(OBJ_DIR)/lua/llex.o \ + $(OBJ_DIR)/lua/lmem.o \ + $(OBJ_DIR)/lua/lobject.o \ + $(OBJ_DIR)/lua/lopcodes.o \ + $(OBJ_DIR)/lua/lparser.o \ + $(OBJ_DIR)/lua/lstate.o \ + $(OBJ_DIR)/lua/lstring.o \ + $(OBJ_DIR)/lua/ltable.o \ + $(OBJ_DIR)/lua/ltm.o \ + $(OBJ_DIR)/lua/lundump.o \ + $(OBJ_DIR)/lua/lvm.o \ + $(OBJ_DIR)/lua/lzio.o \ + \ + $(OBJ_DIR)/lua/lauxlib.o \ + $(OBJ_DIR)/lua/lbaselib.o \ + $(OBJ_DIR)/lua/ldblib.o \ + $(OBJ_DIR)/lua/liolib.o \ + $(OBJ_DIR)/lua/lmathlib.o \ + $(OBJ_DIR)/lua/loslib.o \ + $(OBJ_DIR)/lua/ltablib.o \ + $(OBJ_DIR)/lua/lstrlib.o \ + $(OBJ_DIR)/lua/loadlib.o \ + $(OBJ_DIR)/lua/linit.o + +LUA_CXXFLAGS=$(OPTIMISE) -Wall -DLUA_ANSI + +$(OBJ_DIR)/lua/%.o: lua_src/%.cc + $(CXX) $(LUA_CXXFLAGS) -o $@ -c $< + + +#----- glBSP Objects ------------------------------------------------ + +GLBSP_OBJS= \ + $(OBJ_DIR)/glbsp/analyze.o \ + $(OBJ_DIR)/glbsp/blockmap.o \ + $(OBJ_DIR)/glbsp/glbsp.o \ + $(OBJ_DIR)/glbsp/level.o \ + $(OBJ_DIR)/glbsp/node.o \ + $(OBJ_DIR)/glbsp/reject.o \ + $(OBJ_DIR)/glbsp/seg.o \ + $(OBJ_DIR)/glbsp/system.o \ + $(OBJ_DIR)/glbsp/util.o \ + $(OBJ_DIR)/glbsp/wad.o + +GLBSP_CXXFLAGS=$(OPTIMISE) -Wall -DINLINE_G=inline + +$(OBJ_DIR)/glbsp/%.o: glbsp_src/%.cc + $(CXX) $(GLBSP_CXXFLAGS) -o $@ -c $< + + +#----- Targets ---------------------------------------------------- + +all: $(PROGRAM) + +clean: + rm -f $(PROGRAM) $(OBJ_DIR)/*.o ERRS + rm -f $(OBJ_DIR)/lua/*.o + rm -f $(OBJ_DIR)/glbsp/*.o + +$(PROGRAM): $(OBJS) $(LUA_OBJS) $(GLBSP_OBJS) + $(CXX) $^ -o $@ $(LDFLAGS) $(LIBS) + +stripped: $(PROGRAM) + strip --strip-unneeded $(PROGRAM) + +install: stripped + install -o root -m 755 $(PROGRAM) $(INSTALL_PREFIX)/bin/ + install -d $(SCRIPT_DIR)/scripts + install -d $(SCRIPT_DIR)/data + install -d $(SCRIPT_DIR)/games + install -d $(SCRIPT_DIR)/engines + install -d $(SCRIPT_DIR)/modules + install -d $(SCRIPT_DIR)/prefabs + install -o root -m 755 scripts/*.lua $(SCRIPT_DIR)/scripts + install -o root -m 755 data/*.* $(SCRIPT_DIR)/data + install -o root -m 755 games/*.lua $(SCRIPT_DIR)/games + install -o root -m 755 engines/*.lua $(SCRIPT_DIR)/engines + install -o root -m 755 modules/*.lua $(SCRIPT_DIR)/modules + install -o root -m 755 prefabs/*.lua $(SCRIPT_DIR)/prefabs + +uninstall: + rm -v $(INSTALL_PREFIX)/bin/$(PROGRAM) + rm -Rv $(SCRIPT_DIR) + +.PHONY: all clean stripped install uninstall + +#--- editor settings ------------ +# vi:ts=8:sw=8:noexpandtab diff --git a/games/oblige/README b/games/oblige/README index bedc35fbe7..279e36e197 100644 --- a/games/oblige/README +++ b/games/oblige/README @@ -3,8 +3,8 @@ DOOM, DOOM II, Heretic, and Quake. The goal is to produce high quality levels which are fun to play. A Doom (or Heretic, or Quake) engine is required if you actually want to -play the levels you generate (currently, prboom and zdoom are available -at SBo). +play the levels you generate. Currently there are builds on SBo for zdoom, +gzdoom, prboom, chocolate-doom, odamex, skulltag, and maybe a few more. Also required: the data file(s) for whichever game(s) you're playing (registered versions, not shareware): diff --git a/games/oblige/compile_fixes.diff b/games/oblige/compile_fixes.diff deleted file mode 100644 index 6d706af6ab..0000000000 --- a/games/oblige/compile_fixes.diff +++ /dev/null @@ -1,23 +0,0 @@ -diff -Naur oblige_357_src/gui/q_bsp.cc oblige_357_src.patched//gui/q_bsp.cc ---- oblige_357_src/gui/q_bsp.cc 2010-03-07 05:24:42.000000000 -0500 -+++ oblige_357_src.patched//gui/q_bsp.cc 2010-12-17 18:24:48.000000000 -0500 -@@ -107,7 +107,7 @@ - // convert each newline into CR/LF pair - while (*str) - { -- char *next = strchr(str, '\n'); -+ char *next = (char *)strchr(str, '\n'); - - Append(str, next ? (next - str) : strlen(str)); - -diff -Naur oblige_357_src/gui/headers.h oblige_357_src.patched/gui/headers.h ---- oblige_357_src/gui/headers.h 2009-07-17 05:25:11.000000000 -0400 -+++ oblige_357_src.patched/gui/headers.h 2012-09-20 01:45:29.000000000 -0400 -@@ -29,6 +29,7 @@ - - /* C library */ - -+#include - #include - #include - #include diff --git a/games/oblige/lua_compile_fixes.diff b/games/oblige/lua_compile_fixes.diff deleted file mode 100644 index a86af98975..0000000000 --- a/games/oblige/lua_compile_fixes.diff +++ /dev/null @@ -1,53 +0,0 @@ -diff -Naur oblige_351_src.orig/gui/Makefile.unixy oblige_351_src/gui/Makefile.unixy ---- oblige_351_src.orig/gui/Makefile.unixy 2010-01-21 07:34:30.000000000 -0500 -+++ oblige_351_src/gui/Makefile.unixy 2010-02-28 15:58:31.000000000 -0500 -@@ -40,10 +40,10 @@ - FLTK_LIBS=-lfltk_images -lfltk -lX11 -lXext -lpng -ljpeg - - LUA_FLAGS=-I$(LUA_DIR)/src --LUA_LIBS=$(LUA_DIR)/src/liblua.a -+LUA_LIBS=-llua - - GLBSP_FLAGS=-I$(GLBSP_DIR)/src --GLBSP_LIBS=$(GLBSP_DIR)/libglbsp.a -+GLBSP_LIBS=-lglbsp - - CXXFLAGS=$(OPTIMISE) -Wall -DFHS_INSTALL -D$(OS) \ - $(FLTK_FLAGS) $(LUA_FLAGS) $(GLBSP_FLAGS) -diff -Naur oblige_351_src.orig/gui/hdr_lua.h oblige_351_src/gui/hdr_lua.h ---- oblige_351_src.orig/gui/hdr_lua.h 2009-07-17 05:25:10.000000000 -0400 -+++ oblige_351_src/gui/hdr_lua.h 2010-02-28 15:58:02.000000000 -0500 -@@ -23,9 +23,7 @@ - - /* LUA Scripting Language */ - --#include "lua.h" --#include "lauxlib.h" --#include "lualib.h" -+#include "lua.hpp" - - #endif // __OB_HDR_LUA__ - -diff -Naur oblige_351_src.orig/vis_viewer/Makefile oblige_351_src/vis_viewer/Makefile ---- oblige_351_src.orig/vis_viewer/Makefile 2009-10-01 05:01:34.000000000 -0400 -+++ oblige_351_src/vis_viewer/Makefile 2010-02-28 15:59:43.000000000 -0500 -@@ -23,15 +23,15 @@ - #--- Internal stuff from here ----------------------------------- - - FLTK_FLAGS=-I$(FLTK_DIR) --FLTK_LIBS=$(FLTK_DIR)/lib/libfltk_images.a \ -- $(FLTK_DIR)/lib/libfltk.a \ -+FLTK_LIBS=-lfltk_images \ -+ -lfltk \ - -lX11 -lXext -lpng -ljpeg - - LUA_FLAGS=-I$(LUA_DIR)/src --LUA_LIBS=$(LUA_DIR)/src/liblua.a -+LUA_LIBS=-llua - - GLBSP_FLAGS=-I$(GLBSP_DIR)/src --GLBSP_LIBS=$(GLBSP_DIR)/libglbsp.a -+GLBSP_LIBS=-lglbsp - - CXXFLAGS=$(OPTIMISE) -Wall -D$(OS) \ - $(FLTK_FLAGS) $(LUA_FLAGS) $(GLBSP_FLAGS) diff --git a/games/oblige/oblige.SlackBuild b/games/oblige/oblige.SlackBuild index bcabcb2443..2a82c966a9 100644 --- a/games/oblige/oblige.SlackBuild +++ b/games/oblige/oblige.SlackBuild @@ -7,8 +7,8 @@ # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. PRGNAM=oblige -VERSION=${VERSION:-3.57} -BUILD=${BUILD:-2} +VERSION=${VERSION:-4.28b} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -41,13 +41,14 @@ fi set -e SRCVER=$( echo $VERSION | sed 's/\.//g' ) +SRCNAM="Oblige" # grrrr! rm -rf $PKG mkdir -p $TMP $PKG/usr/bin $PKG/usr/share/$PRGNAM $OUTPUT cd $TMP -rm -rf ${PRGNAM}_${SRCVER}_src -unzip $CWD/$PRGNAM-$SRCVER-src.zip -cd ${PRGNAM}_${SRCVER}_src +rm -rf ${SRCNAM}-${VERSION}-source +unzip $CWD/$PRGNAM-$SRCVER-source.zip +cd ${SRCNAM}-${VERSION}-source chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -55,19 +56,22 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -patch -p1 < $CWD/compile_fixes.diff -patch -p1 < $CWD/lua_compile_fixes.diff +# Makefile.unixy originally came from the oblige author, I've hacked +# it up to make it work with oblige 4.x and SBo's fltk13. +cp $CWD/Makefile.unixy Makefile -cd gui -make -f Makefile.unixy OPTIMISE="$SLKCFLAGS" -make -f Makefile.unixy install INSTALL_PREFIX=$PKG/usr +# Fix a missing include +sed -i '1i#include ' gui/lib_util.cc + +make INSTALL_PREFIX=/usr OPTIMISE="$SLKCFLAGS" FLTK_CONFIG=fltk13-config +make install INSTALL_PREFIX=$PKG/usr mkdir -p $PKG/usr/share/pixmaps $PKG/usr/share/applications cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp ../*.txt ../doc/*.txt $PKG/usr/doc/$PRGNAM-$VERSION +cp *.txt doc/*.txt $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install diff --git a/games/oblige/oblige.info b/games/oblige/oblige.info index 2d2d9b839f..1d027e64d8 100644 --- a/games/oblige/oblige.info +++ b/games/oblige/oblige.info @@ -1,10 +1,10 @@ PRGNAM="oblige" -VERSION="3.57" +VERSION="4.28b" HOMEPAGE="http://oblige.sourceforge.net/" -DOWNLOAD="http://downloads.sourceforge.net/oblige/oblige-357-src.zip" -MD5SUM="e07ab38282ebcb8cd9e531c2a6d14a55" +DOWNLOAD="http://downloads.sourceforge.net/project/oblige/Oblige/4.28/oblige-428b-source.zip" +MD5SUM="ae89031dcff12958bb866505c266c49f" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="glbsp lua" +REQUIRES="fltk13" MAINTAINER="B. Watson" EMAIL="yalhcru@gmail.com" -- cgit v1.2.3