summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/CODEOWNERS1
-rw-r--r--lib/maintainers.nix1
-rw-r--r--nixos/doc/manual/configuration/user-mgmt.xml10
-rw-r--r--nixos/modules/services/web-servers/lighttpd/inginious.nix2
-rw-r--r--nixos/modules/virtualisation/parallels-guest.nix48
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix4
-rw-r--r--pkgs/applications/misc/gnuradio-ais/default.nix11
-rw-r--r--pkgs/applications/misc/gnuradio-gsm/default.nix4
-rw-r--r--pkgs/applications/misc/gnuradio-nacl/default.nix4
-rw-r--r--pkgs/applications/misc/gnuradio-osmosdr/default.nix6
-rw-r--r--pkgs/applications/misc/gnuradio-rds/default.nix4
-rw-r--r--pkgs/applications/misc/gnuradio/default.nix82
-rw-r--r--pkgs/applications/misc/libosmocore/default.nix26
-rw-r--r--pkgs/applications/misc/rtl-sdr/default.nix4
-rw-r--r--pkgs/applications/misc/urh/default.nix2
-rw-r--r--pkgs/data/fonts/migu/default.nix43
-rw-r--r--pkgs/development/libraries/qwt/6_qt4.nix20
-rw-r--r--pkgs/development/node-packages/node-packages-v4.nix51
-rw-r--r--pkgs/development/node-packages/node-packages-v6.json1
-rw-r--r--pkgs/development/node-packages/node-packages-v6.nix744
-rw-r--r--pkgs/development/tools/misc/gdbgui/default.nix40
-rw-r--r--pkgs/development/tools/misc/gdbgui/requirements.nix404
-rw-r--r--pkgs/development/tools/misc/uhd/default.nix2
-rw-r--r--pkgs/games/hedgewars/default.nix24
-rw-r--r--pkgs/os-specific/linux/prl-tools/default.nix69
-rw-r--r--pkgs/servers/inginious/default.nix1
-rw-r--r--pkgs/top-level/all-packages.nix10
27 files changed, 1232 insertions, 386 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 9e89cc78954f..e5708fba168f 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -83,3 +83,4 @@
 
 # https://github.com/NixOS/nixpkgs/issues/31401
 /lib/maintainers.nix @ghost
+/lib/licenses.nix @ghost
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 0aed862af522..d798d6d315b5 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -706,6 +706,7 @@
   ylwghst = "Burim Augustin Berisa <ylwghst@onionmail.info>";
   yochai = "Yochai <yochai@titat.info>";
   yorickvp = "Yorick van Pelt <yorickvanpelt@gmail.com>";
+  yrashk = "Yurii Rashkovskii <yrashk@gmail.com>";
   yuriaisaka = "Yuri Aisaka <yuri.aisaka+nix@gmail.com>";
   yurrriq = "Eric Bailey <eric@ericb.me>";
   z77z = "Marco Maggesi <maggesi@math.unifi.it>";
diff --git a/nixos/doc/manual/configuration/user-mgmt.xml b/nixos/doc/manual/configuration/user-mgmt.xml
index 2bd9cca5622f..c6656edff6c8 100644
--- a/nixos/doc/manual/configuration/user-mgmt.xml
+++ b/nixos/doc/manual/configuration/user-mgmt.xml
@@ -12,7 +12,7 @@ management.  In the declarative style, users are specified in
 states that a user account named <literal>alice</literal> shall exist:
 
 <programlisting>
-users.extraUsers.alice =
+users.users.alice =
   { isNormalUser = true;
     home = "/home/alice";
     description = "Alice Foobar";
@@ -34,7 +34,7 @@ to set a password, which is retained across invocations of
 
 <para>If you set users.mutableUsers to false, then the contents of /etc/passwd
 and /etc/group will be congruent to your NixOS configuration. For instance,
-if you remove a user from users.extraUsers and run nixos-rebuild, the user
+if you remove a user from users.users and run nixos-rebuild, the user
 account will cease to exist. Also, imperative commands for managing users
 and groups, such as useradd, are no longer available. Passwords may still be
 assigned by setting the user's <literal>hashedPassword</literal> option. A
@@ -54,7 +54,7 @@ to the user specification.</para>
 group named <literal>students</literal> shall exist:
 
 <programlisting>
-users.extraGroups.students.gid = 1000;
+users.groups.students.gid = 1000;
 </programlisting>
 
 As with users, the group ID (gid) is optional and will be assigned
@@ -68,8 +68,8 @@ account named <literal>alice</literal>:
 <screen>
 # useradd -m alice</screen>
 
-To make all nix tools available to this new user use `su - USER` which 
-opens a login shell (==shell that loads the profile) for given user. 
+To make all nix tools available to this new user use `su - USER` which
+opens a login shell (==shell that loads the profile) for given user.
 This will create the ~/.nix-defexpr symlink. So run:
 
 <screen>
diff --git a/nixos/modules/services/web-servers/lighttpd/inginious.nix b/nixos/modules/services/web-servers/lighttpd/inginious.nix
index 669e81d0f14b..8c813d116a52 100644
--- a/nixos/modules/services/web-servers/lighttpd/inginious.nix
+++ b/nixos/modules/services/web-servers/lighttpd/inginious.nix
@@ -113,7 +113,6 @@ in
 
     tasksDirectory = mkOption {
       type = types.path;
-      default = "${inginious}/lib/python2.7/site-packages/inginious/tasks";
       example = "/var/lib/INGInious/tasks";
       description = ''
         Path to the tasks folder.
@@ -218,6 +217,7 @@ in
 
       # Common
       {
+        services.lighttpd.inginious.tasksDirectory = mkDefault "${inginious}/lib/python2.7/site-packages/inginious/tasks";
         # To access inginous tools (like inginious-test-task)
         environment.systemPackages = [ inginious ];
 
diff --git a/nixos/modules/virtualisation/parallels-guest.nix b/nixos/modules/virtualisation/parallels-guest.nix
index bd85973ee561..fc0409e9ec77 100644
--- a/nixos/modules/virtualisation/parallels-guest.nix
+++ b/nixos/modules/virtualisation/parallels-guest.nix
@@ -27,7 +27,6 @@ in
   };
 
   config = mkIf config.hardware.parallels.enable {
-
     services.xserver = {
       drivers = singleton
         { name = "prlvideo"; modules = [ prl-tools ]; libPath = [ prl-tools ]; };
@@ -55,7 +54,7 @@ in
 
     boot.extraModulePackages = [ prl-tools ];
 
-    boot.kernelModules = [ "prl_tg" "prl_eth" "prl_fs" "prl_fs_freeze" "acpi_memhotplug" ];
+    boot.kernelModules = [ "prl_tg" "prl_eth" "prl_fs" "prl_fs_freeze" ];
 
     services.timesyncd.enable = false;
 
@@ -89,5 +88,50 @@ in
       };
     };
 
+    systemd.user.services = {
+      prlcc = {
+        description = "Parallels Control Center";
+        wantedBy = [ "graphical-session.target" ];
+        serviceConfig = {
+          ExecStart = "${prl-tools}/bin/prlcc";
+        };
+      };
+      prldnd = {
+        description = "Parallels Control Center";
+        wantedBy = [ "graphical-session.target" ];
+        serviceConfig = {
+          ExecStart = "${prl-tools}/bin/prldnd";
+        };
+      };
+      prl_wmouse_d  = {
+        description = "Parallels Walking Mouse Daemon";
+        wantedBy = [ "graphical-session.target" ];
+        serviceConfig = {
+          ExecStart = "${prl-tools}/bin/prl_wmouse_d";
+        };
+      };
+      prlcp = {
+        description = "Parallels CopyPaste Tool";
+        wantedBy = [ "graphical-session.target" ];
+        serviceConfig = {
+          ExecStart = "${prl-tools}/bin/prlcp";
+        };
+      };
+      prlsga = {
+        description = "Parallels Shared Guest Applications Tool";
+        wantedBy = [ "graphical-session.target" ];
+        serviceConfig = {
+          ExecStart = "${prl-tools}/bin/prlsga";
+        };
+      };
+      prlshprof = {
+        description = "Parallels Shared Profile Tool";
+        wantedBy = [ "graphical-session.target" ];
+        serviceConfig = {
+          ExecStart = "${prl-tools}/bin/prlshprof";
+        };
+      };
+    };
+
   };
 }
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index 507912ee43ea..4e0ddfa8def8 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -14,8 +14,8 @@ let
     else throw "ImageMagick is not supported on this platform.";
 
   cfg = {
-    version = "6.9.9-21";
-    sha256 = "0241g3c207rawn61bz8rc5gz55k5mi2b0n3zlwa0jv9xczlkd6a9";
+    version = "6.9.9-23";
+    sha256 = "0cd6zcbcfvznf0i3q4xz1c4wm4cfplg4zc466lvlb1w8qbn25948";
     patches = [];
   }
     # Freeze version on mingw so we don't need to port the patch too often.
diff --git a/pkgs/applications/misc/gnuradio-ais/default.nix b/pkgs/applications/misc/gnuradio-ais/default.nix
index a67a8a44fced..dfb8415219c7 100644
--- a/pkgs/applications/misc/gnuradio-ais/default.nix
+++ b/pkgs/applications/misc/gnuradio-ais/default.nix
@@ -7,13 +7,14 @@ assert pythonSupport -> python != null && swig != null;
 
 stdenv.mkDerivation rec {
   name = "gnuradio-ais-${version}";
-  version = "2016-08-26";
+  version = "2015-12-20";
 
   src = fetchFromGitHub {
     owner = "bistromath";
     repo = "gr-ais";
-    rev = "1863d1bf8a7709a8dfedb3ddb8e2b99112e7c872";
-    sha256 = "1vl3kk8xr2mh5lf31zdld7yzmwywqffffah8iblxdzblgsdwxfl6";
+    # Upstream PR: https://github.com/bistromath/gr-ais/commit/8502d0252a2a1a9b8d1a71795eaeb5d820684054
+    "rev" = "8502d0252a2a1a9b8d1a71795eaeb5d820684054";
+    "sha256" = "1b9j0kc74cw12a7jv4lii77dgzqzg2s8ndzp4xmisxksgva1qfvh";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -27,11 +28,13 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Gnuradio block for ais";
     homepage = https://github.com/bistromath/gr-ais;
     license = licenses.gpl3Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ mog ];
   };
 }
diff --git a/pkgs/applications/misc/gnuradio-gsm/default.nix b/pkgs/applications/misc/gnuradio-gsm/default.nix
index bbdc74510eaa..6e0856ce66aa 100644
--- a/pkgs/applications/misc/gnuradio-gsm/default.nix
+++ b/pkgs/applications/misc/gnuradio-gsm/default.nix
@@ -27,11 +27,13 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Gnuradio block for gsm";
     homepage = https://github.com/ptrkrysik/gr-gsm;
     license = licenses.gpl3Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ mog ];
   };
 }
diff --git a/pkgs/applications/misc/gnuradio-nacl/default.nix b/pkgs/applications/misc/gnuradio-nacl/default.nix
index cd3630c842c3..28836958e98c 100644
--- a/pkgs/applications/misc/gnuradio-nacl/default.nix
+++ b/pkgs/applications/misc/gnuradio-nacl/default.nix
@@ -27,11 +27,13 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Gnuradio block for encryption";
     homepage = https://github.com/stwunsch/gr-nacl;
     license = licenses.gpl3Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ mog ];
   };
 }
diff --git a/pkgs/applications/misc/gnuradio-osmosdr/default.nix b/pkgs/applications/misc/gnuradio-osmosdr/default.nix
index e2d3e808476e..2fd64d02f18b 100644
--- a/pkgs/applications/misc/gnuradio-osmosdr/default.nix
+++ b/pkgs/applications/misc/gnuradio-osmosdr/default.nix
@@ -26,11 +26,13 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Gnuradio block for OsmoSDR and rtl-sdr";
-    homepage = http://sdr.osmocom.org/trac/wiki/GrOsmoSDR;
+    homepage = https://sdr.osmocom.org/trac/wiki/GrOsmoSDR;
     license = licenses.gpl3Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ bjornfor the-kenny ];
   };
 }
diff --git a/pkgs/applications/misc/gnuradio-rds/default.nix b/pkgs/applications/misc/gnuradio-rds/default.nix
index 3d09441a7f03..44ed89d9002d 100644
--- a/pkgs/applications/misc/gnuradio-rds/default.nix
+++ b/pkgs/applications/misc/gnuradio-rds/default.nix
@@ -26,11 +26,13 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Gnuradio block for radio data system";
     homepage = https://github.com/bastibl/gr-rds;
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ mog ];
   };
 }
diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix
index 0156122ec79a..470e046e85e5 100644
--- a/pkgs/applications/misc/gnuradio/default.nix
+++ b/pkgs/applications/misc/gnuradio/default.nix
@@ -1,41 +1,51 @@
-{ stdenv, fetchurl
-# core dependencies
+{ stdenv, fetchFromGitHub, writeText, makeWrapper
+# Dependencies documented @ https://gnuradio.org/doc/doxygen/build_guide.html
+# => core dependencies
 , cmake, pkgconfig, git, boost, cppunit, fftw
-# python wrappers
+# => python wrappers
+# May be able to upgrade to swig3
 , python, swig2, numpy, scipy, matplotlib
-# grc - the gnu radio companion
+# => grc - the gnu radio companion
 , cheetah, pygtk
-# gr-wavelet: collection of wavelet blocks
+# => gr-wavelet: collection of wavelet blocks
 , gsl
-# gr-qtgui: the Qt-based GUI
-, qt4, qwt, pyqt4 #, pyqwt
-# gr-wxgui: the Wx-based GUI
+# => gr-qtgui: the Qt-based GUI
+, qt4, qwt, pyqt4
+# => gr-wxgui: the Wx-based GUI
 , wxPython, lxml
-# gr-audio: audio subsystems (system/OS dependent)
-, alsaLib
-# uhd: the Ettus USRP Hardware Driver Interface
+# => gr-audio: audio subsystems (system/OS dependent)
+, alsaLib   # linux   'audio-alsa'
+, CoreAudio # darwin  'audio-osx'
+# => uhd: the Ettus USRP Hardware Driver Interface
 , uhd
-# gr-video-sdl: PAL and NTSC display
+# => gr-video-sdl: PAL and NTSC display
 , SDL
+# Other
 , libusb1, orc, pyopengl
-, makeWrapper
 }:
 
 stdenv.mkDerivation rec {
   name = "gnuradio-${version}";
-  version = "3.7.11";
+  version = "3.7.11.1";
 
-  src = fetchurl {
-    url = "https://gnuradio.org/releases/gnuradio/${name}.tar.gz";
-    sha256 = "1m2jf8lafr6pr2dlm40nbvr6az8gwjfkzpbs4fxzv3l5hcqvmnc7";
+  src = fetchFromGitHub {
+    owner = "gnuradio";
+    repo = "gnuradio";
+    rev = "6d2221196082a4954c249dc6955e33d5832a56f2";
+    sha256 = "1fkrb8cnjbriy2x94lz73q6aqxar1rkvfbafp266ykdpm29b4xgm";
+    fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    cmake git boost cppunit fftw python swig2 orc lxml qt4
-    qwt alsaLib SDL libusb1 uhd gsl makeWrapper
+  nativeBuildInputs = [
+    cmake pkgconfig git makeWrapper cppunit orc
   ];
 
+  buildInputs = [
+    boost fftw python swig2 lxml qt4
+    qwt SDL libusb1 uhd gsl
+  ] ++ stdenv.lib.optionals stdenv.isLinux  [ alsaLib   ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ CoreAudio ];
+
   propagatedBuildInputs = [
     cheetah numpy scipy matplotlib pyqt4 pygtk wxPython pyopengl
   ];
@@ -48,22 +58,46 @@ stdenv.mkDerivation rec {
         --replace BOOST_CONSTEXPR_OR_CONST const
   '';
 
+  # Enables composition with nix-shell
+  grcSetupHook = writeText "grcSetupHook.sh" ''
+    addGRCBlocksPath() {
+      addToSearchPath GRC_BLOCKS_PATH $1/share/gnuradio/grc/blocks
+    }
+    envHooks+=(addGRCBlocksPath)
+  '';
+
+  setupHook = [ grcSetupHook ];
+
+  # patch wxgui and pygtk check due to python importerror in a headless environment
   preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-unused-variable -std=c++11"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-unused-variable ${stdenv.lib.optionalString (!stdenv.isDarwin) "-std=c++11"}"
+    sed -i 's/.*wx\.version.*/set(WX_FOUND TRUE)/g' gr-wxgui/CMakeLists.txt
+    sed -i 's/.*pygtk_version.*/set(PYGTK_FOUND TRUE)/g' grc/CMakeLists.txt
+    find . -name "CMakeLists.txt" -exec sed -i '1iadd_compile_options($<$<COMPILE_LANGUAGE:CXX>:-std=c++11>)' "{}" ";"
   '';
 
+  # Framework path needed for qwt6_qt4 but not qwt5
+  cmakeFlags =
+    stdenv.lib.optionals stdenv.isDarwin [ "-DCMAKE_FRAMEWORK_PATH=${qwt}/lib" ];
+
   # - Ensure we get an interactive backend for matplotlib. If not the gr_plot_*
   #   programs will not display anything. Yes, $MATPLOTLIBRC must point to the
   #   *dirname* where matplotlibrc is located, not the file itself.
   # - GNU Radio core is C++ but the user interface (GUI and API) is Python, so
   #   we must wrap the stuff in bin/.
+  # Notes:
+  # - May want to use makeWrapper instead of wrapProgram
+  # - may want to change interpreter path on Python examples instead of wrapping
+  # - see https://github.com/NixOS/nixpkgs/issues/22688 regarding use of --prefix / python.withPackages
+  # - see https://github.com/NixOS/nixpkgs/issues/24693 regarding use of DYLD_FRAMEWORK_PATH on Darwin
   postInstall = ''
     printf "backend : Qt4Agg\n" > "$out/share/gnuradio/matplotlibrc"
 
     for file in $(find $out/bin $out/share/gnuradio/examples -type f -executable); do
         wrapProgram "$file" \
             --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out") \
-            --set MATPLOTLIBRC "$out/share/gnuradio"
+            --set MATPLOTLIBRC "$out/share/gnuradio" \
+            ${stdenv.lib.optionalString stdenv.isDarwin "--set DYLD_FRAMEWORK_PATH /System/Library/Frameworks"}
     done
   '';
 
@@ -80,7 +114,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://www.gnuradio.org;
     license = licenses.gpl3;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ bjornfor fpletz ];
   };
 }
diff --git a/pkgs/applications/misc/libosmocore/default.nix b/pkgs/applications/misc/libosmocore/default.nix
index 47bcbb6fce91..4f1745c0d8ce 100644
--- a/pkgs/applications/misc/libosmocore/default.nix
+++ b/pkgs/applications/misc/libosmocore/default.nix
@@ -1,31 +1,37 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pcsclite, pkgconfig
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
+, pcsclite, talloc, python2
 }:
 
 stdenv.mkDerivation rec {
   name = "libosmocore-${version}";
-  version = "0.9.0";
+  version = "0.9.6";
 
   src = fetchFromGitHub {
     owner = "osmocom";
     repo = "libosmocore";
-    rev = "8649d57f507d359c99a89654aac7e19ce22db282";
-    sha256 = "08mcpy9ljwb1i3l4cmlwn024q2psk5gg9f0ylgh99hy1ffx0n7am";
+    rev = "3cc757df1822114bf446dc2d5f6a95da92321a25";
+    sha256 = "0dk7065qcy2kjra0p8q2124p73jcyvvzz3cmhid1kx5scyxmr017";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  propagatedBuildInputs = [
+    talloc
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook pkgconfig
+  ];
+
   buildInputs = [
-    pcsclite
+    pcsclite python2
   ];
 
-  preConfigure = ''
-    autoreconf -i -f
-  '';
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "libosmocore";
     homepage = https://github.com/osmocom/libosmocore;
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ mog ];
   };
 }
diff --git a/pkgs/applications/misc/rtl-sdr/default.nix b/pkgs/applications/misc/rtl-sdr/default.nix
index 652dd9d5e650..f1c3cbc55577 100644
--- a/pkgs/applications/misc/rtl-sdr/default.nix
+++ b/pkgs/applications/misc/rtl-sdr/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   #   /etc/udev/rules.d/, and there is no option to install elsewhere. So install
   #   rules manually.
   # * Propagate libusb-1.0 dependency in pkg-config file.
-  postInstall = ''
+  postInstall = stdenv.lib.optionalString stdenv.isLinux ''
     mkdir -p "$out/etc/udev/rules.d/"
     cp ../rtl-sdr.rules "$out/etc/udev/rules.d/99-rtl-sdr.rules"
 
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     description = "Turns your Realtek RTL2832 based DVB dongle into a SDR receiver";
     homepage = http://sdr.osmocom.org/trac/wiki/rtl-sdr;
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/applications/misc/urh/default.nix b/pkgs/applications/misc/urh/default.nix
index faf373092d57..78305675f17f 100644
--- a/pkgs/applications/misc/urh/default.nix
+++ b/pkgs/applications/misc/urh/default.nix
@@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
     inherit (src.meta) homepage;
     description = "Universal Radio Hacker: investigate wireless protocols like a boss";
     license = licenses.asl20;
-    platforms = platforms.all;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ fpletz ];
   };
 }
diff --git a/pkgs/data/fonts/migu/default.nix b/pkgs/data/fonts/migu/default.nix
new file mode 100644
index 000000000000..aefaefb337fa
--- /dev/null
+++ b/pkgs/data/fonts/migu/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+  name = "migu-${version}";
+  version = "20150712";
+
+  srcs = [
+    (fetchzip {
+      url = "mirror://sourceforgejp/mix-mplus-ipa/63545/migu-1p-${version}.zip";
+      sha256 = "04wpbk5xbbcv2rzac8yzj4ww7sk2hy2rg8zs96yxc5vzj9q7svf6";
+    })
+    (fetchzip {
+      url = "mirror://sourceforgejp/mix-mplus-ipa/63545/migu-1c-${version}.zip";
+      sha256 = "1k7ymix14ac5fb44bjvbaaf24784zzpyc1jj2280c0zdnpxksyk6";
+    })
+    (fetchzip {
+      url = "mirror://sourceforgejp/mix-mplus-ipa/63545/migu-1m-${version}.zip";
+      sha256 = "07r8id83v92hym21vrqmfsfxb646v8258001pkjhgfnfg1yvw8lm";
+    })
+    (fetchzip {
+      url = "mirror://sourceforgejp/mix-mplus-ipa/63545/migu-2m-${version}.zip";
+      sha256 = "1pvzbrawh43589j8rfxk86y1acjbgzzdy5wllvdkpm1qnx28zwc2";
+    })
+  ];
+
+  unpackPhase = ":";
+
+  installPhase = ''
+    find $srcs -name '*.ttf' | xargs install -m644 --target $out/share/fonts/truetype/migu -D
+  '';
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "0nbpn21cxdd6gsgr3fadzjsnz84f2swpf81wmscmjgvd56ngndzh";
+
+  meta = with stdenv.lib; {
+    description = "A high-quality Japanese font based on modified M+ fonts and IPA fonts";
+    homepage = http://mix-mplus-ipa.osdn.jp/migu/;
+    license = licenses.ipa;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.mikoim ];
+  };
+}
diff --git a/pkgs/development/libraries/qwt/6_qt4.nix b/pkgs/development/libraries/qwt/6_qt4.nix
index 0315ae72709e..79b182b33b22 100644
--- a/pkgs/development/libraries/qwt/6_qt4.nix
+++ b/pkgs/development/libraries/qwt/6_qt4.nix
@@ -1,20 +1,32 @@
-{ stdenv, fetchurl, qt4, qmake4Hook }:
+{ stdenv, fetchurl, qt4, qmake4Hook, AGL }:
 
 stdenv.mkDerivation rec {
-  name = "qwt-6.1.2";
+  name = "qwt-6.1.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/qwt/${name}.tar.bz2";
-    sha256 = "031x4hz1jpbirv9k35rqb52bb9mf2w7qav89qv1yfw1r3n6z221b";
+    sha256 = "0cwp63s03dw351xavb3pzbjlqvx7kj88wv7v4a2b18m9f97d7v7k";
   };
 
-  buildInputs = [ qt4 ];
+  buildInputs = [
+    qt4
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [ AGL ];
+
   nativeBuildInputs = [ qmake4Hook ];
 
+  enableParallelBuilding = true;
+
   postPatch = ''
     sed -e "s|QWT_INSTALL_PREFIX.*=.*|QWT_INSTALL_PREFIX = $out|g" -i qwtconfig.pri
   '';
 
+  # qwt.framework output includes a relative reference to itself, which breaks dependents
+  preFixup =
+    stdenv.lib.optionalString stdenv.isDarwin ''
+      echo "Attempting to repair qwt"
+      install_name_tool -id "$out/lib/qwt.framework/Versions/6/qwt" "$out/lib/qwt.framework/Versions/6/qwt"
+    '';
+
   qmakeFlags = [ "-after doc.path=$out/share/doc/${name}" ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/node-packages/node-packages-v4.nix b/pkgs/development/node-packages/node-packages-v4.nix
index 809f1d5a38f8..c34f4ef83164 100644
--- a/pkgs/development/node-packages/node-packages-v4.nix
+++ b/pkgs/development/node-packages/node-packages-v4.nix
@@ -1201,13 +1201,13 @@ let
         sha1 = "4c2bbc8a758998feebf5ed68580f76d46768b4bc";
       };
     };
-    "ini-1.3.4" = {
+    "ini-1.3.5" = {
       name = "ini";
       packageName = "ini";
-      version = "1.3.4";
+      version = "1.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz";
-        sha1 = "0537cb79daf59b59a1a517dff706c86ec039162e";
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
+        sha512 = "1rjbvf1rg5ywhnba08sgagn2qf23lab330qrqmh7d891zap3xpxcyfyj1cblpf0f0rypglcfacybzyrpd4996aa1mbc820awa33k5j5";
       };
     };
     "which-1.3.0" = {
@@ -3397,13 +3397,13 @@ let
         sha512 = "2r13vwvb5ick34k6flr7vgbjfsdka8zbj5a74rd0ba4bp0nqmhppbaw3qlwn7f4smpifpa4iy4hxj137y598rbvsmy3h0d8vxgvzwar";
       };
     };
-    "detect-libc-1.0.2" = {
+    "detect-libc-1.0.3" = {
       name = "detect-libc";
       packageName = "detect-libc";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.2.tgz";
-        sha1 = "71ad5d204bf17a6a6ca8f450c61454066ef461e1";
+        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz";
+        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
       };
     };
     "tar-pack-3.4.1" = {
@@ -4045,13 +4045,13 @@ let
         sha1 = "6373db76909fe570e08d73583365ed828a74eeeb";
       };
     };
-    "commander-2.11.0" = {
+    "commander-2.12.0" = {
       name = "commander";
       packageName = "commander";
-      version = "2.11.0";
+      version = "2.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz";
-        sha512 = "2yi2hwf0bghfnv1fdgd4wvh7s0acjrgqbgww97ncm6i6s6ffs1zahnj48f6gqpqj6fsf0jigvnr0civ25k2160c38281r80wvg7jkkg";
+        url = "https://registry.npmjs.org/commander/-/commander-2.12.0.tgz";
+        sha512 = "3drb1rxa9qbsn65n8gbwfj96afi8kv3kh9z30mm1x0hssz84kj7akkksd6qpbikcnpnmrm9fpxvqy5w6jw1xj9q4z3ijligiddjcl6h";
       };
     };
     "is-my-json-valid-2.16.1" = {
@@ -4063,6 +4063,15 @@ let
         sha512 = "2wmvqb2vfzjbnd2znxkg4sqpksxb9mi1lbr4r5zv535ykxzfv8dbnafra1lhk415wrbg9r1lfhyimcw5xfj3k4ry7inbmcjlnr4zj51";
       };
     };
+    "@types/node-7.0.48" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "7.0.48";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-7.0.48.tgz";
+        sha512 = "3bjps45216v1znjwv914yqhiya6y0gxra26zk80bv49rzsqf84kxv7ilrzm7j6wj5895957a0jbqwsdy78ylfbx61v3w11pydlmgf9c";
+      };
+    };
     "generate-function-2.0.0" = {
       name = "generate-function";
       packageName = "generate-function";
@@ -4484,7 +4493,7 @@ in
                               sources."parse-passwd-1.0.0"
                             ];
                           })
-                          sources."ini-1.3.4"
+                          sources."ini-1.3.5"
                           (sources."which-1.3.0" // {
                             dependencies = [
                               sources."isexe-2.0.0"
@@ -5245,7 +5254,7 @@ in
       (sources."rc-1.2.2" // {
         dependencies = [
           sources."deep-extend-0.4.2"
-          sources."ini-1.3.4"
+          sources."ini-1.3.5"
           sources."minimist-1.2.0"
           sources."strip-json-comments-2.0.1"
         ];
@@ -5454,7 +5463,7 @@ in
                 ];
               })
               sources."semver-5.4.1"
-              sources."detect-libc-1.0.2"
+              sources."detect-libc-1.0.3"
               (sources."tar-2.2.1" // {
                 dependencies = [
                   sources."block-stream-0.0.9"
@@ -5701,7 +5710,7 @@ in
                 ];
               })
               sources."semver-5.4.1"
-              sources."detect-libc-1.0.2"
+              sources."detect-libc-1.0.3"
               (sources."tar-2.2.1" // {
                 dependencies = [
                   sources."block-stream-0.0.9"
@@ -5894,7 +5903,7 @@ in
       (sources."rc-1.2.2" // {
         dependencies = [
           sources."deep-extend-0.4.2"
-          sources."ini-1.3.4"
+          sources."ini-1.3.5"
           sources."minimist-1.2.0"
           sources."strip-json-comments-2.0.1"
         ];
@@ -6022,7 +6031,7 @@ in
         ];
       })
       sources."semver-5.4.1"
