diff --git a/pkgs/development/tools/node-webkit/nw11.nix b/pkgs/development/tools/node-webkit/nw11.nix new file mode 100644 index 00000000000..978213f6760 --- /dev/null +++ b/pkgs/development/tools/node-webkit/nw11.nix @@ -0,0 +1,57 @@ +{ stdenv, fetchurl, buildEnv, makeWrapper +, xlibs, alsaLib, dbus, glib, gtk, atk, pango, freetype, fontconfig +, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, udev, libcap +, libnotify}: +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 stdenv.cc + xlibs.libXtst xlibs.libXi xlibs.libXcursor xlibs.libXrandr libcap + libnotify + ]; + }; + +in stdenv.mkDerivation rec { + name = "node-webkit-${version}"; + version = "0.11.2"; + + src = fetchurl { + url = "http://dl.node-webkit.org/v${version}/node-webkit-v${version}-linux-${bits}.tar.gz"; + sha256 = if bits == "x64" then + "1iby0yrnbk9xfcsfz59f6g00l6rxiyxvq78shs0c145ky7lknq5q" else + "1hk3c9z3kwmqaj87vc5k1a7fv8jhkyqw1wjmsl3q5i50w880h398"; + }; + + installPhase = '' + mkdir -p $out/share/node-webkit + cp -R * $out/share/node-webkit + + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nw + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/share/node-webkit/nwsnapshot + + ln -s ${udev}/lib/libudev.so $out/share/node-webkit/libudev.so.0 + + patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nw + patchelf --set-rpath "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit" $out/share/node-webkit/nwsnapshot + + mkdir -p $out/bin + ln -s $out/share/node-webkit/nw $out/bin + ln -s $out/share/node-webkit/nwsnapshot $out/bin + ''; + + 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; + }; +} diff --git a/pkgs/development/tools/node-webkit/default.nix b/pkgs/development/tools/node-webkit/nw9.nix similarity index 100% rename from pkgs/development/tools/node-webkit/default.nix rename to pkgs/development/tools/node-webkit/nw9.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e7efc86f83a..1d0e5365a71 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4784,7 +4784,13 @@ let pythonPackages = python3Packages; }; - node_webkit = callPackage ../development/tools/node-webkit { + node_webkit = node_webkit_0_9; + + node_webkit_0_11 = callPackage ../development/tools/node-webkit/nw11.nix { + gconf = pkgs.gnome.GConf; + }; + + node_webkit_0_9 = callPackage ../development/tools/node-webkit/nw9.nix { gconf = pkgs.gnome.GConf; };