
* teamspeak5_client: 5.0.0-beta77 -> 6.0.0-beta2, rename to teamspeak-6-client * teamspeak6-client: refactor * lib.licenses: add teamspeak license * teamspeak{3,_server,6-client}: use teamspeak license * teamspeak{6-client,_server}: move to pkgs/by-name * teamspeak_server: fix meta.platforms * teamspeak6-client: add update script
83 lines
2.1 KiB
Nix
83 lines
2.1 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchurl,
|
|
libpq,
|
|
autoPatchelfHook,
|
|
writeScript,
|
|
}:
|
|
|
|
let
|
|
arch = if stdenv.hostPlatform.is64bit then "amd64" else "x86";
|
|
in
|
|
stdenv.mkDerivation rec {
|
|
pname = "teamspeak-server";
|
|
version = "3.13.7";
|
|
|
|
src = fetchurl {
|
|
url = "https://files.teamspeak-services.com/releases/server/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2";
|
|
sha256 =
|
|
if stdenv.hostPlatform.is64bit then
|
|
"sha256-d1pXMamAmAHkyPkGbNm8ViobNoVTE5wSSfKgdA1QBB4="
|
|
else
|
|
"sha256-aMEDOnvBeKfzG8lDFhU8I5DYgG53IsCDBMV2MUyJi2g=";
|
|
};
|
|
|
|
buildInputs = [
|
|
stdenv.cc.cc
|
|
libpq
|
|
];
|
|
|
|
nativeBuildInputs = [ autoPatchelfHook ];
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
# Install files.
|
|
mkdir -p $out/lib/teamspeak
|
|
mv * $out/lib/teamspeak/
|
|
|
|
# Make symlinks to the binaries from bin.
|
|
mkdir -p $out/bin/
|
|
ln -s $out/lib/teamspeak/ts3server $out/bin/ts3server
|
|
ln -s $out/lib/teamspeak/tsdns/tsdnsserver $out/bin/tsdnsserver
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
passthru.updateScript = writeScript "update-teampeak-server" ''
|
|
#!/usr/bin/env nix-shell
|
|
#!nix-shell -i bash -p common-updater-scripts curl gnugrep gnused jq pup
|
|
|
|
set -eu -o pipefail
|
|
|
|
version=$( \
|
|
curl https://www.teamspeak.com/en/downloads/ \
|
|
| pup "#server .linux .version json{}" \
|
|
| jq -r ".[0].text"
|
|
)
|
|
|
|
versionOld=$(nix-instantiate --eval --strict -A "teamspeak_server.version")
|
|
|
|
nixFile=pkgs/applications/networking/instant-messengers/teamspeak/server.nix
|
|
|
|
update-source-version teamspeak_server "$version" --system=i686-linux
|
|
|
|
sed -i -e "s/version = \"$version\";/version = $versionOld;/" "$nixFile"
|
|
|
|
update-source-version teamspeak_server "$version" --system=x86_64-linux
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "TeamSpeak voice communication server";
|
|
homepage = "https://teamspeak.com/";
|
|
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
|
license = licenses.teamspeak;
|
|
platforms = [ "x86_64-linux" ];
|
|
maintainers = with maintainers; [
|
|
arobyn
|
|
gerschtli
|
|
];
|
|
};
|
|
}
|