about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authormucaho <mkucko@gmail.com>2016-04-03 16:04:31 +0100
committermucaho <mkucko@gmail.com>2016-04-03 16:04:46 +0100
commit7b06260c1ccfacc43bf9ba6f9209e7679a52b611 (patch)
treef13e43399aab31fadbb28e0fe2c1a915b63e2fd1 /pkgs/development
parent016d523d8260d867ea4a2f2e4a6675c873fb9866 (diff)
downloadnixlib-7b06260c1ccfacc43bf9ba6f9209e7679a52b611.tar
nixlib-7b06260c1ccfacc43bf9ba6f9209e7679a52b611.tar.gz
nixlib-7b06260c1ccfacc43bf9ba6f9209e7679a52b611.tar.bz2
nixlib-7b06260c1ccfacc43bf9ba6f9209e7679a52b611.tar.lz
nixlib-7b06260c1ccfacc43bf9ba6f9209e7679a52b611.tar.xz
nixlib-7b06260c1ccfacc43bf9ba6f9209e7679a52b611.tar.zst
nixlib-7b06260c1ccfacc43bf9ba6f9209e7679a52b611.zip
electron: make it compatible with vscode
Use patchelf instead of wrapProgram to inject lookup path of shared
libraries.
Allow the nix expression to be called with optional version argument.
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/tools/electron/default.nix17
1 files changed, 11 insertions, 6 deletions
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index dd7dabf2bf28..aae4b413c3d9 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchurl, buildEnv, makeDesktopItem, makeWrapper, zlib, glib, alsaLib
+{ stdenv, fetchurl, buildEnv, zlib, glib, alsaLib
 , dbus, gtk, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf
 , cairo, cups, expat, libgpgerror, nspr, gconf, nss, xorg, libcap, unzip
 , systemd, libnotify
+, version ? "0.36.2", sha256 ? "01d78j8dfrdygm1r141681b3bfz1f1xqg9vddz7j52z1mlfv9f1d", ...
 }:
 let
   atomEnv = buildEnv {
@@ -16,15 +17,15 @@ let
   };
 in stdenv.mkDerivation rec {
   name = "electron-${version}";
-  version = "0.36.2";
+  inherit version;
 
   src = fetchurl {
     url = "https://github.com/atom/electron/releases/download/v${version}/electron-v${version}-linux-x64.zip";
-    sha256 = "01d78j8dfrdygm1r141681b3bfz1f1xqg9vddz7j52z1mlfv9f1d";
+    inherit sha256;
     name = "${name}.zip";
   };
 
-  buildInputs = [ atomEnv makeWrapper unzip ];
+  buildInputs = [ atomEnv unzip ];
 
   phases = [ "installPhase" "fixupPhase" ];
 
@@ -35,8 +36,12 @@ in stdenv.mkDerivation rec {
     unzip -d $out/bin $src
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
     $out/bin/electron
-    wrapProgram $out/bin/electron \
-    --prefix "LD_LIBRARY_PATH" : "${atomEnv}/lib:${atomEnv}/lib64"
+  '';
+
+  postFixup = ''
+    patchelf \
+    --set-rpath "${atomEnv}/lib:${atomEnv}/lib64:$out/bin:$(patchelf --print-rpath $out/bin/electron)" \
+    $out/bin/electron
   '';
 
   meta = with stdenv.lib; {