teamspeak5_client: 5.0.0-beta77 -> 6.0.0-beta2; teamspeak refactors (#377748)

* 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

authored by gepbird.tngl.sh and committed by GitHub 547acecd 651df657

+187 -159
+39
lib/licenses.nix
··· 1197 1197 redistributable = false; # only free to redistribute "for non-commercial purposes" 1198 1198 }; 1199 1199 1200 + teamspeak = { 1201 + fullName = "Teamspeak client license"; 1202 + url = "https://www.teamspeak.com/en/privacy-and-terms/"; 1203 + free = false; 1204 + redistributable = true; # we got a permit to redistribute it: 1205 + # License issues: 1206 + # Date: Mon, 10 Dec 2007 19:55:16 -0500 1207 + # From: TeamSpeak Sales <sales@tritoncia.com> 1208 + # To: 'Marc Weber' <marco-oweber@gmx.de> 1209 + # Subject: RE: teamspeak on nix? 1210 + # 1211 + # Yes, that would be fine. As long as you are not renting servers or selling 1212 + # TeamSpeak then you are more than welcome to distribute it. 1213 + # 1214 + # Thank you, 1215 + # 1216 + # TeamSpeak Sales Team 1217 + # ________________________________ 1218 + # e-Mail: sales@tritoncia.com 1219 + # TeamSpeak: http://www.TeamSpeak.com 1220 + # Account Login: https://sales.TritonCIA.com/users 1221 + # 1222 + # 1223 + # 1224 + # -----Original Message----- 1225 + # From: Marc Weber [mailto:marco-oweber@gmx.de] 1226 + # Sent: Monday, December 10, 2007 5:03 PM 1227 + # To: sales@tritoncia.com 1228 + # Subject: teamspeak on nix? 1229 + # 1230 + # Hello, 1231 + # 1232 + # nix is very young software distribution system (http://nix.cs.uu.nl/) 1233 + # I'd like to ask wether you permit us to add teamspeak (server/ client?) 1234 + # 1235 + # Sincerly 1236 + # Marc Weber (small nix contributor) 1237 + }; 1238 + 1200 1239 tsl = { 1201 1240 shortName = "TSL"; 1202 1241 fullName = "Timescale License Agreegment";
-115
pkgs/applications/networking/instant-messengers/teamspeak/client5.nix
··· 1 - { 2 - lib, 3 - stdenv, 4 - fetchurl, 5 - autoPatchelfHook, 6 - copyDesktopItems, 7 - makeDesktopItem, 8 - makeWrapper, 9 - alsa-lib, 10 - at-spi2-atk, 11 - atk, 12 - cairo, 13 - cups, 14 - dbus, 15 - gcc-unwrapped, 16 - gdk-pixbuf, 17 - glib, 18 - gtk3, 19 - libdrm, 20 - libnotify, 21 - libpulseaudio, 22 - libxkbcommon, 23 - libgbm, 24 - nss, 25 - udev, 26 - xorg, 27 - }: 28 - 29 - stdenv.mkDerivation rec { 30 - pname = "teamspeak5-client"; 31 - version = "5.0.0-beta77"; 32 - 33 - src = fetchurl { 34 - # check https://teamspeak.com/en/downloads/#ts5 for version and checksum 35 - url = "https://files.teamspeak-services.com/pre_releases/client/${version}/teamspeak-client.tar.gz"; 36 - sha256 = "6f3bf97b120d3c799cefc90c448e45836708a826d7caa07ad32b5c868eb9181b"; 37 - }; 38 - 39 - sourceRoot = "."; 40 - 41 - propagatedBuildInputs = [ 42 - alsa-lib 43 - at-spi2-atk 44 - atk 45 - cairo 46 - cups.lib 47 - dbus 48 - gcc-unwrapped.lib 49 - gdk-pixbuf 50 - glib 51 - gtk3 52 - libdrm 53 - libnotify 54 - libpulseaudio 55 - libxkbcommon 56 - libgbm 57 - nss 58 - xorg.libX11 59 - xorg.libXScrnSaver 60 - xorg.libXdamage 61 - xorg.libXfixes 62 - xorg.libxshmfence 63 - ]; 64 - 65 - nativeBuildInputs = [ 66 - autoPatchelfHook 67 - copyDesktopItems 68 - makeWrapper 69 - ]; 70 - 71 - desktopItems = [ 72 - (makeDesktopItem { 73 - name = "TeamSpeak"; 74 - exec = "TeamSpeak"; 75 - icon = pname; 76 - desktopName = pname; 77 - comment = "TeamSpeak Voice Communication Client"; 78 - categories = [ 79 - "Audio" 80 - "AudioVideo" 81 - "Chat" 82 - "Network" 83 - ]; 84 - }) 85 - ]; 86 - 87 - dontConfigure = true; 88 - dontBuild = true; 89 - 90 - installPhase = '' 91 - runHook preInstall 92 - 93 - mkdir -p $out/bin $out/share/${pname} $out/share/icons/hicolor/64x64/apps/ 94 - 95 - cp -a * $out/share/${pname} 96 - cp logo-256.png $out/share/icons/hicolor/64x64/apps/${pname}.png 97 - 98 - makeWrapper $out/share/${pname}/TeamSpeak $out/bin/TeamSpeak \ 99 - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ udev ]}" 100 - 101 - runHook postInstall 102 - ''; 103 - 104 - meta = with lib; { 105 - description = "TeamSpeak voice communication tool (beta version)"; 106 - homepage = "https://teamspeak.com/"; 107 - license = { 108 - fullName = "Teamspeak client license"; 109 - url = "https://www.teamspeak.com/en/privacy-and-terms/"; 110 - free = false; 111 - }; 112 - maintainers = with maintainers; [ jojosch ]; 113 - platforms = [ "x86_64-linux" ]; 114 - }; 115 - }
-32
pkgs/applications/networking/instant-messengers/teamspeak/distribution-permit.txt
··· 1 - License issues: 2 - Date: Mon, 10 Dec 2007 19:55:16 -0500 3 - From: TeamSpeak Sales <sales@tritoncia.com> 4 - To: 'Marc Weber' <marco-oweber@gmx.de> 5 - Subject: RE: teamspeak on nix? 6 - 7 - Yes, that would be fine. As long as you are not renting servers or selling 8 - TeamSpeak then you are more than welcome to distribute it. 9 - 10 - Thank you, 11 - 12 - TeamSpeak Sales Team 13 - ________________________________ 14 - e-Mail: sales@tritoncia.com 15 - TeamSpeak: http://www.TeamSpeak.com 16 - Account Login: https://sales.TritonCIA.com/users 17 - 18 - 19 - 20 - -----Original Message----- 21 - From: Marc Weber [mailto:marco-oweber@gmx.de] 22 - Sent: Monday, December 10, 2007 5:03 PM 23 - To: sales@tritoncia.com 24 - Subject: teamspeak on nix? 25 - 26 - Hello, 27 - 28 - nix is very young software distribution system (http://nix.cs.uu.nl/) 29 - I'd like to ask wether you permit us to add teamspeak (server/ client?) 30 - 31 - Sincerly 32 - Marc Weber (small nix contributor)
+2 -3
pkgs/applications/networking/instant-messengers/teamspeak/server.nix pkgs/by-name/te/teamspeak_server/package.nix
··· 72 72 description = "TeamSpeak voice communication server"; 73 73 homepage = "https://teamspeak.com/"; 74 74 sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 75 - # See distribution-permit.txt for a confirmation that nixpkgs is allowed to distribute TeamSpeak. 76 - license = licenses.unfreeRedistributable; 77 - platforms = platforms.linux; 75 + license = licenses.teamspeak; 76 + platforms = [ "x86_64-linux" ]; 78 77 maintainers = with maintainers; [ 79 78 arobyn 80 79 gerschtli
+1 -6
pkgs/by-name/te/teamspeak3/package.nix
··· 126 126 description = "TeamSpeak voice communication tool"; 127 127 homepage = "https://teamspeak.com/"; 128 128 sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; 129 - license = { 130 - # See distribution-permit.txt for a confirmation that nixpkgs is allowed to distribute TeamSpeak. 131 - fullName = "Teamspeak client license"; 132 - url = "https://www.teamspeak.com/en/privacy-and-terms/"; 133 - free = false; 134 - }; 129 + license = lib.licenses.teamspeak; 135 130 maintainers = with lib.maintainers; [ 136 131 lhvwb 137 132 lukegb
+123
pkgs/by-name/te/teamspeak6-client/package.nix
··· 1 + { 2 + lib, 3 + stdenvNoCC, 4 + fetchurl, 5 + autoPatchelfHook, 6 + copyDesktopItems, 7 + makeDesktopItem, 8 + makeWrapper, 9 + alsa-lib, 10 + at-spi2-atk, 11 + atk, 12 + cairo, 13 + cups, 14 + dbus, 15 + gcc-unwrapped, 16 + gdk-pixbuf, 17 + glib, 18 + gtk3, 19 + libdrm, 20 + libnotify, 21 + libpulseaudio, 22 + libxkbcommon, 23 + libgbm, 24 + nss, 25 + udev, 26 + libGL, 27 + xorg, 28 + }: 29 + 30 + stdenvNoCC.mkDerivation (finalAttrs: { 31 + pname = "teamspeak6-client"; 32 + version = "6.0.0-beta2"; 33 + 34 + src = fetchurl { 35 + url = "https://files.teamspeak-services.com/pre_releases/client/${finalAttrs.version}/teamspeak-client.tar.gz"; 36 + hash = "sha256-3jNPv3uQ2RztR1p4XQNLUg5IVrvW/dcdtqXdiGJKVSs="; 37 + }; 38 + 39 + sourceRoot = "."; 40 + 41 + propagatedBuildInputs = [ 42 + alsa-lib 43 + at-spi2-atk 44 + atk 45 + cairo 46 + cups.lib 47 + dbus 48 + gcc-unwrapped.lib 49 + gdk-pixbuf 50 + glib 51 + gtk3 52 + libdrm 53 + libnotify 54 + libpulseaudio 55 + libxkbcommon 56 + libgbm 57 + nss 58 + xorg.libX11 59 + xorg.libXScrnSaver 60 + xorg.libXdamage 61 + xorg.libXfixes 62 + xorg.libxshmfence 63 + xorg.libXtst 64 + ]; 65 + 66 + nativeBuildInputs = [ 67 + autoPatchelfHook 68 + copyDesktopItems 69 + makeWrapper 70 + ]; 71 + 72 + desktopItems = [ 73 + (makeDesktopItem { 74 + name = "TeamSpeak"; 75 + exec = "TeamSpeak"; 76 + icon = "teamspeak6-client"; 77 + desktopName = "teamspeak6-client"; 78 + comment = "TeamSpeak Voice Communication Client"; 79 + categories = [ 80 + "Audio" 81 + "AudioVideo" 82 + "Chat" 83 + "Network" 84 + ]; 85 + }) 86 + ]; 87 + 88 + dontConfigure = true; 89 + dontBuild = true; 90 + 91 + installPhase = '' 92 + runHook preInstall 93 + 94 + mkdir -p $out/bin $out/share/teamspeak6-client $out/share/icons/hicolor/64x64/apps/ 95 + 96 + cp -a * $out/share/teamspeak6-client 97 + cp logo-256.png $out/share/icons/hicolor/64x64/apps/teamspeak6-client.png 98 + 99 + makeWrapper $out/share/teamspeak6-client/TeamSpeak $out/bin/TeamSpeak \ 100 + --prefix LD_LIBRARY_PATH : "${ 101 + lib.makeLibraryPath [ 102 + udev 103 + libGL 104 + ] 105 + }" 106 + 107 + runHook postInstall 108 + ''; 109 + 110 + updateScript = ./update.sh; 111 + 112 + meta = { 113 + description = "TeamSpeak voice communication tool (beta version)"; 114 + homepage = "https://teamspeak.com/"; 115 + license = lib.licenses.teamspeak; 116 + mainProgram = "TeamSpeak"; 117 + maintainers = with lib.maintainers; [ 118 + gepbird 119 + jojosch 120 + ]; 121 + platforms = [ "x86_64-linux" ]; 122 + }; 123 + })
+21
pkgs/by-name/te/teamspeak6-client/update.sh
··· 1 + #!/usr/bin/env nix-shell 2 + #!nix-shell --pure -i bash -p bash curl cacert ripgrep nix nix-update 3 + set -euo pipefail 4 + 5 + latest_version=$( 6 + curl https://teamspeak.com/en/downloads/#ts6client | \ 7 + rg -o 'https://files.teamspeak-services.com/pre_releases/client/.*/teamspeak-client.tar.gz' | \ 8 + head -n1 | \ 9 + sed -n 's|.*/client/\(.*\)/teamspeak-client.tar.gz|\1|p' 10 + ) 11 + current_version=$(nix eval --raw .#teamspeak6-client.version) 12 + 13 + echo "latest version: $latest_version" 14 + echo "current version: $current_version" 15 + 16 + if [[ "$latest_version" == "$current_version" ]]; then 17 + echo "package is up-to-date" 18 + exit 0 19 + fi 20 + 21 + nix-update teamspeak6-client --version $latest_version
+1
pkgs/top-level/aliases.nix
··· 1373 1373 tdesktop = telegram-desktop; # Added 2023-04-07 1374 1374 tdom = tclPackages.tdom; # Added 2024-10-02 1375 1375 teamspeak_client = teamspeak3; # Added 2024-11-07 1376 + teamspeak5_client = teamspeak6-client; # Added 2025-01-29 1376 1377 teck-programmer = throw "teck-programmer was removed because it was broken and unmaintained"; # added 2024-08-23 1377 1378 teleport_13 = throw "teleport 13 has been removed as it is EOL. Please upgrade to Teleport 14 or later"; # Added 2024-05-26 1378 1379 teleport_14 = throw "teleport 14 has been removed as it is EOL. Please upgrade to Teleport 15 or later"; # Added 2024-10-18
-3
pkgs/top-level/all-packages.nix
··· 15250 15250 15251 15251 tamgamp.lv2 = callPackage ../applications/audio/tamgamp.lv2 { }; 15252 15252 15253 - teamspeak5_client = callPackage ../applications/networking/instant-messengers/teamspeak/client5.nix { }; 15254 - teamspeak_server = callPackage ../applications/networking/instant-messengers/teamspeak/server.nix { }; 15255 - 15256 15253 telegram-desktop = kdePackages.callPackage ../applications/networking/instant-messengers/telegram/telegram-desktop { 15257 15254 stdenv = if stdenv.hostPlatform.isDarwin 15258 15255 then llvmPackages_19.stdenv