117 lines
2.7 KiB
Bash
117 lines
2.7 KiB
Bash
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EDITION="collect_edition"
|
|
|
|
require 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
|
|
insinto /usr/share/applications
|
|
hereins ${PN}.desktop <<EOF
|
|
[Desktop Entry]
|
|
Name=Cube 2: Sauerbraten
|
|
Type=Application
|
|
Comment=${SUMMARY}
|
|
Exec=${PN}-client
|
|
TryExec=${PN}-client
|
|
Icon=${PN}
|
|
Categories=Game;ActionGame;
|
|
EOF
|
|
|
|
# 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
|
|
}
|
|
|