-      sources."detect-libc-1.0.2"
+      sources."detect-libc-1.0.3"
       (sources."tar-2.2.1" // {
         dependencies = [
           sources."block-stream-0.0.9"
@@ -6248,7 +6257,11 @@ in
                   sources."supports-color-2.0.0"
                 ];
               })
-              sources."commander-2.11.0"
+              (sources."commander-2.12.0" // {
+                dependencies = [
+                  sources."@types/node-7.0.48"
+                ];
+              })
               (sources."is-my-json-valid-2.16.1" // {
                 dependencies = [
                   sources."generate-function-2.0.0"
diff --git a/pkgs/development/node-packages/node-packages-v6.json b/pkgs/development/node-packages/node-packages-v6.json
index 20ccf815ba4d..3599c93401ef 100644
--- a/pkgs/development/node-packages/node-packages-v6.json
+++ b/pkgs/development/node-packages/node-packages-v6.json
@@ -61,6 +61,7 @@
 , "npm"
 , { "npm2nix": "git://github.com/NixOS/npm2nix.git#5.12.0" }
 , "npm-check-updates"
+, "nsp"
 , "ocaml-language-server"
 , "parsoid"
 , "peerflix"
diff --git a/pkgs/development/node-packages/node-packages-v6.nix b/pkgs/development/node-packages/node-packages-v6.nix
index 921056505286..6791618cd387 100644
--- a/pkgs/development/node-packages/node-packages-v6.nix
+++ b/pkgs/development/node-packages/node-packages-v6.nix
@@ -715,13 +715,13 @@ let
         sha1 = "4c2bbc8a758998feebf5ed68580f76d46768b4bc";
       };
     };
-    "ini-1.3.4" = {
+    "ini-1.3.5" = {
       name = "ini";
       packageName = "ini";
-      version = "1.3.4";
+      version = "1.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz";
-        sha1 = "0537cb79daf59b59a1a517dff706c86ec039162e";
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
+        sha512 = "1rjbvf1rg5ywhnba08sgagn2qf23lab330qrqmh7d891zap3xpxcyfyj1cblpf0f0rypglcfacybzyrpd4996aa1mbc820awa33k5j5";
       };
     };
     "which-1.3.0" = {
@@ -2821,13 +2821,13 @@ let
         sha1 = "6373db76909fe570e08d73583365ed828a74eeeb";
       };
     };
-    "commander-2.11.0" = {
+    "commander-2.12.0" = {
       name = "commander";
       packageName = "commander";
-      version = "2.11.0";
+      version = "2.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz";
-        sha512 = "2yi2hwf0bghfnv1fdgd4wvh7s0acjrgqbgww97ncm6i6s6ffs1zahnj48f6gqpqj6fsf0jigvnr0civ25k2160c38281r80wvg7jkkg";
+        url = "https://registry.npmjs.org/commander/-/commander-2.12.0.tgz";
+        sha512 = "3drb1rxa9qbsn65n8gbwfj96afi8kv3kh9z30mm1x0hssz84kj7akkksd6qpbikcnpnmrm9fpxvqy5w6jw1xj9q4z3ijligiddjcl6h";
       };
     };
     "is-my-json-valid-2.16.1" = {
@@ -2848,6 +2848,15 @@ let
         sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
       };
     };
+    "@types/node-7.0.48" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "7.0.48";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-7.0.48.tgz";
+        sha512 = "3bjps45216v1znjwv914yqhiya6y0gxra26zk80bv49rzsqf84kxv7ilrzm7j6wj5895957a0jbqwsdy78ylfbx61v3w11pydlmgf9c";
+      };
+    };
     "generate-function-2.0.0" = {
       name = "generate-function";
       packageName = "generate-function";
@@ -4657,13 +4666,13 @@ let
         sha1 = "1e80454250018dbad4c3fe94497d6e67b6269c77";
       };
     };
-    "mime-1.4.1" = {
+    "mime-1.5.0" = {
       name = "mime";
       packageName = "mime";
-      version = "1.4.1";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz";
-        sha512 = "2sz22r1xrnyvq6jg0h6b6cab3s3xdsfqa0n6vl9xv9gq3ppcxrcpg2hqfc41xjwnfwfkr6240l5gys7nds61ch6xcb3gr3fwsl7x398";
+        url = "https://registry.npmjs.org/mime/-/mime-1.5.0.tgz";
+        sha512 = "3b7jw8n6ar3wh9wf19ayzzjxnb85fhnlxd0cp1rgqnw1fihixms6999bmwh9gavrl3j4k1g8swzr23c1n2xv0ivkmnsma5zh87cry5z";
       };
     };
     "peerflix-0.34.0" = {
@@ -5845,13 +5854,13 @@ let
         sha1 = "d263ca54696cd8a306b5ca6551e92de57918fbe7";
       };
     };
-    "ultron-1.1.0" = {
+    "ultron-1.1.1" = {
       name = "ultron";
       packageName = "ultron";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz";
-        sha1 = "b07a2e6a541a815fc6a34ccd4533baec307ca864";
+        url = "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz";
+        sha512 = "0x78hsv3jykmjl6qdqlqiz7v5nf06li8b5yvzpj6grnzwbcjch8ngyg55lm8g8mg4znvk7qbryvrr2dxacz3cvyb1nsm64qsw21g0ah";
       };
     };
     "addr-to-ip-port-1.4.2" = {
@@ -6205,6 +6214,15 @@ let
         sha1 = "2d1ef7f218a0e786e214540562d4bd177fe32d97";
       };
     };
+    "humanize-plus-1.8.2" = {
+      name = "humanize-plus";
+      packageName = "humanize-plus";
+      version = "1.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/humanize-plus/-/humanize-plus-1.8.2.tgz";
+        sha1 = "a65b34459ad6367adbb3707a82a3c9f916167030";
+      };
+    };
     "ora-1.3.0" = {
       name = "ora";
       packageName = "ora";
@@ -6214,13 +6232,13 @@ let
         sha1 = "80078dd2b92a934af66a3ad72a5b910694ede51a";
       };
     };
-    "follow-redirects-1.2.5" = {
+    "follow-redirects-1.2.6" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.2.5";
+      version = "1.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.2.5.tgz";
-        sha512 = "1z898bzf59mbs56yhw6cxx1bym43lxgb8s8cprzsdb8qd79bshwpcl7clcj080s6p7djm75c0hgk9ylh912004bq6zb25gj790p1j4l";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.2.6.tgz";
+        sha512 = "1h8p8m3gkaav4s3l03h3kgg3gi264n9hgaq2yjjdzvvxfq1wrnw6sh2avrazpf7bihh44q8x5b59x551xaygfm3dvkx2djfy5kjmcqn";
       };
     };
     "babel-runtime-6.22.0" = {
@@ -7474,6 +7492,15 @@ let
         sha1 = "978857442c44749e4206613e37946205826abd80";
       };
     };
+    "mime-1.4.1" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz";
+        sha512 = "2sz22r1xrnyvq6jg0h6b6cab3s3xdsfqa0n6vl9xv9gq3ppcxrcpg2hqfc41xjwnfwfkr6240l5gys7nds61ch6xcb3gr3fwsl7x398";
+      };
+    };
     "media-typer-0.3.0" = {
       name = "media-typer";
       packageName = "media-typer";
@@ -9161,13 +9188,13 @@ let
         sha1 = "cac328f7bee45730d404b692203fcb590e172d5e";
       };
     };
-    "aws-sdk-2.153.0" = {
+    "aws-sdk-2.156.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.153.0";
+      version = "2.156.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.153.0.tgz";
-        sha1 = "6ba22e849aee16ad707718a18c64b756d8f1e81a";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.156.0.tgz";
+        sha1 = "409c06f7051d58320cb389a024ca7b61ce31f136";
       };
     };
     "buffer-4.9.1" = {
@@ -12816,22 +12843,22 @@ let
         sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
       };
     };
-    "@ionic/cli-framework-0.1.1" = {
+    "@ionic/cli-framework-0.1.2" = {
       name = "_at_ionic_slash_cli-framework";
       packageName = "@ionic/cli-framework";
-      version = "0.1.1";
+      version = "0.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/cli-framework/-/cli-framework-0.1.1.tgz";
-        sha512 = "1x9p7bbnmxy6xj42n0qsmyv2bxha404r3snlxjxhiaw20p8bg243k2lgxdqqj0r29sp5rd8cnkx631zsk18hi6bmdr50mdp5hjw89n5";
+        url = "https://registry.npmjs.org/@ionic/cli-framework/-/cli-framework-0.1.2.tgz";
+        sha512 = "265kszf17mdz60zpfrj5i47lqwwgp6h1b7i8vymig1pnlqd3lnljibxvd2d1rfa3827ks435k9wws458z3dk7fyq8wfmzmv8fk9qjhh";
       };
     };
-    "@ionic/cli-utils-1.18.0" = {
+    "@ionic/cli-utils-1.19.0" = {
       name = "_at_ionic_slash_cli-utils";
       packageName = "@ionic/cli-utils";
-      version = "1.18.0";
+      version = "1.19.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/cli-utils/-/cli-utils-1.18.0.tgz";
-        sha512 = "2biqawzp7wwh6rb38w7gnnymxhg1k4r60hvm530hmvgpsdgbi0wq8ys9p1i969qij187nz3vr5cb5wivqwimldysqv6n1d2b95rrkbv";
+        url = "https://registry.npmjs.org/@ionic/cli-utils/-/cli-utils-1.19.0.tgz";
+        sha512 = "24v61p6kqm6l6b5p58y5f4qgf7svxqnwpygz7bw1b7102p6hv6hkcnfgh32vf0nypd8fgdhyyhci5sz342ksdg11q6nj8snnqgd1gss";
       };
     };
     "opn-5.1.0" = {
@@ -12843,15 +12870,6 @@ let
         sha512 = "2k8g3x11xbm64r7bbyad08cjv27vaparkigq11w2v8kg8h73k2rzdr3q6f5i2klidgpaq9rbhfv45rf9dkqqv3d8vsbvw4c5knnbww8";
       };
     };
-    "os-name-2.0.1" = {
-      name = "os-name";
-      packageName = "os-name";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-name/-/os-name-2.0.1.tgz";
-        sha1 = "b9a386361c17ae3a21736ef0599405c9a8c5dc5e";
-      };
-    };
     "tslib-1.8.0" = {
       name = "tslib";
       packageName = "tslib";
@@ -12960,6 +12978,15 @@ let
         sha1 = "9ac91be6e52fb6e6244c4e54a4ac3ed8ae8e29c0";
       };
     };
+    "http-proxy-middleware-0.17.4" = {
+      name = "http-proxy-middleware";
+      packageName = "http-proxy-middleware";
+      version = "0.17.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz";
+        sha1 = "642e8848851d66f09d4f124912846dbaeb41b833";
+      };
+    };
     "leek-0.0.24" = {
       name = "leek";
       packageName = "leek";
@@ -12969,13 +12996,13 @@ let
         sha1 = "e400e57f0e60d8ef2bd4d068dc428a54345dbcda";
       };
     };
-    "proxy-middleware-0.15.0" = {
-      name = "proxy-middleware";
-      packageName = "proxy-middleware";
-      version = "0.15.0";
+    "os-name-2.0.1" = {
+      name = "os-name";
+      packageName = "os-name";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz";
-        sha1 = "a3fdf1befb730f951965872ac2f6074c61477a56";
+        url = "https://registry.npmjs.org/os-name/-/os-name-2.0.1.tgz";
+        sha1 = "b9a386361c17ae3a21736ef0599405c9a8c5dc5e";
       };
     };
     "ssh-config-1.1.3" = {
@@ -13005,13 +13032,13 @@ let
         sha512 = "2b8y1xdv7szw0hvad64rghp2zdahs6qhx0k79c0s9xa0a35zbcrb9b9gywixhcxqi1c9ab7ah8ibra22k8baakh7rvmhf904d559g32";
       };
     };
-    "ws-3.3.1" = {
+    "ws-3.3.2" = {
       name = "ws";
       packageName = "ws";
-      version = "3.3.1";
+      version = "3.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-3.3.1.tgz";
-        sha512 = "3y6jiddhkfn0qgl1bq8whpn8s7l4vh981nnjih1k81wa7mxgbj6c9nnayxk1hz4qdxy34f8wbzv6kq6pdcsg7n98a1c5jyhr52fw3zh";
+        url = "https://registry.npmjs.org/ws/-/ws-3.3.2.tgz";
+        sha512 = "0nqwnjzy5hj2ay2lgxic67rg6dgj690xsiqwswfkrpr0vzyxmhkknfg145fwpqj3br9qa33k7jjdjdgpis9a0m1pxwc913iqfk8drdp";
       };
     };
     "netmask-1.0.6" = {
@@ -13104,6 +13131,51 @@ let
         sha1 = "74b6d33c9ae1e001510f179a91168588f1aedaa9";
       };
     };
+    "http-proxy-1.16.2" = {
+      name = "http-proxy";
+      packageName = "http-proxy";
+      version = "1.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz";
+        sha1 = "06dff292952bf64dbe8471fa9df73066d4f37742";
+      };
+    };
+    "is-glob-3.1.0" = {
+      name = "is-glob";
+      packageName = "is-glob";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz";
+        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
+      };
+    };
+    "eventemitter3-1.2.0" = {
+      name = "eventemitter3";
+      packageName = "eventemitter3";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz";
+        sha1 = "1c86991d816ad1e504750e73874224ecf3bec508";
+      };
+    };
+    "requires-port-1.0.0" = {
+      name = "requires-port";
+      packageName = "requires-port";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz";
+        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
+      };
+    };
+    "is-extglob-2.1.1" = {
+      name = "is-extglob";
+      packageName = "is-extglob";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz";
+        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
+      };
+    };
     "lodash.assign-3.2.0" = {
       name = "lodash.assign";
       packageName = "lodash.assign";
@@ -13149,6 +13221,15 @@ let
         sha1 = "e531c27644cf8b57a99e17ed95b35c748789392e";
       };
     };
+    "macos-release-1.1.0" = {
+      name = "macos-release";
+      packageName = "macos-release";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/macos-release/-/macos-release-1.1.0.tgz";
+        sha512 = "260gwv2k1svhzfxs50g921jbhrqlbfr94mcs9ak0dip7i2331nqc7ip0fgdkfl3r1b30w1s87qh2ssq6wxzd08pbmkjwchqc6xdnqls";
+      };
+    };
     "chownr-1.0.1" = {
       name = "chownr";
       packageName = "chownr";
@@ -13284,15 +13365,6 @@ let
         sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d";
       };
     };
-    "macos-release-1.1.0" = {
-      name = "macos-release";
-      packageName = "macos-release";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/macos-release/-/macos-release-1.1.0.tgz";
-        sha512 = "260gwv2k1svhzfxs50g921jbhrqlbfr94mcs9ak0dip7i2331nqc7ip0fgdkfl3r1b30w1s87qh2ssq6wxzd08pbmkjwchqc6xdnqls";
-      };
-    };
     "abbrev-1.0.9" = {
       name = "abbrev";
       packageName = "abbrev";
@@ -13383,13 +13455,13 @@ let
         sha1 = "a969a80a1fbff6b78f28776594d7bc2bdfab6aad";
       };
     };
