You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
3.1 KiB

# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
inherit multilib systemd user versionator
MY_PV="$(get_version_component_range 1-4)-Beta-$(get_version_component_range 5)"
DESCRIPTION="Crystal Clear Cross-Platform Voice Communication Server"
if [[ ${PV} != "*_beta*" ]] ; then
amd64? (${PV}/teamspeak3-server_linux_amd64-${PV}.tar.bz2 )
x86? (${PV}/teamspeak3-server_linux_x86-${PV}.tar.bz2 )"
amd64? (${MY_PV}/teamspeak3-server_linux_amd64-${MY_PV}.tar.bz2 )
x86? (${MY_PV}/teamspeak3-server_linux_x86-${MY_PV}.tar.bz2 )"
LICENSE="teamspeak3 GPL-2"
IUSE="doc mysql tsdns"
KEYWORDS="~amd64 ~x86"
DEPEND="mysql? ( >=virtual/mysql-5.5 )"
RESTRICT="installsources mirror strip"
pkg_nofetch() {
elog "Please download ${A}"
elog "from ${HOMEPAGE}downloads and place this"
elog "file in ${DISTDIR}"
pkg_setup() {
enewuser teamspeak3
src_install() {
# Install wrapper
dosbin "${FILESDIR}"/ts3server
# Install TeamSpeak 3 server into /opt/teamspeak3-server.
local opt_dir="/opt/teamspeak3-server"
into ${opt_dir}
insinto ${opt_dir}
exeinto ${opt_dir}
newsbin ts3server ts3server-bin
doexe *.sh
doins *.so
# '' is hard-coded into the ts3-server binary :(
use mysql && doexe redist/
doins -r sql
# Install documentation and tsdns.
dodoc -r CHANGELOG doc/*.txt
use doc && dodoc -r serverquerydocs doc/serverquery && \
docompress -x /usr/share/doc/${PF}/serverquerydocs && \
docompress -x /usr/share/doc/${PF}/serverquery && \
dosym ../../../usr/share/doc/${PF}/serverquery ${opt_dir}/doc/serverquery && \
dosym ../../usr/share/doc/${PF}/serverquerydocs ${opt_dir}/serverquerydocs
if use tsdns; then
newsbin tsdns/tsdnsserver tsdnsserver
newdoc tsdns/README README.tsdns
newdoc tsdns/USAGE USAGE.tsdns
dodoc tsdns/tsdns_settings.ini.sample
# Install the runtime FS layout.
insinto /etc/teamspeak3-server
doins "${FILESDIR}"/server.conf "${FILESDIR}"/ts3db_mariadb.ini
keepdir /{etc,var/{lib,log}}/teamspeak3-server
# Install the init script and systemd unit.
newinitd "${FILESDIR}"/${PN}-init-r1 teamspeak3-server
systemd_newunit "${FILESDIR}"/systemd/teamspeak3-r1.service teamspeak3-server.service
systemd_newtmpfilesd "${FILESDIR}"/systemd/teamspeak3.conf teamspeak3-server.conf
# Fix up permissions.
fowners teamspeak3 /{etc,var/{lib,log}}/teamspeak3-server
fowners teamspeak3 ${opt_dir}
fperms 700 /{etc,var/{lib,log}}/teamspeak3-server
fperms 755 ${opt_dir}
pkg_postinst() {
einfo "Starting with version 3.0.13, there are two important changes:"
einfo "- IPv6 is now supported."
einfo "- Binding to any address ( / 0::0),"
einfo " instead of just the default ip of the network interface."