diff options
Diffstat (limited to 'games-fps/sauerbraten/files')
4 files changed, 216 insertions, 0 deletions
diff --git a/games-fps/sauerbraten/files/sauerbraten-2013.02.03-QA.patch b/games-fps/sauerbraten/files/sauerbraten-2013.02.03-QA.patch new file mode 100644 index 000000000000..21f1b13c7a2a --- /dev/null +++ b/games-fps/sauerbraten/files/sauerbraten-2013.02.03-QA.patch @@ -0,0 +1,50 @@ +applied on top of sauerbraten-2013.01.04-system-enet.patch + +respect LDFLAGS, CXXFLAGS and CPPFLAGS +--- sauerbraten/src/Makefile ++++ sauerbraten/src/Makefile +@@ -1,4 +1,4 @@ +-CXXFLAGS= -O3 -fomit-frame-pointer ++CXXFLAGS ?= -O3 -fomit-frame-pointer + override CXXFLAGS+= -Wall -fsigned-char -fno-exceptions -fno-rtti + + PLATFORM= $(shell uname -s) +@@ -139,11 +139,11 @@ + -$(RM) $(CLIENT_PCH) $(CLIENT_OBJS) $(SERVER_OBJS) $(MASTER_OBJS) sauer_client sauer_server sauer_master + + %.h.gch: %.h +- $(CXX) $(CXXFLAGS) -o $(subst .h.gch,.tmp.h.gch,$@) $(subst .h.gch,.h,$@) ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $(subst .h.gch,.tmp.h.gch,$@) $(subst .h.gch,.h,$@) + $(MV) $(subst .h.gch,.tmp.h.gch,$@) $@ + + %-standalone.o: %.cpp +- $(CXX) $(CXXFLAGS) -c -o $@ $(subst -standalone.o,.cpp,$@) ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $(subst -standalone.o,.cpp,$@) + + $(CLIENT_OBJS): CXXFLAGS += $(CLIENT_INCLUDES) + $(filter shared/%,$(CLIENT_OBJS)): $(filter shared/%,$(CLIENT_PCH)) +@@ -168,19 +168,19 @@ + install: all + else + client: $(CLIENT_OBJS) +- $(CXX) $(CXXFLAGS) -o sauer_client $(CLIENT_OBJS) $(CLIENT_LIBS) ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o sauer_client $(CLIENT_OBJS) $(CLIENT_LIBS) + + server: $(SERVER_OBJS) +- $(CXX) $(CXXFLAGS) -o sauer_server $(SERVER_OBJS) $(SERVER_LIBS) ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o sauer_server $(SERVER_OBJS) $(SERVER_LIBS) + + master: $(MASTER_OBJS) +- $(CXX) $(CXXFLAGS) -o sauer_master $(MASTER_OBJS) $(MASTER_LIBS) ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o sauer_master $(MASTER_OBJS) $(MASTER_LIBS) + + shared/cube2font.o: shared/cube2font.c +- $(CXX) $(CXXFLAGS) -c -o $@ $< `freetype-config --cflags` ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $< `freetype-config --cflags` + + cube2font: shared/cube2font.o +- $(CXX) $(CXXFLAGS) -o cube2font shared/cube2font.o `freetype-config --libs` -lz ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o cube2font shared/cube2font.o `freetype-config --libs` -lz + + install: all + cp sauer_client ../bin_unix/$(PLATFORM_PREFIX)_client diff --git a/games-fps/sauerbraten/files/sauerbraten-2013.02.03-system-enet.patch b/games-fps/sauerbraten/files/sauerbraten-2013.02.03-system-enet.patch new file mode 100644 index 000000000000..e87b280ba0c1 --- /dev/null +++ b/games-fps/sauerbraten/files/sauerbraten-2013.02.03-system-enet.patch @@ -0,0 +1,64 @@ +--- sauerbraten/src/Makefile ++++ sauerbraten/src/Makefile +@@ -4,7 +4,7 @@ + PLATFORM= $(shell uname -s) + PLATFORM_PREFIX= native + +-INCLUDES= -Ishared -Iengine -Ifpsgame -Ienet/include ++INCLUDES= -Ishared -Iengine -Ifpsgame + + STRIP= + ifeq (,$(findstring -g,$(CXXFLAGS))) +@@ -36,8 +36,8 @@ + endif + CLIENT_LIBS= -mwindows $(STD_LIBS) -L$(WINBIN) -L$(WINLIB) -lSDL -lSDL_image -lSDL_mixer -lzlib1 -lopengl32 -lenet -lws2_32 -lwinmm + else +-CLIENT_INCLUDES= $(INCLUDES) -I/usr/X11R6/include `sdl-config --cflags` +-CLIENT_LIBS= -Lenet/.libs -lenet -L/usr/X11R6/lib -lX11 `sdl-config --libs` -lSDL_image -lSDL_mixer -lz -lGL ++CLIENT_INCLUDES= $(INCLUDES) `sdl-config --cflags` ++CLIENT_LIBS= -lenet -lX11 `sdl-config --libs` -lSDL_image -lSDL_mixer -lz -lGL + endif + ifeq ($(PLATFORM),Linux) + CLIENT_LIBS+= -lrt +@@ -106,7 +106,7 @@ + MASTER_LIBS= $(STD_LIBS) -L$(WINBIN) -L$(WINLIB) -lzlib1 -lenet -lws2_32 -lwinmm + else + SERVER_INCLUDES= -DSTANDALONE $(INCLUDES) +-SERVER_LIBS= -Lenet/.libs -lenet -lz ++SERVER_LIBS= -lenet -lz + MASTER_LIBS= $(SERVER_LIBS) + endif + SERVER_OBJS= \ +@@ -135,15 +135,6 @@ + + all: client server + +-enet/Makefile: +- cd enet; ./configure --enable-shared=no --enable-static=yes +- +-libenet: enet/Makefile +- $(MAKE) -C enet/ all +- +-clean-enet: enet/Makefile +- $(MAKE) -C enet/ clean +- + clean: + -$(RM) $(CLIENT_PCH) $(CLIENT_OBJS) $(SERVER_OBJS) $(MASTER_OBJS) sauer_client sauer_server sauer_master + +@@ -176,13 +167,13 @@ + + install: all + else +-client: libenet $(CLIENT_OBJS) ++client: $(CLIENT_OBJS) + $(CXX) $(CXXFLAGS) -o sauer_client $(CLIENT_OBJS) $(CLIENT_LIBS) + +-server: libenet $(SERVER_OBJS) ++server: $(SERVER_OBJS) + $(CXX) $(CXXFLAGS) -o sauer_server $(SERVER_OBJS) $(SERVER_LIBS) + +-master: libenet $(MASTER_OBJS) ++master: $(MASTER_OBJS) + $(CXX) $(CXXFLAGS) -o sauer_master $(MASTER_OBJS) $(MASTER_LIBS) + + shared/cube2font.o: shared/cube2font.c diff --git a/games-fps/sauerbraten/files/sauerbraten.conf b/games-fps/sauerbraten/files/sauerbraten.conf new file mode 100644 index 000000000000..8d93bf62b788 --- /dev/null +++ b/games-fps/sauerbraten/files/sauerbraten.conf @@ -0,0 +1,28 @@ +# Config file for /etc/init.d/sauerbraten + +# Owner of Sauerbraten server processes (must be existing) +USER="%GAMES_USER_DED%" +GROUP="%GAMES_GROUP%" + + +# Whether to run the dedicated server +RUNSERVER="Yes" + +# Location of the dedicated server config directory +SERVERCONFIG="%SYSCONFDIR%" + +# Additional command line arguments to the dedicated server +SERVERARGS="" + + +# Whether to run the master server +RUNMASTER="No" + +# Location of the master server config directory +MASTERCONFIG="%SYSCONFDIR%" + +# What port should the masterserver use +MASTERPORT="28787" + +# What ip should the masterserver bind to +MASTERIP="" diff --git a/games-fps/sauerbraten/files/sauerbraten.init b/games-fps/sauerbraten/files/sauerbraten.init new file mode 100644 index 000000000000..a5a7bb32966d --- /dev/null +++ b/games-fps/sauerbraten/files/sauerbraten.init @@ -0,0 +1,74 @@ +#!/sbin/openrc-run + +depend() { + use net +} + +start() { + [ $(echo ${RUNMASTER} | tr '[:upper:]' '[:lower:]') = "yes" ] && start_master + [ $(echo ${RUNSERVER} | tr '[:upper:]' '[:lower:]') = "yes" ] && start_server + true +} + +start_server() { + ebegin "Starting Sauerbraten dedicated server" + + # Make sure necessary parameters are set + SERVERCONFIG="${SERVERCONFIG:-%SYSCONFDIR%}" + + if [ ! -d ${SERVERCONFIG} ]; then + einfo "No ${SERVERCONFIG} around. Creating new..." + mkdir ${SERVERCONFIG} + chown ${USER}:${GROUP} ${SERVERCONFIG} + fi + + start-stop-daemon \ + --quiet --start --user ${USER}:${GROUP} --chdir ${SERVERCONFIG} \ + --make-pidfile --pidfile %GAMES_STATEDIR%/run/sauerbraten/server.pid \ + --background --exec %LIBEXECDIR%/sauer_server -- ${SERVERARGS} + eend $? +} + +start_master() { + ebegin "Starting Sauerbraten master server" + + # Make sure necessary parameters are set + MASTERCONFIG="${MASTERCONFIG:-%SYSCONFDIR%}" + [ -n "${MASTERIP}" ] && MASTERPORT="${MASTERPORT:-28787}" + MASTERARGS="${MASTERCONFIG}/ ${MASTERPORT} ${MASTERIP}" + + if [ ! -d ${MASTERCONFIG} ]; then + einfo "No ${MASTERCONFIG} around. Creating new..." + mkdir ${MASTERCONFIG} + chown ${USER}:${GROUP} ${MASTERCONFIG} + fi + + start-stop-daemon \ + --quiet --start --user ${USER}:${GROUP} \ + --make-pidfile --pidfile %GAMES_STATEDIR%/run/sauerbraten/master.pid \ + --background --exec %LIBEXECDIR%/sauer_master -- ${MASTERARGS} + eend $? +} + +stop() { + [ $(echo ${RUNSERVER} | tr '[:upper:]' '[:lower:]') = "yes" ] && stop_server + [ $(echo ${RUNMASTER} | tr '[:upper:]' '[:lower:]') = "yes" ] && stop_master + true +} + +stop_server() { + ebegin "Stopping Sauerbraten dedicated server" + start-stop-daemon --stop --retry 3 --pidfile %GAMES_STATEDIR%/run/sauerbraten/server.pid + eend $? +} + +stop_master() { + ebegin "Stopping Sauerbraten master server" + start-stop-daemon --stop --retry 3 --pidfile %GAMES_STATEDIR%/run/sauerbraten/master.pid + eend $? +} + +restart() { + svc_stop + svc_start +} |