-    "jaeger-client-3.6.0" = {
+    "jaeger-client-3.7.0" = {
       name = "jaeger-client";
       packageName = "jaeger-client";
-      version = "3.6.0";
+      version = "3.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jaeger-client/-/jaeger-client-3.6.0.tgz";
-        sha1 = "5659f522776298eea8ed768741dc71978ba69a98";
+        url = "https://registry.npmjs.org/jaeger-client/-/jaeger-client-3.7.0.tgz";
+        sha1 = "65ec79e33fc6aaeb5acf36064d08acf4ec47da96";
       };
     };
     "mz-2.7.0" = {
@@ -14247,15 +14319,6 @@ let
         sha1 = "488b1d1d2451cb3d3a6b192cfc030f44c5855fea";
       };
     };
-    "http-proxy-1.16.2" = {
-      name = "http-proxy";
-      packageName = "http-proxy";
-      version = "1.16.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz";
-        sha1 = "06dff292952bf64dbe8471fa9df73066d4f37742";
-      };
-    };
     "isbinaryfile-3.0.2" = {
       name = "isbinaryfile";
       packageName = "isbinaryfile";
@@ -14373,24 +14436,6 @@ let
         sha1 = "c7a8d3236068362059a7e4651fc6884e8b1fb4ae";
       };
     };
-    "eventemitter3-1.2.0" = {
-      name = "eventemitter3";
-      packageName = "eventemitter3";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz";
-        sha1 = "1c86991d816ad1e504750e73874224ecf3bec508";
-      };
-    };
-    "requires-port-1.0.0" = {
-      name = "requires-port";
-      packageName = "requires-port";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz";
-        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
-      };
-    };
     "debug-2.3.3" = {
       name = "debug";
       packageName = "debug";
@@ -15714,15 +15759,6 @@ let
         sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
       };
     };
-    "is-glob-3.1.0" = {
-      name = "is-glob";
-      packageName = "is-glob";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz";
-        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
-      };
-    };
     "path-dirname-1.0.2" = {
       name = "path-dirname";
       packageName = "path-dirname";
@@ -15732,15 +15768,6 @@ let
         sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
       };
     };
-    "is-extglob-2.1.1" = {
-      name = "is-extglob";
-      packageName = "is-extglob";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz";
-        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
-      };
-    };
     "parse-json-3.0.0" = {
       name = "parse-json";
       packageName = "parse-json";
@@ -16254,6 +16281,15 @@ let
         sha1 = "945cfadd66521eaf8f7c84913d377d7b15f24e31";
       };
     };
+    "proxy-middleware-0.15.0" = {
+      name = "proxy-middleware";
+      packageName = "proxy-middleware";
+      version = "0.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz";
+        sha1 = "a3fdf1befb730f951965872ac2f6074c61477a56";
+      };
+    };
     "serve-index-1.9.1" = {
       name = "serve-index";
       packageName = "serve-index";
@@ -16443,6 +16479,15 @@ let
         sha1 = "f351d32969d32fa5d7a5567154263d928ae3bd1f";
       };
     };
+    "commander-2.11.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz";
+        sha512 = "2yi2hwf0bghfnv1fdgd4wvh7s0acjrgqbgww97ncm6i6s6ffs1zahnj48f6gqpqj6fsf0jigvnr0civ25k2160c38281r80wvg7jkkg";
+      };
+    };
     "diff-3.3.1" = {
       name = "diff";
       packageName = "diff";
@@ -16785,13 +16830,13 @@ let
         sha1 = "c6928946a0e06c5f8d6f8a9333469ffda46298a0";
       };
     };
-    "detect-libc-1.0.2" = {
+    "detect-libc-1.0.3" = {
       name = "detect-libc";
       packageName = "detect-libc";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.2.tgz";
-        sha1 = "71ad5d204bf17a6a6ca8f450c61454066ef461e1";
+        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz";
+        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
       };
     };
     "tar-pack-3.4.1" = {
@@ -18720,13 +18765,13 @@ let
         sha1 = "27d92fec34d27cfa42707d3b40d025ae9855f2df";
       };
     };
-    "snyk-1.49.4" = {
+    "snyk-1.49.5" = {
       name = "snyk";
       packageName = "snyk";
-      version = "1.49.4";
+      version = "1.49.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk/-/snyk-1.49.4.tgz";
-        sha1 = "e47829b609ad1179f63d784947ebcb748021d6e2";
+        url = "https://registry.npmjs.org/snyk/-/snyk-1.49.5.tgz";
+        sha1 = "3cce8e6863b1d7d95bbf1a6e4a571482f5aeb444";
       };
     };
     "spawn-please-0.3.0" = {
@@ -18819,13 +18864,13 @@ let
         sha512 = "3ar9rk77y39sydnriw6k9p5s15qpv1in81365l0yjbvn6qis7v4na98xfibsmfnnkjyblnd5qs2q1j6fabdfx4g2x5yi7ld6hdm6r3r";
       };
     };
-    "snyk-nuget-plugin-1.3.1" = {
+    "snyk-nuget-plugin-1.3.2" = {
       name = "snyk-nuget-plugin";
       packageName = "snyk-nuget-plugin";
-      version = "1.3.1";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.3.1.tgz";
-        sha512 = "3ssvsj12vxp2c18s2xgdw5djasnkm99igxjsr7a12k3zrvh6mmg0hbkvaq39c0pmq4l8qgjd60pf2m536lsqbgl17yja9yqa5fvxbd8";
+        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.3.2.tgz";
+        sha512 = "0r929vp7mqx07wqr1k9xzww6yawkvf2c3s3cyx38mm65r72v8p16acis2y8ircl6spzh5slxv5adqpd70l7khw0fi8x4smjs812cgzp";
       };
     };
     "snyk-policy-1.7.1" = {
@@ -19233,6 +19278,69 @@ let
         sha1 = "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a";
       };
     };
+    "cvss-1.0.2" = {
+      name = "cvss";
+      packageName = "cvss";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cvss/-/cvss-1.0.2.tgz";
+        sha1 = "df67e92bf12a796f49e928799c8db3ba74b9fcd6";
+      };
+    };
+    "https-proxy-agent-2.1.0" = {
+      name = "https-proxy-agent";
+      packageName = "https-proxy-agent";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.1.0.tgz";
+        sha512 = "17fg8xbji1zam9ksqgdfsyhqfw1nyniz8gwp54q0z7rz1pxw2m3agniawm870nn4j88m1w9l0lfkw5wa4qf1593if0cwicv814xad7w";
+      };
+    };
+    "nodesecurity-npm-utils-6.0.0" = {
+      name = "nodesecurity-npm-utils";
+      packageName = "nodesecurity-npm-utils";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nodesecurity-npm-utils/-/nodesecurity-npm-utils-6.0.0.tgz";
+        sha512 = "0v36pqap4xw0z9h00v73nhxv2llz5gi0y6vww0yjyqb2qyfkgb7cjpjgzscc6bviw4xi4nk223s9nlcnvkpwymllbva8d98bixnbd1l";
+      };
+    };
+    "wreck-12.5.1" = {
+      name = "wreck";
+      packageName = "wreck";
+      version = "12.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wreck/-/wreck-12.5.1.tgz";
+        sha512 = "3s89p8x1i16wg1prbm40z7l00611hzk2s7kkvph6fw4cx049p3gpviqmhbgqxxi9pfjz32mx3aj7qsygmfcnvasgs43rj1ynwdd944p";
+      };
+    };
+    "yargs-9.0.1" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "9.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz";
+        sha1 = "52acc23feecac34042078ee78c0c007f5085db4c";
+      };
+    };
+    "agent-base-4.1.2" = {
+      name = "agent-base";
+      packageName = "agent-base";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/agent-base/-/agent-base-4.1.2.tgz";
+        sha512 = "0vj8afdy0gk5q82i5zxx1ng4ylzipvyfnljbw948hvv1zr2653nr8jwiw73rp267a5c1rjl2xpxlc4rqvblc88sx0y0dfjs8yh90kjl";
+      };
+    };
+    "es6-promisify-5.0.0" = {
+      name = "es6-promisify";
+      packageName = "es6-promisify";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz";
+        sha1 = "5109d62f3e56ea967c4b63505aef08291c8a5203";
+      };
+    };
     "lokijs-1.5.1" = {
       name = "lokijs";
       packageName = "lokijs";
@@ -19344,13 +19452,13 @@ let
         sha1 = "78717d9b718ce7cab55e20b9f24388d5fa51d5c0";
       };
     };
-    "service-runner-2.4.2" = {
+    "service-runner-2.4.3" = {
       name = "service-runner";
       packageName = "service-runner";
-      version = "2.4.2";
+      version = "2.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/service-runner/-/service-runner-2.4.2.tgz";
-        sha1 = "dc2ca5dd29061296ed79139eba08c80918e00d94";
+        url = "https://registry.npmjs.org/service-runner/-/service-runner-2.4.3.tgz";
+        sha1 = "8fcb3d9e5da9b83efa507a8e30ee0aa7e025a0a7";
       };
     };
     "simplediff-0.1.1" = {
@@ -21437,13 +21545,13 @@ let
         sha1 = "3df373dbea587a9a7fef3e56311b68908f75c414";
       };
     };
-    "sanitize-html-1.15.0" = {
+    "sanitize-html-1.16.1" = {
       name = "sanitize-html";
       packageName = "sanitize-html";
-      version = "1.15.0";
+      version = "1.16.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.15.0.tgz";
-        sha512 = "26swjh5wivmim7l7g64f40vnr1dr7kyl5hr9csv84s2apa43rs19qypyf7y5r3a19v0pg9ibcs1spqykznq6jcxvmwrbwdihm78ndfn";
+        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.16.1.tgz";
+        sha512 = "29wgrj32g4l1a8l4fxr55xg8kkbdb9nn9n4birdp20bsr8z1bfd2wh3hp6avhjw25s53shw6kxwbjirgd4yyry6jzalmnh335qvwzy3";
       };
     };
     "linkify-it-1.2.4" = {
@@ -21464,6 +21572,24 @@ let
         sha1 = "64762c48618082518ac3df4ccf5d5886dae20347";
       };
     };
+    "lodash.isarray-4.0.0" = {
+      name = "lodash.isarray";
+      packageName = "lodash.isarray";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-4.0.0.tgz";
+        sha1 = "2aca496b28c4ca6d726715313590c02e6ea34403";
+      };
+    };
+    "postcss-6.0.14" = {
+      name = "postcss";
+      packageName = "postcss";
+      version = "6.0.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss/-/postcss-6.0.14.tgz";
+        sha512 = "2id33g6232s35n25daqrkz0bvzm2zmhlkfzmigkgia5q4jy9xg38spppmsdg0qswjankyi28wrbjsdwhczqfkx7h71gg8dmzz8p779l";
+      };
+    };
     "srcset-1.0.0" = {
       name = "srcset";
       packageName = "srcset";
@@ -21482,6 +21608,15 @@ let
         sha1 = "1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff";
       };
     };
+    "source-map-0.6.1" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
+        sha512 = "3p7hw8p69ikj5mwapmqkacsjnbvdfk5ylyamjg9x5izkl717xvzj0vk3fnmx1n4pf54h5rs7r8ig5kk4jv4ycqqj0hv75cnx6k1lf2j";
+      };
+    };
     "async-2.1.5" = {
       name = "async";
       packageName = "async";
@@ -22337,15 +22472,6 @@ let
         sha1 = "77466de589cd5d3c95f138aa78bc569a3cb5d27a";
       };
     };
-    "source-map-0.6.1" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
-        sha512 = "3p7hw8p69ikj5mwapmqkacsjnbvdfk5ylyamjg9x5izkl717xvzj0vk3fnmx1n4pf54h5rs7r8ig5kk4jv4ycqqj0hv75cnx6k1lf2j";
-      };
-    };
     "blueimp-md5-2.10.0" = {
       name = "blueimp-md5";
       packageName = "blueimp-md5";
@@ -22535,15 +22661,6 @@ let
         sha1 = "0b48420d978c01804cf0230b648861598225a119";
       };
     };
-    "yargs-9.0.1" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "9.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz";
-        sha1 = "52acc23feecac34042078ee78c0c007f5085db4c";
-      };
-    };
     "color-string-1.5.2" = {
       name = "color-string";
       packageName = "color-string";
@@ -22958,15 +23075,6 @@ let
         sha1 = "eec5c726eacef51b7f6b73c20db6e1b13b069c98";
       };
     };
-    "es6-promisify-5.0.0" = {
-      name = "es6-promisify";
-      packageName = "es6-promisify";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz";
-        sha1 = "5109d62f3e56ea967c4b63505aef08291c8a5203";
-      };
-    };
     "event-to-promise-0.8.0" = {
       name = "event-to-promise";
       packageName = "event-to-promise";
@@ -24639,7 +24747,7 @@ in
       sources."is-windows-0.2.0"
       sources."global-prefix-0.1.5"
       sources."homedir-polyfill-1.0.1"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."which-1.3.0"
       sources."parse-passwd-1.0.0"
       sources."isexe-2.0.0"
@@ -24879,7 +24987,7 @@ in
         dependencies = [
           sources."readable-stream-2.0.6"
           sources."async-2.6.0"
-          sources."commander-2.11.0"
+          sources."commander-2.12.0"
         ];
       })
       sources."ssh-key-to-pem-0.11.0"
@@ -24947,7 +25055,7 @@ in
       sources."has-color-0.1.7"
       sources."ansi-styles-2.2.1"
       sources."strip-ansi-3.0.1"
-      sources."@types/node-8.0.53"
+      sources."@types/node-7.0.48"
       sources."@types/request-2.0.8"
       sources."@types/uuid-3.4.3"
       sources."is-buffer-1.1.6"
@@ -25358,7 +25466,7 @@ in
       sources."got-1.2.2"
       sources."internal-ip-1.2.0"
       sources."keypress-0.2.1"
-      sources."mime-1.4.1"
+      sources."mime-1.5.0"
       sources."minimist-1.2.0"
       (sources."peerflix-0.34.0" // {
         dependencies = [
@@ -25582,8 +25690,9 @@ in
       sources."voc-1.0.0"
       sources."concat-stream-1.6.0"
       sources."exit-on-epipe-1.0.1"
-      sources."commander-2.11.0"
+      sources."commander-2.12.0"
       sources."typedarray-0.0.6"
+      sources."@types/node-7.0.48"
       sources."sax-1.2.4"
       sources."underscore-1.6.0"
     ];
@@ -25614,10 +25723,10 @@ in
   coinmon = nodeEnv.buildNodePackage {
     name = "coinmon";
     packageName = "coinmon";
-    version = "0.0.6";
+    version = "0.0.9";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coinmon/-/coinmon-0.0.6.tgz";
-      sha512 = "1aysmx7md64nwnd4m400bfvczgv04psbnf1k1dnz1vh7qprk77qsama7r5vi3r655p59qglgcg6k5523kfs23wm9c0k98agbbdf13f8";
+      url = "https://registry.npmjs.org/coinmon/-/coinmon-0.0.9.tgz";
+      sha512 = "3hzlrghgwyf65qhz9hm1w3np5djhjjl8f1v9bpa7bmqi3593q3i0589c6lbd493i802ai74pvdkx3zp6qb6r224nyz2jx80kqi5bvp6";
     };
     dependencies = [
       sources."axios-0.17.1"
@@ -25627,11 +25736,12 @@ in
         ];
       })
       sources."cli-table2-0.2.0"
