mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-25 03:17:13 +00:00
fc21876633
* 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 )
105 lines
2.1 KiB
Nix
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
|
|
'';
|
|
}
|