diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/instant-messengers/bluejeans/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/networking/instant-messengers/bluejeans/default.nix | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/bluejeans/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/bluejeans/default.nix new file mode 100644 index 000000000000..bca1a1affc0d --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/instant-messengers/bluejeans/default.nix @@ -0,0 +1,135 @@ +{ stdenv +, lib +, fetchurl +, rpmextract +, libnotify +, libuuid +, cairo +, cups +, pango +, fontconfig +, udev +, dbus +, gtk3 +, atk +, at-spi2-atk +, expat +, gdk-pixbuf +, freetype +, nspr +, glib +, nss +, libX11 +, libXrandr +, libXrender +, libXtst +, libXdamage +, libxcb +, libXcursor +, libXi +, libXext +, libXfixes +, libXft +, libXcomposite +, libXScrnSaver +, alsa-lib +, pulseaudio +, makeWrapper +, xdg-utils +}: + +let + getFirst = n: v: builtins.concatStringsSep "." (lib.take n (lib.splitString "." v)); +in + +stdenv.mkDerivation rec { + pname = "bluejeans"; + version = "2.23.0.39"; + + src = fetchurl { + url = "https://swdl.bluejeans.com/desktop-app/linux/${getFirst 3 version}/BlueJeans_${version}.rpm"; + sha256 = "sha256-LGg14KJ/hEnSaSrdTltY9YXv7Nekkfo66uLkxjMx8AI="; + }; + + nativeBuildInputs = [ rpmextract makeWrapper ]; + + libPath = + lib.makeLibraryPath + [ + libnotify + libuuid + cairo + cups + pango + fontconfig + gtk3 + atk + at-spi2-atk + expat + gdk-pixbuf + dbus + (lib.getLib udev) + freetype + nspr + glib + stdenv.cc.cc.lib + nss + libX11 + libXrandr + libXrender + libXtst + libXdamage + libxcb + libXcursor + libXi + libXext + libXfixes + libXft + libXcomposite + libXScrnSaver + alsa-lib + pulseaudio + ]; + + localtime64_stub = ./localtime64_stub.c; + + buildCommand = '' + mkdir -p $out/bin/ + cd $out + rpmextract $src + mv usr/share share + rmdir usr + + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + --replace-needed libudev.so.0 libudev.so.1 \ + opt/BlueJeans/bluejeans-v2 + + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + opt/BlueJeans/resources/BluejeansHelper + + cc $localtime64_stub -shared -o "${placeholder "out"}"/opt/BlueJeans/liblocaltime64_stub.so + + makeWrapper $out/opt/BlueJeans/bluejeans-v2 $out/bin/bluejeans \ + --set LD_LIBRARY_PATH "${libPath}":"${placeholder "out"}"/opt/BlueJeans \ + --set LD_PRELOAD "$out"/opt/BlueJeans/liblocaltime64_stub.so \ + --prefix PATH : ${lib.makeBinPath [ xdg-utils ]} + + substituteInPlace "$out"/share/applications/bluejeans-v2.desktop \ + --replace "/opt/BlueJeans/bluejeans-v2" "$out/bin/bluejeans" + + patchShebangs "$out" + ''; + + passthru.updateScript = ./update.sh; + + meta = with lib; { + description = "Video, audio, and web conferencing that works together with the collaboration tools you use every day"; + homepage = "https://www.bluejeans.com"; + license = licenses.unfree; + maintainers = with maintainers; [ ]; + platforms = [ "x86_64-linux" ]; + }; +} + |