summaryrefslogtreecommitdiff
path: root/community/sauerbraten
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
commit415856bdd4f48ab4f2732996f0bae58595092bbe (patch)
treeede2018b591f6dfb477fe9341ba17b9bc000fab9 /community/sauerbraten
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'community/sauerbraten')
-rw-r--r--community/sauerbraten/PKGBUILD82
-rw-r--r--community/sauerbraten/license.txt34
-rwxr-xr-xcommunity/sauerbraten/sauerbraten-client14
-rwxr-xr-xcommunity/sauerbraten/sauerbraten-server22
-rw-r--r--community/sauerbraten/sauerbraten.confd7
-rw-r--r--community/sauerbraten/sauerbraten.desktop13
-rw-r--r--community/sauerbraten/sauerbraten.install22
-rw-r--r--community/sauerbraten/sauerbraten.pngbin0 -> 9313 bytes
-rw-r--r--community/sauerbraten/sauerbraten.rcd37
9 files changed, 231 insertions, 0 deletions
diff --git a/community/sauerbraten/PKGBUILD b/community/sauerbraten/PKGBUILD
new file mode 100644
index 000000000..2a845e88d
--- /dev/null
+++ b/community/sauerbraten/PKGBUILD
@@ -0,0 +1,82 @@
+# $Id: PKGBUILD 27049 2010-09-16 22:45:06Z lcarlier $
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
+# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com>
+# Contributor: Christoph Siegenthaler <csi@gmx.ch>
+# Contributor: Jesse Young <jesse@eon.jlyo.org>
+
+pkgbase=sauerbraten
+pkgname=('sauerbraten' 'sauerbraten-data')
+pkgver=2010_07_28_justice_edition
+pkgrel=2
+pkgdesc="Improved version of the Cube engine"
+arch=('i686' 'x86_64')
+url="http://www.sauerbraten.org/"
+license=('ZLIB')
+depends=('sdl_mixer' 'sdl_image' 'libgl')
+makedepends=('mesa')
+install=sauerbraten.install
+source=(http://downloads.sourceforge.net/$pkgname/${pkgname}_${pkgver}_linux.tar.bz2
+ sauerbraten-client
+ sauerbraten-server
+ sauerbraten.confd
+ sauerbraten.rcd
+ sauerbraten.desktop
+ sauerbraten.png
+ sauerbraten.install
+ license.txt)
+md5sums=('0947cb37b628873063270be1fcce27f6'
+ 'ac66ef9e80d6fc1b4b047df1c36c07c0'
+ '4a42c314d01ccdc4c76fad38d18c7434'
+ '8e26aeba1ef178c24e22723d3c48d7e1'
+ 'e0a2e0679c34b39623964ee68e6fae1e'
+ '5b528424ed46e05124420975d99370e5'
+ '3e602f421f7342cf8c3ed16314523d6f'
+ '2f7b423f49491359ff776a91414db4d8'
+ 'cf46cd0148f03b7477f7c54aec865abe')
+
+build() {
+ cd ${srcdir}/$pkgname/src
+
+ make
+
+ # remove cvs directories
+ find ${srcdir}/$pkgname -type d -name CVS -exec rm -rf '{}' \; 2> /dev/null
+}
+
+package_sauerbraten() {
+ depends=('sdl_mixer' 'sdl_image' 'libgl' 'sauerbraten-data')
+
+ cd ${srcdir}/$pkgname/src
+
+ make DESTDIR="${pkgdir}" install
+
+ cd ..
+ install -D bin_unix/native_client ${pkgdir}/opt/sauerbraten/bin/linux_client
+ install -D bin_unix/native_server ${pkgdir}/opt/sauerbraten/bin/linux_server
+
+ install -Dm755 ${srcdir}/sauerbraten-client ${pkgdir}/usr/bin/sauerbraten-client
+ install -Dm755 ${srcdir}/sauerbraten-server ${pkgdir}/usr/sbin/sauerbraten-server
+ install -Dm644 ${srcdir}/sauerbraten.confd ${pkgdir}/etc/conf.d/sauerbraten
+ install -Dm755 ${srcdir}/sauerbraten.rcd ${pkgdir}/etc/rc.d/sauerbraten
+ install -Dm644 ${srcdir}/sauerbraten.desktop ${pkgdir}/usr/share/applications/sauerbraten.desktop
+ install -Dm644 ${srcdir}/sauerbraten.png ${pkgdir}/usr/share/pixmaps/sauerbraten.png
+ install -Dm644 ${srcdir}/license.txt ${pkgdir}/usr/share/licenses/sauerbraten/license.txt
+}
+
+package_sauerbraten-data() {
+ pkgdesc="Improved version of the Cube engine - datas files"
+ arch=('any')
+ depends=()
+
+ cd ${srcdir}/sauerbraten
+
+ install -d ${pkgdir}/opt/sauerbraten
+ cp -r data ${pkgdir}/opt/sauerbraten
+ cp -r packages ${pkgdir}/opt/sauerbraten
+
+ # make namcap happy
+ chmod -R go+rx ${pkgdir}/opt/sauerbraten/packages/argh
+
+ install -Dm644 ${srcdir}/license.txt ${pkgdir}/usr/share/licenses/${pkgname}-data/license.txt
+}
diff --git a/community/sauerbraten/license.txt b/community/sauerbraten/license.txt
new file mode 100644
index 000000000..f38792c76
--- /dev/null
+++ b/community/sauerbraten/license.txt
@@ -0,0 +1,34 @@
+LICENSE
+=======
+
+Sauerbraten game engine source code, any release.
+
+Copyright (C) 2001-2006 Wouter van Oortmerssen.
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any damages
+arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it
+freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
+
+
+LICENSE NOTES
+=============
+The license covers the source code found in the "src" directory of this
+archive, the included enet network library which sauerbraten uses is covered by
+an MIT-style license, which is however compatible with the above license for all
+practical purposes.
+
+Game media included in the game (maps, textures, sounds, models etc.)
+are NOT covered by this license, and may have individual copyrights and
+distribution restrictions (see individual readmes).
diff --git a/community/sauerbraten/sauerbraten-client b/community/sauerbraten/sauerbraten-client
new file mode 100755
index 000000000..8a9b354f3
--- /dev/null
+++ b/community/sauerbraten/sauerbraten-client
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+WIDTH=1024
+HEIGHT=768
+[ -f /etc/conf.d/sauerbraten ] && . /etc/conf.d/sauerbraten
+
+cd /opt/sauerbraten
+if [ -f /usr/bin/aoss ]; then
+ aoss bin/linux_client -w$WIDTH -h$HEIGHT -q${HOME}/.config/sauerbraten -r
+else
+ bin/linux_client -w$WIDTH -h$HEIGHT -q${HOME}/.config/sauerbraten -r
+fi
+
+
diff --git a/community/sauerbraten/sauerbraten-server b/community/sauerbraten/sauerbraten-server
new file mode 100755
index 000000000..b4c79cb7f
--- /dev/null
+++ b/community/sauerbraten/sauerbraten-server
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+SAUER_USER=nobody
+LOGDIR=/var/log/sauerbraten
+[ -f /etc/conf.d/sauerbraten ] && . /etc/conf.d/sauerbraten
+
+cd /opt/sauerbraten
+
+if [ "$(id -u)" == "0" ]; then
+ if [ ! -d "$LOGDIR" ]; then
+ mkdir -p "$LOGDIR"
+ chown "$SAUER_USER:log" "$LOGDIR"
+ fi
+
+ sudo -Hu "$SAUER_USER" \
+ nohup /opt/sauerbraten/bin/linux_server \
+ >> "$LOGDIR/main.log" \
+ 2>> "$LOGDIR/error.log" \
+ < /dev/null &
+else
+ bin/linux_server
+fi
diff --git a/community/sauerbraten/sauerbraten.confd b/community/sauerbraten/sauerbraten.confd
new file mode 100644
index 000000000..93cd32de7
--- /dev/null
+++ b/community/sauerbraten/sauerbraten.confd
@@ -0,0 +1,7 @@
+# Client options
+WIDTH=1024
+HEIGHT=768
+
+# Server options
+SAUER_USER=sauerbraten
+LOGDIR=/var/log/sauerbraten
diff --git a/community/sauerbraten/sauerbraten.desktop b/community/sauerbraten/sauerbraten.desktop
new file mode 100644
index 000000000..a038acfcc
--- /dev/null
+++ b/community/sauerbraten/sauerbraten.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Version=1.0
+Encoding=UTF-8
+Exec=sauerbraten-client %u
+Icon=/usr/share/pixmaps/sauerbraten.png
+Type=Application
+Categories=Application;Game;ActionGame;
+Name=Sauerbraten
+GenericName=Cube 2
+Comment=multi/single-player first person shooter
+Comment[fr]=Jeu de tir subjectif multi/simple joueur
+Terminal=false
+StartupNotify=false
diff --git a/community/sauerbraten/sauerbraten.install b/community/sauerbraten/sauerbraten.install
new file mode 100644
index 000000000..2ee7689ab
--- /dev/null
+++ b/community/sauerbraten/sauerbraten.install
@@ -0,0 +1,22 @@
+# arg 1: the new package version
+post_install() {
+ getent group sauerbraten >/dev/null 2>&1 || groupadd -r sauerbraten
+ if getent passwd sauerbraten > /dev/null 2>&1; then
+ usr/sbin/usermod -d /var/spool/sauerbraten -c 'Sauerbraten' -s /sbin/nologin sauerbraten > /dev/null 2>&1
+ else
+ usr/sbin/useradd -c 'Sauerbraten' -r -g sauerbraten -d /opt/sauerbraten -s /sbin/nologin sauerbraten
+ fi
+ passwd -l sauerbraten > /dev/null
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
+# arg 1: the old package version
+pre_remove() {
+ getent passwd sauerbraten >/dev/null 2>&1 && userdel sauerbraten
+}
+
diff --git a/community/sauerbraten/sauerbraten.png b/community/sauerbraten/sauerbraten.png
new file mode 100644
index 000000000..5ec7606bc
--- /dev/null
+++ b/community/sauerbraten/sauerbraten.png
Binary files differ
diff --git a/community/sauerbraten/sauerbraten.rcd b/community/sauerbraten/sauerbraten.rcd
new file mode 100644
index 000000000..fb95aae16
--- /dev/null
+++ b/community/sauerbraten/sauerbraten.rcd
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Starting sauerbraten-server"
+ [ ! -f /var/run/daemons/sauerbraten ] && /usr/sbin/sauerbraten-server
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ pgrep -of "/opt/sauerbraten/bin/linux_server" > /var/run/sauerbraten.pid
+ add_daemon sauerbraten
+ stat_done
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping sauerbraten-server"
+ [ -f /var/run/sauerbraten.pid ] && kill `cat /var/run/sauerbraten.pid`
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon sauerbraten
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0