From e9da05ee8b6d6e470d54e38869710d316d9935c8 Mon Sep 17 00:00:00 2001 From: danbst Date: Wed, 7 Jun 2017 12:01:01 +0300 Subject: [PATCH 1/2] zoom-us: init at 2.0.91373.0502 Actually, reintroduce after removal (https://github.com/NixOS/nixpkgs/commit/bb99babc5a1c62edd012da5a1ad14cd3fe1abf0a) and use bundled Qt. --- .../instant-messengers/zoom-us/default.nix | 91 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 93 insertions(+) create mode 100644 pkgs/applications/networking/instant-messengers/zoom-us/default.nix 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 00000000000..45be8da8a97 --- /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 ]; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9fbad23713d..2a6b76580ec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16788,6 +16788,8 @@ with pkgs; zim = callPackage ../applications/office/zim { }; + zoom-us = callPackage ../applications/networking/instant-messengers/zoom-us { }; + zotero = callPackage ../applications/office/zotero { firefox = firefox-esr-unwrapped; }; From 7179b0119981750d7b72b092587a16544774ac92 Mon Sep 17 00:00:00 2001 From: danbst Date: Wed, 7 Jun 2017 17:20:00 +0300 Subject: [PATCH 2/2] zoom-us: little fixes after review by @k0001 --- .../instant-messengers/zoom-us/default.nix | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index 45be8da8a97..a1e94817b24 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, system, rsync, makeWrapper, +{ stdenv, fetchurl, system, makeWrapper, alsaLib, dbus, glib, gstreamer, fontconfig, freetype, libpulseaudio, libxml2, libxslt, mesa, nspr, nss, sqlite, utillinux, zlib, xorg }: @@ -17,7 +17,7 @@ in stdenv.mkDerivation { src = srcs.${system}; - buildInputs = [ rsync makeWrapper ]; + buildInputs = [ makeWrapper ]; libPath = stdenv.lib.makeLibraryPath [ alsaLib @@ -58,24 +58,25 @@ in stdenv.mkDerivation { installPhase = '' $preInstallHooks - mkdir -p $out/share + packagePath=$out/share/zoom-us + mkdir -p $packagePath mkdir -p $out/bin - rsync -av . $out/share/ + cp -ar * $packagePath patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - $out/share/zoom + $packagePath/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? + paxmark m $packagePath/zoom + #paxmark m $packagePath/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" \ + wrapProgram $packagePath/zoom \ + --prefix LD_LIBRARY_PATH : "$packagePath:$libPath" \ + --set QT_PLUGIN_PATH "$packagePath/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" + ln -s "$packagePath/zoom" "$out/bin/zoom-us" $postInstallHooks '';