-      sources."commander-2.11.0"
+      sources."commander-2.12.0"
+      sources."humanize-plus-1.8.2"
       sources."ora-1.3.0"
-      sources."follow-redirects-1.2.5"
+      sources."follow-redirects-1.2.6"
       sources."is-buffer-1.1.6"
-      sources."debug-2.6.9"
+      sources."debug-3.1.0"
       sources."ms-2.0.0"
       sources."babel-runtime-6.22.0"
       sources."chalk-1.1.3"
@@ -25671,6 +25781,7 @@ in
       sources."code-point-at-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."number-is-nan-1.0.1"
+      sources."@types/node-7.0.48"
       sources."cli-cursor-2.1.0"
       sources."cli-spinners-1.1.0"
       sources."log-symbols-1.0.2"
@@ -25996,9 +26107,10 @@ in
       sources."tunnel-agent-0.4.3"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
-      sources."commander-2.11.0"
+      sources."commander-2.12.0"
       sources."is-my-json-valid-2.16.1"
       sources."pinkie-promise-2.0.1"
+      sources."@types/node-7.0.48"
       sources."generate-function-2.0.0"
       sources."generate-object-property-1.2.0"
       sources."jsonpointer-4.0.1"
@@ -26070,7 +26182,7 @@ in
       sources."stream-shift-1.0.0"
       sources."rc-1.2.2"
       sources."deep-extend-0.4.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."strip-json-comments-2.0.1"
       sources."is-finite-1.0.2"
     ];
@@ -26216,7 +26328,7 @@ in
       sources."core-util-is-1.0.2"
       sources."extsprintf-1.3.0"
       sources."async-0.9.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."optimist-0.6.1"
       sources."wordwrap-0.0.3"
       sources."minimist-0.0.10"
@@ -26368,8 +26480,8 @@ in
       sources."JSONStream-1.3.1"
       sources."async-2.6.0"
       sources."aws4-1.6.0"
-      sources."aws-sdk-2.153.0"
-      sources."ini-1.3.4"
+      sources."aws-sdk-2.156.0"
+      sources."ini-1.3.5"
       sources."optimist-0.6.1"
       sources."request-2.83.0"
       sources."jsonparse-1.3.1"
@@ -26506,7 +26618,7 @@ in
       sources."uuid-3.1.0"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
-      sources."commander-2.11.0"
+      sources."commander-2.12.0"
       sources."is-my-json-valid-2.16.1"
       sources."pinkie-promise-2.0.1"
       sources."ansi-styles-3.2.0"
@@ -26514,6 +26626,7 @@ in
       sources."has-ansi-2.0.0"
       sources."strip-ansi-3.0.1"
       sources."ansi-regex-2.1.1"
+      sources."@types/node-7.0.48"
       sources."generate-function-2.0.0"
       sources."generate-object-property-1.2.0"
       sources."jsonpointer-4.0.1"
@@ -27467,7 +27580,7 @@ in
       sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."event-stream-0.5.3"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."lazy-1.0.11"
       sources."strip-json-comments-0.1.3"
       sources."caller-0.0.1"
@@ -27765,7 +27878,7 @@ in
       sources."global-prefix-0.1.5"
       sources."is-windows-0.2.0"
       sources."homedir-polyfill-1.0.1"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."which-1.3.0"
       sources."parse-passwd-1.0.0"
       sources."isexe-2.0.0"
@@ -27912,17 +28025,16 @@ in
   ionic = nodeEnv.buildNodePackage {
     name = "ionic";
     packageName = "ionic";
-    version = "3.18.0";
+    version = "3.19.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ionic/-/ionic-3.18.0.tgz";
-      sha512 = "26m3rzj32n72b812d8v0wjxw9dkmhi6qanjv85k0w847nrb9fqh12j2mgspadgnrv80j3whj7mbblc1q6kdf68mm8zsdhgzq6d5xbkx";
+      url = "https://registry.npmjs.org/ionic/-/ionic-3.19.0.tgz";
+      sha512 = "34pv92cpzkfq8r6q0k2r47n2pj7v5n0hnldrjgh443cacc1ifbbh5n0xfgrd93l88w3pwk7gc64xnipw37d6cbk5zv9kawy88b1j6bs";
     };
     dependencies = [
-      sources."@ionic/cli-framework-0.1.1"
-      sources."@ionic/cli-utils-1.18.0"
+      sources."@ionic/cli-framework-0.1.2"
+      sources."@ionic/cli-utils-1.19.0"
       sources."chalk-2.3.0"
       sources."opn-5.1.0"
-      sources."os-name-2.0.1"
       sources."semver-5.4.1"
       sources."tslib-1.8.0"
       sources."ncp-2.0.0"
@@ -27974,11 +28086,12 @@ in
       sources."diff-3.4.0"
       sources."elementtree-0.1.7"
       sources."express-4.16.2"
+      sources."http-proxy-middleware-0.17.4"
       sources."inquirer-3.3.0"
       sources."leek-0.0.24"
       sources."lodash-4.17.4"
       sources."minimist-0.0.8"
-      sources."proxy-middleware-0.15.0"
+      sources."os-name-2.0.1"
       sources."slice-ansi-1.0.0"
       sources."ssh-config-1.1.3"
       sources."string-width-2.1.1"
@@ -27986,7 +28099,7 @@ in
       sources."tiny-lr-1.0.5"
       sources."uuid-3.1.0"
       sources."wrap-ansi-3.0.1"
-      sources."ws-3.3.1"
+      sources."ws-3.3.2"
       sources."netmask-1.0.6"
       sources."archiver-utils-1.3.0"
       sources."async-2.6.0"
@@ -28020,7 +28133,7 @@ in
       sources."async-each-1.0.1"
       sources."glob-parent-2.0.0"
       sources."is-binary-path-1.0.1"
-      sources."is-glob-2.0.1"
+      sources."is-glob-3.1.0"
       sources."readdirp-2.1.0"
       sources."fsevents-1.1.3"
       sources."micromatch-2.3.11"
@@ -28030,7 +28143,7 @@ in
       sources."expand-brackets-0.1.5"
       sources."extglob-0.3.2"
       sources."filename-regex-2.0.1"
-      sources."is-extglob-1.0.0"
+      sources."is-extglob-2.1.1"
       sources."kind-of-3.2.2"
       sources."object.omit-2.0.1"
       sources."parse-glob-3.0.4"
@@ -28087,6 +28200,9 @@ in
       sources."forwarded-0.1.2"
       sources."ipaddr.js-1.5.2"
       sources."destroy-1.0.4"
+      sources."http-proxy-1.16.2"
+      sources."eventemitter3-1.2.0"
+      sources."requires-port-1.0.0"
       sources."ansi-escapes-3.0.0"
       sources."cli-cursor-2.1.0"
       sources."cli-width-2.2.0"
@@ -28118,6 +28234,8 @@ in
       sources."lodash._getnative-3.9.1"
       sources."lodash.isarguments-3.1.0"
       sources."lodash.isarray-3.0.4"
+      sources."macos-release-1.1.0"
+      sources."win-release-1.1.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."chownr-1.0.1"
       sources."minipass-2.2.1"
@@ -28135,20 +28253,18 @@ in
       sources."http-parser-js-0.4.9"
       sources."websocket-extensions-0.1.3"
       sources."async-limiter-1.0.0"
-      sources."ultron-1.1.0"
+      sources."ultron-1.1.1"
       sources."ansi-styles-3.2.0"
       sources."supports-color-4.5.0"
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."has-flag-2.0.0"
       sources."is-wsl-1.1.0"
-      sources."macos-release-1.1.0"
-      sources."win-release-1.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "A tool for creating and developing Ionic Framework mobile apps.";
-      homepage = http://ionicframework.com/;
+      homepage = https://ionicframework.com/;
       license = "MIT";
     };
     production = true;
@@ -28260,11 +28376,11 @@ in
       sources."chai-4.1.2"
       sources."chai-as-promised-7.1.1"
       sources."chalk-2.3.0"
-      sources."commander-2.11.0"
+      sources."commander-2.12.0"
       sources."fast-json-patch-2.0.6"
       sources."glob-7.1.2"
       sources."iterare-0.0.8"
-      (sources."jaeger-client-3.6.0" // {
+      (sources."jaeger-client-3.7.0" // {
         dependencies = [
           sources."opentracing-0.13.0"
         ];
@@ -28292,6 +28408,7 @@ in
       sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."has-flag-2.0.0"
+      sources."@types/node-7.0.48"
       sources."deep-equal-1.0.1"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
@@ -28422,12 +28539,13 @@ in
       sources."mkdirp-0.5.1"
       sources."nopt-3.0.6"
       sources."proto-list-1.2.4"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."bluebird-3.5.1"
-      sources."commander-2.11.0"
+      sources."commander-2.12.0"
       sources."lru-cache-3.2.0"
       sources."semver-5.4.1"
       sources."sigmund-1.0.1"
+      sources."@types/node-7.0.48"
       sources."pseudomap-1.0.2"
       sources."minimist-0.0.8"
       sources."abbrev-1.1.1"
@@ -28488,7 +28606,7 @@ in
       sha512 = "0m7az6dvfn65fbak1y42663yxkachpj1fyyxxpdhkpny3bbsmgn0hpp8fb5sllmzbfyqspkqh1icpqb14pbsfnbsj7w665xmnj4a9g5";
     };
     dependencies = [
-      sources."commander-2.11.0"
+      sources."commander-2.12.0"
       sources."graphlib-2.1.1"
       sources."js-yaml-3.10.0"
       sources."lodash-4.17.4"
@@ -28496,6 +28614,7 @@ in
       sources."path-loader-1.0.4"
       sources."slash-1.0.0"
       sources."uri-js-3.0.2"
+      sources."@types/node-7.0.48"
       sources."argparse-1.0.9"
       sources."esprima-4.0.0"
       sources."sprintf-js-1.0.3"
@@ -28507,7 +28626,7 @@ in
       sources."form-data-2.3.1"
       sources."formidable-1.1.1"
       sources."methods-1.1.2"
-      sources."mime-1.4.1"
+      sources."mime-1.5.0"
       sources."qs-6.5.1"
       sources."readable-stream-2.3.3"
       sources."ms-2.0.0"
@@ -28714,7 +28833,7 @@ in
       sources."imurmurhash-0.1.4"
       sources."global-dirs-0.1.1"
       sources."is-path-inside-1.0.0"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."path-is-inside-1.0.2"
       sources."package-json-4.0.1"
       sources."got-6.7.1"
@@ -28814,7 +28933,7 @@ in
       sources."isbinaryfile-3.0.2"
       sources."lodash-3.10.1"
       sources."log4js-0.6.38"
-      sources."mime-1.4.1"
+      sources."mime-1.5.0"
       sources."minimatch-3.0.4"
       sources."optimist-0.6.1"
       sources."qjobs-1.1.5"
@@ -29215,7 +29334,7 @@ in
       sources."lodash.templatesettings-4.1.0"
       sources."gitconfiglocal-1.0.0"
       sources."pify-3.0.0"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."is-builtin-module-1.0.0"
       sources."validate-npm-package-license-3.0.1"
       sources."builtin-modules-1.1.1"
@@ -29656,7 +29775,7 @@ in
       sources."socket.io-parser-3.1.2"
       sources."base64id-1.0.0"
       sources."engine.io-parser-2.1.1"
-      sources."ws-3.3.1"
+      sources."ws-3.3.2"
       sources."uws-0.14.5"
       sources."after-0.8.2"
       sources."arraybuffer.slice-0.0.6"
@@ -29664,7 +29783,7 @@ in
       sources."blob-0.0.4"
       sources."has-binary2-1.0.2"
       sources."async-limiter-1.0.0"
-      sources."ultron-1.1.0"
+      sources."ultron-1.1.1"
       sources."backo2-1.0.2"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.2.1"
@@ -29904,9 +30023,10 @@ in
       sha1 = "0161a13e2b3378759e36b9e05be34b46a06decd5";
     };
     dependencies = [
-      sources."commander-2.11.0"
+      sources."commander-2.12.0"
       sources."js-yaml-3.10.0"
       sources."json-refs-2.1.7"
+      sources."@types/node-7.0.48"
       sources."argparse-1.0.9"
       sources."esprima-4.0.0"
       sources."sprintf-js-1.0.3"
@@ -29924,7 +30044,7 @@ in
       sources."form-data-2.3.1"
       sources."formidable-1.1.1"
       sources."methods-1.1.2"
-      sources."mime-1.4.1"
+      sources."mime-1.5.0"
       sources."qs-6.5.1"
       sources."readable-stream-2.3.3"
       sources."ms-2.0.0"
@@ -30090,7 +30210,7 @@ in
       sources."number-is-nan-1.0.1"
       sources."ansi-regex-2.1.1"
       sources."config-chain-1.1.11"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."mkdirp-0.3.5"
       sources."nopt-3.0.6"
       sources."uid-number-0.0.5"
@@ -30382,7 +30502,7 @@ in
       sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."deep-extend-0.4.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."strip-json-comments-2.0.1"
       sources."truncate-1.0.5"
       sources."nan-2.8.0"
@@ -30391,7 +30511,7 @@ in
       sources."npmlog-4.1.2"
       sources."request-2.81.0"
       sources."hawk-3.1.3"
-      sources."detect-libc-1.0.2"
+      sources."detect-libc-1.0.3"
       sources."tar-2.2.1"
       sources."tar-pack-3.4.1"
       sources."abbrev-1.1.1"
@@ -30496,7 +30616,7 @@ in
       sources."hawk-3.1.3"
       sources."rimraf-2.6.2"
       sources."semver-5.4.1"
-      sources."detect-libc-1.0.2"
+      sources."detect-libc-1.0.3"
       sources."tar-2.2.1"
       sources."tar-pack-3.4.1"
       sources."minimist-1.2.0"
@@ -30529,7 +30649,7 @@ in
       sources."number-is-nan-1.0.1"
       sources."ansi-regex-2.1.1"
       sources."deep-extend-0.4.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."strip-json-comments-2.0.1"
       sources."aws-sign2-0.6.0"
       sources."aws4-1.6.0"
@@ -30751,7 +30871,7 @@ in
       sources."imurmurhash-0.1.4"
       sources."global-dirs-0.1.1"
       sources."is-path-inside-1.0.0"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."path-is-inside-1.0.2"
       sources."package-json-4.0.1"
       sources."got-6.7.1"
@@ -30813,7 +30933,7 @@ in
       sources."media-typer-0.3.0"
       (sources."mqtt-2.9.0" // {
         dependencies = [
-          sources."ws-3.3.1"
+          sources."ws-3.3.2"
         ];
       })
       sources."multer-1.3.0"
@@ -31108,7 +31228,7 @@ in
       sources."is-fullwidth-code-point-1.0.0"
       sources."number-is-nan-1.0.1"
       sources."deep-extend-0.4.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."strip-json-comments-2.0.1"
       sources."block-stream-0.0.9"
       sources."fstream-1.0.11"
@@ -31368,7 +31488,7 @@ in
       sources."config-chain-1.1.11"
       sources."osenv-0.0.3"
       sources."nopt-2.2.1"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."proto-list-1.2.4"
       sources."abbrev-1.1.1"
       sources."block-stream-0.0.9"
@@ -31401,7 +31521,7 @@ in
       sources."chalk-1.1.3"
       sources."cint-8.2.1"
       sources."cli-table-0.3.1"
-      sources."commander-2.11.0"
+      sources."commander-2.12.0"
       sources."fast-diff-1.1.2"
       sources."find-up-1.1.2"
       sources."get-stdin-5.0.1"
@@ -31416,7 +31536,7 @@ in
       })
       sources."semver-5.4.1"
       sources."semver-utils-1.1.1"
