aboutsummaryrefslogtreecommitdiff
path: root/pkgs/teamspeak6-server/default.nix
blob: fff74b3a5838485caafbfc3a588a64bc674c4e72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
{
  lib,
  stdenvNoCC,
  fetchurl,
  autoPatchelfHook,
  makeWrapper,

  libgcc,
  libcxx,
  libssh,
  llvmPackages,
}:

stdenvNoCC.mkDerivation (finalAttrs: rec {
  pname = "teamspeak6-server";
  version = "6.0.0-beta8";

  src = fetchurl {
    url = "https://github.com/teamspeak/teamspeak6-server/releases/download/v${
      lib.replaceString "-" "%2F" version
    }/teamspeak-server_linux_amd64-v${version}.tar.bz2";
    hash = "sha256-U9jazezXFGcW95iu20Ktc64E1ihXSE4CiQx3jkgDERc=";
  };

  sourceRoot = "./teamspeak-server_linux_amd64";

  propagatedBuildInputs = [
    libgcc
    libcxx
    libssh
    llvmPackages.libunwind
  ];

  nativeBuildInputs = [
    autoPatchelfHook
    makeWrapper
  ];

  dontConfigure = true;
  dontBuild = true;

  installPhase = ''
    runHook preInstall

    mkdir -p $out/bin $out/share/teamspeak6-server

    rm libatomic.so.1 libc++.so.1 libssh.so.4 libunwind.so.1
    cp -a * $out/share/teamspeak6-server

    makeWrapper $out/share/teamspeak6-server/tsserver $out/bin/tsserver \
      --prefix LD_LIBRARY_PATH : "${
        lib.makeLibraryPath [
          libgcc
          libcxx
          libssh
          llvmPackages.libunwind
        ]
      }"

    runHook postInstall
  '';

  meta = {
    description = "TeamSpeak voice communication server (beta version)";
    homepage = "https://teamspeak.com/";
    # license = lib.licenses.teamspeak;
    mainProgram = "tsserver";
    platforms = [ "x86_64-linux" ];
  };
})