1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-12-25 03:17:13 +00:00
nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
Will Dietz fc21876633 zoom-us: 2.052458.0531 -> 2.0.707090.1031, paxmark
* paxmark zoom to fix execution on PaX-enabled kernels[1]
* Requires moving from qt55 to qt56
* Put libs as buildInputs so that wrapQtProgram sees their paths!
* Don't use bundled Qt libs.
  (if these should be used, we shouldn't put our own on rpath, etc.)

[1] Without this, program fails to start (but doesn't exit),
and the following exception is logged a few times:

Dec 07 12:24:26 hostname kernel: grsec: denied RWX mmap of <anonymous mapping> by /nix/store/v1i2bff9fs7w1vycv0y615phhs7hky87-zoom-us/share/.zoom-wrapped[.zoom-wrapped:23812] uid/euid:1000/1

zoom still won't run unless using a pax-fixed version of qtwebengine.
( see: https://github.com/NixOS/nixpkgs/pull/20991 )
2016-12-07 20:03:50 -06:00

105 lines
2.1 KiB
Nix

{ alsaLib
, fetchurl
, gcc
, glib
, gst_plugins_base
, gstreamer
, icu
, libpulseaudio
, libuuid
, libxml2
, libxslt
, makeQtWrapper
, qt56
, sqlite
, stdenv
, xlibs
, xorg
, zlib
}:
stdenv.mkDerivation rec {
name = "zoom-us";
meta = {
homepage = http://zoom.us;
description = "zoom.us instant messenger";
license = stdenv.lib.licenses.unfree;
platforms = stdenv.lib.platforms.linux;
};
version = "2.0.70790.1031";
src = fetchurl {
url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
sha256 = "0kkg3bqv8zwhpxgrssa7ds00dxhdimnq2vfklgrdqn5qzbij31hd";
};
phases = [ "unpackPhase" "installPhase" ];
nativeBuildInputs = [ makeQtWrapper ];
buildInputs = [
alsaLib
gcc.cc
glib
gst_plugins_base
gstreamer
icu
libpulseaudio
libuuid
libxml2
libxslt
qt56.qtbase
qt56.qtdeclarative
qt56.qtlocation
qt56.qtscript
qt56.qtwebchannel
qt56.qtwebengine
sqlite
xlibs.xcbutilkeysyms
xorg.libX11
xorg.libxcb
xorg.libXcomposite
xorg.libXext
xorg.libXfixes
xorg.libXrender
xorg.xcbutilimage
zlib
];
libPath = stdenv.lib.makeLibraryPath buildInputs;
installPhase = ''
mkdir -p $out/share
cp -r \
application-x-zoom.png \
audio \
imageformats \
config-dump.sh \
dingdong1.pcm \
dingdong.pcm \
doc \
Droplet.pcm \
Droplet.wav \
platforminputcontexts \
platforms \
platformthemes \
leave.pcm \
ring.pcm \
ring.wav \
version.txt \
xcbglintegrations \
zcacert.pem \
zoom \
Zoom.png \
ZXMPPROOT.cer \
$out/share
patchelf \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
--set-rpath ${libPath} \
$out/share/zoom
paxmark m $out/share/zoom
wrapQtProgram "$out/share/zoom"
mkdir -p $out/bin
ln -s $out/share/zoom $out/bin/zoom-us
'';
}