-      (sources."snyk-1.49.4" // {
+      (sources."snyk-1.49.5" // {
         dependencies = [
           sources."update-notifier-0.5.0"
         ];
@@ -31434,6 +31554,7 @@ in
       sources."supports-color-4.5.0"
       sources."ansi-regex-3.0.0"
       sources."colors-1.0.3"
+      sources."@types/node-7.0.48"
       sources."path-exists-2.1.0"
       sources."pinkie-promise-2.0.1"
       sources."pinkie-2.0.4"
@@ -31454,7 +31575,7 @@ in
       sources."snyk-gradle-plugin-1.2.0"
       sources."snyk-module-1.8.1"
       sources."snyk-mvn-plugin-1.1.0"
-      sources."snyk-nuget-plugin-1.3.1"
+      sources."snyk-nuget-plugin-1.3.2"
       sources."snyk-policy-1.7.1"
       sources."snyk-python-plugin-1.4.0"
       sources."snyk-recursive-readdir-2.0.0"
@@ -31505,7 +31626,7 @@ in
       sources."win-release-1.1.1"
       sources."nconf-0.7.2"
       sources."path-is-absolute-1.0.1"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."yargs-4.8.1"
       sources."camelcase-4.1.0"
       sources."cliui-3.2.0"
@@ -31671,6 +31792,126 @@ in
     };
     production = true;
   };
+  nsp = nodeEnv.buildNodePackage {
+    name = "nsp";
+    packageName = "nsp";
+    version = "3.1.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/nsp/-/nsp-3.1.0.tgz";
+      sha512 = "0hbwm017cl5ybzw14l44mbinhnv38jrnbpg1ngkdibhc5hiimm8hqr2pi5dzh6flvxr0x6nym93029i7j41clr6rlvn1ab6r5cgdl4f";
+    };
+    dependencies = [
+      sources."chalk-2.3.0"
+      sources."cli-table2-0.2.0"
+      sources."cvss-1.0.2"
+      sources."https-proxy-agent-2.1.0"
+      sources."inquirer-3.3.0"
+      sources."nodesecurity-npm-utils-6.0.0"
+      sources."semver-5.4.1"
+      sources."wreck-12.5.1"
+      sources."yargs-9.0.1"
+      sources."ansi-styles-3.2.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."supports-color-4.5.0"
+      sources."color-convert-1.9.1"
+      sources."color-name-1.1.3"
+      sources."has-flag-2.0.0"
+      sources."lodash-4.17.4"
+      sources."string-width-1.0.2"
+      sources."colors-1.1.2"
+      sources."code-point-at-1.1.0"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."strip-ansi-3.0.1"
+      sources."number-is-nan-1.0.1"
+      sources."ansi-regex-2.1.1"
+      sources."agent-base-4.1.2"
+      sources."debug-2.6.9"
+      sources."es6-promisify-5.0.0"
+      sources."es6-promise-4.1.1"
+      sources."ms-2.0.0"
+      sources."ansi-escapes-3.0.0"
+      sources."cli-cursor-2.1.0"
+      sources."cli-width-2.2.0"
+      sources."external-editor-2.1.0"
+      sources."figures-2.0.0"
+      sources."mute-stream-0.0.7"
+      sources."run-async-2.3.0"
+      sources."rx-lite-4.0.8"
+      sources."rx-lite-aggregates-4.0.8"
+      sources."through-2.3.8"
+      sources."restore-cursor-2.0.0"
+      sources."onetime-2.0.1"
+      sources."signal-exit-3.0.2"
+      sources."mimic-fn-1.1.0"
+      sources."chardet-0.4.0"
+      sources."iconv-lite-0.4.19"
+      sources."tmp-0.0.33"
+      sources."os-tmpdir-1.0.2"
+      sources."is-promise-2.1.0"
+      sources."boom-5.2.0"
+      sources."hoek-4.2.0"
+      sources."camelcase-4.1.0"
+      sources."cliui-3.2.0"
+      sources."decamelize-1.2.0"
+      sources."get-caller-file-1.0.2"
+      sources."os-locale-2.1.0"
+      sources."read-pkg-up-2.0.0"
+      sources."require-directory-2.1.1"
+      sources."require-main-filename-1.0.1"
+      sources."set-blocking-2.0.0"
+      sources."which-module-2.0.0"
+      sources."y18n-3.2.1"
+      sources."yargs-parser-7.0.0"
+      sources."wrap-ansi-2.1.0"
+      sources."execa-0.7.0"
+      sources."lcid-1.0.0"
+      sources."mem-1.1.0"
+      sources."cross-spawn-5.1.0"
+      sources."get-stream-3.0.0"
+      sources."is-stream-1.1.0"
+      sources."npm-run-path-2.0.2"
+      sources."p-finally-1.0.0"
+      sources."strip-eof-1.0.0"
+      sources."lru-cache-4.1.1"
+      sources."shebang-command-1.2.0"
+      sources."which-1.3.0"
+      sources."pseudomap-1.0.2"
+      sources."yallist-2.1.2"
+      sources."shebang-regex-1.0.0"
+      sources."isexe-2.0.0"
+      sources."path-key-2.0.1"
+      sources."invert-kv-1.0.0"
+      sources."find-up-2.1.0"
+      sources."read-pkg-2.0.0"
+      sources."locate-path-2.0.0"
+      sources."p-locate-2.0.0"
+      sources."path-exists-3.0.0"
+      sources."p-limit-1.1.0"
+      sources."load-json-file-2.0.0"
+      sources."normalize-package-data-2.4.0"
+      sources."path-type-2.0.0"
+      sources."graceful-fs-4.1.11"
+      sources."parse-json-2.2.0"
+      sources."pify-2.3.0"
+      sources."strip-bom-3.0.0"
+      sources."error-ex-1.3.1"
+      sources."is-arrayish-0.2.1"
+      sources."hosted-git-info-2.5.0"
+      sources."is-builtin-module-1.0.0"
+      sources."validate-npm-package-license-3.0.1"
+      sources."builtin-modules-1.1.1"
+      sources."spdx-correct-1.0.2"
+      sources."spdx-expression-parse-1.0.4"
+      sources."spdx-license-ids-1.2.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "The Node Security (nodesecurity.io) command line interface";
+      homepage = "https://github.com/nodesecurity/nsp#readme";
+      license = "Apache-2.0";
+    };
+    production = true;
+  };
   ocaml-language-server = nodeEnv.buildNodePackage {
     name = "ocaml-language-server";
     packageName = "ocaml-language-server";
@@ -31753,7 +31994,7 @@ in
       sources."request-2.83.0"
       sources."semver-5.4.1"
       sources."serve-favicon-2.4.5"
-      sources."service-runner-2.4.2"
+      sources."service-runner-2.4.3"
       sources."simplediff-0.1.1"
       sources."uuid-3.1.0"
       sources."yargs-7.1.0"
@@ -31986,7 +32227,7 @@ in
       sources."clivas-0.2.0"
       sources."inquirer-1.2.3"
       sources."keypress-0.2.1"
-      sources."mime-1.4.1"
+      sources."mime-1.5.0"
       sources."network-address-1.1.2"
       sources."numeral-1.5.6"
       sources."open-0.0.5"
@@ -32130,7 +32371,7 @@ in
       sources."mimic-response-1.0.0"
       sources."end-of-stream-0.1.5"
       sources."deep-extend-0.4.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."strip-json-comments-2.0.1"
       sources."bitfield-0.1.0"
       sources."bncode-0.2.3"
@@ -32341,7 +32582,7 @@ in
       sources."blob-0.0.4"
       sources."wtf-8-1.0.0"
       sources."options-0.0.6"
-      sources."ultron-1.1.0"
+      sources."ultron-1.1.1"
       sources."backo2-1.0.2"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.1.2"
@@ -32520,7 +32761,7 @@ in
       sources."sntp-1.0.9"
       sources."delayed-stream-1.0.0"
       sources."chalk-1.1.3"
-      sources."commander-2.11.0"
+      sources."commander-2.12.0"
       sources."is-my-json-valid-2.16.1"
       sources."ansi-styles-2.2.1"
       sources."escape-string-regexp-1.0.5"
@@ -32528,6 +32769,7 @@ in
       sources."strip-ansi-3.0.1"
       sources."supports-color-2.0.0"
       sources."ansi-regex-2.1.1"
+      sources."@types/node-7.0.48"
       sources."generate-function-2.0.0"
       sources."generate-object-property-1.2.0"
       sources."jsonpointer-4.0.1"
@@ -32716,7 +32958,7 @@ in
       sources."concat-map-0.0.1"
       sources."optimist-0.6.1"
       sources."colors-1.1.2"
-      sources."mime-1.4.1"
+      sources."mime-1.5.0"
       sources."mute-stream-0.0.7"
       sources."os-tmpdir-1.0.2"
       sources."rimraf-2.2.8"
@@ -32784,7 +33026,7 @@ in
     };
     dependencies = [
       sources."body-parser-1.18.2"
-      sources."commander-2.11.0"
+      sources."commander-2.12.0"
       sources."cookie-parser-1.4.3"
       sources."express-4.16.2"
       sources."less-2.7.3"
@@ -32818,6 +33060,7 @@ in
       sources."media-typer-0.3.0"
       sources."mime-types-2.1.17"
       sources."mime-db-1.30.0"
+      sources."@types/node-7.0.48"
       sources."cookie-0.3.1"
       sources."cookie-signature-1.0.6"
       sources."accepts-1.3.4"
@@ -32948,13 +33191,13 @@ in
       sources."once-1.4.0"
       sources."wrappy-1.0.2"
       sources."deep-extend-0.4.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."strip-json-comments-2.0.1"
       sources."unzip-response-1.0.2"
       sources."chownr-1.0.1"
       sources."tar-stream-1.5.5"
       sources."bl-1.2.1"
-      sources."ultron-1.1.0"
+      sources."ultron-1.1.1"
       sources."pug-code-gen-2.0.0"
       sources."pug-filters-2.1.5"
       sources."pug-lexer-3.1.0"
@@ -33022,7 +33265,7 @@ in
     dependencies = [
       sources."commoner-0.10.8"
       sources."jstransform-10.1.0"
-      sources."commander-2.11.0"
+      sources."commander-2.12.0"
       sources."detective-4.5.0"
       sources."glob-5.0.15"
       sources."graceful-fs-4.1.11"
@@ -33031,6 +33274,7 @@ in
       sources."private-0.1.8"
       sources."q-1.5.1"
       sources."recast-0.11.23"
+      sources."@types/node-7.0.48"
       sources."acorn-4.0.13"
       sources."defined-1.0.0"
       sources."inflight-1.0.6"
@@ -33330,7 +33574,7 @@ in
       sources."imurmurhash-0.1.4"
       sources."global-dirs-0.1.1"
       sources."is-path-inside-1.0.0"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."path-is-inside-1.0.2"
       sources."package-json-4.0.1"
       sources."got-6.7.1"
@@ -33370,7 +33614,7 @@ in
     dependencies = [
       sources."bcrypt-nodejs-0.0.3"
       sources."cheerio-0.17.0"
-      sources."commander-2.11.0"
+      sources."commander-2.12.0"
       sources."event-stream-3.3.4"
       sources."express-4.16.2"
       sources."lodash-2.4.2"
@@ -33397,6 +33641,7 @@ in
       sources."isarray-0.0.1"
       sources."string_decoder-0.10.31"
       sources."inherits-2.0.3"
+      sources."@types/node-7.0.48"
       sources."through-2.3.8"
       sources."duplexer-0.1.1"
       sources."from-0.1.7"
@@ -33554,7 +33799,7 @@ in
       sources."express-json5-0.1.0"
       sources."body-parser-1.18.2"
       sources."compression-1.7.1"
-      sources."commander-2.11.0"
+      sources."commander-2.12.0"
       sources."js-yaml-3.10.0"
       sources."cookies-0.7.1"
       sources."request-2.83.0"
@@ -33634,6 +33879,7 @@ in
       sources."compressible-2.0.12"
       sources."on-headers-1.0.1"
       sources."safe-buffer-5.1.1"
+      sources."@types/node-7.0.48"
       sources."argparse-1.0.9"
       sources."esprima-4.0.0"
       sources."sprintf-js-1.0.3"
@@ -33704,16 +33950,20 @@ in
       sources."optimist-0.3.7"
       sources."uglify-js-2.3.6"
       sources."wordwrap-0.0.3"
-      sources."source-map-0.1.43"
+      sources."source-map-0.6.1"
       sources."amdefine-1.0.1"
       sources."markdown-it-4.4.0"
-      sources."sanitize-html-1.15.0"
+      sources."sanitize-html-1.16.1"
       sources."entities-1.1.1"
       sources."linkify-it-1.2.4"
       sources."mdurl-1.0.1"
       sources."uc.micro-1.0.3"
       sources."htmlparser2-3.9.2"
+      sources."lodash.clonedeep-4.5.0"
       sources."lodash.escaperegexp-4.1.2"
+      sources."lodash.isarray-4.0.0"
+      sources."lodash.mergewith-4.6.0"
+      sources."postcss-6.0.14"
       sources."srcset-1.0.0"
       sources."xtend-4.0.1"
       sources."domelementtype-1.1.3"
@@ -33724,6 +33974,13 @@ in
       sources."process-nextick-args-1.0.7"
       sources."string_decoder-0.10.31"
       sources."util-deprecate-1.0.2"
+      sources."chalk-2.3.0"
+      sources."supports-color-4.5.0"
+      sources."ansi-styles-3.2.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."color-convert-1.9.1"
+      sources."color-name-1.1.3"
+      sources."has-flag-2.0.0"
       sources."array-uniq-1.0.3"
       sources."number-is-nan-1.0.1"
       sources."jsonparse-1.3.1"
@@ -33827,7 +34084,7 @@ in
         ];
       })
       sources."keep-alive-agent-0.0.1"
