diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix index 53f4338ac4d8..6aa7e45ac117 100644 --- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix +++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix @@ -1,6 +1,30 @@ -{ lib, stdenv, fetchurl, makeWrapper, makeDesktopItem, zlib, glib, libpng, freetype, openssl -, xorg, fontconfig, qtbase, qtwebengine, qtwebchannel, qtsvg, qtwebsockets, xkeyboard_config -, alsa-lib, libpulseaudio ? null, libredirect, quazip, which, unzip, perl, llvmPackages +{ + lib, + stdenv, + fetchurl, + fetchzip, + makeWrapper, + makeDesktopItem, + zlib, + glib, + libpng, + freetype, + openssl, + xorg, + fontconfig, + qtbase, + qtwebengine, + qtwebchannel, + qtsvg, + qtwebsockets, + xkeyboard_config, + alsa-lib, + libpulseaudio ? null, + libredirect, + quazip, + which, + perl, + llvmPackages, }: let @@ -9,12 +33,33 @@ let libDir = "lib64"; - deps = - [ zlib glib libpng freetype xorg.libSM xorg.libICE xorg.libXrender openssl - xorg.libXrandr xorg.libXfixes xorg.libXcursor xorg.libXinerama - xorg.libxcb fontconfig xorg.libXext xorg.libX11 alsa-lib qtbase qtwebengine qtwebchannel qtsvg - qtwebsockets libpulseaudio quazip llvmPackages.libcxx - ]; + deps = [ + zlib + glib + libpng + freetype + xorg.libSM + xorg.libICE + xorg.libXrender + openssl + xorg.libXrandr + xorg.libXfixes + xorg.libXcursor + xorg.libXinerama + xorg.libxcb + fontconfig + xorg.libXext + xorg.libX11 + alsa-lib + qtbase + qtwebengine + qtwebchannel + qtsvg + qtwebsockets + libpulseaudio + quazip + llvmPackages.libcxx + ]; desktopItem = makeDesktopItem { name = "teamspeak"; @@ -38,15 +83,14 @@ stdenv.mkDerivation rec { }; # grab the plugin sdk for the desktop icon - pluginsdk = fetchurl { - url = "http://dl.4players.de/ts/client/pluginsdk/pluginsdk_3.1.1.1.zip"; - sha256 = "1bywmdj54glzd0kffvr27r84n4dsd0pskkbmh59mllbxvj0qwy7f"; + pluginsdk = fetchzip { + url = "https://files.teamspeak-services.com/releases/sdk/3.3.1/ts_sdk_3.3.1.zip"; + hash = "sha256-wx4pBZHpFPoNvEe4xYE80KnXGVda9XcX35ho4R8QxrQ="; }; nativeBuildInputs = [ makeWrapper which - unzip perl # Installer script needs `shasum` ]; @@ -54,23 +98,21 @@ stdenv.mkDerivation rec { # ++ exec # + PAGER_PATH= # it's looking for a dependency and didn't find it. Check the script and make sure the dep is in nativeBuildInputs. - unpackPhase = - '' - echo -e '\ny' | PAGER=cat sh -xe $src - cd TeamSpeak* - ''; + unpackPhase = '' + echo -e '\ny' | PAGER=cat sh -xe $src + cd TeamSpeak* + ''; - buildPhase = - '' - mv ts3client_linux_${arch} ts3client - echo "patching ts3client..." - patchelf --replace-needed libquazip.so ${quazip}/lib/libquazip1-qt5.so ts3client - patchelf \ - --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath ${lib.makeLibraryPath deps}:$(cat $NIX_CC/nix-support/orig-cc)/${libDir} \ - --force-rpath \ - ts3client - ''; + buildPhase = '' + mv ts3client_linux_${arch} ts3client + echo "patching ts3client..." + patchelf --replace-needed libquazip.so ${quazip}/lib/libquazip1-qt5.so ts3client + patchelf \ + --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath ${lib.makeLibraryPath deps}:$(cat $NIX_CC/nix-support/orig-cc)/${libDir} \ + --force-rpath \ + ts3client + ''; installPhase = '' @@ -86,8 +128,7 @@ stdenv.mkDerivation rec { # Make a desktop item mkdir -p $out/share/applications/ $out/share/icons/hicolor/64x64/apps/ - unzip ${pluginsdk} - cp pluginsdk/docs/client_html/images/logo.png $out/share/icons/hicolor/64x64/apps/teamspeak.png + cp ${pluginsdk}/doc/_static/logo.png $out/share/icons/hicolor/64x64/apps/teamspeak.png cp ${desktopItem}/share/applications/* $out/share/applications/ # Make a symlink to the binary from bin. @@ -97,9 +138,10 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/ts3client \ --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \ --set QT_PLUGIN_PATH "${qtbase}/${qtbase.qtPluginPrefix}" \ - '' /* wayland is currently broken, remove when TS3 fixes that */ + '' - --set QT_QPA_PLATFORM xcb \ - --set NIX_REDIRECTS /usr/share/X11/xkb=${xkeyboard_config}/share/X11/xkb + '' # wayland is currently broken, remove when TS3 fixes that + + '' + --set QT_QPA_PLATFORM xcb \ + --set NIX_REDIRECTS /usr/share/X11/xkb=${xkeyboard_config}/share/X11/xkb ''; dontStrip = true; @@ -110,47 +152,17 @@ stdenv.mkDerivation rec { homepage = "https://teamspeak.com/"; sourceProvenance = with 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; }; - maintainers = with maintainers; [ lhvwb lukegb atemu ]; + maintainers = with maintainers; [ + lhvwb + lukegb + atemu + ]; mainProgram = "ts3client"; platforms = [ "x86_64-linux" ]; }; } - -/* -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/applications/networking/instant-messengers/teamspeak/distribution-permit.txt b/pkgs/applications/networking/instant-messengers/teamspeak/distribution-permit.txt new file mode 100644 index 000000000000..e053d470b316 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/teamspeak/distribution-permit.txt @@ -0,0 +1,32 @@ +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/applications/networking/instant-messengers/teamspeak/server.nix b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix index f77da2638c3d..d1be4c251fc7 100644 --- a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix +++ b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix @@ -59,43 +59,9 @@ in 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; maintainers = with maintainers; [ arobyn gerschtli ]; }; } - -/* -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) -*/