28b6fb61e6
This is done for the sake of Yosemite, which does not have gcc, and yet this change is also compatible with Linux.
120 lines
3.4 KiB
Nix
120 lines
3.4 KiB
Nix
{ stdenv, fetchurl, makeWrapper, zlib, glib, libpng, freetype, xorg
|
|
, fontconfig, xlibs, qt5, xkeyboard_config, alsaLib, pulseaudio ? null
|
|
, libredirect, quazip, less, which
|
|
}:
|
|
|
|
let
|
|
|
|
arch = if stdenv.is64bit then "amd64" else "x86";
|
|
|
|
libDir = if stdenv.is64bit then "lib64" else "lib";
|
|
|
|
deps =
|
|
[ zlib glib libpng freetype xorg.libSM xorg.libICE xorg.libXrender
|
|
xorg.libXrandr xorg.libXfixes xorg.libXcursor xorg.libXinerama
|
|
xlibs.libxcb fontconfig xorg.libXext xorg.libX11 alsaLib qt5 pulseaudio
|
|
];
|
|
|
|
in
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "teamspeak-client-${version}";
|
|
|
|
version = "3.0.16";
|
|
|
|
src = fetchurl {
|
|
urls = [
|
|
"http://dl.4players.de/ts/releases/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run"
|
|
"http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run"
|
|
"http://files.teamspeak-services.com/releases/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run"
|
|
];
|
|
sha256 = if stdenv.is64bit
|
|
then "0gvphrmrkyy1g2nprvdk7cvawznzlv4smw0mlvzd4b9mvynln0v2"
|
|
else "1b3nbvfpd8lx3dig8z5yk6zjkbmsy6y938dhj1f562wc8adixciz";
|
|
};
|
|
|
|
buildInputs = [ makeWrapper less which ];
|
|
|
|
unpackPhase =
|
|
''
|
|
echo -e 'q\ny' | sh -xe $src
|
|
cd TeamSpeak*
|
|
'';
|
|
|
|
buildPhase =
|
|
''
|
|
mv ts3client_linux_${arch} ts3client
|
|
echo "patching ts3client..."
|
|
patchelf \
|
|
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
|
--set-rpath ${stdenv.lib.makeLibraryPath deps}:$(cat $NIX_CC/nix-support/orig-gcc)/${libDir} \
|
|
--force-rpath \
|
|
ts3client
|
|
'';
|
|
|
|
installPhase =
|
|
''
|
|
# Delete unecessary libraries - these are provided by nixos.
|
|
rm *.so.*
|
|
rm qt.conf
|
|
|
|
# Install files.
|
|
mkdir -p $out/lib/teamspeak
|
|
mv * $out/lib/teamspeak/
|
|
|
|
# Make a symlink to the binary from bin.
|
|
mkdir -p $out/bin/
|
|
ln -s $out/lib/teamspeak/ts3client $out/bin/ts3client
|
|
|
|
wrapProgram $out/bin/ts3client \
|
|
--set LD_PRELOAD "${libredirect}/lib/libredirect.so:${quazip}/lib/libquazip.so" \
|
|
--set QT_PLUGIN_PATH "$out/lib/teamspeak/platforms" \
|
|
--set NIX_REDIRECTS /usr/share/X11/xkb=${xkeyboard_config}/share/X11/xkb
|
|
'';
|
|
|
|
dontStrip = true;
|
|
dontPatchELF = true;
|
|
|
|
meta = {
|
|
description = "The TeamSpeak voice communication tool";
|
|
homepage = http://teamspeak.com/;
|
|
license = "http://www.teamspeak.com/?page=downloads&type=ts3_linux_client_latest";
|
|
maintainers = [ stdenv.lib.maintainers.lhvwb ];
|
|
platforms = stdenv.lib.platforms.linux;
|
|
};
|
|
}
|
|
|
|
/*
|
|
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)
|
|
*/
|