-      sources."mime-1.4.1"
+      sources."mime-1.5.0"
       sources."negotiator-0.5.3"
       sources."node-uuid-1.4.8"
       sources."once-1.3.0"
@@ -33910,7 +34167,7 @@ in
       sources."accepts-1.3.3"
       sources."base64id-1.0.0"
       sources."engine.io-parser-2.1.1"
-      sources."ws-3.3.1"
+      sources."ws-3.3.2"
       sources."cookie-0.3.1"
       sources."uws-0.14.5"
       sources."mime-types-2.1.17"
@@ -33924,7 +34181,7 @@ in
       sources."isarray-2.0.1"
       sources."async-limiter-1.0.0"
       sources."safe-buffer-5.1.1"
-      sources."ultron-1.1.0"
+      sources."ultron-1.1.1"
       sources."backo2-1.0.2"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.2.1"
@@ -34258,7 +34515,7 @@ in
       sources."extend-3.0.1"
       sources."semver-5.4.1"
       sources."deep-extend-0.4.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."strip-json-comments-2.0.1"
       sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
@@ -34468,7 +34725,7 @@ in
       sources."forwarded-0.1.2"
       sources."ipaddr.js-1.4.0"
       sources."destroy-1.0.4"
-      sources."mime-1.4.1"
+      sources."mime-1.5.0"
       sources."crc-3.4.4"
       sources."on-headers-1.0.1"
       sources."uid-safe-2.1.5"
@@ -34584,7 +34841,7 @@ in
       sources."stack-trace-0.0.9"
       sources."timed-out-4.0.1"
       sources."deep-extend-0.4.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."strip-json-comments-2.0.1"
       sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
@@ -34601,7 +34858,7 @@ in
       sources."socket.io-parser-3.1.2"
       sources."base64id-1.0.0"
       sources."engine.io-parser-2.1.1"
-      sources."ws-3.3.1"
+      sources."ws-3.3.2"
       sources."uws-0.14.5"
       sources."after-0.8.2"
       sources."arraybuffer.slice-0.0.6"
@@ -34609,7 +34866,7 @@ in
       sources."blob-0.0.4"
       sources."has-binary2-1.0.2"
       sources."async-limiter-1.0.0"
-      sources."ultron-1.1.0"
+      sources."ultron-1.1.1"
       sources."backo2-1.0.2"
       sources."component-bind-1.0.0"
       sources."engine.io-client-3.1.4"
@@ -34703,7 +34960,7 @@ in
       sources."osenv-0.0.3"
       sources."nopt-2.2.1"
       sources."semver-2.3.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."proto-list-1.2.4"
       sources."wrappy-1.0.2"
       sources."abbrev-1.1.1"
@@ -34784,7 +35041,7 @@ in
       sources."sntp-1.0.9"
       sources."delayed-stream-1.0.0"
       sources."chalk-1.1.3"
-      sources."commander-2.11.0"
+      sources."commander-2.12.0"
       sources."is-my-json-valid-2.16.1"
       sources."ansi-styles-2.2.1"
       sources."escape-string-regexp-1.0.5"
@@ -34792,6 +35049,7 @@ in
       sources."strip-ansi-3.0.1"
       sources."supports-color-2.0.0"
       sources."ansi-regex-2.1.1"
+      sources."@types/node-7.0.48"
       sources."generate-function-2.0.0"
       sources."generate-object-property-1.2.0"
       sources."jsonpointer-4.0.1"
@@ -35227,7 +35485,7 @@ in
       sources."safe-buffer-5.1.1"
       sources."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
-      sources."@types/node-8.0.53"
+      sources."@types/node-7.0.48"
       sources."wcwidth-1.0.1"
       sources."defaults-1.0.3"
       sources."clone-1.0.3"
@@ -35493,7 +35751,7 @@ in
       sources."adm-zip-0.4.7"
       sources."archiver-1.3.0"
       sources."fs-extra-2.1.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."jetpack-id-1.0.0"
       sources."lazystream-1.0.0"
       sources."xml2js-0.4.19"
@@ -35786,7 +36044,7 @@ in
       sources."cross-spawn-async-2.2.5"
       sources."object-assign-4.1.1"
       sources."deep-extend-0.4.2"
-      sources."ini-1.3.4"
+      sources."ini-1.3.5"
       sources."minimist-1.2.0"
       sources."strip-json-comments-2.0.1"
       sources."create-error-class-3.0.2"
diff --git a/pkgs/development/tools/misc/gdbgui/default.nix b/pkgs/development/tools/misc/gdbgui/default.nix
new file mode 100644
index 000000000000..0e6cba37cfc8
--- /dev/null
+++ b/pkgs/development/tools/misc/gdbgui/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, python27Packages, gdb, pkgs }:
+let
+  deps = import ./requirements.nix { inherit pkgs; };
+in
+python27Packages.buildPythonApplication rec {
+    name = "${pname}-${version}";
+    pname = "gdbgui";
+    version = "0.9.0.1";
+
+    buildInputs = [ gdb ];
+    propagatedBuildInputs = builtins.attrValues deps.packages;
+
+    src = python27Packages.fetchPypi {
+      inherit pname version;
+      sha256 = "1gjc7dycrc4zafhrd9yib7qnh4agh7cpa6rlw4p5405rlmwmsbj3";
+    };
+
+    postInstall = ''
+      wrapProgram $out/bin/gdbgui \
+                  --prefix PATH : ${stdenv.lib.makeBinPath [ gdb ]}
+    '';
+
+    # make /etc/protocols accessible to fix socket.getprotobyname('tcp') in sandbox
+    preCheck = stdenv.lib.optionalString stdenv.isLinux ''
+      export NIX_REDIRECTS=/etc/protocols=${pkgs.iana-etc}/etc/protocols \
+             LD_PRELOAD=${pkgs.libredirect}/lib/libredirect.so
+    '';
+
+    postCheck = stdenv.lib.optionalString stdenv.isLinux ''
+      unset NIX_REDIRECTS LD_PRELOAD
+    '';
+
+    meta = with stdenv.lib; {
+      description = "A browser-based frontend for GDB";
+      license = licenses.gpl3;
+      platforms = platforms.unix;
+      maintainers = with maintainers; [ yrashk ];
+    };
+
+  }
diff --git a/pkgs/development/tools/misc/gdbgui/requirements.nix b/pkgs/development/tools/misc/gdbgui/requirements.nix
new file mode 100644
index 000000000000..d3c7f31eaebf
--- /dev/null
+++ b/pkgs/development/tools/misc/gdbgui/requirements.nix
@@ -0,0 +1,404 @@
+# generated using pypi2nix tool (version: 1.8.1)
+# See more at: https://github.com/garbas/pypi2nix
+#
+# COMMAND:
+#   pypi2nix -V 2.7 -r requirements.txt
+#
+
+{ pkgs ? import <nixpkgs> {}
+}:
+
+let
+
+  inherit (pkgs) makeWrapper;
+  inherit (pkgs.stdenv.lib) fix' extends inNixShell;
+
+  pythonPackages =
+  import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" {
+    inherit pkgs;
+    inherit (pkgs) stdenv;
+    python = pkgs.python27Full;
+    # patching pip so it does not try to remove files when running nix-shell
+    overrides =
+      self: super: {
+        bootstrapped-pip = super.bootstrapped-pip.overrideDerivation (old: {
+          patchPhase = old.patchPhase + ''
+            sed -i               -e "s|paths_to_remove.remove(auto_confirm)|#paths_to_remove.remove(auto_confirm)|"                -e "s|self.uninstalled = paths_to_remove|#self.uninstalled = paths_to_remove|"                  $out/${pkgs.python35.sitePackages}/pip/req/req_install.py
+          '';
+        });
+      };
+  };
+
+  commonBuildInputs = [];
+  commonDoCheck = false;
+
+  withPackages = pkgs':
+    let
+      pkgs = builtins.removeAttrs pkgs' ["__unfix__"];
+      interpreter = pythonPackages.buildPythonPackage {
+        name = "python27Full-interpreter";
+        buildInputs = [ makeWrapper ] ++ (builtins.attrValues pkgs);
+        buildCommand = ''
+          mkdir -p $out/bin
+          ln -s ${pythonPackages.python.interpreter}               $out/bin/${pythonPackages.python.executable}
+          for dep in ${builtins.concatStringsSep " "               (builtins.attrValues pkgs)}; do
+            if [ -d "$dep/bin" ]; then
+              for prog in "$dep/bin/"*; do
+                if [ -f $prog ]; then
+                  ln -s $prog $out/bin/`basename $prog`
+                fi
+              done
+            fi
+          done
+          for prog in "$out/bin/"*; do
+            wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH"
+          done
+          pushd $out/bin
+          ln -s ${pythonPackages.python.executable} python
+          ln -s ${pythonPackages.python.executable}               python2
+          popd
+        '';
+        passthru.interpreter = pythonPackages.python;
+      };
+    in {
+      __old = pythonPackages;
+      inherit interpreter;
+      mkDerivation = pythonPackages.buildPythonPackage;
+      packages = pkgs;
+      overrideDerivation = drv: f:
+        pythonPackages.buildPythonPackage (drv.drvAttrs // f drv.drvAttrs //                                            { meta = drv.meta; });
+      withPackages = pkgs'':
+        withPackages (pkgs // pkgs'');
+    };
+
+  python = withPackages {};
+
+  generated = self: {
+
+    "Flask" = python.mkDerivation {
+      name = "Flask-0.12.2";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/eb/12/1c7bd06fcbd08ba544f25bf2c6612e305a70ea51ca0eda8007344ec3f123/Flask-0.12.2.tar.gz"; sha256 = "49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."Jinja2"
+      self."Werkzeug"
+      self."click"
+      self."itsdangerous"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://github.com/pallets/flask/";
+        license = licenses.bsdOriginal;
+        description = "A microframework based on Werkzeug, Jinja2 and good intentions";
+      };
+    };
+
+
+
+    "Flask-Compress" = python.mkDerivation {
+      name = "Flask-Compress-1.4.0";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/0e/2a/378bd072928f6d92fd8c417d66b00c757dc361c0405a46a0134de6fd323d/Flask-Compress-1.4.0.tar.gz"; sha256 = "468693f4ddd11ac6a41bca4eb5f94b071b763256d54136f77957cfee635badb3"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."Flask"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "https://libwilliam.github.io/flask-compress/";
+        license = licenses.mit;
+        description = "Compress responses in your Flask app with gzip.";
+      };
+    };
+
+
+
+    "Flask-SocketIO" = python.mkDerivation {
+      name = "Flask-SocketIO-2.9.2";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/e7/e0/c50a1b47498897b228764667cd006ca7d45374b79a8e5e2fa3e03ba4717c/Flask-SocketIO-2.9.2.tar.gz"; sha256 = "0fb686f9d85f4f34dc6609f62fa96fe15176a6ea7e6179149d319fabc54c543b"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."Flask"
+      self."python-engineio"
+      self."python-socketio"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://github.com/miguelgrinberg/Flask-SocketIO/";
+        license = licenses.mit;
+        description = "Socket.IO integration for Flask applications";
+      };
+    };
+
+
+
+    "Jinja2" = python.mkDerivation {
+      name = "Jinja2-2.10";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/56/e6/332789f295cf22308386cf5bbd1f4e00ed11484299c5d7383378cf48ba47/Jinja2-2.10.tar.gz"; sha256 = "f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."MarkupSafe"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://jinja.pocoo.org/";
+        license = licenses.bsdOriginal;
+        description = "A small but fast and easy to use stand-alone template engine written in pure python.";
+      };
+    };
+
+
+
+    "MarkupSafe" = python.mkDerivation {
+      name = "MarkupSafe-1.0";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz"; sha256 = "a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://github.com/pallets/markupsafe";
+        license = licenses.bsdOriginal;
+        description = "Implements a XML/HTML/XHTML Markup safe string for Python";
+      };
+    };
+
+
+
+    "Pygments" = python.mkDerivation {
+      name = "Pygments-2.2.0";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/71/2a/2e4e77803a8bd6408a2903340ac498cb0a2181811af7c9ec92cb70b0308a/Pygments-2.2.0.tar.gz"; sha256 = "dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://pygments.org/";
+        license = licenses.bsdOriginal;
+        description = "Pygments is a syntax highlighting package written in Python.";
+      };
+    };
+
+
+
+    "Werkzeug" = python.mkDerivation {
+      name = "Werkzeug-0.12.2";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/56/41/c095a77eb2dd69bf278dd664a97d3416af04e9ba1a00b8c138f772741d31/Werkzeug-0.12.2.tar.gz"; sha256 = "903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://werkzeug.pocoo.org/";
+        license = licenses.bsdOriginal;
+        description = "The Swiss Army knife of Python web development";
+      };
+    };
+
+
+
+    "click" = python.mkDerivation {
+      name = "click-6.7";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/95/d9/c3336b6b5711c3ab9d1d3a80f1a3e2afeb9d8c02a7166462f6cc96570897/click-6.7.tar.gz"; sha256 = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://github.com/mitsuhiko/click";
+        license = licenses.bsdOriginal;
+        description = "A simple wrapper around optparse for powerful command line utilities.";
+      };
+    };
+
+
+
+    "enum-compat" = python.mkDerivation {
+      name = "enum-compat-0.0.2";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/95/6e/26bdcba28b66126f66cf3e4cd03bcd63f7ae330d29ee68b1f6b623550bfa/enum-compat-0.0.2.tar.gz"; sha256 = "939ceff18186a5762ae4db9fa7bfe017edbd03b66526b798dd8245394c8a4192"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."enum34"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "https://github.com/jstasiak/enum-compat";
+        license = licenses.mit;
+        description = "enum/enum34 compatibility package";
+      };
+    };
+
+
+
+    "enum34" = python.mkDerivation {
+      name = "enum34-1.1.6";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz"; sha256 = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "https://bitbucket.org/stoneleaf/enum34";
+        license = licenses.bsdOriginal;
+        description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4";
+      };
+    };
+
+
+
+    "eventlet" = python.mkDerivation {
+      name = "eventlet-0.21.0";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/cb/ec/eae487c106a7e38f86ac4cadafb3eec77d29996f64ca0c7015067538069b/eventlet-0.21.0.tar.gz"; sha256 = "08faffab88c1b08bd53ea28bf084a572c89f7e7648bd9d71e6116ac17a51a15d"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."enum-compat"
+      self."greenlet"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://eventlet.net";
+        license = licenses.mit;
+        description = "Highly concurrent networking library";
+      };
+    };
+
+
+
+    "gevent" = python.mkDerivation {
+      name = "gevent-1.2.2";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/1b/92/b111f76e54d2be11375b47b213b56687214f258fd9dae703546d30b837be/gevent-1.2.2.tar.gz"; sha256 = "4791c8ae9c57d6f153354736e1ccab1e2baf6c8d9ae5a77a9ac90f41e2966b2d"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."greenlet"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://www.gevent.org/";
+        license = licenses.mit;
+        description = "Coroutine-based network library";
+      };
+    };
+
+
+
+    "greenlet" = python.mkDerivation {
+      name = "greenlet-0.4.12";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/be/76/82af375d98724054b7e273b5d9369346937324f9bcc20980b45b068ef0b0/greenlet-0.4.12.tar.gz"; sha256 = "e4c99c6010a5d153d481fdaf63b8a0782825c0721506d880403a3b9b82ae347e"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "https://github.com/python-greenlet/greenlet";
+        license = licenses.mit;
+        description = "Lightweight in-process concurrent programming";
+      };
+    };
+
+
+
+    "itsdangerous" = python.mkDerivation {
+      name = "itsdangerous-0.24";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz"; sha256 = "cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://github.com/mitsuhiko/itsdangerous";
+        license = licenses.bsdOriginal;
+        description = "Various helpers to pass trusted data to untrusted environments and back.";
+      };
+    };
+
+
+
+    "pygdbmi" = python.mkDerivation {
+      name = "pygdbmi-0.7.4.4";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/bb/1c/8c8cbd0bb5cf513a905e3ca461cfad578e708a74417182f2a00943136f83/pygdbmi-0.7.4.4.tar.gz"; sha256 = "34cd00925ca98aed87decb6a0451fa094cf31386dc457b47a62bcbf8d905a3d3"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "https://github.com/cs01/pygdbmi";
+        license = licenses.mit;
+        description = "Parse gdb machine interface output with Python";
+      };
+    };
+
+
+
+    "pypugjs" = python.mkDerivation {
+      name = "pypugjs-4.2.2";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/21/bb/d541110bd5a5c1ecd9dab2778dc9a39ca5a5e9962845e9d3e598962ee3ca/pypugjs-4.2.2.tar.gz"; sha256 = "c99a72a78766d9462d94379a6b489f9864ecdeeeeaf8d0f34b2ce04963f6ec8c"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."six"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://github.com/matannoam/pypugjs";
+        license = licenses.mit;
+        description = "PugJS syntax template adapter for Django, Jinja2, Mako and Tornado templates - copy of PyJade with the name changed";
+      };
+    };
+
+
+
+    "python-engineio" = python.mkDerivation {
+      name = "python-engineio-2.0.1";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/ae/61/199d5693cb077d12fb82baa9505215e0654e50e3cd4d5f3331029312b55f/python-engineio-2.0.1.tar.gz"; sha256 = "266fca0c4ed4576c873458ef06fdc7ae20942210f5e9c5f9bd039debcc672c30"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."six"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://github.com/miguelgrinberg/python-engineio/";
+        license = licenses.mit;
+        description = "Engine.IO server";
+      };
+    };
+
+
+
+    "python-socketio" = python.mkDerivation {
+      name = "python-socketio-1.8.3";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/39/23/b0955fe05bed6d6621754d3b5043e5478cf57646e1e4c1cf55a6fc3f2acb/python-socketio-1.8.3.tar.gz"; sha256 = "822433bcda86924367bccfc64083bae60bd64c89c8fc07f79530458ce5a6dcea"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [
+      self."python-engineio"
+      self."six"
+    ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://github.com/miguelgrinberg/python-socketio/";
+        license = licenses.mit;
+        description = "Socket.IO server";
+      };
+    };
+
+
+
+    "six" = python.mkDerivation {
+      name = "six-1.11.0";
+      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz"; sha256 = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9"; };
+      doCheck = commonDoCheck;
+      buildInputs = commonBuildInputs;
+      propagatedBuildInputs = [ ];
+      meta = with pkgs.stdenv.lib; {
+        homepage = "http://pypi.python.org/pypi/six/";
+        license = licenses.mit;
+        description = "Python 2 and 3 compatibility utilities";
+      };
+    };
+
+  };
+  localOverridesFile = ./requirements_override.nix;
+  overrides = import localOverridesFile { inherit pkgs python; };
+  commonOverrides = [
+
+  ];
+  allOverrides =
+    (if (builtins.pathExists localOverridesFile)
+     then [overrides] else [] ) ++ commonOverrides;
+
+in python.withPackages
+   (fix' (pkgs.lib.fold
+            extends
+            generated
+            allOverrides
+         )
+   )
\ No newline at end of file
diff --git a/pkgs/development/tools/misc/uhd/default.nix b/pkgs/development/tools/misc/uhd/default.nix
index 889595ab743a..8212eccc6d13 100644
--- a/pkgs/development/tools/misc/uhd/default.nix
+++ b/pkgs/development/tools/misc/uhd/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://uhd.ettus.com/;
     license = licenses.gpl3Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ bjornfor fpletz ];
   };
 }
