webex: init at 42.8.0.22907

This commit is contained in:
Nikita Uvarov 2022-07-12 13:22:38 +02:00 committed by Nikita Uvarov
parent 6bff61fa6c
commit 29461af542
2 changed files with 177 additions and 0 deletions

View file

@ -0,0 +1,175 @@
{ lib
, writeScript
, stdenv
, fetchurl
, alsaLib
, at-spi2-atk
, at-spi2-core
, atk
, cairo
, cups
, dbus
, expat
, fontconfig
, freetype
, gdk-pixbuf
, glib
, gtk3
, harfbuzz
, libdrm
, libgcrypt
, libglvnd
, libkrb5
, libpulseaudio
, libsecret
, udev
, libxcb
, libxkbcommon
, lshw
, mesa
, nspr
, nss
, pango
, zlib
, libX11
, libXcomposite
, libXcursor
, libXdamage
, libXext
, libXfixes
, libXi
, libXrandr
, libXrender
, libXtst
, libxshmfence
, xcbutil
, xcbutilimage
, xcbutilkeysyms
, xcbutilrenderutil
, xcbutilwm
, p7zip
, wayland
, libXScrnSaver
}:
stdenv.mkDerivation rec {
pname = "webex";
version = "42.8.0.22907";
src = fetchurl {
url = "https://binaries.webex.com/WebexDesktop-Ubuntu-Blue/20220712081040/Webex_ubuntu.7z";
sha256 = "b83950cdcf978a3beda93de27b25b70554fc82fcf072a5a7ea858d2ce0d176ac";
};
buildInputs = [
alsaLib
at-spi2-atk
at-spi2-core
atk
cairo
cups
dbus
expat
fontconfig
freetype
glib
gdk-pixbuf
gtk3
harfbuzz
lshw
mesa
nspr
nss
pango
zlib
libdrm
libgcrypt
libglvnd
libkrb5
libpulseaudio
libsecret
udev
libxcb
libxkbcommon
libX11
libXcomposite
libXcursor
libXdamage
libXext
libXfixes
libXi
libXrandr
libXrender
libXtst
libxshmfence
xcbutil
xcbutilimage
libXScrnSaver
xcbutilkeysyms
xcbutilrenderutil
xcbutilwm
p7zip
wayland
];
libPath = "$out/opt/Webex/lib:$out/opt/Webex/bin:${lib.makeLibraryPath buildInputs}";
unpackPhase = ''
7z x $src
mv Webex_ubuntu/opt .
'';
postPatch = ''
substituteInPlace opt/Webex/bin/webex.desktop --replace /opt $out/opt
'';
dontPatchELF = true;
buildPhase = ''
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${libPath}" \
opt/Webex/bin/CiscoCollabHost \
opt/Webex/bin/CiscoCollabHostCef \
opt/Webex/bin/CiscoCollabHostCefWM \
opt/Webex/bin/WebexFileSelector \
opt/Webex/bin/pxgsettings
for each in $(find opt/Webex -type f | grep \\.so); do
patchelf --set-rpath "${libPath}" "$each"
done
'';
installPhase = ''
mkdir -p "$out/bin" "$out/share/applications"
cp -r opt "$out"
ln -s "$out/opt/Webex/bin/CiscoCollabHost" "$out/bin/webex"
chmod +x $out/bin/webex
mv "$out/opt/Webex/bin/webex.desktop" "$out/share/applications/webex.desktop"
'';
passthru.updateScript = writeScript "webex-update-script" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
set -eou pipefail;
channel=blue
manifest=$(curl -s "https://client-upgrade-a.wbx2.com/client-upgrade/api/v1/webexteamsdesktop/upgrade/@me?channel=$channel&model=ubuntu" | jq '.manifest')
url=$(jq -r '.packageLocation' <<< "$manifest")
version=$(jq -r '.version' <<< "$manifest")
hash=$(jq -r '.checksum' <<< "$manifest")
update-source-version ${pname} "$version" "$hash" "$url" --file=./pkgs/applications/networking/instant-messengers/webex/default.nix
'';
meta = with lib; {
description = "The all-in-one app to call, meet, message, and get work done";
homepage = "https://webex.com/";
downloadPage = "https://www.webex.com/downloads.html";
license = licenses.unfree;
maintainers = with lib.maintainers; [ uvnikita ];
platforms = [ "x86_64-linux" ];
};
}

View file

@ -31030,6 +31030,8 @@ with pkgs;
webcamoid = libsForQt5.callPackage ../applications/video/webcamoid { };
webex = callPackage ../applications/networking/instant-messengers/webex {};
webmacs = libsForQt5.callPackage ../applications/networking/browsers/webmacs {};
webssh = with python3Packages; toPythonApplication webssh;