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
This commit is contained in:
Gutyina Gergő 2025-02-07 20:33:09 +01:00 committed by GitHub
parent 651df65755
commit 547acecdf3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 94 additions and 66 deletions

View File

@ -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 <sales@tritoncia.com>
# To: 'Marc Weber' <marco-oweber@gmx.de>
# 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";

View File

@ -1,32 +0,0 @@
License issues:
Date: Mon, 10 Dec 2007 19:55:16 -0500
From: TeamSpeak Sales <sales@tritoncia.com>
To: 'Marc Weber' <marco-oweber@gmx.de>
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)

View File

@ -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

View File

@ -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" ];
};
}
})

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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