about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
diff options
context:
space:
mode:
authordanbst <abcz2.uprola@gmail.com>2017-06-07 12:01:01 +0300
committerdanbst <abcz2.uprola@gmail.com>2017-06-07 12:01:01 +0300
commite9da05ee8b6d6e470d54e38869710d316d9935c8 (patch)
treea120aaa42a8607dfde982f3b00f20cc6017b2525 /pkgs/applications/networking/instant-messengers/zoom-us/default.nix
parent5788bd82c1ec2d61a4555bdf43db21597f229cfa (diff)
downloadnixlib-e9da05ee8b6d6e470d54e38869710d316d9935c8.tar
nixlib-e9da05ee8b6d6e470d54e38869710d316d9935c8.tar.gz
nixlib-e9da05ee8b6d6e470d54e38869710d316d9935c8.tar.bz2
nixlib-e9da05ee8b6d6e470d54e38869710d316d9935c8.tar.lz
nixlib-e9da05ee8b6d6e470d54e38869710d316d9935c8.tar.xz
nixlib-e9da05ee8b6d6e470d54e38869710d316d9935c8.tar.zst
nixlib-e9da05ee8b6d6e470d54e38869710d316d9935c8.zip
zoom-us: init at 2.0.91373.0502
Actually, reintroduce after removal (https://github.com/NixOS/nixpkgs/commit/bb99babc5a1c62edd012da5a1ad14cd3fe1abf0a)
and use bundled Qt.
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/zoom-us/default.nix')
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix91
1 files changed, 91 insertions, 0 deletions
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
new file mode 100644
index 000000000000..45be8da8a97f
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -0,0 +1,91 @@
+{ stdenv, fetchurl, system, rsync, makeWrapper,
+  alsaLib, dbus, glib, gstreamer, fontconfig, freetype, libpulseaudio, libxml2,
+  libxslt, mesa, nspr, nss, sqlite, utillinux, zlib, xorg }:
+
+let
+
+  version = "2.0.91373.0502";
+  srcs = {
+    x86_64-linux = fetchurl {
+      url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
+      sha256 = "0gcbfsvybkvnyklm82irgz19x3jl0hz9bwf2l9jga188057pfj7a";
+    };
+  };
+
+in stdenv.mkDerivation {
+  name = "zoom-us-${version}";
+
+  src = srcs.${system};
+
+  buildInputs = [ rsync makeWrapper ];
+
+  libPath = stdenv.lib.makeLibraryPath [
+    alsaLib
+    dbus
+    glib
+    gstreamer
+    fontconfig
+    freetype
+    libpulseaudio
+    libxml2
+    libxslt
+    mesa
+    nspr
+    nss
+    sqlite
+    utillinux
+    zlib
+
+    xorg.libX11
+    xorg.libSM
+    xorg.libICE
+    xorg.libxcb
+    xorg.xcbutilimage
+    xorg.xcbutilkeysyms
+    xorg.libXcursor
+    xorg.libXext
+    xorg.libXfixes
+    xorg.libXdamage
+    xorg.libXtst
+    xorg.libxshmfence
+    xorg.libXi
+    xorg.libXrender
+    xorg.libXcomposite
+
+    stdenv.cc.cc
+  ];
+
+  installPhase = ''
+    $preInstallHooks
+
+    mkdir -p $out/share
+    mkdir -p $out/bin
+    rsync -av . $out/share/
+
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      $out/share/zoom
+    # included from https://github.com/NixOS/nixpkgs/commit/fc218766333a05c9352b386e0cbb16e1ae84bf53
+    # it works for me without it, but, well...
+    paxmark m $out/share/zoom
+    #paxmark m $out/share/QtWebEngineProcess # is this what dtzWill talked about?
+
+    # RUNPATH set via patchelf is used only for half of libraries (why?), so wrap it
+    wrapProgram $out/share/zoom \
+        --prefix LD_LIBRARY_PATH : "$out/share:$libPath" \
+        --set QT_PLUGIN_PATH "$out/share/platforms" \
+        --set QT_XKB_CONFIG_ROOT "${xorg.xkeyboardconfig}/share/X11/xkb" \
+        --set QTCOMPOSE "${xorg.libX11.out}/share/X11/locale"
+    ln -s "$out/share/zoom" "$out/bin/zoom"
+
+    $postInstallHooks
+  '';
+
+  meta = {
+    homepage = http://zoom.us;
+    description = "zoom.us video conferencing application";
+    license = stdenv.lib.licenses.unfree;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ danbst ];
+  };
+
+}