diff --git a/lib/licenses.nix b/lib/licenses.nix index 11b0314e9d70..f72efa5a6145 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -1197,6 +1197,45 @@ lib.mapAttrs mkLicense ({ redistributable = false; # only free to redistribute "for non-commercial purposes" }; + teamspeak = { + fullName = "Teamspeak client license"; + url = "https://www.teamspeak.com/en/privacy-and-terms/"; + free = false; + redistributable = true; # we got a permit to redistribute it: + # License issues: + # Date: Mon, 10 Dec 2007 19:55:16 -0500 + # From: TeamSpeak Sales + # To: 'Marc Weber' + # Subject: RE: teamspeak on nix? + # + # Yes, that would be fine. As long as you are not renting servers or selling + # TeamSpeak then you are more than welcome to distribute it. + # + # Thank you, + # + # TeamSpeak Sales Team + # ________________________________ + # e-Mail: sales@tritoncia.com + # TeamSpeak: http://www.TeamSpeak.com + # Account Login: https://sales.TritonCIA.com/users + # + # + # + # -----Original Message----- + # From: Marc Weber [mailto:marco-oweber@gmx.de] + # Sent: Monday, December 10, 2007 5:03 PM + # To: sales@tritoncia.com + # Subject: teamspeak on nix? + # + # Hello, + # + # nix is very young software distribution system (http://nix.cs.uu.nl/) + # I'd like to ask wether you permit us to add teamspeak (server/ client?) + # + # Sincerly + # Marc Weber (small nix contributor) + }; + tsl = { shortName = "TSL"; fullName = "Timescale License Agreegment"; diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/distribution-permit.txt b/pkgs/applications/networking/instant-messengers/teamspeak/distribution-permit.txt deleted file mode 100644 index e053d470b316..000000000000 --- a/pkgs/applications/networking/instant-messengers/teamspeak/distribution-permit.txt +++ /dev/null @@ -1,32 +0,0 @@ -License issues: -Date: Mon, 10 Dec 2007 19:55:16 -0500 -From: TeamSpeak Sales -To: 'Marc Weber' -Subject: RE: teamspeak on nix? - -Yes, that would be fine. As long as you are not renting servers or selling -TeamSpeak then you are more than welcome to distribute it. - -Thank you, - -TeamSpeak Sales Team -________________________________ -e-Mail: sales@tritoncia.com -TeamSpeak: http://www.TeamSpeak.com -Account Login: https://sales.TritonCIA.com/users - - - ------Original Message----- -From: Marc Weber [mailto:marco-oweber@gmx.de] -Sent: Monday, December 10, 2007 5:03 PM -To: sales@tritoncia.com -Subject: teamspeak on nix? - -Hello, - -nix is very young software distribution system (http://nix.cs.uu.nl/) -I'd like to ask wether you permit us to add teamspeak (server/ client?) - -Sincerly -Marc Weber (small nix contributor) diff --git a/pkgs/by-name/te/teamspeak3/package.nix b/pkgs/by-name/te/teamspeak3/package.nix index 01e5739b169f..42c4c2c24f03 100644 --- a/pkgs/by-name/te/teamspeak3/package.nix +++ b/pkgs/by-name/te/teamspeak3/package.nix @@ -126,12 +126,7 @@ stdenv.mkDerivation rec { description = "TeamSpeak voice communication tool"; homepage = "https://teamspeak.com/"; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - license = { - # See distribution-permit.txt for a confirmation that nixpkgs is allowed to distribute TeamSpeak. - fullName = "Teamspeak client license"; - url = "https://www.teamspeak.com/en/privacy-and-terms/"; - free = false; - }; + license = lib.licenses.teamspeak; maintainers = with lib.maintainers; [ lhvwb lukegb diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client5.nix b/pkgs/by-name/te/teamspeak6-client/package.nix similarity index 59% rename from pkgs/applications/networking/instant-messengers/teamspeak/client5.nix rename to pkgs/by-name/te/teamspeak6-client/package.nix index 12ca1e63b998..006afd52d63f 100644 --- a/pkgs/applications/networking/instant-messengers/teamspeak/client5.nix +++ b/pkgs/by-name/te/teamspeak6-client/package.nix @@ -1,6 +1,6 @@ { lib, - stdenv, + stdenvNoCC, fetchurl, autoPatchelfHook, copyDesktopItems, @@ -23,17 +23,17 @@ libgbm, nss, udev, + libGL, xorg, }: -stdenv.mkDerivation rec { - pname = "teamspeak5-client"; - version = "5.0.0-beta77"; +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "teamspeak6-client"; + version = "6.0.0-beta2"; src = fetchurl { - # check https://teamspeak.com/en/downloads/#ts5 for version and checksum - url = "https://files.teamspeak-services.com/pre_releases/client/${version}/teamspeak-client.tar.gz"; - sha256 = "6f3bf97b120d3c799cefc90c448e45836708a826d7caa07ad32b5c868eb9181b"; + url = "https://files.teamspeak-services.com/pre_releases/client/${finalAttrs.version}/teamspeak-client.tar.gz"; + hash = "sha256-3jNPv3uQ2RztR1p4XQNLUg5IVrvW/dcdtqXdiGJKVSs="; }; sourceRoot = "."; @@ -60,6 +60,7 @@ stdenv.mkDerivation rec { xorg.libXdamage xorg.libXfixes xorg.libxshmfence + xorg.libXtst ]; nativeBuildInputs = [ @@ -72,8 +73,8 @@ stdenv.mkDerivation rec { (makeDesktopItem { name = "TeamSpeak"; exec = "TeamSpeak"; - icon = pname; - desktopName = pname; + icon = "teamspeak6-client"; + desktopName = "teamspeak6-client"; comment = "TeamSpeak Voice Communication Client"; categories = [ "Audio" @@ -90,26 +91,33 @@ stdenv.mkDerivation rec { installPhase = '' runHook preInstall - mkdir -p $out/bin $out/share/${pname} $out/share/icons/hicolor/64x64/apps/ + mkdir -p $out/bin $out/share/teamspeak6-client $out/share/icons/hicolor/64x64/apps/ - cp -a * $out/share/${pname} - cp logo-256.png $out/share/icons/hicolor/64x64/apps/${pname}.png + cp -a * $out/share/teamspeak6-client + cp logo-256.png $out/share/icons/hicolor/64x64/apps/teamspeak6-client.png - makeWrapper $out/share/${pname}/TeamSpeak $out/bin/TeamSpeak \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ udev ]}" + makeWrapper $out/share/teamspeak6-client/TeamSpeak $out/bin/TeamSpeak \ + --prefix LD_LIBRARY_PATH : "${ + lib.makeLibraryPath [ + udev + libGL + ] + }" runHook postInstall ''; - meta = with lib; { + updateScript = ./update.sh; + + meta = { description = "TeamSpeak voice communication tool (beta version)"; homepage = "https://teamspeak.com/"; - license = { - fullName = "Teamspeak client license"; - url = "https://www.teamspeak.com/en/privacy-and-terms/"; - free = false; - }; - maintainers = with maintainers; [ jojosch ]; + license = lib.licenses.teamspeak; + mainProgram = "TeamSpeak"; + maintainers = with lib.maintainers; [ + gepbird + jojosch + ]; platforms = [ "x86_64-linux" ]; }; -} +}) diff --git a/pkgs/by-name/te/teamspeak6-client/update.sh b/pkgs/by-name/te/teamspeak6-client/update.sh new file mode 100755 index 000000000000..42cab86f9373 --- /dev/null +++ b/pkgs/by-name/te/teamspeak6-client/update.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env nix-shell +#!nix-shell --pure -i bash -p bash curl cacert ripgrep nix nix-update +set -euo pipefail + +latest_version=$( + curl https://teamspeak.com/en/downloads/#ts6client | \ + rg -o 'https://files.teamspeak-services.com/pre_releases/client/.*/teamspeak-client.tar.gz' | \ + head -n1 | \ + sed -n 's|.*/client/\(.*\)/teamspeak-client.tar.gz|\1|p' +) +current_version=$(nix eval --raw .#teamspeak6-client.version) + +echo "latest version: $latest_version" +echo "current version: $current_version" + +if [[ "$latest_version" == "$current_version" ]]; then + echo "package is up-to-date" + exit 0 +fi + +nix-update teamspeak6-client --version $latest_version diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix b/pkgs/by-name/te/teamspeak_server/package.nix similarity index 91% rename from pkgs/applications/networking/instant-messengers/teamspeak/server.nix rename to pkgs/by-name/te/teamspeak_server/package.nix index 35139f9c6f66..59ca189f6725 100644 --- a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix +++ b/pkgs/by-name/te/teamspeak_server/package.nix @@ -72,9 +72,8 @@ stdenv.mkDerivation rec { description = "TeamSpeak voice communication server"; homepage = "https://teamspeak.com/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - # See distribution-permit.txt for a confirmation that nixpkgs is allowed to distribute TeamSpeak. - license = licenses.unfreeRedistributable; - platforms = platforms.linux; + license = licenses.teamspeak; + platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ arobyn gerschtli diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 817c9846d1b3..4120b6f45bdd 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1373,6 +1373,7 @@ mapAliases { tdesktop = telegram-desktop; # Added 2023-04-07 tdom = tclPackages.tdom; # Added 2024-10-02 teamspeak_client = teamspeak3; # Added 2024-11-07 + teamspeak5_client = teamspeak6-client; # Added 2025-01-29 teck-programmer = throw "teck-programmer was removed because it was broken and unmaintained"; # added 2024-08-23 teleport_13 = throw "teleport 13 has been removed as it is EOL. Please upgrade to Teleport 14 or later"; # Added 2024-05-26 teleport_14 = throw "teleport 14 has been removed as it is EOL. Please upgrade to Teleport 15 or later"; # Added 2024-10-18 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 984fea1dc3e0..cbf3b54b2fa6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15250,9 +15250,6 @@ with pkgs; tamgamp.lv2 = callPackage ../applications/audio/tamgamp.lv2 { }; - teamspeak5_client = callPackage ../applications/networking/instant-messengers/teamspeak/client5.nix { }; - teamspeak_server = callPackage ../applications/networking/instant-messengers/teamspeak/server.nix { }; - telegram-desktop = kdePackages.callPackage ../applications/networking/instant-messengers/telegram/telegram-desktop { stdenv = if stdenv.hostPlatform.isDarwin then llvmPackages_19.stdenv