about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/teamspeak
diff options
context:
space:
mode:
authorTobias Happ <tobias.happ@gmx.de>2020-04-11 20:53:33 +0200
committerTobias Happ <tobias.happ@gmx.de>2020-04-11 20:53:33 +0200
commitfdb4439640d7a5fd8c9d16e997e28b2c89d0c751 (patch)
treeb2d0aee3a054452ed050558eef67075089e2ea10 /pkgs/applications/networking/instant-messengers/teamspeak
parent6ed08522d8960a012cf0b138a55e352e8a885921 (diff)
teamspeak_server: add updateScript
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/teamspeak')
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/server.nix25
1 files changed, 24 insertions, 1 deletions
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
index fe79446b32d6e..d1193a28ad1b6 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoPatchelfHook }:
+{ stdenv, fetchurl, autoPatchelfHook, writeScript }:
 
 let
   arch = if stdenv.is64bit then "amd64" else "x86";
@@ -28,6 +28,29 @@ in stdenv.mkDerivation rec {
     ln -s $out/lib/teamspeak/tsdns/tsdnsserver $out/bin/tsdnsserver
   '';
 
+  passthru.updateScript = writeScript "update-teampeak-server" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p common-updater-scripts curl gnugrep gnused
+
+    set -eu -o pipefail
+
+    version=$( \
+        curl -s "https://www.teamspeak.de/download/teamspeak-3-amd64-server-linux/" \
+        | grep softwareVersion \
+        | sed -E -e 's/^.*<span itemprop="softwareVersion">([^<]+)<\/span>.*$/\1/' \
+    )
+
+    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 stdenv.lib; {
     description = "TeamSpeak voice communication server";
     homepage = https://teamspeak.com/;