diff --git a/pkgs/games/hedgewars/default.nix b/pkgs/games/hedgewars/default.nix
index 8aba24dd3468..2145ee013561 100644
--- a/pkgs/games/hedgewars/default.nix
+++ b/pkgs/games/hedgewars/default.nix
@@ -1,25 +1,25 @@
-{ SDL_image, SDL_ttf, SDL_net, fpc, qt4, ghcWithPackages, ffmpeg, freeglut
-, stdenv, makeWrapper, fetchurl, cmake, pkgconfig, lua5_1, SDL, SDL_mixer
+{ SDL2_image, SDL2_ttf, SDL2_net, fpc, qt4, ghcWithPackages, ffmpeg, freeglut
+, stdenv, makeWrapper, fetchurl, cmake, pkgconfig, lua5_1, SDL2, SDL2_mixer
 , zlib, libpng, mesa, physfs
 }:
 
 let
   ghc = ghcWithPackages (pkgs: with pkgs; [
           network vector utf8-string bytestring-show random hslogger
-          dataenc SHA entropy pkgs.zlib
+          SHA entropy pkgs.zlib sandi regex-tdfa
         ]);
 in
 stdenv.mkDerivation rec {
-  version = "0.9.22";
+  version = "0.9.23";
   name = "hedgewars-${version}";
   src = fetchurl {
-    url = "http://download.gna.org/hedgewars/hedgewars-src-${version}.tar.bz2";
-    sha256 = "14i1wvqbqib9h9092z10g4g0y14r5sp2fdaksvnw687l3ybwi6dn";
+    url = "http://www.hedgewars.org/download/releases/hedgewars-src-${version}.tar.bz2";
+    sha256 = "12df5ar3zk186ah51c3myr4hlzyybcshmf1w1wf6vr9b0h44jbns";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL_ttf SDL_net cmake lua5_1 SDL SDL_mixer SDL_image fpc
+    SDL2_ttf SDL2_net cmake lua5_1 SDL2 SDL2_mixer SDL2_image fpc
     qt4 ghc ffmpeg freeglut makeWrapper physfs
   ];
 
@@ -28,11 +28,11 @@ stdenv.mkDerivation rec {
   '';
 
   preBuild = ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL_image}/lib
-                                     -rpath ${SDL_mixer}/lib
-                                     -rpath ${SDL_net}/lib
-                                     -rpath ${SDL_ttf}/lib
-                                     -rpath ${SDL.out}/lib
+    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL2_image}/lib
+                                     -rpath ${SDL2_mixer}/lib
+                                     -rpath ${SDL2_net}/lib
+                                     -rpath ${SDL2_ttf}/lib
+                                     -rpath ${SDL2.out}/lib
                                      -rpath ${libpng.out}/lib
                                      -rpath ${lua5_1}/lib
                                      -rpath ${mesa}/lib
diff --git a/pkgs/os-specific/linux/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix
index 9ca48ccaf057..9fe331e6cb12 100644
--- a/pkgs/os-specific/linux/prl-tools/default.nix
+++ b/pkgs/os-specific/linux/prl-tools/default.nix
@@ -1,6 +1,7 @@
 { stdenv, lib, requireFile, makeWrapper, substituteAll, p7zip
 , gawk, utillinux, xorg, glib, dbus_glib, zlib
 , kernel ? null, libsOnly ? false
+, undmg, fetchurl
 }:
 
 assert (!libsOnly) -> kernel != null;
@@ -10,57 +11,35 @@ let xorgFullVer = (builtins.parseDrvName xorg.xorgserver.name).version;
     x64 = if stdenv.system == "x86_64-linux" then true
           else if stdenv.system == "i686-linux" then false
           else abort "Parallels Tools for Linux only support {x86-64,i686}-linux targets";
-    # We autostart user services by ourselves, because prlcc uses hardcoded paths.
-    autostart = [ { exec = "prlcc";
-                    description = "Parallels Control Center";
-                  }
-                  { exec = "prldhd";
-                    description = "Parallels Control Center"; # not a mistake
-                  }
-                  { exec = "prl_wmouse_d";
-                    description = "Parallels Walking Mouse Daemon";
-                  }
-                  { exec = "prlcp";
-                    description = "Parallels CopyPaste Tool";
-                  }
-                  { exec = "prlsga";
-                    description = "Parallels Shared Guest Applications Tool";
-                  }
-                  { exec = "prlshprof";
-                    description = "Parallels Shared Profile Tool";
-                  }
-                ];
 in
 stdenv.mkDerivation rec {
-  version = "10.0.2.27712";
+  version = "${prl_major}.2.1-41615";
+  prl_major = "12";
   name = "prl-tools-${version}";
 
-  src = requireFile rec {
-    name = "prl-tools-lin.iso";
-    sha256 = "07960jvyv7gihjlg922znjm6db6l6bd23x9mg6ympwibzf2mylmx";
-    message = ''
-      Please, place Parallels Tools for Linux image into Nix store
-      using either
-        nix-store --add-fixed sha256 ${name}
-      or
-        nix-prefetch-url file://path/to/${name}
-    '';
+  # We download the full distribution to extract prl-tools-lin.iso from
+  # => ${dmg}/Parallels\ Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso
+  src = fetchurl {
+    url =  "https://download.parallels.com/desktop/v${prl_major}/${version}/ParallelsDesktop-${version}.dmg";
+    sha256 = "1jwzwif69qlhmfky9kigjaxpxfj0lyrl1iyrpqy4iwqvajdgbbym";
   };
 
-  hardeningDisable = [ "pic" ];
+  hardeningDisable = [ "pic" "format" ];
 
   # also maybe python2 to generate xorg.conf
-  nativeBuildInputs = [ p7zip ] ++ lib.optionals (!libsOnly) [ makeWrapper ];
+  nativeBuildInputs = [ p7zip undmg ] ++ lib.optionals (!libsOnly) [ makeWrapper ];
 
   inherit libsOnly;
 
   unpackPhase = ''
-    7z x $src
-    export sourceRoot=.
+    undmg < "${src}"
+
+    export sourceRoot=prl-tools-build
+    7z x "Parallels Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso" -o$sourceRoot
     if test -z "$libsOnly"; then
-      ( cd kmods; tar -xaf prl_mod.tar.gz )
+      ( cd $sourceRoot/kmods; tar -xaf prl_mod.tar.gz )
     fi
-    ( cd tools; tar -xaf prltools${if x64 then ".x64" else ""}.tar.gz )
+    ( cd $sourceRoot/tools; tar -xaf prltools${if x64 then ".x64" else ""}.tar.gz )
   '';
 
   kernelVersion = if libsOnly then "" else (builtins.parseDrvName kernel.name).version;
@@ -88,11 +67,6 @@ stdenv.mkDerivation rec {
             stdenv.lib.makeLibraryPath ([ stdenv.cc.cc libXrandr libXext libX11 libXcomposite libXinerama ]
             ++ lib.optionals (!libsOnly) [ libXi glib dbus_glib zlib ]);
 
-  desktops = map (x: substituteAll ({
-               src = ./autostart.desktop;
-               name = x.exec + ".desktop";
-               version = version;
-             } // x)) autostart;
 
   installPhase = ''
     if test -z "$libsOnly"; then
@@ -124,7 +98,7 @@ stdenv.mkDerivation rec {
           patchelf \
             --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
             --set-rpath "$out/lib:$libPath" \
-            $i
+            $i || true
         done
 
         mkdir -p $out/bin
@@ -145,11 +119,6 @@ stdenv.mkDerivation rec {
           sed 's,/bin/bash,${stdenv.shell},g' $i > $out/lib/udev/rules.d/$i
         done
 
-        mkdir -p $out/share/autostart
-        for i in $desktops; do
-          cat $i | sed "s,^Exec=,Exec=$out/bin/," > $out/share/autostart/$(basename $i)
-        done
-
         (
           cd xorg.${xorgVer}
           # Install the X modules.
@@ -189,8 +158,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Parallels Tools for Linux guests";
-    homepage = http://parallels.com;
-    platforms = platforms.linux;
+    homepage = https://parallels.com;
+    platforms = [ "i686-linux" "x86_64-linux" ];
     license = licenses.unfree;
     # I was making this package blindly and requesting testing from the real user,
     # so I can't even test it by myself and won't provide future updates.
diff --git a/pkgs/servers/inginious/default.nix b/pkgs/servers/inginious/default.nix
index 0ffef616f370..fbe226d3e3d3 100644
--- a/pkgs/servers/inginious/default.nix
+++ b/pkgs/servers/inginious/default.nix
@@ -65,6 +65,7 @@ in pythonPackages.buildPythonApplication rec {
   '';
 
   meta = {
+    broken = true;
     description = "An intelligent grader that allows secured and automated testing of code made by students";
     homepage = https://github.com/UCL-INGI/INGInious;
     license = licenses.agpl3;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 948bb9e6415d..9d4dc6b0729a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7257,6 +7257,8 @@ with pkgs;
 
   gede = callPackage ../development/tools/misc/gede { };
 
+  gdbgui = callPackage ../development/tools/misc/gdbgui { };
+
   pmd = callPackage ../development/tools/analysis/pmd { };
 
   jdepend = callPackage ../development/tools/analysis/jdepend { };
@@ -10513,7 +10515,9 @@ with pkgs;
 
   qwt = callPackage ../development/libraries/qwt {};
 
-  qwt6_qt4 = callPackage ../development/libraries/qwt/6_qt4.nix { };
+  qwt6_qt4 = callPackage ../development/libraries/qwt/6_qt4.nix {
+    inherit (darwin.apple_sdk.frameworks) AGL;
+  };
 
   qxt = callPackage ../development/libraries/qxt {};
 
@@ -13485,6 +13489,8 @@ with pkgs;
 
   migmix = callPackage ../data/fonts/migmix {};
 
+  migu = callPackage ../data/fonts/migu {};
+
   miscfiles = callPackage ../data/misc/miscfiles { };
 
   media-player-info = callPackage ../data/misc/media-player-info {};
@@ -14656,7 +14662,9 @@ with pkgs;
 
   gnuradio = callPackage ../applications/misc/gnuradio {
     inherit (python2Packages) cheetah lxml matplotlib numpy python pyopengl pyqt4 scipy wxPython pygtk;
+    inherit (darwin.apple_sdk.frameworks) CoreAudio;
     fftw = fftwFloat;
+    qwt = qwt6_qt4;
   };
 
   gnuradio-with-packages = callPackage ../applications/misc/gnuradio/wrapper.nix {