diff options
author | Joachim Fasting <joachifm@users.noreply.github.com> | 2016-05-12 13:01:38 +0200 |
---|---|---|
committer | Joachim Fasting <joachifm@users.noreply.github.com> | 2016-05-12 13:01:38 +0200 |
commit | 639dcffa0bd7a5068a86bd41705d9a84e6267c32 (patch) | |
tree | 18d6c8efdf9014d7e118ad81302d1d90e77f7dc4 | |
parent | 25e3c091a07374f49ff74d0a69a4515715bff43b (diff) | |
parent | 11b0972544d6761a56d922af9a48b9e05863d6b2 (diff) | |
download | nixlib-639dcffa0bd7a5068a86bd41705d9a84e6267c32.tar nixlib-639dcffa0bd7a5068a86bd41705d9a84e6267c32.tar.gz nixlib-639dcffa0bd7a5068a86bd41705d9a84e6267c32.tar.bz2 nixlib-639dcffa0bd7a5068a86bd41705d9a84e6267c32.tar.lz nixlib-639dcffa0bd7a5068a86bd41705d9a84e6267c32.tar.xz nixlib-639dcffa0bd7a5068a86bd41705d9a84e6267c32.tar.zst nixlib-639dcffa0bd7a5068a86bd41705d9a84e6267c32.zip |
Merge pull request #15403 from Shados/maintain-teamspeak-server
teamspeak-server package & module maintenance
-rw-r--r-- | nixos/modules/services/networking/teamspeak3.nix | 47 | ||||
-rw-r--r-- | pkgs/applications/networking/instant-messengers/teamspeak/server.nix | 28 |
2 files changed, 39 insertions, 36 deletions
diff --git a/nixos/modules/services/networking/teamspeak3.nix b/nixos/modules/services/networking/teamspeak3.nix index b3656d73dec0..5f04926eed24 100644 --- a/nixos/modules/services/networking/teamspeak3.nix +++ b/nixos/modules/services/networking/teamspeak3.nix @@ -10,13 +10,12 @@ let in { - + ###### interface options = { services.teamspeak3 = { - enable = mkOption { type = types.bool; default = false; @@ -96,34 +95,32 @@ in ###### implementation - config = mkIf cfg.enable { - - users.extraUsers.teamspeak = - { name = "teamspeak"; + config = mkMerge [ + (mkIf cfg.enable { + users.users.teamspeak = { description = "Teamspeak3 voice communication server daemon"; group = group; uid = config.ids.uids.teamspeak; + home = cfg.dataDir; + createHome = true; }; - users.extraGroups.teamspeak = - { name = "teamspeak"; + users.groups.teamspeak = { gid = config.ids.gids.teamspeak; }; - systemd.services.teamspeak3-server = { - description = "Teamspeak3 voice communication server daemon"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; + systemd.services.teamspeak3-server = { + description = "Teamspeak3 voice communication server daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; - preStart = '' - mkdir -p ${cfg.dataDir} - mkdir -p ${cfg.logPath} - chown ${user}:${group} ${cfg.dataDir} - chown ${user}:${group} ${cfg.logPath} - ''; + preStart = '' + mkdir -p ${cfg.logPath} + chown ${user}:${group} ${cfg.logPath} + ''; - serviceConfig = - { ExecStart = '' + serviceConfig = { + ExecStart = '' ${ts3}/bin/ts3server \ dbsqlpath=${ts3}/lib/teamspeak/sql/ logpath=${cfg.logPath} \ voice_ip=${cfg.voiceIP} default_voice_port=${toString cfg.defaultVoicePort} \ @@ -133,10 +130,12 @@ in WorkingDirectory = cfg.dataDir; User = user; Group = group; - PermissionsStartOnly = true; # preStart needs to run with root permissions + PermissionsStartOnly = true; }; }; - - }; - + }) + { + meta.maintainers = with lib.maintainers; [ arobyn ]; + } + ]; } diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix index 1da719845a33..f95d3f0490aa 100644 --- a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix +++ b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix @@ -1,11 +1,8 @@ { stdenv, fetchurl, makeWrapper }: let - - version = "3.0.10.3"; - + version = "3.0.12.4"; arch = if stdenv.is64bit then "amd64" else "x86"; - libDir = if stdenv.is64bit then "lib64" else "lib"; in @@ -14,25 +11,30 @@ stdenv.mkDerivation { src = fetchurl { urls = [ - "http://dl.4players.de/ts/releases/${version}/teamspeak3-server_linux-${arch}-${version}.tar.gz" - "http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/teamspeak3-server_linux-${arch}-${version}.tar.gz" + "http://dl.4players.de/ts/releases/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2" + "http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2" ]; sha256 = if stdenv.is64bit - then "9606dd5c0c3677881b1aab833cb99f4f12ba08cc77ef4a97e9e282d9e10b0702" - else "8b8921e0df04bf74068a51ae06d744f25d759a8c267864ceaf7633eb3f81dbe5"; + then "1n8vgbgnfbllfvsl82ai6smv6hl32a3nd071j2dp79agjz4fic3b" + else "19vkcgb0h71amixry8r72qqwaxwplzyz9nrxg5bdjjg8r2mkh4bc"; }; buildInputs = [ makeWrapper ]; buildPhase = '' - mv ts3server_linux_${arch} ts3server echo "patching ts3server" patchelf \ --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath $(cat $NIX_CC/nix-support/orig-cc)/${libDir} \ --force-rpath \ ts3server + cp tsdns/tsdnsserver tsdnsserver + patchelf \ + --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath $(cat $NIX_CC/nix-support/orig-cc)/${libDir} \ + --force-rpath \ + tsdnsserver ''; installPhase = @@ -44,17 +46,19 @@ stdenv.mkDerivation { mkdir -p $out/lib/teamspeak mv * $out/lib/teamspeak/ - # Make a symlink to the binary from bin. + # 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/tsdnsserver $out/bin/tsdnsserver wrapProgram $out/lib/teamspeak/ts3server --prefix LD_LIBRARY_PATH : $out/lib/teamspeak + wrapProgram $out/lib/teamspeak/tsdnsserver --prefix LD_LIBRARY_PATH : $out/lib/tsdnsserver ''; dontStrip = true; dontPatchELF = true; - - meta = { + + meta = { description = "TeamSpeak voice communication server"; homepage = http://teamspeak.com/; license = stdenv.lib.licenses.unfreeRedistributable; |