summary refs log tree commit diff
path: root/pkgs/development/tools/node-webkit
diff options
context:
space:
mode:
authorJaka Hudoklin <jakahudoklin@gmail.com>2014-01-12 23:39:14 +0100
committerJaka Hudoklin <jakahudoklin@gmail.com>2014-03-15 09:43:56 +0000
commit58e0383d93a68ab8c347be401b6029d1fa470f6e (patch)
tree2b0c3f458522ca1118e97369a5917de0340327a0 /pkgs/development/tools/node-webkit
parenta0070a9157d7d145eed22160cec2562d24032013 (diff)
downloadnixpkgs-58e0383d93a68ab8c347be401b6029d1fa470f6e.tar
nixpkgs-58e0383d93a68ab8c347be401b6029d1fa470f6e.tar.gz
nixpkgs-58e0383d93a68ab8c347be401b6029d1fa470f6e.tar.bz2
nixpkgs-58e0383d93a68ab8c347be401b6029d1fa470f6e.tar.lz
nixpkgs-58e0383d93a68ab8c347be401b6029d1fa470f6e.tar.xz
nixpkgs-58e0383d93a68ab8c347be401b6029d1fa470f6e.tar.zst
nixpkgs-58e0383d93a68ab8c347be401b6029d1fa470f6e.zip
Add node-webkit, app runtime based on Chromium and node.js
Diffstat (limited to 'pkgs/development/tools/node-webkit')
-rw-r--r--pkgs/development/tools/node-webkit/default.nix55
1 files changed, 55 insertions, 0 deletions
diff --git a/pkgs/development/tools/node-webkit/default.nix b/pkgs/development/tools/node-webkit/default.nix
new file mode 100644
index 00000000000..326e5322846
--- /dev/null
+++ b/pkgs/development/tools/node-webkit/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchurl, buildEnv, makeWrapper
+, xlibs, alsaLib, dbus, glib, gtk, atk, pango, freetype, fontconfig
+, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, udev}:
+let
+  bits = if stdenv.system == "x86_64-linux" then "x64"
+         else "ia32";
+
+  nwEnv = buildEnv {
+    name = "node-webkit-env";
+    paths = [
+      xlibs.libX11 xlibs.libXrender glib gtk atk pango cairo gdk_pixbuf
+      freetype fontconfig xlibs.libXcomposite alsaLib xlibs.libXdamage xlibs.libXext
+      xlibs.libXfixes nss nspr gconf expat dbus udev stdenv.gcc.gcc
+    ];
+  };
+
+in stdenv.mkDerivation rec {
+  name = "node-webkit-${version}";
+  version = "0.8.4";
+
+  src = fetchurl {
+    url = "https://s3.amazonaws.com/node-webkit/v${version}/node-webkit-v${version}-linux-${bits}.tar.gz";
+    sha256 = if bits == "x64" then
+      "91229edfb03349306c5ce101fdab2de55f7473cc7c36367e9611a0527d2ef591" else
+      "b0b29b4e75cd4b1aaecf7f4716216edcfc5947516744e2eaeae38bec1d03cea1";
+  };
+
+  patchPhase = ''
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" nw
+    patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" nwsnapshot
+  '';
+
+  installPhase = let
+    LD_LIBRARY_PATH = "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit";
+  in ''
+    ensureDir $out/bin
+    ensureDir $out/share/node-webkit
+    cp -R * $out/share/node-webkit
+
+    ln -s ${udev}/lib/libudev.so $out/share/node-webkit/libudev.so.0
+
+    makeWrapper $out/share/node-webkit/nw $out/bin/nw --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
+    makeWrapper $out/share/node-webkit/nwsnapshot $out/bin/nwsnapshot --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
+  '';
+
+  buildInputs = [ makeWrapper ];
+
+  meta = with stdenv.lib; {
+    description = "An app runtime based on Chromium and node.js";
+    homepage = https://github.com/rogerwang/node-webkit;
+    platforms = ["i686-linux" "x86_64-linux"];
+    maintainers = [ maintainers.offline ];
+    license = licenses.bsd3;
+  };
+}