summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/bluejeans
diff options
context:
space:
mode:
authorDmitry Kalinkin <dmitry.kalinkin@gmail.com>2020-03-28 01:00:05 -0400
committerDmitry Kalinkin <dmitry.kalinkin@gmail.com>2020-03-28 01:07:49 -0400
commit0df2d9f90038b0976b99cf179cdc1ded21701991 (patch)
treebb747163b250be11f5dd6feacc70da3d8dcbcc2c /pkgs/applications/networking/instant-messengers/bluejeans
parentd5e41b6740c49246ff8e813c79dd0fdea510140b (diff)
downloadnixpkgs-0df2d9f90038b0976b99cf179cdc1ded21701991.tar
nixpkgs-0df2d9f90038b0976b99cf179cdc1ded21701991.tar.gz
nixpkgs-0df2d9f90038b0976b99cf179cdc1ded21701991.tar.bz2
nixpkgs-0df2d9f90038b0976b99cf179cdc1ded21701991.tar.lz
nixpkgs-0df2d9f90038b0976b99cf179cdc1ded21701991.tar.xz
nixpkgs-0df2d9f90038b0976b99cf179cdc1ded21701991.tar.zst
nixpkgs-0df2d9f90038b0976b99cf179cdc1ded21701991.zip
bluejeans: 1.36.9 -> 2.1.0
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/bluejeans')
-rw-r--r--pkgs/applications/networking/instant-messengers/bluejeans/default.nix73
-rw-r--r--pkgs/applications/networking/instant-messengers/bluejeans/localtime64_stub.c12
2 files changed, 59 insertions, 26 deletions
diff --git a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
index 155e6e273ee..14fbd4db1a0 100644
--- a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
@@ -2,56 +2,65 @@
 , fetchurl
 , rpmextract
 , patchelf
+, patchelfUnstable
 , libnotify
-, libcap
+, libuuid
 , cairo
+, cups
 , pango
 , fontconfig
 , udev
 , dbus
-, gtk2
+, gtk3
 , atk
+, at-spi2-atk
 , expat
 , gdk-pixbuf
 , freetype
 , nspr
 , glib
 , nss
-, gconf
 , libX11
+, libXrandr
 , libXrender
 , libXtst
 , libXdamage
+, libxcb
+, libXcursor
 , libXi
 , libXext
 , libXfixes
+, libXft
 , libXcomposite
+, libXScrnSaver
 , alsaLib
-, bash
+, pulseaudio
+, makeWrapper
 }:
 
 stdenv.mkDerivation rec {
   pname = "bluejeans";
-  version = "1.36.9";
+  version = "2.1.0";
 
-  src =
-    fetchurl {
-      url = "https://swdl.bluejeans.com/desktop/linux/1.36/${version}/bluejeans-${version}.x86_64.rpm";
-      sha256 = "0sbv742pzqd2cxn3kq10lfi16jah486i9kyrmi8l1rpb9fhyw2m1";
-    };
+  src = fetchurl {
+    url = "https://swdl.bluejeans.com/desktop-app/linux/${version}/BlueJeans.rpm";
+    sha256 = "1zhh0pla5gk75p8x84va9flvnk456pbcm1n6x8l82c9682fwr7dd";
+  };
 
-  nativeBuildInputs = [ patchelf rpmextract ];
+  nativeBuildInputs = [ rpmextract makeWrapper ];
 
   libPath =
     stdenv.lib.makeLibraryPath
       [
         libnotify
-        libcap
+        libuuid
         cairo
+        cups
         pango
         fontconfig
-        gtk2
+        gtk3
         atk
+        at-spi2-atk
         expat
         gdk-pixbuf
         dbus
@@ -59,41 +68,53 @@ stdenv.mkDerivation rec {
         freetype
         nspr
         glib
-        stdenv.cc
         stdenv.cc.cc.lib
         nss
-        gconf
         libX11
+        libXrandr
         libXrender
         libXtst
         libXdamage
+        libxcb
+        libXcursor
         libXi
         libXext
         libXfixes
+        libXft
         libXcomposite
+        libXScrnSaver
         alsaLib
+        pulseaudio
       ];
 
+  localtime64_stub = ./localtime64_stub.c;
+
   buildCommand = ''
     mkdir -p $out/bin/
     cd $out
     rpmextract $src
-    patchelf \
+    mv usr/share share
+    rmdir usr
+
+    ${patchelf}/bin/patchelf \
       --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-      opt/bluejeans/bluejeans-bin
-    patchelf \
-      --set-rpath ${libPath} \
-      opt/bluejeans/bluejeans-bin
-    patchelf \
       --replace-needed libudev.so.0 libudev.so.1 \
-      opt/bluejeans/bluejeans-bin
-    ln -s $out/opt/bluejeans/bluejeans $out/bin/bluejeans
-    chmod +x $out/bin/bluejeans
-    patchShebangs $out
+      opt/BlueJeans/bluejeans-v2
+    ${patchelfUnstable}/bin/patchelf \
+      --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      opt/BlueJeans/resources/BluejeansHelper
+
+    cc $localtime64_stub -shared -o "$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
+
+    patchShebangs "$out"
   '';
 
   meta = with stdenv.lib; {
-    description = "Video, audio, and web conferencing that works together with the collaboration tools you use every day.";
+    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; [ veprbl ];
diff --git a/pkgs/applications/networking/instant-messengers/bluejeans/localtime64_stub.c b/pkgs/applications/networking/instant-messengers/bluejeans/localtime64_stub.c
new file mode 100644
index 00000000000..87c2fa11714
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/bluejeans/localtime64_stub.c
@@ -0,0 +1,12 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+void *localtime64() {
+  fprintf(stderr, "nixpkgs: call into localtime64_r\n");
+  abort();
+}
+
+void *localtime64_r() {
+  fprintf(stderr, "nixpkgs: call into localtime64_r\n");
+  abort();
+}