hasufell-repository/packages/games-fps/sauerbraten/sauerbraten-2013.02.03-r1.e...

107 lines
2.6 KiB
Bash

# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
EDITION="collect_edition"
require desktop-utils gtk-icon-cache \
sourceforge [ pnv=sauerbraten_${PV//./_}_${EDITION}_linux ]
require openrc-service [ openrc_confd_files=[ "${FILES}"/openrc/confd ] ]
SUMMARY="Cube 2: Sauerbraten is an open source game engine (Cube 2) with freeware game data (Sauerbraten)"
HOMEPAGE="http://sauerbraten.org/"
LICENCES="ZLIB freedist"
SLOT="0"
PLATFORMS="~amd64 ~x86"
MYOPTIONS=""
DEPENDENCIES="
build+run:
media-libs/SDL:0[X]
media-libs/SDL_image:1
media-libs/SDL_mixer:0[ogg]
x11-libs/libX11
sys-libs/zlib
x11-dri/glu
x11-dri/mesa
run:
group/sauerbraten [[ note = [ for server ] ]]
user/sauerbraten [[ note = [ for server ] ]]
"
WORK=${WORKBASE}/${PN}
src_prepare() {
edo rm -r sauerbraten_unix bin_unix src/{include,lib,vcpp}
default
# Fix links so they point to the correct directory
edo sed -i -e 's:docs/::' README.html
}
src_compile() {
emake -C src master server client
}
src_install() {
local LIBEXECDIR="/usr/$(exhost --target)/libexec/${PN}"
local DATADIR="/usr/share/${PN}"
local STATEDIR="/var/lib/${PN}"
# Install the game data
insinto "${DATADIR}"
doins -r data packages
# Install the client executable
exeinto "${LIBEXECDIR}"
doexe src/sauer_client
# Install the client wrapper
herebin ${PN}-client <<EOF
#!/bin/sh
cd ${DATADIR}
exec "${LIBEXECDIR}/sauer_client" -q \$HOME/.${PN} -r "\$@"
EOF
# Create menu entry
insinto /usr/share/icons/hicolor/256x256/apps
newins data/cube.png ${PN}.png
install_desktop_entry "Name=Cube 2: Sauerbraten" "Exec=${PN}-client"
# Install the server config files
insinto "${STATEDIR}"
doins "server-init.cfg"
# Install the server executables
exeinto "${LIBEXECDIR}"
doexe src/sauer_master
doexe src/sauer_server
herebin ${PN}-server <<EOF
#!/bin/sh
exec "${LIBEXECDIR}/sauer_server" -k${DATADIR} -q${STATEDIR} "\$@"
EOF
herebin ${PN}-master <<EOF
#!/bin/sh
exec "${LIBEXECDIR}/sauer_master" ${STATEDIR} "\$@"
EOF
dodoc src/*.txt docs/dev/*.txt
insinto /usr/share/doc/${PNVR}/html
doins -r README.html docs/*
edo chown sauerbraten:sauerbraten "${IMAGE%/}/${STATEDIR}"
install_openrc_files
}
pkg_postinst() {
elog "If you plan to use map editor feature copy all map data from ${DATADIR}"
elog "to corresponding folder in your HOME/.${PN}"
gtk-icon-cache_pkg_postinst
}