From 415856bdd4f48ab4f2732996f0bae58595092bbe Mon Sep 17 00:00:00 2001 From: Parabola Date: Tue, 5 Apr 2011 14:26:38 +0000 Subject: Tue Apr 5 14:26:38 UTC 2011 --- community/sauerbraten/PKGBUILD | 82 ++++++++++++++++++++++++++++++ community/sauerbraten/license.txt | 34 +++++++++++++ community/sauerbraten/sauerbraten-client | 14 +++++ community/sauerbraten/sauerbraten-server | 22 ++++++++ community/sauerbraten/sauerbraten.confd | 7 +++ community/sauerbraten/sauerbraten.desktop | 13 +++++ community/sauerbraten/sauerbraten.install | 22 ++++++++ community/sauerbraten/sauerbraten.png | Bin 0 -> 9313 bytes community/sauerbraten/sauerbraten.rcd | 37 ++++++++++++++ 9 files changed, 231 insertions(+) create mode 100644 community/sauerbraten/PKGBUILD create mode 100644 community/sauerbraten/license.txt create mode 100755 community/sauerbraten/sauerbraten-client create mode 100755 community/sauerbraten/sauerbraten-server create mode 100644 community/sauerbraten/sauerbraten.confd create mode 100644 community/sauerbraten/sauerbraten.desktop create mode 100644 community/sauerbraten/sauerbraten.install create mode 100644 community/sauerbraten/sauerbraten.png create mode 100644 community/sauerbraten/sauerbraten.rcd (limited to 'community/sauerbraten') 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 +# Contributor: Jaroslaw Swierczynski +# Contributor: Roman Kyrylych +# Contributor: Christoph Siegenthaler +# Contributor: Jesse Young + +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 Binary files /dev/null and b/community/sauerbraten/sauerbraten.png 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 -- cgit v1.2.3-54-g00ecf