mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-20 03:43:45 +00:00
teamviewer 12.0.90041 -> 13.1.3026
bump, move to qt5, drop i686 support
This commit is contained in:
parent
96fddac691
commit
9badee01c1
@ -1,28 +1,13 @@
|
|||||||
{ stdenv, lib, fetchurl, xdg_utils, pkgs, pkgsi686Linux }:
|
{ stdenv, lib, fetchurl, autoPatchelfHook, makeWrapper, xdg_utils, dbus, qtbase, qtwebkit, qtx11extras, qtquickcontrols, glibc, libXrandr, libX11 }:
|
||||||
|
|
||||||
let
|
|
||||||
ld32 =
|
|
||||||
if stdenv.system == "i686-linux" then "${stdenv.cc}/nix-support/dynamic-linker"
|
|
||||||
else if stdenv.system == "x86_64-linux" then "${stdenv.cc}/nix-support/dynamic-linker-m32"
|
|
||||||
else throw "Unsupported system ${stdenv.system}";
|
|
||||||
ld64 = "${stdenv.cc}/nix-support/dynamic-linker";
|
|
||||||
|
|
||||||
mkLdPath = ps: lib.makeLibraryPath (with ps; [ qt4 dbus alsaLib ]);
|
|
||||||
|
|
||||||
deps = ps: (with ps; [ dbus zlib alsaLib fontconfig freetype libpng12 libjpeg ]) ++ (with ps.xorg; [ libX11 libXext libXdamage libXrandr libXrender libXfixes libSM libXtst libXinerama]);
|
|
||||||
tvldpath32 = lib.makeLibraryPath (with pkgsi686Linux; [ qt4 "$out/share/teamviewer/tv_bin/wine" ] ++ deps pkgsi686Linux);
|
|
||||||
tvldpath64 = lib.makeLibraryPath (deps pkgs);
|
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "teamviewer-${version}";
|
name = "teamviewer-${version}";
|
||||||
version = "12.0.90041";
|
version = "13.1.3026";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
# There is a 64-bit package, but it has no differences apart from Debian dependencies.
|
url = "https://dl.tvcdn.de/download/linux/version_13x/teamviewer_${version}_amd64.deb";
|
||||||
# Generic versioned packages (teamviewer_${version}_i386.tar.xz) are not available for some reason.
|
sha256 = "14zaa1xjdfmgbbq40is5mllqcd9zan03sblkzajswd5gps7crsik";
|
||||||
url = "https://dl.tvcdn.de/download/version_12x/teamviewer_${version}_i386.deb";
|
|
||||||
sha256 = "19gf68xadayncrbpkk3v05xm698zavv8mz8ia6jhadrh5s6i0bwg";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
@ -30,6 +15,10 @@ stdenv.mkDerivation rec {
|
|||||||
tar xf data.tar.*
|
tar xf data.tar.*
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
|
||||||
|
buildInputs = [ dbus qtbase qtwebkit qtx11extras libX11 ];
|
||||||
|
propagatedBuildInputs = [ qtquickcontrols ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/share/teamviewer $out/bin $out/share/applications
|
mkdir -p $out/share/teamviewer $out/bin $out/share/applications
|
||||||
cp -a opt/teamviewer/* $out/share/teamviewer
|
cp -a opt/teamviewer/* $out/share/teamviewer
|
||||||
@ -46,41 +35,23 @@ stdenv.mkDerivation rec {
|
|||||||
ln -s /var/log/teamviewer $out/share/teamviewer/logfiles
|
ln -s /var/log/teamviewer $out/share/teamviewer/logfiles
|
||||||
ln -s ${xdg_utils}/bin $out/share/teamviewer/tv_bin/xdg-utils
|
ln -s ${xdg_utils}/bin $out/share/teamviewer/tv_bin/xdg-utils
|
||||||
|
|
||||||
pushd $out/share/teamviewer/tv_bin
|
sed -i "s,/opt/teamviewer,$out/share/teamviewer,g" $out/share/teamviewer/tv_bin/desktop/com.teamviewer.*.desktop
|
||||||
|
|
||||||
sed -i "s,TV_LD32_PATH=.*,TV_LD32_PATH=$(cat ${ld32})," script/tvw_config
|
substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_aux \
|
||||||
${if stdenv.system == "x86_64-linux" then ''
|
--replace '/lib64/ld-linux-x86-64.so.2' '${glibc.out}/lib/ld-linux-x86-64.so.2'
|
||||||
sed -i "s,TV_LD64_PATH=.*,TV_LD64_PATH=$(cat ${ld64})," script/tvw_config
|
substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_config \
|
||||||
'' else ''
|
--replace '/var/run/' '/run/'
|
||||||
sed -i "/TV_LD64_PATH=.*/d" script/tvw_config
|
wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libXrandr libX11 ]}"
|
||||||
''}
|
wrapProgram $out/share/teamviewer/tv_bin/teamviewerd --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libXrandr libX11 ]}"
|
||||||
|
|
||||||
sed -i "s,/opt/teamviewer,$out/share/teamviewer,g" desktop/com.teamviewer.*.desktop
|
|
||||||
|
|
||||||
for i in teamviewer-config teamviewerd TeamViewer_Desktop TVGuiDelegate TVGuiSlave.32 wine/bin/* RTlib/libQtCore.so.4; do
|
|
||||||
echo "patching $i"
|
|
||||||
patchelf --set-interpreter $(cat ${ld32}) --set-rpath $out/share/teamviewer/tv_bin/RTlib:${tvldpath32} $i || true
|
|
||||||
done
|
|
||||||
for i in resources/*.so wine/drive_c/TeamViewer/tvwine.dll.so wine/lib/*.so* wine/lib/wine/*.so RTlib/*.so* ; do
|
|
||||||
echo "patching $i"
|
|
||||||
patchelf --set-rpath $out/share/teamviewer/tv_bin/RTlib:${tvldpath32} $i || true
|
|
||||||
done
|
|
||||||
${if stdenv.system == "x86_64-linux" then ''
|
|
||||||
patchelf --set-interpreter $(cat ${ld64}) --set-rpath ${tvldpath64} TVGuiSlave.64
|
|
||||||
'' else ''
|
|
||||||
rm TVGuiSlave.64
|
|
||||||
''}
|
|
||||||
popd
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
dontPatchELF = true;
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = http://www.teamviewer.com;
|
homepage = http://www.teamviewer.com;
|
||||||
license = licenses.unfree;
|
license = licenses.unfree;
|
||||||
description = "Desktop sharing application, providing remote support and online meetings";
|
description = "Desktop sharing application, providing remote support and online meetings";
|
||||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
maintainers = with maintainers; [ jagajaga dasuxullebt ];
|
maintainers = with maintainers; [ jagajaga dasuxullebt ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -5107,9 +5107,7 @@ with pkgs;
|
|||||||
|
|
||||||
ted = callPackage ../tools/typesetting/ted { };
|
ted = callPackage ../tools/typesetting/ted { };
|
||||||
|
|
||||||
teamviewer = callPackage ../applications/networking/remote/teamviewer {
|
teamviewer = libsForQt5.callPackage ../applications/networking/remote/teamviewer { };
|
||||||
stdenv = stdenv_32bit;
|
|
||||||
};
|
|
||||||
|
|
||||||
telnet = callPackage ../tools/networking/telnet { };
|
telnet = callPackage ../tools/networking/telnet { };
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user