about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/helm/default.nix19
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix22
-rw-r--r--pkgs/applications/editors/emacs-24/default.nix14
-rw-r--r--pkgs/applications/editors/emacs-24/tty-true-color.patch428
-rw-r--r--pkgs/applications/editors/idea/default.nix12
-rw-r--r--pkgs/applications/editors/vim/default.nix15
-rw-r--r--pkgs/applications/graphics/gimp/2.8.nix6
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix6
-rw-r--r--pkgs/applications/graphics/gimp/wrapper.nix33
-rw-r--r--pkgs/applications/graphics/hugin/default.nix31
-rw-r--r--pkgs/applications/graphics/sane/backends/git.nix6
-rw-r--r--pkgs/applications/kde-apps-15.12/default.nix2
-rw-r--r--pkgs/applications/kde-apps-15.12/filelight.nix35
-rw-r--r--pkgs/applications/kde-apps-15.12/kcalc.nix38
-rw-r--r--pkgs/applications/misc/octoprint/plugins.nix4
-rw-r--r--pkgs/applications/misc/taskwarrior/default.nix4
-rw-r--r--pkgs/applications/misc/termite/default.nix16
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/sources.nix26
-rw-r--r--pkgs/applications/networking/browsers/chromium/source/update.nix281
-rwxr-xr-xpkgs/applications/networking/browsers/chromium/update.sh103
-rw-r--r--pkgs/applications/networking/browsers/google-chrome/default.nix32
-rw-r--r--pkgs/applications/office/libreoffice/default.nix13
-rw-r--r--pkgs/applications/office/qnotero/default.nix39
-rw-r--r--pkgs/applications/science/math/calc/default.nix45
-rw-r--r--pkgs/applications/science/misc/yarp/default.nix26
-rw-r--r--pkgs/applications/search/recoll/default.nix14
-rw-r--r--pkgs/applications/search/recoll/nodeblayout.patch12
-rw-r--r--pkgs/applications/search/recoll/versionawk.patch12
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix97
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-stree/default.nix26
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix3
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch78
-rw-r--r--pkgs/applications/version-management/gitlab-git-http-server/default.nix23
-rw-r--r--pkgs/applications/version-management/gitlab-shell/default.nix15
-rw-r--r--pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch13
-rw-r--r--pkgs/applications/version-management/gitlab-workhorse/default.nix26
-rw-r--r--pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch12
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile187
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile.lock749
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix34
-rw-r--r--pkgs/applications/version-management/gitlab/gemset.nix3509
-rw-r--r--pkgs/applications/version-management/gitlab/nulladapter.patch29
-rw-r--r--pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch166
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix4
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix1
-rwxr-xr-xpkgs/build-support/fetchzip/nix-prefetch-zip9
-rwxr-xr-xpkgs/build-support/rust/fetch-cargo-deps342
-rw-r--r--pkgs/build-support/rust/fetchcargo.nix6
-rw-r--r--pkgs/data/misc/geolite-legacy/default.nix6
-rw-r--r--pkgs/desktops/e19/default.nix10
-rw-r--r--pkgs/desktops/e19/econnman.nix4
-rw-r--r--pkgs/desktops/e19/efl.nix6
-rw-r--r--pkgs/desktops/e19/elementary.nix10
-rw-r--r--pkgs/desktops/e19/emotion.nix6
-rw-r--r--pkgs/desktops/e19/enlightenment.nix10
-rw-r--r--pkgs/desktops/e19/evas.nix6
-rw-r--r--pkgs/desktops/e19/terminology.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.18/core/vte/default.nix4
-rw-r--r--pkgs/development/compilers/ghcjs/default.nix4
-rw-r--r--pkgs/development/compilers/go/1.4.nix3
-rw-r--r--pkgs/development/compilers/go/1.5.nix1
-rw-r--r--pkgs/development/compilers/go/1.6.nix1
-rw-r--r--pkgs/development/compilers/go/cacert-1.4.patch14
-rw-r--r--pkgs/development/compilers/go/cacert-1.5.patch8
-rw-r--r--pkgs/development/compilers/rustc/head.nix6
-rw-r--r--pkgs/development/compilers/uhc/default.nix25
-rw-r--r--pkgs/development/libraries/ace/default.nix36
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--pkgs/development/libraries/libinput/default.nix4
-rw-r--r--pkgs/development/libraries/libpsl/default.nix6
-rw-r--r--pkgs/development/libraries/libssh2/default.nix4
-rw-r--r--pkgs/development/libraries/tk/8.6.nix4
-rw-r--r--pkgs/development/libraries/tk/Fix-bad-install_name-for-libtk8.6.dylib.patch29
-rw-r--r--pkgs/development/libraries/xercesc/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/cargo/head.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/cide/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/galen/default.nix35
-rw-r--r--pkgs/development/tools/misc/ctags/default.nix3
-rw-r--r--pkgs/development/tools/nimble/default.nix43
-rw-r--r--pkgs/development/tools/rust/rustfmt/default.nix8
-rw-r--r--pkgs/development/tools/sauce-connect/default.nix14
-rw-r--r--pkgs/misc/cups/default.nix7
-rw-r--r--pkgs/misc/drivers/gutenprint/default.nix20
-rw-r--r--pkgs/misc/emulators/pcsx2/default.nix71
-rw-r--r--pkgs/misc/vim-plugins/default.nix464
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names9
-rw-r--r--pkgs/misc/vim-plugins/vim2nix/additional-nix-code/racer4
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix4
-rw-r--r--pkgs/os-specific/linux/mcelog/default.nix4
-rw-r--r--pkgs/tools/archivers/cpio/CVE-2016-2037-out-of-bounds-write.patch29
-rw-r--r--pkgs/tools/archivers/cpio/default.nix4
-rw-r--r--pkgs/tools/bluetooth/blueman/default.nix8
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix4
-rw-r--r--pkgs/tools/misc/gti/default.nix27
-rw-r--r--pkgs/tools/networking/ddclient/default.nix3
-rw-r--r--pkgs/tools/networking/miniupnpd/default.nix4
-rw-r--r--pkgs/tools/networking/radvd/default.nix8
-rw-r--r--pkgs/tools/networking/ratools/default.nix32
-rw-r--r--pkgs/tools/networking/tlsdate/default.nix2
-rw-r--r--pkgs/tools/system/proot/default.nix33
-rw-r--r--pkgs/top-level/all-packages.nix195
-rw-r--r--pkgs/top-level/haskell-packages.nix5
-rw-r--r--pkgs/top-level/php-packages.nix132
-rw-r--r--pkgs/top-level/python-packages.nix87
-rw-r--r--pkgs/top-level/rust-packages.nix6
107 files changed, 4763 insertions, 3364 deletions
diff --git a/pkgs/applications/audio/helm/default.nix b/pkgs/applications/audio/helm/default.nix
index 7be510a64183..b4cf02886726 100644
--- a/pkgs/applications/audio/helm/default.nix
+++ b/pkgs/applications/audio/helm/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchgit, xorg, freetype, alsaLib, libjack2
-, lv2, pkgconfig, mesa }:
+  { stdenv, fetchurl, xorg, freetype, alsaLib, libjack2
+  , lv2, pkgconfig, mesa }:
 
-stdenv.mkDerivation rec {
-  name = "helm-git-2015-09-11";
+  stdenv.mkDerivation rec {
+  version = "0.6.1";
+  name = "helm-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/mtytel/helm/archive/v${version}.tar.gz";
+    sha256 = "18d7zx6r7har47zj6x1f2z91x796mxnix7w3x1yilmqnyqc56r3w";
+    };
 
-  src = fetchgit {
-    url = "https://github.com/mtytel/helm.git";
-    rev = "ad798d4a0a2e7db52e1a7451176ff198a393cdb4";
-    sha256 = "0ic4xjikq7s2p53507ykv89844j6sqcd9mh3y59a6wnslr5wq1cw";
-  };
 
   buildInputs = [
     xorg.libX11 xorg.libXcomposite xorg.libXcursor xorg.libXext
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index 40aa6b8385ec..50975d061eb8 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -233,6 +233,8 @@ rec {
 
     srcs = [ srcFeature srcPlugin1 srcPlugin2 ];
 
+    propagatedBuildInputs = [ zest ];
+
     phases = [ "installPhase" ];
 
     installPhase = ''
@@ -240,7 +242,8 @@ rec {
       mkdir -p $dropinDir/features
       unzip ${srcFeature} -d $dropinDir/features/
       mkdir -p $dropinDir/plugins
-      cp -v ${srcPlugin1} ${srcPlugin2} $dropinDir/plugins/
+      cp -v ${srcPlugin1} $dropinDir/plugins/''${srcPlugin1#*-}
+      cp -v ${srcPlugin2} $dropinDir/plugins/''${srcPlugin2#*-}
     '';
 
     meta = with stdenv.lib; {
@@ -395,4 +398,21 @@ rec {
     };
   };
 
+  zest = buildEclipseUpdateSite rec {
+    name = "zest-${version}";
+    version = "3.9.101";
+
+    src = fetchurl {
+      url = "http://archive.eclipse.org/tools/gef/downloads/drops/${version}/R201408150207/GEF-${name}.zip";
+      sha256 = "01scn7cmcrjcp387spjm8ifgwrwwi77ypildandbisfvhj3qqs7m";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = https://www.eclipse.org/gef/zest/;
+      description = "The Eclipse Visualization Toolkit";
+      platforms = platforms.all;
+      maintainers = [ maintainers.romildo ];
+    };
+  };
+
 }
diff --git a/pkgs/applications/editors/emacs-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix
index 1db56577278c..ffa280d360c5 100644
--- a/pkgs/applications/editors/emacs-24/default.nix
+++ b/pkgs/applications/editors/emacs-24/default.nix
@@ -1,10 +1,11 @@
-{ stdenv, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d
+{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d
 , pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif
 , libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls
 , alsaLib, cairo, acl, gpm, AppKit, CoreWLAN, Kerberos, GSS, ImageIO
 , withX ? !stdenv.isDarwin
 , withGTK3 ? false, gtk3 ? null
 , withGTK2 ? true, gtk2
+, enableTTYTrueColor ? false
 }:
 
 assert (libXft != null) -> libpng != null;      # probably a bug
@@ -31,8 +32,14 @@ stdenv.mkDerivation rec {
     sha256 = "0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx";
   };
 
-  patches = stdenv.lib.optionals stdenv.isDarwin [
+  patches = lib.optionals stdenv.isDarwin [
     ./at-fdcwd.patch
+  ] ++ lib.optionals enableTTYTrueColor [
+    # Modified TTY True Color patch from: https://gist.github.com/choppsv1/36aacdd696d505566088
+    # To use, pass --color=true-color, which will default to using ';'
+    # as the separator.
+    # Alternatively, set $EMACS_TRUE_COLOR_SEPARATOR to ';' or ':'.
+    ./tty-true-color.patch
   ];
 
   postPatch = ''
@@ -79,9 +86,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ chaoflow lovek323 simons the-kenny jwiegley ];
     platforms   = platforms.all;
 
-    # So that Exuberant ctags is preferred
-    priority = 1;
-
     longDescription = ''
       GNU Emacs is an extensible, customizable text editor—and more.  At its
       core is an interpreter for Emacs Lisp, a dialect of the Lisp
diff --git a/pkgs/applications/editors/emacs-24/tty-true-color.patch b/pkgs/applications/editors/emacs-24/tty-true-color.patch
new file mode 100644
index 000000000000..09ceeb658abb
--- /dev/null
+++ b/pkgs/applications/editors/emacs-24/tty-true-color.patch
@@ -0,0 +1,428 @@
+diff --git a/lisp/term/tty-colors.el b/lisp/term/tty-colors.el
+index 98108ce..21814a9 100644
+--- a/lisp/term/tty-colors.el
++++ b/lisp/term/tty-colors.el
+@@ -764,7 +764,8 @@
+     (auto . 0)
+     (ansi8 . 8)
+     (always . 8)
+-    (yes . 8))
++    (yes . 8)
++    (true-color . 16777216))
+   "An alist of supported standard tty color modes and their aliases.")
+ 
+ (defun tty-color-alist (&optional _frame)
+diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el
+index c673749..244cf7f 100644
+--- a/lisp/term/xterm.el
++++ b/lisp/term/xterm.el
+@@ -674,6 +674,15 @@ versions of xterm."
+     ;; are more colors to support, compute them now.
+     (when (> ncolors 0)
+       (cond
++       ((= (display-color-cells (selected-frame)) 16777216)	; 24-bit xterm
++        (let ((idx (length xterm-standard-colors)))
++          ;; Insert standard X colors after the standard xterm ones
++          (mapc (lambda (color)
++                       (if (not (assoc (car color) xterm-standard-colors))
++                           (progn
++                             (tty-color-define (car color) idx (cdr color))
++                             (setq idx (1+ idx)))))
++                color-name-rgb-alist)))
+        ((= ncolors 240)	; 256-color xterm
+ 	;; 216 non-gray colors first
+ 	(let ((r 0) (g 0) (b 0))
+diff --git a/src/dispextern.h b/src/dispextern.h
+index 239c442..5760b84 100644
+--- a/src/dispextern.h
++++ b/src/dispextern.h
+@@ -1739,9 +1739,15 @@ struct face
+ INLINE bool
+ face_tty_specified_color (unsigned long color)
+ {
+-  return color < FACE_TTY_DEFAULT_BG_COLOR;
++  return (color < FACE_TTY_DEFAULT_BG_COLOR);
+ }
+ 
++INLINE bool
++face_tty_specified_24_bit_color (unsigned long color)
++{
++  /* 24 bit colors have 24th but not 25th bit set */
++  return ((color & (0x03 << 24)) == (0x01 << 24));
++}
+ /* Non-zero if FACE was realized for unibyte use.  */
+ 
+ #define FACE_UNIBYTE_P(FACE) ((FACE)->charset < 0)
+diff --git a/src/term.c b/src/term.c
+index 8312491..b14aded 100644
+--- a/src/term.c
++++ b/src/term.c
+@@ -1915,18 +1915,40 @@ turn_on_face (struct frame *f, int face_id)
+       const char *ts;
+       char *p;
+ 
+-      ts = tty->standout_mode ? tty->TS_set_background : tty->TS_set_foreground;
++      if (face_tty_specified_24_bit_color(fg))
++        ts = tty->standout_mode ? tty->TS_set_rgb_background : tty->TS_set_rgb_foreground;
++      else
++        ts = tty->standout_mode ? tty->TS_set_background : tty->TS_set_foreground;
+       if (face_tty_specified_color (fg) && ts)
+ 	{
+-          p = tparam (ts, NULL, 0, fg, 0, 0, 0);
++          if (!face_tty_specified_24_bit_color(fg))
++            p = tparam (ts, NULL, 0, fg, 0, 0, 0);
++          else
++            {
++              const unsigned char r = (fg >> 16) & 0xFF,
++                g = (fg >> 8) & 0xFF,
++                b = fg & 0xFF;
++              p = tparam (ts, NULL, 0, (int)r, (int)g, (int)b, 0);
++            }
+ 	  OUTPUT (tty, p);
+ 	  xfree (p);
+ 	}
+ 
+-      ts = tty->standout_mode ? tty->TS_set_foreground : tty->TS_set_background;
++      if (face_tty_specified_24_bit_color(bg))
++        ts = tty->standout_mode ? tty->TS_set_rgb_foreground : tty->TS_set_rgb_background;
++      else
++        ts = tty->standout_mode ? tty->TS_set_foreground : tty->TS_set_background;
+       if (face_tty_specified_color (bg) && ts)
+ 	{
+-          p = tparam (ts, NULL, 0, bg, 0, 0, 0);
++          if (!face_tty_specified_24_bit_color(bg))
++            p = tparam (ts, NULL, 0, bg, 0, 0, 0);
++          else
++            {
++              const unsigned char r = (bg >> 16) & 0xFF,
++                g = (bg >> 8) & 0xFF,
++                b = bg & 0xFF;
++              p = tparam (ts, NULL, 0, (int)r, (int)g, (int)b, 0);
++          }
+ 	  OUTPUT (tty, p);
+ 	  xfree (p);
+ 	}
+@@ -2028,6 +2050,8 @@ TERMINAL does not refer to a text terminal.  */)
+   struct terminal *t = get_tty_terminal (terminal, 0);
+   if (!t)
+     return make_number (0);
++  else if (t->display_info.tty->TS_set_rgb_foreground)
++    return make_number (16777216); /* 24 bit True Color */
+   else
+     return make_number (t->display_info.tty->TN_max_colors);
+ }
+@@ -2043,6 +2067,8 @@ static int default_no_color_video;
+ static char *default_orig_pair;
+ static char *default_set_foreground;
+ static char *default_set_background;
++static char *default_set_rgb_foreground;
++static char *default_set_rgb_background;
+ 
+ /* Save or restore the default color-related capabilities of this
+    terminal.  */
+@@ -2055,6 +2081,8 @@ tty_default_color_capabilities (struct tty_display_info *tty, bool save)
+       dupstring (&default_orig_pair, tty->TS_orig_pair);
+       dupstring (&default_set_foreground, tty->TS_set_foreground);
+       dupstring (&default_set_background, tty->TS_set_background);
++      dupstring (&default_set_rgb_foreground, tty->TS_set_rgb_foreground);
++      dupstring (&default_set_rgb_background, tty->TS_set_rgb_background);
+       default_max_colors = tty->TN_max_colors;
+       default_max_pairs = tty->TN_max_pairs;
+       default_no_color_video = tty->TN_no_color_video;
+@@ -2064,6 +2092,8 @@ tty_default_color_capabilities (struct tty_display_info *tty, bool save)
+       tty->TS_orig_pair = default_orig_pair;
+       tty->TS_set_foreground = default_set_foreground;
+       tty->TS_set_background = default_set_background;
++      tty->TS_set_rgb_foreground = default_set_rgb_foreground;
++      tty->TS_set_rgb_background = default_set_rgb_background;
+       tty->TN_max_colors = default_max_colors;
+       tty->TN_max_pairs = default_max_pairs;
+       tty->TN_no_color_video = default_no_color_video;
+@@ -2088,6 +2118,7 @@ tty_setup_colors (struct tty_display_info *tty, int mode)
+ 	tty->TN_max_pairs = 0;
+ 	tty->TN_no_color_video = 0;
+ 	tty->TS_set_foreground = tty->TS_set_background = tty->TS_orig_pair = NULL;
++        tty->TS_set_rgb_foreground = tty->TS_set_rgb_background = NULL;
+ 	break;
+       case 0:	 /* default colors, if any */
+       default:
+@@ -2102,10 +2133,45 @@ tty_setup_colors (struct tty_display_info *tty, int mode)
+ 	tty->TS_set_foreground = "\033[3%dm";
+ 	tty->TS_set_background = "\033[4%dm";
+ #endif
++        tty->TS_set_rgb_foreground = NULL;
++        tty->TS_set_rgb_background = NULL;
+ 	tty->TN_max_colors = 8;
+ 	tty->TN_max_pairs = 64;
+ 	tty->TN_no_color_video = 0;
+ 	break;
++      case 16777216: /* RGB colors */
++        tty->TS_orig_pair = "\033[0m";
++
++        /* if the user hasn't explicitly chosen the ":" separator, use ";". */
++        char * true_color_separator = getenv ("EMACS_TRUE_COLOR_SEPARATOR");
++        if (true_color_separator && strcmp (true_color_separator, ":") == 0)
++        {
++          /* XXX chopps use ITU T.421 ':' separator */
++          /* TODO This should be extracted from terminfo/termcap. */
++#ifdef TERMINFO
++          tty->TS_set_rgb_foreground = "\033[38:2:%p1%d:%p2%d:%p3%dm";
++          tty->TS_set_rgb_background = "\033[48:2:%p1%d:%p2%d:%p3%dm";
++#else
++          tty->TS_set_rgb_foreground = "\033[38:2:%d:%d:%dm";
++          tty->TS_set_rgb_background = "\033[48:2:%d:%d:%dm";
++#endif
++        }
++        else
++        {
++          /* TODO This should be extracted from terminfo/termcap. */
++#ifdef TERMINFO
++          tty->TS_set_rgb_foreground = "\033[38;2;%p1%d;%p2%d;%p3%dm";
++          tty->TS_set_rgb_background = "\033[48;2;%p1%d;%p2%d;%p3%dm";
++#else
++          tty->TS_set_rgb_foreground = "\033[38;2;%d;%d;%dm";
++          tty->TS_set_rgb_background = "\033[48;2;%d;%d;%dm";
++#endif
++        }
++
++        tty->TN_max_colors = 16777216;
++        /*tty->TN_max_pairs = 64; TODO */
++        tty->TN_no_color_video = 0;
++        break;
+     }
+ }
+ 
+@@ -4201,6 +4267,38 @@ use the Bourne shell command `TERM=... export TERM' (C-shell:\n\
+       tty->TN_no_color_video = tgetnum ("NC");
+       if (tty->TN_no_color_video == -1)
+         tty->TN_no_color_video = 0;
++
++
++      /* Allow the user to opt-in to True Color support. */
++      char * true_color_separator = getenv ("EMACS_TRUE_COLOR_SEPARATOR");
++      if (true_color_separator && strcmp (true_color_separator, ";") == 0)
++        {
++          /* TODO This should be extracted from terminfo/termcap. */
++#ifdef TERMINFO
++          tty->TS_set_rgb_foreground = "\033[38;2;%p1%d;%p2%d;%p3%dm";
++          tty->TS_set_rgb_background = "\033[48;2;%p1%d;%p2%d;%p3%dm";
++#else
++          tty->TS_set_rgb_foreground = "\033[38;2;%d;%d;%dm";
++          tty->TS_set_rgb_background = "\033[48;2;%d;%d;%dm";
++#endif
++        }
++      else if (true_color_separator && strcmp (true_color_separator, ":") == 0)
++        {
++          /* XXX chopps use ITU T.421 ':' separator */
++          /* TODO This should be extracted from terminfo/termcap. */
++#ifdef TERMINFO
++          tty->TS_set_rgb_foreground = "\033[38:2:%p1%d:%p2%d:%p3%dm";
++          tty->TS_set_rgb_background = "\033[48:2:%p1%d:%p2%d:%p3%dm";
++#else
++          tty->TS_set_rgb_foreground = "\033[38:2:%d:%d:%dm";
++          tty->TS_set_rgb_background = "\033[48:2:%d:%d:%dm";
++#endif
++        }
++      else
++        {
++          tty->TS_set_rgb_foreground = NULL;
++          tty->TS_set_rgb_background = NULL;
++        }
+     }
+ 
+   tty_default_color_capabilities (tty, 1);
+diff --git a/src/termchar.h b/src/termchar.h
+index d8066d7..e48d583 100644
+--- a/src/termchar.h
++++ b/src/termchar.h
+@@ -157,6 +157,10 @@ struct tty_display_info
+   const char *TS_set_foreground;
+   const char *TS_set_background;
+ 
++  /* Support for 24bit RGB color terminals. */
++  const char *TS_set_rgb_foreground;
++  const char *TS_set_rgb_background;
++
+   int TF_hazeltine;             /* termcap hz flag. */
+   int TF_insmode_motion;        /* termcap mi flag: can move while in insert mode. */
+   int TF_standout_motion;       /* termcap mi flag: can move while in standout mode. */
+diff --git a/src/xfaces.c b/src/xfaces.c
+index 29c91f7..347ebf8 100644
+--- a/src/xfaces.c
++++ b/src/xfaces.c
+@@ -382,7 +382,7 @@ static ptrdiff_t lface_id_to_name_size;
+ 
+ /* TTY color-related functions (defined in tty-colors.el).  */
+ 
+-static Lisp_Object Qtty_color_desc, Qtty_color_by_index, Qtty_color_standard_values;
++static Lisp_Object Qtty_color_desc, Qtty_color_by_index, Qtty_color_standard_values, Qtty_color_canonicalize;
+ 
+ /* The name of the function used to compute colors on TTYs.  */
+ 
+@@ -943,54 +943,80 @@ tty_lookup_color (struct frame *f, Lisp_Object color, XColor *tty_color,
+   if (!STRINGP (color) || NILP (Ffboundp (Qtty_color_desc)))
+     return 0;
+ 
+-  XSETFRAME (frame, f);
+-
+-  color_desc = call2 (Qtty_color_desc, color, frame);
+-  if (CONSP (color_desc) && CONSP (XCDR (color_desc)))
++  if (f->output_method == output_termcap
++      && f->output_data.tty->display_info->TS_set_rgb_foreground
++      && !NILP (Ffboundp (Qtty_color_standard_values)))
+     {
+-      Lisp_Object rgb;
+-
+-      if (! INTEGERP (XCAR (XCDR (color_desc))))
+-	return 0;
++      /* Terminal supports 3 byte RGB colors. */
++      if (!NILP (Ffboundp (Qtty_color_canonicalize)))
++        color = call1(Qtty_color_canonicalize, color);
+ 
+-      tty_color->pixel = XINT (XCAR (XCDR (color_desc)));
++      color_desc = call1 (Qtty_color_standard_values, color);
++      if (! parse_rgb_list (color_desc, tty_color))
++        return 0;
+ 
+-      rgb = XCDR (XCDR (color_desc));
+-      if (! parse_rgb_list (rgb, tty_color))
+-	return 0;
++      /* Map XColor to 3 byte values. */
++      tty_color->pixel = 1 << 24 /* Set bit 24 to mark RGB values. */
++        | (tty_color->red / 256) << 16
++        | (tty_color->green / 256) << 8
++        | (tty_color->blue / 256);
+ 
+-      /* Should we fill in STD_COLOR too?  */
+       if (std_color)
+-	{
+-	  /* Default STD_COLOR to the same as TTY_COLOR.  */
+-	  *std_color = *tty_color;
+-
+-	  /* Do a quick check to see if the returned descriptor is
+-	     actually _exactly_ equal to COLOR, otherwise we have to
+-	     lookup STD_COLOR separately.  If it's impossible to lookup
+-	     a standard color, we just give up and use TTY_COLOR.  */
+-	  if ((!STRINGP (XCAR (color_desc))
+-	       || NILP (Fstring_equal (color, XCAR (color_desc))))
+-	      && !NILP (Ffboundp (Qtty_color_standard_values)))
+-	    {
+-	      /* Look up STD_COLOR separately.  */
+-	      rgb = call1 (Qtty_color_standard_values, color);
+-	      if (! parse_rgb_list (rgb, std_color))
+-		return 0;
+-	    }
+-	}
++        *std_color = *tty_color;
+ 
+       return 1;
+     }
+-  else if (NILP (Fsymbol_value (intern ("tty-defined-color-alist"))))
+-    /* We were called early during startup, and the colors are not
+-       yet set up in tty-defined-color-alist.  Don't return a failure
+-       indication, since this produces the annoying "Unable to
+-       load color" messages in the *Messages* buffer.  */
+-    return 1;
+   else
+-    /* tty-color-desc seems to have returned a bad value.  */
+-    return 0;
++    {
++      XSETFRAME (frame, f);
++
++      color_desc = call2 (Qtty_color_desc, color, frame);
++      if (CONSP (color_desc) && CONSP (XCDR (color_desc)))
++        {
++          Lisp_Object rgb;
++
++          if (! INTEGERP (XCAR (XCDR (color_desc))))
++            return 0;
++
++          tty_color->pixel = XINT (XCAR (XCDR (color_desc)));
++
++          rgb = XCDR (XCDR (color_desc));
++          if (! parse_rgb_list (rgb, tty_color))
++            return 0;
++
++          /* Should we fill in STD_COLOR too?  */
++          if (std_color)
++            {
++              /* Default STD_COLOR to the same as TTY_COLOR.  */
++              *std_color = *tty_color;
++
++              /* Do a quick check to see if the returned descriptor is
++                 actually _exactly_ equal to COLOR, otherwise we have to
++                 lookup STD_COLOR separately.  If it's impossible to lookup
++                 a standard color, we just give up and use TTY_COLOR.  */
++              if ((!STRINGP (XCAR (color_desc))
++                   || NILP (Fstring_equal (color, XCAR (color_desc))))
++                  && !NILP (Ffboundp (Qtty_color_standard_values)))
++                {
++                  /* Look up STD_COLOR separately.  */
++                  rgb = call1 (Qtty_color_standard_values, color);
++                  if (! parse_rgb_list (rgb, std_color))
++                    return 0;
++                }
++            }
++
++          return 1;
++        }
++      else if (NILP (Fsymbol_value (intern ("tty-defined-color-alist"))))
++        /* We were called early during startup, and the colors are not
++           yet set up in tty-defined-color-alist.  Don't return a failure
++           indication, since this produces the annoying "Unable to
++           load color" messages in the *Messages* buffer.  */
++        return 1;
++      else
++        /* tty-color-desc seems to have returned a bad value.  */
++        return 0;
++    }
+ }
+ 
+ /* A version of defined_color for non-X frames.  */
+@@ -1008,7 +1034,9 @@ tty_defined_color (struct frame *f, const char *color_name,
+   color_def->green = 0;
+ 
+   if (*color_name)
+-    status = tty_lookup_color (f, build_string (color_name), color_def, NULL);
++    {
++      status = tty_lookup_color (f, build_string (color_name), color_def, NULL);
++    }
+ 
+   if (color_def->pixel == FACE_TTY_DEFAULT_COLOR && *color_name)
+     {
+@@ -5780,6 +5808,7 @@ map_tty_color (struct frame *f, struct face *face,
+   unsigned long default_pixel =
+     foreground_p ? FACE_TTY_DEFAULT_FG_COLOR : FACE_TTY_DEFAULT_BG_COLOR;
+   unsigned long pixel = default_pixel;
++  XColor true_color;
+ #ifdef MSDOS
+   unsigned long default_other_pixel =
+     foreground_p ? FACE_TTY_DEFAULT_BG_COLOR : FACE_TTY_DEFAULT_FG_COLOR;
+@@ -5798,7 +5827,18 @@ map_tty_color (struct frame *f, struct face *face,
+     {
+       /* Associations in tty-defined-color-alist are of the form
+ 	 (NAME INDEX R G B).  We need the INDEX part.  */
+-      pixel = XINT (XCAR (XCDR (def)));
++      if (f->output_method == output_termcap
++          && f->output_data.tty->display_info->TS_set_rgb_foreground
++          && parse_rgb_list (XCDR (XCDR(def)), &true_color))
++        {
++          /* Map XColor to 3 byte values. */
++          pixel = 1 << 24 /* Set bit 24 to mark RGB values. */
++            | (true_color.red / 256) << 16
++            | (true_color.green / 256) << 8
++            | (true_color.blue / 256);
++        }
++       else
++         pixel = XINT (XCAR (XCDR (def)));
+     }
+ 
+   if (pixel == default_pixel && STRINGP (color))
+@@ -6460,6 +6500,7 @@ syms_of_xfaces (void)
+   DEFSYM (Qwindow_divider, "window-divider");
+   DEFSYM (Qwindow_divider_first_pixel, "window-divider-first-pixel");
+   DEFSYM (Qwindow_divider_last_pixel, "window-divider-last-pixel");
++  DEFSYM (Qtty_color_canonicalize, "tty-color-canonicalize");
+   DEFSYM (Qtty_color_desc, "tty-color-desc");
+   DEFSYM (Qtty_color_standard_values, "tty-color-standard-values");
+   DEFSYM (Qtty_color_by_index, "tty-color-by-index");
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index 751e66cca070..e9d25720f346 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -185,25 +185,25 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "15.0.3";
-    build = "IC-143.1821";
+    version = "15.0.4";
+    build = "IC-143.2287";
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "15hj4kqlpg3b4xp2v4f4iidascrc8s97mq8022nvbcs879gpajqa";
+      sha256 = "05kah5cx7x3rlaaxkvbbm7g8jvy9hc38q4jv7j5r9rkxd38fslvn";
     };
   };
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "15.0.3";
-    build = "IU-143.1821";
+    version = "15.0.4";
+    build = "IU-143.2287";
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
-      sha256 = "02v8v2a7p620l4mlk7jqw9sl2455a1nya1dy84y23h9vq20aihlh";
+      sha256 = "0416y7krrak1q5pb8axskdamy06nfxmn4hj7421j8jaz0nc50dn4";
     };
   };
 
diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix
index a09eb846e500..1249b0b95641 100644
--- a/pkgs/applications/editors/vim/default.nix
+++ b/pkgs/applications/editors/vim/default.nix
@@ -1,5 +1,10 @@
-{ stdenv, fetchFromGitHub, ncurses, gettext, pkgconfig
-
+{ stdenv, fetchFromGitHub, fetchurl, ncurses, gettext, pkgconfig
+# default vimrc
+, vimrc ? fetchurl {
+    name = "default-vimrc";
+    url = https://projects.archlinux.org/svntogit/packages.git/plain/trunk/archlinux.vim?h=packages/vim?id=68f6d131750aa778807119e03eed70286a17b1cb;
+    sha256 = "18ifhv5q9prd175q3vxbqf6qyvkk6bc7d2lhqdk0q78i68kv9y0c";
+  }
 # apple frameworks
 , Carbon, Cocoa }:
 
@@ -25,7 +30,11 @@ stdenv.mkDerivation rec {
     "--enable-nls"
   ];
 
-  postInstall = "ln -s $out/bin/vim $out/bin/vi";
+  postInstall = ''
+    ln -s $out/bin/vim $out/bin/vi
+    mkdir -p $out/share/vim
+    cp "${vimrc}" $out/share/vim/vimrc
+  '';
 
   crossAttrs = {
     configureFlags = [
diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix
index 96d6dbd52857..55e85fc5ec6b 100644
--- a/pkgs/applications/graphics/gimp/2.8.nix
+++ b/pkgs/applications/graphics/gimp/2.8.nix
@@ -6,6 +6,12 @@
 stdenv.mkDerivation rec {
   name = "gimp-2.8.16";
 
+  # This declarations for `gimp-with-plugins` wrapper,
+  # (used for determining $out/lib/gimp/${majorVersion}/ paths)
+  majorVersion = "2.0";
+  targetPluginDir = "$out/lib/gimp/${majorVersion}/plug-ins";
+  targetScriptDir = "$out/lib/gimp/${majorVersion}/scripts";
+
   src = fetchurl {
     url = "http://download.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
     sha256 = "1dsgazia9hmab8cw3iis7s69dvqyfj5wga7ds7w2q5mms1xqbqwm";
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index 702911fee744..4084018d1d53 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -6,9 +6,7 @@
 { pkgs, gimp }:
 let
   inherit (pkgs) stdenv fetchurl pkgconfig glib;
-  targetPluginDir = "$out/${gimp.name}-plugins";
-  targetScriptDir = "$out/${gimp.name}-scripts";
-  prefix = "plugin-gimp-";
+  inherit (gimp) targetPluginDir targetScriptDir;
 
   pluginDerivation = a: stdenv.mkDerivation ({
     prePhases = "extraLib";
@@ -52,7 +50,7 @@ rec {
     name = "gap-2.6.0";
     buildInputs = [ gimp pkgconfig glib pkgs.intltool gimp.gtk ] ++ gimp.nativeBuildInputs;
     src = fetchurl {
-      url = ftp://ftp.gimp.org/pub/gimp/plug-ins/v2.6/gap/gimp-gap-2.6.0.tar.bz2;
+      url = http://ftp.gimp.org/pub/gimp/plug-ins/v2.6/gap/gimp-gap-2.6.0.tar.bz2;
       sha256 = "1jic7ixcmsn4kx2cn32nc5087rk6g8xsrz022xy11yfmgvhzb0ql";
     };
     patchPhase = ''
diff --git a/pkgs/applications/graphics/gimp/wrapper.nix b/pkgs/applications/graphics/gimp/wrapper.nix
new file mode 100644
index 000000000000..53067dc39c9a
--- /dev/null
+++ b/pkgs/applications/graphics/gimp/wrapper.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, buildEnv, gimp, makeWrapper, gimpPlugins, plugins ? null}:
+
+let
+allPlugins = lib.filter (pkg: builtins.isAttrs pkg && pkg.type == "derivation") (lib.attrValues gimpPlugins);
+selectedPlugins = if plugins == null then allPlugins else plugins;
+extraArgs = map (x: x.wrapArgs or "") selectedPlugins;
+
+drv = buildEnv {
+  name = "gimp-with-plugins-" + (builtins.parseDrvName gimp.name).version;
+
+  paths = [ gimp ] ++ selectedPlugins;
+
+  postBuild = ''
+    # TODO: This could be avoided if buildEnv could be forced to create all directories
+    if [ -L $out/bin ]; then
+      rm $out/bin
+      mkdir $out/bin
+      for i in ${gimp}/bin/*; do
+        ln -s $i $out/bin
+      done
+    fi
+    for each in gimp-2.8 gimp-console-2.8; do
+      wrapProgram $out/bin/$each \
+        --set GIMP2_PLUGINDIR "$out/lib/gimp/2.0" \
+        ${toString extraArgs}
+    done
+    set +x
+    for each in gimp gimp-console; do
+      ln -sf "$each-2.8" $out/bin/$each
+    done
+  '';
+  };
+in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
diff --git a/pkgs/applications/graphics/hugin/default.nix b/pkgs/applications/graphics/hugin/default.nix
index b11ed1a99df7..97181cb0d1bf 100644
--- a/pkgs/applications/graphics/hugin/default.nix
+++ b/pkgs/applications/graphics/hugin/default.nix
@@ -1,23 +1,25 @@
-{ stdenv, cmake, fetchurl, gnumake, pkgconfig
+{ stdenv, cmake, fetchurl, gnumake, pkgconfig, makeWrapper
 , boost, gettext, tclap, wxGTK
 , freeglut, glew, libXi, libXmu, mesa
-, autopanosiftc, enblend-enfuse, exiv2, ilmbase, lensfun, libpng, libtiff
-, openexr, panotools, perlPackages
+, autopanosiftc, enblend-enfuse, exiv2, fftw, ilmbase, lensfun, libpng, libtiff
+, openexr, panotools, perlPackages, sqlite, vigra
 }:
 
 stdenv.mkDerivation rec {
-  name = "hugin-2013.0.0";
+  name = "hugin-2015.0.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/hugin/${name}.tar.bz2";
-    sha256 = "1mgbvg09xvf0zcm9jfv5lb65nd292l86ffa23yp4pzm6izaiwkj8";
+    sha256 = "1gfblax9rxay8xskz5r8bips4nfh70vkyrb8ksgl6pg91c8krn9c";
   };
 
   NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
 
   buildInputs = [ boost gettext tclap wxGTK
                   freeglut glew libXi libXmu mesa
-                  exiv2 ilmbase lensfun libtiff libpng openexr panotools
+                  exiv2 fftw ilmbase lensfun libtiff libpng openexr panotools
+                  sqlite vigra
+                  perlPackages.ImageExifTool makeWrapper
                 ];
 
   # disable installation of the python scripting interface
@@ -27,22 +29,21 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  # commandline tools needed by the hugin batch processor
-  # you may have to tell hugin (in the preferences) where these binaries reside
-  propagatedUserEnvPackages = [ autopanosiftc enblend-enfuse gnumake
-                                perlPackages.ImageExifTool
-                              ];
-
   postInstall = ''
-    mkdir -p "$out/nix-support"
-    echo $propagatedUserEnvPackages > $out/nix-support/propagated-user-env-packages
+    for p in $out/bin/*; do
+      wrapProgram "$p" \
+        --suffix PATH : ${autopanosiftc}/bin \
+        --suffix PATH : ${enblend-enfuse}/bin \
+        --suffix PATH : ${gnumake}/bin \
+        --suffix PATH : ${perlPackages.ImageExifTool}/bin
+    done
   '';
 
   meta = {
     homepage = http://hugin.sourceforge.net/;
     description = "Toolkit for stitching photographs and assembling panoramas, together with an easy to use graphical front end";
     license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [viric];
+    maintainers = with stdenv.lib.maintainers; [ viric hrdinka ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/graphics/sane/backends/git.nix b/pkgs/applications/graphics/sane/backends/git.nix
index ad1302c9913d..0e4d7ae1b83f 100644
--- a/pkgs/applications/graphics/sane/backends/git.nix
+++ b/pkgs/applications/graphics/sane/backends/git.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchgit, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "2016-02-19";
+  version = "2016-02-25";
   src = fetchgit {
-    sha256 = "d50971c106c8e0071d71daad7235776ac9a07a5ab0adb1e0eae5536b3021dd5f";
-    rev = "d74d3bcd887d2a3d59ee96e04eb68f15c0a3b882";
+    sha256 = "842b1186d38de14221be514a58f77c23d9f83979ea45f846440cf9cbb1f26c1f";
+    rev = "c5117ed0f1b522eab10fd2248f140b2acad2a708";
     url = "git://alioth.debian.org/git/sane/sane-backends.git";
   };
 })
diff --git a/pkgs/applications/kde-apps-15.12/default.nix b/pkgs/applications/kde-apps-15.12/default.nix
index 15982cb5d64c..5db80b45b8f5 100644
--- a/pkgs/applications/kde-apps-15.12/default.nix
+++ b/pkgs/applications/kde-apps-15.12/default.nix
@@ -35,9 +35,11 @@ let
     dolphin = callPackage ./dolphin.nix {};
     dolphin-plugins = callPackage ./dolphin-plugins.nix {};
     ffmpegthumbs = callPackage ./ffmpegthumbs.nix {};
+    filelight = callPackage ./filelight.nix {};
     gpgmepp = callPackage ./gpgmepp.nix {};
     gwenview = callPackage ./gwenview.nix {};
     kate = callPackage ./kate.nix {};
+    kcalc = callPackage ./kcalc.nix {};
     kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {};
     kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix {};
     kgpg = callPackage ./kgpg.nix { inherit (pkgs.kde4) kdepimlibs; };
diff --git a/pkgs/applications/kde-apps-15.12/filelight.nix b/pkgs/applications/kde-apps-15.12/filelight.nix
new file mode 100644
index 000000000000..df5e097a540e
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/filelight.nix
@@ -0,0 +1,35 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, kdoctools
+, makeQtWrapper
+, qtscript
+, kio
+, solid
+, kxmlgui
+, kparts
+}:
+
+kdeApp {
+  name = "filelight";
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+    makeQtWrapper
+  ];
+  buildInputs = [
+    kio
+    kparts
+    qtscript
+    solid
+    kxmlgui
+  ];
+
+  postInstall = ''
+    wrapQtProgram "$out/bin/filelight"
+  '';
+  meta = {
+    license = with lib.licenses; [ gpl2 ];
+    maintainers = with lib.maintainers; [ fridh vcunat ];
+  };
+}
diff --git a/pkgs/applications/kde-apps-15.12/kcalc.nix b/pkgs/applications/kde-apps-15.12/kcalc.nix
new file mode 100644
index 000000000000..a1f0316825da
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/kcalc.nix
@@ -0,0 +1,38 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, kdoctools
+, makeQtWrapper
+, kconfig
+, kconfigwidgets
+, kguiaddons
+, kinit
+, knotifications
+
+}:
+
+kdeApp {
+  name = "kcalc";
+
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+  ];
+
+  buildInputs = [
+    kconfig
+    kconfigwidgets
+    kguiaddons
+    kinit
+    knotifications
+  ];
+
+  postInstall = ''
+    wrapQtProgram "$out/bin/kcalc"
+  '';
+
+  meta = {
+    license = with lib.licenses; [ gpl2 ];
+    maintainers = [ lib.maintainers.fridh ];
+  };
+}
diff --git a/pkgs/applications/misc/octoprint/plugins.nix b/pkgs/applications/misc/octoprint/plugins.nix
index 9b5a9ef15012..39384e15a369 100644
--- a/pkgs/applications/misc/octoprint/plugins.nix
+++ b/pkgs/applications/misc/octoprint/plugins.nix
@@ -8,13 +8,13 @@ in {
 
   m3d-fio = buildPlugin rec {
     name = "M3D-Fio-${version}";
-    version = "0.27";
+    version = "0.27.1";
 
     src = fetchFromGitHub {
       owner = "donovan6000";
       repo = "M3D-Fio";
       rev = "V${version}";
-      sha256 = "14zva61dhnsyapapw8q2qadfq5hzv5ykb7qxlz8a3x5j6wfhjn6h";
+      sha256 = "0jfb417wgdq6fzpxwq6xrrlpkndjwq69h4cdm0ixbyqkp7a3kcm2";
     };
 
     patches = [
diff --git a/pkgs/applications/misc/taskwarrior/default.nix b/pkgs/applications/misc/taskwarrior/default.nix
index 97acc18211e9..5590e4179db0 100644
--- a/pkgs/applications/misc/taskwarrior/default.nix
+++ b/pkgs/applications/misc/taskwarrior/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "taskwarrior-${version}";
-  version = "2.5.0";
+  version = "2.5.1";
 
   enableParallelBuilding = true;
 
   src = fetchurl {
     url = "http://www.taskwarrior.org/download/task-${version}.tar.gz";
-    sha256 = "0dj66c4pwdmfnzdlm1r23gqim6banycyzvmq266114v9b90ng3jd";
+    sha256 = "059a9yc58wcicc6xxsjh1ph7k2yrag0spsahp1wqmsq6h7jwwyyq";
   };
 
   nativeBuildInputs = [ cmake libuuid gnutls ];
diff --git a/pkgs/applications/misc/termite/default.nix b/pkgs/applications/misc/termite/default.nix
index d37f2c947c95..683e5db2d13e 100644
--- a/pkgs/applications/misc/termite/default.nix
+++ b/pkgs/applications/misc/termite/default.nix
@@ -2,18 +2,28 @@
 
 stdenv.mkDerivation rec {
   name = "termite-${version}";
-  version = "10";
+  version = "11";
 
   src = fetchgit {
     url = "https://github.com/thestinger/termite";
     rev = "refs/tags/v${version}";
-    sha256 = "107v59x8q2m1cx1x3i5ciibw4nl1qbq7p58bfw0irkhp7sl7kjk2";
+    sha256 = "1k91nw19c0p5ghqhs00mn9npa91idfkyiwik3ng6hb4jbnblp5ph";
   };
 
-  makeFlags = [ "VERSION=v${version}" "PREFIX=$(out)" ];
+  makeFlags = [ "VERSION=v${version}" "PREFIX=" "DESTDIR=$(out)" ];
 
   buildInputs = [ pkgconfig vte gtk3 ncurses ];
 
+  outputs = [ "out" "terminfo" ];
+
+  postInstall = ''
+    mkdir -p $terminfo/share
+    mv $out/share/terminfo $terminfo/share/terminfo
+
+    mkdir -p $out/nix-support
+    echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
+  '';
+
   meta = with stdenv.lib; {
     description = "A simple VTE-based terminal";
     license = licenses.lgpl2Plus;
diff --git a/pkgs/applications/networking/browsers/chromium/source/sources.nix b/pkgs/applications/networking/browsers/chromium/source/sources.nix
index 1a19210fd3dc..ffb9ff110686 100644
--- a/pkgs/applications/networking/browsers/chromium/source/sources.nix
+++ b/pkgs/applications/networking/browsers/chromium/source/sources.nix
@@ -1,21 +1,19 @@
 # This file is autogenerated from update.sh in the parent directory.
 {
-  dev = {
-    version = "49.0.2593.0";
-    sha256 = "1krkf8dg10xnvxs4zfvy2rkp0v3gxg55418b11kmfywsxjfi09hv";
-    sha256bin32 = "0sarfj8r6x28pbmcpd5facm6liifazj744c9qn6ci6xg7f8jlnxi";
-    sha256bin64 = "1l5s504mmr4v5y67fsla9hyrk7dm155yc790ld87s1ya03h455gr";
-  };
   beta = {
-    version = "49.0.2623.28";
-    sha256 = "1cpgfcw6kgw70k14wa1m5qzj4rnvkzrw1am30d34516mbwlmmqc8";
-    sha256bin32 = "0nwhjav1x325h1drqknrjl5glivn4fdpahs1nlaqfk8kbjh1q113";
-    sha256bin64 = "0wj6j0v3rngsclzbb8rc8l90wdi98j2sb60r2ypfihaxq2gd138y";
+    sha256 = "07i4vqswkijnl7wi6r1a0n1jq54ackm01yf8h3hwcik8q10i1aq5";
+    sha256bin64 = "16pwimg672qaqb89zdvsr8dr7bz50mz7zf6cl0cf45kz7sn8wwlh";
+    version = "49.0.2623.63";
+  };
+  dev = {
+    sha256 = "1xc66zsjd5snydf60di2k2vzwwcqs1p16yn4jbpj2khm9cmxmkmf";
+    sha256bin64 = "06v7r76pbc979f7ahmln0hmxzd8ipirh4128i0ygidj71xmg51mm";
+    version = "50.0.2657.0";
   };
   stable = {
-    version = "48.0.2564.97";
-    sha256 = "1nsjn8zlqljizy5dmg2rxwkw4k5j4yi15ywxi9ca3acv68dbhd3p";
-    sha256bin32 = "0gdd9krsfsixw5b03msm7nf7zl7xh4chzkh9srb19c1kzygl2j2l";
-    sha256bin64 = "1wmw17gdq1j6vxfdc8s94jc8z30pza8nipk4dh590xnb7faihr52";
+    sha256 = "03sdm09cnwq8a056rfljql7mz0s17fngfnm5q3p5xwakr2sbj7ka";
+    sha256bin32 = "157m88nafb8svpkv11rzpcfvak6486wx43rmbssg52x2k0vas0bl";
+    sha256bin64 = "036pcma8qczja803h9r1nlm0ypm4zblmy6q7pkwlgmn3r4r3n7i0";
+    version = "48.0.2564.116";
   };
 }
diff --git a/pkgs/applications/networking/browsers/chromium/source/update.nix b/pkgs/applications/networking/browsers/chromium/source/update.nix
index 49864cf1c7b0..3c489b7523e6 100644
--- a/pkgs/applications/networking/browsers/chromium/source/update.nix
+++ b/pkgs/applications/networking/browsers/chromium/source/update.nix
@@ -3,17 +3,24 @@
 let
   inherit (import ../../../../../../. {
     inherit system;
-  }) lib writeText stdenv;
+  }) lib runCommand writeText stdenv curl cacert nix;
 
   sources = if builtins.pathExists ./sources.nix
             then import ./sources.nix
-            else null;
+            else {};
 
   bucketURL = "https://commondatastorage.googleapis.com/"
             + "chromium-browser-official";
 
+  mkVerURL = version: "${bucketURL}/chromium-${version}.tar.xz";
+
   debURL = "https://dl.google.com/linux/chrome/deb/pool/main/g";
 
+  getDebURL = channelName: version: arch: mirror: let
+    packageSuffix = if channelName == "dev" then "unstable" else channelName;
+    packageName = "google-chrome-${packageSuffix}";
+  in "${mirror}/${packageName}/${packageName}_${version}-1_${arch}.deb";
+
   # Untrusted mirrors, don't try to update from them!
   debMirrors = [
     "http://95.31.35.30/chrome/pool/main/g"
@@ -21,32 +28,6 @@ let
     "http://repo.fdzh.org/chrome/deb/pool/main/g"
   ];
 
-  tryChannel = channel: let
-    chan = builtins.getAttr channel sources;
-  in if sources != null then ''
-    oldver="${chan.version}";
-    echo -n "Checking if $oldver ($channel) is up to date..." >&2;
-    if [ "x$(get_newest_ver "$version" "$oldver")" != "x$oldver" ];
-    then
-      echo " no, getting sha256 for new version $version:" >&2;
-      sha256="$(prefetch_sha "$channel" "$version")" || return 1;
-    else
-      echo " yes, keeping old sha256." >&2;
-      sha256="${chan.sha256}";
-      ${if (chan ? sha256bin32 && chan ? sha256bin64) then ''
-        sha256="$sha256.${chan.sha256bin32}.${chan.sha256bin64}";
-      '' else ''
-        sha256="$sha256.$(prefetch_deb_sha "$channel" "$version")";
-      ''}
-    fi;
-  '' else ''
-    sha256="$(prefetch_sha "$channel" "$version")" || return 1;
-  '';
-
-  caseChannel = channel: ''
-    ${channel}) ${tryChannel channel};;
-  '';
-
 in rec {
   getChannel = channel: let
     chanAttrs = builtins.getAttr channel sources;
@@ -54,70 +35,196 @@ in rec {
     inherit (chanAttrs) version;
 
     main = {
-      url = "${bucketURL}/chromium-${chanAttrs.version}.tar.xz";
+      url = mkVerURL chanAttrs.version;
       inherit (chanAttrs) sha256;
     };
 
     binary = let
-      pname = if channel == "dev"
-              then "google-chrome-unstable"
-              else "google-chrome-${channel}";
-      arch = if stdenv.is64bit then "amd64" else "i386";
-      relpath = "${pname}/${pname}_${chanAttrs.version}-1_${arch}.deb";
-    in lib.optionalAttrs (chanAttrs ? sha256bin64) {
-      urls = map (url: "${url}/${relpath}") ([ debURL ] ++ debMirrors);
-      sha256 = if stdenv.is64bit
-               then chanAttrs.sha256bin64
-               else chanAttrs.sha256bin32;
-    };
+      mkUrls = arch: let
+        mkURLForMirror = getDebURL channel chanAttrs.version arch;
+      in map mkURLForMirror ([ debURL ] ++ debMirrors);
+    in if stdenv.is64bit && chanAttrs ? sha256bin64 then {
+      urls = mkUrls "amd64";
+      sha256 = chanAttrs.sha256bin64;
+    } else if stdenv.is32bit && chanAttrs ? sha256bin32 then {
+      urls = mkUrls "i386";
+      sha256 = chanAttrs.sha256bin32;
+    } else throw "No Chrome plugins are available for your architecture.";
   };
 
-  updateHelpers = writeText "update-helpers.sh" ''
-
-    prefetch_main_sha()
-    {
-      nix-prefetch-url "${bucketURL}/chromium-$2.tar.xz";
-    }
-
-    prefetch_deb_sha()
-    {
-      channel="$1";
-      version="$2";
-
-      case "$1" in
-        dev) pname="google-chrome-unstable";;
-        *)   pname="google-chrome-$channel";;
-      esac;
-
-      deb_pre="${debURL}/$pname/$pname";
-
-      deb32=$(nix-prefetch-url "''${deb_pre}_$version-1_i386.deb");
-      deb64=$(nix-prefetch-url "''${deb_pre}_$version-1_amd64.deb");
-
-      echo "$deb32.$deb64";
-      return 0;
-    }
-
-    prefetch_sha()
-    {
-      main_sha="$(prefetch_main_sha "$@")" || return 1;
-      deb_sha="$(prefetch_deb_sha "$@")" || return 1;
-      echo "$main_sha.$deb_sha";
-      return 0;
-    }
-
-    get_sha256()
-    {
-      channel="$1";
-      version="$2";
-
-      case "$channel" in
-        ${lib.concatMapStrings caseChannel [ "stable" "dev" "beta" ]}
-      esac;
-
-      sha_insert "$version" "$sha256";
-      echo "$sha256";
-      return 0;
-    }
+  update = let
+    csv2nix = name: src: import (runCommand "${name}.nix" {
+      src = builtins.fetchurl src;
+    } ''
+      esc() { echo "\"$(echo "$1" | sed -e 's/"\\$/\\&/')\""; }
+      IFS=, read -r -a headings <<< "$(head -n1 "$src")"
+      echo "[" > "$out"
+      tail -n +2 "$src" | while IFS=, read -r -a line; do
+        echo "  {"
+        for idx in "''${!headings[@]}"; do
+          echo "    $(esc "''${headings[idx]}") = $(esc ''${line[$idx]});"
+        done
+        echo "  }"
+      done >> "$out"
+      echo "]" >> "$out"
+    '');
+
+    channels = lib.fold lib.recursiveUpdate {} (map (attrs: {
+      ${attrs.os}.${attrs.channel} = attrs // {
+        history = let
+          drvName = "omahaproxy-${attrs.os}.${attrs.channel}-info";
+          history = csv2nix drvName "http://omahaproxy.appspot.com/history";
+          cond = h: attrs.os == h.os && attrs.channel == h.channel
+                 && lib.versionOlder h.version attrs.current_version;
+          # Note that this is a *reverse* sort!
+          sorter = a: b: lib.versionOlder b.version a.version;
+          sorted = builtins.sort sorter (lib.filter cond history);
+        in map (lib.flip removeAttrs ["os" "channel"]) sorted;
+        version = attrs.current_version;
+      };
+    }) (csv2nix "omahaproxy-info" "http://omahaproxy.appspot.com/all?csv=1"));
+
+    /*
+      XXX: This is essentially the same as:
+
+        builtins.tryEval (builtins.fetchurl url)
+
+      ... except that tryEval on fetchurl isn't working and doesn't catch errors
+      for fetchurl, so we go for a different approach.
+
+      We only have fixed-output derivations that can have networking access, so
+      we abuse MD5 and its weaknesses to forge a fixed-output derivation which
+      is not so fixed, because it emits different contents that have the same
+      MD5 hash.
+
+      Using this method, we can distinguish whether the URL is available or
+      whether it's not based on the actual content.
+
+      So let's use tryEval as soon as it's working with fetchurl in Nix.
+    */
+    tryFetch = url: let
+      mkBin = b: runCommand "binary-blurb" { inherit b; } ''
+        h="$(echo "$b" | sed -e ':r;N;$!br;s/[^ \n][^ \n]/\\x&/g;s/[ \n]//g')"
+        echo -ne "$h" > "$out"
+      '';
+
+      # Both MD5 hash collision examples are from:
+      # https://en.wikipedia.org/wiki/MD5#Collision_vulnerabilities
+      hashCollTrue = mkBin ''
+        d131dd02c5e6eec4 693d9a0698aff95c 2fcab58712467eab 4004583eb8fb7f89
+        55ad340609f4b302 83e488832571415a 085125e8f7cdc99f d91dbdf280373c5b
+        d8823e3156348f5b ae6dacd436c919c6 dd53e2b487da03fd 02396306d248cda0
+        e99f33420f577ee8 ce54b67080a80d1e c69821bcb6a88393 96f9652b6ff72a70
+      '';
+
+      hashCollFalse = mkBin ''
+        d131dd02c5e6eec4 693d9a0698aff95c 2fcab50712467eab 4004583eb8fb7f89
+        55ad340609f4b302 83e4888325f1415a 085125e8f7cdc99f d91dbd7280373c5b
+        d8823e3156348f5b ae6dacd436c919c6 dd53e23487da03fd 02396306d248cda0
+        e99f33420f577ee8 ce54b67080280d1e c69821bcb6a88393 96f965ab6ff72a70
+      '';
+
+      cacheVal = let
+        urlHash = builtins.hashString "sha256" url;
+        timeSlice = builtins.currentTime / 600;
+      in "${urlHash}-${toString timeSlice}";
+
+      successBin = stdenv.mkDerivation {
+        name = "tryfetch-${cacheVal}";
+        inherit url;
+
+        outputHash = "79054025255fb1a26e4bc422aef54eb4";
+        outputHashMode = "flat";
+        outputHashAlgo = "md5";
+
+        buildInputs = [ curl ];
+        preferLocalBuild = true;
+
+        buildCommand = ''
+          if SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt" \
+             curl -s -L -f -I "$url" > /dev/null; then
+            cat "${hashCollTrue}" > "$out"
+          else
+            cat "${hashCollFalse}" > "$out"
+          fi
+        '';
+
+        impureEnvVars = [
+          "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"
+        ];
+      };
+
+    in {
+      success = builtins.readFile successBin == builtins.readFile hashCollTrue;
+      value = builtins.fetchurl url;
+    };
+
+    fetchLatest = channel: let
+      result = tryFetch (mkVerURL channel.version);
+    in if result.success then result.value else fetchLatest (channel // {
+      version = if channel.history != []
+                then (lib.head channel.history).version
+                else throw "Unfortunately there's no older version than " +
+                           "${channel.version} available for channel " +
+                           "${channel.channel} on ${channel.os}.";
+      history = lib.tail channel.history;
+    });
+
+    getHash = path: import (runCommand "gethash.nix" {
+      inherit path;
+      buildInputs = [ nix ];
+    } ''
+      sha256="$(nix-hash --flat --base32 --type sha256 "$path")"
+      echo "\"$sha256\"" > "$out"
+    '');
+
+    isLatest = channel: version: let
+      ourVersion = sources.${channel}.version or null;
+    in if ourVersion == null then false
+       else lib.versionAtLeast version sources.${channel}.version;
+
+    # We only support GNU/Linux right now.
+    linuxChannels = let
+      genLatest = channelName: channel: let
+        newUpstream = {
+          inherit (channel) version;
+          sha256 = getHash (fetchLatest channel);
+        };
+        keepOld = let
+          oldChannel = sources.${channelName};
+        in {
+          inherit (oldChannel) version sha256;
+        } // lib.optionalAttrs (oldChannel ? sha256bin32) {
+          inherit (oldChannel) sha256bin32;
+        } // lib.optionalAttrs (oldChannel ? sha256bin64) {
+          inherit (oldChannel) sha256bin64;
+        };
+      in if isLatest channelName channel.version then keepOld else newUpstream;
+    in lib.mapAttrs genLatest channels.linux;
+
+    getLinuxFlash = channelName: channel: let
+      inherit (channel) version;
+      fetchArch = arch: tryFetch (getDebURL channelName version arch debURL);
+      packages = lib.genAttrs ["i386" "amd64"] fetchArch;
+      isNew = arch: attr: !(builtins.hasAttr attr channel)
+                       && packages.${arch}.success;
+    in channel // lib.optionalAttrs (isNew "i386" "sha256bin32") {
+      sha256bin32 = getHash (packages.i386.value);
+    } // lib.optionalAttrs (isNew "amd64" "sha256bin64") {
+      sha256bin64 = getHash (packages.amd64.value);
+    };
+
+    newChannels = lib.mapAttrs getLinuxFlash linuxChannels;
+
+    dumpAttrs = indent: attrs: let
+      mkVal = val: if lib.isAttrs val then dumpAttrs (indent + 1) val
+                   else "\"${lib.escape ["$" "\\" "\""] (toString val)}\"";
+      mkIndent = level: lib.concatStrings (builtins.genList (_: "  ") level);
+      mkAttr = key: val: "${mkIndent (indent + 1)}${key} = ${mkVal val};\n";
+      attrLines = lib.mapAttrsToList mkAttr attrs;
+    in "{\n" + (lib.concatStrings attrLines) + (mkIndent indent) + "}";
+  in writeText "chromium-new-sources.nix" ''
+    # This file is autogenerated from update.sh in the parent directory.
+    ${dumpAttrs 0 newChannels}
   '';
 }
diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh
index e079762420be..05cc671d31ce 100755
--- a/pkgs/applications/networking/browsers/chromium/update.sh
+++ b/pkgs/applications/networking/browsers/chromium/update.sh
@@ -1,100 +1,3 @@
-#!/bin/sh
-
-channels_url="http://omahaproxy.appspot.com/all?csv=1";
-history_url="http://omahaproxy.appspot.com/history";
-bucket_url="http://commondatastorage.googleapis.com/chromium-browser-official/";
-base_path="$(cd "$(dirname "$0")" && pwd)/source";
-
-source "$(nix-build --no-out-link "$base_path/update.nix" -A updateHelpers)";
-
-### poor mans key/value-store :-) ###
-
-ver_sha_table=""; # list of version:sha256
-
-sha_insert()
-{
-    version="$1";
-    sha256="$2";
-
-    ver_sha_table="$ver_sha_table $version:$sha256";
-}
-
-get_newest_ver()
-{
-    versions="$(for v in $@; do echo "$v"; done)";
-    if oldest="$(echo "$versions" | sort -V 2> /dev/null | tail -n1)";
-    then
-        echo "$oldest";
-    else
-        echo "$versions" | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -n1;
-    fi;
-}
-
-fetch_filtered_history()
-{
-    curl -s "$history_url" | sed -nr 's/^'"linux,$1"',([^,]+).*$/\1/p';
-}
-
-get_prev_sha256()
-{
-    channel="$1";
-    current_version="$2";
-
-    for version in $(fetch_filtered_history "$channel");
-    do
-        [ "x$version" = "x$current_version" ] && continue;
-        sha256="$(get_sha256 "$channel" "$version")" || continue;
-        echo "$sha256:$version";
-        return 0;
-    done;
-}
-
-get_channel_exprs()
-{
-    for chline in $1;
-    do
-        channel="${chline%%,*}";
-        version="${chline##*,}";
-
-        sha256="$(get_sha256 "$channel" "$version")";
-        if [ $? -ne 0 ];
-        then
-            echo "Whoops, failed to fetch $version, trying previous" \
-                 "versions:" >&2;
-
-            sha_ver="$(get_prev_sha256 "$channel" "$version")";
-            sha256="${sha_ver%:*}";
-            version="${sha_ver#*:}";
-        fi;
-
-        sha_insert "$version" "$sha256";
-
-        main="${sha256%%.*}";
-        deb="${sha256#*.}";
-        deb32="${deb%.*}";
-        deb64="${deb#*.}";
-
-        echo "  $channel = {";
-        echo "    version = \"$version\";";
-        echo "    sha256 = \"$main\";";
-        if [ "x${deb#*[a-z0-9].[a-z0-9]}" != "x$deb" ];
-        then
-            echo "    sha256bin32 = \"$deb32\";";
-            echo "    sha256bin64 = \"$deb64\";";
-        fi;
-        echo "  };";
-    done;
-}
-
-cd "$(dirname "$0")";
-
-omaha="$(curl -s "$channels_url")";
-versions="$(echo "$omaha" | sed -nr -e 's/^linux,([^,]+,[^,]+).*$/\1/p')";
-channel_exprs="$(get_channel_exprs "$versions")";
-
-cat > "$base_path/sources.nix" <<-EOF
-# This file is autogenerated from update.sh in the parent directory.
-{
-$channel_exprs
-}
-EOF
+#!/bin/sh -e
+sp="$(nix-build -Q --no-out-link source/update.nix -A update)"
+cat "$sp" > source/sources.nix
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix
index b05da9c67000..89e545d12e4b 100644
--- a/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -35,8 +35,6 @@ with (import ../chromium/source/update.nix {
 }).getChannel channel;
 
 let
-  dist = if channel == "dev" then "unstable" else channel;
-
   opusWithCustomModes = libopus.override {
     withCustomModes = true;
   };
@@ -71,7 +69,13 @@ in stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    exe=$out/bin/google-chrome-${dist}
+    case ${channel} in
+      beta) appname=chrome-beta      dist=beta     ;;
+      dev)  appname=chrome-unstable  dist=unstable ;;
+      *)    appname=chrome           dist=stable   ;;
+    esac
+
+    exe=$out/bin/google-chrome-$dist
     rpath="${env}/lib:${env}/lib64"
 
     mkdir -p $out/bin $out/share
@@ -79,32 +83,32 @@ in stdenv.mkDerivation rec {
     cp -a opt/* $out/share
     cp -a usr/share/* $out/share
 
-    substituteInPlace $out/share/applications/google-chrome.desktop \
-      --replace /usr/bin/google-chrome-${dist} $exe
-    substituteInPlace $out/share/gnome-control-center/default-apps/google-chrome.xml \
-      --replace /opt/google/chrome/google-chrome $exe
-    substituteInPlace $out/share/menu/google-chrome.menu \
+    substituteInPlace $out/share/applications/google-$appname.desktop \
+      --replace /usr/bin/google-chrome-$dist $exe
+    substituteInPlace $out/share/gnome-control-center/default-apps/google-$appname.xml \
+      --replace /opt/google/$appname/google-$appname $exe
+    substituteInPlace $out/share/menu/google-$appname.menu \
       --replace /opt $out/share \
-      --replace $out/share/google/chrome/google-chrome $exe
+      --replace $out/share/google/chrome/google-$appname $exe
 
-    for icon_file in $out/share/google/chrome/product_logo_*[0-9].png; do
+    for icon_file in $out/share/google/chrome*/product_logo_*[0-9].png; do
       num_and_suffix="''${icon_file##*logo_}"
       icon_size="''${num_and_suffix%.*}"
       logo_output_prefix="$out/share/icons/hicolor"
       logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps"
       mkdir -p "$logo_output_path"
-      mv "$icon_file" "$logo_output_path/google-chrome.png"
+      mv "$icon_file" "$logo_output_path/google-$appname.png"
     done
 
     cat > $exe << EOF
     #!${bash}/bin/sh
     export LD_LIBRARY_PATH=$rpath\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
     export PATH=${env}/bin\''${PATH:+:\$PATH}
-    $out/share/google/chrome/google-chrome "\$@"
+    $out/share/google/$appname/google-$appname "\$@"
     EOF
     chmod +x $exe
 
-    for elf in $out/share/google/chrome/{chrome,chrome-sandbox,nacl_helper}; do
+    for elf in $out/share/google/$appname/{chrome,chrome-sandbox,nacl_helper}; do
       patchelf --set-rpath $rpath $elf
       patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $elf
     done
@@ -112,7 +116,7 @@ in stdenv.mkDerivation rec {
 
   meta = {
     description = "A freeware web browser developed by Google";
-    homepage = "https://www.google.com/chrome/browser/";
+    homepage = https://www.google.com/chrome/browser/;
     license = licenses.unfree;
     maintainers = [ maintainers.msteen ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 7c73e7b808c7..43c5e0fb627f 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -11,7 +11,8 @@
 , fontsConf, pkgconfig, libzip, bluez5, libtool, maven
 , libatomic_ops, graphite2, harfbuzz, libodfgen
 , librevenge, libe-book, libmwaw, glm, glew, gst_all_1
-, gdb, commonsLogging, librdf_rasqal
+, gdb, commonsLogging, librdf_rasqal, makeWrapper, gsettings_desktop_schemas
+, defaultIconTheme, glib
 , langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" "pl" ]
 , withHelp ? true
 }:
@@ -141,8 +142,14 @@ in stdenv.mkDerivation rec {
   postInstall = ''
     mkdir -p $out/bin $out/share/desktop
 
+    mkdir -p "$out/share/gsettings-schemas/collected-for-libreoffice/glib-2.0/schemas/"
+
     for a in sbase scalc sdraw smath swriter spadmin simpress soffice; do
       ln -s $out/lib/libreoffice/program/$a $out/bin/$a
+      wrapProgram "$out/bin/$a" \
+         --prefix XDG_DATA_DIRS : \
+         "$out/share:$GSETTINGS_SCHEMAS_PATH" \
+         ;
     done
 
     ln -s $out/bin/soffice $out/bin/libreoffice
@@ -224,13 +231,13 @@ in stdenv.mkDerivation rec {
       libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
       libXaw libXext libXi libXinerama libxml2 libxslt libXtst
       libXdmcp libpthreadstubs mesa mythes gst_all_1.gstreamer
-      gst_all_1.gst-plugins-base
+      gst_all_1.gst-plugins-base gsettings_desktop_schemas glib
       neon nspr nss openldap openssl ORBit2 pam perl pkgconfig poppler
       python3 sablotron sane-backends tcsh unzip vigra which zip zlib
       mdds bluez5 glibc libcmis libwps libabw
       libxshmfence libatomic_ops graphite2 harfbuzz
       librevenge libe-book libmwaw glm glew
-      libodfgen CoinMP librdf_rasqal
+      libodfgen CoinMP librdf_rasqal defaultIconTheme makeWrapper
     ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/office/qnotero/default.nix b/pkgs/applications/office/qnotero/default.nix
new file mode 100644
index 000000000000..695db93d4de1
--- /dev/null
+++ b/pkgs/applications/office/qnotero/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, buildPythonPackage, python3, python3Packages
+}:
+
+python3Packages.buildPythonPackage rec {
+  name = "qnotero-${version}";
+
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "smathot";
+    repo = "qnotero";
+    rev = "release/${version}";
+    name = "qnotero-${version}-src";
+    sha256 = "1d5a9k1llzn9q1qv1bfwc7gfflabh4riplz9jj0hf04b279y1bj0";
+  };
+
+  propagatedBuildInputs = [ python3 python3Packages.pyqt4 ];
+
+  patchPhase = ''
+      substituteInPlace ./setup.py \
+        --replace "/usr/share" "$out/usr/share"
+
+      substituteInPlace ./libqnotero/_themes/default.py \
+        --replace "/usr/share" "$out/usr/share"
+  '';
+
+  postInstall = ''
+      mkdir -p "$out/usr/share/qnotero"
+      mv resources "$out/usr/share/qnotero"
+  '';
+
+  meta = {
+    description = "Quick access to Zotero references";
+    homepage = http://www.cogsci.nl/software/qnotero;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.nico202 ];
+  };
+}
diff --git a/pkgs/applications/science/math/calc/default.nix b/pkgs/applications/science/math/calc/default.nix
new file mode 100644
index 000000000000..8673d7debd9d
--- /dev/null
+++ b/pkgs/applications/science/math/calc/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, makeWrapper, glibc, readline, ncurses, groff, utillinux }:
+
+with stdenv.lib;
+let
+  makeFlags = ''
+    INCDIR=${glibc}/include \
+    BINDIR=$out/bin LIBDIR=$out/lib CALC_INCDIR=$out/include/calc CALC_SHAREDIR=$out/share/calc MANDIR=$out/share/man/man1 \
+    USE_READLINE=-DUSE_READLINE READLINE_LIB=-lreadline READLINE_EXTRAS='-lhistory -lncurses' \
+    TERMCONTROL=-DUSE_TERMIOS \
+    NROFF=groff
+  '';
+in
+stdenv.mkDerivation rec {
+
+  name = "calc-${version}";
+  version = "2.12.5.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/calc/${name}.tar.bz2";
+    sha256 = "14mnz6smhi3a0rgmwvddk9w3vdisi8khq67i8nqsl47vgs8n1kqg";
+  };
+
+  buildInputs = [ makeWrapper readline ncurses groff utillinux ];
+
+  configurePhase = ''
+    sed -i 's/all: check_include/all:/' Makefile
+  '';
+
+  buildPhase = ''
+    make ${makeFlags}
+  '';
+
+  installPhase = ''
+    make install ${makeFlags}
+    wrapProgram $out/bin/calc --prefix LD_LIBRARY_PATH : $out/lib
+  '';
+
+  meta = {
+    description = "C-style arbitrary precision calculator";
+    homepage = http://www.isthe.com/chongo/tech/comp/calc/;
+    license = licenses.lgpl21;
+    maintainers = [ ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/science/misc/yarp/default.nix b/pkgs/applications/science/misc/yarp/default.nix
new file mode 100644
index 000000000000..2daf5a4b5c7d
--- /dev/null
+++ b/pkgs/applications/science/misc/yarp/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, pkgconfig, cmake, ace
+}:
+
+stdenv.mkDerivation rec {
+  name = "yarp-${version}";
+  version = "2.3.64";
+  src = fetchFromGitHub {
+    owner = "robotology";
+    repo = "yarp";
+    rev = "v2.3.64";
+    sha256 = "0x9sdc8d6rppzf1kx53w0yjlnmz7h75qv62yd3ls09w3cy7nb5x7";
+  };
+
+  buildInputs = [ cmake ace ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Yet Another Robot Platform";
+    homepage = http://yarp.it;
+    license = stdenv.lib.licenses.lgpl21;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.nico202 ];
+  };
+}
+
diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix
index 555da3de6d53..c396870f9e5b 100644
--- a/pkgs/applications/search/recoll/default.nix
+++ b/pkgs/applications/search/recoll/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl
+{ stdenv, fetchurl, bison
 , qt4, xapian, file, python, perl
 , djvulibre, groff, libxslt, unzip, poppler_utils, antiword, catdoc, lyx
 , libwpd, unrtf, untex
@@ -7,17 +7,19 @@
 assert stdenv.system != "powerpc-linux";
 
 stdenv.mkDerivation rec {
-  ver = "1.20.6";
+  ver = "1.21.3";
   name = "recoll-${ver}";
 
   src = fetchurl {
     url = "http://www.lesbonscomptes.com/recoll/${name}.tar.gz";
-    sha256 = "0ympk2w21cxfvysyx96p0npsa54csfc84cicpi8nsj1qp824zxwq";
+    sha256 = "66f039f08b149d5e4840664d4a636f6b55145b02072f87aab83282ebe0cd593a";
   };
 
+  patches = [ ./nodeblayout.patch ./versionawk.patch ];
+
   configureFlags = [ "--with-inotify" ];
 
-  buildInputs = [ qt4 xapian file python ];
+  buildInputs = [ qt4 xapian file python bison];
 
   # the filters search through ${PATH} using a sh proc 'checkcmds' for the
   # filtering utils. Short circuit this by replacing the filtering command with
@@ -29,7 +31,7 @@ stdenv.mkDerivation rec {
       substituteInPlace  $f --replace catppt        ${catdoc}/bin/catppt
       substituteInPlace  $f --replace djvused       ${djvulibre}/bin/djvused
       substituteInPlace  $f --replace djvutxt       ${djvulibre}/bin/djvutxt
-      substituteInPlace  $f --replace grep          ${gnugrep}/bin/grep
+      substituteInPlace  $f --replace egrep         ${gnugrep}/bin/egrep
       substituteInPlace  $f --replace groff         ${groff}/bin/groff
       substituteInPlace  $f --replace gunzip        ${gzip}/bin/gunzip
       substituteInPlace  $f --replace iconv         ${libiconv}/bin/iconv
@@ -48,6 +50,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "A full-text search tool";
     longDescription = ''
diff --git a/pkgs/applications/search/recoll/nodeblayout.patch b/pkgs/applications/search/recoll/nodeblayout.patch
new file mode 100644
index 000000000000..39988423ae1f
--- /dev/null
+++ b/pkgs/applications/search/recoll/nodeblayout.patch
@@ -0,0 +1,12 @@
+diff -ru recoll-1.21.3-orig/recollinstall.in recoll-1.21.3/recollinstall.in
+--- recoll-1.21.3-orig/recollinstall.in	2015-09-28 08:08:42.000000000 +0100
++++ recoll-1.21.3/recollinstall.in	2015-12-13 22:48:30.361776374 +0000
+@@ -45,9 +45,6 @@
+    mandir=$DESTDIR/$mandir
+    ROOTFORPYTHON="--root=${DESTDIR}"
+ fi
+-if test -f /etc/debian_version ; then
+-   OPTSFORPYTHON=--install-layout=deb
+-fi
+ 
+ echo "Installing to $PREFIX"
diff --git a/pkgs/applications/search/recoll/versionawk.patch b/pkgs/applications/search/recoll/versionawk.patch
new file mode 100644
index 000000000000..a03ffbc16df1
--- /dev/null
+++ b/pkgs/applications/search/recoll/versionawk.patch
@@ -0,0 +1,12 @@
+diff -ru recoll-1.21.3-orig/filters/rclpdf recoll-1.21.3/filters/rclpdf
+--- recoll-1.21.3-orig/filters/rclpdf	2015-09-28 08:08:15.000000000 +0100
++++ recoll-1.21.3/filters/rclpdf	2015-12-14 21:37:01.984945925 +0000
+@@ -129,7 +129,7 @@
+ {
+     # Test poppler version: at some point before 0.24, poppler began
+     # to properly escape text inside the header (but not the body).
+-    XYZ=`pdftotext -v 2>&1 | awk '/pdftotext/{print $3}'`
++    XYZ=`pdftotext -v 2>&1 | awk '/version/{print $3}'`
+     MAJOR=`echo $XYZ | cut -d. -f 1`
+     MINOR=`echo $XYZ | cut -d. -f 2`
+     escapeheader=1
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index 0aea48cb0562..584c880566ac 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -10,9 +10,9 @@ let
       asciidoc xmlto docbook2x docbook_xsl docbook_xml_dtd_45 libxslt cpio tcl
       tk makeWrapper subversionClient gzip libiconv;
     texinfo = texinfo5;
-    svnSupport = false;		# for git-svn support
-    guiSupport = false;		# requires tcl/tk
-    sendEmailSupport = false;	# requires plenty of perl libraries
+    svnSupport = false;         # for git-svn support
+    guiSupport = false;         # requires tcl/tk
+    sendEmailSupport = false;   # requires plenty of perl libraries
     perlLibs = [perlPackages.LWP perlPackages.URI perlPackages.TermReadKey];
     smtpPerlLibs = [
       perlPackages.NetSMTP perlPackages.NetSMTPSSL
@@ -24,17 +24,12 @@ let
 
 in
 rec {
+  # Try to keep this generally alphabetized
 
-  # support for bugzilla
-  git-bz = callPackage ./git-bz { };
+  darcsToGit = callPackage ./darcs-to-git { };
 
   git = appendToName "minimal" gitBase;
 
-  # Git with SVN support, but without GUI.
-  gitSVN = lowPrio (appendToName "with-svn" (gitBase.override {
-    svnSupport = true;
-  }));
-
   # The full-featured Git.
   gitFull = gitBase.override {
     svnSupport = true;
@@ -42,34 +37,44 @@ rec {
     sendEmailSupport = !stdenv.isDarwin;
   };
 
+  # Git with SVN support, but without GUI.
+  gitSVN = lowPrio (appendToName "with-svn" (gitBase.override {
+    svnSupport = true;
+  }));
+
   git-annex = pkgs.haskellPackages.git-annex-with-assistant;
   gitAnnex = git-annex;
 
   git-annex-remote-b2 = pkgs.goPackages.git-annex-remote-b2;
 
-  qgit = import ./qgit {
-    inherit fetchurl stdenv;
-    inherit (xorg) libXext libX11;
-    qt = qt4;
-  };
+  # support for bugzilla
+  git-bz = callPackage ./git-bz { };
 
-  qgitGit = import ./qgit/qgit-git.nix {
-    inherit fetchurl sourceFromHead stdenv;
-    inherit (xorg) libXext libX11;
-    qt = qt4;
-  };
+  git-cola = callPackage ./git-cola { };
 
-  stgit = import ./stgit {
-    inherit fetchurl stdenv python git;
+  git-crypt = callPackage ./git-crypt { };
+
+  git-extras = callPackage ./git-extras { };
+
+  git-imerge = callPackage ./git-imerge { };
+
+  git-radar = callPackage ./git-radar { };
+
+  git-remote-hg = callPackage ./git-remote-hg { };
+
+  git-stree = callPackage ./git-stree { };
+
+  git2cl = import ./git2cl {
+    inherit fetchgit stdenv perl;
   };
 
-  topGit = lib.makeOverridable (import ./topgit) {
-    inherit stdenv fetchurl;
+  gitFastExport = import ./fast-export {
+    inherit fetchgit stdenv mercurial coreutils git makeWrapper subversion;
   };
 
-  tig = callPackage ./tig { };
+  gitRemoteGcrypt = callPackage ./git-remote-gcrypt { };
 
-  transcrypt = callPackage ./transcrypt { };
+  gitflow = callPackage ./gitflow { };
 
   hub = import ./hub {
     inherit go;
@@ -77,14 +82,24 @@ rec {
     inherit (darwin) Security;
   };
 
-  gitFastExport = import ./fast-export {
-    inherit fetchgit stdenv mercurial coreutils git makeWrapper subversion;
+  qgit = import ./qgit {
+    inherit fetchurl stdenv;
+    inherit (xorg) libXext libX11;
+    qt = qt4;
   };
 
-  git2cl = import ./git2cl {
-    inherit fetchgit stdenv perl;
+  qgitGit = import ./qgit/qgit-git.nix {
+    inherit fetchurl sourceFromHead stdenv;
+    inherit (xorg) libXext libX11;
+    qt = qt4;
   };
 
+  stgit = import ./stgit {
+    inherit fetchurl stdenv python git;
+  };
+
+  subgit = callPackage ./subgit { };
+
   svn2git = import ./svn2git {
     inherit stdenv fetchurl ruby makeWrapper;
     git = gitSVN;
@@ -92,23 +107,11 @@ rec {
 
   svn2git_kde = callPackage ./svn2git-kde { };
 
-  subgit = callPackage ./subgit { };
-
-  darcsToGit = callPackage ./darcs-to-git { };
-
-  gitflow = callPackage ./gitflow { };
-
-  git-radar = callPackage ./git-radar { };
-
-  git-remote-hg = callPackage ./git-remote-hg { };
-
-  gitRemoteGcrypt = callPackage ./git-remote-gcrypt { };
-
-  git-extras = callPackage ./git-extras { };
-
-  git-cola = callPackage ./git-cola { };
+  tig = callPackage ./tig { };
 
-  git-imerge = callPackage ./git-imerge { };
+  topGit = lib.makeOverridable (import ./topgit) {
+    inherit stdenv fetchurl;
+  };
 
-  git-crypt = callPackage ./git-crypt { };
+  transcrypt = callPackage ./transcrypt { };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git-stree/default.nix b/pkgs/applications/version-management/git-and-tools/git-stree/default.nix
new file mode 100644
index 000000000000..ef33b82e5c65
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-stree/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, fetchFromGitHub, ... }:
+
+stdenv.mkDerivation rec {
+  name = "git-stree-${version}";
+  version = "0.4.5";
+
+  src = fetchFromGitHub {
+    owner = "tdd";
+    repo = "git-stree";
+    rev = "0.4.5";
+    sha256 = "0y5h44n38w6rhy9m591dvibxpfggj3q950ll7y4h49bhpks4m0l9";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin $out/etc/bash_completion.d
+    install -m 0755 git-stree $out/bin/
+    install -m 0644 git-stree-completion.bash $out/etc/bash_completion.d/
+  '';
+
+  meta = with lib; {
+    description = "A better Git subtree helper command";
+    homepage = http://deliciousinsights.github.io/git-stree;
+    license = licenses.mit;
+    maintainers = [ maintainers.benley ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 3515f60a86c0..2878fec3c095 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation {
   patches = [
     ./docbook2texi.patch
     ./symlinks-in-bin.patch
+    ./git-sh-i18n.patch
   ];
 
   buildInputs = [curl openssl zlib expat gettext cpio makeWrapper libiconv]
@@ -85,7 +86,7 @@ stdenv.mkDerivation {
 
       # Fix references to gettext.
       substituteInPlace $out/libexec/git-core/git-sh-i18n \
-          --replace 'gettext.sh' '${gettext}/bin/gettext.sh'
+          --subst-var-by gettext ${gettext}
 
       # gzip (and optionally bzip2, xz, zip) are runtime dependencies for
       # gitweb.cgi, need to patch so that it's found
diff --git a/pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch b/pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch
new file mode 100644
index 000000000000..8e3ee2bce896
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git/git-sh-i18n.patch
@@ -0,0 +1,78 @@
+diff --git a/git-sh-i18n.sh b/git-sh-i18n.sh
+index e6c3116..4e34a2c 100644
+--- a/git-sh-i18n.sh
++++ b/git-sh-i18n.sh
+@@ -15,69 +15,11 @@ else
+ fi
+ export TEXTDOMAINDIR
+ 
+-# First decide what scheme to use...
+-GIT_INTERNAL_GETTEXT_SH_SCHEME=fallthrough
+-if test -n "@@USE_GETTEXT_SCHEME@@"
+-then
+-	GIT_INTERNAL_GETTEXT_SH_SCHEME="@@USE_GETTEXT_SCHEME@@"
+-elif test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS"
+-then
+-	: no probing necessary
+-elif test -n "$GIT_GETTEXT_POISON"
+-then
+-	GIT_INTERNAL_GETTEXT_SH_SCHEME=poison
+-elif type gettext.sh >/dev/null 2>&1
+-then
+-	# GNU libintl's gettext.sh
+-	GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu
+-elif test "$(gettext -h 2>&1)" = "-h"
+-then
+-	# gettext binary exists but no gettext.sh. likely to be a gettext
+-	# binary on a Solaris or something that is not GNU libintl and
+-	# lack eval_gettext.
+-	GIT_INTERNAL_GETTEXT_SH_SCHEME=gettext_without_eval_gettext
+-fi
+-export GIT_INTERNAL_GETTEXT_SH_SCHEME
+-
+-# ... and then follow that decision.
+-case "$GIT_INTERNAL_GETTEXT_SH_SCHEME" in
+-gnu)
+-	# Use libintl's gettext.sh, or fall back to English if we can't.
+-	. gettext.sh
+-	;;
+-gettext_without_eval_gettext)
+-	# Solaris has a gettext(1) but no eval_gettext(1)
+-	eval_gettext () {
+-		gettext "$1" | (
+-			export PATH $(git sh-i18n--envsubst --variables "$1");
+-			git sh-i18n--envsubst "$1"
+-		)
+-	}
+-	;;
+-poison)
+-	# Emit garbage so that tests that incorrectly rely on translatable
+-	# strings will fail.
+-	gettext () {
+-		printf "%s" "# GETTEXT POISON #"
+-	}
+-
+-	eval_gettext () {
+-		printf "%s" "# GETTEXT POISON #"
+-	}
+-	;;
+-*)
+-	gettext () {
+-		printf "%s" "$1"
+-	}
++# GNU gettext
++export GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu
++export PATH=@gettext@/bin:$PATH
+ 
+-	eval_gettext () {
+-		printf "%s" "$1" | (
+-			export PATH $(git sh-i18n--envsubst --variables "$1");
+-			git sh-i18n--envsubst "$1"
+-		)
+-	}
+-	;;
+-esac
++. @gettext@/bin/gettext.sh
+ 
+ # Git-specific wrapper functions
+ gettextln () {
diff --git a/pkgs/applications/version-management/gitlab-git-http-server/default.nix b/pkgs/applications/version-management/gitlab-git-http-server/default.nix
deleted file mode 100644
index 98b14d2ce86a..000000000000
--- a/pkgs/applications/version-management/gitlab-git-http-server/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchgit, git, go }:
-
-stdenv.mkDerivation rec {
-  version = "0.2.14";
-  name = "gitlab-git-http-server-${version}";
-
-  srcs = fetchgit {
-    url = "https://gitlab.com/gitlab-org/gitlab-git-http-server.git";
-    rev = "7c63f08f7051348e56b903fc0bbefcfed398fc1c";
-    sha256 = "557d63a90c61371598b971a06bc056993610b58c2ef5762d9ef145ec2fdada78";
-  };
-
-  buildInputs = [ git go ];
-
-  buildPhase = ''
-    make PREFIX=$out
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    make install PREFIX=$out
-  '';
-}
diff --git a/pkgs/applications/version-management/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab-shell/default.nix
index 5ee59c1e2550..c2e746630da5 100644
--- a/pkgs/applications/version-management/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab-shell/default.nix
@@ -1,19 +1,22 @@
-{ stdenv, ruby, bundler, fetchgit }:
+{ stdenv, ruby, bundler, fetchFromGitLab }:
 
 stdenv.mkDerivation rec {
-  version = "2.1.0";
+  version = "2.6.10";
   name = "gitlab-shell-${version}";
 
-  srcs = fetchgit {
-    url = "https://gitlab.com/gitlab-org/gitlab-shell.git";
-    rev = "ebbb9d80811c23d49a7d1b75d7a7d2b8ffe7437b";
-    sha256 = "fe69ab85d75a3871b4afa11ebc17f43008d135bbdbd6c581f6bebee2a4a3c75d";
+  srcs = fetchFromGitLab {
+    owner = "gitlab-org";
+    repo = "gitlab-shell";
+    rev = "v${version}";
+    sha256 = "1f1ma49xpkan2iksnw9amzjdw6i0bxnzdbsk0329m7if4987vcqd";
   };
 
   buildInputs = [
     ruby bundler
   ];
 
+  patches = [ ./remove-hardcoded-locations.patch ];
+
   installPhase = ''
     mkdir -p $out/
     cp -R . $out/
diff --git a/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch
new file mode 100644
index 000000000000..e1c924cdeefd
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/gitlab_projects.rb b/lib/gitlab_projects.rb
+index c1d175a..7f7fd2f 100644
+--- a/lib/gitlab_projects.rb
++++ b/lib/gitlab_projects.rb
+@@ -5,7 +5,7 @@ require_relative 'gitlab_config'
+ require_relative 'gitlab_logger'
+ 
+ class GitlabProjects
+-  GLOBAL_HOOKS_DIRECTORY = File.join(ROOT_PATH, 'hooks')
++  GLOBAL_HOOKS_DIRECTORY = ENV['GITLAB_SHELL_HOOKS_PATH'] || File.join(ROOT_PATH, 'hooks')
+ 
+   # Project name is a directory name for repository with .git at the end
+   # It may be namespaced or not. Like repo.git or gitlab/repo.git
diff --git a/pkgs/applications/version-management/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab-workhorse/default.nix
new file mode 100644
index 000000000000..06c05d9f3b3b
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab-workhorse/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitLab, git, go }:
+
+stdenv.mkDerivation rec {
+  version = "0.6.4";
+  name = "gitlab-workhorse-${version}";
+
+  srcs = fetchFromGitLab {
+    owner = "gitlab-org";
+    repo = "gitlab-workhorse";
+    rev = version;
+    sha256 = "09bs3kdmqi6avdak2nqma141y4fhfv050zwqqx7qh9a9hgkgwjxw";
+  };
+
+  buildInputs = [ git go ];
+
+  patches = [ ./remove-hardcoded-paths.patch ];
+
+  buildPhase = ''
+    make PREFIX=$out
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    make install PREFIX=$out
+  '';
+}
diff --git a/pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch b/pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch
new file mode 100644
index 000000000000..37f3d2deef54
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch
@@ -0,0 +1,12 @@
+diff --git a/internal/git/command.go b/internal/git/command.go
+index 0e5496c..5778294 100644
+--- a/internal/git/command.go
++++ b/internal/git/command.go
+@@ -16,6 +16,7 @@ func gitCommand(gl_id string, name string, args ...string) *exec.Cmd {
+ 	cmd.Env = []string{
+ 		fmt.Sprintf("HOME=%s", os.Getenv("HOME")),
+ 		fmt.Sprintf("PATH=%s", os.Getenv("PATH")),
++		fmt.Sprintf("GITLAB_SHELL_CONFIG_PATH=%s", os.Getenv("GITLAB_SHELL_CONFIG_PATH")),
+ 		fmt.Sprintf("LD_LIBRARY_PATH=%s", os.Getenv("LD_LIBRARY_PATH")),
+ 		fmt.Sprintf("GL_ID=%s", gl_id),
+ 	}
diff --git a/pkgs/applications/version-management/gitlab/Gemfile b/pkgs/applications/version-management/gitlab/Gemfile
index 66261426c014..fc7ad47919d4 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile
+++ b/pkgs/applications/version-management/gitlab/Gemfile
@@ -1,14 +1,10 @@
 source "https://rubygems.org"
 
-def darwin_only(require_as)
-  RUBY_PLATFORM.include?('darwin') && require_as
-end
-
-def linux_only(require_as)
-  RUBY_PLATFORM.include?('linux') && require_as
-end
+gem 'rails', '4.2.5.1'
+gem 'rails-deprecated_sanitizer', '~> 1.0.3'
 
-gem 'rails', '4.1.12'
+# Responders respond_to and respond_with
+gem 'responders', '~> 2.0'
 
 # Specify a sprockets version due to security issue
 # See https://groups.google.com/forum/#!topic/rubyonrails-security/doAVp0YaTqY
@@ -22,20 +18,27 @@ gem "mysql2", '~> 0.3.16', group: :mysql
 gem "pg", '~> 0.18.2', group: :postgres
 
 # Authentication libraries
-gem "devise", '~> 3.5.2'
-gem "devise-async", '~> 0.9.0'
-gem 'omniauth', "~> 1.2.2"
-gem 'omniauth-google-oauth2', '~> 0.2.5'
-gem 'omniauth-twitter', '~> 1.0.1'
-gem 'omniauth-github', '~> 1.1.1'
-gem 'omniauth-shibboleth', '~> 1.1.1'
-gem 'omniauth-kerberos', '~> 0.2.0', group: :kerberos
-gem 'omniauth-gitlab', '~> 1.0.0'
-gem 'omniauth-bitbucket', '~> 0.0.2'
-gem 'omniauth-saml', '~> 1.4.0'
-gem 'doorkeeper', '~> 2.1.3'
-gem 'omniauth_crowd'
-gem "rack-oauth2", "~> 1.0.5"
+gem 'devise',                 '~> 3.5.4'
+gem 'devise-async',           '~> 0.9.0'
+gem 'doorkeeper',             '~> 2.2.0'
+gem 'omniauth',               '~> 1.3.1'
+gem 'omniauth-azure-oauth2',  '~> 0.0.6'
+gem 'omniauth-bitbucket',     '~> 0.0.2'
+gem 'omniauth-cas3',          '~> 1.1.2'
+gem 'omniauth-facebook',      '~> 3.0.0'
+gem 'omniauth-github',        '~> 1.1.1'
+gem 'omniauth-gitlab',        '~> 1.0.0'
+gem 'omniauth-google-oauth2', '~> 0.2.0'
+gem 'omniauth-kerberos',      '~> 0.3.0', group: :kerberos
+gem 'omniauth-saml',          '~> 1.4.2'
+gem 'omniauth-shibboleth',    '~> 1.2.0'
+gem 'omniauth-twitter',       '~> 1.2.0'
+gem 'omniauth_crowd',         '~> 2.2.0'
+gem 'rack-oauth2',            '~> 1.2.1'
+
+# Spam and anti-bot protection
+gem 'recaptcha', require: 'recaptcha/rails'
+gem 'akismet', '~> 2.0'
 
 # Two-factor authentication
 gem 'devise-two-factor', '~> 2.0.0'
@@ -47,7 +50,7 @@ gem "browser", '~> 1.0.0'
 
 # Extracting information from a git repository
 # Provide access to Gitlab::Git library
-gem "gitlab_git", '~> 7.2.15'
+gem "gitlab_git", '~> 8.2'
 
 # LDAP Auth
 # GitLab fork with several improvements to original library. For full list of changes
@@ -55,32 +58,21 @@ gem "gitlab_git", '~> 7.2.15'
 gem 'gitlab_omniauth-ldap', '~> 1.2.1', require: "omniauth-ldap"
 
 # Git Wiki
-gem 'gollum-lib', '~> 4.0.2'
+gem 'gollum-lib', '~> 4.1.0'
 
 # Language detection
-# GitLab fork of linguist does not require pygments/python dependency.
-# New version of original gem also dropped pygments support but it has strict
-# dependency to unstable rugged version. We have internal issue for replacing
-# fork with original gem when we meet on same rugged version - https://dev.gitlab.org/gitlab/gitlabhq/issues/2052.
-gem "gitlab-linguist", "~> 3.0.1", require: "linguist"
+gem "github-linguist", "~> 4.7.0", require: "linguist"
 
 # API
-gem "grape", "~> 0.6.1"
-gem "grape-entity", "~> 0.4.2"
-gem 'rack-cors', '~> 0.2.9', require: 'rack/cors'
-
-# Format dates and times
-# based on human-friendly examples
-gem "stamp", '~> 0.5.0'
-
-# Enumeration fields
-gem 'enumerize', '~> 0.7.0'
+gem 'grape',        '~> 0.13.0'
+gem 'grape-entity', '~> 0.4.2'
+gem 'rack-cors',    '~> 0.4.0', require: 'rack/cors'
 
 # Pagination
-gem "kaminari", "~> 0.15.1"
+gem "kaminari", "~> 0.16.3"
 
 # HAML
-gem "haml-rails", '~> 0.5.3'
+gem "haml-rails", '~> 0.9.0'
 
 # Files attachments
 gem "carrierwave", '~> 0.9.0'
@@ -89,7 +81,7 @@ gem "carrierwave", '~> 0.9.0'
 gem 'dropzonejs-rails', '~> 0.7.1'
 
 # for aws storage
-gem "fog", "~> 1.25.0"
+gem "fog", "~> 1.36.0"
 gem "unf", '~> 0.1.4'
 
 # Authorization
@@ -102,13 +94,18 @@ gem "seed-fu", '~> 2.3.5'
 gem 'html-pipeline', '~> 1.11.0'
 gem 'task_list',     '~> 1.0.2', require: 'task_list/railtie'
 gem 'github-markup', '~> 1.3.1'
-gem 'redcarpet',     '~> 3.3.2'
+gem 'redcarpet',     '~> 3.3.3'
 gem 'RedCloth',      '~> 4.2.9'
 gem 'rdoc',          '~>3.6'
 gem 'org-ruby',      '~> 0.9.12'
-gem 'creole',        '~>0.3.6'
+gem 'creole',        '~> 0.5.0'
 gem 'wikicloth',     '0.8.1'
 gem 'asciidoctor',   '~> 1.5.2'
+gem 'rouge',         '~> 1.10.1'
+
+# See https://groups.google.com/forum/#!topic/ruby-security-ann/aSbgDiwb24s
+# and https://groups.google.com/forum/#!topic/ruby-security-ann/Dy7YiKb_pMM
+gem 'nokogiri', '~> 1.6.7', '>= 1.6.7.2'
 
 # Diffs
 gem 'diffy', '~> 3.0.3'
@@ -120,7 +117,7 @@ group :unicorn do
 end
 
 # State machine
-gem "state_machine", '~> 1.2.0'
+gem "state_machines-activerecord", '~> 0.3.0'
 # Run events after state machine commits
 gem 'after_commit_queue'
 
@@ -128,17 +125,16 @@ gem 'after_commit_queue'
 gem 'acts-as-taggable-on', '~> 3.4'
 
 # Background jobs
-gem 'slim', '~> 2.0.2'
 gem 'sinatra', '~> 1.4.4', require: nil
-gem 'sidekiq', '3.3.0'
-gem 'sidetiq', '~> 0.6.3'
+gem 'sidekiq', '~> 4.0'
+gem 'sidekiq-cron', '~> 0.4.0'
+gem 'redis-namespace'
 
 # HTTP requests
 gem "httparty", '~> 0.13.3'
 
 # Colored output to console
-gem "colored", '~> 1.2'
-gem "colorize", '~> 0.5.8'
+gem "colorize", '~> 0.7.0'
 
 # GitLab settings
 gem 'settingslogic', '~> 2.0.9'
@@ -151,7 +147,7 @@ gem 'version_sorter', '~> 2.0.0'
 gem "redis-rails", '~> 4.0.0'
 
 # Campfire integration
-gem 'tinder', '~> 1.9.2'
+gem 'tinder', '~> 1.10.0'
 
 # HipChat integration
 gem 'hipchat', '~> 1.5.0'
@@ -163,28 +159,32 @@ gem "gitlab-flowdock-git-hook", "~> 1.0.1"
 gem "gemnasium-gitlab-service", "~> 0.2"
 
 # Slack integration
-gem "slack-notifier", "~> 1.0.0"
+gem "slack-notifier", "~> 1.2.0"
 
 # Asana integration
-gem 'asana', '~> 0.0.6'
+gem 'asana', '~> 0.4.0'
 
 # FogBugz integration
 gem 'ruby-fogbugz', '~> 0.2.1'
 
 # d3
-gem 'd3_rails', '~> 3.5.5'
+gem 'd3_rails', '~> 3.5.0'
 
 #cal-heatmap
-gem "cal-heatmap-rails", "~> 0.0.1"
+gem 'cal-heatmap-rails', '~> 3.5.0'
 
 # underscore-rails
-gem "underscore-rails", "~> 1.4.4"
+gem "underscore-rails", "~> 1.8.0"
 
 # Sanitize user input
 gem "sanitize", '~> 2.0'
+gem 'babosa', '~> 1.0.2'
+
+# Sanitizes SVG input
+gem "loofah", "~> 2.0.3"
 
 # Protect against bruteforcing
-gem "rack-attack", '~> 4.3.0'
+gem "rack-attack", '~> 4.3.1'
 
 # Ace editor
 gem 'ace-rails-ap', '~> 2.0.1'
@@ -193,38 +193,52 @@ gem 'ace-rails-ap', '~> 2.0.1'
 gem 'mousetrap-rails', '~> 1.4.6'
 
 # Detect and convert string character encoding
-gem 'charlock_holmes', '~> 0.6.9.4'
+gem 'charlock_holmes', '~> 0.7.3'
 
-gem "sass-rails", '~> 4.0.5'
+gem "sass-rails", '~> 5.0.0'
 gem "coffee-rails", '~> 4.1.0'
-gem "uglifier", '~> 2.3.2'
+gem "uglifier", '~> 2.7.2'
 gem 'turbolinks', '~> 2.5.0'
-gem 'jquery-turbolinks', '~> 2.0.1'
+gem 'jquery-turbolinks', '~> 2.1.0'
 
 gem 'addressable',        '~> 2.3.8'
-gem 'bootstrap-sass',     '~> 3.0'
+gem 'bootstrap-sass',     '~> 3.3.0'
 gem 'font-awesome-rails', '~> 4.2'
-gem 'gitlab_emoji',       '~> 0.1'
-gem 'gon',                '~> 5.0.0'
-gem 'jquery-atwho-rails', '~> 1.0.0'
-gem 'jquery-rails',       '~> 3.1.3'
+gem 'gitlab_emoji',       '~> 0.3.0'
+gem 'gon',                '~> 6.0.1'
+gem 'jquery-atwho-rails', '~> 1.3.2'
+gem 'jquery-rails',       '~> 4.0.0'
 gem 'jquery-scrollto-rails', '~> 1.4.3'
-gem 'jquery-ui-rails',    '~> 4.2.1'
-gem 'nprogress-rails',    '~> 0.1.2.3'
+gem 'jquery-ui-rails',    '~> 5.0.0'
+gem 'nprogress-rails',    '~> 0.1.6.7'
 gem 'raphael-rails',      '~> 2.1.2'
 gem 'request_store',      '~> 1.2.0'
 gem 'select2-rails',      '~> 3.5.9'
 gem 'virtus',             '~> 1.0.1'
+gem 'net-ssh',            '~> 3.0.1'
+
+# Sentry integration
+gem 'sentry-raven', '~> 0.15'
+
+# Metrics
+group :metrics do
+  gem 'allocations', '~> 1.0', require: false, platform: :mri
+  gem 'method_source', '~> 0.8', require: false
+  gem 'influxdb', '~> 0.2', require: false
+  gem 'connection_pool', '~> 2.0', require: false
+end
 
 group :development do
   gem "foreman"
-  gem 'brakeman', '3.0.1', require: false
+  gem 'brakeman', '~> 3.1.0', require: false
 
   gem "annotate", "~> 2.6.0"
   gem "letter_opener", '~> 1.1.2'
   gem 'quiet_assets', '~> 1.0.2'
-  gem 'rack-mini-profiler', '~> 0.9.0', require: false
-  gem 'rerun', '~> 0.10.0'
+  gem 'rerun', '~> 0.11.0'
+  gem 'bullet', require: false
+  gem 'rblineprof', platform: :mri, require: false
+  gem 'web-console', '~> 2.0'
 
   # Better errors handler
   gem 'better_errors', '~> 1.0.1'
@@ -241,7 +255,7 @@ group :development, :test do
   gem 'byebug', platform: :mri
   gem 'pry-rails'
 
-  gem 'awesome_print', '~> 1.2.0'
+  gem 'awesome_print', '~> 1.2.0', require: false
   gem 'fuubar', '~> 2.0.0'
 
   gem 'database_cleaner', '~> 1.4.0'
@@ -257,7 +271,7 @@ group :development, :test do
 
   gem 'capybara',            '~> 2.4.0'
   gem 'capybara-screenshot', '~> 1.0.0'
-  gem 'poltergeist',         '~> 1.6.0'
+  gem 'poltergeist',         '~> 1.8.1'
 
   gem 'teaspoon', '~> 1.0.0'
   gem 'teaspoon-jasmine', '~> 2.2.0'
@@ -267,16 +281,21 @@ group :development, :test do
   gem 'spring-commands-spinach',  '~> 1.0.0'
   gem 'spring-commands-teaspoon', '~> 0.0.2'
 
-  gem 'rubocop',  '~> 0.28.0',  require: false
+  gem 'rubocop', '~> 0.35.0', require: false
   gem 'coveralls',  '~> 0.8.2', require: false
   gem 'simplecov', '~> 0.10.0', require: false
+  gem 'flog', require: false
+  gem 'flay', require: false
+  gem 'bundler-audit', require: false
+
+  gem 'benchmark-ips', require: false
 end
 
 group :test do
   gem 'shoulda-matchers', '~> 2.8.0', require: false
   gem 'email_spec', '~> 1.6.0'
   gem 'webmock', '~> 1.21.0'
-  gem 'test_after_commit', '~> 0.2.2'
+  gem 'test_after_commit', '~> 0.4.2'
   gem 'sham_rack'
 end
 
@@ -284,12 +303,11 @@ group :production do
   gem "gitlab_meta", '7.0'
 end
 
-gem "newrelic_rpm", '~> 3.9.4.245'
-gem 'newrelic-grape'
+gem "newrelic_rpm", '~> 3.14'
 
-gem 'octokit', '~> 3.7.0'
+gem 'octokit', '~> 3.8.0'
 
-gem "mail_room", "~> 0.5.2"
+gem "mail_room", "~> 0.6.1"
 
 gem 'email_reply_parser', '~> 0.5.8'
 
@@ -298,19 +316,10 @@ gem 'activerecord-deprecated_finders', '~> 1.0.3'
 gem 'activerecord-session_store', '~> 0.1.0'
 gem "nested_form", '~> 0.3.2'
 
-# Scheduled
-gem 'whenever', '~> 0.8.4', require: false
-
 # OAuth
 gem 'oauth2', '~> 1.0.0'
 
 # Soft deletion
 gem "paranoia", "~> 2.0"
 
-group :development, :test do
-  gem 'guard-rspec', '~> 4.2.0'
-
-  gem 'rb-fsevent', require: darwin_only('rb-fsevent')
-  gem 'growl',      require: darwin_only('growl')
-  gem 'rb-inotify', require: linux_only('rb-inotify')
-end
+gem "activerecord-nulldb-adapter"
diff --git a/pkgs/applications/version-management/gitlab/Gemfile.lock b/pkgs/applications/version-management/gitlab/Gemfile.lock
index 56db3f619850..2934988f8367 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/Gemfile.lock
@@ -1,63 +1,75 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    CFPropertyList (2.3.1)
+    CFPropertyList (2.3.2)
     RedCloth (4.2.9)
     ace-rails-ap (2.0.1)
-    actionmailer (4.1.12)
-      actionpack (= 4.1.12)
-      actionview (= 4.1.12)
+    actionmailer (4.2.5.1)
+      actionpack (= 4.2.5.1)
+      actionview (= 4.2.5.1)
+      activejob (= 4.2.5.1)
       mail (~> 2.5, >= 2.5.4)
-    actionpack (4.1.12)
-      actionview (= 4.1.12)
-      activesupport (= 4.1.12)
-      rack (~> 1.5.2)
+      rails-dom-testing (~> 1.0, >= 1.0.5)
+    actionpack (4.2.5.1)
+      actionview (= 4.2.5.1)
+      activesupport (= 4.2.5.1)
+      rack (~> 1.6)
       rack-test (~> 0.6.2)
-    actionview (4.1.12)
-      activesupport (= 4.1.12)
+      rails-dom-testing (~> 1.0, >= 1.0.5)
+      rails-html-sanitizer (~> 1.0, >= 1.0.2)
+    actionview (4.2.5.1)
+      activesupport (= 4.2.5.1)
       builder (~> 3.1)
       erubis (~> 2.7.0)
-    activemodel (4.1.12)
-      activesupport (= 4.1.12)
+      rails-dom-testing (~> 1.0, >= 1.0.5)
+      rails-html-sanitizer (~> 1.0, >= 1.0.2)
+    activejob (4.2.5.1)
+      activesupport (= 4.2.5.1)
+      globalid (>= 0.3.0)
+    activemodel (4.2.5.1)
+      activesupport (= 4.2.5.1)
       builder (~> 3.1)
-    activerecord (4.1.12)
-      activemodel (= 4.1.12)
-      activesupport (= 4.1.12)
-      arel (~> 5.0.0)
+    activerecord (4.2.5.1)
+      activemodel (= 4.2.5.1)
+      activesupport (= 4.2.5.1)
+      arel (~> 6.0)
     activerecord-deprecated_finders (1.0.4)
-    activerecord-session_store (0.1.1)
+    activerecord-nulldb-adapter (0.3.2)
+      activerecord (>= 2.0.0)
+    activerecord-session_store (0.1.2)
       actionpack (>= 4.0.0, < 5)
       activerecord (>= 4.0.0, < 5)
       railties (>= 4.0.0, < 5)
-    activeresource (4.0.0)
-      activemodel (~> 4.0)
-      activesupport (~> 4.0)
-      rails-observers (~> 0.1.1)
-    activesupport (4.1.12)
-      i18n (~> 0.6, >= 0.6.9)
+    activesupport (4.2.5.1)
+      i18n (~> 0.7)
       json (~> 1.7, >= 1.7.7)
       minitest (~> 5.1)
-      thread_safe (~> 0.1)
+      thread_safe (~> 0.3, >= 0.3.4)
       tzinfo (~> 1.1)
     acts-as-taggable-on (3.5.0)
       activerecord (>= 3.2, < 5)
     addressable (2.3.8)
-    after_commit_queue (1.1.0)
-      rails (>= 3.0)
+    after_commit_queue (1.3.0)
+      activerecord (>= 3.0)
+    akismet (2.0.0)
+    allocations (1.0.4)
     annotate (2.6.10)
       activerecord (>= 3.2, <= 4.3)
       rake (~> 10.4)
-    arel (5.0.1.20140414130214)
-    asana (0.0.6)
-      activeresource (>= 3.2.3)
-    asciidoctor (1.5.2)
+    arel (6.0.3)
+    asana (0.4.0)
+      faraday (~> 0.9)
+      faraday_middleware (~> 0.9)
+      faraday_middleware-multi_json (~> 0.0)
+      oauth2 (~> 1.0)
+    asciidoctor (1.5.3)
     ast (2.1.0)
     astrolabe (1.3.1)
       parser (~> 2.2)
     attr_encrypted (1.3.4)
       encryptor (>= 1.3.0)
     attr_required (1.0.0)
-    autoprefixer-rails (5.2.1.2)
+    autoprefixer-rails (6.2.3)
       execjs
       json
     awesome_print (1.2.0)
@@ -65,29 +77,39 @@ GEM
       descendants_tracker (~> 0.0.4)
       ice_nine (~> 0.11.0)
       thread_safe (~> 0.3, >= 0.3.1)
+    babosa (1.0.2)
     bcrypt (3.1.10)
+    benchmark-ips (2.3.0)
     better_errors (1.0.1)
       coderay (>= 1.0.0)
       erubis (>= 2.6.6)
     binding_of_caller (0.7.2)
       debug_inspector (>= 0.0.1)
-    bootstrap-sass (3.3.5)
-      autoprefixer-rails (>= 5.0.0.1)
-      sass (>= 3.2.19)
-    brakeman (3.0.1)
+    bootstrap-sass (3.3.6)
+      autoprefixer-rails (>= 5.2.1)
+      sass (>= 3.3.4)
+    brakeman (3.1.4)
       erubis (~> 2.6)
       fastercsv (~> 1.5)
       haml (>= 3.0, < 5.0)
-      highline (~> 1.6.20)
+      highline (>= 1.6.20, < 2.0)
       multi_json (~> 1.2)
-      ruby2ruby (~> 2.1.1)
-      ruby_parser (~> 3.5.0)
+      ruby2ruby (>= 2.1.1, < 2.3.0)
+      ruby_parser (~> 3.7.0)
+      safe_yaml (>= 1.0)
       sass (~> 3.0)
+      slim (>= 1.3.6, < 4.0)
       terminal-table (~> 1.4)
-    browser (1.0.0)
+    browser (1.0.1)
     builder (3.2.2)
-    byebug (6.0.2)
-    cal-heatmap-rails (0.0.1)
+    bullet (4.14.10)
+      activesupport (>= 3.0.0)
+      uniform_notifier (~> 1.9.0)
+    bundler-audit (0.4.0)
+      bundler (~> 1.2)
+      thor (~> 0.18)
+    byebug (8.2.1)
+    cal-heatmap-rails (3.5.1)
     capybara (2.4.4)
       mime-types (>= 1.16)
       nokogiri (>= 1.3.3)
@@ -101,11 +123,9 @@ GEM
       activemodel (>= 3.2.0)
       activesupport (>= 3.2.0)
       json (>= 1.7)
-    celluloid (0.16.0)
-      timers (~> 4.0.0)
-    charlock_holmes (0.6.9.4)
-    chronic (0.10.2)
-    chunky_png (1.3.4)
+    cause (0.1)
+    charlock_holmes (0.7.3)
+    chunky_png (1.3.5)
     cliver (0.3.2)
     coderay (1.1.0)
     coercible (1.0.0)
@@ -116,29 +136,31 @@ GEM
     coffee-script (2.4.1)
       coffee-script-source
       execjs
-    coffee-script-source (1.9.1.1)
-    colored (1.2)
-    colorize (0.5.8)
+    coffee-script-source (1.10.0)
+    colorize (0.7.7)
+    concurrent-ruby (1.0.0)
     connection_pool (2.2.0)
-    coveralls (0.8.2)
+    coveralls (0.8.9)
       json (~> 1.8)
       rest-client (>= 1.6.8, < 2)
       simplecov (~> 0.10.0)
       term-ansicolor (~> 1.3)
       thor (~> 0.19.1)
-    crack (0.4.2)
+      tins (~> 1.6.0)
+    crack (0.4.3)
       safe_yaml (~> 1.0.0)
-    creole (0.3.8)
-    d3_rails (3.5.6)
+    creole (0.5.0)
+    d3_rails (3.5.11)
       railties (>= 3.1.0)
     daemons (1.2.3)
     database_cleaner (1.4.1)
     debug_inspector (0.0.2)
+    debugger-ruby_core_source (1.3.8)
     default_value_for (3.0.1)
       activerecord (>= 3.2.0, < 5.0)
     descendants_tracker (0.0.4)
       thread_safe (~> 0.3, >= 0.3.1)
-    devise (3.5.2)
+    devise (3.5.4)
       bcrypt (~> 3.0)
       orm_adapter (~> 0.1)
       railties (>= 3.2.6, < 5)
@@ -147,7 +169,7 @@ GEM
       warden (~> 1.2.3)
     devise-async (0.9.0)
       devise (~> 3.2)
-    devise-two-factor (2.0.0)
+    devise-two-factor (2.0.1)
       activesupport
       attr_encrypted (~> 1.3.2)
       devise (~> 3.5.0)
@@ -156,22 +178,20 @@ GEM
     diff-lcs (1.2.5)
     diffy (3.0.7)
     docile (1.1.5)
-    domain_name (0.5.24)
+    domain_name (0.5.25)
       unf (>= 0.0.5, < 1.0.0)
-    doorkeeper (2.1.4)
+    doorkeeper (2.2.2)
       railties (>= 3.2)
-    dropzonejs-rails (0.7.1)
+    dropzonejs-rails (0.7.2)
       rails (> 3.1)
     email_reply_parser (0.5.8)
     email_spec (1.6.0)
       launchy (~> 2.1)
       mail (~> 2.2)
     encryptor (1.3.0)
-    enumerize (0.7.0)
-      activesupport (>= 3.2)
     equalizer (0.0.11)
     erubis (2.7.0)
-    escape_utils (0.2.4)
+    escape_utils (1.1.0)
     eventmachine (1.0.8)
     excon (0.45.4)
     execjs (2.6.0)
@@ -181,59 +201,116 @@ GEM
     factory_girl_rails (4.3.0)
       factory_girl (~> 4.3.0)
       railties (>= 3.0.0)
-    faraday (0.8.10)
-      multipart-post (~> 1.2.0)
+    faraday (0.9.2)
+      multipart-post (>= 1.2, < 3)
     faraday_middleware (0.10.0)
       faraday (>= 0.7.4, < 0.10)
+    faraday_middleware-multi_json (0.0.6)
+      faraday_middleware
+      multi_json
     fastercsv (1.5.5)
     ffaker (2.0.0)
     ffi (1.9.10)
     fission (0.5.0)
       CFPropertyList (~> 2.2)
-    flowdock (0.7.0)
+    flay (2.6.1)
+      ruby_parser (~> 3.0)
+      sexp_processor (~> 4.0)
+    flog (4.3.2)
+      ruby_parser (~> 3.1, > 3.1.0)
+      sexp_processor (~> 4.4)
+    flowdock (0.7.1)
       httparty (~> 0.7)
       multi_json
-    fog (1.25.0)
+    fog (1.36.0)
+      fog-aliyun (>= 0.1.0)
+      fog-atmos
+      fog-aws (>= 0.6.0)
       fog-brightbox (~> 0.4)
-      fog-core (~> 1.25)
+      fog-core (~> 1.32)
+      fog-dynect (~> 0.0.2)
+      fog-ecloud (~> 0.1)
+      fog-google (<= 0.1.0)
       fog-json
+      fog-local
+      fog-powerdns (>= 0.1.1)
       fog-profitbricks
       fog-radosgw (>= 0.0.2)
+      fog-riakcs
       fog-sakuracloud (>= 0.0.4)
+      fog-serverlove
       fog-softlayer
+      fog-storm_on_demand
       fog-terremark
       fog-vmfusion
       fog-voxel
+      fog-xenserver
       fog-xml (~> 0.1.1)
       ipaddress (~> 0.5)
       nokogiri (~> 1.5, >= 1.5.11)
-      opennebula
-    fog-brightbox (0.9.0)
+    fog-aliyun (0.1.0)
+      fog-core (~> 1.27)
+      fog-json (~> 1.0)
+      ipaddress (~> 0.8)
+      xml-simple (~> 1.1)
+    fog-atmos (0.1.0)
+      fog-core
+      fog-xml
+    fog-aws (0.8.1)
+      fog-core (~> 1.27)
+      fog-json (~> 1.0)
+      fog-xml (~> 0.1)
+      ipaddress (~> 0.8)
+    fog-brightbox (0.10.1)
       fog-core (~> 1.22)
       fog-json
       inflecto (~> 0.0.2)
-    fog-core (1.32.1)
+    fog-core (1.35.0)
       builder
       excon (~> 0.45)
       formatador (~> 0.2)
-      mime-types
-      net-scp (~> 1.1)
-      net-ssh (>= 2.1.3)
+    fog-dynect (0.0.2)
+      fog-core
+      fog-json
+      fog-xml
+    fog-ecloud (0.3.0)
+      fog-core
+      fog-xml
+    fog-google (0.1.0)
+      fog-core
+      fog-json
+      fog-xml
     fog-json (1.0.2)
       fog-core (~> 1.0)
       multi_json (~> 1.10)
+    fog-local (0.2.1)
+      fog-core (~> 1.27)
+    fog-powerdns (0.1.1)
+      fog-core (~> 1.27)
+      fog-json (~> 1.0)
+      fog-xml (~> 0.1)
     fog-profitbricks (0.0.5)
       fog-core
       fog-xml
       nokogiri
-    fog-radosgw (0.0.4)
+    fog-radosgw (0.0.5)
       fog-core (>= 1.21.0)
       fog-json
       fog-xml (>= 0.0.1)
-    fog-sakuracloud (1.0.1)
+    fog-riakcs (0.1.0)
+      fog-core
+      fog-json
+      fog-xml
+    fog-sakuracloud (1.7.5)
       fog-core
       fog-json
-    fog-softlayer (0.4.7)
+    fog-serverlove (0.1.2)
+      fog-core
+      fog-json
+    fog-softlayer (1.0.3)
+      fog-core
+      fog-json
+    fog-storm_on_demand (0.1.1)
       fog-core
       fog-json
     fog-terremark (0.1.0)
@@ -245,10 +322,13 @@ GEM
     fog-voxel (0.1.0)
       fog-core
       fog-xml
+    fog-xenserver (0.2.2)
+      fog-core
+      fog-xml
     fog-xml (0.1.2)
       fog-core
       nokogiri (~> 1.5, >= 1.5.11)
-    font-awesome-rails (4.4.0.0)
+    font-awesome-rails (4.5.0.0)
       railties (>= 3.2, < 5.0)
     foreman (0.78.0)
       thor (~> 0.19.1)
@@ -258,10 +338,15 @@ GEM
       ruby-progressbar (~> 1.4)
     gemnasium-gitlab-service (0.2.6)
       rugged (~> 0.21)
-    gemojione (2.0.1)
+    gemojione (2.2.1)
       json
     get_process_mem (0.2.0)
     gherkin-ruby (0.3.2)
+    github-linguist (4.7.5)
+      charlock_holmes (~> 0.7.3)
+      escape_utils (~> 1.1.0)
+      mime-types (>= 1.19)
+      rugged (>= 0.23.0b)
     github-markup (1.3.3)
     gitlab-flowdock-git-hook (1.0.1)
       flowdock (~> 0.7)
@@ -272,39 +357,39 @@ GEM
       diff-lcs (~> 1.1)
       mime-types (~> 1.15)
       posix-spawn (~> 0.3)
-    gitlab-linguist (3.0.1)
-      charlock_holmes (~> 0.6.6)
-      escape_utils (~> 0.2.4)
-      mime-types (~> 1.19)
-    gitlab_emoji (0.1.1)
-      gemojione (~> 2.0)
-    gitlab_git (7.2.15)
+    gitlab_emoji (0.3.1)
+      gemojione (~> 2.2, >= 2.2.1)
+    gitlab_git (8.2.0)
       activesupport (~> 4.0)
-      charlock_holmes (~> 0.6)
-      gitlab-linguist (~> 3.0)
-      rugged (~> 0.22.2)
+      charlock_holmes (~> 0.7.3)
+      github-linguist (~> 4.7.0)
+      rugged (~> 0.24.0b13)
     gitlab_meta (7.0)
     gitlab_omniauth-ldap (1.2.1)
       net-ldap (~> 0.9)
       omniauth (~> 1.0)
       pyu-ruby-sasl (~> 0.0.3.1)
       rubyntlm (~> 0.3)
+    globalid (0.3.6)
+      activesupport (>= 4.1.0)
     gollum-grit_adapter (1.0.0)
       gitlab-grit (~> 2.7, >= 2.7.1)
-    gollum-lib (4.0.3)
+    gollum-lib (4.1.0)
       github-markup (~> 1.3.3)
       gollum-grit_adapter (~> 1.0)
       nokogiri (~> 1.6.4)
-      rouge (~> 1.10.1)
+      rouge (~> 1.9)
       sanitize (~> 2.1.0)
       stringex (~> 2.5.1)
-    gon (5.0.4)
-      actionpack (>= 2.3.0)
+    gon (6.0.1)
+      actionpack (>= 3.0)
       json
-    grape (0.6.1)
+      multi_json
+      request_store (>= 1.0)
+    grape (0.13.0)
       activesupport
       builder
-      hashie (>= 1.2.0)
+      hashie (>= 2.1.0)
       multi_json (>= 1.3.2)
       multi_xml (>= 0.5.2)
       rack (>= 1.3.0)
@@ -314,106 +399,92 @@ GEM
     grape-entity (0.4.8)
       activesupport
       multi_json (>= 1.3.2)
-    growl (1.0.3)
-    guard (2.13.0)
-      formatador (>= 0.2.4)
-      listen (>= 2.7, <= 4.0)
-      lumberjack (~> 1.0)
-      nenv (~> 0.1)
-      notiffany (~> 0.0)
-      pry (>= 0.9.12)
-      shellany (~> 0.0)
-      thor (>= 0.18.1)
-    guard-rspec (4.2.10)
-      guard (~> 2.1)
-      rspec (>= 2.14, < 4.0)
     haml (4.0.7)
       tilt
-    haml-rails (0.5.3)
+    haml-rails (0.9.0)
       actionpack (>= 4.0.1)
       activesupport (>= 4.0.1)
-      haml (>= 3.1, < 5.0)
+      haml (>= 4.0.6, < 5.0)
+      html2haml (>= 1.0.1)
       railties (>= 4.0.1)
-    hashie (2.1.2)
-    highline (1.6.21)
+    hashie (3.4.3)
+    highline (1.7.8)
     hike (1.2.3)
     hipchat (1.5.2)
       httparty
       mimemagic
-    hitimes (1.2.3)
     html-pipeline (1.11.0)
       activesupport (>= 2)
       nokogiri (~> 1.4)
+    html2haml (2.0.0)
+      erubis (~> 2.7.0)
+      haml (~> 4.0.0)
+      nokogiri (~> 1.6.0)
+      ruby_parser (~> 3.5)
     http-cookie (1.0.2)
       domain_name (~> 0.5)
     http_parser.rb (0.5.3)
-    httparty (0.13.5)
+    httparty (0.13.7)
       json (~> 1.8)
       multi_xml (>= 0.5.2)
-    httpclient (2.6.0.1)
+    httpclient (2.7.0.1)
     i18n (0.7.0)
-    ice_cube (0.11.1)
     ice_nine (0.11.1)
     inflecto (0.0.2)
-    ipaddress (0.8.0)
-    jquery-atwho-rails (1.0.1)
-    jquery-rails (3.1.3)
-      railties (>= 3.0, < 5.0)
+    influxdb (0.2.3)
+      cause
+      json
+    ipaddress (0.8.2)
+    jquery-atwho-rails (1.3.2)
+    jquery-rails (4.0.5)
+      rails-dom-testing (~> 1.0)
+      railties (>= 4.2.0)
       thor (>= 0.14, < 2.0)
     jquery-scrollto-rails (1.4.3)
       railties (> 3.1, < 5.0)
-    jquery-turbolinks (2.0.2)
+    jquery-turbolinks (2.1.0)
       railties (>= 3.1.0)
       turbolinks
-    jquery-ui-rails (4.2.1)
+    jquery-ui-rails (5.0.5)
       railties (>= 3.2.16)
     json (1.8.3)
-    jwt (1.5.1)
-    kaminari (0.15.1)
+    jwt (1.5.2)
+    kaminari (0.16.3)
       actionpack (>= 3.0.0)
       activesupport (>= 3.0.0)
-    kgio (2.9.3)
+    kgio (2.10.0)
     launchy (2.4.3)
       addressable (~> 2.3)
     letter_opener (1.1.2)
       launchy (~> 2.2)
-    listen (2.10.1)
-      celluloid (~> 0.16.0)
+    listen (3.0.5)
       rb-fsevent (>= 0.9.3)
       rb-inotify (>= 0.9)
-    lumberjack (1.0.9)
+    loofah (2.0.3)
+      nokogiri (>= 1.5.9)
     macaddr (1.7.1)
       systemu (~> 2.6.2)
     mail (2.6.3)
       mime-types (>= 1.16, < 3)
-    mail_room (0.5.2)
+    mail_room (0.6.1)
     method_source (0.8.2)
     mime-types (1.25.1)
     mimemagic (0.3.0)
-    mini_portile (0.6.2)
+    mini_portile2 (2.0.0)
     minitest (5.7.0)
     mousetrap-rails (1.4.6)
     multi_json (1.11.2)
     multi_xml (0.5.5)
-    multipart-post (1.2.0)
+    multipart-post (2.0.0)
     mysql2 (0.3.20)
-    nenv (0.2.0)
     nested_form (0.3.2)
-    net-ldap (0.11)
-    net-scp (1.2.1)
-      net-ssh (>= 2.6.5)
-    net-ssh (2.9.2)
-    netrc (0.10.3)
-    newrelic-grape (2.0.0)
-      grape
-      newrelic_rpm
-    newrelic_rpm (3.9.4.245)
-    nokogiri (1.6.6.2)
-      mini_portile (~> 0.6.0)
-    notiffany (0.0.7)
-      nenv (~> 0.1)
-      shellany (~> 0.0)
-    nprogress-rails (0.1.2.3)
+    net-ldap (0.12.1)
+    net-ssh (3.0.1)
+    netrc (0.11.0)
+    newrelic_rpm (3.14.1.311)
+    nokogiri (1.6.7.2)
+      mini_portile2 (~> 2.0.0.rc2)
+    nprogress-rails (0.1.6.7)
     oauth (0.4.7)
     oauth2 (1.0.0)
       faraday (>= 0.8, < 0.10)
@@ -421,25 +492,38 @@ GEM
       multi_json (~> 1.3)
       multi_xml (~> 0.5)
       rack (~> 1.2)
-    octokit (3.7.1)
+    octokit (3.8.0)
       sawyer (~> 0.6.0, >= 0.5.3)
-    omniauth (1.2.2)
+    omniauth (1.3.1)
       hashie (>= 1.2, < 4)
-      rack (~> 1.0)
+      rack (>= 1.0, < 3)
+    omniauth-azure-oauth2 (0.0.6)
+      jwt (~> 1.0)
+      omniauth (~> 1.0)
+      omniauth-oauth2 (~> 1.1)
     omniauth-bitbucket (0.0.2)
       multi_json (~> 1.7)
       omniauth (~> 1.1)
       omniauth-oauth (~> 1.0)
+    omniauth-cas3 (1.1.3)
+      addressable (~> 2.3)
+      nokogiri (~> 1.6.6)
+      omniauth (~> 1.2)
+    omniauth-facebook (3.0.0)
+      omniauth-oauth2 (~> 1.2)
     omniauth-github (1.1.2)
       omniauth (~> 1.0)
       omniauth-oauth2 (~> 1.1)
-    omniauth-gitlab (1.0.0)
+    omniauth-gitlab (1.0.1)
       omniauth (~> 1.0)
       omniauth-oauth2 (~> 1.0)
-    omniauth-google-oauth2 (0.2.6)
-      omniauth (> 1.0)
-      omniauth-oauth2 (~> 1.1)
-    omniauth-kerberos (0.2.0)
+    omniauth-google-oauth2 (0.2.10)
+      addressable (~> 2.3)
+      jwt (~> 1.0)
+      multi_json (~> 1.3)
+      omniauth (>= 1.1.1)
+      omniauth-oauth2 (~> 1.3.1)
+    omniauth-kerberos (0.3.0)
       omniauth-multipassword
       timfel-krb5-auth (~> 0.8)
     omniauth-multipassword (0.4.2)
@@ -450,38 +534,34 @@ GEM
     omniauth-oauth2 (1.3.1)
       oauth2 (~> 1.0)
       omniauth (~> 1.2)
-    omniauth-saml (1.4.1)
+    omniauth-saml (1.4.2)
       omniauth (~> 1.1)
-      ruby-saml (~> 1.0.0)
-    omniauth-shibboleth (1.1.2)
+      ruby-saml (~> 1.1, >= 1.1.1)
+    omniauth-shibboleth (1.2.1)
       omniauth (>= 1.0.0)
-    omniauth-twitter (1.0.1)
-      multi_json (~> 1.3)
-      omniauth-oauth (~> 1.0)
+    omniauth-twitter (1.2.1)
+      json (~> 1.3)
+      omniauth-oauth (~> 1.1)
     omniauth_crowd (2.2.3)
       activesupport
       nokogiri (>= 1.4.4)
       omniauth (~> 1.0)
-    opennebula (4.12.1)
-      json
-      nokogiri
-      rbvmomi
     org-ruby (0.9.12)
       rubypants (~> 0.2)
     orm_adapter (0.5.0)
-    paranoia (2.1.3)
+    paranoia (2.1.4)
       activerecord (~> 4.0)
-    parser (2.2.2.6)
+    parser (2.2.3.0)
       ast (>= 1.1, < 3.0)
-    pg (0.18.2)
-    poltergeist (1.6.0)
+    pg (0.18.4)
+    poltergeist (1.8.1)
       capybara (~> 2.1)
       cliver (~> 0.3.1)
       multi_json (~> 1.0)
       websocket-driver (>= 0.2.0)
     posix-spawn (0.3.11)
-    powerpack (0.0.9)
-    pry (0.10.1)
+    powerpack (0.1.1)
+    pry (0.10.3)
       coderay (~> 1.1.0)
       method_source (~> 0.8.1)
       slop (~> 3.4)
@@ -490,17 +570,15 @@ GEM
     pyu-ruby-sasl (0.0.3.3)
     quiet_assets (1.0.3)
       railties (>= 3.1, < 5.0)
-    rack (1.5.5)
+    rack (1.6.4)
     rack-accept (0.4.5)
       rack (>= 0.4)
-    rack-attack (4.3.0)
+    rack-attack (4.3.1)
       rack
-    rack-cors (0.2.9)
-    rack-mini-profiler (0.9.7)
-      rack (>= 1.1.3)
+    rack-cors (0.4.0)
     rack-mount (0.8.3)
       rack (>= 1.0.0)
-    rack-oauth2 (1.0.10)
+    rack-oauth2 (1.2.1)
       activesupport (>= 2.3)
       attr_required (>= 0.0.5)
       httpclient (>= 2.4)
@@ -510,44 +588,51 @@ GEM
       rack
     rack-test (0.6.3)
       rack (>= 1.0)
-    rails (4.1.12)
-      actionmailer (= 4.1.12)
-      actionpack (= 4.1.12)
-      actionview (= 4.1.12)
-      activemodel (= 4.1.12)
-      activerecord (= 4.1.12)
-      activesupport (= 4.1.12)
+    rails (4.2.5.1)
+      actionmailer (= 4.2.5.1)
+      actionpack (= 4.2.5.1)
+      actionview (= 4.2.5.1)
+      activejob (= 4.2.5.1)
+      activemodel (= 4.2.5.1)
+      activerecord (= 4.2.5.1)
+      activesupport (= 4.2.5.1)
       bundler (>= 1.3.0, < 2.0)
-      railties (= 4.1.12)
-      sprockets-rails (~> 2.0)
-    rails-observers (0.1.2)
-      activemodel (~> 4.0)
-    railties (4.1.12)
-      actionpack (= 4.1.12)
-      activesupport (= 4.1.12)
+      railties (= 4.2.5.1)
+      sprockets-rails
+    rails-deprecated_sanitizer (1.0.3)
+      activesupport (>= 4.2.0.alpha)
+    rails-dom-testing (1.0.7)
+      activesupport (>= 4.2.0.beta, < 5.0)
+      nokogiri (~> 1.6.0)
+      rails-deprecated_sanitizer (>= 1.0.1)
+    rails-html-sanitizer (1.0.3)
+      loofah (~> 2.0)
+    railties (4.2.5.1)
+      actionpack (= 4.2.5.1)
+      activesupport (= 4.2.5.1)
       rake (>= 0.8.7)
       thor (>= 0.18.1, < 2.0)
     rainbow (2.0.0)
     raindrops (0.15.0)
-    rake (10.4.2)
+    rake (10.5.0)
     raphael-rails (2.1.2)
-    rb-fsevent (0.9.5)
+    rb-fsevent (0.9.6)
     rb-inotify (0.9.5)
       ffi (>= 0.5.0)
-    rbvmomi (1.8.2)
-      builder
-      nokogiri (>= 1.4.1)
-      trollop
+    rblineprof (0.3.6)
+      debugger-ruby_core_source (~> 1.3)
     rdoc (3.12.2)
       json (~> 1.4)
-    redcarpet (3.3.2)
-    redis (3.2.1)
-    redis-actionpack (4.0.0)
+    recaptcha (1.0.2)
+      json
+    redcarpet (3.3.3)
+    redis (3.2.2)
+    redis-actionpack (4.0.1)
       actionpack (~> 4)
       redis-rack (~> 1.5.0)
       redis-store (~> 1.1.0)
-    redis-activesupport (4.1.1)
-      activesupport (~> 4)
+    redis-activesupport (4.1.5)
+      activesupport (>= 3, < 5)
       redis-store (~> 1.1.0)
     redis-namespace (1.5.2)
       redis (~> 3.0, >= 3.0.4)
@@ -558,13 +643,13 @@ GEM
       redis-actionpack (~> 4)
       redis-activesupport (~> 4)
       redis-store (~> 1.1.0)
-    redis-store (1.1.6)
+    redis-store (1.1.7)
       redis (>= 2.2)
-    request_store (1.2.0)
-    rerun (0.10.0)
-      listen (~> 2.7, >= 2.7.3)
-    responders (1.1.2)
-      railties (>= 3.2, < 4.2)
+    request_store (1.2.1)
+    rerun (0.11.0)
+      listen (~> 3.0)
+    responders (2.1.1)
+      railties (>= 4.2.0, < 5.1)
     rest-client (1.8.0)
       http-cookie (>= 1.0.2, < 2.0)
       mime-types (>= 1.16, < 3.0)
@@ -597,35 +682,38 @@ GEM
       rspec-mocks (~> 3.3.0)
       rspec-support (~> 3.3.0)
     rspec-support (3.3.0)
-    rubocop (0.28.0)
+    rubocop (0.35.1)
       astrolabe (~> 1.3)
-      parser (>= 2.2.0.pre.7, < 3.0)
-      powerpack (~> 0.0.6)
+      parser (>= 2.2.3.0, < 3.0)
+      powerpack (~> 0.1)
       rainbow (>= 1.99.1, < 3.0)
-      ruby-progressbar (~> 1.4)
+      ruby-progressbar (~> 1.7)
+      tins (<= 1.6.0)
     ruby-fogbugz (0.2.1)
       crack (~> 0.4)
     ruby-progressbar (1.7.5)
-    ruby-saml (1.0.0)
+    ruby-saml (1.1.1)
       nokogiri (>= 1.5.10)
       uuid (~> 2.3)
-    ruby2ruby (2.1.4)
+    ruby2ruby (2.2.0)
       ruby_parser (~> 3.1)
       sexp_processor (~> 4.0)
-    ruby_parser (3.5.0)
+    ruby_parser (3.7.2)
       sexp_processor (~> 4.1)
     rubyntlm (0.5.2)
     rubypants (0.2.0)
-    rugged (0.22.2)
+    rufus-scheduler (3.1.10)
+    rugged (0.24.0b13)
     safe_yaml (1.0.4)
     sanitize (2.1.0)
       nokogiri (>= 1.4.4)
-    sass (3.2.19)
-    sass-rails (4.0.5)
+    sass (3.4.20)
+    sass-rails (5.0.4)
       railties (>= 4.0.0, < 5.0)
-      sass (~> 3.2.2)
-      sprockets (~> 2.8, < 3.0)
-      sprockets-rails (~> 2.0)
+      sass (~> 3.1)
+      sprockets (>= 2.8, < 4.0)
+      sprockets-rails (>= 2.0, < 4.0)
+      tilt (>= 1.1, < 3)
     sawyer (0.6.0)
       addressable (~> 2.3.5)
       faraday (~> 0.8, < 0.10)
@@ -637,23 +725,23 @@ GEM
       activesupport (>= 3.1, < 4.3)
     select2-rails (3.5.9.3)
       thor (~> 0.14)
+    sentry-raven (0.15.6)
+      faraday (>= 0.7.6)
     settingslogic (2.0.9)
     sexp_processor (4.6.0)
     sham_rack (1.3.6)
       rack
-    shellany (0.0.1)
     shoulda-matchers (2.8.0)
       activesupport (>= 3.0.0)
-    sidekiq (3.3.0)
-      celluloid (>= 0.16.0)
-      connection_pool (>= 2.0.0)
-      json
-      redis (>= 3.0.6)
-      redis-namespace (>= 1.3.1)
-    sidetiq (0.6.3)
-      celluloid (>= 0.14.1)
-      ice_cube (= 0.11.1)
-      sidekiq (>= 3.0.0)
+    sidekiq (4.0.1)
+      concurrent-ruby (~> 1.0)
+      connection_pool (~> 2.2, >= 2.2.0)
+      json (~> 1.0)
+      redis (~> 3.2, >= 3.2.1)
+    sidekiq-cron (0.4.0)
+      redis-namespace (>= 1.5.2)
+      rufus-scheduler (>= 2.0.24)
+      sidekiq (>= 4.0.0)
     simple_oauth (0.1.9)
     simplecov (0.10.0)
       docile (~> 1.1.0)
@@ -665,9 +753,9 @@ GEM
       rack-protection (~> 1.4)
       tilt (>= 1.3, < 3)
     six (0.2.0)
-    slack-notifier (1.0.0)
-    slim (2.0.3)
-      temple (~> 0.6.6)
+    slack-notifier (1.2.1)
+    slim (3.0.6)
+      temple (~> 0.7.3)
       tilt (>= 1.3.3, < 2.1)
     slop (3.6.0)
     spinach (0.8.10)
@@ -690,12 +778,17 @@ GEM
       multi_json (~> 1.0)
       rack (~> 1.0)
       tilt (~> 1.1, != 1.3.0)
-    sprockets-rails (2.3.2)
+    sprockets-rails (2.3.3)
       actionpack (>= 3.0)
       activesupport (>= 3.0)
       sprockets (>= 2.8, < 4.0)
-    stamp (0.5.0)
-    state_machine (1.2.0)
+    state_machines (0.4.0)
+    state_machines-activemodel (0.3.0)
+      activemodel (~> 4.1)
+      state_machines (>= 0.4.0)
+    state_machines-activerecord (0.3.0)
+      activerecord (~> 4.1)
+      state_machines-activemodel (>= 0.3.0)
     stringex (2.5.2)
     systemu (2.6.5)
     task_list (1.0.2)
@@ -704,33 +797,30 @@ GEM
       railties (>= 3.2.5, < 5)
     teaspoon-jasmine (2.2.0)
       teaspoon (>= 1.0.0)
-    temple (0.6.10)
+    temple (0.7.6)
     term-ansicolor (1.3.2)
       tins (~> 1.0)
     terminal-table (1.5.2)
-    test_after_commit (0.2.7)
+    test_after_commit (0.4.2)
       activerecord (>= 3.2)
-    thin (1.6.3)
+    thin (1.6.4)
       daemons (~> 1.0, >= 1.0.9)
-      eventmachine (~> 1.0)
+      eventmachine (~> 1.0, >= 1.0.4)
       rack (~> 1.0)
     thor (0.19.1)
     thread_safe (0.3.5)
     tilt (1.4.1)
-    timers (4.0.4)
-      hitimes
     timfel-krb5-auth (0.8.3)
-    tinder (1.9.4)
+    tinder (1.10.1)
       eventmachine (~> 1.0)
-      faraday (~> 0.8.9)
+      faraday (~> 0.9.0)
       faraday_middleware (~> 0.9)
-      hashie (>= 1.0, < 3)
+      hashie (>= 1.0)
       json (~> 1.8.0)
-      mime-types (~> 1.19)
+      mime-types
       multi_json (~> 1.7)
       twitter-stream (~> 0.1)
     tins (1.6.0)
-    trollop (2.1.2)
     turbolinks (2.5.3)
       coffee-rails
     twitter-stream (0.1.16)
@@ -739,10 +829,10 @@ GEM
       simple_oauth (~> 0.1.4)
     tzinfo (1.2.2)
       thread_safe (~> 0.1)
-    uglifier (2.3.3)
+    uglifier (2.7.2)
       execjs (>= 0.3.0)
       json (>= 1.8.0)
-    underscore-rails (1.4.4)
+    underscore-rails (1.8.3)
     unf (0.1.4)
       unf_ext
     unf_ext (0.0.7.1)
@@ -750,9 +840,10 @@ GEM
       kgio (~> 2.6)
       rack
       raindrops (~> 0.7)
-    unicorn-worker-killer (0.4.3)
+    unicorn-worker-killer (0.4.4)
       get_process_mem (~> 0)
-      unicorn (~> 4)
+      unicorn (>= 4, < 6)
+    uniform_notifier (1.9.0)
     uuid (2.3.8)
       macaddr (~> 1.0)
     version_sorter (2.0.0)
@@ -761,21 +852,24 @@ GEM
       coercible (~> 1.0)
       descendants_tracker (~> 0.0, >= 0.0.3)
       equalizer (~> 0.0, >= 0.0.9)
-    warden (1.2.3)
+    warden (1.2.4)
       rack (>= 1.0)
+    web-console (2.2.1)
+      activemodel (>= 4.0)
+      binding_of_caller (>= 0.7.2)
+      railties (>= 4.0)
+      sprockets-rails (>= 2.0, < 4.0)
     webmock (1.21.0)
       addressable (>= 2.3.6)
       crack (>= 0.3.2)
-    websocket-driver (0.6.2)
+    websocket-driver (0.6.3)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.2)
-    whenever (0.8.4)
-      activesupport (>= 2.3.4)
-      chronic (>= 0.6.3)
     wikicloth (0.8.1)
       builder
       expression_parser
       rinku
+    xml-simple (1.1.5)
     xpath (2.0.0)
       nokogiri (~> 1.3)
 
@@ -786,154 +880,173 @@ DEPENDENCIES
   RedCloth (~> 4.2.9)
   ace-rails-ap (~> 2.0.1)
   activerecord-deprecated_finders (~> 1.0.3)
+  activerecord-nulldb-adapter
   activerecord-session_store (~> 0.1.0)
   acts-as-taggable-on (~> 3.4)
   addressable (~> 2.3.8)
   after_commit_queue
+  akismet (~> 2.0)
+  allocations (~> 1.0)
   annotate (~> 2.6.0)
-  asana (~> 0.0.6)
+  asana (~> 0.4.0)
   asciidoctor (~> 1.5.2)
   attr_encrypted (~> 1.3.4)
   awesome_print (~> 1.2.0)
+  babosa (~> 1.0.2)
+  benchmark-ips
   better_errors (~> 1.0.1)
   binding_of_caller (~> 0.7.2)
-  bootstrap-sass (~> 3.0)
-  brakeman (= 3.0.1)
+  bootstrap-sass (~> 3.3.0)
+  brakeman (~> 3.1.0)
   browser (~> 1.0.0)
+  bullet
+  bundler-audit
   byebug
-  cal-heatmap-rails (~> 0.0.1)
+  cal-heatmap-rails (~> 3.5.0)
   capybara (~> 2.4.0)
   capybara-screenshot (~> 1.0.0)
   carrierwave (~> 0.9.0)
-  charlock_holmes (~> 0.6.9.4)
+  charlock_holmes (~> 0.7.3)
   coffee-rails (~> 4.1.0)
-  colored (~> 1.2)
-  colorize (~> 0.5.8)
+  colorize (~> 0.7.0)
+  connection_pool (~> 2.0)
   coveralls (~> 0.8.2)
-  creole (~> 0.3.6)
-  d3_rails (~> 3.5.5)
+  creole (~> 0.5.0)
+  d3_rails (~> 3.5.0)
   database_cleaner (~> 1.4.0)
   default_value_for (~> 3.0.0)
-  devise (~> 3.5.2)
+  devise (~> 3.5.4)
   devise-async (~> 0.9.0)
   devise-two-factor (~> 2.0.0)
   diffy (~> 3.0.3)
-  doorkeeper (~> 2.1.3)
+  doorkeeper (~> 2.2.0)
   dropzonejs-rails (~> 0.7.1)
   email_reply_parser (~> 0.5.8)
   email_spec (~> 1.6.0)
-  enumerize (~> 0.7.0)
   factory_girl_rails (~> 4.3.0)
   ffaker (~> 2.0.0)
-  fog (~> 1.25.0)
+  flay
+  flog
+  fog (~> 1.36.0)
   font-awesome-rails (~> 4.2)
   foreman
   fuubar (~> 2.0.0)
   gemnasium-gitlab-service (~> 0.2)
+  github-linguist (~> 4.7.0)
   github-markup (~> 1.3.1)
   gitlab-flowdock-git-hook (~> 1.0.1)
-  gitlab-linguist (~> 3.0.1)
-  gitlab_emoji (~> 0.1)
-  gitlab_git (~> 7.2.15)
+  gitlab_emoji (~> 0.3.0)
+  gitlab_git (~> 8.2)
   gitlab_meta (= 7.0)
   gitlab_omniauth-ldap (~> 1.2.1)
-  gollum-lib (~> 4.0.2)
-  gon (~> 5.0.0)
-  grape (~> 0.6.1)
+  gollum-lib (~> 4.1.0)
+  gon (~> 6.0.1)
+  grape (~> 0.13.0)
   grape-entity (~> 0.4.2)
-  growl
-  guard-rspec (~> 4.2.0)
-  haml-rails (~> 0.5.3)
+  haml-rails (~> 0.9.0)
   hipchat (~> 1.5.0)
   html-pipeline (~> 1.11.0)
   httparty (~> 0.13.3)
-  jquery-atwho-rails (~> 1.0.0)
-  jquery-rails (~> 3.1.3)
+  influxdb (~> 0.2)
+  jquery-atwho-rails (~> 1.3.2)
+  jquery-rails (~> 4.0.0)
   jquery-scrollto-rails (~> 1.4.3)
-  jquery-turbolinks (~> 2.0.1)
-  jquery-ui-rails (~> 4.2.1)
-  kaminari (~> 0.15.1)
+  jquery-turbolinks (~> 2.1.0)
+  jquery-ui-rails (~> 5.0.0)
+  kaminari (~> 0.16.3)
   letter_opener (~> 1.1.2)
-  mail_room (~> 0.5.2)
+  loofah (~> 2.0.3)
+  mail_room (~> 0.6.1)
+  method_source (~> 0.8)
   minitest (~> 5.7.0)
   mousetrap-rails (~> 1.4.6)
   mysql2 (~> 0.3.16)
   nested_form (~> 0.3.2)
-  newrelic-grape
-  newrelic_rpm (~> 3.9.4.245)
-  nprogress-rails (~> 0.1.2.3)
+  net-ssh (~> 3.0.1)
+  nokogiri (~> 1.6.7, >= 1.6.7.2)
+  newrelic_rpm (~> 3.14)
+  nprogress-rails (~> 0.1.6.7)
   oauth2 (~> 1.0.0)
-  octokit (~> 3.7.0)
-  omniauth (~> 1.2.2)
+  octokit (~> 3.8.0)
+  omniauth (~> 1.3.1)
+  omniauth-azure-oauth2 (~> 0.0.6)
   omniauth-bitbucket (~> 0.0.2)
+  omniauth-cas3 (~> 1.1.2)
+  omniauth-facebook (~> 3.0.0)
   omniauth-github (~> 1.1.1)
   omniauth-gitlab (~> 1.0.0)
-  omniauth-google-oauth2 (~> 0.2.5)
-  omniauth-kerberos (~> 0.2.0)
-  omniauth-saml (~> 1.4.0)
-  omniauth-shibboleth (~> 1.1.1)
-  omniauth-twitter (~> 1.0.1)
-  omniauth_crowd
+  omniauth-google-oauth2 (~> 0.2.0)
+  omniauth-kerberos (~> 0.3.0)
+  omniauth-saml (~> 1.4.2)
+  omniauth-shibboleth (~> 1.2.0)
+  omniauth-twitter (~> 1.2.0)
+  omniauth_crowd (~> 2.2.0)
   org-ruby (~> 0.9.12)
   paranoia (~> 2.0)
   pg (~> 0.18.2)
-  poltergeist (~> 1.6.0)
+  poltergeist (~> 1.8.1)
   pry-rails
   quiet_assets (~> 1.0.2)
-  rack-attack (~> 4.3.0)
-  rack-cors (~> 0.2.9)
-  rack-mini-profiler (~> 0.9.0)
-  rack-oauth2 (~> 1.0.5)
-  rails (= 4.1.12)
+  rack-attack (~> 4.3.1)
+  rack-cors (~> 0.4.0)
+  rack-oauth2 (~> 1.2.1)
+  rails (= 4.2.5.1)
+  rails-deprecated_sanitizer (~> 1.0.3)
   raphael-rails (~> 2.1.2)
-  rb-fsevent
-  rb-inotify
+  rblineprof
   rdoc (~> 3.6)
-  redcarpet (~> 3.3.2)
+  recaptcha
+  redcarpet (~> 3.3.3)
+  redis-namespace
   redis-rails (~> 4.0.0)
   request_store (~> 1.2.0)
-  rerun (~> 0.10.0)
+  rerun (~> 0.11.0)
+  responders (~> 2.0)
+  rouge (~> 1.10.1)
   rqrcode-rails3 (~> 0.1.7)
   rspec-rails (~> 3.3.0)
-  rubocop (~> 0.28.0)
+  rubocop (~> 0.35.0)
   ruby-fogbugz (~> 0.2.1)
   sanitize (~> 2.0)
-  sass-rails (~> 4.0.5)
+  sass-rails (~> 5.0.0)
   sdoc (~> 0.3.20)
   seed-fu (~> 2.3.5)
   select2-rails (~> 3.5.9)
+  sentry-raven (~> 0.15)
+  sentry-raven
   settingslogic (~> 2.0.9)
   sham_rack
   shoulda-matchers (~> 2.8.0)
-  sidekiq (= 3.3.0)
-  sidetiq (~> 0.6.3)
+  sidekiq (~> 4.0)
+  sidekiq-cron (~> 0.4.0)
   simplecov (~> 0.10.0)
   sinatra (~> 1.4.4)
   six (~> 0.2.0)
-  slack-notifier (~> 1.0.0)
-  slim (~> 2.0.2)
+  slack-notifier (~> 1.2.0)
   spinach-rails (~> 0.2.1)
   spring (~> 1.3.6)
   spring-commands-rspec (~> 1.0.4)
   spring-commands-spinach (~> 1.0.0)
   spring-commands-teaspoon (~> 0.0.2)
   sprockets (~> 2.12.3)
-  stamp (~> 0.5.0)
-  state_machine (~> 1.2.0)
+  state_machines-activerecord (~> 0.3.0)
   task_list (~> 1.0.2)
   teaspoon (~> 1.0.0)
   teaspoon-jasmine (~> 2.2.0)
-  test_after_commit (~> 0.2.2)
+  test_after_commit (~> 0.4.2)
   thin (~> 1.6.1)
-  tinder (~> 1.9.2)
+  tinder (~> 1.10.0)
   turbolinks (~> 2.5.0)
-  uglifier (~> 2.3.2)
-  underscore-rails (~> 1.4.4)
+  uglifier (~> 2.7.2)
+  underscore-rails (~> 1.8.0)
   unf (~> 0.1.4)
   unicorn (~> 4.8.2)
   unicorn-worker-killer (~> 0.4.2)
   version_sorter (~> 2.0.0)
   virtus (~> 1.0.1)
+  web-console (~> 2.0)
   webmock (~> 1.21.0)
-  whenever (~> 0.8.4)
   wikicloth (= 0.8.1)
+
+BUNDLED WITH
+   1.11.2
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index 8af64ce78e92..5f9983674308 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -1,7 +1,10 @@
-{ stdenv, lib, bundler, fetchgit, bundlerEnv, defaultGemConfig, libiconv, ruby
+{ stdenv, lib, bundler, fetchFromGitHub, bundlerEnv, defaultGemConfig, libiconv, ruby
 , tzdata, git, nodejs, procps
 }:
 
+/* When updating the Gemfile add `gem "activerecord-nulldb-adapter"`
+   to allow building the assets without a database */
+
 let
   env = bundlerEnv {
     name = "gitlab";
@@ -21,19 +24,23 @@ in
 
 stdenv.mkDerivation rec {
   name = "gitlab-${version}";
-  version = "8.0.5";
+  version = "8.5.1";
+
   buildInputs = [ ruby bundler tzdata git nodejs procps ];
-  src = fetchgit {
-    url = "https://github.com/gitlabhq/gitlabhq.git";
-    rev = "2866c501b5a5abb69d101cc07261a1d684b4bd4c";
-    fetchSubmodules = false;
-    sha256 = "edc6bedd5e79940189355d8cb343d20b0781b69fcef56ccae5906fa5e81ed521";
+
+  src = fetchFromGitHub {
+    owner = "gitlabhq";
+    repo = "gitlabhq";
+    rev = "v${version}";
+    sha256 = "1pn5r4axzjkgdjr59y3wgxsd2n83zfd5bry1g2w4c2qw0wcw7zqb";
   };
 
   patches = [
     ./remove-hardcoded-locations.patch
     ./disable-dump-schema-after-migration.patch
+    ./nulladapter.patch
   ];
+
   postPatch = ''
     # For reasons I don't understand "bundle exec" ignores the
     # RAILS_ENV causing tests to be executed that fail because we're
@@ -41,7 +48,6 @@ stdenv.mkDerivation rec {
     # tests works though.:
     rm lib/tasks/test.rake
 
-    mv config/gitlab.yml.example config/gitlab.yml
     rm config/initializers/gitlab_shell_secret_token.rb
 
     substituteInPlace app/controllers/admin/background_jobs_controller.rb \
@@ -50,7 +56,7 @@ stdenv.mkDerivation rec {
     # required for some gems:
     cat > config/database.yml <<EOF
       production:
-        adapter: postgresql
+        adapter: <%= ENV["GITLAB_DATABASE_ADAPTER"] || sqlite %>
         database: gitlab
         host: <%= ENV["GITLAB_DATABASE_HOST"] || "127.0.0.1" %>
         password: <%= ENV["GITLAB_DATABASE_PASSWORD"] || "blerg" %>
@@ -58,14 +64,22 @@ stdenv.mkDerivation rec {
         encoding: utf8
     EOF
   '';
+
   buildPhase = ''
     export GEM_HOME=${env}/${ruby.gemPath}
-    bundle exec rake assets:precompile RAILS_ENV=production
+    mv config/gitlab.yml.example config/gitlab.yml
+    GITLAB_DATABASE_ADAPTER=nulldb bundle exec rake assets:precompile RAILS_ENV=production
+    mv config/gitlab.yml config/gitlab.yml.example
+    mv config config.dist
   '';
+
   installPhase = ''
     mkdir -p $out/share
     cp -r . $out/share/gitlab
+    ln -sf /run/gitlab/uploads $out/share/gitlab/public/uploads
+    ln -sf /run/gitlab/config $out/share/gitlab/config
   '';
+
   passthru = {
     inherit env;
     inherit ruby;
diff --git a/pkgs/applications/version-management/gitlab/gemset.nix b/pkgs/applications/version-management/gitlab/gemset.nix
index c5e10dd166ad..f63a356a1f6d 100644
--- a/pkgs/applications/version-management/gitlab/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gemset.nix
@@ -1,3150 +1,3017 @@
 {
-  "CFPropertyList" = {
-    version = "2.3.1";
+  xpath = {
+    dependencies = ["nokogiri"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04kcr127l34p7221z13blyl0dvh0bmxwx326j72idayri36a394w";
       type = "gem";
-      sha256 = "1wnk3gxnhfafbhgp0ic7qhzlx3lhv04v8nws2s31ii5s8135hs6k";
     };
+    version = "2.0.0";
   };
-  "RedCloth" = {
-    version = "4.2.9";
+  xml-simple = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xlqplda3fix5pcykzsyzwgnbamb3qrqkgbrhhfz2a2fxhrkvhw8";
       type = "gem";
-      sha256 = "06pahxyrckhgb7alsxwhhlx1ib2xsx33793finj01jk8i054bkxl";
     };
+    version = "1.1.5";
   };
-  "ace-rails-ap" = {
-    version = "2.0.1";
+  wikicloth = {
+    dependencies = ["builder" "expression_parser" "rinku"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jp6c2yzyqbap8jdiw8yz6l08sradky1llhyhmrg934l1b5akj3s";
       type = "gem";
-      sha256 = "082n12rkd9j7d89030nhmi4fx1gqaf13knps6cknsyvwix7fryvv";
     };
+    version = "0.8.1";
   };
-  "actionmailer" = {
-    version = "4.1.12";
+  websocket-extensions = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07qnsafl6203a2zclxl20hy4jq11c471cgvd0bj5r9fx1qqw06br";
       type = "gem";
-      sha256 = "0p1hydjf5vb4na4fs29v7cdknfq3d6qvmld2vbafbh78kkclxi2m";
     };
-    dependencies = [
-      "actionpack"
-      "actionview"
-      "mail"
-    ];
+    version = "0.1.2";
   };
-  "actionpack" = {
-    version = "4.1.12";
+  websocket-driver = {
+    dependencies = ["websocket-extensions"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1v39w1ig6ps8g55xhz6x1w53apl17ii6kpy0jg9249akgpdvb0k9";
       type = "gem";
-      sha256 = "19bryymqlapsvn9df6q2ba4hvw9dwpp4fjc7i6lwffkadc4snkjy";
     };
-    dependencies = [
-      "actionview"
-      "activesupport"
-      "rack"
-      "rack-test"
-    ];
+    version = "0.6.3";
   };
-  "actionview" = {
-    version = "4.1.12";
+  webmock = {
+    dependencies = ["addressable" "crack"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1p7hqdxk5359xwp59pcx841fhbnqx01ra98rnwhdyz61nrc6piv3";
       type = "gem";
-      sha256 = "1bv8qifaqa514z64zgfw3r4i120h2swwgpfk79xlrac21q6ps70n";
     };
-    dependencies = [
-      "activesupport"
-      "builder"
-      "erubis"
-    ];
+    version = "1.21.0";
   };
-  "activemodel" = {
-    version = "4.1.12";
+  web-console = {
+    dependencies = ["activemodel" "binding_of_caller" "railties" "sprockets-rails"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13rwps8m76j45iqhggm810j78i8bg4nqzgi8k7amxplik2zm5blf";
       type = "gem";
-      sha256 = "16429dg04s64g834svi7ghq486adr32gxr5p9kac2z6mjp8ggjr3";
     };
-    dependencies = [
-      "activesupport"
-      "builder"
-    ];
+    version = "2.2.1";
   };
-  "activerecord" = {
-    version = "4.1.12";
+  warden = {
+    dependencies = ["rack"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1iyxw1ms3930dh7vcrfyi4ifpdbkfsr8k7fzjryva0r7k3c71gb7";
       type = "gem";
-      sha256 = "1w3dbmbdk4whm5p1l6d2ky3xpl59lfcr9p3hwd41dz77ynpi5dr5";
     };
-    dependencies = [
-      "activemodel"
-      "activesupport"
-      "arel"
-    ];
+    version = "1.2.4";
   };
-  "activerecord-deprecated_finders" = {
-    version = "1.0.4";
+  virtus = {
+    dependencies = ["axiom-types" "coercible" "descendants_tracker" "equalizer"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06iphwi3c4f7y9i2rvhvaizfswqbaflilziz4dxqngrdysgkn1fk";
       type = "gem";
-      sha256 = "03xplckz7v3nm6inqkwdd44h6gpbpql0v02jc1rz46a38rd6cj6m";
     };
+    version = "1.0.5";
   };
-  "activerecord-session_store" = {
-    version = "0.1.1";
+  version_sorter = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1lad9c43w2xfzmva57ia6glpmhyivyk1m79jli42canshvan5v6y";
       type = "gem";
-      sha256 = "15dgx7jjp8iqqzjq2q3a6fsmnhvjwspbsz1s1gd6zp744k6xbrjh";
     };
-    dependencies = [
-      "actionpack"
-      "activerecord"
-      "railties"
-    ];
+    version = "2.0.0";
   };
-  "activeresource" = {
-    version = "4.0.0";
+  uuid = {
+    dependencies = ["macaddr"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gr2mxg27l380wpiy66mgv9wq02myj6m4gmp6c4g1vsbzkh0213v";
       type = "gem";
-      sha256 = "0fc5igjijyjzsl9q5kybkdzhc92zv8wsv0ifb0y90i632jx6d4jq";
     };
-    dependencies = [
-      "activemodel"
-      "activesupport"
-      "rails-observers"
-    ];
+    version = "2.3.8";
   };
-  "activesupport" = {
-    version = "4.1.12";
+  uniform_notifier = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "009z60qx01am7klmrca8pcladrynljra3a9smifn9f81r4dc7q63";
       type = "gem";
-      sha256 = "166jvrmdwayacnrd4z3rs2d6y0av3xnc18k6120ah13c2ipw69hn";
     };
-    dependencies = [
-      "i18n"
-      "json"
-      "minitest"
-      "thread_safe"
-      "tzinfo"
-    ];
+    version = "1.9.0";
   };
-  "acts-as-taggable-on" = {
-    version = "3.5.0";
+  unicorn-worker-killer = {
+    dependencies = ["get_process_mem" "unicorn"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0rrdxpwdsapx47axjin8ymxb4f685qlpx8a26bql4ay1559c3gva";
       type = "gem";
-      sha256 = "0bz0z8dlp3fjzah9y9b6rr9mkidsav9l4hdm51fnq1gd05yv3pr7";
     };
-    dependencies = [
-      "activerecord"
-    ];
+    version = "0.4.4";
   };
-  "addressable" = {
-    version = "2.3.8";
+  unicorn = {
+    dependencies = ["kgio" "rack" "raindrops"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kpg2vikx2hxdyrl45bqcr89a0w59hfw7yn7xh87bmlczi34xds4";
       type = "gem";
-      sha256 = "1533axm85gpz267km9gnfarf9c78g2scrysd6b8yw33vmhkz2km6";
     };
+    version = "4.8.3";
   };
-  "after_commit_queue" = {
-    version = "1.1.0";
+  unf_ext = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ly2ms6c3irmbr1575ldyh52bz2v0lzzr2gagf0p526k12ld2n5b";
       type = "gem";
-      sha256 = "0m7qwbzvxb2xqramf38pzg8ld91s4cy2v0fs26dnmnqr1jf11z4y";
     };
-    dependencies = [
-      "rails"
-    ];
+    version = "0.0.7.1";
   };
-  "annotate" = {
-    version = "2.6.10";
+  unf = {
+    dependencies = ["unf_ext"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
       type = "gem";
-      sha256 = "1wdw9phsv2dndgid3pd8h0hl4zycwy11jc9iz6prwza0xax0i7hg";
     };
-    dependencies = [
-      "activerecord"
-      "rake"
-    ];
+    version = "0.1.4";
   };
-  "arel" = {
-    version = "5.0.1.20140414130214";
+  underscore-rails = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0iyspb7s49wpi9cc314gvlkyn45iyfivzxhdw0kql1zrgllhlzfk";
       type = "gem";
-      sha256 = "0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9";
     };
+    version = "1.8.3";
   };
-  "asana" = {
-    version = "0.0.6";
+  uglifier = {
+    dependencies = ["execjs" "json"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0mzs64z3m1b98rh6ssxpqfz9sc87f6ml6906b0m57vydzfgrh1cz";
       type = "gem";
-      sha256 = "1x325pywh3d91qrg916gh8i5g13h4qzgi03zc93x6v4m4rj79dcp";
     };
-    dependencies = [
-      "activeresource"
-    ];
+    version = "2.7.2";
   };
-  "asciidoctor" = {
-    version = "1.5.2";
+  tzinfo = {
+    dependencies = ["thread_safe"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
       type = "gem";
-      sha256 = "0hs99bjvnf1nw49nwq62mi5x65x2jlvwqa0xllsi3zfikafsm1y9";
     };
+    version = "1.2.2";
   };
-  "ast" = {
-    version = "2.1.0";
+  twitter-stream = {
+    dependencies = ["eventmachine" "http_parser.rb" "simple_oauth"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0is81g3xvnjk64sqiaqlh2ziwfryzwvk1yvaniryg0zhppgsyriq";
       type = "gem";
-      sha256 = "102bywfxrv0w3n4s6lg25d7xxshd344sc7ijslqmganj5bany1pk";
     };
+    version = "0.1.16";
   };
-  "astrolabe" = {
-    version = "1.3.1";
+  turbolinks = {
+    dependencies = ["coffee-rails"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ddrx25vvvqxlz4h59lrmjhc2bfwxf4bpicvyhgbpjd48ckj81jn";
       type = "gem";
-      sha256 = "0ybbmjxaf529vvhrj4y8d4jpf87f3hgczydzywyg1d04gggjx7l7";
     };
-    dependencies = [
-      "parser"
-    ];
+    version = "2.5.3";
   };
-  "attr_encrypted" = {
-    version = "1.3.4";
+  tins = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02qarvy17nbwvslfgqam8y6y7479cwmb1a6di9z18hzka4cf90hz";
       type = "gem";
-      sha256 = "1hm2844qm37kflqq5v0x2irwasbhcblhp40qk10m3wlkj4m9wp8p";
     };
-    dependencies = [
-      "encryptor"
-    ];
+    version = "1.6.0";
   };
-  "attr_required" = {
-    version = "1.0.0";
+  tinder = {
+    dependencies = ["eventmachine" "faraday" "faraday_middleware" "hashie" "json" "mime-types" "multi_json" "twitter-stream"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kwj0wd540wb2ws86d3jdva175dx00w2j8lyrvbb6qli3g27byd7";
       type = "gem";
-      sha256 = "0pawa2i7gw9ppj6fq6y288da1ncjpzsmc6kx7z63mjjvypa5q3dc";
     };
+    version = "1.10.1";
   };
-  "autoprefixer-rails" = {
-    version = "5.2.1.2";
+  timfel-krb5-auth = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "105vajc0jkqgcx1wbp0ad262sdry4l1irk7jpaawv8vzfjfqqf5b";
       type = "gem";
-      sha256 = "129kr8hiyzcnj4x3n14nnp7f7scps9v3d690i7fjzpq8i4n9gz8g";
     };
-    dependencies = [
-      "execjs"
-      "json"
-    ];
+    version = "0.8.3";
   };
-  "awesome_print" = {
-    version = "1.2.0";
+  tilt = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir";
       type = "gem";
-      sha256 = "1k85hckprq0s9pakgadf42k1d5s07q23m3y6cs977i6xmwdivyzr";
     };
+    version = "1.4.1";
   };
-  "axiom-types" = {
-    version = "0.1.1";
+  thread_safe = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr";
       type = "gem";
-      sha256 = "10q3k04pll041mkgy0m5fn2b1lazm6ly1drdbcczl5p57lzi3zy1";
     };
-    dependencies = [
-      "descendants_tracker"
-      "ice_nine"
-      "thread_safe"
-    ];
+    version = "0.3.5";
   };
-  "bcrypt" = {
-    version = "3.1.10";
+  thor = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
       type = "gem";
-      sha256 = "15cf7zzlj9b0xcx12jf8fmnpc8g1b0yhxal1yr5p7ny3mrz5pll6";
     };
+    version = "0.19.1";
   };
-  "better_errors" = {
-    version = "1.0.1";
+  thin = {
+    dependencies = ["daemons" "eventmachine" "rack"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pyc602sa8fqwjyssn9yvf3fqrr14jk7hj9hsjlan1mq4zvim1lf";
       type = "gem";
-      sha256 = "0v0q8bdkqqlcsfqbk4wvc3qnz8an44mgz720v5f11a4nr413mjgf";
     };
-    dependencies = [
-      "coderay"
-      "erubis"
-    ];
+    version = "1.6.4";
   };
-  "binding_of_caller" = {
-    version = "0.7.2";
+  test_after_commit = {
+    dependencies = ["activerecord"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fzg8qan6f0n0ynr594bld2k0rwwxj99yzhiga2f3pkj9ina1abb";
       type = "gem";
-      sha256 = "15jg6dkaq2nzcd602d7ppqbdxw3aji961942w93crs6qw4n6h9yk";
     };
-    dependencies = [
-      "debug_inspector"
-    ];
+    version = "0.4.2";
   };
-  "bootstrap-sass" = {
-    version = "3.3.5";
+  terminal-table = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1s6qyj9ir1agbbi32li9c0c34dcl0klyxqif6mxy0dbvq7kqfp8f";
       type = "gem";
-      sha256 = "0gnbl3jfi7x491kb5b2brhqr981wzg6r9sc907anhq9y727d96iv";
     };
-    dependencies = [
-      "autoprefixer-rails"
-      "sass"
-    ];
+    version = "1.5.2";
   };
-  "brakeman" = {
-    version = "3.0.1";
+  term-ansicolor = {
+    dependencies = ["tins"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ydbbyjmk5p7fsi55ffnkq79jnfqx65c3nj8d9rpgl6sw85ahyys";
       type = "gem";
-      sha256 = "0c3pwqhan5qpkmymmp4zpr6j1v3xrvvla9adsd0z9nx1dbc7llry";
     };
-    dependencies = [
-      "erubis"
-      "fastercsv"
-      "haml"
-      "highline"
-      "multi_json"
-      "ruby2ruby"
-      "ruby_parser"
-      "sass"
-      "terminal-table"
-    ];
+    version = "1.3.2";
   };
-  "browser" = {
-    version = "1.0.0";
+  temple = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ysraljv7lkb04z5vdyrkijab7j1jzj1mgz4bj82744dp7d0rhb0";
       type = "gem";
-      sha256 = "03pmj759wngl03lacn8mdhjn6mc5f8zn08mz6k5hq8czgwcwhjxi";
     };
+    version = "0.7.6";
   };
-  "builder" = {
-    version = "3.2.2";
+  teaspoon-jasmine = {
+    dependencies = ["teaspoon"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00wygrv1jm4aj15p1ab9d5fdrj6y83kv26xgp52mx4lp78h2ms9q";
       type = "gem";
-      sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2";
     };
+    version = "2.2.0";
   };
-  "byebug" = {
-    version = "6.0.2";
+  teaspoon = {
+    dependencies = ["railties"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0cprz18vgf0jgcggcxf4pwx8jcwbiyj1p0dnck5aavlvaxaic58s";
       type = "gem";
-      sha256 = "0537h9qbhr6csahmzyn4lk1g5b2lcligbzd21gfy93nx9lbfdnzc";
     };
+    version = "1.0.2";
   };
-  "cal-heatmap-rails" = {
-    version = "0.0.1";
+  task_list = {
+    dependencies = ["html-pipeline"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1iv1fizb04463c4mp4gxd8v0414fhvmiwvwvjby5b9qq79d8zwab";
       type = "gem";
-      sha256 = "07qp74hi1612xgmkfvk1dmc4n79lc7dfkcgqjprnlwb6nkqa940m";
     };
+    version = "1.0.2";
   };
-  "capybara" = {
-    version = "2.4.4";
+  systemu = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gmkbakhfci5wnmbfx5i54f25j9zsvbw858yg3jjhfs5n4ad1xq1";
       type = "gem";
-      sha256 = "114k4xi4nfbp3jfbxgwa3fksbwsyibx74gbdqpcgg3dxpmzkaa4f";
     };
-    dependencies = [
-      "mime-types"
-      "nokogiri"
-      "rack"
-      "rack-test"
-      "xpath"
-    ];
+    version = "2.6.5";
   };
-  "capybara-screenshot" = {
-    version = "1.0.11";
+  stringex = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "150adm7rfh6r9b5ra6vk75mswf9m3wwyslcf8f235a08m29fxa17";
       type = "gem";
-      sha256 = "17v1wihr3aqrxhrwswkdpdklj1xsfcaksblh1y8hixvm9bqfyz3y";
     };
-    dependencies = [
-      "capybara"
-      "launchy"
-    ];
+    version = "2.5.2";
   };
-  "carrierwave" = {
-    version = "0.9.0";
+  state_machines-activerecord = {
+    dependencies = ["activerecord" "state_machines-activemodel"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10dplkn4cm49xby8s0sn7wxww4hnxi4dgikfsmhp1rbsa24d76vx";
       type = "gem";
-      sha256 = "1b1av1ancby6brhmypl5k8xwrasd8bd3kqp9ri8kbq7z8nj6k445";
     };
-    dependencies = [
-      "activemodel"
-      "activesupport"
-      "json"
-    ];
+    version = "0.3.0";
   };
-  "celluloid" = {
-    version = "0.16.0";
+  state_machines-activemodel = {
+    dependencies = ["activemodel" "state_machines"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bshcm53v2vfpapvhws1h0dq1h4f3p6bvpdkjpydb52a3m0w2z0y";
       type = "gem";
-      sha256 = "044xk0y7i1xjafzv7blzj5r56s7zr8nzb619arkrl390mf19jxv3";
     };
-    dependencies = [
-      "timers"
-    ];
+    version = "0.3.0";
   };
-  "charlock_holmes" = {
-    version = "0.6.9.4";
+  state_machines = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xg84kdglz0k1pshf2q604zybjpribzcz2b651sc1j27kd86w787";
       type = "gem";
-      sha256 = "1vyzsr3r2bwig9knyhay1m7i828w9x5zhma44iajyrbs1ypvfbg5";
     };
+    version = "0.4.0";
   };
-  "chronic" = {
-    version = "0.10.2";
+  sprockets-rails = {
+    dependencies = ["actionpack" "activesupport" "sprockets"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vsl6ryxdjpp97nl4ghhk1v6p50zh3sx9qv81bhmlffc234r91wn";
       type = "gem";
-      sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn";
     };
+    version = "2.3.3";
   };
-  "chunky_png" = {
-    version = "1.3.4";
+  sprockets = {
+    dependencies = ["hike" "multi_json" "rack" "tilt"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15818683yz27w4hgywccf27n91azy9a4nmb5qkklzb08k8jw9gp3";
       type = "gem";
-      sha256 = "0n5xhkj3vffihl3h9s8yjzazqaqcm4p1nyxa1w2dk3fkpzvb0wfw";
     };
+    version = "2.12.4";
   };
-  "cliver" = {
-    version = "0.3.2";
+  spring-commands-teaspoon = {
+    dependencies = ["spring"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1g7n4m2s9d0frh7y1xibzpphqajfnx4fvgfc66nh545dd91w2nqz";
       type = "gem";
-      sha256 = "096f4rj7virwvqxhkavy0v55rax10r4jqf8cymbvn4n631948xc7";
     };
+    version = "0.0.2";
   };
-  "coderay" = {
-    version = "1.1.0";
+  spring-commands-spinach = {
+    dependencies = ["spring"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "138jardqyj96wz68njdgy55qjbpl2d0g8bxbkz97ndaz3c2bykv9";
       type = "gem";
-      sha256 = "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s";
     };
-  };
-  "coercible" = {
     version = "1.0.0";
+  };
+  spring-commands-rspec = {
+    dependencies = ["spring"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0b0svpq3md1pjz5drpa5pxwg8nk48wrshq8lckim4x3nli7ya0k2";
       type = "gem";
-      sha256 = "1p5azydlsz0nkxmcq0i1gzmcfq02lgxc4as7wmf47j1c6ljav0ah";
     };
-    dependencies = [
-      "descendants_tracker"
-    ];
+    version = "1.0.4";
   };
-  "coffee-rails" = {
-    version = "4.1.0";
+  spring = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xvz2x6nvza5i53p7mddnf11j2wshqmbaphi6ngd6nar8v35y0k1";
       type = "gem";
-      sha256 = "0p3zhs44gsy1p90nmghihzfyl7bsk8kv6j3q7rj3bn74wg8w7nqs";
     };
-    dependencies = [
-      "coffee-script"
-      "railties"
-    ];
+    version = "1.3.6";
   };
-  "coffee-script" = {
-    version = "2.4.1";
+  spinach-rails = {
+    dependencies = ["capybara" "railties" "spinach"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nfacfylkncfgi59g2wga6m4nzdcjqb8s50cax4nbx362ap4bl70";
       type = "gem";
-      sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2";
     };
-    dependencies = [
-      "coffee-script-source"
-      "execjs"
-    ];
+    version = "0.2.1";
   };
-  "coffee-script-source" = {
-    version = "1.9.1.1";
+  spinach = {
+    dependencies = ["colorize" "gherkin-ruby" "json"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0phfjs4iw2iqxdaljzwk6qxmi2x86pl3hirmpgw2pgfx76wfx688";
       type = "gem";
-      sha256 = "1arfrwyzw4sn7nnaq8jji5sv855rp4c5pvmzkabbdgca0w1cxfq5";
     };
+    version = "0.8.10";
   };
-  "colored" = {
-    version = "1.2";
+  slop = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n";
       type = "gem";
-      sha256 = "0b0x5jmsyi0z69bm6sij1k89z7h0laag3cb4mdn7zkl9qmxb90lx";
     };
+    version = "3.6.0";
   };
-  "colorize" = {
-    version = "0.5.8";
+  slim = {
+    dependencies = ["temple" "tilt"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1szs71hh0msm5gj6qbcxw44m3hqnwybx4yh02scwixnwg576058k";
       type = "gem";
-      sha256 = "1rfzvscnk2js87zzwjgg2lk6h6mrv9448z5vx3b8vnm9yrb2qg8g";
     };
+    version = "3.0.6";
   };
-  "connection_pool" = {
-    version = "2.2.0";
+  slack-notifier = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08z6fv186yw1nrpl6zwp3lwqksin145aa1jv6jf00bnv3sicliiz";
       type = "gem";
-      sha256 = "1b2bb3k39ni5mzcnqlv9y4yjkbin20s7dkwzp0jw2jf1rmzcgrmy";
     };
+    version = "1.2.1";
   };
-  "coveralls" = {
-    version = "0.8.2";
+  six = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bhapiyjh5r5qjpclfw8i65plvy6k2q4azr5xir63xqglr53viw3";
       type = "gem";
-      sha256 = "0ds63q3g8zp23813hsvjjqpjglwr76ld4zqbbdhc9ads9l988axz";
     };
-    dependencies = [
-      "json"
-      "rest-client"
-      "simplecov"
-      "term-ansicolor"
-      "thor"
-    ];
+    version = "0.2.0";
   };
-  "crack" = {
-    version = "0.4.2";
+  sinatra = {
+    dependencies = ["rack" "rack-protection" "tilt"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hhmwqc81ram7lfwwziv0z70jh92sj1m7h7s9fr0cn2xq8mmn8l7";
       type = "gem";
-      sha256 = "1il94m92sz32nw5i6hdq14f1a2c3s9hza9zn6l95fvqhabq38k7a";
     };
-    dependencies = [
-      "safe_yaml"
-    ];
+    version = "1.4.6";
   };
-  "creole" = {
-    version = "0.3.8";
+  simplecov-html = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1qni8g0xxglkx25w54qcfbi4wjkpvmb28cb7rj5zk3iqynjcdrqf";
       type = "gem";
-      sha256 = "1wwqk5ij4r5rhzbzhnpqwbn9ck56qgyjs02pjmi2wh46gs8dmkl8";
     };
+    version = "0.10.0";
   };
-  "d3_rails" = {
-    version = "3.5.6";
+  simplecov = {
+    dependencies = ["docile" "json" "simplecov-html"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1q2iq2vgrdvvla5y907gkmqx6ry2qvnvc7a90hlcbwgp1w0sv6z4";
       type = "gem";
-      sha256 = "0faz49chi08zxqwwdzzcb468gmcfmpv1s58y4c431kpa6kyh8qsm";
     };
-    dependencies = [
-      "railties"
-    ];
+    version = "0.10.0";
   };
-  "daemons" = {
-    version = "1.2.3";
+  simple_oauth = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bb06p88xsdw4fxll1ikv5i5k58sl6y323ss0wp1hqjm3xw1jgvj";
       type = "gem";
-      sha256 = "0b839hryy9sg7x3knsa1d6vfiyvn0mlsnhsb6an8zsalyrz1zgqg";
     };
+    version = "0.1.9";
   };
-  "database_cleaner" = {
-    version = "1.4.1";
+  sidekiq-cron = {
+    dependencies = ["redis-namespace" "rufus-scheduler" "sidekiq"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xnbvh8kjv6954vsiwfcpp7bn8sgpwvnyapnq7b94w8h7kj3ykqy";
       type = "gem";
-      sha256 = "0n5r7kvsmknk876v3scdphfnvllr9157fa5q7j5fczg8j5qm6kf0";
     };
+    version = "0.4.0";
   };
-  "debug_inspector" = {
-    version = "0.0.2";
+  sidekiq = {
+    dependencies = ["concurrent-ruby" "connection_pool" "json" "redis"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1x7jfc2va0x6fcfffdf0wdiyk4krjw8053jzwffa63wkqr5jvg3y";
       type = "gem";
-      sha256 = "109761g00dbrw5q0dfnbqg8blfm699z4jj70l4zrgf9mzn7ii50m";
     };
+    version = "4.0.1";
   };
-  "default_value_for" = {
-    version = "3.0.1";
+  shoulda-matchers = {
+    dependencies = ["activesupport"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0d3ryqcsk1n9y35bx5wxnqbgw4m8b3c79isazdjnnbg8crdp72d0";
       type = "gem";
-      sha256 = "1z4lrba4y1c3y0rxw8321qbwsb3nr6c2igrpksfvz93yhc9m6xm0";
     };
-    dependencies = [
-      "activerecord"
-    ];
+    version = "2.8.0";
   };
-  "descendants_tracker" = {
-    version = "0.0.4";
+  sham_rack = {
+    dependencies = ["rack"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0zs6hpgg87x5jrykjxgfp2i7m5aja53s5kamdhxam16wki1hid3i";
       type = "gem";
-      sha256 = "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79";
     };
-    dependencies = [
-      "thread_safe"
-    ];
+    version = "1.3.6";
   };
-  "devise" = {
-    version = "3.5.2";
+  sexp_processor = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gxlcpg81wfjf5gpggf8h6l2dbq3ikgavbrr2yfw3m2vqy88yjg2";
       type = "gem";
-      sha256 = "1wj88i2hyhcnifj606vzgf2q68yhcpyrsx7bc11h93cma51z59c3";
     };
-    dependencies = [
-      "bcrypt"
-      "orm_adapter"
-      "railties"
-      "responders"
-      "thread_safe"
-      "warden"
-    ];
+    version = "4.6.0";
   };
-  "devise-async" = {
-    version = "0.9.0";
+  settingslogic = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ria5zcrk1nf0b9yia15mdpzw0dqr6wjpbj8dsdbbps81lfsj9ar";
       type = "gem";
-      sha256 = "11llg7ggzpmg4lb9gh4sx55spvp98sal5r803gjzamps9crfq6mm";
     };
-    dependencies = [
-      "devise"
-    ];
+    version = "2.0.9";
   };
-  "devise-two-factor" = {
-    version = "2.0.0";
+  sentry-raven = {
+    version = "0.15.6";
     source = {
       type = "gem";
-      sha256 = "1xzaagz6fr9cbq7cj8g7sahx6sxxsc1jyja462caa0gjang9yrhr";
+      remotes = ["https://rubygems.org"];
+      sha256 = "0iqnwfmf6rnpgrvl3c8gh2gkix91nhm21j5qf389g4mi2rkc0ky8";
     };
-    dependencies = [
-      "activesupport"
-      "attr_encrypted"
-      "devise"
-      "railties"
-      "rotp"
-    ];
   };
-  "diff-lcs" = {
-    version = "1.2.5";
+  select2-rails = {
+    dependencies = ["thor"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ni2k74n73y3gv56gs37gkjlh912szjf6k9j483wz41m3xvlz7fj";
       type = "gem";
-      sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
     };
+    version = "3.5.9.3";
   };
-  "diffy" = {
-    version = "3.0.7";
+  seed-fu = {
+    dependencies = ["activerecord" "activesupport"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11xja82yxir1kwccrzng29h7w911i9j0xj2y7y949yqnw91v12vw";
       type = "gem";
-      sha256 = "0il0ri511g9rm88qbvncbzgwc6wk6265hmnf7grcczmrs1z49vl0";
     };
+    version = "2.3.5";
   };
-  "docile" = {
-    version = "1.1.5";
+  sdoc = {
+    dependencies = ["json" "rdoc"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17l8qk0ld47z4h5avcnylvds8nc6dp25zc64w23z8li2hs341xf2";
       type = "gem";
-      sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
     };
+    version = "0.3.20";
   };
-  "domain_name" = {
-    version = "0.5.24";
+  sawyer = {
+    dependencies = ["addressable" "faraday"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fk43bzwn816qj1ksiicm2i1kmzv5675cmnvk57kmfmi4rfsyjpy";
       type = "gem";
-      sha256 = "1xjm5arwc35wryn0hbfldx2pfhwx5qilkv7yms4kz0jri3m6mgcc";
     };
-    dependencies = [
-      "unf"
-    ];
+    version = "0.6.0";
   };
-  "doorkeeper" = {
-    version = "2.1.4";
+  sass-rails = {
+    dependencies = ["railties" "sass" "sprockets" "sprockets-rails" "tilt"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1f6357vw944w2ayayqmz8ai9myl6xbnry06sx5b5ms4r9lny8hj8";
       type = "gem";
-      sha256 = "00akgshmz85kxvf35qsag80qbxzjvmkmksjy96zx44ckianxwahl";
     };
-    dependencies = [
-      "railties"
-    ];
+    version = "5.0.4";
   };
-  "dropzonejs-rails" = {
-    version = "0.7.1";
+  sass = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04rpdcp258arh2wgdk9shbqnzd6cbbbpi3wpi9a0wby8awgpxmyf";
       type = "gem";
-      sha256 = "0spfjkji6v98996bc320sx3ar3sflkpbjpzwg6cvbycwfn29fjfy";
     };
-    dependencies = [
-      "rails"
-    ];
+    version = "3.4.20";
   };
-  "email_reply_parser" = {
-    version = "0.5.8";
+  sanitize = {
+    dependencies = ["nokogiri"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xsv6xqrlz91rd8wifjknadbl3z5h6qphmxy0hjb189qbdghggn3";
       type = "gem";
-      sha256 = "0k2p229mv7xn7q627zwmvhrcvba4b9m70pw2jfjm6iimg2vmf22r";
     };
+    version = "2.1.0";
   };
-  "email_spec" = {
-    version = "1.6.0";
+  safe_yaml = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
       type = "gem";
-      sha256 = "00p1cc69ncrgg7m45va43pszip8anx5735w1lsb7p5ygkyw8nnpv";
     };
-    dependencies = [
-      "launchy"
-      "mail"
-    ];
+    version = "1.0.4";
   };
-  "encryptor" = {
-    version = "1.3.0";
+  rugged = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0v0cvdw8cgy1hf5h3cx796zpxhbad8d5cm50nykyhwjc00q80zrr";
       type = "gem";
-      sha256 = "04wqqda081h7hmhwjjx1yqxprxjk8s5jgv837xqv1bpxiv7f4v1y";
     };
+    version = "0.24.0b13";
   };
-  "enumerize" = {
-    version = "0.7.0";
+  rufus-scheduler = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04bmvvvri7ni7dvlq3gi1y553f6rp6bw2kmdfp9ny5bh3l7qayrh";
       type = "gem";
-      sha256 = "0rg6bm3xv7p4i5gs4796v8gc49mzakphwv4kdbhn0wjm690h6226";
     };
-    dependencies = [
-      "activesupport"
-    ];
+    version = "3.1.10";
   };
-  "equalizer" = {
-    version = "0.0.11";
+  rubypants = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vpdkrc4c8qhrxph41wqwswl28q5h5h994gy4c1mlrckqzm3hzph";
       type = "gem";
-      sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4";
     };
+    version = "0.2.0";
   };
-  "erubis" = {
-    version = "2.7.0";
+  rubyntlm = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04l8686hl0829x4acsnbz0licf8n6794p7shz8iyahin1jnqg3d7";
       type = "gem";
-      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
     };
+    version = "0.5.2";
   };
-  "escape_utils" = {
-    version = "0.2.4";
+  ruby_parser = {
+    dependencies = ["sexp_processor"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rip6075b4k5a7s8w2klwc3jaqx31h69k004ac5nhl8y0ja92qvz";
       type = "gem";
-      sha256 = "0mg5pgaa02w1bxh0166d367f2ll6fizyrs5dsirrcnw4g17ba54g";
     };
+    version = "3.7.2";
   };
-  "eventmachine" = {
-    version = "1.0.8";
+  ruby2ruby = {
+    dependencies = ["ruby_parser" "sexp_processor"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kmc0503s9mqnjyypx51wsi6zz9zj550ch43rag23wpj4qd6i6pm";
       type = "gem";
-      sha256 = "1frvpk3p73xc64qkn0ymll3flvn4xcycq5yx8a43zd3gyzc1ifjp";
     };
+    version = "2.2.0";
   };
-  "excon" = {
-    version = "0.45.4";
+  ruby-saml = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "151jbak16y87dbj3ma2nc03rh37z7lixcwgaqahncq80rgnv45a8";
       type = "gem";
-      sha256 = "1shb4g3dhsfkywgjv6123yrvp2c8bvi8hqmq47iqa5lp72sn4b4w";
     };
+    version = "1.1.1";
   };
-  "execjs" = {
-    version = "2.6.0";
+  ruby-progressbar = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0hynaavnqzld17qdx9r7hfw00y16ybldwq730zrqfszjwgi59ivi";
       type = "gem";
-      sha256 = "0grlxwiccbnflxs30r3h7g23xnps5knav1jyqkk3anvm8363ifjw";
     };
+    version = "1.7.5";
   };
-  "expression_parser" = {
-    version = "0.9.0";
+  ruby-fogbugz = {
+    dependencies = ["crack"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jj0gpkycbrivkh2q3429vj6mbgx6axxisg69slj3c4mgvzfgchm";
       type = "gem";
-      sha256 = "1938z3wmmdabqxlh5d5c56xfg1jc6z15p7zjyhvk7364zwydnmib";
     };
+    version = "0.2.1";
   };
-  "factory_girl" = {
-    version = "4.3.0";
+  rubocop = {
+    dependencies = ["astrolabe" "parser" "powerpack" "rainbow" "ruby-progressbar" "tins"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1grqda2fdknm43zyagh8gcmnhjkypyfw98q92hmvprprwghkq2sg";
       type = "gem";
-      sha256 = "13z20a4b7z1c8vbz0qz5ranssdprldwvwlgjmn38x311sfjmp9dz";
     };
-    dependencies = [
-      "activesupport"
-    ];
+    version = "0.35.1";
   };
-  "factory_girl_rails" = {
-    version = "4.3.0";
+  rspec-support = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1cyagig8slxjas8mbg5f8bl240b8zgr8mnjsvrznag1fwpkh4h27";
       type = "gem";
-      sha256 = "1jj0yl6mfildb4g79dwgc1q5pv2pa65k9b1ml43mi8mg62j8mrhz";
     };
-    dependencies = [
-      "factory_girl"
-      "railties"
-    ];
+    version = "3.3.0";
   };
-  "faraday" = {
-    version = "0.8.10";
+  rspec-rails = {
+    dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0m66n9p3a7d3fmrzkbh8312prb6dhrgmp53g1amck308ranasv2a";
       type = "gem";
-      sha256 = "093hrmrx3jn9969q6c9cjms2k73aqwhs03kij378kg1d5izr4r6f";
     };
-    dependencies = [
-      "multipart-post"
-    ];
+    version = "3.3.3";
   };
-  "faraday_middleware" = {
-    version = "0.10.0";
+  rspec-mocks = {
+    dependencies = ["diff-lcs" "rspec-support"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1lfbzscmpyixlbapxmhy2s69596vs1z00lv590l51hgdw70z92vg";
       type = "gem";
-      sha256 = "0nxia26xzy8i56qfyz1bg8dg9yb26swpgci8n5jry8mh4bnx5r5h";
     };
-    dependencies = [
-      "faraday"
-    ];
+    version = "3.3.2";
   };
-  "fastercsv" = {
-    version = "1.5.5";
+  rspec-expectations = {
+    dependencies = ["diff-lcs" "rspec-support"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1d0b5hpkxlr9f3xpsbhvl3irnk4smmycx2xnmc8qv3pqaa7mb7ah";
       type = "gem";
-      sha256 = "1df3vfgw5wg0s405z0pj0rfcvnl9q6wak7ka8gn0xqg4cag1k66h";
     };
+    version = "3.3.1";
   };
-  "ffaker" = {
-    version = "2.0.0";
+  rspec-core = {
+    dependencies = ["rspec-support"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xw5qi936j6nz9fixi2mwy03f406761cd72bzyvd61pr854d7hy1";
       type = "gem";
-      sha256 = "19fnbbsw87asyb1hvkr870l2yldah2jcjb8074pgyrma5lynwmn0";
     };
+    version = "3.3.2";
   };
-  "ffi" = {
-    version = "1.9.10";
+  rspec = {
+    dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bn5zs71agc0zyns2r3c8myi5bxw3q7xnzp7f3v5b7hbil1qym4r";
       type = "gem";
-      sha256 = "1m5mprppw0xcrv2mkim5zsk70v089ajzqiq5hpyb0xg96fcyzyxj";
     };
+    version = "3.3.0";
   };
-  "fission" = {
-    version = "0.5.0";
+  rqrcode-rails3 = {
+    dependencies = ["rqrcode"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1i28rwmj24ssk91chn0g7qsnvn003y3s5a7jsrg3w4l5ckr841bg";
       type = "gem";
-      sha256 = "09pmp1j1rr8r3pcmbn2na2ls7s1j9ijbxj99xi3a8r6v5xhjdjzh";
     };
-    dependencies = [
-      "CFPropertyList"
-    ];
+    version = "0.1.7";
   };
-  "flowdock" = {
+  rqrcode = {
+    dependencies = ["chunky_png"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "188n1mvc7klrlw30bai16sdg4yannmy7cz0sg0nvm6f1kjx5qflb";
+      type = "gem";
+    };
     version = "0.7.0";
+  };
+  rouge = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0wp8as9ypdy18kdj9h70kny1rdfq71mr8cj2bpahr9vxjjvjasqz";
       type = "gem";
-      sha256 = "0wzqj35mn2x2gcy88y00h3jz57ldkkidkwy63jxvmqdlz759pds5";
     };
-    dependencies = [
-      "httparty"
-      "multi_json"
-    ];
+    version = "1.10.1";
   };
-  "fog" = {
-    version = "1.25.0";
+  rotp = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nzsc9hfxijnyzjbv728ln9dm80bc608chaihjdk63i2wi4m529g";
       type = "gem";
-      sha256 = "0zncds3qj5n3i780y6y6sy5h1gg0kwiyiirxyisbd8p0ywwr8bc3";
     };
-    dependencies = [
-      "fog-brightbox"
-      "fog-core"
-      "fog-json"
-      "fog-profitbricks"
-      "fog-radosgw"
-      "fog-sakuracloud"
-      "fog-softlayer"
-      "fog-terremark"
-      "fog-vmfusion"
-      "fog-voxel"
-      "fog-xml"
-      "ipaddress"
-      "nokogiri"
-      "opennebula"
-    ];
+    version = "2.1.1";
   };
-  "fog-brightbox" = {
-    version = "0.9.0";
+  rinku = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jh6nys332brph55i6x6cil6swm086kxjw34wq131nl6mwryqp7b";
       type = "gem";
-      sha256 = "01a6ydv7y02zbid8s9mqcxpc0k0hig39ap7mrwj9vp6z7mm9dydv";
     };
-    dependencies = [
-      "fog-core"
-      "fog-json"
-      "inflecto"
-    ];
+    version = "1.7.3";
   };
-  "fog-core" = {
-    version = "1.32.1";
+  rest-client = {
+    dependencies = ["http-cookie" "mime-types" "netrc"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1m8z0c4yf6w47iqz6j2p7x1ip4qnnzvhdph9d5fgx081cvjly3p7";
       type = "gem";
-      sha256 = "0pnm3glgha2hxmhjvgp7f088vzdgv08q8c6w8y9c2cys3b4fx83m";
     };
-    dependencies = [
-      "builder"
-      "excon"
-      "formatador"
-      "mime-types"
-      "net-scp"
-      "net-ssh"
-    ];
+    version = "1.8.0";
   };
-  "fog-json" = {
-    version = "1.0.2";
+  responders = {
+    dependencies = ["railties"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1i00bxp8fa67rzl50wfiaw16w21j5d5gwjjkdiwr0sw9q6ixmpz1";
       type = "gem";
-      sha256 = "0advkkdjajkym77r3c0bg2rlahl2akj0vl4p5r273k2qmi16n00r";
     };
-    dependencies = [
-      "fog-core"
-      "multi_json"
-    ];
+    version = "2.1.1";
   };
-  "fog-profitbricks" = {
-    version = "0.0.5";
+  rerun = {
+    dependencies = ["listen"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0av239bpmy55fdx4qaw9n71aapjy2myr51h5plzjxsyr0fdwn1xq";
       type = "gem";
-      sha256 = "154sqs2dcmvg21v4m3fj8f09z5i70sq8a485v6rdygsffs8xrycn";
     };
-    dependencies = [
-      "fog-core"
-      "fog-xml"
-      "nokogiri"
-    ];
+    version = "0.11.0";
   };
-  "fog-radosgw" = {
-    version = "0.0.4";
+  request_store = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01rxi2hw84y133z0r91jns4aaywd8d83wjq0xgb42iaicf0a90p9";
       type = "gem";
-      sha256 = "1pxbvmr4dsqx4x2klwnciyhki4r5ryr9y0hi6xmm3n6fdv4ii7k3";
     };
-    dependencies = [
-      "fog-core"
-      "fog-json"
-      "fog-xml"
-    ];
+    version = "1.2.1";
   };
-  "fog-sakuracloud" = {
-    version = "1.0.1";
+  redis-store = {
+    dependencies = ["redis"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gf462p0wx4hn7m1m8ghs701n6xx0ijzm5cff9xfagd2s6va145m";
       type = "gem";
-      sha256 = "1s16b48kh7y03hjv74ccmlfwhqqq7j7m4k6cywrgbyip8n3258n8";
     };
-    dependencies = [
-      "fog-core"
-      "fog-json"
-    ];
+    version = "1.1.7";
   };
-  "fog-softlayer" = {
-    version = "0.4.7";
+  redis-rails = {
+    dependencies = ["redis-actionpack" "redis-activesupport" "redis-store"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0igww7hb58aq74mh50dli3zjg78b54y8nhd0h1h9vz4vgjd4q8m7";
       type = "gem";
-      sha256 = "0fgfbhqnyp8ywymvflflhvbns54d1432x57pgpnfy8k1cxvhv9b8";
     };
-    dependencies = [
-      "fog-core"
-      "fog-json"
-    ];
+    version = "4.0.0";
   };
-  "fog-terremark" = {
-    version = "0.1.0";
+  redis-rack = {
+    dependencies = ["rack" "redis-store"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1y1mxx8gn0krdrpwllv7fqsbvki1qjnb2dz8b4q9gwc326829gk8";
       type = "gem";
-      sha256 = "01lfkh9jppj0iknlklmwyb7ym3bfhkq58m3absb6rf5a5mcwi3lf";
     };
-    dependencies = [
-      "fog-core"
-      "fog-xml"
-    ];
+    version = "1.5.0";
   };
-  "fog-vmfusion" = {
-    version = "0.1.0";
+  redis-namespace = {
+    dependencies = ["redis"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0rp8gfkznfxqzxk9s976k71jnljkh0clkrhnp6vgx46s5yhj9g25";
       type = "gem";
-      sha256 = "0g0l0k9ylxk1h9pzqr6h2ba98fl47lpp3j19lqv4jxw0iw1rqxn4";
     };
-    dependencies = [
-      "fission"
-      "fog-core"
-    ];
+    version = "1.5.2";
   };
-  "fog-voxel" = {
-    version = "0.1.0";
+  redis-activesupport = {
+    dependencies = ["activesupport" "redis-store"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10y3kybz21n2z11478sf0cp4xzclvxf0b428787brmgpc6i7p7zg";
       type = "gem";
-      sha256 = "10skdnj59yf4jpvq769njjrvh2l0wzaa7liva8n78qq003mvmfgx";
     };
-    dependencies = [
-      "fog-core"
-      "fog-xml"
-    ];
+    version = "4.1.5";
   };
-  "fog-xml" = {
-    version = "0.1.2";
+  redis-actionpack = {
+    dependencies = ["actionpack" "redis-rack" "redis-store"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jjl6dhhpdapdaywq5iqz7z36mwbw0cn0m30wcc5wcbv7xmiiygw";
       type = "gem";
-      sha256 = "1576sbzza47z48p0k9h1wg3rhgcvcvdd1dfz3xx1cgahwr564fqa";
     };
-    dependencies = [
-      "fog-core"
-      "nokogiri"
-    ];
+    version = "4.0.1";
   };
-  "font-awesome-rails" = {
-    version = "4.4.0.0";
+  redis = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0255w9izzs04hw9wivn05yqiwi34w28ylxs0xvpmwc1vrh18fwcl";
       type = "gem";
-      sha256 = "0igrwlkgpggpfdy3f4kzsz22m14rxx5xnvz3if16czqjlkq4kbbx";
     };
-    dependencies = [
-      "railties"
-    ];
+    version = "3.2.2";
   };
-  "foreman" = {
-    version = "0.78.0";
+  redcarpet = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "14i3wypp97bpk20679d1csy88q4hsgfqbnqw6mryl77m2g0d09pk";
       type = "gem";
-      sha256 = "1caz8mi7gq1hs4l1flcyyw1iw1bdvdbhppsvy12akr01k3s17xaq";
     };
-    dependencies = [
-      "thor"
-    ];
+    version = "3.3.3";
   };
-  "formatador" = {
-    version = "0.2.5";
+  recaptcha = {
+    dependencies = ["json"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "190qqklirmi31s6ih7png4h9xmx1p5h2n5fi45z90y8hsp5w1sh1";
       type = "gem";
-      sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0";
     };
+    version = "1.0.2";
   };
-  "fuubar" = {
-    version = "2.0.0";
+  rdoc = {
+    dependencies = ["json"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1v9k4sp5yzj2bshngckdvivj6bszciskk1nd2r3wri2ygs7vgqm8";
       type = "gem";
-      sha256 = "0xwqs24y8s73aayh39si17kccsmr0bjgmi6jrjyfp7gkjb6iyhpv";
     };
-    dependencies = [
-      "rspec"
-      "ruby-progressbar"
-    ];
+    version = "3.12.2";
   };
-  "gemnasium-gitlab-service" = {
-    version = "0.2.6";
+  rblineprof = {
+    dependencies = ["debugger-ruby_core_source"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0m58kdjgncwf0h1qry3qk5h4bg8sj0idykqqijqcrr09mxfd9yc6";
       type = "gem";
-      sha256 = "1qv7fkahmqkah3770ycrxd0x2ais4z41hb43a0r8q8wcdklns3m3";
     };
-    dependencies = [
-      "rugged"
-    ];
+    version = "0.3.6";
   };
-  "gemojione" = {
-    version = "2.0.1";
+  rb-inotify = {
+    dependencies = ["ffi"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0kddx2ia0qylw3r52nhg83irkaclvrncgy2m1ywpbhlhsz1rymb9";
       type = "gem";
-      sha256 = "0655l0vgs0hbz11s2nlpwwj7df66cxlvv94iz7mhf04qrr5mi26q";
     };
-    dependencies = [
-      "json"
-    ];
+    version = "0.9.5";
   };
-  "get_process_mem" = {
-    version = "0.2.0";
+  rb-fsevent = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hq57by28iv0ijz8pk9ynih0xdg7vnl1010xjcijfklrcv89a1j2";
       type = "gem";
-      sha256 = "025f7v6bpbgsa2nr0hzv2riggj8qmzbwcyxfgjidpmwh5grh7j29";
     };
+    version = "0.9.6";
   };
-  "gherkin-ruby" = {
-    version = "0.3.2";
+  raphael-rails = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sjiaymvfn4al5dr1pza5i142byan0fxnj4rymziyql2bzvdm2bc";
       type = "gem";
-      sha256 = "18ay7yiibf4sl9n94k7mbi4k5zj2igl4j71qcmkswv69znyx0sn1";
     };
+    version = "2.1.2";
   };
-  "github-markup" = {
-    version = "1.3.3";
+  rake = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jcabbgnjc788chx31sihc5pgbqnlc1c75wakmqlbjdm8jns2m9b";
       type = "gem";
-      sha256 = "01r901wcgn0gs0n9h684gs5n90y1vaj9lxnx4z5ig611jwa43ivq";
     };
+    version = "10.5.0";
   };
-  "gitlab-flowdock-git-hook" = {
-    version = "1.0.1";
+  raindrops = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hv0xhr762axywr937czi92fs0x3zk7k22vg6f4i7rr8d05sp560";
       type = "gem";
-      sha256 = "1s3a10cdbh4xy732b92zcsm5zyc1lhi5v29d76j8mwbqmj11a2p8";
     };
-    dependencies = [
-      "flowdock"
-      "gitlab-grit"
-      "multi_json"
-    ];
+    version = "0.15.0";
   };
-  "gitlab-grit" = {
-    version = "2.7.3";
+  rainbow = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dsnzfjiih2w8npsjab3yx1ssmmvmgjkbxny0i9yzrdy7whfw7b4";
       type = "gem";
-      sha256 = "0nv8shx7w7fww8lf5a2rbvf7bq173rllm381m6x7g1i0qqc68q1b";
     };
-    dependencies = [
-      "charlock_holmes"
-      "diff-lcs"
-      "mime-types"
-      "posix-spawn"
-    ];
+    version = "2.0.0";
   };
-  "gitlab-linguist" = {
-    version = "3.0.1";
+  railties = {
+    dependencies = ["actionpack" "activesupport" "rake" "thor"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07vmyrppa1x80whdjxhjij93qh9wvnmnxpsgn6fr9x2lqmzdyq5l";
       type = "gem";
-      sha256 = "14ydmxmdm7j56nwlcf4ai08mpc7d3mbfhida52p1zljshbvda5ib";
     };
-    dependencies = [
-      "charlock_holmes"
-      "escape_utils"
-      "mime-types"
-    ];
+    version = "4.2.5.1";
   };
-  "gitlab_emoji" = {
-    version = "0.1.1";
+  rails-html-sanitizer = {
+    dependencies = ["loofah"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "138fd86kv073zqfx0xifm646w6bgw2lr8snk16lknrrfrss8xnm7";
       type = "gem";
-      sha256 = "13jj6ah88x8y6cr5c82j78a4mi5g88a7vpqf617zpcdiabmr0gl6";
     };
-    dependencies = [
-      "gemojione"
-    ];
+    version = "1.0.3";
   };
-  "gitlab_git" = {
-    version = "7.2.15";
+  rails-dom-testing = {
+    dependencies = ["activesupport" "nokogiri" "rails-deprecated_sanitizer"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1v8jl6803mbqpxh4hn0szj081q1a3ap0nb8ni0qswi7z4la844v8";
       type = "gem";
-      sha256 = "1afa645sj322sfy4h6hksi78m87qgvslmf8rgzlqsa4b6zf4w4x2";
     };
-    dependencies = [
-      "activesupport"
-      "charlock_holmes"
-      "gitlab-linguist"
-      "rugged"
-    ];
+    version = "1.0.7";
   };
-  "gitlab_meta" = {
-    version = "7.0";
+  rails-deprecated_sanitizer = {
+    dependencies = ["activesupport"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj";
       type = "gem";
-      sha256 = "14vahv7gblcypbvip845sg3lvawf3kij61mkxz5vyfcv23niqvp9";
     };
+    version = "1.0.3";
   };
-  "gitlab_omniauth-ldap" = {
-    version = "1.2.1";
+  rails = {
+    dependencies = ["actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03j6hfsqdl0bay59m4qjj2081s4vnhqagpl14qpm4wfrqrgpkcqb";
       type = "gem";
-      sha256 = "1vbdyi57vvlrigyfhmqrnkw801x57fwa3gxvj1rj2bn9ig5186ri";
     };
-    dependencies = [
-      "net-ldap"
-      "omniauth"
-      "pyu-ruby-sasl"
-      "rubyntlm"
-    ];
+    version = "4.2.5.1";
   };
-  "gollum-grit_adapter" = {
-    version = "1.0.0";
+  rack-test = {
+    dependencies = ["rack"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z";
       type = "gem";
-      sha256 = "02c5qfq0s0kx2ifnpbnbgz6258fl7rchzzzc7vpx72shi8gbpac7";
     };
-    dependencies = [
-      "gitlab-grit"
-    ];
+    version = "0.6.3";
   };
-  "gollum-lib" = {
-    version = "4.0.3";
+  rack-protection = {
+    dependencies = ["rack"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
       type = "gem";
-      sha256 = "1f8jzxza1ckpyzyk137rqd212vfk2ac2mn1pp1wi880s4ynahyky";
     };
-    dependencies = [
-      "github-markup"
-      "gollum-grit_adapter"
-      "nokogiri"
-      "rouge"
-      "sanitize"
-      "stringex"
-    ];
+    version = "1.5.3";
   };
-  "gon" = {
-    version = "5.0.4";
+  rack-oauth2 = {
+    dependencies = ["activesupport" "attr_required" "httpclient" "multi_json" "rack"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1szfnb74p5s7k0glpmiv16rfl4wx9mnrr7riapgpbcx163zzkxad";
       type = "gem";
-      sha256 = "0gdl6zhj5k8ma3mwm00kjfa12w0l6br9kyyxvfj90cw9irfi049r";
     };
-    dependencies = [
-      "actionpack"
-      "json"
-    ];
+    version = "1.2.1";
   };
-  "grape" = {
-    version = "0.6.1";
+  rack-mount = {
+    dependencies = ["rack"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09a1qfaxxsll1kbgz7z0q0nr48sfmfm7akzaviis5bjpa5r00ld2";
       type = "gem";
-      sha256 = "1sjlk0pmgqbb3piz8yb0xjcm7liimrr17y5xflm40amv36pg2gz8";
     };
-    dependencies = [
-      "activesupport"
-      "builder"
-      "hashie"
-      "multi_json"
-      "multi_xml"
-      "rack"
-      "rack-accept"
-      "rack-mount"
-      "virtus"
-    ];
+    version = "0.8.3";
   };
-  "grape-entity" = {
-    version = "0.4.8";
+  rack-cors = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1sz9d9gjmv2vjl3hddzk269hb1k215k8sp37gicphx82h3chk1kw";
       type = "gem";
-      sha256 = "0hxghs2p9ncvdwhp6dwr1a74g552c49dd0jzy0szp4pg2xjbgjk8";
     };
-    dependencies = [
-      "activesupport"
-      "multi_json"
-    ];
+    version = "0.4.0";
   };
-  "growl" = {
+  rack-attack = {
+    dependencies = ["rack"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ihic8ar2ddfv15p5gia8nqzsl3y7iayg5v4rmg72jlvikgsabls";
+      type = "gem";
+    };
+    version = "4.3.1";
+  };
+  rack-accept = {
+    dependencies = ["rack"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18jdipx17b4ki33cfqvliapd31sbfvs4mv727awynr6v95a7n936";
+      type = "gem";
+    };
+    version = "0.4.5";
+  };
+  rack = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09bs295yq6csjnkzj7ncj50i6chfxrhmzg1pk6p0vd2lb9ac8pj5";
+      type = "gem";
+    };
+    version = "1.6.4";
+  };
+  quiet_assets = {
+    dependencies = ["railties"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1q4azw4j1xsgd7qwcig110mfdn1fm0y34y87zw9j9v187xr401b1";
+      type = "gem";
+    };
     version = "1.0.3";
+  };
+  pyu-ruby-sasl = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rcpjiz9lrvyb3rd8k8qni0v4ps08psympffyldmmnrqayyad0sn";
       type = "gem";
-      sha256 = "0s0y7maljnalpbv2q1j5j5hvb4wcc31y9af0n7x1q2l0fzxgc9n9";
     };
+    version = "0.0.3.3";
   };
-  "guard" = {
-    version = "2.13.0";
+  pry-rails = {
+    dependencies = ["pry"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0a2iinvabis2xmv0z7z7jmh7bbkkngxj2qixfdg5m6qj9x8k1kx6";
       type = "gem";
-      sha256 = "0p3ndfmi6sdw55c7j19pyb2ymlby1vyxlp0k47366im1vi70b7gf";
     };
-    dependencies = [
-      "formatador"
-      "listen"
-      "lumberjack"
-      "nenv"
-      "notiffany"
-      "pry"
-      "shellany"
-      "thor"
-    ];
+    version = "0.3.4";
   };
-  "guard-rspec" = {
-    version = "4.2.10";
+  pry = {
+    dependencies = ["coderay" "method_source" "slop"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1x78rvp69ws37kwig18a8hr79qn36vh8g1fn75p485y3b3yiqszg";
       type = "gem";
-      sha256 = "1mm03i1knmhmdqs4ni03nda7jy3s34c2nxf5sjq1cmywk9c0bn0r";
     };
-    dependencies = [
-      "guard"
-      "rspec"
-    ];
+    version = "0.10.3";
   };
-  "haml" = {
-    version = "4.0.7";
+  powerpack = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fnn3fli5wkzyjl4ryh0k90316shqjfnhydmc7f8lqpi0q21va43";
       type = "gem";
-      sha256 = "0mrzjgkygvfii66bbylj2j93na8i89998yi01fin3whwqbvx0m1p";
     };
-    dependencies = [
-      "tilt"
-    ];
+    version = "0.1.1";
   };
-  "haml-rails" = {
-    version = "0.5.3";
+  posix-spawn = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "052lnxbkvlnwfjw4qd7vn2xrlaaqiav6f5x5bcjin97bsrfq6cmr";
       type = "gem";
-      sha256 = "0fg4dh1gb7f4h2571wm5qxli02mgg3r8ikp5vwkww12a431vk625";
     };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-      "haml"
-      "railties"
-    ];
+    version = "0.3.11";
   };
-  "hashie" = {
-    version = "2.1.2";
+  poltergeist = {
+    dependencies = ["capybara" "cliver" "multi_json" "websocket-driver"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ppm4isvbxm739508yjhvisq1iwp1q6h8dx4hkndj2krskavz4i9";
       type = "gem";
-      sha256 = "08w9ask37zh5w989b6igair3zf8gwllyzix97rlabxglif9f9qd9";
     };
+    version = "1.8.1";
   };
-  "highline" = {
-    version = "1.6.21";
+  pg = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07dv4ma9xd75xpsnnwwg1yrpwpji7ydy0q1d9dl0yfqbzpidrw32";
       type = "gem";
-      sha256 = "06bml1fjsnrhd956wqq5k3w8cyd09rv1vixdpa3zzkl6xs72jdn1";
     };
+    version = "0.18.4";
   };
-  "hike" = {
-    version = "1.2.3";
+  parser = {
+    dependencies = ["ast"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "14db0gam24j04iprqz4m3hxygkb8h0plnbm0yk4k3lzq6j5wzcac";
       type = "gem";
-      sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm";
     };
+    version = "2.2.3.0";
   };
-  "hipchat" = {
-    version = "1.5.2";
+  paranoia = {
+    dependencies = ["activerecord"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0z2smnnghjhcs4l5fkz9scs1kj0bvj2n8xmzcvw4rg9yprdnlxr0";
       type = "gem";
-      sha256 = "0hgy5jav479vbzzk53lazhpjj094dcsqw6w1d6zjn52p72bwq60k";
     };
-    dependencies = [
-      "httparty"
-      "mimemagic"
-    ];
+    version = "2.1.4";
   };
-  "hitimes" = {
-    version = "1.2.3";
+  orm_adapter = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda";
       type = "gem";
-      sha256 = "1fr9raz7652bnnx09dllyjdlnwdxsnl0ig5hq9s4s8vackvmckv4";
     };
+    version = "0.5.0";
   };
-  "html-pipeline" = {
-    version = "1.11.0";
+  org-ruby = {
+    dependencies = ["rubypants"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0x69s7aysfiwlcpd9hkvksfyld34d8kxr62adb59vjvh8hxfrjwk";
       type = "gem";
-      sha256 = "1yckdlrn4v5d7bgl8mbffax16640pgg9ny693kqi4j7g17vx2q9l";
     };
-    dependencies = [
-      "activesupport"
-      "nokogiri"
-    ];
+    version = "0.9.12";
   };
-  "http-cookie" = {
-    version = "1.0.2";
+  omniauth_crowd = {
+    dependencies = ["activesupport" "nokogiri" "omniauth"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12g5ck05h6kr9mnp870x8pkxsadg81ca70hg8n3k8xx007lfw2q7";
       type = "gem";
-      sha256 = "0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw";
     };
-    dependencies = [
-      "domain_name"
-    ];
+    version = "2.2.3";
   };
-  "http_parser.rb" = {
-    version = "0.5.3";
+  omniauth-twitter = {
+    dependencies = ["json" "omniauth-oauth"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hqjpb1zx0pp3s12c83pkpk4kkx41f001jc5n8qz0h3wll0ld833";
       type = "gem";
-      sha256 = "0fwf5d573j1sw52kz057dw0nx2wlivczmx6ybf6mk065n5g54kyn";
     };
+    version = "1.2.1";
   };
-  "httparty" = {
-    version = "0.13.5";
+  omniauth-shibboleth = {
+    dependencies = ["omniauth"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0a8pwy23aybxhn545357zdjy0hnpfgldwqk5snmz9kxingpq12jl";
       type = "gem";
-      sha256 = "1m93fbpwydzzwhc2zf2qkj6lrbcabpy7xhx7wb2mnbmgh0fs7ff9";
     };
-    dependencies = [
-      "json"
-      "multi_xml"
-    ];
+    version = "1.2.1";
   };
-  "httpclient" = {
-    version = "2.6.0.1";
+  omniauth-saml = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0c7pypskq9y6wbl7c8gnp48j256snph11br3csgwvy9whjfisx65";
       type = "gem";
-      sha256 = "0haz4s9xnzr73mkfpgabspj43bhfm9znmpmgdk74n6gih1xlrx1l";
     };
+    version = "1.4.2";
   };
-  "i18n" = {
-    version = "0.7.0";
+  omniauth-oauth2 = {
+    dependencies = ["oauth2" "omniauth"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0mskwlw5ibx9mz7ywqji6mm56ikf7mglbnfc02qhg6ry527jsxdm";
       type = "gem";
-      sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
     };
+    version = "1.3.1";
   };
-  "ice_cube" = {
-    version = "0.11.1";
+  omniauth-oauth = {
+    dependencies = ["oauth" "omniauth"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1n5vk4by7hkyc09d9blrw2argry5awpw4gbw1l4n2s9b3j4qz037";
       type = "gem";
-      sha256 = "12y23nczfrgslpfqam90076x603xhlpv3fyh8mv49gks4qn2wk20";
     };
+    version = "1.1.0";
   };
-  "ice_nine" = {
-    version = "0.11.1";
+  omniauth-multipassword = {
+    dependencies = ["omniauth"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qykp76hw80lkgb39hyzrv68hkbivc8cv0vbvrnycjh9fwfp1lv8";
       type = "gem";
-      sha256 = "0i674zq0hl6rd0wcd12ni38linfja4k0y3mk5barjb4a6f7rcmkd";
     };
+    version = "0.4.2";
   };
-  "inflecto" = {
-    version = "0.0.2";
+  omniauth-kerberos = {
+    dependencies = ["omniauth-multipassword" "timfel-krb5-auth"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05xsv76qjxcxzrvabaar2bchv7435y8l2j0wk4zgchh3yv85kiq7";
       type = "gem";
-      sha256 = "085l5axmvqw59mw5jg454a3m3gr67ckq9405a075isdsn7bm3sp4";
     };
+    version = "0.3.0";
   };
-  "ipaddress" = {
-    version = "0.8.0";
+  omniauth-google-oauth2 = {
+    dependencies = ["addressable" "jwt" "multi_json" "omniauth" "omniauth-oauth2"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1lm4fk6ig9vwzv7398qd861325g678sfr1iv2mm60xswl69964fi";
       type = "gem";
-      sha256 = "0cwy4pyd9nl2y2apazp3hvi12gccj5a3ify8mi8k3knvxi5wk2ir";
     };
+    version = "0.2.10";
   };
-  "jquery-atwho-rails" = {
+  omniauth-gitlab = {
+    dependencies = ["omniauth" "omniauth-oauth2"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "083yyc8612kq8ygd8y7s8lxg2d51jcsakbs4pa19aww67gcm72iz";
+      type = "gem";
+    };
     version = "1.0.1";
+  };
+  omniauth-github = {
+    dependencies = ["omniauth" "omniauth-oauth2"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mbx3c8m1llhdxrqdciq8jh428bxj1nvf4yhziv2xqmqpjcqz617";
       type = "gem";
-      sha256 = "0fdy4dxfvnzrjbfm45yrnwfczszvnd7psqhnkby0j3qjg8k9xhzw";
     };
+    version = "1.1.2";
   };
-  "jquery-rails" = {
-    version = "3.1.3";
+  omniauth-facebook = {
+    dependencies = ["omniauth-oauth2"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0plj56sna4b6c71k03jsng6gq3r5yxhj7h26ndahc9caasgk869c";
       type = "gem";
-      sha256 = "1n07rj1x7l61wygbjdpknv5nxhbg2iybfgkpdgca2kj6c1nb1d87";
     };
-    dependencies = [
-      "railties"
-      "thor"
-    ];
+    version = "3.0.0";
   };
-  "jquery-scrollto-rails" = {
-    version = "1.4.3";
+  omniauth-cas3 = {
+    dependencies = ["addressable" "nokogiri" "omniauth"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13swm2hi2z63nvb2bps6g41kki8kr9b5c7014rk8259bxlpflrk7";
       type = "gem";
-      sha256 = "12ic0zxw60ryglm1qjq5ralqd6k4jawmjj7kqnp1nkqds2nvinvp";
     };
-    dependencies = [
-      "railties"
-    ];
+    version = "1.1.3";
   };
-  "jquery-turbolinks" = {
-    version = "2.0.2";
+  omniauth-bitbucket = {
+    dependencies = ["multi_json" "omniauth" "omniauth-oauth"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1lals2z1yixffrc97zh7zn1jpz9l6vpb3alcp13im42dq9q0g845";
       type = "gem";
-      sha256 = "1plip56znrkq3na5bjys5q2zvlbyj8p8i29kaayzfpi2c4ixxaq3";
     };
-    dependencies = [
-      "railties"
-      "turbolinks"
-    ];
+    version = "0.0.2";
   };
-  "jquery-ui-rails" = {
-    version = "4.2.1";
+  omniauth-azure-oauth2 = {
+    dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qay454zvyas8xfnfkycqpjkafaq5pw4gaji176cdfw0blhviz0s";
       type = "gem";
-      sha256 = "1garrnqwh35acj2pp4sp6fpm2g881h23y644lzbic2qmcrq9wd2v";
     };
-    dependencies = [
-      "railties"
-    ];
+    version = "0.0.6";
   };
-  "json" = {
-    version = "1.8.3";
+  omniauth = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vsqxgzkcfi10b7k6vpv3shmlphbs8grc29hznwl9s0i16n8962p";
       type = "gem";
-      sha256 = "1nsby6ry8l9xg3yw4adlhk2pnc7i0h0rznvcss4vk3v74qg0k8lc";
     };
+    version = "1.3.1";
   };
-  "jwt" = {
-    version = "1.5.1";
+  octokit = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vmknh0vz1g734q32kgpxv0qwz9ifmnw2jfpd2w5rrk6xwq1k7a8";
       type = "gem";
-      sha256 = "13b5ccknrmxnb6dk7vlmnb05za1xxyqd8dzb6lpqq503wpfrmlyk";
     };
+    version = "3.8.0";
   };
-  "kaminari" = {
-    version = "0.15.1";
+  oauth2 = {
+    dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0zaa7qnvizv363apmxx9vxa8f6c6xy70z0jm0ydx38xvhxr8898r";
       type = "gem";
-      sha256 = "1m67ghp55hr16k1njhd00f225qys67n60qa3jz69kzqvrp6qg33d";
     };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-    ];
+    version = "1.0.0";
   };
-  "kgio" = {
-    version = "2.9.3";
+  oauth = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1k5j09p3al3clpjl6lax62qmhy43f3j3g7i6f9l4dbs6r5vpv95w";
       type = "gem";
-      sha256 = "07gl0drxwckj7kbq5nla2lf81lrrrvirvvdcrykjgivysfg6yp5v";
     };
+    version = "0.4.7";
   };
-  "launchy" = {
-    version = "2.4.3";
+  nprogress-rails = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ylq2208i95661ba0p1ng2i38z4978ddwiidvpb614amfdq5pqvn";
       type = "gem";
-      sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
     };
-    dependencies = [
-      "addressable"
-    ];
+    version = "0.1.6.7";
   };
-  "letter_opener" = {
-    version = "1.1.2";
+  nokogiri = {
+    dependencies = ["mini_portile2"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11sbmpy60ynak6s3794q32lc99hs448msjy8rkp84ay7mq7zqspv";
       type = "gem";
-      sha256 = "1kzbmc686hfh4jznyckq6g40kn14nhb71znsjjm0rc13nb3n0c5l";
     };
-    dependencies = [
-      "launchy"
-    ];
+    version = "1.6.7.2";
   };
-  "listen" = {
-    version = "2.10.1";
+  newrelic_rpm = {
+    version = "3.14.1.311";
     source = {
       type = "gem";
-      sha256 = "1ipainbx21ni7xakdbksxjim6nixvzfjkifb2d3v45a50dp3diqg";
+      remotes = ["https://rubygems.org"];
+      sha256 = "155aj845rxn8ikcs15gphr8svnsrki8wzps794ddbi90h0ypr319";
     };
-    dependencies = [
-      "celluloid"
-      "rb-fsevent"
-      "rb-inotify"
-    ];
   };
-  "lumberjack" = {
-    version = "1.0.9";
+  netrc = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y";
       type = "gem";
-      sha256 = "162frm2bwy58pj8ccsdqa4a6i0csrhb9h5l3inhkl1ivgfc8814l";
     };
+    version = "0.11.0";
   };
-  "macaddr" = {
-    version = "1.7.1";
+  net-ssh = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1dzqkgwi9xm6mbfk1rkk17rzmz8m5xakqi21w1b97ybng6kkw0hf";
       type = "gem";
-      sha256 = "1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b";
     };
-    dependencies = [
-      "systemu"
-    ];
+    version = "3.0.1";
   };
-  "mail" = {
-    version = "2.6.3";
+  net-ldap = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0z1j0zklbbx3vi91zcd2v0fnkfgkvq3plisa6hxaid8sqndyak46";
       type = "gem";
-      sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp";
     };
-    dependencies = [
-      "mime-types"
-    ];
+    version = "0.12.1";
   };
-  "mail_room" = {
-    version = "0.5.2";
+  nested_form = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0f053j4zfagxyym28msxj56hrpvmyv4lzxy2c5c270f7xbbnii5i";
       type = "gem";
-      sha256 = "1l8ncfwqiiv3nd7i0237xd5ymshgyfxfv4w2bj0lj67ys3l4qwh3";
     };
+    version = "0.3.2";
   };
-  "method_source" = {
-    version = "0.8.2";
+  mysql2 = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0n075x14n9kziv0qdxqlzhf3j1abi1w6smpakfpsg4jbr8hnn5ip";
       type = "gem";
-      sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2";
     };
+    version = "0.3.20";
   };
-  "mime-types" = {
-    version = "1.25.1";
+  multipart-post = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
       type = "gem";
-      sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8";
     };
+    version = "2.0.0";
   };
-  "mimemagic" = {
-    version = "0.3.0";
+  multi_xml = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0i8r7dsz4z79z3j023l8swan7qpbgxbwwz11g38y2vjqjk16v4q8";
       type = "gem";
-      sha256 = "101lq4bnjs7ywdcicpw3vbz9amg5gbb4va1626fybd2hawgdx8d9";
     };
+    version = "0.5.5";
   };
-  "mini_portile" = {
-    version = "0.6.2";
+  multi_json = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rf3l4j3i11lybqzgq2jhszq7fh7gpmafjzd14ymp9cjfxqg596r";
       type = "gem";
-      sha256 = "0h3xinmacscrnkczq44s6pnhrp4nqma7k056x5wv5xixvf2wsq2w";
     };
+    version = "1.11.2";
   };
-  "minitest" = {
-    version = "5.7.0";
+  mousetrap-rails = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00n13r5pwrk4vq018128vcfh021dw0fa2bk4pzsv0fslfm8ayp2m";
       type = "gem";
+    };
+    version = "1.4.6";
+  };
+  minitest = {
+    source = {
+      remotes = ["https://rubygems.org"];
       sha256 = "0rxqfakp629mp3vwda7zpgb57lcns5znkskikbfd0kriwv8i1vq8";
+      type = "gem";
     };
+    version = "5.7.0";
   };
-  "mousetrap-rails" = {
-    version = "1.4.6";
+  mini_portile2 = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "056drbn5m4khdxly1asmiik14nyllswr6sh3wallvsywwdiryz8l";
       type = "gem";
-      sha256 = "00n13r5pwrk4vq018128vcfh021dw0fa2bk4pzsv0fslfm8ayp2m";
     };
+    version = "2.0.0";
   };
-  "multi_json" = {
-    version = "1.11.2";
+  mimemagic = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "101lq4bnjs7ywdcicpw3vbz9amg5gbb4va1626fybd2hawgdx8d9";
       type = "gem";
-      sha256 = "1rf3l4j3i11lybqzgq2jhszq7fh7gpmafjzd14ymp9cjfxqg596r";
     };
+    version = "0.3.0";
   };
-  "multi_xml" = {
-    version = "0.5.5";
+  mime-types = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8";
       type = "gem";
-      sha256 = "0i8r7dsz4z79z3j023l8swan7qpbgxbwwz11g38y2vjqjk16v4q8";
     };
+    version = "1.25.1";
   };
-  "multipart-post" = {
-    version = "1.2.0";
+  method_source = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2";
       type = "gem";
-      sha256 = "12p7lnmc52di1r4h73h6xrpppplzyyhani9p7wm8l4kgf1hnmwnc";
     };
+    version = "0.8.2";
   };
-  "mysql2" = {
-    version = "0.3.20";
+  mail_room = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jpybhgw9yi50g422qvnwadn5jnj563vh70qaml5cxzdqxbd7fj1";
       type = "gem";
-      sha256 = "0n075x14n9kziv0qdxqlzhf3j1abi1w6smpakfpsg4jbr8hnn5ip";
     };
+    version = "0.6.1";
   };
-  "nenv" = {
-    version = "0.2.0";
+  mail = {
+    dependencies = ["mime-types"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp";
       type = "gem";
-      sha256 = "152wxwri0afwgnxdf93gi6wjl9rr5z7vwp8ln0gpa3rddbfc27s6";
     };
+    version = "2.6.3";
   };
-  "nested_form" = {
-    version = "0.3.2";
+  macaddr = {
+    dependencies = ["systemu"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b";
       type = "gem";
-      sha256 = "0f053j4zfagxyym28msxj56hrpvmyv4lzxy2c5c270f7xbbnii5i";
     };
+    version = "1.7.1";
   };
-  "net-ldap" = {
-    version = "0.11";
+  loofah = {
+    dependencies = ["nokogiri"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "109ps521p0sr3kgc460d58b4pr1z4mqggan2jbsf0aajy9s6xis8";
       type = "gem";
-      sha256 = "1xfq94lmc5mcc5giipxn9bmrsm9ny1xc1rp0xpm2pgqwr2q8fm7w";
     };
+    version = "2.0.3";
   };
-  "net-scp" = {
-    version = "1.2.1";
+  listen = {
+    dependencies = ["rb-fsevent" "rb-inotify"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "182wd2pkf690ll19lx6zbk01a3rqkk5lwsyin6kwydl7lqxj5z3g";
       type = "gem";
-      sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j";
     };
-    dependencies = [
-      "net-ssh"
-    ];
+    version = "3.0.5";
   };
-  "net-ssh" = {
-    version = "2.9.2";
+  letter_opener = {
+    dependencies = ["launchy"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kzbmc686hfh4jznyckq6g40kn14nhb71znsjjm0rc13nb3n0c5l";
       type = "gem";
-      sha256 = "1p0bj41zrmw5lhnxlm1pqb55zfz9y4p9fkrr9a79nrdmzrk1ph8r";
     };
+    version = "1.1.2";
   };
-  "netrc" = {
-    version = "0.10.3";
+  launchy = {
+    dependencies = ["addressable"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
       type = "gem";
-      sha256 = "1r6cmg1nvxspl24yrqn77vx7xjqigpypialblpcv5qj6xmc4b8lg";
     };
+    version = "2.4.3";
   };
-  "newrelic-grape" = {
-    version = "2.0.0";
+  kgio = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1y6wl3vpp82rdv5g340zjgkmy6fny61wib7xylyg0d09k5f26118";
       type = "gem";
-      sha256 = "1j8cdlc8lvbh2c2drdq0kfrjbw9bkgqx3qiiizzaxv6yj70vq58a";
     };
-    dependencies = [
-      "grape"
-      "newrelic_rpm"
-    ];
+    version = "2.10.0";
   };
-  "newrelic_rpm" = {
-    version = "3.9.4.245";
+  kaminari = {
+    dependencies = ["actionpack" "activesupport"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "14vx3kgssl4lv2kn6grr5v2whsynx5rbl1j9aqiq8nc3d7j74l67";
       type = "gem";
-      sha256 = "0r1x16wwmiqsf1gj2a1lgc0fq1v0x4yv40k5wgb00gs439vgzyin";
     };
+    version = "0.16.3";
   };
-  "nokogiri" = {
-    version = "1.6.6.2";
+  jwt = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0is8973si98rsry5igqdag2jb1knj6jhmfkr9r4mc5n0yvgr5n2q";
       type = "gem";
-      sha256 = "1j4qv32qjh67dcrc1yy1h8sqjnny8siyy4s44awla8d6jk361h30";
     };
-    dependencies = [
-      "mini_portile"
-    ];
+    version = "1.5.2";
   };
-  "notiffany" = {
-    version = "0.0.7";
+  json = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nsby6ry8l9xg3yw4adlhk2pnc7i0h0rznvcss4vk3v74qg0k8lc";
       type = "gem";
-      sha256 = "1v5x1w59qq85r6dpv3y9ga34dfd7hka1qxyiykaw7gm0i6kggbhi";
     };
-    dependencies = [
-      "nenv"
-      "shellany"
-    ];
+    version = "1.8.3";
   };
-  "nprogress-rails" = {
-    version = "0.1.2.3";
+  jquery-ui-rails = {
+    dependencies = ["railties"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gfygrv4bjpjd2c377lw7xzk1b77rxjyy3w6wl4bq1gkqvyrkx77";
       type = "gem";
-      sha256 = "16gqajynqzfvzcyc8b9bjn8xf6j7y80li00ajicxwvb6my2ag304";
     };
+    version = "5.0.5";
   };
-  "oauth" = {
-    version = "0.4.7";
+  jquery-turbolinks = {
+    dependencies = ["railties" "turbolinks"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1d23mnl3lgamk9ziw4yyv2ixck6d8s8xp4f9pmwimk0by0jq7xhc";
       type = "gem";
-      sha256 = "1k5j09p3al3clpjl6lax62qmhy43f3j3g7i6f9l4dbs6r5vpv95w";
     };
+    version = "2.1.0";
   };
-  "oauth2" = {
-    version = "1.0.0";
+  jquery-scrollto-rails = {
+    dependencies = ["railties"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12ic0zxw60ryglm1qjq5ralqd6k4jawmjj7kqnp1nkqds2nvinvp";
       type = "gem";
-      sha256 = "0zaa7qnvizv363apmxx9vxa8f6c6xy70z0jm0ydx38xvhxr8898r";
     };
-    dependencies = [
-      "faraday"
-      "jwt"
-      "multi_json"
-      "multi_xml"
-      "rack"
-    ];
+    version = "1.4.3";
   };
-  "octokit" = {
-    version = "3.7.1";
+  jquery-rails = {
+    dependencies = ["rails-dom-testing" "railties" "thor"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "028dv2n0r2r8qj1bqcbzmih0hwzh5km6cvscn2808v5gd44z48r1";
       type = "gem";
-      sha256 = "1sd6cammv5m96640vdb8yp3kfpzn52s8y7d77dgsfb25bc1jg4xl";
     };
-    dependencies = [
-      "sawyer"
-    ];
+    version = "4.0.5";
   };
-  "omniauth" = {
-    version = "1.2.2";
+  jquery-atwho-rails = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0g8239cddyi48i5n0hq2acg9k7n7jilhby9g36zd19mwqyia16w9";
+      type = "gem";
+    };
+    version = "1.3.2";
+  };
+  ipaddress = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sl0ldvhd6j0qbwhz18w24qy65mdj448b2vhgh2cwn7xrkksmv9l";
+      type = "gem";
+    };
+    version = "0.8.2";
+  };
+  influxdb = {
+    dependencies = ["cause" "json"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vhg5nd88nwvfa76lqcczld916nljswwq6clsixrzi3js8ym9y1w";
       type = "gem";
-      sha256 = "1f0hd9ngfb6f8wz8h2r5n8lr99jqjaghn0h2mljdc6fw031ap7lk";
     };
-    dependencies = [
-      "hashie"
-      "rack"
-    ];
+    version = "0.2.3";
   };
-  "omniauth-bitbucket" = {
+  inflecto = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "085l5axmvqw59mw5jg454a3m3gr67ckq9405a075isdsn7bm3sp4";
+      type = "gem";
+    };
     version = "0.0.2";
+  };
+  ice_nine = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0i674zq0hl6rd0wcd12ni38linfja4k0y3mk5barjb4a6f7rcmkd";
       type = "gem";
-      sha256 = "1lals2z1yixffrc97zh7zn1jpz9l6vpb3alcp13im42dq9q0g845";
     };
-    dependencies = [
-      "multi_json"
-      "omniauth"
-      "omniauth-oauth"
-    ];
+    version = "0.11.1";
   };
-  "omniauth-github" = {
-    version = "1.1.2";
+  i18n = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
       type = "gem";
-      sha256 = "1mbx3c8m1llhdxrqdciq8jh428bxj1nvf4yhziv2xqmqpjcqz617";
     };
-    dependencies = [
-      "omniauth"
-      "omniauth-oauth2"
-    ];
+    version = "0.7.0";
   };
-  "omniauth-gitlab" = {
-    version = "1.0.0";
+  httpclient = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0k6bqsaqq6c824vrbfb5pkz8bpk565zikd10w85rzj2dy809ik6c";
       type = "gem";
-      sha256 = "1amg3y0ivfakamfwiljgla1vff59b116nd0i6khmaj4jsa4s81hw";
     };
-    dependencies = [
-      "omniauth"
-      "omniauth-oauth2"
-    ];
+    version = "2.7.0.1";
   };
-  "omniauth-google-oauth2" = {
-    version = "0.2.6";
+  httparty = {
+    dependencies = ["json" "multi_xml"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0c9gvg6dqw2h3qyaxhrq1pzm6r69zfcmfh038wyhisqsd39g9hr2";
       type = "gem";
-      sha256 = "1nba1iy6w2wj79pvnp9r5bw7jhks0287lw748vkxl9xmwccldnhj";
     };
-    dependencies = [
-      "omniauth"
-      "omniauth-oauth2"
-    ];
+    version = "0.13.7";
   };
-  "omniauth-kerberos" = {
-    version = "0.2.0";
+  "http_parser.rb" = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fwf5d573j1sw52kz057dw0nx2wlivczmx6ybf6mk065n5g54kyn";
       type = "gem";
-      sha256 = "1s626nxzq8i6gy67pkh04h8hlmmx4vwpc36sbdsgm1xwyj3hrn1b";
     };
-    dependencies = [
-      "omniauth-multipassword"
-      "timfel-krb5-auth"
-    ];
+    version = "0.5.3";
   };
-  "omniauth-multipassword" = {
-    version = "0.4.2";
+  http-cookie = {
+    dependencies = ["domain_name"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw";
       type = "gem";
-      sha256 = "0qykp76hw80lkgb39hyzrv68hkbivc8cv0vbvrnycjh9fwfp1lv8";
     };
-    dependencies = [
-      "omniauth"
-    ];
+    version = "1.0.2";
   };
-  "omniauth-oauth" = {
-    version = "1.1.0";
+  html2haml = {
+    dependencies = ["erubis" "haml" "nokogiri" "ruby_parser"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "069zcy8lr010hn4qmbi8g5srdf69brk8nbgx4zcqcgbgsl4m8d4i";
       type = "gem";
-      sha256 = "1n5vk4by7hkyc09d9blrw2argry5awpw4gbw1l4n2s9b3j4qz037";
     };
-    dependencies = [
-      "oauth"
-      "omniauth"
-    ];
+    version = "2.0.0";
   };
-  "omniauth-oauth2" = {
-    version = "1.3.1";
+  html-pipeline = {
+    dependencies = ["activesupport" "nokogiri"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1yckdlrn4v5d7bgl8mbffax16640pgg9ny693kqi4j7g17vx2q9l";
       type = "gem";
-      sha256 = "0mskwlw5ibx9mz7ywqji6mm56ikf7mglbnfc02qhg6ry527jsxdm";
     };
-    dependencies = [
-      "oauth2"
-      "omniauth"
-    ];
+    version = "1.11.0";
   };
-  "omniauth-saml" = {
-    version = "1.4.1";
+  hipchat = {
+    dependencies = ["httparty" "mimemagic"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0hgy5jav479vbzzk53lazhpjj094dcsqw6w1d6zjn52p72bwq60k";
       type = "gem";
-      sha256 = "12jkjdrkc3k2k1y53vfxyicdq2j0djhln6apwzmc10h9jhq23nrq";
     };
-    dependencies = [
-      "omniauth"
-      "ruby-saml"
-    ];
+    version = "1.5.2";
   };
-  "omniauth-shibboleth" = {
-    version = "1.1.2";
+  hike = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm";
       type = "gem";
-      sha256 = "0wy24hwsipjx8iswdbrncgv15qxv7ibg07rv2n6byi037mrnhnhw";
     };
-    dependencies = [
-      "omniauth"
-    ];
+    version = "1.2.3";
   };
-  "omniauth-twitter" = {
-    version = "1.0.1";
+  highline = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nf5lgdn6ni2lpfdn4gk3gi47fmnca2bdirabbjbz1fk9w4p8lkr";
       type = "gem";
-      sha256 = "060gnfc9im786llgi7vlrfhar1b7jlk19bjjc5d50lwrah0hh4fd";
     };
-    dependencies = [
-      "multi_json"
-      "omniauth-oauth"
-    ];
+    version = "1.7.8";
   };
-  "omniauth_crowd" = {
-    version = "2.2.3";
+  hashie = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1iv5hd0zcryprx9lbcm615r3afc0d6rhc27clywmhhgpx68k8899";
       type = "gem";
-      sha256 = "12g5ck05h6kr9mnp870x8pkxsadg81ca70hg8n3k8xx007lfw2q7";
     };
-    dependencies = [
-      "activesupport"
-      "nokogiri"
-      "omniauth"
-    ];
+    version = "3.4.3";
   };
-  "opennebula" = {
-    version = "4.12.1";
+  haml-rails = {
+    dependencies = ["actionpack" "activesupport" "haml" "html2haml" "railties"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hbfznkxab663hxp1v6gpsa7sv6w1fnw9r8b3flixwylnwh3c5dz";
       type = "gem";
-      sha256 = "1y2k706mcxf69cviy415icnhdz7ll5nld9iksqdg4asp60gybq3k";
     };
-    dependencies = [
-      "json"
-      "nokogiri"
-      "rbvmomi"
-    ];
+    version = "0.9.0";
   };
-  "org-ruby" = {
-    version = "0.9.12";
+  haml = {
+    dependencies = ["tilt"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0mrzjgkygvfii66bbylj2j93na8i89998yi01fin3whwqbvx0m1p";
       type = "gem";
-      sha256 = "0x69s7aysfiwlcpd9hkvksfyld34d8kxr62adb59vjvh8hxfrjwk";
     };
-    dependencies = [
-      "rubypants"
-    ];
+    version = "4.0.7";
   };
-  "orm_adapter" = {
-    version = "0.5.0";
+  grape-entity = {
+    dependencies = ["activesupport" "multi_json"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0hxghs2p9ncvdwhp6dwr1a74g552c49dd0jzy0szp4pg2xjbgjk8";
       type = "gem";
-      sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda";
     };
+    version = "0.4.8";
   };
-  "paranoia" = {
-    version = "2.1.3";
+  grape = {
+    dependencies = ["activesupport" "builder" "hashie" "multi_json" "multi_xml" "rack" "rack-accept" "rack-mount" "virtus"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1dxfal5jspxq612jjkqbd7xgp5dswdyllbbfq6fj2m7s21pismmh";
       type = "gem";
-      sha256 = "1v6izkdf8npwcblzn9zl9ysagih75584d8hpjzhiv0ijz6cw3l92";
     };
-    dependencies = [
-      "activerecord"
-    ];
+    version = "0.13.0";
   };
-  "parser" = {
-    version = "2.2.2.6";
+  gon = {
+    dependencies = ["actionpack" "json" "multi_json" "request_store"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1f359cd9zsa4nrng35bij5skvjrj5ywn2dhmlg41b97vmza26bxr";
       type = "gem";
-      sha256 = "0rmh4yr5qh87wqgwzbs6vy8wyf248k09m2vfjf9br6jdb5zgj5hh";
     };
-    dependencies = [
-      "ast"
-    ];
+    version = "6.0.1";
   };
-  "pg" = {
-    version = "0.18.2";
+  gollum-lib = {
+    dependencies = ["github-markup" "gollum-grit_adapter" "nokogiri" "rouge" "sanitize" "stringex"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01s8pgzhc3cgcmsy6hh79wrcbn5vbadniq2a7d4qw87kpq7mzfdm";
       type = "gem";
-      sha256 = "1axxbf6ij1iqi3i1r3asvjc80b0py5bz0m2wy5kdi5xkrpr82kpf";
     };
+    version = "4.1.0";
   };
-  "poltergeist" = {
-    version = "1.6.0";
+  gollum-grit_adapter = {
+    dependencies = ["gitlab-grit"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02c5qfq0s0kx2ifnpbnbgz6258fl7rchzzzc7vpx72shi8gbpac7";
       type = "gem";
-      sha256 = "0mpy2yhn0bhm2s78h8wy22j6378vvsdkj5pcvhr2zfhdjf46g41d";
     };
-    dependencies = [
-      "capybara"
-      "cliver"
-      "multi_json"
-      "websocket-driver"
-    ];
+    version = "1.0.0";
   };
-  "posix-spawn" = {
-    version = "0.3.11";
+  globalid = {
+    dependencies = ["activesupport"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "145xrpsfx1qqjy33r6qa588wb16dvdhxzj2aysh755vhg6hgm291";
       type = "gem";
-      sha256 = "052lnxbkvlnwfjw4qd7vn2xrlaaqiav6f5x5bcjin97bsrfq6cmr";
     };
+    version = "0.3.6";
   };
-  "powerpack" = {
-    version = "0.0.9";
+  gitlab_omniauth-ldap = {
+    dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vbdyi57vvlrigyfhmqrnkw801x57fwa3gxvj1rj2bn9ig5186ri";
       type = "gem";
-      sha256 = "0gflp6d2dc4jz3kgg8v4pdzm3qr2bbdygr83dbsi69pxm2gy5536";
     };
+    version = "1.2.1";
   };
-  "pry" = {
-    version = "0.10.1";
+  gitlab_meta = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "14vahv7gblcypbvip845sg3lvawf3kij61mkxz5vyfcv23niqvp9";
       type = "gem";
-      sha256 = "1j0r5fm0wvdwzbh6d6apnp7c0n150hpm9zxpm5xvcgfqr36jaj8z";
     };
-    dependencies = [
-      "coderay"
-      "method_source"
-      "slop"
-    ];
+    version = "7.0";
   };
-  "pry-rails" = {
-    version = "0.3.4";
+  gitlab_git = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0311dl4vh6h7k8xarmpr61fndrhbmfskzjzkkj1rr8321gn8znfv";
       type = "gem";
-      sha256 = "0a2iinvabis2xmv0z7z7jmh7bbkkngxj2qixfdg5m6qj9x8k1kx6";
     };
-    dependencies = [
-      "pry"
-    ];
+    version = "8.2.0";
   };
-  "pyu-ruby-sasl" = {
-    version = "0.0.3.3";
+  gitlab_emoji = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1dy746icdmyc548mb5xkavvkn37pk7vv3gznx0p6hff325pan8dj";
       type = "gem";
-      sha256 = "1rcpjiz9lrvyb3rd8k8qni0v4ps08psympffyldmmnrqayyad0sn";
     };
+    version = "0.3.1";
   };
-  "quiet_assets" = {
-    version = "1.0.3";
+  gitlab-grit = {
+    dependencies = ["charlock_holmes" "diff-lcs" "mime-types" "posix-spawn"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nv8shx7w7fww8lf5a2rbvf7bq173rllm381m6x7g1i0qqc68q1b";
       type = "gem";
-      sha256 = "1q4azw4j1xsgd7qwcig110mfdn1fm0y34y87zw9j9v187xr401b1";
     };
-    dependencies = [
-      "railties"
-    ];
+    version = "2.7.3";
   };
-  "rack" = {
-    version = "1.5.5";
+  gitlab-flowdock-git-hook = {
+    dependencies = ["flowdock" "gitlab-grit" "multi_json"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1s3a10cdbh4xy732b92zcsm5zyc1lhi5v29d76j8mwbqmj11a2p8";
       type = "gem";
-      sha256 = "1ds3gh8m5gy0d2k4g12k67qid7magg1ia186872yq22ham7sgr2a";
     };
+    version = "1.0.1";
   };
-  "rack-accept" = {
-    version = "0.4.5";
+  github-markup = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01r901wcgn0gs0n9h684gs5n90y1vaj9lxnx4z5ig611jwa43ivq";
       type = "gem";
-      sha256 = "18jdipx17b4ki33cfqvliapd31sbfvs4mv727awynr6v95a7n936";
     };
-    dependencies = [
-      "rack"
-    ];
+    version = "1.3.3";
   };
-  "rack-attack" = {
-    version = "4.3.0";
+  github-linguist = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xxm2lbabkc1xmx2myv56a4fkw3wwg9n8w2bzwrl4s33kf6x62ag";
       type = "gem";
-      sha256 = "06v5xvp33aysf8hkl9lwl1yjkc82jdlvcm2361y7ckjgykf8ixfr";
     };
-    dependencies = [
-      "rack"
-    ];
+    version = "4.7.5";
   };
-  "rack-cors" = {
-    version = "0.2.9";
+  gherkin-ruby = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18ay7yiibf4sl9n94k7mbi4k5zj2igl4j71qcmkswv69znyx0sn1";
       type = "gem";
-      sha256 = "0z88pbbasr86z6h0965cny0gvrnj7zwv31s506xbpivk4vd6n9as";
     };
+    version = "0.3.2";
   };
-  "rack-mini-profiler" = {
-    version = "0.9.7";
+  get_process_mem = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "025f7v6bpbgsa2nr0hzv2riggj8qmzbwcyxfgjidpmwh5grh7j29";
       type = "gem";
-      sha256 = "03lz6x1s8rbrccfsxl2rq677zqkmkvzv7whbmwzdp71zzyvvm14j";
     };
-    dependencies = [
-      "rack"
-    ];
+    version = "0.2.0";
   };
-  "rack-mount" = {
-    version = "0.8.3";
+  gemojione = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0av60lajn64z1csmkzfaf5wvpd3x48lcshiknkqr8m0zx3sg7w3h";
       type = "gem";
-      sha256 = "09a1qfaxxsll1kbgz7z0q0nr48sfmfm7akzaviis5bjpa5r00ld2";
     };
-    dependencies = [
-      "rack"
-    ];
+    version = "2.2.1";
   };
-  "rack-oauth2" = {
-    version = "1.0.10";
+  gemnasium-gitlab-service = {
+    dependencies = ["rugged"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1qv7fkahmqkah3770ycrxd0x2ais4z41hb43a0r8q8wcdklns3m3";
       type = "gem";
-      sha256 = "1srg4hdnyn6bwx225snyq7flb0cn96ppdvicwls6qvp6i4n91k36";
     };
-    dependencies = [
-      "activesupport"
-      "attr_required"
-      "httpclient"
-      "multi_json"
-      "rack"
-    ];
+    version = "0.2.6";
   };
-  "rack-protection" = {
-    version = "1.5.3";
+  fuubar = {
+    dependencies = ["rspec" "ruby-progressbar"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xwqs24y8s73aayh39si17kccsmr0bjgmi6jrjyfp7gkjb6iyhpv";
       type = "gem";
-      sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
     };
-    dependencies = [
-      "rack"
-    ];
+    version = "2.0.0";
   };
-  "rack-test" = {
-    version = "0.6.3";
+  formatador = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0";
       type = "gem";
-      sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z";
     };
-    dependencies = [
-      "rack"
-    ];
+    version = "0.2.5";
   };
-  "rails" = {
-    version = "4.1.12";
+  foreman = {
+    dependencies = ["thor"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1caz8mi7gq1hs4l1flcyyw1iw1bdvdbhppsvy12akr01k3s17xaq";
       type = "gem";
-      sha256 = "0k2n6y92gmysk8y6j1hy6av53f07hhzkhw41qfqwr2hgqc6q8idv";
     };
-    dependencies = [
-      "actionmailer"
-      "actionpack"
-      "actionview"
-      "activemodel"
-      "activerecord"
-      "activesupport"
-      "railties"
-      "sprockets-rails"
-    ];
+    version = "0.78.0";
   };
-  "rails-observers" = {
+  font-awesome-rails = {
+    dependencies = ["railties"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09x1bg98sp2v1lsg9h2bal915q811xq84h9d74p1f3378ga63c1x";
+      type = "gem";
+    };
+    version = "4.5.0.0";
+  };
+  fog-xml = {
+    dependencies = ["fog-core" "nokogiri"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1576sbzza47z48p0k9h1wg3rhgcvcvdd1dfz3xx1cgahwr564fqa";
+      type = "gem";
+    };
     version = "0.1.2";
+  };
+  fog-xenserver = {
+    dependencies = ["fog-core" "fog-xml"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ngw8hh8ljk7wi0cp8n4b4jcy2acx0yqzjk7851m3mp0kji5dlgl";
       type = "gem";
-      sha256 = "1lsw19jzmvipvrfy2z04hi7r29dvkfc43h43vs67x6lsj9rxwwcy";
     };
-    dependencies = [
-      "activemodel"
-    ];
+    version = "0.2.2";
   };
-  "railties" = {
-    version = "4.1.12";
+  fog-voxel = {
+    dependencies = ["fog-core" "fog-xml"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10skdnj59yf4jpvq769njjrvh2l0wzaa7liva8n78qq003mvmfgx";
       type = "gem";
-      sha256 = "0v16grd6ip3ijiz1v36myiirqx9fx004lfvnsmh28b2ddjxcci4q";
     };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-      "rake"
-      "thor"
-    ];
+    version = "0.1.0";
   };
-  "rainbow" = {
-    version = "2.0.0";
+  fog-vmfusion = {
+    dependencies = ["fission" "fog-core"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0g0l0k9ylxk1h9pzqr6h2ba98fl47lpp3j19lqv4jxw0iw1rqxn4";
       type = "gem";
-      sha256 = "0dsnzfjiih2w8npsjab3yx1ssmmvmgjkbxny0i9yzrdy7whfw7b4";
     };
+    version = "0.1.0";
   };
-  "raindrops" = {
-    version = "0.15.0";
+  fog-terremark = {
+    dependencies = ["fog-core" "fog-xml"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01lfkh9jppj0iknlklmwyb7ym3bfhkq58m3absb6rf5a5mcwi3lf";
       type = "gem";
-      sha256 = "1hv0xhr762axywr937czi92fs0x3zk7k22vg6f4i7rr8d05sp560";
     };
+    version = "0.1.0";
   };
-  "rake" = {
-    version = "10.4.2";
+  fog-storm_on_demand = {
+    dependencies = ["fog-core" "fog-json"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fif1x8ci095b2yyilf65n7x6iyvn448azrsnmwsdkriy8vxxv3y";
       type = "gem";
-      sha256 = "1rn03rqlf1iv6n87a78hkda2yqparhhaivfjpizblmxvlw2hk5r8";
     };
+    version = "0.1.1";
   };
-  "raphael-rails" = {
-    version = "2.1.2";
+  fog-softlayer = {
+    dependencies = ["fog-core" "fog-json"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zax2wws0q8pm787jnlxd2xlj23f2acz0s6jl5nzczyxjgll571r";
       type = "gem";
-      sha256 = "0sjiaymvfn4al5dr1pza5i142byan0fxnj4rymziyql2bzvdm2bc";
     };
+    version = "1.0.3";
   };
-  "rb-fsevent" = {
-    version = "0.9.5";
+  fog-serverlove = {
+    dependencies = ["fog-core" "fog-json"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0hxgmwzygrw25rbsy05i6nzsyr0xl7xj5j2sjpkb9n9wli5sagci";
       type = "gem";
-      sha256 = "1p4rz4qqarl7xg2aldpra54h81yal93cbxdy02lmb9kf6f7y2fz4";
     };
+    version = "0.1.2";
   };
-  "rb-inotify" = {
-    version = "0.9.5";
+  fog-sakuracloud = {
+    dependencies = ["fog-core" "fog-json"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08krsn9sk5sx0aza812g31r169bd0zanb8pq5am3a64j6azarimd";
       type = "gem";
-      sha256 = "0kddx2ia0qylw3r52nhg83irkaclvrncgy2m1ywpbhlhsz1rymb9";
     };
-    dependencies = [
-      "ffi"
-    ];
+    version = "1.7.5";
   };
-  "rbvmomi" = {
-    version = "1.8.2";
+  fog-riakcs = {
+    dependencies = ["fog-core" "fog-json" "fog-xml"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nbxc4dky3agfwrmgm1aqmi59p6vnvfnfbhhg7xpg4c2cf41whxm";
       type = "gem";
-      sha256 = "0gjbfazl2q42m1m51nvv14q7y5lbya272flmvhpqvg5z10nbxanj";
     };
-    dependencies = [
-      "builder"
-      "nokogiri"
-      "trollop"
-    ];
+    version = "0.1.0";
   };
-  "rdoc" = {
-    version = "3.12.2";
+  fog-radosgw = {
+    dependencies = ["fog-core" "fog-json" "fog-xml"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nslgv8yp5qkiryj3zsm91gs7s6i626igj61kwxjjwk2yv6swyr6";
       type = "gem";
-      sha256 = "1v9k4sp5yzj2bshngckdvivj6bszciskk1nd2r3wri2ygs7vgqm8";
     };
-    dependencies = [
-      "json"
-    ];
+    version = "0.0.5";
   };
-  "redcarpet" = {
-    version = "3.3.2";
+  fog-profitbricks = {
+    dependencies = ["fog-core" "fog-xml" "nokogiri"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "154sqs2dcmvg21v4m3fj8f09z5i70sq8a485v6rdygsffs8xrycn";
       type = "gem";
-      sha256 = "1xf95nrc8jgv9hjzjnbf3ljwmp29rqxdamyj9crza2czl4k63rnm";
     };
+    version = "0.0.5";
   };
-  "redis" = {
-    version = "3.2.1";
+  fog-powerdns = {
+    dependencies = ["fog-core" "fog-json" "fog-xml"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08zavzwfkk344gz83phz4sy9nsjznsdjsmn1ifp6ja17bvydlhh7";
       type = "gem";
-      sha256 = "16jzlqp80qiqg5cdc9l144n6k3c5qj9if4pgij87sscn8ahi993k";
     };
+    version = "0.1.1";
   };
-  "redis-actionpack" = {
-    version = "4.0.0";
+  fog-local = {
+    dependencies = ["fog-core"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0i5hxwzmc2ag3z9nlligsaf679kp2pz39cd8n2s9cmxaamnlh2s3";
       type = "gem";
-      sha256 = "0mad0v3qanw3xi9zs03f4w8sn1qb3x501k3235ck8m5i8vgjk474";
     };
-    dependencies = [
-      "actionpack"
-      "redis-rack"
-      "redis-store"
-    ];
+    version = "0.2.1";
   };
-  "redis-activesupport" = {
-    version = "4.1.1";
+  fog-json = {
+    dependencies = ["fog-core" "multi_json"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0advkkdjajkym77r3c0bg2rlahl2akj0vl4p5r273k2qmi16n00r";
       type = "gem";
-      sha256 = "1xciffiqbhksy534sysdd8pgn2hlvyrs1qb4x1kbcx9f3f83y551";
     };
-    dependencies = [
-      "activesupport"
-      "redis-store"
-    ];
+    version = "1.0.2";
   };
-  "redis-namespace" = {
-    version = "1.5.2";
+  fog-google = {
+    dependencies = ["fog-core" "fog-json" "fog-xml"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0z4vmswpqwph04c0wqzrscns1d1wdm8kbxx457bv156mawzrhfj3";
       type = "gem";
-      sha256 = "0rp8gfkznfxqzxk9s976k71jnljkh0clkrhnp6vgx46s5yhj9g25";
     };
-    dependencies = [
-      "redis"
-    ];
+    version = "0.1.0";
   };
-  "redis-rack" = {
-    version = "1.5.0";
+  fog-ecloud = {
+    dependencies = ["fog-core" "fog-xml"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18rb4qjad9xwwqvvpj8r2h0hi9svy71pm4d3fc28cdcnfarmdi06";
       type = "gem";
-      sha256 = "1y1mxx8gn0krdrpwllv7fqsbvki1qjnb2dz8b4q9gwc326829gk8";
     };
-    dependencies = [
-      "rack"
-      "redis-store"
-    ];
+    version = "0.3.0";
   };
-  "redis-rails" = {
-    version = "4.0.0";
+  fog-dynect = {
+    dependencies = ["fog-core" "fog-json" "fog-xml"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18lqmdkm22254z86jh3aa9v9vqk8bgbd3d1m0w7az3ij47ak7kch";
       type = "gem";
-      sha256 = "0igww7hb58aq74mh50dli3zjg78b54y8nhd0h1h9vz4vgjd4q8m7";
     };
-    dependencies = [
-      "redis-actionpack"
-      "redis-activesupport"
-      "redis-store"
-    ];
+    version = "0.0.2";
   };
-  "redis-store" = {
-    version = "1.1.6";
+  fog-core = {
+    dependencies = ["builder" "excon" "formatador"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02z91r3f5a64hlalm6h39v0778yl2kk3qvva0zvplpp9hpwbwzhl";
       type = "gem";
-      sha256 = "1x8pfpd6c3xxb3l9nyggi9qpgxcp9k9rkdwwl80m95lhynwaxcds";
     };
-    dependencies = [
-      "redis"
-    ];
+    version = "1.35.0";
   };
-  "request_store" = {
-    version = "1.2.0";
+  fog-brightbox = {
+    dependencies = ["fog-core" "fog-json" "inflecto"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0p7rbx587hb1d1am90dcr3zdp6y50c2zddh97yfgl62vji0pbkkd";
       type = "gem";
-      sha256 = "1s7lk5klbg2qfh8hgqymjrlwgpmjmfx03x1hniq16shd1cjwch45";
     };
+    version = "0.10.1";
   };
-  "rerun" = {
-    version = "0.10.0";
+  fog-aws = {
+    dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pzfahq8h3alfflb5dr8lm02q27x81vm96qn5zyfdlx86yy7bq96";
       type = "gem";
-      sha256 = "0hsw0q0wriz4h55hkm9yd313hqixgsgnp4wrl8v4k4zwz41j76xk";
     };
-    dependencies = [
-      "listen"
-    ];
+    version = "0.8.1";
   };
-  "responders" = {
-    version = "1.1.2";
+  fog-atmos = {
+    dependencies = ["fog-core" "fog-xml"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1aaxgnw9zy96gsh4h73kszypc32sx497s6bslvhfqh32q9d1y8c9";
       type = "gem";
-      sha256 = "178279kf1kaah917r6zwzw5kk9swj28yxmg6aqffna7789kjhy3f";
     };
-    dependencies = [
-      "railties"
-    ];
+    version = "0.1.0";
   };
-  "rest-client" = {
-    version = "1.8.0";
+  fog-aliyun = {
+    dependencies = ["fog-core" "fog-json" "ipaddress" "xml-simple"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1i76g8sdskyfc0gcnd6n9i757s7dmwg3wf6spcr2xh8wzyxkm1pj";
       type = "gem";
-      sha256 = "1m8z0c4yf6w47iqz6j2p7x1ip4qnnzvhdph9d5fgx081cvjly3p7";
     };
-    dependencies = [
-      "http-cookie"
-      "mime-types"
-      "netrc"
-    ];
+    version = "0.1.0";
   };
-  "rinku" = {
-    version = "1.7.3";
+  fog = {
+    dependencies = ["fog-aliyun" "fog-atmos" "fog-aws" "fog-brightbox" "fog-core" "fog-dynect" "fog-ecloud" "fog-google" "fog-json" "fog-local" "fog-powerdns" "fog-profitbricks" "fog-radosgw" "fog-riakcs" "fog-sakuracloud" "fog-serverlove" "fog-softlayer" "fog-storm_on_demand" "fog-terremark" "fog-vmfusion" "fog-voxel" "fog-xenserver" "fog-xml" "ipaddress" "nokogiri"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ml31jdycqdm8w7w3l9pbyrgbnmrrnhmkppa2x4bwi9as1n1jmwq";
       type = "gem";
-      sha256 = "1jh6nys332brph55i6x6cil6swm086kxjw34wq131nl6mwryqp7b";
     };
+    version = "1.36.0";
   };
-  "rotp" = {
-    version = "2.1.1";
+  flowdock = {
+    dependencies = ["httparty" "multi_json"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04nrvg4gzgabf5mnnhccl8bwrkvn3y4pm7a1dqzqhpvfr4m5pafg";
       type = "gem";
-      sha256 = "1nzsc9hfxijnyzjbv728ln9dm80bc608chaihjdk63i2wi4m529g";
     };
+    version = "0.7.1";
   };
-  "rouge" = {
-    version = "1.10.1";
+  flog = {
+    dependencies = ["ruby_parser" "sexp_processor"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1asrcdj6gh5mxcimqak94jjyyi5cxnqn904lc8pmrljg1nv1bxpm";
       type = "gem";
-      sha256 = "0wp8as9ypdy18kdj9h70kny1rdfq71mr8cj2bpahr9vxjjvjasqz";
     };
+    version = "4.3.2";
   };
-  "rqrcode" = {
-    version = "0.7.0";
+  flay = {
+    dependencies = ["ruby_parser" "sexp_processor"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0zcp9nmnfqixdcqa2dzwwjy5np4n2n16bj25gw7bbzbjp9hqzhn6";
       type = "gem";
-      sha256 = "188n1mvc7klrlw30bai16sdg4yannmy7cz0sg0nvm6f1kjx5qflb";
     };
-    dependencies = [
-      "chunky_png"
-    ];
+    version = "2.6.1";
   };
-  "rqrcode-rails3" = {
-    version = "0.1.7";
+  fission = {
+    dependencies = ["CFPropertyList"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09pmp1j1rr8r3pcmbn2na2ls7s1j9ijbxj99xi3a8r6v5xhjdjzh";
       type = "gem";
-      sha256 = "1i28rwmj24ssk91chn0g7qsnvn003y3s5a7jsrg3w4l5ckr841bg";
     };
-    dependencies = [
-      "rqrcode"
-    ];
+    version = "0.5.0";
   };
-  "rspec" = {
-    version = "3.3.0";
+  ffi = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1m5mprppw0xcrv2mkim5zsk70v089ajzqiq5hpyb0xg96fcyzyxj";
       type = "gem";
-      sha256 = "1bn5zs71agc0zyns2r3c8myi5bxw3q7xnzp7f3v5b7hbil1qym4r";
     };
-    dependencies = [
-      "rspec-core"
-      "rspec-expectations"
-      "rspec-mocks"
-    ];
+    version = "1.9.10";
   };
-  "rspec-core" = {
-    version = "3.3.2";
+  ffaker = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19fnbbsw87asyb1hvkr870l2yldah2jcjb8074pgyrma5lynwmn0";
       type = "gem";
-      sha256 = "0xw5qi936j6nz9fixi2mwy03f406761cd72bzyvd61pr854d7hy1";
     };
-    dependencies = [
-      "rspec-support"
-    ];
+    version = "2.0.0";
   };
-  "rspec-expectations" = {
-    version = "3.3.1";
+  fastercsv = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1df3vfgw5wg0s405z0pj0rfcvnl9q6wak7ka8gn0xqg4cag1k66h";
       type = "gem";
-      sha256 = "1d0b5hpkxlr9f3xpsbhvl3irnk4smmycx2xnmc8qv3pqaa7mb7ah";
     };
-    dependencies = [
-      "diff-lcs"
-      "rspec-support"
-    ];
+    version = "1.5.5";
   };
-  "rspec-mocks" = {
-    version = "3.3.2";
+  faraday_middleware-multi_json = {
+    dependencies = ["faraday_middleware" "multi_json"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0651sxhzbq9xfq3hbpmrp0nbybxnm9ja3m97k386m4bqgamlvz1q";
       type = "gem";
-      sha256 = "1lfbzscmpyixlbapxmhy2s69596vs1z00lv590l51hgdw70z92vg";
     };
-    dependencies = [
-      "diff-lcs"
-      "rspec-support"
-    ];
+    version = "0.0.6";
   };
-  "rspec-rails" = {
-    version = "3.3.3";
+  faraday_middleware = {
+    dependencies = ["faraday"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nxia26xzy8i56qfyz1bg8dg9yb26swpgci8n5jry8mh4bnx5r5h";
       type = "gem";
-      sha256 = "0m66n9p3a7d3fmrzkbh8312prb6dhrgmp53g1amck308ranasv2a";
     };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-      "railties"
-      "rspec-core"
-      "rspec-expectations"
-      "rspec-mocks"
-      "rspec-support"
-    ];
-  };
-  "rspec-support" = {
-    version = "3.3.0";
+    version = "0.10.0";
+  };
+  faraday = {
+    dependencies = ["multipart-post"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kplqkpn2s2yl3lxdf6h7sfldqvkbkpxwwxhyk7mdhjplb5faqh6";
       type = "gem";
-      sha256 = "1cyagig8slxjas8mbg5f8bl240b8zgr8mnjsvrznag1fwpkh4h27";
     };
+    version = "0.9.2";
   };
-  "rubocop" = {
-    version = "0.28.0";
+  factory_girl_rails = {
+    dependencies = ["factory_girl" "railties"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jj0yl6mfildb4g79dwgc1q5pv2pa65k9b1ml43mi8mg62j8mrhz";
       type = "gem";
-      sha256 = "07n4gha1dp1n15np5v8p58980lsiys3wa9h39lrvnzxgq18m3c4d";
     };
-    dependencies = [
-      "astrolabe"
-      "parser"
-      "powerpack"
-      "rainbow"
-      "ruby-progressbar"
-    ];
+    version = "4.3.0";
   };
-  "ruby-fogbugz" = {
-    version = "0.2.1";
+  factory_girl = {
+    dependencies = ["activesupport"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13z20a4b7z1c8vbz0qz5ranssdprldwvwlgjmn38x311sfjmp9dz";
       type = "gem";
-      sha256 = "1jj0gpkycbrivkh2q3429vj6mbgx6axxisg69slj3c4mgvzfgchm";
     };
-    dependencies = [
-      "crack"
-    ];
+    version = "4.3.0";
   };
-  "ruby-progressbar" = {
-    version = "1.7.5";
+  expression_parser = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1938z3wmmdabqxlh5d5c56xfg1jc6z15p7zjyhvk7364zwydnmib";
       type = "gem";
-      sha256 = "0hynaavnqzld17qdx9r7hfw00y16ybldwq730zrqfszjwgi59ivi";
     };
+    version = "0.9.0";
   };
-  "ruby-saml" = {
-    version = "1.0.0";
+  execjs = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0grlxwiccbnflxs30r3h7g23xnps5knav1jyqkk3anvm8363ifjw";
       type = "gem";
-      sha256 = "0hqn49ca2ln5ybc77vpm1vs0szk3pyrz3hnbkbqrkp864mniisi4";
     };
-    dependencies = [
-      "nokogiri"
-      "uuid"
-    ];
+    version = "2.6.0";
   };
-  "ruby2ruby" = {
-    version = "2.1.4";
+  excon = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1shb4g3dhsfkywgjv6123yrvp2c8bvi8hqmq47iqa5lp72sn4b4w";
       type = "gem";
-      sha256 = "1h0bwjivcsazfd9j9phs640xxqwgvggj9kmafin88ahf7j77spim";
     };
-    dependencies = [
-      "ruby_parser"
-      "sexp_processor"
-    ];
+    version = "0.45.4";
   };
-  "ruby_parser" = {
-    version = "3.5.0";
+  eventmachine = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1frvpk3p73xc64qkn0ymll3flvn4xcycq5yx8a43zd3gyzc1ifjp";
+      type = "gem";
+    };
+    version = "1.0.8";
+  };
+  escape_utils = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0hb8nmrgmd9n5dhih86fp91sf26mmw14sdn5vswg5g20svrqxc7x";
       type = "gem";
-      sha256 = "1l1lzbn5ywfsg8m8cvxwb415p1816ikvjqnsh5as9h4g1vcknw3y";
     };
-    dependencies = [
-      "sexp_processor"
-    ];
+    version = "1.1.0";
   };
-  "rubyntlm" = {
-    version = "0.5.2";
+  erubis = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
       type = "gem";
-      sha256 = "04l8686hl0829x4acsnbz0licf8n6794p7shz8iyahin1jnqg3d7";
     };
+    version = "2.7.0";
   };
-  "rubypants" = {
-    version = "0.2.0";
+  equalizer = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4";
       type = "gem";
-      sha256 = "1vpdkrc4c8qhrxph41wqwswl28q5h5h994gy4c1mlrckqzm3hzph";
     };
+    version = "0.0.11";
   };
-  "rugged" = {
-    version = "0.22.2";
+  encryptor = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04wqqda081h7hmhwjjx1yqxprxjk8s5jgv837xqv1bpxiv7f4v1y";
       type = "gem";
-      sha256 = "179pnnvlsrwd96csmhwhy45y4f5p7qh3xcbg6v3hdv5m9qqcirpp";
     };
+    version = "1.3.0";
   };
-  "safe_yaml" = {
-    version = "1.0.4";
+  email_spec = {
+    dependencies = ["launchy" "mail"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00p1cc69ncrgg7m45va43pszip8anx5735w1lsb7p5ygkyw8nnpv";
       type = "gem";
-      sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
     };
+    version = "1.6.0";
   };
-  "sanitize" = {
-    version = "2.1.0";
+  email_reply_parser = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0k2p229mv7xn7q627zwmvhrcvba4b9m70pw2jfjm6iimg2vmf22r";
       type = "gem";
-      sha256 = "0xsv6xqrlz91rd8wifjknadbl3z5h6qphmxy0hjb189qbdghggn3";
     };
-    dependencies = [
-      "nokogiri"
-    ];
+    version = "0.5.8";
   };
-  "sass" = {
-    version = "3.2.19";
+  dropzonejs-rails = {
+    dependencies = ["rails"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vqqxzv6qdqy47m2q28adnmccfvc17p2bmkkaqjvrczrhvkkha64";
       type = "gem";
-      sha256 = "1b5z55pmban9ry7k572ghmpcz9h04nbrdhdfpcz8zaldv5v7vkfx";
     };
+    version = "0.7.2";
   };
-  "sass-rails" = {
-    version = "4.0.5";
+  doorkeeper = {
+    dependencies = ["railties"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0wim84wkvx758cfb8q92w3hhvnfbwr990x1mmfv1ss1ivjz8fmm0";
       type = "gem";
-      sha256 = "1nw78ijbxpaf0pdr6c0jx63nna1l9m8s1mmb4m3g2clx0i0xm4wb";
     };
-    dependencies = [
-      "railties"
-      "sass"
-      "sprockets"
-      "sprockets-rails"
-    ];
+    version = "2.2.2";
   };
-  "sawyer" = {
-    version = "0.6.0";
+  domain_name = {
+    dependencies = ["unf"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "16qvfrmcwlzz073aas55mpw2nhyhjcn96s524w0g1wlml242hjav";
       type = "gem";
-      sha256 = "0fk43bzwn816qj1ksiicm2i1kmzv5675cmnvk57kmfmi4rfsyjpy";
     };
-    dependencies = [
-      "addressable"
-      "faraday"
-    ];
+    version = "0.5.25";
   };
-  "sdoc" = {
-    version = "0.3.20";
+  docile = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
       type = "gem";
-      sha256 = "17l8qk0ld47z4h5avcnylvds8nc6dp25zc64w23z8li2hs341xf2";
     };
-    dependencies = [
-      "json"
-      "rdoc"
-    ];
+    version = "1.1.5";
   };
-  "seed-fu" = {
-    version = "2.3.5";
+  diffy = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0il0ri511g9rm88qbvncbzgwc6wk6265hmnf7grcczmrs1z49vl0";
       type = "gem";
-      sha256 = "11xja82yxir1kwccrzng29h7w911i9j0xj2y7y949yqnw91v12vw";
     };
-    dependencies = [
-      "activerecord"
-      "activesupport"
-    ];
+    version = "3.0.7";
   };
-  "select2-rails" = {
-    version = "3.5.9.3";
+  diff-lcs = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
       type = "gem";
-      sha256 = "0ni2k74n73y3gv56gs37gkjlh912szjf6k9j483wz41m3xvlz7fj";
     };
-    dependencies = [
-      "thor"
-    ];
+    version = "1.2.5";
   };
-  "settingslogic" = {
-    version = "2.0.9";
+  devise-two-factor = {
+    dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1v2wva971ds48af47rj4ywavlmz7qzbmf1jpf1l3xn3mscz52hln";
       type = "gem";
-      sha256 = "1ria5zcrk1nf0b9yia15mdpzw0dqr6wjpbj8dsdbbps81lfsj9ar";
     };
+    version = "2.0.1";
   };
-  "sexp_processor" = {
-    version = "4.6.0";
+  devise-async = {
+    dependencies = ["devise"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11llg7ggzpmg4lb9gh4sx55spvp98sal5r803gjzamps9crfq6mm";
       type = "gem";
-      sha256 = "0gxlcpg81wfjf5gpggf8h6l2dbq3ikgavbrr2yfw3m2vqy88yjg2";
     };
+    version = "0.9.0";
   };
-  "sham_rack" = {
-    version = "1.3.6";
+  devise = {
+    dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "thread_safe" "warden"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00h0xdl4a8pjpb0gbgy4w6q9j2mpczkmj23195zmjrg2b1gl8f2q";
       type = "gem";
-      sha256 = "0zs6hpgg87x5jrykjxgfp2i7m5aja53s5kamdhxam16wki1hid3i";
     };
-    dependencies = [
-      "rack"
-    ];
+    version = "3.5.4";
   };
-  "shellany" = {
-    version = "0.0.1";
+  descendants_tracker = {
+    dependencies = ["thread_safe"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79";
       type = "gem";
-      sha256 = "1ryyzrj1kxmnpdzhlv4ys3dnl2r5r3d2rs2jwzbnd1v96a8pl4hf";
     };
+    version = "0.0.4";
   };
-  "shoulda-matchers" = {
-    version = "2.8.0";
+  default_value_for = {
+    dependencies = ["activerecord"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1z4lrba4y1c3y0rxw8321qbwsb3nr6c2igrpksfvz93yhc9m6xm0";
       type = "gem";
-      sha256 = "0d3ryqcsk1n9y35bx5wxnqbgw4m8b3c79isazdjnnbg8crdp72d0";
     };
-    dependencies = [
-      "activesupport"
-    ];
+    version = "3.0.1";
   };
-  "sidekiq" = {
-    version = "3.3.0";
+  debugger-ruby_core_source = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1lp5dmm8a8dpwymv6r1y6yr24wxsj0gvgb2b8i7qq9rcv414snwd";
       type = "gem";
-      sha256 = "0xwy2n4jaja82gw11q1qsqc2jp7hp2asxhfr0gkfb58wj7k5y32l";
     };
-    dependencies = [
-      "celluloid"
-      "connection_pool"
-      "json"
-      "redis"
-      "redis-namespace"
-    ];
+    version = "1.3.8";
   };
-  "sidetiq" = {
-    version = "0.6.3";
+  debug_inspector = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "109761g00dbrw5q0dfnbqg8blfm699z4jj70l4zrgf9mzn7ii50m";
       type = "gem";
-      sha256 = "1sylv1nyrn7w3782fh0f5svjqricr53vacf4kkvx3l2azzymc2am";
     };
-    dependencies = [
-      "celluloid"
-      "ice_cube"
-      "sidekiq"
-    ];
+    version = "0.0.2";
   };
-  "simple_oauth" = {
-    version = "0.1.9";
+  database_cleaner = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0n5r7kvsmknk876v3scdphfnvllr9157fa5q7j5fczg8j5qm6kf0";
       type = "gem";
-      sha256 = "0bb06p88xsdw4fxll1ikv5i5k58sl6y323ss0wp1hqjm3xw1jgvj";
     };
+    version = "1.4.1";
   };
-  "simplecov" = {
-    version = "0.10.0";
+  daemons = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0b839hryy9sg7x3knsa1d6vfiyvn0mlsnhsb6an8zsalyrz1zgqg";
       type = "gem";
-      sha256 = "1q2iq2vgrdvvla5y907gkmqx6ry2qvnvc7a90hlcbwgp1w0sv6z4";
     };
-    dependencies = [
-      "docile"
-      "json"
-      "simplecov-html"
-    ];
+    version = "1.2.3";
   };
-  "simplecov-html" = {
-    version = "0.10.0";
+  d3_rails = {
+    dependencies = ["railties"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12vxiiflnnkcxak2wmbajyf5wzmcv9wkl4drsp0am72azl8a6g9x";
       type = "gem";
-      sha256 = "1qni8g0xxglkx25w54qcfbi4wjkpvmb28cb7rj5zk3iqynjcdrqf";
     };
+    version = "3.5.11";
   };
-  "sinatra" = {
-    version = "1.4.6";
+  creole = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00rcscz16idp6dx0dk5yi5i0fz593i3r6anbn5bg2q07v3i025wm";
       type = "gem";
-      sha256 = "1hhmwqc81ram7lfwwziv0z70jh92sj1m7h7s9fr0cn2xq8mmn8l7";
     };
-    dependencies = [
-      "rack"
-      "rack-protection"
-      "tilt"
-    ];
+    version = "0.5.0";
   };
-  "six" = {
-    version = "0.2.0";
+  crack = {
+    dependencies = ["safe_yaml"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k";
       type = "gem";
-      sha256 = "1bhapiyjh5r5qjpclfw8i65plvy6k2q4azr5xir63xqglr53viw3";
     };
+    version = "0.4.3";
   };
-  "slack-notifier" = {
-    version = "1.0.0";
+  coveralls = {
+    dependencies = ["json" "rest-client" "simplecov" "term-ansicolor" "thor" "tins"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03vnvcw1fdmkp3405blcxpsjf89jxd2061474a32fchsmv2das9y";
       type = "gem";
-      sha256 = "0v4kd0l83shmk17qb35lighxjq9j7g3slnkrsyiy36kaqcfrjm97";
     };
+    version = "0.8.9";
   };
-  "slim" = {
-    version = "2.0.3";
+  connection_pool = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1b2bb3k39ni5mzcnqlv9y4yjkbin20s7dkwzp0jw2jf1rmzcgrmy";
       type = "gem";
-      sha256 = "1z279vis4z2xsjzf568pxcl2gd1az760ij13d6qzx400mgn7nqxs";
     };
-    dependencies = [
-      "temple"
-      "tilt"
-    ];
+    version = "2.2.0";
   };
-  "slop" = {
-    version = "3.6.0";
+  concurrent-ruby = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qqdgcfkzv90nznrpsvg3cgg5xiqz4c8hnv7va5gm4fp4lf4k85v";
       type = "gem";
-      sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n";
     };
+    version = "1.0.0";
   };
-  "spinach" = {
-    version = "0.8.10";
+  colorize = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "16bsjcqb6pg3k94dh1l5g3hhx5g2g4g8rlr76dnc78yyzjjrbayn";
       type = "gem";
-      sha256 = "0phfjs4iw2iqxdaljzwk6qxmi2x86pl3hirmpgw2pgfx76wfx688";
     };
-    dependencies = [
-      "colorize"
-      "gherkin-ruby"
-      "json"
-    ];
+    version = "0.7.7";
   };
-  "spinach-rails" = {
-    version = "0.2.1";
+  coffee-script-source = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1k4fg39rrkl3bpgchfj94fbl9s4ysaz16w8dkqncf2vyf79l3qz0";
       type = "gem";
-      sha256 = "1nfacfylkncfgi59g2wga6m4nzdcjqb8s50cax4nbx362ap4bl70";
     };
-    dependencies = [
-      "capybara"
-      "railties"
-      "spinach"
-    ];
+    version = "1.10.0";
   };
-  "spring" = {
-    version = "1.3.6";
+  coffee-script = {
+    dependencies = ["coffee-script-source" "execjs"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2";
       type = "gem";
-      sha256 = "0xvz2x6nvza5i53p7mddnf11j2wshqmbaphi6ngd6nar8v35y0k1";
     };
+    version = "2.4.1";
   };
-  "spring-commands-rspec" = {
-    version = "1.0.4";
+  coffee-rails = {
+    dependencies = ["coffee-script" "railties"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0p3zhs44gsy1p90nmghihzfyl7bsk8kv6j3q7rj3bn74wg8w7nqs";
       type = "gem";
-      sha256 = "0b0svpq3md1pjz5drpa5pxwg8nk48wrshq8lckim4x3nli7ya0k2";
     };
-    dependencies = [
-      "spring"
-    ];
+    version = "4.1.0";
   };
-  "spring-commands-spinach" = {
+  coercible = {
+    dependencies = ["descendants_tracker"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1p5azydlsz0nkxmcq0i1gzmcfq02lgxc4as7wmf47j1c6ljav0ah";
+      type = "gem";
+    };
     version = "1.0.0";
+  };
+  coderay = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s";
       type = "gem";
-      sha256 = "138jardqyj96wz68njdgy55qjbpl2d0g8bxbkz97ndaz3c2bykv9";
     };
-    dependencies = [
-      "spring"
-    ];
+    version = "1.1.0";
   };
-  "spring-commands-teaspoon" = {
-    version = "0.0.2";
+  cliver = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "096f4rj7virwvqxhkavy0v55rax10r4jqf8cymbvn4n631948xc7";
       type = "gem";
-      sha256 = "1g7n4m2s9d0frh7y1xibzpphqajfnx4fvgfc66nh545dd91w2nqz";
     };
-    dependencies = [
-      "spring"
-    ];
+    version = "0.3.2";
   };
-  "sprockets" = {
-    version = "2.12.4";
+  chunky_png = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vf0axgrm95bs3y0x5gdb76xawfh210yxplj7jbwr6z7n88i1axn";
       type = "gem";
-      sha256 = "15818683yz27w4hgywccf27n91azy9a4nmb5qkklzb08k8jw9gp3";
     };
-    dependencies = [
-      "hike"
-      "multi_json"
-      "rack"
-      "tilt"
-    ];
+    version = "1.3.5";
   };
-  "sprockets-rails" = {
-    version = "2.3.2";
+  charlock_holmes = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jsl6k27wjmssxbwv9wpf7hgp9r0nvizcf6qpjnr7qs2nia53lf7";
       type = "gem";
-      sha256 = "1pk2a69cxirg2dkkpl5cr3fvrj1qgifw1fmpz1ggkcziwxajyg6d";
     };
-    dependencies = [
-      "actionpack"
-      "activesupport"
-      "sprockets"
-    ];
+    version = "0.7.3";
   };
-  "stamp" = {
-    version = "0.5.0";
+  cause = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0digirxqlwdg79mkbn70yc7i9i1qnclm2wjbrc47kqv6236bpj00";
       type = "gem";
-      sha256 = "1w54kxm4sd4za9rhrkl5lqjbsalhziq95sr3nnwr1lqc00nn5mhs";
     };
+    version = "0.1";
   };
-  "state_machine" = {
-    version = "1.2.0";
+  carrierwave = {
+    dependencies = ["activemodel" "activesupport" "json"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1b1av1ancby6brhmypl5k8xwrasd8bd3kqp9ri8kbq7z8nj6k445";
       type = "gem";
-      sha256 = "1vf25h443b1s98d2lhd1w3rgam86pjsjhz632f3yrfkn374xvz40";
     };
+    version = "0.9.0";
   };
-  "stringex" = {
-    version = "2.5.2";
+  capybara-screenshot = {
+    dependencies = ["capybara" "launchy"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17v1wihr3aqrxhrwswkdpdklj1xsfcaksblh1y8hixvm9bqfyz3y";
       type = "gem";
-      sha256 = "150adm7rfh6r9b5ra6vk75mswf9m3wwyslcf8f235a08m29fxa17";
     };
+    version = "1.0.11";
   };
-  "systemu" = {
-    version = "2.6.5";
+  capybara = {
+    dependencies = ["mime-types" "nokogiri" "rack" "rack-test" "xpath"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "114k4xi4nfbp3jfbxgwa3fksbwsyibx74gbdqpcgg3dxpmzkaa4f";
       type = "gem";
-      sha256 = "0gmkbakhfci5wnmbfx5i54f25j9zsvbw858yg3jjhfs5n4ad1xq1";
     };
+    version = "2.4.4";
   };
-  "task_list" = {
-    version = "1.0.2";
+  cal-heatmap-rails = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lrmcyj3iixkprqi9fb9vcn97wpp779sl5hxxgx57r3rb7l4d20w";
       type = "gem";
-      sha256 = "1iv1fizb04463c4mp4gxd8v0414fhvmiwvwvjby5b9qq79d8zwab";
     };
-    dependencies = [
-      "html-pipeline"
-    ];
+    version = "3.5.1";
   };
-  "teaspoon" = {
-    version = "1.0.2";
+  byebug = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1yx89b7vh5mbvxyi8n7zl25ia1bqdj71995m4daj6d41rnkmrpnc";
       type = "gem";
-      sha256 = "0cprz18vgf0jgcggcxf4pwx8jcwbiyj1p0dnck5aavlvaxaic58s";
     };
-    dependencies = [
-      "railties"
-    ];
+    version = "8.2.1";
   };
-  "teaspoon-jasmine" = {
-    version = "2.2.0";
+  bundler-audit = {
+    dependencies = ["thor"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0msv3k2277y7al5lbnw7q9lmb5fnrscpkmsb36wpn189pdq0akfv";
       type = "gem";
-      sha256 = "00wygrv1jm4aj15p1ab9d5fdrj6y83kv26xgp52mx4lp78h2ms9q";
     };
-    dependencies = [
-      "teaspoon"
-    ];
+    version = "0.4.0";
   };
-  "temple" = {
-    version = "0.6.10";
+  bullet = {
+    dependencies = ["activesupport" "uniform_notifier"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1h3iaflcz5a1xr32bdb8sk4nx06yhh5d8y7w294w49xigfv4hzj3";
       type = "gem";
-      sha256 = "1lzz4bisg97725m1q62jhmcxklfhky7g326d0b7p2q0kjx262q81";
     };
+    version = "4.14.10";
   };
-  "term-ansicolor" = {
-    version = "1.3.2";
+  builder = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2";
       type = "gem";
-      sha256 = "0ydbbyjmk5p7fsi55ffnkq79jnfqx65c3nj8d9rpgl6sw85ahyys";
     };
-    dependencies = [
-      "tins"
-    ];
+    version = "3.2.2";
   };
-  "terminal-table" = {
-    version = "1.5.2";
+  browser = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01bkb64w2ld2q5r3chc4f6spbjrmginyg8wlzg130zmx2z4jia2h";
       type = "gem";
-      sha256 = "1s6qyj9ir1agbbi32li9c0c34dcl0klyxqif6mxy0dbvq7kqfp8f";
     };
+    version = "1.0.1";
   };
-  "test_after_commit" = {
-    version = "0.2.7";
+  brakeman = {
+    dependencies = ["erubis" "fastercsv" "haml" "highline" "multi_json" "ruby2ruby" "ruby_parser" "safe_yaml" "sass" "slim" "terminal-table"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15v13yizpvp1rm86raqggmsmm51v6p8fqw3pfgi6xpvx1ba06cfm";
       type = "gem";
-      sha256 = "179dgdpsmn9lcxxkyrxxvmyj4x3xi9sdq80l3zfqcgprnbxavbp7";
     };
-    dependencies = [
-      "activerecord"
-    ];
+    version = "3.1.4";
   };
-  "thin" = {
-    version = "1.6.3";
+  bootstrap-sass = {
+    dependencies = ["autoprefixer-rails" "sass"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12hhw42hk9clwfj6yz5v0c5p35wrn5yjnji7bnzsfs99vi2q00ld";
       type = "gem";
-      sha256 = "1m56aygh5rh8ncp3s2gnn8ghn5ibkk0bg6s3clmh1vzaasw2lj4i";
     };
-    dependencies = [
-      "daemons"
-      "eventmachine"
-      "rack"
-    ];
+    version = "3.3.6";
   };
-  "thor" = {
-    version = "0.19.1";
+  binding_of_caller = {
+    dependencies = ["debug_inspector"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15jg6dkaq2nzcd602d7ppqbdxw3aji961942w93crs6qw4n6h9yk";
       type = "gem";
-      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
     };
+    version = "0.7.2";
   };
-  "thread_safe" = {
-    version = "0.3.5";
+  better_errors = {
+    dependencies = ["coderay" "erubis"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0v0q8bdkqqlcsfqbk4wvc3qnz8an44mgz720v5f11a4nr413mjgf";
       type = "gem";
-      sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr";
     };
+    version = "1.0.1";
   };
-  "tilt" = {
-    version = "1.4.1";
+  benchmark-ips = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bh681m54qdsdyvpvflj1wpnj3ybspbpjkr4cnlrl4nk4yikli0j";
       type = "gem";
-      sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir";
     };
+    version = "2.3.0";
   };
-  "timers" = {
-    version = "4.0.4";
+  bcrypt = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15cf7zzlj9b0xcx12jf8fmnpc8g1b0yhxal1yr5p7ny3mrz5pll6";
       type = "gem";
-      sha256 = "1jx4wb0x182gmbcs90vz0wzfyp8afi1mpl9w5ippfncyk4kffvrz";
     };
-    dependencies = [
-      "hitimes"
-    ];
+    version = "3.1.10";
   };
-  "timfel-krb5-auth" = {
-    version = "0.8.3";
+  babosa = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05rgxg4pz4bc4xk34w5grv0yp1j94wf571w84lf3xgqcbs42ip2f";
       type = "gem";
-      sha256 = "105vajc0jkqgcx1wbp0ad262sdry4l1irk7jpaawv8vzfjfqqf5b";
     };
+    version = "1.0.2";
   };
-  "tinder" = {
-    version = "1.9.4";
+  axiom-types = {
+    dependencies = ["descendants_tracker" "ice_nine" "thread_safe"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10q3k04pll041mkgy0m5fn2b1lazm6ly1drdbcczl5p57lzi3zy1";
       type = "gem";
-      sha256 = "0gl5kln3dgybgarksk2ly4y0wy2lljsh59idfllwzynap8hx9jar";
     };
-    dependencies = [
-      "eventmachine"
-      "faraday"
-      "faraday_middleware"
-      "hashie"
-      "json"
-      "mime-types"
-      "multi_json"
-      "twitter-stream"
-    ];
+    version = "0.1.1";
   };
-  "tins" = {
-    version = "1.6.0";
+  awesome_print = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1k85hckprq0s9pakgadf42k1d5s07q23m3y6cs977i6xmwdivyzr";
       type = "gem";
-      sha256 = "02qarvy17nbwvslfgqam8y6y7479cwmb1a6di9z18hzka4cf90hz";
     };
+    version = "1.2.0";
   };
-  "trollop" = {
-    version = "2.1.2";
+  autoprefixer-rails = {
+    dependencies = ["execjs" "json"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0m1w42ncz0p48r5hbyglayxkzrnplw18r99dc1ia2cb3nizkwllx";
       type = "gem";
-      sha256 = "0415y63df86sqj43c0l82and65ia5h64if7n0znkbrmi6y0jwhl8";
     };
+    version = "6.2.3";
   };
-  "turbolinks" = {
-    version = "2.5.3";
+  attr_required = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0pawa2i7gw9ppj6fq6y288da1ncjpzsmc6kx7z63mjjvypa5q3dc";
       type = "gem";
-      sha256 = "1ddrx25vvvqxlz4h59lrmjhc2bfwxf4bpicvyhgbpjd48ckj81jn";
     };
-    dependencies = [
-      "coffee-rails"
-    ];
+    version = "1.0.0";
   };
-  "twitter-stream" = {
-    version = "0.1.16";
+  attr_encrypted = {
+    dependencies = ["encryptor"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hm2844qm37kflqq5v0x2irwasbhcblhp40qk10m3wlkj4m9wp8p";
       type = "gem";
-      sha256 = "0is81g3xvnjk64sqiaqlh2ziwfryzwvk1yvaniryg0zhppgsyriq";
     };
-    dependencies = [
-      "eventmachine"
-      "http_parser.rb"
-      "simple_oauth"
-    ];
+    version = "1.3.4";
   };
-  "tzinfo" = {
-    version = "1.2.2";
+  astrolabe = {
+    dependencies = ["parser"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ybbmjxaf529vvhrj4y8d4jpf87f3hgczydzywyg1d04gggjx7l7";
       type = "gem";
-      sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
     };
-    dependencies = [
-      "thread_safe"
-    ];
+    version = "1.3.1";
   };
-  "uglifier" = {
-    version = "2.3.3";
+  ast = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "102bywfxrv0w3n4s6lg25d7xxshd344sc7ijslqmganj5bany1pk";
       type = "gem";
-      sha256 = "0v45v2hccmadxpqrlk8gj9sgyak4d6838014wizdvzkh8sy23nvr";
     };
-    dependencies = [
-      "execjs"
-      "json"
-    ];
+    version = "2.1.0";
   };
-  "underscore-rails" = {
-    version = "1.4.4";
+  asciidoctor = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0q9yhan2mkk1lh15zcfd9g2fn6faix9yrf5skg23dp1y77jv7vm0";
       type = "gem";
-      sha256 = "1xg3dfym38gj5zsjxpf1v5cz4j6gysirv9bgc5ls37krixkajag2";
     };
+    version = "1.5.3";
   };
-  "unf" = {
-    version = "0.1.4";
+  asana = {
+    dependencies = ["faraday" "faraday_middleware" "faraday_middleware-multi_json" "oauth2"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1560p13g57pl4xqkmhwn1vpqhm7mw9fwmmswk38k3i2r7g0b5y9z";
       type = "gem";
-      sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
     };
-    dependencies = [
-      "unf_ext"
-    ];
+    version = "0.4.0";
   };
-  "unf_ext" = {
-    version = "0.0.7.1";
+  arel = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk";
       type = "gem";
-      sha256 = "0ly2ms6c3irmbr1575ldyh52bz2v0lzzr2gagf0p526k12ld2n5b";
     };
+    version = "6.0.3";
   };
-  "unicorn" = {
-    version = "4.8.3";
+  annotate = {
+    dependencies = ["activerecord" "rake"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1wdw9phsv2dndgid3pd8h0hl4zycwy11jc9iz6prwza0xax0i7hg";
       type = "gem";
-      sha256 = "1kpg2vikx2hxdyrl45bqcr89a0w59hfw7yn7xh87bmlczi34xds4";
     };
-    dependencies = [
-      "kgio"
-      "rack"
-      "raindrops"
-    ];
+    version = "2.6.10";
   };
-  "unicorn-worker-killer" = {
-    version = "0.4.3";
+  allocations = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0iynf7gkbnbr5mgl2wgbgvxmjdiawh7ywwbnyjm94bj3pkybzgkc";
+      type = "gem";
+    };
+    version = "1.0.4";
+  };
+  akismet = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0hqpn25iyypkwkrqaibjm5nss5jmlkrddhia7frmz94prvyjr02w";
       type = "gem";
-      sha256 = "0hhss1bwammh7nhplcj90455h79yq10c30npz4lpcsgw7vcpls00";
     };
-    dependencies = [
-      "get_process_mem"
-      "unicorn"
-    ];
+    version = "2.0.0";
   };
-  "uuid" = {
+  after_commit_queue = {
+    dependencies = ["activerecord"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jrhvj4335dsrj0xndbf7a7m2inbwbx1knc0bwgvmkk1w47l43s0";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
+  addressable = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1533axm85gpz267km9gnfarf9c78g2scrysd6b8yw33vmhkz2km6";
+      type = "gem";
+    };
     version = "2.3.8";
+  };
+  acts-as-taggable-on = {
+    dependencies = ["activerecord"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bz0z8dlp3fjzah9y9b6rr9mkidsav9l4hdm51fnq1gd05yv3pr7";
       type = "gem";
-      sha256 = "0gr2mxg27l380wpiy66mgv9wq02myj6m4gmp6c4g1vsbzkh0213v";
     };
-    dependencies = [
-      "macaddr"
-    ];
+    version = "3.5.0";
   };
-  "version_sorter" = {
-    version = "2.0.0";
+  activesupport = {
+    dependencies = ["i18n" "json" "minitest" "thread_safe" "tzinfo"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "16zgsvzwwf4hx3ywi2lz0dcm6d1ljsy6zr5k2q41amd7g62d886d";
       type = "gem";
-      sha256 = "1lad9c43w2xfzmva57ia6glpmhyivyk1m79jli42canshvan5v6y";
     };
+    version = "4.2.5.1";
   };
-  "virtus" = {
-    version = "1.0.5";
+  activerecord-session_store = {
+    dependencies = ["actionpack" "activerecord" "railties"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rp5q0q5i5syfgw7qpiq3a42x13p7myyv1c5hmnczpdlh57axs3p";
       type = "gem";
-      sha256 = "06iphwi3c4f7y9i2rvhvaizfswqbaflilziz4dxqngrdysgkn1fk";
     };
-    dependencies = [
-      "axiom-types"
-      "coercible"
-      "descendants_tracker"
-      "equalizer"
-    ];
+    version = "0.1.2";
   };
-  "warden" = {
-    version = "1.2.3";
+  activerecord-nulldb-adapter = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ym3paxp5lqr2kr4hkqj6xxqvgl57fv8jqhvgjfxb9lk7k5jlfmp";
       type = "gem";
-      sha256 = "0ykzsgwml0pdqn6vdjjaix12gpcgn8b126z9fx7yq3r3bmdrwxlp";
     };
-    dependencies = [
-      "rack"
-    ];
+    version = "0.3.2";
   };
-  "webmock" = {
-    version = "1.21.0";
+  activerecord-deprecated_finders = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03xplckz7v3nm6inqkwdd44h6gpbpql0v02jc1rz46a38rd6cj6m";
       type = "gem";
-      sha256 = "1p7hqdxk5359xwp59pcx841fhbnqx01ra98rnwhdyz61nrc6piv3";
     };
-    dependencies = [
-      "addressable"
-      "crack"
-    ];
+    version = "1.0.4";
   };
-  "websocket-driver" = {
-    version = "0.6.2";
+  activerecord = {
+    dependencies = ["activemodel" "activesupport" "arel"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1qj5ii36yn9kb0ljnl05xgpgvs7j9l20yg2phsssy0j31g1ymmc5";
       type = "gem";
-      sha256 = "0y4kc2q2g69i4xdcn85bn7v7g6ia3znr687aivakmlzcanyiz7in";
     };
-    dependencies = [
-      "websocket-extensions"
-    ];
+    version = "4.2.5.1";
   };
-  "websocket-extensions" = {
-    version = "0.1.2";
+  activemodel = {
+    dependencies = ["activesupport" "builder"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zr83avw82infmzdzpilk6xpv5r9fr8pxgf5ql16b3vysp6va57p";
       type = "gem";
-      sha256 = "07qnsafl6203a2zclxl20hy4jq11c471cgvd0bj5r9fx1qqw06br";
     };
+    version = "4.2.5.1";
   };
-  "whenever" = {
-    version = "0.8.4";
+  activejob = {
+    dependencies = ["activesupport" "globalid"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xfj7lwp1v3k9zscavzq87wbbn6y825angz4zpx4xsvlwf3dn7jc";
       type = "gem";
-      sha256 = "1bs602cf5rmmj03chn8vwidx0z1psyfyabq6gs3mqna524pnj9h2";
     };
-    dependencies = [
-      "activesupport"
-      "chronic"
-    ];
+    version = "4.2.5.1";
   };
-  "wikicloth" = {
-    version = "0.8.1";
+  actionview = {
+    dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1dp1gqh0yxpyydza1ada0jjbpww97qhnkj9c9pm9rg5jbmpzg12m";
       type = "gem";
-      sha256 = "1jp6c2yzyqbap8jdiw8yz6l08sradky1llhyhmrg934l1b5akj3s";
     };
-    dependencies = [
-      "builder"
-      "expression_parser"
-      "rinku"
-    ];
+    version = "4.2.5.1";
   };
-  "xpath" = {
-    version = "2.0.0";
+  actionpack = {
+    dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13shdiwjfyqvfb11k0wqhcd7p7ix168fxd5l8m2pnn0bzskpswxv";
       type = "gem";
-      sha256 = "04kcr127l34p7221z13blyl0dvh0bmxwx326j72idayri36a394w";
     };
-    dependencies = [
-      "nokogiri"
-    ];
+    version = "4.2.5.1";
+  };
+  actionmailer = {
+    dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fxn8f53nnpgan5xl9i5lszl1m8yk4q6ayc33d9xfzsnvhavpl4n";
+      type = "gem";
+    };
+    version = "4.2.5.1";
+  };
+  ace-rails-ap = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "082n12rkd9j7d89030nhmi4fx1gqaf13knps6cknsyvwix7fryvv";
+      type = "gem";
+    };
+    version = "2.0.1";
+  };
+  RedCloth = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06pahxyrckhgb7alsxwhhlx1ib2xsx33793finj01jk8i054bkxl";
+      type = "gem";
+    };
+    version = "4.2.9";
+  };
+  CFPropertyList = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0mjb46368z4hiax3fcsgxk14fxrhwnvcmakc2f5sx8nz0wvvkwg2";
+      type = "gem";
+    };
+    version = "2.3.2";
   };
 }
\ No newline at end of file
diff --git a/pkgs/applications/version-management/gitlab/nulladapter.patch b/pkgs/applications/version-management/gitlab/nulladapter.patch
new file mode 100644
index 000000000000..0d5c1749e83f
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab/nulladapter.patch
@@ -0,0 +1,29 @@
+index acd1874..f493451 100644
+--- a/Gemfile
++++ b/Gemfile
+@@ -318,3 +318,5 @@ gem 'oauth2', '~> 1.0.0'
+ 
+ # Soft deletion
+ gem "paranoia", "~> 2.0"
++
++gem "activerecord-nulldb-adapter"
+index 14d2c76..7a010f0 100644
+--- a/Gemfile.lock
++++ b/Gemfile.lock
+@@ -34,6 +34,8 @@ GEM
+       activesupport (= 4.2.5.1)
+       arel (~> 6.0)
+     activerecord-deprecated_finders (1.0.4)
++    activerecord-nulldb-adapter (0.3.2)
++      activerecord (>= 2.0.0)
+     activerecord-session_store (0.1.2)
+       actionpack (>= 4.0.0, < 5)
+       activerecord (>= 4.0.0, < 5)
+@@ -880,6 +882,7 @@ DEPENDENCIES
+   RedCloth (~> 4.2.9)
+   ace-rails-ap (~> 2.0.1)
+   activerecord-deprecated_finders (~> 1.0.3)
++  activerecord-nulldb-adapter
+   activerecord-session_store (~> 0.1.0)
+   acts-as-taggable-on (~> 3.4)
+   addressable (~> 2.3.8)
diff --git a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
index 1df5226c82fd..fbf5a05fc4e6 100644
--- a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
+++ b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
@@ -1,8 +1,8 @@
 diff --git a/config/environments/production.rb b/config/environments/production.rb
-index 3316ece..c34dec0 100644
+index 9095266..694a4c5 100644
 --- a/config/environments/production.rb
 +++ b/config/environments/production.rb
-@@ -67,10 +67,10 @@ Gitlab::Application.configure do
+@@ -67,10 +67,10 @@ Rails.application.configure do
  
    config.action_mailer.delivery_method = :sendmail
    # Defaults to:
@@ -18,74 +18,10 @@ index 3316ece..c34dec0 100644
    config.action_mailer.raise_delivery_errors = true
  
 diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
-index 15930fc..bdb423c 100644
+index 05f127d..6a4ae68 100644
 --- a/config/gitlab.yml.example
 +++ b/config/gitlab.yml.example
-@@ -29,8 +29,8 @@ production: &base
-   ## GitLab settings
-   gitlab:
-     ## Web server settings (note: host is the FQDN, do not include http://)
--    host: localhost
--    port: 80 # Set to 443 if using HTTPS, see installation.md#using-https for additional HTTPS configuration details
-+    host: <%= ENV['GITLAB_HOST'] || 'localhost' %>
-+    port: <%= ENV['GITLAB_PORT'] || 80 %>
-     https: false # Set to true if using HTTPS, see installation.md#using-https for additional HTTPS configuration details
- 
-     # Uncommment this line below if your ssh host is different from HTTP/HTTPS one
-@@ -43,7 +43,7 @@ production: &base
-     # relative_url_root: /gitlab
- 
-     # Uncomment and customize if you can't use the default user to run GitLab (default: 'git')
--    # user: git
-+    user: gitlab
- 
-     ## Date & Time settings
-     # Uncomment and customize if you want to change the default time zone of GitLab application.
-@@ -54,7 +54,7 @@ production: &base
-     # Uncomment and set to false if you need to disable email sending from GitLab (default: true)
-     # email_enabled: true
-     # Email address used in the "From" field in mails sent by GitLab
--    email_from: example@example.com
-+    email_from: <%= ENV['GITLAB_EMAIL_FROM'] %>
-     email_display_name: GitLab
-     email_reply_to: noreply@example.com
- 
-@@ -298,12 +298,12 @@ production: &base
-   # GitLab Satellites
-   satellites:
-     # Relative paths are relative to Rails.root (default: tmp/repo_satellites/)
--    path: /home/git/gitlab-satellites/
-+    path: <%= ENV['GITLAB_SATELLITES_PATH'] %>
-     timeout: 30
- 
-   ## Backup settings
-   backup:
--    path: "tmp/backups"   # Relative paths are relative to Rails.root (default: tmp/backups/)
-+    path: <%= ENV['GITLAB_BACKUP_PATH'] %>
-     # archive_permissions: 0640 # Permissions for the resulting backup.tar file (default: 0600)
-     # keep_time: 604800   # default: 0 (forever) (in seconds)
-     # pg_schema: public     # default: nil, it means that all schemas will be backed up
-@@ -322,15 +322,15 @@ production: &base
- 
-   ## GitLab Shell settings
-   gitlab_shell:
--    path: /home/git/gitlab-shell/
-+    path: <%= ENV['GITLAB_SHELL_PATH'] %>
- 
-     # REPOS_PATH MUST NOT BE A SYMLINK!!!
--    repos_path: /home/git/repositories/
--    hooks_path: /home/git/gitlab-shell/hooks/
-+    repos_path: <%= ENV['GITLAB_REPOSITORIES_PATH'] %>
-+    hooks_path: <%= ENV['GITLAB_SHELL_HOOKS_PATH'] %>
- 
-     # File that contains the secret key for verifying access for gitlab-shell.
-     # Default is '.gitlab_shell_secret' relative to Rails.root (i.e. root of the GitLab app).
--    # secret_file: /home/git/gitlab/.gitlab_shell_secret
-+    secret_file: <%= ENV['GITLAB_SHELL_SECRET_PATH'] %>
- 
-     # Git over HTTP
-     upload_pack: true
-@@ -343,7 +343,7 @@ production: &base
+@@ -423,7 +423,7 @@ production: &base
    # CAUTION!
    # Use the default values unless you really know what you are doing
    git:
@@ -94,25 +30,81 @@ index 15930fc..bdb423c 100644
      # The next value is the maximum memory size grit can use
      # Given in number of bytes per git object (e.g. a commit)
      # This value can be increased if you have very large commits
-@@ -388,7 +388,7 @@ test:
-   gravatar:
-     enabled: true
-   gitlab:
--    host: localhost
-+    host: <%= ENV['GITLAB_HOST'] %>
-     port: 80
+diff --git a/lib/gitlab/logger.rb b/lib/gitlab/logger.rb
+index 59b2114..4f4a39a 100644
+--- a/lib/gitlab/logger.rb
++++ b/lib/gitlab/logger.rb
+@@ -13,20 +13,20 @@ module Gitlab
+     end
  
-     # When you run tests we clone and setup gitlab-shell
-diff --git a/lib/gitlab/app_logger.rb b/lib/gitlab/app_logger.rb
-index dddcb25..d61f10a 100644
---- a/lib/gitlab/app_logger.rb
-+++ b/lib/gitlab/app_logger.rb
-@@ -1,7 +1,7 @@
- module Gitlab
-   class AppLogger < Gitlab::Logger
-     def self.file_name_noext
--      'application'
-+      ENV["GITLAB_APPLICATION_LOG_PATH"]
+     def self.read_latest
+-      path = Rails.root.join("log", file_name)
++      path = File.join(ENV["GITLAB_LOG_PATH"], file_name)
+       self.build unless File.exist?(path)
+       tail_output, _ = Gitlab::Popen.popen(%W(tail -n 2000 #{path}))
+       tail_output.split("\n")
      end
  
-     def format_message(severity, timestamp, progname, msg)
+     def self.read_latest_for(filename)
+-      path = Rails.root.join("log", filename)
++      path = File.join(ENV["GITLAB_LOG_PATH"], filename)
+       tail_output, _ = Gitlab::Popen.popen(%W(tail -n 2000 #{path}))
+       tail_output.split("\n")
+     end
+ 
+     def self.build
+-      new(Rails.root.join("log", file_name))
++      new(File.join(ENV["GITLAB_LOG_PATH"], file_name))
+     end
+   end
+ end
+diff --git a/lib/gitlab/uploads_transfer.rb b/lib/gitlab/uploads_transfer.rb
+index be8fcc7..7642d74 100644
+--- a/lib/gitlab/uploads_transfer.rb
++++ b/lib/gitlab/uploads_transfer.rb
+@@ -29,7 +29,7 @@ module Gitlab
+     end
+ 
+     def root_dir
+-      File.join(Rails.root, "public", "uploads")
++      ENV['GITLAB_UPLOADS_PATH'] || File.join(Rails.root, "public", "uploads")
+     end
+   end
+ end
+diff --git a/lib/tasks/gitlab/check.rake b/lib/tasks/gitlab/check.rake
+index d59872d..0b8007f 100644
+--- a/lib/tasks/gitlab/check.rake
++++ b/lib/tasks/gitlab/check.rake
+@@ -223,7 +223,7 @@ namespace :gitlab do
+     def check_log_writable
+       print "Log directory writable? ... "
+ 
+-      log_path = Rails.root.join("log")
++      log_path = ENV["GITLAB_LOG_PATH"]
+ 
+       if File.writable?(log_path)
+         puts "yes".green
+@@ -263,10 +263,12 @@ namespace :gitlab do
+     def check_uploads
+       print "Uploads directory setup correctly? ... "
+ 
+-      unless File.directory?(Rails.root.join('public/uploads'))
++      uploads_dir = ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads')
++
++      unless File.directory?(uploads_dir)
+         puts "no".red
+         try_fixing_it(
+-          "sudo -u #{gitlab_user} mkdir #{Rails.root}/public/uploads"
++          "sudo -u #{gitlab_user} mkdir #{uploads_dir}"
+         )
+         for_more_information(
+           see_installation_guide_section "GitLab"
+@@ -275,7 +277,7 @@ namespace :gitlab do
+         return
+       end
+ 
+-      upload_path = File.realpath(Rails.root.join('public/uploads'))
++      upload_path = File.realpath(Rails.root.join(uploads_dir))
+       upload_path_tmp = File.join(upload_path, 'tmp')
+ 
+       if File.stat(upload_path).mode == 040700
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index d69291293204..b99727b2c9b6 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -3,7 +3,7 @@
 , ApplicationServices, cf-private }:
 
 let
-  version = "3.5.1";
+  version = "3.7.1";
   name = "mercurial-${version}";
 in
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://mercurial.selenic.com/release/${name}.tar.gz";
-    sha256 = "1795ia6ghbqwfp4d6bz0qwlvzymh76zdgk2viikrkqq3ldfs8zcr";
+    sha256 = "1vfgqlb8z2k1vcx2nvcianxmml79cqqqncchw6aj40sa8hgpvlwn";
   };
 
   inherit python; # pass it so that the same version can be used in hg2git
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index c5107781c333..148a72f5d842 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -61,6 +61,7 @@ rec {
 
   # kernel.org's /pub (/pub/{linux,software}) tree.
   kernel = [
+    http://cdn.kernel.org/pub/
     http://www.all.kernel.org/pub/
     http://ramses.wh2.tu-dresden.de/pub/mirrors/kernel.org/
     http://linux-kernel.uio.no/pub/
diff --git a/pkgs/build-support/fetchzip/nix-prefetch-zip b/pkgs/build-support/fetchzip/nix-prefetch-zip
index ea55643668d4..d9a5f51057f2 100755
--- a/pkgs/build-support/fetchzip/nix-prefetch-zip
+++ b/pkgs/build-support/fetchzip/nix-prefetch-zip
@@ -6,6 +6,7 @@ usage(){
 Options:
       --url         url    The url of the archive to fetch.
       --name        name   The name to use for the store path (defaults to \`basename \$url\`).
+      --ext         ext    The file extension (.zip, .tar.gz, ...) to be REMOVED from name
       --hash        hash   The hash of unpacked archive.
       --hash-type   type   Use the specified cryptographic hash algorithm, which can be one of md5, sha1, and sha256.
       --leave-root         Keep the root directory of the archive.
@@ -16,6 +17,7 @@ Options:
 
 
 name=""
+ext=""
 argi=0
 argfun=""
 for arg; do
@@ -23,6 +25,7 @@ for arg; do
     case $arg in
       --url) argfun=set_url;;
       --name) argfun=set_name;;
+      --ext) argfun=set_ext;;
       --hash) argfun=set_expHash;;
       --hash-type) argfun=set_hashType;;
       --leave-root) leaveRoot=true;;
@@ -67,10 +70,12 @@ hashFormat="--base32"
 tmp=$(mktemp -d 2>/dev/null || mktemp -d -t "$$")
 trap "rm -rf '$tmp'" EXIT
 
-unpackDirTmp=$tmp/unpacked-tmp/$name
+dirname=$(basename -s "$ext" "$name")
+
+unpackDirTmp=$tmp/unpacked-tmp/$dirname
 mkdir -p $unpackDirTmp
 
-unpackDir=$tmp/unpacked/$name
+unpackDir=$tmp/unpacked/$dirname
 mkdir -p $unpackDir
 
 downloadedFile=$tmp/$(basename "$url")
diff --git a/pkgs/build-support/rust/fetch-cargo-deps b/pkgs/build-support/rust/fetch-cargo-deps
index 5074e26848ed..4fbc53d1039e 100755
--- a/pkgs/build-support/rust/fetch-cargo-deps
+++ b/pkgs/build-support/rust/fetch-cargo-deps
@@ -1,183 +1,177 @@
-source $stdenv/setup
+fetchCargoDeps() {
+    src=$(realpath $1)
+    out=$(realpath $2)
 
-set -euo pipefail
+    echo "Fetching $src to $out"
 
-src=$(realpath $1)
-out=$(realpath $2)
+    mkdir $out
 
-echo "Fetching $src to $out"
+    # Configure cargo to fetch from a local copy of the crates.io registry
 
-mkdir $out
+    echo "Using rust registry from $rustRegistry"
 
-# Configure cargo to fetch from a local copy of the crates.io registry
-
-echo "Using rust registry from $rustRegistry"
-
-cat <<EOF > $out/config
+    cat <<EOF > $out/config
 [registry]
 index = "file://$rustRegistry"
 EOF
 
-export CARGO_HOME=$out
-cd $src
-
-if [[ ! -f Cargo.lock ]]; then
-    echo
-    echo "ERROR: The Cargo.lock file doesn't exist"
-    echo
-    echo "Cargo.lock is needed to make sure that depsSha256 doesn't change"
-    echo "when the registry is updated."
-    echo
-
-    exit 1
-fi
-
-# We need to do the following string replacement so that 'cargo fetch'
-# doesn't ignore the versions specified in Cargo.lock
-set +u
-substituteInPlace Cargo.lock \
-    --replace "registry+https://github.com/rust-lang/crates.io-index" \
-              "registry+file://$rustRegistry"
-set -u
-
-# Do any possible 'cargo update -p <pkgName> --precise <version>' ad-hoc updates
-eval "$cargoUpdateHook"
-
-# Do the fetch
-cargo fetch --verbose
-
-# Now that we have fetched everything, let's make the output deterministic
-
-# Cargo uses the following directory structure for fetched data, where
-# $indexHash is a hash of the registry index URL:
-#
-#
-# /config:
-#
-#     Cargo config file. We'll delete this because it's not deterministic,
-#     and instead recreate it just before running 'cargo build'.
-#
-# /registry/cache/$indexHash/:
-#
-#     This is where tarballs of registry package dependencies are kept
-#     We'll need to keep this, but make sure $indexHash is a fixed name.
-#
-# /registry/index/$indexHash/:
-#
-#     A copy of the registry index is kept here. We can delete this, and
-#     instead, just before running 'cargo build', we'll symlink this
-#     directory to our static copy of the registry in the Nix store.
-#
-# /registry/src/$indexHash/{pkgName-pkgVersion}/:
-#
-#     Here cargo keeps extracted sources of the cached tarballs.
-#     We'll just delete this because cargo will re-populate them from the
-#     tarballs.
-#
-# /git/db/{domain-hash}/:
-#
-#     Here cargo keeps the `.git` directories of git dependencies.
-#     We'll need to keep these, but make them deterministic.
-#
-# /git/checkouts/{domain-hash}/{branchName}/:
-#
-#     Here cargo keeps checked-out sources of the git dependencies.
-#     We can delete this, because cargo will re-populate them from the above
-#     `.git` directories.
-#
-# Let's start
-
-# Remove cargo config file, which points to the ever-changing registry
-rm $out/config
-
-# Save the Cargo.lock file into the output, so that we don't have to do another
-# 'cargo update' during the build (which would try to access the network) for
-# any ad-hoc package updates (through $cargoUpdateHook).
-#
-# We need to replace the rustRegistry URL with something deterministic.
-# Since the URL won't actually be accessed anymore, it's fine to use /dev/null.
-
-set +u
-substituteInPlace Cargo.lock \
-    --replace "registry+file://$rustRegistry" \
-              "registry+file:///dev/null"
-set -u
-mv Cargo.lock $out/
-
-
-# Let's replace $indexHash with something more deterministic
-mv $out/registry/cache/* $out/registry/cache/HASH
-
-# The registry index changes all the time, so it's not deterministic
-# We'll symlink it before running 'cargo build'
-rm -rf $out/registry/index/*
-
-# Make git DBs deterministic
-# TODO: test with git submodules
-[[ ! -d $out/git/checkouts ]] || (cd $out/git/checkouts && for name in *; do
-    revs=""
-    cd "$out/git/checkouts/$name"
-    while read dir; do
-        # extract substring: [dir = "./xxx/yyy/.git"] => [branch = "xxx/yyy"]
-        branch="${dir:2:$((${#dir}-7))}"
-
-        cd "$out/git/checkouts/$name/$branch"
-        rev="$(git rev-parse HEAD)"
-        revs="$revs $rev"
-    done < <(find . -type d -name .git -print)
-
-    echo "List of revs to keep for git db $name: $revs"
-
-    (
-        # The following code was adapted from nix-prefetch-git
-
-        cd "$out/git/db/$name"
-
-        export GIT_DIR=.
-
-        # Remove all remote branches
-        git branch -r | while read branch; do
-            git branch -rD "$branch" >&2
-        done
-
-        # Remove all tags
-        git tag | while read tag; do
-            git tag -d "$tag" >&2
-        done
-
-        # Remove all local branches
-        branchrefs=()
-        eval "$(git for-each-ref --shell --format='branchrefs+=(%(refname))' refs/heads/)"
-
-        for branchref in "${branchrefs[@]}"; do
-            git update-ref -d "$branchref" >&2
-        done
-
-        # Create ad-hoc branches for the revs we need
-        echo "$revs" | while read rev; do
-            echo "Creating git branch b_$rev $rev"
-            git branch b_$rev $rev
-        done
-
-        # Remove files that have timestamps or otherwise have non-deterministic
-        # properties.
-        rm -rf logs/ hooks/ index FETCH_HEAD ORIG_HEAD refs/remotes/origin/HEAD config
-
-        # Do a full repack. Must run single-threaded, or else we lose determinism.
-        git config pack.threads 1
-        git repack -A -d -f
-        rm -f config
-
-        # Garbage collect unreferenced objects.
-        git gc --prune=all
-    )
-done)
-
-# Remove unneeded outputs
-[[ ! -d $out/registry/src ]] || rm -rf $out/registry/src
-[[ ! -d $out/git/checkouts ]] || rm -rf $out/git/checkouts
-
-# XXX: provide some debugging output to see find out why we are seeing
-# sporadic hash mismatches
-find $out ! -type f
-find $out -type f -exec sha256sum {} +
+    export CARGO_HOME=$out
+    cd $src
+
+    if [[ ! -f Cargo.lock ]]; then
+        echo
+        echo "ERROR: The Cargo.lock file doesn't exist"
+        echo
+        echo "Cargo.lock is needed to make sure that depsSha256 doesn't change"
+        echo "when the registry is updated."
+        echo
+
+        exit 1
+    fi
+
+    # We need to do the following string replacement so that 'cargo fetch'
+    # doesn't ignore the versions specified in Cargo.lock
+    substituteInPlace Cargo.lock \
+        --replace "registry+https://github.com/rust-lang/crates.io-index" \
+                  "registry+file://$rustRegistry"
+
+    # Do any possible 'cargo update -p <pkgName> --precise <version>' ad-hoc updates
+    eval "$cargoUpdateHook"
+
+    # Do the fetch
+    cargo fetch --verbose
+
+    # Now that we have fetched everything, let's make the output deterministic
+
+    # Cargo uses the following directory structure for fetched data, where
+    # $indexHash is a hash of the registry index URL:
+    #
+    #
+    # /config:
+    #
+    #     Cargo config file. We'll delete this because it's not deterministic,
+    #     and instead recreate it just before running 'cargo build'.
+    #
+    # /registry/cache/$indexHash/:
+    #
+    #     This is where tarballs of registry package dependencies are kept
+    #     We'll need to keep this, but make sure $indexHash is a fixed name.
+    #
+    # /registry/index/$indexHash/:
+    #
+    #     A copy of the registry index is kept here. We can delete this, and
+    #     instead, just before running 'cargo build', we'll symlink this
+    #     directory to our static copy of the registry in the Nix store.
+    #
+    # /registry/src/$indexHash/{pkgName-pkgVersion}/:
+    #
+    #     Here cargo keeps extracted sources of the cached tarballs.
+    #     We'll just delete this because cargo will re-populate them from the
+    #     tarballs.
+    #
+    # /git/db/{domain-hash}/:
+    #
+    #     Here cargo keeps the `.git` directories of git dependencies.
+    #     We'll need to keep these, but make them deterministic.
+    #
+    # /git/checkouts/{domain-hash}/{branchName}/:
+    #
+    #     Here cargo keeps checked-out sources of the git dependencies.
+    #     We can delete this, because cargo will re-populate them from the above
+    #     `.git` directories.
+    #
+    # Let's start
+
+    # Remove cargo config file, which points to the ever-changing registry
+    rm $out/config
+
+    # Save the Cargo.lock file into the output, so that we don't have to do another
+    # 'cargo update' during the build (which would try to access the network) for
+    # any ad-hoc package updates (through $cargoUpdateHook).
+    #
+    # We need to replace the rustRegistry URL with something deterministic.
+    # Since the URL won't actually be accessed anymore, it's fine to use /dev/null.
+
+    substituteInPlace Cargo.lock \
+        --replace "registry+file://$rustRegistry" \
+                  "registry+file:///dev/null"
+    mv Cargo.lock $out/
+
+
+    # Let's replace $indexHash with something more deterministic
+    mv $out/registry/cache/* $out/registry/cache/HASH
+
+    # The registry index changes all the time, so it's not deterministic
+    # We'll symlink it before running 'cargo build'
+    rm -rf $out/registry/index/*
+
+    # Make git DBs deterministic
+    # TODO: test with git submodules
+    [[ ! -d $out/git/checkouts ]] || (cd $out/git/checkouts && for name in *; do
+        revs=""
+        cd "$out/git/checkouts/$name"
+        while read dir; do
+            # extract substring: [dir = "./xxx/yyy/.git"] => [branch = "xxx/yyy"]
+            branch="${dir:2:$((${#dir}-7))}"
+
+            cd "$out/git/checkouts/$name/$branch"
+            rev="$(git rev-parse HEAD)"
+            revs="$revs $rev"
+        done < <(find . -type d -name .git -print)
+
+        echo "List of revs to keep for git db $name: $revs"
+
+        (
+            # The following code was adapted from nix-prefetch-git
+
+            cd "$out/git/db/$name"
+
+            export GIT_DIR=.
+
+            # Remove all remote branches
+            git branch -r | while read branch; do
+                git branch -rD "$branch" >&2
+            done
+
+            # Remove all tags
+            git tag | while read tag; do
+                git tag -d "$tag" >&2
+            done
+
+            # Remove all local branches
+            branchrefs=()
+            eval "$(git for-each-ref --shell --format='branchrefs+=(%(refname))' refs/heads/)"
+
+            for branchref in "${branchrefs[@]}"; do
+                git update-ref -d "$branchref" >&2
+            done
+
+            # Create ad-hoc branches for the revs we need
+            echo "$revs" | while read rev; do
+                echo "Creating git branch b_$rev $rev"
+                git branch b_$rev $rev
+            done
+
+            # Remove files that have timestamps or otherwise have non-deterministic
+            # properties.
+            rm -rf logs/ hooks/ index FETCH_HEAD ORIG_HEAD refs/remotes/origin/HEAD config
+
+            # Do a full repack. Must run single-threaded, or else we lose determinism.
+            git config pack.threads 1
+            git repack -A -d -f
+            rm -f config
+
+            # Garbage collect unreferenced objects.
+            git gc --prune=all
+        )
+    done)
+
+    # Remove unneeded outputs
+    [[ ! -d $out/registry/src ]] || rm -rf $out/registry/src
+    [[ ! -d $out/git/checkouts ]] || rm -rf $out/git/checkouts
+
+    # XXX: provide some debugging output to see find out why we are seeing
+    # sporadic hash mismatches
+    find $out ! -type f
+    find $out -type f -exec sha256sum {} +
+}
diff --git a/pkgs/build-support/rust/fetchcargo.nix b/pkgs/build-support/rust/fetchcargo.nix
index 7910887ba640..518420002622 100644
--- a/pkgs/build-support/rust/fetchcargo.nix
+++ b/pkgs/build-support/rust/fetchcargo.nix
@@ -9,7 +9,11 @@ stdenv.mkDerivation {
   phases = "unpackPhase installPhase";
 
   installPhase = ''
-    bash ${./fetch-cargo-deps} . "$out"
+    source ${./fetch-cargo-deps}
+
+    export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
+
+    fetchCargoDeps . "$out"
   '';
 
   outputHashAlgo = "sha256";
diff --git a/pkgs/data/misc/geolite-legacy/default.nix b/pkgs/data/misc/geolite-legacy/default.nix
index 2be23b0f35c7..59ae72d863cd 100644
--- a/pkgs/data/misc/geolite-legacy/default.nix
+++ b/pkgs/data/misc/geolite-legacy/default.nix
@@ -8,7 +8,7 @@ let
 in
 stdenv.mkDerivation rec {
   name = "geolite-legacy-${version}";
-  version = "2016-02-08";
+  version = "2016-02-25";
 
   srcGeoIP = fetchDB
     "GeoLiteCountry/GeoIP.dat.gz" "GeoIP.dat.gz"
@@ -24,10 +24,10 @@ stdenv.mkDerivation rec {
     "0fnlznn04lpkkd7sy9r9kdl3fcp8ix7msdrncwgz26dh537ml32z";
   srcGeoIPASNum = fetchDB
     "asnum/GeoIPASNum.dat.gz" "GeoIPASNum.dat.gz"
-    "0ib93p2fwayqsxwph98rkgln7xpjrwhzzc06sc74876jpaq3g8g5";
+    "0gli3glr2w58qw2b4lwlp8cqbpfy27c3ryih3qi2bbilqy0r3ibl";
   srcGeoIPASNumv6 = fetchDB
     "asnum/GeoIPASNumv6.dat.gz" "GeoIPASNumv6.dat.gz"
-    "1izlxqcvdag66sny5zjjwkmjhai0c9m77b96j117n0x0awrrk4h9";
+    "1k7a9b8hsman64jjk6y3nkhms89gkq1vk26n2xklw710f15jzcsf";
 
   meta = with stdenv.lib; {
     description = "GeoLite Legacy IP geolocation databases";
diff --git a/pkgs/desktops/e19/default.nix b/pkgs/desktops/e19/default.nix
index 9c862734dcc1..4f319159bcc9 100644
--- a/pkgs/desktops/e19/default.nix
+++ b/pkgs/desktops/e19/default.nix
@@ -1,12 +1,11 @@
 { callPackage, pkgs }:
 let
-  openjpeg_1 = with pkgs; lib.overrideDerivation openjpeg (oldAttrs: {
-         name = "openjpeg-1.5.1";
+  openjpeg_1 = with pkgs; lib.overrideDerivation openjpeg (oldAttrs: rec {
+         name = "openjpeg-1.5.2";
          src = fetchurl {
-           url = "http://openjpeg.googlecode.com/files/openjpeg-1.5.1.tar.gz";
-           sha1 = "1b0b74d1af4c297fd82806a9325bb544caf9bb8b";
+           url = "mirror://sourceforge/openjpeg.mirror/${name}.tar.gz";
+           sha1 = "lahbqvjpsfdxsrm0wsy3pdrp3pzrjvj9";
          };
-         #passthru = { incDir = "openjpeg-1.5.1"; };
      });
 in
 rec {
@@ -23,5 +22,4 @@ rec {
   econnman = callPackage ./econnman.nix { };
   terminology = callPackage ./terminology.nix { };
   rage = callPackage ./rage.nix { };
-
 }
diff --git a/pkgs/desktops/e19/econnman.nix b/pkgs/desktops/e19/econnman.nix
index c75af81af1a6..35b58aec638d 100644
--- a/pkgs/desktops/e19/econnman.nix
+++ b/pkgs/desktops/e19/econnman.nix
@@ -8,9 +8,9 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ makeWrapper pkgconfig e19.efl python27 dbus ];
-  propagatedBuildInputs = [ python27Packages.pythonefl_1_15 python27Packages.dbus e19.elementary ];
+  propagatedBuildInputs = [ python27Packages.pythonefl_1_16 python27Packages.dbus e19.elementary ];
   postInstall = ''
-    wrapProgram $out/bin/econnman-bin --prefix PYTHONPATH : ${python27Packages.dbus}/lib/python2.7/site-packages:${python27Packages.pythonefl_1_15}/lib/python2.7/site-packages
+    wrapProgram $out/bin/econnman-bin --prefix PYTHONPATH : ${python27Packages.dbus}/lib/python2.7/site-packages:${python27Packages.pythonefl_1_16}/lib/python2.7/site-packages
   '';
 
   meta = {
diff --git a/pkgs/desktops/e19/efl.nix b/pkgs/desktops/e19/efl.nix
index 853bee31cc8e..dd9c837ed8b2 100644
--- a/pkgs/desktops/e19/efl.nix
+++ b/pkgs/desktops/e19/efl.nix
@@ -3,10 +3,10 @@
 
 stdenv.mkDerivation rec {
   name = "efl-${version}";
-  version = "1.15.0";
+  version = "1.16.1";
   src = fetchurl {
-    url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.gz";
-    sha256 = "1x5n2afy5z1akam5y187ajk52mq2k9lwmz7nlrxp92rvx1jf6li5";
+    url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.xz";
+    sha256 = "116s4lcfj5lrfhyvvka3np9glqyrh21cyl9rhw7al0wgb60vw0gg";
   };
 
   buildInputs = [ pkgconfig openssl zlib freetype fontconfig fribidi SDL2 SDL mesa
diff --git a/pkgs/desktops/e19/elementary.nix b/pkgs/desktops/e19/elementary.nix
index 17973d530ffd..1793a7e87c47 100644
--- a/pkgs/desktops/e19/elementary.nix
+++ b/pkgs/desktops/e19/elementary.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, pkgconfig, e19, libcap, automake, autoconf, libdrm, gdbm }:
+{ stdenv, fetchurl, pkgconfig, e19, libcap, automake114x, autoconf, libdrm, gdbm }:
 stdenv.mkDerivation rec {
   name = "elementary-${version}";
-  version = "1.15.0";
+  version = "1.16.1";
   src = fetchurl {
-    url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.gz";
-    sha256 = "085s2xw3dhv8xiy7ikaaim5gil423g08wclhk0psi76g0vavgd32";
+    url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.xz";
+    sha256 = "0q58imh7s35q6cq5hsa6gqj84rkckh8s61iass8zyvcw19j66f3y";
   };
-  buildInputs = [ pkgconfig e19.efl libdrm gdbm automake autoconf ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
+  buildInputs = [ pkgconfig e19.efl libdrm gdbm automake114x autoconf ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
   NIX_CFLAGS_COMPILE = [ "-I${libdrm}/include/libdrm" ];
   patches = [ ./elementary.patch ];
   enableParallelBuilding = true;
diff --git a/pkgs/desktops/e19/emotion.nix b/pkgs/desktops/e19/emotion.nix
index a95759b6f17e..c38119719a0b 100644
--- a/pkgs/desktops/e19/emotion.nix
+++ b/pkgs/desktops/e19/emotion.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, e19, vlc }:
 stdenv.mkDerivation rec {
   name = "emotion_generic_players-${version}";
-  version = "1.15.0";
+  version = "1.16.0";
   src = fetchurl {
-    url = "http://download.enlightenment.org/rel/libs/emotion_generic_players/${name}.tar.gz";
-    sha256 = "08yl473aiklj0yfxbn88000hmnhl7dbhqixsn22ias8a90rxdfhh";
+    url = "http://download.enlightenment.org/rel/libs/emotion_generic_players/${name}.tar.xz";
+    sha256 = "163ay26c6dx49m1am7vsxxn0gy877zhayxq0yxn9zkbq2srzvjym";
   };
   buildInputs = [ pkgconfig e19.efl vlc ];
   NIX_CFLAGS_COMPILE = [ "-I${e19.efl}/include/eo-1" ];
diff --git a/pkgs/desktops/e19/enlightenment.nix b/pkgs/desktops/e19/enlightenment.nix
index e4396073c03b..5112058f8c6c 100644
--- a/pkgs/desktops/e19/enlightenment.nix
+++ b/pkgs/desktops/e19/enlightenment.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, pkgconfig, e19, xorg, libffi, pam, alsaLib, luajit, bzip2
+{ stdenv, fetchurl, pkgconfig, e19, xorg, libffi, pam, alsaLib, luajit, bzip2, libuuid
 , libpthreadstubs, gdbm, libcap, mesa_glu, xkeyboard_config, set_freqset_setuid ? false }:
 
 stdenv.mkDerivation rec {
   name = "enlightenment-${version}";
-  version = "0.19.8";
+  version = "0.20.3";
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
-    sha256 = "1y83jnq01k9i328adgjgpfwgpvvd2a1ixpm029pjcar8p1mvgadi";
+    sha256 = "19z3bwdzwpzwi330l5g5mj7xy6wy8xrc39zivjhm0d1ql3fh649j";
   };
   buildInputs = [ pkgconfig e19.efl e19.elementary xorg.libXdmcp xorg.libxcb
-    xorg.xcbutilkeysyms xorg.libXrandr libffi pam alsaLib luajit bzip2
+    xorg.xcbutilkeysyms xorg.libXrandr libffi pam alsaLib luajit bzip2 libuuid
     libpthreadstubs gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
-  NIX_CFLAGS_COMPILE = [ "-I${e19.efl}/include/eo-1" "-I${e19.efl}/include/emile-1" ];
+  NIX_CFLAGS_COMPILE = [ "-I${e19.efl}/include/eo-1" "-I${e19.efl}/include/emile-1" "-I${libuuid}/include/uuid" ];
   preConfigure = ''
     export USER_SESSION_DIR=$prefix/lib/systemd/user
 
diff --git a/pkgs/desktops/e19/evas.nix b/pkgs/desktops/e19/evas.nix
index 553abec576ef..b777dc893d70 100644
--- a/pkgs/desktops/e19/evas.nix
+++ b/pkgs/desktops/e19/evas.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, e19, zlib, libspectre, gstreamer, gst_plugins_base, gst_ffmpeg, gst_plugins_good, poppler, librsvg, libraw }:
 stdenv.mkDerivation rec {
   name = "evas_generic_loaders-${version}";
-  version = "1.15.0";
+  version = "1.16.0";
   src = fetchurl {
-    url = "http://download.enlightenment.org/rel/libs/evas_generic_loaders/${name}.tar.gz";
-    sha256 = "1k9bmswrgfara4a7znqcv3qbhq3zjbm0ks1zdb0jk5mfl6djr8na";
+    url = "http://download.enlightenment.org/rel/libs/evas_generic_loaders/${name}.tar.xz";
+    sha256 = "1il3i3rii6ddpj7cw2mdqnb0q2wmhwnvs6qi9janna1n5hhrqyfm";
   };
   buildInputs = [ pkgconfig e19.efl zlib libspectre gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good poppler librsvg libraw ];
   meta = {
diff --git a/pkgs/desktops/e19/terminology.nix b/pkgs/desktops/e19/terminology.nix
index 32135bbe2e2c..195a1f436644 100644
--- a/pkgs/desktops/e19/terminology.nix
+++ b/pkgs/desktops/e19/terminology.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, e19 }:
 stdenv.mkDerivation rec {
   name = "terminology-${version}";
-  version = "0.8.0";
+  version = "0.9.1";
   src = fetchurl {
-    url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
-    sha256 = "7a10d44b023cf6134c2483304e4ad33bea6df0f11266aec482f54fa67a3ce628";
+    url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.xz";
+    sha256 = "1kwv9vkhngdm5v38q93xpcykghnyawhjjcb5bgy0p89gpbk7mvpc";
   };
   buildInputs = [ pkgconfig e19.efl e19.elementary ];
   meta = {
diff --git a/pkgs/desktops/gnome-3/3.18/core/vte/default.nix b/pkgs/desktops/gnome-3/3.18/core/vte/default.nix
index 86dfd953b48f..334718403a0d 100644
--- a/pkgs/desktops/gnome-3/3.18/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/3.18/core/vte/default.nix
@@ -43,12 +43,12 @@ let baseAttrs = rec {
 in stdenv.mkDerivation ( baseAttrs
   // stdenv.lib.optionalAttrs selectTextPatch rec {
       name = "vte-ng-${version}";
-      version = "0.42.1.a";
+      version = "0.42.4.a";
       src = fetchFromGitHub {
         owner = "thestinger";
         repo = "vte-ng";
         rev = version;
-        sha256 = "1296rvngixi6l31mhhaks6vr1xyqw8h6n5hwknadrlk95nknrpxm";
+        sha256 = "1w91lz30j5lrskp9ds5j3nn27m5mpdpn7nlcvf5y1w63mpmjg8k1";
       };
       # slightly hacky; I couldn't make it work with autoreconfHook
       configureScript = "./autogen.sh";
diff --git a/pkgs/development/compilers/ghcjs/default.nix b/pkgs/development/compilers/ghcjs/default.nix
index 808768f74b86..7401a23ddaee 100644
--- a/pkgs/development/compilers/ghcjs/default.nix
+++ b/pkgs/development/compilers/ghcjs/default.nix
@@ -60,8 +60,8 @@ in mkDerivation (rec {
   src = fetchFromGitHub {
     owner = "ghcjs";
     repo = "ghcjs";
-    rev = "561365ba1667053b5dc5846e2a8edb33eaa3f6dd";
-    sha256 = "1vfa7j0ql3sng29m944iznjw9hcmyl57nfkgxa33dvi2ival8dl2";
+    rev = "13a99c6da40e3700e070e430d4c0f2ea96217b24";
+    sha256 = "01yg6babmhn2bfbmgkddisfj9ai7fc4r08s6acd49s9amcw7g5ld";
   };
   isLibrary = true;
   isExecutable = true;
diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix
index d25001697443..9c6bbba24d5d 100644
--- a/pkgs/development/compilers/go/1.4.nix
+++ b/pkgs/development/compilers/go/1.4.nix
@@ -46,6 +46,8 @@ stdenv.mkDerivation rec {
     sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go
     # Disable the unix socket test
     sed -i '/TestShutdownUnix/areturn' src/net/net_test.go
+    # Disable network timeout test
+    sed -i '/TestDialTimeout/areturn' src/net/dial_test.go
     # Disable the hostname test
     sed -i '/TestHostname/areturn' src/os/os_test.go
     # ParseInLocation fails the test
@@ -84,7 +86,6 @@ stdenv.mkDerivation rec {
   '';
 
   patches = [
-    ./cacert-1.4.patch
     ./remove-tools-1.4.patch
   ];
 
diff --git a/pkgs/development/compilers/go/1.5.nix b/pkgs/development/compilers/go/1.5.nix
index 54c8cf219d5f..b5bfac850280 100644
--- a/pkgs/development/compilers/go/1.5.nix
+++ b/pkgs/development/compilers/go/1.5.nix
@@ -89,7 +89,6 @@ stdenv.mkDerivation rec {
   '';
 
   patches = [
-    ./cacert-1.5.patch
     ./remove-tools-1.5.patch
   ]
   # -ldflags=-s is required to compile on Darwin, see
diff --git a/pkgs/development/compilers/go/1.6.nix b/pkgs/development/compilers/go/1.6.nix
index cb1d396f50a1..122f0d336f71 100644
--- a/pkgs/development/compilers/go/1.6.nix
+++ b/pkgs/development/compilers/go/1.6.nix
@@ -90,7 +90,6 @@ stdenv.mkDerivation rec {
   '';
 
   patches = [
-    ./cacert-1.5.patch
     ./remove-tools-1.5.patch
   ]
   # -ldflags=-s is required to compile on Darwin, see
diff --git a/pkgs/development/compilers/go/cacert-1.4.patch b/pkgs/development/compilers/go/cacert-1.4.patch
deleted file mode 100644
index 5346d3f39505..000000000000
--- a/pkgs/development/compilers/go/cacert-1.4.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Go comes with hardcoded cacert. We add the usual in NixOS,
-for easier NixOS life.
-
-diff -r 14854533dcc7 src/crypto/x509/root_unix.go
---- a/src/crypto/x509/root_unix.go	Thu Dec 11 11:27:56 2014 +1100
-+++ b/src/crypto/x509/root_unix.go	Tue Jan 06 00:41:31 2015 -0600
-@@ -17,6 +17,7 @@
- 	"/usr/local/share/certs/ca-root-nss.crt", // FreeBSD/DragonFly
- 	"/etc/pki/tls/cacert.pem",                // OpenELEC
- 	"/etc/certs/ca-certificates.crt",         // Solaris 11.2+
-+	"/etc/ssl/certs/ca-bundle.crt",           // NixOS
- }
- 
- // Possible directories with certificate files; stop after successfully
diff --git a/pkgs/development/compilers/go/cacert-1.5.patch b/pkgs/development/compilers/go/cacert-1.5.patch
deleted file mode 100644
index 32c322a104e6..000000000000
--- a/pkgs/development/compilers/go/cacert-1.5.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/src/crypto/x509/root_linux.go	2015-08-19 23:06:11.115133174 +0200
-+++ b/src/crypto/x509/root_linux.go	2015-08-19 23:07:04.238507161 +0200
-@@ -10,4 +10,5 @@
- 	"/etc/pki/tls/certs/ca-bundle.crt",   // Fedora/RHEL
- 	"/etc/ssl/ca-bundle.pem",             // OpenSUSE
- 	"/etc/pki/tls/cacert.pem",            // OpenELEC
-+	"/etc/ssl/certs/ca-bundle.crt",       // NixOS
- }
diff --git a/pkgs/development/compilers/rustc/head.nix b/pkgs/development/compilers/rustc/head.nix
index 4d2039669598..66730cf855a3 100644
--- a/pkgs/development/compilers/rustc/head.nix
+++ b/pkgs/development/compilers/rustc/head.nix
@@ -2,11 +2,11 @@
 { stdenv, callPackage }:
 
 callPackage ./generic.nix {
-  shortVersion = "2016-02-01";
+  shortVersion = "2016-02-22";
   isRelease = false;
   forceBundledLLVM = true;
-  srcRev = "094c5b0d6";
-  srcSha = "0908xzxb4q8vqwmzi5c2vzrhfsrw7d18r4n7mq3ir5671y9cqpvz";
+  srcRev = "d1f422ec280b881b8236c5d173103bc799e1590e";
+  srcSha = "b0753045ae438c0869d37f429fe84451dcacc4b2ab9413d34bf29fde94fde462";
 
   /* Rust is bootstrapped from an earlier built version. We need
   to fetch these earlier versions, which vary per platform.
diff --git a/pkgs/development/compilers/uhc/default.nix b/pkgs/development/compilers/uhc/default.nix
index 93aa7811449a..df79b0ba70ee 100644
--- a/pkgs/development/compilers/uhc/default.nix
+++ b/pkgs/development/compilers/uhc/default.nix
@@ -1,23 +1,17 @@
 # Note: The Haskell package set used for building UHC is
 # determined in the file top-level/haskell-packages.nix.
-# We are using Stackage LTS to avoid constant breakage.
-# Bump the Stackage LTS release to the last release if possible
-# when a new UHC version is released.
-{ stdenv, coreutils, fetchgit, m4, libtool, clang, ghcWithPackages }:
+{ stdenv, coreutils, m4, libtool, clang, ghcWithPackages, fetchFromGitHub }:
 
 let wrappedGhc = ghcWithPackages (hpkgs: with hpkgs; [fgl vector syb uulib network binary hashable uhc-util mtl transformers directory containers array process filepath shuffle uuagc] );
 in stdenv.mkDerivation rec {
-  # Important:
-  # The commits "Fixate/tag v..." are the released versions.
-  # Ignore the "bumped version to ...." commits, they do not
-  # correspond to releases.
-  version = "1.1.9.2";
+  version = "1.1.9.3";
   name = "uhc-${version}";
 
-  src = fetchgit {
-    url = "https://github.com/UU-ComputerScience/uhc.git";
-    rev = "292d259113b98c32154a5be336875751caa5edbc";
-    sha256 = "1f462xq9ilkp9mnxm8hxhh1cdwps5d0hxysyibxryk32l7hh53cz";
+  src = fetchFromGitHub {
+    owner = "UU-ComputerScience";
+    repo = "uhc";
+    rev = "v${version}";
+    sha256 = "1r3mja77dqj2ncgp1d9nnc7dhp3gzrb1b1qvml3rq2321mn3m2ad";
   };
 
   postUnpack = "sourceRoot=\${sourceRoot}/EHC";
@@ -55,10 +49,5 @@ in stdenv.mkDerivation rec {
     # On Darwin, the GNU libtool is used, which does not
     # support the -static flag and thus breaks the build.
     platforms = ["x86_64-linux"];
-    # Hydra currently doesn't build the Stackage LTS package set,
-    # and we don't want to build all our haskell dependencies
-    # from scratch just to build UHC.
-    hydraPlatforms = stdenv.lib.platforms.none;
-
   };
 }
diff --git a/pkgs/development/libraries/ace/default.nix b/pkgs/development/libraries/ace/default.nix
new file mode 100644
index 000000000000..10ba217175c3
--- /dev/null
+++ b/pkgs/development/libraries/ace/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, pkgconfig, libtool, perl
+}:
+
+stdenv.mkDerivation rec {
+  name = "ace-${version}";
+  version = "6.3.3";
+  src = fetchurl {
+    url=http://download.dre.vanderbilt.edu/previous_versions/ACE-6.3.3.tar.bz2;
+    sha256 = "124qk205v8rx8p7rfigsargrpxjx3mh4nr99nlyk9csdc9gy8qpk";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ pkgconfig libtool perl ];
+
+  patchPhase = ''substituteInPlace ./MPC/prj_install.pl \
+    --replace /usr/bin/perl "${perl}/bin/perl"'';
+  
+  preConfigure = ''
+    export INSTALL_PREFIX=$out
+    export ACE_ROOT=$(pwd)
+    export LD_LIBRARY_PATH="$ACE_ROOT/ace:$ACE_ROOT/lib"
+    echo '#include "ace/config-linux.h"' > ace/config.h
+    echo 'include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU'\
+    > include/makeinclude/platform_macros.GNU
+  '';
+
+meta = {
+    description = "ADAPTIVE Communication Environment";
+    homepage = http://www.dre.vanderbilt.edu/~schmidt/ACE.html;
+    license = stdenv.lib.licenses.doc;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.nico202 ];
+  };
+}
+
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
index 74ca0a30892b..120b707af1e3 100644
--- a/pkgs/development/libraries/libfilezilla/default.nix
+++ b/pkgs/development/libraries/libfilezilla/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libfilezilla-${version}";
-  version = "0.3.1";
+  version = "0.4.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/libfilezilla/${version}/${name}.tar.bz2";
-    sha256 = "1vshy00bz9l5nzphkxpd35plcfcrz2wha5qiic7mx5yywafdxbd4";
+    sha256 = "1l7rih17nzy75zf5h8mx5x38jbl9kxyxpr0ib6nn2615fw92xxgj";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 013ebd9b9627..4db3913bdd2f 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, libevdev, mtdev, udev
+, libevdev, mtdev, udev, libwacom
 , documentationSupport ? false, doxygen ? null, graphviz ? null # Documentation
 , eventGUISupport ? false, cairo ? null, glib ? null, gtk3 ? null # GUI event viewer support
 , testsSupport ? false, check ? null, valgrind ? null
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ libevdev mtdev udev ]
+  buildInputs = [ libevdev mtdev udev libwacom ]
     ++ optionals eventGUISupport [ cairo glib gtk3 ]
     ++ optionals documentationSupport [ doxygen graphviz ]
     ++ optionals testsSupport [ check valgrind ];
diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix
index c53c4792a6f6..d1da2bbf3aac 100644
--- a/pkgs/development/libraries/libpsl/default.nix
+++ b/pkgs/development/libraries/libpsl/default.nix
@@ -3,10 +3,10 @@
 
 let
 
-  listVersion = "2016-02-16";
+  listVersion = "2016-02-25";
   listSources = fetchFromGitHub {
-    sha256 = "0f27nynm4skn1mnv7kgyyl7cy599n6al7x3alvqn0nw9s25cfmkc";
-    rev = "5bece2d9de4bb67274fd8e5928d6b449e7ff7674";
+    sha256 = "0i9aa0bl3x50z0ba4n06pajpfncw8n780hhql13b1vppgfc6s4i7";
+    rev = "84fd7e2a090f53ba4378f2a0e08cdaaa882ce3e5";
     repo = "list";
     owner = "publicsuffix";
   };
diff --git a/pkgs/development/libraries/libssh2/default.nix b/pkgs/development/libraries/libssh2/default.nix
index 5e12ea734c18..326817843351 100644
--- a/pkgs/development/libraries/libssh2/default.nix
+++ b/pkgs/development/libraries/libssh2/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurlBoot, openssl, zlib, windows}:
 
 stdenv.mkDerivation rec {
-  name = "libssh2-1.6.0";
+  name = "libssh2-1.7.0";
 
   src = fetchurlBoot {
     url = "${meta.homepage}/download/${name}.tar.gz";
-    sha256 = "05c2is69c50lyikkh29nk6zhghjk4i7hjx0zqfhq47aald1jj82s";
+    sha256 = "116mh112w48vv9k3f15ggp5kxw5sj4b88dzb5j69llsh7ba1ymp4";
   };
 
   buildInputs = [ openssl zlib ];
diff --git a/pkgs/development/libraries/tk/8.6.nix b/pkgs/development/libraries/tk/8.6.nix
index 110151227bdd..c10771c9109d 100644
--- a/pkgs/development/libraries/tk/8.6.nix
+++ b/pkgs/development/libraries/tk/8.6.nix
@@ -1,4 +1,4 @@
-{ callPackage, fetchurl, tcl, ... } @ args:
+{ callPackage, fetchurl, tcl, stdenv, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
 
@@ -7,7 +7,7 @@ callPackage ./generic.nix (args // rec {
     sha256 = "1h96vp15zl5xz0d4qp6wjyrchqmrmdm3q5k22wkw9jaxbvw9vy88";
   };
 
-  patches = [ ./different-prefix-with-tcl.patch ];
+  patches = [ ./different-prefix-with-tcl.patch ] ++ stdenv.lib.optionals stdenv.isDarwin [ ./Fix-bad-install_name-for-libtk8.6.dylib.patch ];
 
 })
 
diff --git a/pkgs/development/libraries/tk/Fix-bad-install_name-for-libtk8.6.dylib.patch b/pkgs/development/libraries/tk/Fix-bad-install_name-for-libtk8.6.dylib.patch
new file mode 100644
index 000000000000..528a75e1c91f
--- /dev/null
+++ b/pkgs/development/libraries/tk/Fix-bad-install_name-for-libtk8.6.dylib.patch
@@ -0,0 +1,29 @@
+From f90278dac42135acd55200b7d2153f44d72fec53 Mon Sep 17 00:00:00 2001
+From: Josef Knedl <josef.kemetmueller@aon.at>
+Date: Wed, 24 Feb 2016 00:37:40 +0100
+Subject: [PATCH] Fix bad install_name for libtk8.6.dylib
+
+This follows: https://trac.macports.org/ticket/37395
+and https://trac.macports.org/changeset/100816
+Alternative would be to use Quartz build instead:
+https://sourceforge.net/p/tktoolkit/bugs/3048/
+---
+ unix/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/unix/Makefile.in b/unix/Makefile.in
+index f21fdbb..1b89256 100644
+--- a/unix/Makefile.in
++++ b/unix/Makefile.in
+@@ -283,7 +283,7 @@ CC_SEARCH_FLAGS	= @CC_SEARCH_FLAGS@
+ LD_SEARCH_FLAGS	= @LD_SEARCH_FLAGS@
+ 
+ # support for embedded libraries on Darwin / Mac OS X
+-DYLIB_INSTALL_DIR	= ${LIB_RUNTIME_DIR}
++DYLIB_INSTALL_DIR	= $(libdir)
+ 
+ # support for building the Aqua resource file
+ TK_RSRC_FILE		= @TK_RSRC_FILE@
+-- 
+2.7.1
+
diff --git a/pkgs/development/libraries/xercesc/default.nix b/pkgs/development/libraries/xercesc/default.nix
index 1c1426d969e8..5020ab3f2df5 100644
--- a/pkgs/development/libraries/xercesc/default.nix
+++ b/pkgs/development/libraries/xercesc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "xerces-c-${version}";
-  version = "3.1.1";
+  version = "3.1.3";
 
   src = fetchurl {
     url = "mirror://apache/xerces/c/3/sources/${name}.tar.gz";
-    sha256 = "0dl7jr26vlh5p3hps86xrwyafq6f21schc9q4zyxb48b3vvqa9x4";
+    sha256 = "0jav1cbwcyq4miy790dd62yrypf7n0j98vdin9ny30f9nwyzgm7k";
   };
 
   meta = {
diff --git a/pkgs/development/tools/build-managers/cargo/head.nix b/pkgs/development/tools/build-managers/cargo/head.nix
index d5a2dce66828..298177296a6c 100644
--- a/pkgs/development/tools/build-managers/cargo/head.nix
+++ b/pkgs/development/tools/build-managers/cargo/head.nix
@@ -5,7 +5,7 @@ with rustPlatform;
 
 with ((import ./common.nix) {
   inherit stdenv rustc;
-  version = "2016-01-10";
+  version = "2016-02-25";
 });
 
 buildRustPackage rec {
@@ -14,11 +14,11 @@ buildRustPackage rec {
   # Needs to use fetchgit instead of fetchFromGitHub to fetch submodules
   src = fetchgit {
     url = "git://github.com/rust-lang/cargo";
-    rev = "ca373452de159491354cf38279dbc19308c91e72";
-    sha256 = "0fx88b3ndvzhfwq159xavs0z5c7jww231kd65cbzyih9g0ab9x65";
+    rev = "e7212896dc1b182493a0252a2a126db8be067153";
+    sha256 = "1qbic7gp7cpihi40kfv3kagja8zsngica8sq9jcm9czb6ba44dsa";
   };
 
-  depsSha256 = "0csagk2dnwg5z0vbxilz1kzcygd4llw7s81ka0xn1g05x30jqrnn";
+  depsSha256 = "1xfpj1233p4314j6jmip0jjl5m3kj2wbac1ll3yvh7383zb83i1s";
 
   buildInputs = [ file curl pkgconfig python openssl cmake zlib makeWrapper ];
 
diff --git a/pkgs/development/tools/continuous-integration/cide/default.nix b/pkgs/development/tools/continuous-integration/cide/default.nix
index 1dc8f8def337..c8c35330e30e 100644
--- a/pkgs/development/tools/continuous-integration/cide/default.nix
+++ b/pkgs/development/tools/continuous-integration/cide/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, bundlerEnv, makeWrapper, docker }:
+{ stdenv, lib, bundlerEnv, makeWrapper, docker, git }:
 
 stdenv.mkDerivation rec {
   name = "cide-${version}";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin
     makeWrapper ${env}/bin/cide $out/bin/cide \
-      --set PATH ${docker}/bin
+      --set PATH ${docker}/bin:${git}/bin
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index c2473ce754c3..f416345028f9 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jenkins-${version}";
-  version = "1.649";
+  version = "1.650";
 
   src = fetchurl {
     url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
-    sha256 = "10lvrdd6mfgkz0rdc41hg9fai44vzxy6qlayfvkjg29xgqm0n9ya";
+    sha256 = "0iypkyjcsfj36j683a6yis4q0wil6m8l065fx8v2p7ba4j2ql00n";
   };
   meta = with stdenv.lib; {
     description = "An extendable open source continuous integration server";
diff --git a/pkgs/development/tools/galen/default.nix b/pkgs/development/tools/galen/default.nix
new file mode 100644
index 000000000000..169c8fdd68a0
--- /dev/null
+++ b/pkgs/development/tools/galen/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, jdk, unzip }:
+
+stdenv.mkDerivation rec {
+  pname = "galen";
+  version = "2.2.1";
+  name = "${pname}-${version}";
+
+  inherit jdk;
+
+  src = fetchurl {
+    url = "https://github.com/galenframework/galen/releases/download/galen-2.2.1/galen-bin-${version}.zip";
+    sha256 = "0zwrh3bxcgkwip6z9lvy3hn53kfr99cdij64c57ff8d95xilclhb";
+  };
+
+  buildInputs = [ unzip ];
+  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
+
+  buildPhase = ''
+  mkdir -p $out/bin
+  '';
+
+  installPhase = ''
+  cat galen | sed -e "s,java,$jdk/bin/java," > $out/bin/galen
+  chmod +x $out/bin/galen
+  cp galen.jar $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://galenframework.com;
+    description = "Automated layout testing for websites";
+    license = licenses.asl20;
+    maintainers = [ ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/development/tools/misc/ctags/default.nix b/pkgs/development/tools/misc/ctags/default.nix
index 26b186c11eab..584095c904d5 100644
--- a/pkgs/development/tools/misc/ctags/default.nix
+++ b/pkgs/development/tools/misc/ctags/default.nix
@@ -29,6 +29,9 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ simons ];
     platforms = platforms.unix;
+
+    # So that Exuberant ctags is preferred over emacs's ctags
+    priority = 1;
   };
 
 }
diff --git a/pkgs/development/tools/nimble/default.nix b/pkgs/development/tools/nimble/default.nix
new file mode 100644
index 000000000000..10a19d9e0963
--- /dev/null
+++ b/pkgs/development/tools/nimble/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, nim }:
+
+let
+  srcs = {
+    nimble = fetchFromGitHub {
+      owner = "nim-lang";
+      repo = "nimble";
+      rev = "v0.7.2";
+      sha256 = "0j9b519cv91xwn6k0alynakh7grbq4m6yy5bdwdrqmc7lag35r0i";
+    };
+    nim = fetchFromGitHub {
+      owner = "nim-lang";
+      repo = "nim";
+      rev = "v0.13.0";
+      sha256 = "14grhkwdva4wmvihm1413ly86sf0qk96bd473pvsbgkp46cg8rii";
+    };
+  };
+in
+stdenv.mkDerivation rec {
+  name = "nimble-${version}";
+  version = "0.7.2";
+
+  src = srcs.nimble;
+
+  buildInputs = [ nim ];
+
+  postUnpack = ''
+    mkdir -p $sourceRoot/vendor
+    ln -s ${srcs.nim} $sourceRoot/vendor/nim
+  '';
+  buildPhase   = ''
+    nim c src/nimble
+  '';
+  installPhase = "installBin src/nimble";
+
+  meta = with stdenv.lib; {
+    description = "Package manager for the Nim programming language";
+    homepage = https://github.com/nim-lang/nimble;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ kamilchm ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/development/tools/rust/rustfmt/default.nix b/pkgs/development/tools/rust/rustfmt/default.nix
index f67b1f00a0f8..28c88d6c15a2 100644
--- a/pkgs/development/tools/rust/rustfmt/default.nix
+++ b/pkgs/development/tools/rust/rustfmt/default.nix
@@ -3,15 +3,15 @@
 with rustPlatform;
 
 buildRustPackage rec {
-  name = "rustfmt-git-2015-12-23";
+  name = "rustfmt-git-2016-02-15";
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
     repo = "rustfmt";
-    rev = "c0b7de7c521dc65b2ad2b5a3c81fb56030f4af22";
-    sha256 = "1axnp8w26c3dwlx7bby3qi6385n301rlk1ndh5yaz7vkbpn4w9km";
+    rev = "65bc5c242de86f0651b34fd913ca338a880696e8";
+    sha256 = "02rdim0y5zg1r2zkfy6kj53idlbdybf3ckardbjsvdna5idc1hpz";
   };
 
-  depsSha256 = "1s2as7qc7jbksc16gj5cxxm52zw8h4nfgka66dmwwjlv9679wj9f";
+  depsSha256 = "1297vy5sgiq4xqdm27pa8f99qiwrl15hb2r1dydzgk7n4iqyir6c";
 
   meta = with stdenv.lib; {
     description = "A tool for formatting Rust code according to style guidelines";
diff --git a/pkgs/development/tools/sauce-connect/default.nix b/pkgs/development/tools/sauce-connect/default.nix
index 7f925da376b8..cc904153baf8 100644
--- a/pkgs/development/tools/sauce-connect/default.nix
+++ b/pkgs/development/tools/sauce-connect/default.nix
@@ -1,21 +1,27 @@
-{ stdenv, lib, fetchurl, zlib }:
+{ stdenv, lib, fetchurl, zlib, unzip }:
 
 with lib;
 
 stdenv.mkDerivation rec {
   name = "sauce-connect-${version}";
-  version = "4.3.6";
+  version = "4.3.13";
 
   src = fetchurl (
     if stdenv.system == "x86_64-linux" then {
       url = "https://saucelabs.com/downloads/sc-${version}-linux.tar.gz";
       sha1 = "0d7d2dc12766ac137e62a3e4dad3025b590f9782";
-    } else {
+    } else if stdenv.system == "i686-linux" then {
       url = "https://saucelabs.com/downloads/sc-${version}-linux32.tar.gz";
       sha1 = "ee2c3002eae3b29df801a2ac1db77bb5f1c97bcc";
+    } else {
+      url = "https://saucelabs.com/downloads/sc-${version}-osx.zip";
+      sha1 = "ihr4ynnyi464pafgqyl5xkhfi13yi76j";
     }
   );
 
+  buildInputs = [ unzip ];
+  phases = "unpackPhase installPhase" + (if stdenv.system == "x86_64-darwin" then "" else "patchPhase");
+
   patchPhase = ''
     patchelf \
       --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
@@ -35,6 +41,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfree;
     homepage = https://docs.saucelabs.com/reference/sauce-connect/;
     maintainers = with maintainers; [offline];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix
index 82fd1d65baf5..437300650419 100644
--- a/pkgs/misc/cups/default.nix
+++ b/pkgs/misc/cups/default.nix
@@ -5,7 +5,7 @@
 
 ### IMPORTANT: before updating cups, make sure the nixos/tests/printing.nix test
 ### works at least for your platform.
-let version = "2.0.4"; in
+let version = "2.1.3"; in
 
 with stdenv.lib;
 stdenv.mkDerivation {
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.cups.org/software/${version}/cups-${version}-source.tar.bz2";
-    sha256 = "1gaakz24k6x5nc09rmpiq0xq20j1qdjc3szag8qwmyi4ky6ydmg1";
+    sha256 = "1lyl3z01xhg9xb9c8m42398c6h9kw8qr6jwiv8bjdsjab11hv9rn";
   };
 
   buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb gnutls libpaper ]
@@ -53,7 +53,6 @@ stdenv.mkDerivation {
       # Idem for /etc.
       "PAMDIR=$(out)/etc/pam.d"
       "DBUSDIR=$(out)/etc/dbus-1"
-      "INITDIR=$(out)/etc/rc.d"
       "XINETD=$(out)/etc/xinetd.d"
       "SERVERROOT=$(out)/etc/cups"
       # Idem for /usr.
@@ -63,6 +62,8 @@ stdenv.mkDerivation {
       "CUPS_PRIMARY_SYSTEM_GROUP=root"
     ];
 
+  enableParallelBuilding = true;
+
   postInstall = ''
       # Delete obsolete stuff that conflicts with cups-filters.
       rm -rf $out/share/cups/banners $out/share/cups/data/testprint
diff --git a/pkgs/misc/drivers/gutenprint/default.nix b/pkgs/misc/drivers/gutenprint/default.nix
index 5be7f5ecff4d..e53ddf7143b3 100644
--- a/pkgs/misc/drivers/gutenprint/default.nix
+++ b/pkgs/misc/drivers/gutenprint/default.nix
@@ -1,7 +1,7 @@
 # this package was called gimp-print in the past
 { stdenv, lib, fetchurl, pkgconfig
 , ijs, makeWrapper
-, gimp2Support ? true, gimp
+, gimp2Support ? false, gimp
 , cupsSupport ? true, cups, libusb, perl
 }:
 
@@ -23,15 +23,25 @@ stdenv.mkDerivation rec {
     "--disable-static-genppd" # should be harmless on NixOS
   ];
 
+  # FIXME: hacky because we modify generated configure, but I haven't found a better way.
+  # makeFlags doesn't change this everywhere (e.g. in cups-genppdupdate).
+  preConfigure = lib.optionalString cupsSupport ''
+    sed -i \
+      -e "s,cups_conf_datadir=.*,cups_conf_datadir=\"$out/share/cups\",g" \
+      -e "s,cups_conf_serverbin=.*,cups_conf_serverbin=\"$out/lib/cups\",g" \
+      -e "s,cups_conf_serverroot=.*,cups_conf_serverroot=\"$out/etc/cups\",g" \
+      configure
+  '' + lib.optionalString gimp2Support ''
+    sed -i \
+      -e "s,gimp2_plug_indir=.*,gimp2_plug_indir=\"$out/lib/gimp/${gimp.majorVersion}\",g" \
+      configure
+  '';
+
   enableParallelBuilding = true;
 
   # Testing is very, very long.
   # doCheck = true;
 
-  installFlags =
-    lib.optionals cupsSupport [ "cups_conf_datadir=$(out)/share/cups" "cups_conf_serverbin=$(out)/lib/cups" "cups_conf_serverroot=$(out)/etc/cups" ]
-    ++ lib.optionals gimp2Support [ "gimp2_plug_indir=$(out)/${gimp.name}-plugins" ];
-
   meta = with stdenv.lib; {
     description = "Ghostscript and cups printer drivers";
     homepage = http://sourceforge.net/projects/gimp-print/;
diff --git a/pkgs/misc/emulators/pcsx2/default.nix b/pkgs/misc/emulators/pcsx2/default.nix
new file mode 100644
index 000000000000..63b221c9a3dc
--- /dev/null
+++ b/pkgs/misc/emulators/pcsx2/default.nix
@@ -0,0 +1,71 @@
+{ alsaLib, cmake, fetchFromGitHub, glib, gtk2, gettext, libaio, libpng
+, makeWrapper, perl, pkgconfig, portaudio, SDL2, soundtouch, stdenv
+, wxGTK30, zlib }:
+
+assert stdenv.isi686;
+
+stdenv.mkDerivation rec {
+  name = "pcsx2-${version}";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "PCSX2";
+    repo = "pcsx2";
+    rev = "v${version}";
+    sha256 = "0s7mxq2cgzwjfsq0vhpz6ljk7wr725nxg48128iyirf85585l691";
+  };
+
+  configurePhase = ''
+    mkdir -p build
+    cd build
+
+    cmake \
+      -DBIN_DIR="$out/bin" \
+      -DCMAKE_BUILD_PO=TRUE \
+      -DCMAKE_BUILD_TYPE=Release \
+      -DCMAKE_INSTALL_PREFIX="$out" \
+      -DDISABLE_PCSX2_WRAPPER=TRUE \
+      -DDOC_DIR="$out/share/doc/pcsx2" \
+      -DGAMEINDEX_DIR="$out/share/pcsx2" \
+      -DGLSL_SHADER_DIR="$out/share/pcsx2" \
+      -DGTK2_GLIBCONFIG_INCLUDE_DIR='${glib}/lib/glib-2.0/include' \
+      -DGTK2_GDKCONFIG_INCLUDE_DIR='${gtk2}/lib/gtk-2.0/include' \
+      -DGTK2_INCLUDE_DIRS='${gtk2}/include/gtk-2.0' \
+      -DPACKAGE_MODE=TRUE \
+      -DPLUGIN_DIR="$out/lib/pcsx2" \
+      -DREBUILD_SHADER=TRUE \
+      ..
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/PCSX2 \
+      --set __GL_THREADED_OPTIMIZATIONS 1
+  '';
+
+  nativeBuildInputs = [ cmake perl pkgconfig ];
+
+  buildInputs = [
+    alsaLib glib gettext gtk2 libaio libpng makeWrapper portaudio SDL2
+    soundtouch wxGTK30 zlib
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Playstation 2 emulator";
+    longDescription= ''
+      PCSX2 is an open-source PlayStation 2 (AKA PS2) emulator. Its purpose
+      is to emulate the PS2 hardware, using a combination of MIPS CPU
+      Interpreters, Recompilers and a Virtual Machine which manages hardware
+      states and PS2 system memory. This allows you to play PS2 games on your
+      PC, with many additional features and benefits.
+    '';
+    homepage = http://pcsx2.net;
+    maintainers = with maintainers; [ hrdinka ];
+
+    # PCSX2's source code is released under LGPLv3+. It However ships
+    # additional data files and code that are licensed differently.
+    # This might be solved in future, for now we should stick with
+    # license.free
+    license = licenses.free;
+    platforms = platforms.i686;
+  };
+}
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 84386efeb3af..5e6e73419d2e 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -101,7 +101,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/godlygeek/csapprox";
       rev = "7981dac51d8b6776985aa08cb7b5ee98ea7f2ddd";
-      sha256 = "8ccb47eb79c7ab63109d32158388812bdca340985527af4f2a5489ff8683389f";
+      sha256 = "17rqhf3gz2al597sy9smk10a7p1bh648659jkl867ay7g7mlgjwc";
     };
     dependencies = [];
 
@@ -112,7 +112,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/chrisbra/CheckAttach";
       rev = "a1d86be7e69b25b41ce1a7fe2d2844330f783b68";
-      sha256 = "b8921c826f5a122e9b128301c620b8b3d3fd88a15a2b0634fdea01062fba2c1f";
+      sha256 = "07rcp8phc0gazls0cassl64gvlxkp0hcc0c32adjw4jsdy11r4mq";
     };
     dependencies = [];
 
@@ -123,7 +123,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/mattn/gist-vim";
       rev = "88c331e2e07765090112a396e5e119b39b5aa754";
-      sha256 = "0da7e356b4a50921c1a67edcf066785ed637750094f42ac1bc61ae82a2f7f9c5";
+      sha256 = "1igryyi85bk1pk0jmx4l01skgmjyg1kg1p3ylv0j22d5nibf79qd";
     };
     dependencies = [];
 
@@ -134,7 +134,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/Twinside/vim-hoogle";
       rev = "a5db36f048ac16ab9774fc86f36cd4ae9a444932";
-      sha256 = "31cb37f9fa38e15a52bc35c050e173afc2af5fe8b3d6e5f2026cd5a89bb1a5a0";
+      sha256 = "1855n6dsimbc0brfbmmkx1gszhmgfghm1h1mpi95mq9qzbwkgjri";
     };
     dependencies = [];
 
@@ -145,7 +145,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/altercation/vim-colors-solarized";
       rev = "528a59f26d12278698bb946f8fb82a63711eec21";
-      sha256 = "a1b2ef696eee94dafa76431c31ee260acdd13a7cf87939f27eca431d5aa5a315";
+      sha256 = "05d3lmd1shyagvr3jygqghxd3k8a4vp32723fvxdm57fdrlyzcm1";
     };
     dependencies = [];
 
@@ -156,18 +156,18 @@ rec {
     src = fetchgit {
       url = "git://github.com/ervandew/supertab";
       rev = "66511772a430a5eaad7f7d03dbb02e8f33c4a641";
-      sha256 = "fd49314e9f3ca3262e40b67f05311de94f50d03c946fc53e25b3bd61e33eb418";
+      sha256 = "065l7vin3gdk4lzcavwl7k850kz93lqhazxn80p2d8rwkx732jgx";
     };
     dependencies = [];
 
   };
 
   Syntastic = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Syntastic-2016-01-18";
+    name = "Syntastic-2016-02-20";
     src = fetchgit {
       url = "git://github.com/scrooloose/syntastic";
-      rev = "d1a179d750bd1d136d7f38e69f2c5b8439886de7";
-      sha256 = "e2cfa0fa27b0249b1e5d783883f4c72a13a167a869218d73ae1b2cad631c3a28";
+      rev = "8f97e64c78e9ade6cf09fc5d5446f5d2a8deaa35";
+      sha256 = "1xxmcr5r0cf2nyp2c2dfxm38x4c19dmax1g2m4clnys5dak7lsdd";
     };
     dependencies = [];
 
@@ -178,7 +178,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/godlygeek/tabular";
       rev = "60f25648814f0695eeb6c1040d97adca93c4e0bb";
-      sha256 = "28c860ad621587f2c3213fae47d1a3997746527c17d51e9ab94c209eb7bfeb0f";
+      sha256 = "03zbpyvrw82cp6d1xm8pgi94cxwrlg8lgbiz471z51qmcann1j18";
     };
     dependencies = [];
 
@@ -189,7 +189,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/majutsushi/tagbar";
       rev = "7b36c46d17d57db34fdb0adac9ba6382d0bb5e66";
-      sha256 = "346773e772772d1c68318effd8e6c8c8b36f61cfd9c72a85c0bfcec9843f13c7";
+      sha256 = "1iqk7y2ckkmzq22jmiyrrxhnzcy8r3kdizwf65l1qbbpfbkp6rrl";
     };
     dependencies = [];
 
@@ -200,7 +200,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/scrooloose/nerdcommenter";
       rev = "1f4bfd59920c101a30a74a07b824608a6e65f3fe";
-      sha256 = "4ef10aafc54bcb3e119cac7f4b0065d8dc09d43d92dc069a499e96e935afb83d";
+      sha256 = "0gdqmwsyk5ly96d0dp4j7pa0kp6qcl04nzxckh8kxjsbqnphmwaf";
     };
     dependencies = [];
 
@@ -211,18 +211,18 @@ rec {
     src = fetchgit {
       url = "git://github.com/scrooloose/nerdtree";
       rev = "4ebbb533c3faf2c480211db2b547972bb3b60f2b";
-      sha256 = "f730aa7347d6e710451514137985265338f8f60c4ab7f98e2a0eed65071e08ed";
+      sha256 = "1v883q3nbv8f5a7gkdsa1kvghf2k4s2pj4ql2m2i1ryn8xrslc7p";
     };
     dependencies = [];
 
   };
 
   UltiSnips = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "UltiSnips-2016-01-20";
+    name = "UltiSnips-2016-02-13";
     src = fetchgit {
       url = "git://github.com/SirVer/ultisnips";
-      rev = "3f2c591c3b547e7d7b80d15897ac7a9e3bf85ec8";
-      sha256 = "6644e8603202adc1ade58a972164e5e6470248ca1d2c40cd949b8f35e67b8019";
+      rev = "25882e95cd8981308c4b2d87dcc2c2d6ecd73a6d";
+      sha256 = "0bz1qywavysyqb2ni7s9k96pfwdldvhfz79xp5qcw352d1ii7s9n";
     };
     dependencies = [];
 
@@ -233,18 +233,18 @@ rec {
     src = fetchgit {
       url = "git://github.com/vimoutliner/vimoutliner";
       rev = "cb41cfd6d636e1243e7e9c46b35fc5cb50588069";
-      sha256 = "6faf7e34f4793b2445dd9c3facbf19cd6c1c9ab39b83dfb3d89626314ef1850f";
+      sha256 = "03w5y57329lnv2rxz0wvnfd1qv6d36zsqgwwvm2j8fvryhs7xbvg";
     };
     dependencies = [];
 
   };
 
   WebAPI = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "WebAPI-2015-10-05";
+    name = "WebAPI-2016-01-25";
     src = fetchgit {
       url = "git://github.com/mattn/webapi-vim";
-      rev = "dfc60635e610f9200646a84d11887af9e3d50b10";
-      sha256 = "7bc85fe344854e02377f4ac931a015ef1ffd6de14f1d0d8fca04785beabe584b";
+      rev = "5726e8270e2a774c7200ca79868b4128c0c57ad7";
+      sha256 = "0gfzhny2i6jwkcw5ayhinq0ia3jb086h7bvmxy55lgr0a7ykhvh1";
     };
     dependencies = [];
 
@@ -267,11 +267,11 @@ rec {
   };
 
   commentary = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "commentary-2015-09-12";
+    name = "commentary-2016-02-15";
     src = fetchgit {
       url = "git://github.com/tpope/vim-commentary";
-      rev = "e0f4850d78137a35b9461c530078bd77f39e4dce";
-      sha256 = "64896579a5c682e7da2cce7292cba16c4186a42ff68d0e92143fa7345d28cf0d";
+      rev = "4dcfc318e0b02fdbb0c2d9ff77cf3562b46eea25";
+      sha256 = "1l5krnkx7bx3xry0nj0amwgg6bhqw8ir0jzj75ibvklkg5lmqbxl";
     };
     dependencies = [];
 
@@ -282,7 +282,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/FelikZ/ctrlp-py-matcher";
       rev = "8a803267a741cff3d6147650745f83c8f2125578";
-      sha256 = "27fc887bdad36bd33a0e8645465e287c20158533408b241f46141528313baa34";
+      sha256 = "0d5a7cqjh58l8qgj92s06f2ia83w51g4cic61qxd6sykv9xqiz17";
     };
     dependencies = [];
 
@@ -293,7 +293,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/amiorin/ctrlp-z";
       rev = "d1a69ec623ce24b9a30fc8fe3cd468c322b03026";
-      sha256 = "d40ba49edba53805779706633ec3ee0056dd88835cc6b2e88fbe628a5e90da9a";
+      sha256 = "16nsj1g8lqmyizlb5ijwhf4dsmh0xv1kwqq6jxvhaf55vfga82yl";
     };
     dependencies = [];
 
@@ -304,29 +304,29 @@ rec {
     src = fetchgit {
       url = "git://github.com/int3/vim-extradite";
       rev = "52326f6d333cdbb9e9c6d6772af87f4f39c00526";
-      sha256 = "91f744ee73faad92adb67a698b58a14cfa0fbb65f6d483a96a1c5b139ee1cdf1";
+      sha256 = "1wfdw6g16nqwdalq7m7ncnxhzyjcl5c8nsbsnsnr5bgsfgp49xwi";
     };
     dependencies = [];
 
   };
 
   fugitive = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "fugitive-2016-01-08";
+    name = "fugitive-2016-02-24";
     src = fetchgit {
       url = "git://github.com/tpope/vim-fugitive";
-      rev = "fd36aa9c61e06d71befdbe8931f97137c489b065";
-      sha256 = "ef87be5ad469368f11185db32a8acc14ac08f1b151d0c58492042b0a9314c87e";
+      rev = "008b9570860f552534109b4f618cf2ddd145eeb4";
+      sha256 = "0nj6airs00q3f1ly29k0nk3ypznzsylqm8n0wakllg86qic4xjlr";
     };
     dependencies = [];
 
   };
 
   ghcmod = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "ghcmod-2016-01-20";
+    name = "ghcmod-2016-01-25";
     src = fetchgit {
       url = "git://github.com/eagletmt/ghcmod-vim";
-      rev = "a7c76b979918889fa6de02a3f712925931f62cb8";
-      sha256 = "2ad76948c97e9141eca81423a8d27d092e0f5c62818c66f08679d9cae70268f6";
+      rev = "815616e8b7d64677d6092e95bc6a3e83d2e035d4";
+      sha256 = "1s0wxccmxi0w7ywhwyxggv5n8lcjgh68rhbpp2zrv5n5sg0das73";
     };
     dependencies = [];
 
@@ -337,7 +337,18 @@ rec {
     src = fetchgit {
       url = "git://github.com/LnL7/vim-nix";
       rev = "f0b7bd4bce5ed0f12fb4d26115c84fb3edcd1e12";
-      sha256 = "52dbdd4d5bc12988eb62d9022109dbd8b1c5716c27753ce187db6c2fb6737664";
+      sha256 = "0r3nffv2yv6vhzhkqx97diqwbcfqvc4j20nrcbmqhaf1bd6xvnsj";
+    };
+    dependencies = [];
+
+  };
+
+  vim-autoformat = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-autoformat-2016-02-24";
+    src = fetchgit {
+      url = "git://github.com/Chiel92/vim-autoformat";
+      rev = "a2f9b88bcd66fe47a44ae8b5e1002c2d8e6f4ad4";
+      sha256 = "1fahm3dzcmpr7f9rrhzhyrj6fz95fblxal57gajcc3g136bizbnj";
     };
     dependencies = [];
 
@@ -348,18 +359,18 @@ rec {
     src = fetchgit {
       url = "git://github.com/ap/vim-css-color";
       rev = "7ad79c7b77bd83296d7a10e596860d9269070207";
-      sha256 = "bd6ad1ddad9d520c018083bab8eb53575f99572f3e079abad452db0bf8871708";
+      sha256 = "020phzw0pnsjsjx9l1ry5xbrjpspagmvifl3h00hqllxmpfx2smx";
     };
     dependencies = [];
 
   };
 
   neomake = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neomake-2016-01-21";
+    name = "neomake-2016-02-20";
     src = fetchgit {
       url = "git://github.com/benekastah/neomake";
-      rev = "e0fa23401c1231bd942779c79c5c71d08f28e440";
-      sha256 = "0d0536188127538cacedda77a81e0749d6207fa882ca1f34f36852d009aa73f9";
+      rev = "645c433b73f527badaac5e315f1ea16e7d34ef99";
+      sha256 = "0vprly61xhl7pqqp8nfr8vanl6ddq7kf5asqz4kpfdpgnbdxrdlc";
     };
     dependencies = [];
 
@@ -370,7 +381,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/bitc/vim-hdevtools";
       rev = "474947c52ff9c93dd36f3c49de90bd9a78f0baa1";
-      sha256 = "bf5f096b665c51ce611c6c1bfddc3267c4b2f94af84b04482b07272a6a5a92f3";
+      sha256 = "1wwjb9m2l9q75d408jzq9bwv5i376bfgs6vc3ihwwlawcrmhjpxz";
     };
     dependencies = [];
 
@@ -381,7 +392,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/christoomey/vim-tmux-navigator";
       rev = "1298b71c420f1d0abceba3f35cc710131f84d73b";
-      sha256 = "bde962fe1441cd6f030d9704e6e71117fb43d827b8952d3e1d44009c297b4eb5";
+      sha256 = "1dafgclrq0243lz2v5dq4zc47yqp27kyc14p1l1nzka12kz65sdx";
     };
     dependencies = [];
 
@@ -392,29 +403,29 @@ rec {
     src = fetchgit {
       url = "git://github.com/ctrlpvim/ctrlp.vim";
       rev = "7f74368d85bb521951dd58123349ce66b947d058";
-      sha256 = "fecd1137845ccfe72a1d2e3e1660f8e2264dc46cc34dfa9f1037f14f84115f33";
+      sha256 = "0csz2624zw9p22gzlkf3dk24s9p2z1h1cgif3lmfgkswhhvi3kgy";
     };
     dependencies = [];
 
   };
 
   vim-jade = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-jade-2016-01-21";
+    name = "vim-jade-2016-02-11";
     src = fetchgit {
       url = "git://github.com/digitaltoad/vim-jade";
-      rev = "319cba1ee5313e8b50fd912d10dfe40a171f0312";
-      sha256 = "280ef32d862793b42685aba4802f919928b52b93328d0cef35584a83baf884d0";
+      rev = "0a7ec2edaa3f7fbe353f8fd5bf06d3c043d70c81";
+      sha256 = "0qlwbywnx6sl2xacdialpmg1d2wmjkdsdklz97k8086glkairs10";
     };
     dependencies = [];
 
   };
 
   neco-ghc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neco-ghc-2016-01-20";
+    name = "neco-ghc-2016-02-13";
     src = fetchgit {
       url = "git://github.com/eagletmt/neco-ghc";
-      rev = "26515b4219c04448d37d6cb4a3c54f2d3080b056";
-      sha256 = "265ee24be8f9bf6d067213a751fd54ddcb53570831e7520af41c3eb7f5184fcd";
+      rev = "a7b3dc018dff0cbe033c4c3939e1bd777f023083";
+      sha256 = "0f48y8fnh9wp1iyq8w7sqzsw3vqm348vqs4p81nwnmwnhgpzxfri";
     };
     dependencies = [];
 
@@ -425,18 +436,18 @@ rec {
     src = fetchgit {
       url = "git://github.com/esneider/YUNOcommit.vim";
       rev = "981082055a73ef076d7e27477874d2303153a448";
-      sha256 = "4bfd80720c353884e5c373b5457397a63e5e2e4ab4a97d6ce86c1740ac3b4c56";
+      sha256 = "0mjc7fn405vcx1n7vadl98p5wgm6jxrlbdbkqgjq8f1m1ir81zab";
     };
     dependencies = [];
 
   };
 
   vim-go = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-go-2016-01-22";
+    name = "vim-go-2016-02-25";
     src = fetchgit {
       url = "git://github.com/fatih/vim-go";
-      rev = "1beac4aadccb921b3cb264a8e254b75c8a326c21";
-      sha256 = "02e92ab38a667c0355a4e5c48e1fc53a7ad416208e9151ff4a9cbd7d477c0fc6";
+      rev = "c264aec72eac21f868fdfff2aef67b9ca21aab74";
+      sha256 = "1yld56l4bl17r9s1rn72fqfkrjpm96n4wx3qv9hk5vd0yn0nw7y1";
     };
     dependencies = [];
 
@@ -447,18 +458,18 @@ rec {
     src = fetchgit {
       url = "git://github.com/flazz/vim-colorschemes";
       rev = "28a989b28457e38df620e4c7ab23e224aff70efe";
-      sha256 = "5308c874a34dc03256ece2e54ab7b92c8384ebb4137436582fd4aa6c38ad36e5";
+      sha256 = "1r9nmlw6ranl5xc3cx0knkmq90rcp6vlmrg2xib35h2dldsch22k";
     };
     dependencies = [];
 
   };
 
   idris-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "idris-vim-2016-01-14";
+    name = "idris-vim-2016-01-29";
     src = fetchgit {
       url = "git://github.com/idris-hackers/idris-vim";
-      rev = "09772ea37a83f8633890fc5cd9221bcf6e22c157";
-      sha256 = "28eab2793950781a416e76657dfdcb58601c31ffafb336e3beb9790eef6a268d";
+      rev = "e1711749f5078f5a9fa53cd15a37627ea9d239f2";
+      sha256 = "0mbywk1mwbx3hjzrv7ypp5m800xjj08hxlfmd0piljg41xwkgk5q";
     };
     dependencies = [];
 
@@ -469,18 +480,18 @@ rec {
     src = fetchgit {
       url = "git://github.com/itchyny/calendar.vim";
       rev = "2a6c13ee8056fe5b82ce6529f426ed63096dc6bc";
-      sha256 = "8228b6e97c42254eb8e8e35e391f24a7fc2f55753af913fe1605b9ade0ff9d98";
+      sha256 = "164xzzhavf852vz17y9sfmajzz574hgkjpp3x2w4w9a2gklvca42";
     };
     dependencies = [];
 
   };
 
   thumbnail-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "thumbnail-vim-2016-01-14";
+    name = "thumbnail-vim-2016-02-16";
     src = fetchgit {
       url = "git://github.com/itchyny/thumbnail.vim";
-      rev = "cf4463dc31722ab116bc61779c515a4b7a1e9af1";
-      sha256 = "7037916b16f72ea2aaff666e4fa3e1f9546995c0d6fb4634d2dbfac5b184bb26";
+      rev = "3d404c89c7ea783c8386c2e1f03086373f764387";
+      sha256 = "02wz7832kyrmwsfpniahpn3b1q1nw5h29zq0l3kj7n19xh5ighm1";
     };
     dependencies = [];
 
@@ -491,7 +502,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/ivanov/vim-ipython";
       rev = "42499f094b805b90b683afa5009cee99abd0bb75";
-      sha256 = "7f59c3edde4c2b8555d703c96e855ca36665aacdca5a30d1e9e21c31bc252f2d";
+      sha256 = "0b9g4ny32772x78k0nnarnm6arm3bj2nxj83sxaqaascvvnw6nbz";
     };
     dependencies = [];
 
@@ -502,7 +513,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/jceb/vim-hier";
       rev = "0b8c365263551a67404ebd7e528c55e17c1d3de7";
-      sha256 = "f62836545abfe379f9c5410da28409947407cd282ef784b2db89aed0756a1785";
+      sha256 = "118pd9sx1bl9vfr89xrf536hfx4l162a43a1qpwpkqxzb9a3ca7n";
     };
     dependencies = [];
     buildInputs = [ vim ];
@@ -513,7 +524,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/jeetsukumaran/vim-buffergator";
       rev = "9a6a946a41bcf492dfe8da5eee4cc2ee3d55c77f";
-      sha256 = "6df3d1bffb42f7a96b3136ed80534380ba9e2f508b14dbd665260ffe240ccfee";
+      sha256 = "1vng1hjgw3r6cpbdn54ba0prxfl08d9q1v9n65mskxs2zfzx3wvd";
     };
     dependencies = [];
 
@@ -524,7 +535,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/jgdavey/tslime.vim";
       rev = "4a8091956e331d7b1d4187a2883b720dfec7e9dd";
-      sha256 = "e63113f80c056484c462f6d1eb4634cbe4c6c29170f76f4c992adc17b3539a25";
+      sha256 = "09csafrigp1ak566zxvhj71cdr6b6i3fplgncb288r051kw16cg6";
     };
     dependencies = [];
 
@@ -535,18 +546,18 @@ rec {
     src = fetchgit {
       url = "git://github.com/jistr/vim-nerdtree-tabs";
       rev = "0decec122e9bb3e9328b01fa20a9650e79cc6ca7";
-      sha256 = "ac4bfc3ae18e8a62ef8e20d0dd0a0f7c172d0ebd5fed58c533ccccec3ae7bdc2";
+      sha256 = "1hmxwwxfrk6c6g2mivazpl72s5vw1w5dvl10ivpn52lfw4xgqjxc";
     };
     dependencies = [];
 
   };
 
   vim-colorstepper = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-colorstepper-2015-08-04";
+    name = "vim-colorstepper-2016-01-28";
     src = fetchgit {
       url = "git://github.com/jonbri/vim-colorstepper";
-      rev = "5783c2567a193e7604780353d6f8ce445b2ab191";
-      sha256 = "a9ab0c724a827eba9c74d93dda118863656d27df7d5d26b971e0ac71c87f7e59";
+      rev = "f23ba0d995d41508a2dc9471cf31d3d01a4b5f05";
+      sha256 = "05ykxn0gmh8liz0zv5hb8df1ajggxp88izq3825m0yb3ma3k1jqs";
     };
     dependencies = [];
 
@@ -557,7 +568,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/joonty/vim-xdebug";
       rev = "a4980fa65f7f159780593ee37c178281691ba2c4";
-      sha256 = "1ccb0e63eaf68548feb1c37b09c07c84b6bea9b350c4257549f091aa414601e2";
+      sha256 = "1qh18r0sm4gh95sjbi2hnflvxdl4gk00jyy3n7z4i1gnx9ihxjqw";
     };
     dependencies = [];
     postInstall = false;
@@ -568,7 +579,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/junegunn/limelight.vim";
       rev = "153e3f7b78484eb4f5d69833ebf628f44b94996d";
-      sha256 = "85a5188dfd51a170b88e1df5ad4f5ae1cfb2e5c54dfbb734d7f4d85cf28eb5fd";
+      sha256 = "1zdmivr5rn7lswsbgysdqpjv5kz1b97svx8xisw718aizn6ii9c5";
     };
     dependencies = [];
 
@@ -579,7 +590,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/junegunn/vim-peekaboo";
       rev = "b14a7496897bb0a520bed4f519ca79a683bafeec";
-      sha256 = "926f42ee4271395ad8a3526e7b0f1077482cec2f557595d3365ac86eb88ae8c3";
+      sha256 = "1hz8iaw6xj2s6v9raxam5zn2qj3p207pnvjjlgc5lfbi8bp44vwj";
     };
     dependencies = [];
 
@@ -590,7 +601,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/justincampbell/vim-eighties";
       rev = "62a9719df45fddd0456bf47420fc4768f9c8f5a5";
-      sha256 = "b3386d1c40650e5c0ebda2105d1404cfb2aab74153e13bace4a73bc667d91e81";
+      sha256 = "108yv5kwcfx7wjn3pqak86vsmcng0ha5s452pl75q3k580f6sf5k";
     };
     dependencies = [];
 
@@ -601,7 +612,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/latex-box-team/latex-box";
       rev = "3c2901e12cb78bfb2be58ba4c62a488612550fe1";
-      sha256 = "8af2c45209c39438da8481183a1f14885891db73454bb4b16d24799453184e81";
+      sha256 = "10af319r8y94dnqv8js5fgdr2n482hgkl641hkd3i563159c9wla";
     };
     dependencies = [];
 
@@ -612,40 +623,40 @@ rec {
     src = fetchgit {
       url = "git://github.com/lepture/vim-jinja";
       rev = "4412484b410b15caecd71f2e52758b2a90ea124d";
-      sha256 = "650c7f23688e8982f30be3f7d45b73d9c1d283f10a6829e518e2583b4a52befc";
+      sha256 = "1z5ya953nn7233jjjs0ay61x5hfrfddx9xz31grq52cfd0ipy335";
     };
     dependencies = [];
 
   };
 
   vimtex = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vimtex-2016-01-15";
+    name = "vimtex-2016-02-23";
     src = fetchgit {
       url = "git://github.com/lervag/vimtex";
-      rev = "1aedd5a7464c93af5af86fec2f4cfce97d5f2947";
-      sha256 = "5fcc46c0dcfd41e15dfdbc66417834e1b933cfb7ae3de9e16cfd3975bc196ba1";
+      rev = "ec5e0df3607de6bf6562e60d4fe2759519e9f9a7";
+      sha256 = "0ld27rr5lnqzlhqpjrkgvrgs7h1hdsrwswkg7whynw83vilal8bd";
     };
     dependencies = [];
 
   };
 
   vim-easymotion = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-easymotion-2016-01-22";
+    name = "vim-easymotion-2016-02-15";
     src = fetchgit {
       url = "git://github.com/lokaltog/vim-easymotion";
-      rev = "799491e007515890aff363b6eac5dbc9c5aa7f80";
-      sha256 = "037ee34adc0811571c536cdd37fcfa2d483dd76276380c8858dfe134893bf5e7";
+      rev = "649120e90e92bc2ae5361693fa1e4dd2d02c1822";
+      sha256 = "1anh1yflahbsmw3zmgm9xzvpz3c4jh1crk695a6p2sjvf3rr68av";
     };
     dependencies = [];
 
   };
 
   vim-xkbswitch = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-xkbswitch-2016-01-12";
+    name = "vim-xkbswitch-2016-01-31";
     src = fetchgit {
       url = "git://github.com/lyokha/vim-xkbswitch";
-      rev = "46858cbe11a8d1a2abc94de8c817465d0020d6f6";
-      sha256 = "36f89ca04c4fa15f4b792620660fefc48f31233351dcc0387d2c4ee0f3c50bbf";
+      rev = "89fa3fc16251f2e97281d29ade3ee022ba285003";
+      sha256 = "16wahaz9d6jyqlvmsn764xqircrwaap3pn4fbgmly7vfmdvq4p8b";
     };
     dependencies = [];
     patchPhase = ''
@@ -656,11 +667,11 @@ rec {
   };
 
   vim-startify = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-startify-2016-01-12";
+    name = "vim-startify-2016-02-15";
     src = fetchgit {
       url = "git://github.com/mhinz/vim-startify";
-      rev = "8545f6f553640dc0318582c9749c893f2be3345e";
-      sha256 = "cf98c35c106998d7432df572501f7e3d9e452e8104eec3726e9fa6c94c592029";
+      rev = "23e043cc828b76524edc09f7dd091753dd1c7f12";
+      sha256 = "0cplcpl9a2nhnmnh1h13pxf3hg823frhjmdxssyk35snf6ycgm24";
     };
     dependencies = [];
 
@@ -671,7 +682,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/mkasa/lushtags";
       rev = "3d7229b07b47ab2fc188d7db63b33dfcd63a1802";
-      sha256 = "f5b6eb7b53a5202d0e55c57d6f4fd7b274dfb4224d8d94c91b708096b4fc07b9";
+      sha256 = "1f87zjs9d03h3g4r93ad4asdyx5jsx7nyzf5al72s855adxypdpm";
     };
     dependencies = [];
 
@@ -682,7 +693,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/nbouscal/vim-stylish-haskell";
       rev = "c664376ba814de3f87cb7641f90b2c6a9dd53671";
-      sha256 = "12a9aad40112200060c3ee86f96589a264db287bdfeb3eb6fdf0f22a6656a5f6";
+      sha256 = "1xm5ark2mwphznv3xsyzgcldnr52i5jzk1pfqdh0080j07aama8j";
     };
     dependencies = [];
 
@@ -693,7 +704,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/osyo-manga/shabadou.vim";
       rev = "c5af30bb0c028d53cfd89e00cab636c844034a9a";
-      sha256 = "392efa8a5e725219e478b571d9a30ddba88d47662467ed3123a168e8b55c4de6";
+      sha256 = "1rjdbjsyhs514cqysrr4cr3qva6v1nixjwdmg3j1jlkjbs5glbir";
     };
     dependencies = [];
 
@@ -704,76 +715,73 @@ rec {
     src = fetchgit {
       url = "git://github.com/osyo-manga/vim-watchdogs";
       rev = "ebcf3df39007aa5d65910f44eb20c9caea9007df";
-      sha256 = "3261d098ae472ec29159b724cf4851d6304d7798e3da6daa4d34be8d308b1a2c";
+      sha256 = "0b0sicq8vgil9nm6vnp3k1vlsc6na54cy95pb68w4bj7mscd0q9j";
     };
     dependencies = [];
 
   };
 
-  racer = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "racer-2016-01-22";
+  vim-racer = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-racer-2016-02-02";
     src = fetchgit {
-      url = "git://github.com/phildawes/racer";
-      rev = "1021df4b42436673f0124a62cad09e62d181635d";
-      sha256 = "cef501a639da79bce31532b5f06570bd9c255a3d29ac97c6a4b67d640758bddb";
+      url = "git://github.com/racer-rust/vim-racer";
+      rev = "ec26ab4ca71a5a805339e1243a691c9f6472eeaa";
+      sha256 = "0c70s1dymvp4ji81z2302j2dzl7z8sndvzpf2dwwl14fwlar52db";
     };
     dependencies = [];
-    buildPhase = ''
-      find . -type f -not -name 'racer.vim' -exec rm -rf {} \;
-      rm -rf editors images src
-    '';
+
   };
 
   neocomplete-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neocomplete-vim-2016-01-22";
+    name = "neocomplete-vim-2016-02-20";
     src = fetchgit {
       url = "git://github.com/shougo/neocomplete.vim";
-      rev = "1606b89be1c4718115503156a657344bb3c62593";
-      sha256 = "18c11d7f2aab440d895a742d63c58df5aa7d6353cbbf396ff31d1c85c617295a";
+      rev = "fe8aa93a8a6030af3d208f2ecc92096cb3d52693";
+      sha256 = "12lxb64jnjgppadli4g388cmf3mg5addkml03xmb94vpyf65cprx";
     };
     dependencies = [];
 
   };
 
   neosnippet-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neosnippet-snippets-2016-01-22";
+    name = "neosnippet-snippets-2016-02-15";
     src = fetchgit {
       url = "git://github.com/shougo/neosnippet-snippets";
-      rev = "ac866f64a507f8a9c7e2691d947e5eaea679e50b";
-      sha256 = "b1493c4b26ec68fab5e994f462c71f8db0341a2d4b8e42c4ee4f2604562b1247";
+      rev = "4e7b0a3962742eccaae298100e23e599d384ea67";
+      sha256 = "1299wjmwc82x9z6jcy8332lk6jwnjhizgqzg9jf57704n312py8v";
     };
     dependencies = [];
 
   };
 
   neosnippet-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neosnippet-vim-2016-01-20";
+    name = "neosnippet-vim-2016-02-24";
     src = fetchgit {
       url = "git://github.com/shougo/neosnippet.vim";
-      rev = "52f8a2948957018572760837c165113dbb450e2b";
-      sha256 = "a3451afd1896c0198fa9a3f3fd354efd2d0c7f1b59c15b43adf5db1b6c5e276b";
+      rev = "e908126f402c4c0f4ff6b21c9dd0e5349f39e585";
+      sha256 = "09r0b199fk4m5zvc1f1x2lwyapxhaws1lvvm69jjwp1x4vhfdvjv";
     };
     dependencies = [];
 
   };
 
   unite-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "unite-vim-2016-01-17";
+    name = "unite-vim-2016-02-25";
     src = fetchgit {
       url = "git://github.com/shougo/unite.vim";
-      rev = "c9ce3b13c19352e3b791db227aa373c0b028d656";
-      sha256 = "34319f371b11d97ca3b08b367c919f534bff13a8ab10cf532207e1bf62092f72";
+      rev = "65dffd7a27d9cbb0e026621c59d4ccc6073202bf";
+      sha256 = "0m57f4kb8vh8z804qsahn94d3rcaqianpxfb3d0cd2d7v1cbgm71";
     };
     dependencies = [];
 
   };
 
   vimproc-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vimproc-vim-2016-01-06";
+    name = "vimproc-vim-2016-02-16";
     src = fetchgit {
       url = "git://github.com/shougo/vimproc.vim";
-      rev = "aa075b9b56839e1adb08421d2e9837f90e59acad";
-      sha256 = "bc587f1cca4dfe8f22af5eecf290a624cbebfdb989906cc02d5471325464b301";
+      rev = "78cbb5c683026085de133f160929ccc56a6b203a";
+      sha256 = "0hw6ghldrg9zvnkh3j9r9ldi1lzhda71gd630zj09wlaz70x60nj";
     };
     dependencies = [];
     buildInputs = [ which ];
@@ -788,11 +796,11 @@ rec {
   };
 
   vimshell-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vimshell-vim-2015-12-23";
+    name = "vimshell-vim-2016-02-18";
     src = fetchgit {
       url = "git://github.com/shougo/vimshell.vim";
-      rev = "a5b3d99ba84e76cf94195c37ab762aef5f7b6e25";
-      sha256 = "9a58b00cca9b2cf7ef73cdef2174ab69b7fb427130e5b125b96c6b385dec1947";
+      rev = "f51ad1e3b4a897f32bb7ca0382f8fb25519e0d11";
+      sha256 = "17zk2sm9n7cyhf92613vpqgaq74z4x61p4pxvvl25fc44bsddndf";
     };
     dependencies = [ "vimproc-vim" ];
   };
@@ -802,29 +810,29 @@ rec {
     src = fetchgit {
       url = "git://github.com/sjl/gundo.vim";
       rev = "e7fe41024ace9047eee610f23311d44fd9d917c0";
-      sha256 = "30955656dd2cb6017e14658a3a5e98c79ec87ff1264b70cd6f628a4f3216bfcd";
+      sha256 = "1kdz2qr4z2k2dz6p0jr6y5zwi7n7k1g3m2k52iz03dicvmb5d59h";
     };
     dependencies = [];
 
   };
 
   vim-hardtime = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-hardtime-2014-10-21";
+    name = "vim-hardtime-2016-02-17";
     src = fetchgit {
       url = "git://github.com/takac/vim-hardtime";
-      rev = "b401c72528d1c23e4cc9bc9585fda4361d0199bf";
-      sha256 = "65e4bda7531076147fc46f496c8e56c740d1fcf8fe85c18cb2d2070d0c3803cd";
+      rev = "7c6a6ec70a1f8a1f8c3ccd21041f84375eb4c160";
+      sha256 = "129pwjb3sjz4bffa5cysmk4gy5xd22na4i84ackwx77sw7n6y9kv";
     };
     dependencies = [];
 
   };
 
   vim-quickrun = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-quickrun-2015-12-28";
+    name = "vim-quickrun-2016-01-27";
     src = fetchgit {
       url = "git://github.com/thinca/vim-quickrun";
-      rev = "da5328d0aec495e4dc25232fd769a8a2e56d8f7d";
-      sha256 = "a70e2ffa05a2cc2306483e3ecc09972bcdf2d11bfafcfbf3f8195e23475e7102";
+      rev = "ac9f4be0698dffb30ebdf284f8ba5abbaab5eaca";
+      sha256 = "1g8s4h2a9iiq7d0j99ajqkl562m1w0vwa73riiz7axdmjz34vjwl";
     };
     dependencies = [];
 
@@ -835,18 +843,18 @@ rec {
     src = fetchgit {
       url = "git://github.com/tomasr/molokai";
       rev = "c67bdfcdb31415aa0ade7f8c003261700a885476";
-      sha256 = "3a0cd4eef9b4e3a4fd826c66a8edec44a087d04f500217981a84fb59b2fc3ade";
+      sha256 = "1piszjr5kyw43ac1f0jh9z88g824xknshrkchbys9qxlz7pd831s";
     };
     dependencies = [];
 
   };
 
   vim-eunuch = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-eunuch-2015-06-30";
+    name = "vim-eunuch-2016-02-07";
     src = fetchgit {
       url = "git://github.com/tpope/vim-eunuch";
-      rev = "eb8b2d54fb537ee93f762f6331265057a3f69727";
-      sha256 = "ec9194bf2ec97ae3c0f5818fb8a7a9edaf4ea93ca790df7c4d6a4e2486218fe6";
+      rev = "d02b2d0404134e6cae2708069d6888110d3c2272";
+      sha256 = "07xbrx5wrcrv19yaxmnbl7h2qz80f04kmlsz60pag84pyqlina0h";
     };
     dependencies = [];
 
@@ -857,7 +865,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/travitch/hasksyn";
       rev = "c434040bf13a17ca20a551223021b3ace7e453b9";
-      sha256 = "b1a735928aeca7011b83133959d59b9c95ab8535fd00ce9968fae4c3b1381931";
+      sha256 = "0c8r72qw7r7sd2cww07x6n2sp5cwkgamjf8khcdh39zcia93b9xi";
     };
     dependencies = [];
 
@@ -868,18 +876,18 @@ rec {
     src = fetchgit {
       url = "git://github.com/twinside/vim-haskellconceal";
       rev = "f73c5dd660b7009a050b131783d7c17b4954e4d9";
-      sha256 = "1ebf98b170642d342207eb8c16551f9969f884b3be975b8755f1018947053ba8";
+      sha256 = "1a1v0m3qj0gian3mp5xynf2ghscr3xaid37b0wi38bb4f2qrigqy";
     };
     dependencies = [];
 
   };
 
   youcompleteme = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "youcompleteme-2016-01-20";
+    name = "youcompleteme-2016-02-25";
     src = fetchgit {
       url = "git://github.com/valloric/youcompleteme";
-      rev = "d05bf551a677ac70d5b6de707a7174a97dccd4dd";
-      sha256 = "28478612ddd2b917170e88d069687b65778fcb71a31f4aca7c26aa478b09a849";
+      rev = "35f6090b7661989518d64451ea4effa376fcb795";
+      sha256 = "1n8wzsbw4saawpjmacw7kvk5mhcxckik0sw8zdpbp885812ly5wi";
     };
     dependencies = [];
     buildInputs = [
@@ -911,22 +919,22 @@ rec {
   };
 
   vim-pandoc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-pandoc-2015-10-20";
+    name = "vim-pandoc-2016-02-12";
     src = fetchgit {
       url = "git://github.com/vim-pandoc/vim-pandoc";
-      rev = "7d7fdeabb83808f669f4cab37d7950b1bed8adbe";
-      sha256 = "451e520ca62cf1207da0f22c2c23f4502f81c0b5a662cd9bfb898e1f53301c41";
+      rev = "ff604abdf48e98dd4bd0c441429b9f8f9413134c";
+      sha256 = "1c9m1p9zyxqxcrmpn24lkhx1jr6mx51qdvp5wj1vkqwbs811ps26";
     };
     dependencies = [];
 
   };
 
   vim-pandoc-syntax = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-pandoc-syntax-2015-11-05";
+    name = "vim-pandoc-syntax-2016-02-22";
     src = fetchgit {
       url = "git://github.com/vim-pandoc/vim-pandoc-syntax";
-      rev = "40c65141bc8c771f270ce8251a99ccdda1ab102c";
-      sha256 = "c1be96f358b211d8a5126fdb541a6500c9016e829527d57766b1ec18a4d8ad0e";
+      rev = "c9f4eb129881fa48b82c181c84a77ec5ceacb6f6";
+      sha256 = "117zl8fpzd34895f0i05zc8zx0jsdald0j2wb12yrhsxiw97fwlq";
     };
     dependencies = [];
 
@@ -937,7 +945,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/vim-scripts/Colour-Sampler-Pack";
       rev = "05cded87b2ef29aaa9e930230bb88e23abff4441";
-      sha256 = "e3dd18f9fd36543e0c87257b7eaa999a82d75cbfa6dce4dfea403fa751c8620f";
+      sha256 = "03v2r18sfgs0xbgy9p56pxfdg0lsk6m7wyr5hw63wm1nzpwiipg3";
     };
     dependencies = [];
 
@@ -948,7 +956,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/vim-scripts/a.vim";
       rev = "2cbe946206ec622d9d8cf2c99317f204c4d41885";
-      sha256 = "ca0982873ed81e7f6545a6623b735104c574fe580d5f21b0aa3dc1557edac240";
+      sha256 = "0h62v9z5bh9xmaq22pqdb3z79i84a5rknqm68mjpy7nq7s3q42fa";
     };
     dependencies = [];
 
@@ -959,7 +967,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/vim-scripts/align";
       rev = "787662fe90cd057942bc5b682fd70c87e1a9dd77";
-      sha256 = "f7b5764357370f03546556bd45558837f3790b0e86afadb63cd04d714a668a29";
+      sha256 = "0acacr572kfh7jvavbw61q5pkwrpi1albgancma063rpax1pddgp";
     };
     dependencies = [];
 
@@ -970,7 +978,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/vim-scripts/changeColorScheme.vim";
       rev = "b041d49f828629d72f2232531a230d1ec5de2405";
-      sha256 = "094ccc132dc3991a30feb31bbdd777755294957e843517491345a4999e86cb5f";
+      sha256 = "0pybhsg9k9252d4ifdc4gsar8lkmfzbvs6xkzqq1m6f35l9wqk09";
     };
     dependencies = [];
 
@@ -981,7 +989,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/vim-scripts/random.vim";
       rev = "b2d85eb24a38074eab37a5acf2a295e1f2ad8989";
-      sha256 = "571f4ed0a2d8c66d1c15029fb812a84b55228d07cd2e4bbbc73a33493013fed3";
+      sha256 = "1lzy2cq4jcrsqyxlnbnd0y6j4mabm09bi7q22lf6vinqlb84w7sp";
     };
     dependencies = [];
 
@@ -992,7 +1000,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/vim-scripts/tabmerge";
       rev = "074e5f06f26e7108a0570071a0f938a821768c06";
-      sha256 = "b84501b0fc5cd51bbb58f12f4c2b3a7c97b03fe2a76446b56a2c111bd4f7335f";
+      sha256 = "0prkyza1n49cdaslcr57w8zv15vw78mlqbzib2xipmawzjq02idq";
     };
     dependencies = [];
 
@@ -1003,7 +1011,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/vim-scripts/wombat256.vim";
       rev = "8734ba45dcf5e38c4d2686b35c94f9fcb30427e2";
-      sha256 = "2feb7d57ab0a9f2ea44ccd606e540db64ab3285956398a50ecc562d7b8dbcd05";
+      sha256 = "01fdvfwdfqn5xi88lfanb4lb6jmn1ma6wq6d9jj2x7qamdbpvsrg";
     };
     dependencies = [];
 
@@ -1014,18 +1022,18 @@ rec {
     src = fetchgit {
       url = "git://github.com/wakatime/vim-wakatime";
       rev = "91262cb3c04fe4d98ecdffe8da2197537c66359c";
-      sha256 = "992e41ba32d575bb0bced8b2616cf08aab73f9980292fbc58c94c7f99f914540";
+      sha256 = "0h25j6gzkiwlik2zp4h2k3wp7away1n63cnqrq5vnxfm6ax42blr";
     };
     dependencies = [];
     buildInputs = [ python ];
   };
 
   command-t = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "command-t-2016-01-19";
+    name = "command-t-2016-02-09";
     src = fetchgit {
       url = "git://github.com/wincent/command-t";
-      rev = "b772049e7e92a354702a9400ad185070ac7e7646";
-      sha256 = "425f50d0c21c7f95bdd29532f487d00c7bccb97fb2e372a87a6a5bf2fd11a916";
+      rev = "4c7f02c5a9020bbbd498f643abfb059048388707";
+      sha256 = "1ij3zkc29zn03kw82c6zv8sbhx3ma3m39fgy9c29419brspzg1r5";
     };
     dependencies = [];
     buildInputs = [ perl ruby ];
@@ -1038,11 +1046,11 @@ rec {
   };
 
   goyo = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "goyo-2015-11-15";
+    name = "goyo-2016-02-15";
     src = fetchgit {
       url = "git://github.com/junegunn/goyo.vim";
-      rev = "630f5d80861beb36ae2dfa0c587ec6b51982cff5";
-      sha256 = "28e74ab067ce55d0dd964b5214601e851046149ccf98b377861c56225f36dc44";
+      rev = "cb697998cce4d5a50fb1749310147ae16b0d70e6";
+      sha256 = "0sbyk5byfsf10n93dk043ysyxfm43rabiw766pb1gkng5hdqypd0";
     };
     dependencies = [];
 
@@ -1071,11 +1079,11 @@ rec {
   };
 
   pathogen = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "pathogen-2016-01-19";
+    name = "pathogen-2016-01-26";
     src = fetchgit {
       url = "git://github.com/tpope/vim-pathogen";
-      rev = "b4f20ff0acc8267875ca7a3841756fe18d55db15";
-      sha256 = "649bdbc573fff16bf4bbb2f50f87978576a86af6fd836bef4f64e1e7996fdfe2";
+      rev = "8c91196cfd9c8fe619f35fac6f2ac81be10677f8";
+      sha256 = "17d1903spczg2rk0qzg94vvq41dwhmnxwajqgzcx4lmf606cfspi";
     };
     dependencies = [];
 
@@ -1086,7 +1094,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/dannyob/quickfixstatus";
       rev = "fd3875b914fc51bbefefa8c4995588c088163053";
-      sha256 = "7b6831d5da1c23d95f3158c67e4376d32c2f62ab2e30d02d3f3e14dcfd867d9b";
+      sha256 = "16vxhvyxq51y7wnx0c1fmdi2yb6kfr1pxijq65gxj8qwvbak2s3v";
     };
     dependencies = [];
 
@@ -1097,7 +1105,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/kien/rainbow_parentheses.vim";
       rev = "eb8baa5428bde10ecc1cb14eed1d6e16f5f24695";
-      sha256 = "47975a426d06f41811882691d8a51f32bc72f590477ed52b298660486b2488e3";
+      sha256 = "1qw84imlhq4654mxazj7j3sp5g1j3yjxi496i08iix06dm15m5s7";
     };
     dependencies = [];
 
@@ -1108,18 +1116,18 @@ rec {
     src = fetchgit {
       url = "git://github.com/wting/rust.vim";
       rev = "2450ecf3091cc7c2711ca9f00eae8e3bedd04376";
-      sha256 = "9d2e8b2c06d6100f9a1e76644313d457a2ff955241d8f712de6fddd0b7f5c4ee";
+      sha256 = "1vn4ynvx1pbgvq9ggn21aaazz8jpsh9l6r3n3sd0y46n0qn8nblx";
     };
     dependencies = [];
 
   };
 
   sensible = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "sensible-2015-12-26";
+    name = "sensible-2016-02-09";
     src = fetchgit {
       url = "git://github.com/tpope/vim-sensible";
-      rev = "680a5c693213daa158c816f068fffa895d961dc9";
-      sha256 = "959b55a97974d85374eccb58379c3f69c0ec43459d4df2484e42a437c61e34bc";
+      rev = "2fb074e84169e177045e8bdb6ceb7eded3a80e8f";
+      sha256 = "067ccar0adk2rx96ci26ykdi6bk0p4wnsd10la088lxdfva00m90";
     };
     dependencies = [];
 
@@ -1130,7 +1138,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/tpope/vim-sleuth";
       rev = "a17462708aa40a7fc0afd4effa559087d8a2c908";
-      sha256 = "72f4b7c5e60c942592e624806960736e71b9f109fbbfa3a5a2a37970b90f6025";
+      sha256 = "09b01ywp0yd3lajs7gzv17qvjwbffdh6k014ws92b50cwv2vgx3j";
     };
     dependencies = [];
 
@@ -1141,7 +1149,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/garbas/vim-snipmate";
       rev = "7f91de39088138491e40a35a855adb70677b02d3";
-      sha256 = "e8c70bbad496fc1306814fbb078736a93d4f418d16f7692f4e37dbcc00ec6633";
+      sha256 = "0cv6xh0crnrp9qpnkxqnim0lygd96s3hgfsgh4317z4nsjx0piz8";
     };
     dependencies = ["vim-addon-mw-utils" "tlib"];
 
@@ -1152,7 +1160,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/chikatoike/sourcemap.vim";
       rev = "0dd82d40faea2fdb0771067f46c01deb41610ba1";
-      sha256 = "a08c77aea39be4a0a980d62673d1d17fecc518a8aeb9101210e453aaacb78fbd";
+      sha256 = "1gcgnynallz420911fdfm0ccbv3zs78p69nnh2ls1r4vlfp7g350";
     };
     dependencies = [];
 
@@ -1163,7 +1171,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/tpope/vim-surround";
       rev = "2d05440ad23f97a7874ebd9b5de3a0e65d25d85c";
-      sha256 = "e5372cbb384e747181e3dfe4a53f042da18bd0d6af7a01184850ecb084ddb350";
+      sha256 = "0l5kvn2b1v2h90c02ymgsv88p89d0hzsbr6zwf0p2x2f72xjqdz5";
     };
     dependencies = [];
 
@@ -1174,7 +1182,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/dhruvasagar/vim-table-mode";
       rev = "2ab64777a5b81e240810999eb6e7dc65e1de5461";
-      sha256 = "64aff63c0aeb696f087cf41021867e1576e4fe8d392d36ec2ca46ddec104a8e1";
+      sha256 = "1qd80k0xwvd45kn3cb9ripzf8xhmgs32247lgh46ysgb18ygdbv4";
     };
     dependencies = [];
 
@@ -1202,22 +1210,22 @@ rec {
   };
 
   tlib = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "tlib-2016-01-21";
+    name = "tlib-2016-01-26";
     src = fetchgit {
       url = "git://github.com/tomtom/tlib_vim";
-      rev = "3232708995e0e61d8e39af40e7a92598e30b84e8";
-      sha256 = "525c31d4fdef8c44709b8d0b77d8ef70acf77b2375df40837088aeb0d4368747";
+      rev = "9734d8d9e4f7b7b91272123463a62759aef31556";
+      sha256 = "19dqzxy1v3wg1n8b93wjds311w3lw70g49svv59sr070s7bwl6z9";
     };
     dependencies = [];
 
   };
 
   undotree = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "undotree-2015-12-16";
+    name = "undotree-2016-02-23";
     src = fetchgit {
       url = "git://github.com/mbbill/undotree";
-      rev = "39e5cf0fc241c64e920f91d52299b444475d54df";
-      sha256 = "767c84917392d1b370ef542c218c0f7bd642e59a7176735bbdd80c8a8f8b04ca";
+      rev = "e5a01b2eb94afd256a96cac07ba2981a55dd9665";
+      sha256 = "1dga7yhk5gh980w2qlf764i9f2mba4ij9habd86i9mlsh3wdqnrm";
     };
     dependencies = [];
 
@@ -1228,7 +1236,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-actions";
       rev = "a5d20500fb8812958540cf17862bd73e7af64936";
-      sha256 = "d2c3eb7a1f29e7233c6fcf3b02d07efebe8252d404ee593419ad399a5fdf6383";
+      sha256 = "10v3vxgrlfdd34s5kvh4si985gpygv804fygdwy27rr93xxfphyj";
     };
     dependencies = ["vim-addon-mw-utils" "tlib"];
 
@@ -1239,7 +1247,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-async";
       rev = "dadc96e188f1cdacbac62129eb29a1eacfed792c";
-      sha256 = "27f941e21a8ca5940bd20914e2a9e3809e554f3ef2c27b3bafb9a153107a5d07";
+      sha256 = "01sxg88578drmwxpphpj7r7mb7l0wfly4509s85r99cc3bi43y97";
     };
     dependencies = ["vim-addon-signs"];
 
@@ -1250,7 +1258,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-background-cmd";
       rev = "abf2abf339652d2bc79da81f9d131edfe2755f5a";
-      sha256 = "06223ebaa157e17434cc09dae474324c105374e4e05d85695a05c7d0a2761c20";
+      sha256 = "080wfsid1iq5b9lqapg0wis5642c69sf9nh9rhs79qapl6x3w8h6";
     };
     dependencies = ["vim-addon-mw-utils"];
 
@@ -1261,7 +1269,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-commenting";
       rev = "b7cf748ac1c9bf555cbd347589e3b7196030d20b";
-      sha256 = "4ad7d5f6669f0a1b4a24c9ce3649c030d7d3fc8588de4d4d6c3269140fbe9b3e";
+      sha256 = "0glvpq7i8s9jdi6lvpl8hpyd7mrhq14kdkn94i51n2lzcvvdbmsa";
     };
     dependencies = [];
 
@@ -1272,7 +1280,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-completion";
       rev = "021c449a5ce1ce4ac0af5955e05b0279c1cc0e75";
-      sha256 = "969a474749edf7e4443d2540eaf12e891cc0a3f5533e62e081d32408f403a0ea";
+      sha256 = "1sm00gs0h96kh7h64gjkyniw07495vqylh157m2f9xzd953lg6ln";
     };
     dependencies = ["tlib"];
 
@@ -1283,7 +1291,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-errorformats";
       rev = "dcbb203ad5f56e47e75fdee35bc92e2ba69e1d28";
-      sha256 = "a1260206545d5ae17f2e6b3319f5cf1808b74e792979b1c6667d75974cc53f95";
+      sha256 = "159zqm69fxbxcv3b2y99g57bf20qrzsijcvb5rzy2njxah3049m1";
     };
     dependencies = [];
 
@@ -1294,7 +1302,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-goto-thing-at-cursor";
       rev = "f052e094bdb351829bf72ae3435af9042e09a6e4";
-      sha256 = "34658ac99d9a630db9c544b3dfcd2c3df69afa5209e27558cc022b7afc2078ea";
+      sha256 = "1skq43y7laq2ric7bqh9abx9mxix5k6xzcs4qnwhsqwskp4qlr9l";
     };
     dependencies = ["tlib"];
 
@@ -1305,18 +1313,18 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-local-vimrc";
       rev = "6a27f95b35befa70cd0d049329cd0920566c764b";
-      sha256 = "f0687e08f380ff085b6fa3e708d1631049571706f55d796e22612aff02e51459";
+      sha256 = "0n8lwl1gyak149p7jpgm0qbmfj8hcg8hirx3dxdhizw0yc47ws7h";
     };
     dependencies = [];
 
   };
 
   vim-addon-manager = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-manager-2014-12-03";
+    name = "vim-addon-manager-2016-02-07";
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-manager";
-      rev = "fda9d2f4522024aa8bd8b8305e6a71c4a4a28c07";
-      sha256 = "a3b5da9bcc01c6f0fb0a5e13a6f9efb58471339ed32c480fde96856bb9e1e7be";
+      rev = "872f9302cf0eb8e9cb6259ea4f329d2265f9e32d";
+      sha256 = "0rl6sy1gfjsfr1hg2ilhhxppifvjfqn815kh27b3ikcy82rp7sb0";
     };
     dependencies = [];
     buildInputs = stdenv.lib.optional stdenv.isDarwin Cocoa;
@@ -1327,7 +1335,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-mru";
       rev = "e41e39bd9d1bf78ccfd8d5e1bc05ae5e1026c2bb";
-      sha256 = "15b70f796f28cbd999060fea7f47408fa8a6cb176cd4915b9cc3dc6c53eed960";
+      sha256 = "0q6rxr9nrp63kidr3m3c2z5sda4g813pzshg0scxkjr8dxwhzdqm";
     };
     dependencies = ["vim-addon-other" "vim-addon-mw-utils"];
 
@@ -1338,7 +1346,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-mw-utils";
       rev = "0c5612fa31ee434ba055e21c76f456244b3b5109";
-      sha256 = "4e1b6d1b59050f1063e58ef4bee9e9603616ad184cd9ef7466d0ec3d8e22b91c";
+      sha256 = "075r4a73vv6hcrsfznac32nicdk0x7lvxx4fwmii03q5b4dns6sf";
     };
     dependencies = [];
 
@@ -1349,7 +1357,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-nix";
       rev = "2aed79ba5d8c5e6abd102de77e55e242f61b17f1";
-      sha256 = "0e326e2c6cb6597ca533a64a845ef9dd946cd249250375ef9775d974ecef37e2";
+      sha256 = "1qipxzn79nbmjzppa0r59796r56xz5g88jm66fjpqndndhn6wchf";
     };
     dependencies = ["vim-addon-completion" "vim-addon-goto-thing-at-cursor" "vim-addon-errorformats" "vim-addon-actions" "vim-addon-mw-utils" "tlib"];
 
@@ -1360,7 +1368,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-other";
       rev = "f78720c9cb5bf871cabb13c7cbf94378dbf0163b";
-      sha256 = "43f027e4b7576031072515c23c2b09f7f2c8bba7ee43a1e2041a4371bd954d1b";
+      sha256 = "06sdjnyp2hqs0kia2hzflyxwiwpp14mkrhhm4l3k2q2pnzj2gw23";
     };
     dependencies = ["vim-addon-actions" "vim-addon-mw-utils"];
 
@@ -1371,7 +1379,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-php-manual";
       rev = "5f9810dd1f6e9f36a45f637ae6260ccff09256ff";
-      sha256 = "3942eb6a7191c308beab240e91c99ee4e2c52e2d672503d46f98312e823b86cd";
+      sha256 = "1kc67f12wccqdza069b75lpcbqp4kv4r23i4mfz0ihwif5mfnhir";
     };
     dependencies = [];
 
@@ -1382,7 +1390,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-signs";
       rev = "17a49f293d18174ff09d1bfff5ba86e8eee8e8ae";
-      sha256 = "a9c03a32e758d51106741605188cb7f00db314c73a26cae75c0c9843509a8fb8";
+      sha256 = "1f4gk984760cbkkwl9isqwab63ghny61h18nfh313maqwwr3mh59";
     };
     dependencies = [];
 
@@ -1393,7 +1401,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-sql";
       rev = "05b8a0c211f1ae4c515c64e91dec555cdf20d90b";
-      sha256 = "a1334ae694e0a03229bacc8ba7e08e7223df240244c7378e3f1bd91d74e957c2";
+      sha256 = "1hjpx5s1vn8v7y73gis408jdy8vjivhag2ycp8lk5870jkk4lcx1";
     };
     dependencies = ["vim-addon-completion" "vim-addon-background-cmd" "tlib"];
 
@@ -1404,7 +1412,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-syntax-checker";
       rev = "8eb7217e636ca717d4de5cd03cc0180c5b66ae77";
-      sha256 = "aef048e664653b5007df71ac24ed34ec55d8938c763d3f80885a122e445a9b3d";
+      sha256 = "0gcvb922w4jsi203ygbnij9xhmgc6knj9b3ivw3m0fv5ckk4iw5f";
     };
     dependencies = ["vim-addon-mw-utils" "tlib"];
 
@@ -1415,7 +1423,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-toggle-buffer";
       rev = "a1b38b9c5709cba666ed2d84ef06548f675c6b0b";
-      sha256 = "672166ecfe0599177afb56b444366f587f77e9659c256ac4e41ee45cb2df6055";
+      sha256 = "0mb0vyr5rr0ywk26l9cwcplpfzsqdwv49d2nzdx1g685zvn6c8b7";
     };
     dependencies = ["vim-addon-mw-utils" "tlib"];
 
@@ -1426,18 +1434,18 @@ rec {
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-xdebug";
       rev = "45f26407305b4ce6f8f5f37d2b5e6e4354104172";
-      sha256 = "0a7bf2caf36772c94bd25bfbf46bf628623809c9cfab447ff788eb74149464ef";
+      sha256 = "1vv4jha79sw8yxzl9aygr44khqi8yrmz9ysvs95wjwk7yg5g4yqa";
     };
     dependencies = ["WebAPI" "vim-addon-mw-utils" "vim-addon-signs" "vim-addon-async"];
 
   };
 
   vim-airline = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-airline-2016-01-22";
+    name = "vim-airline-2016-02-25";
     src = fetchgit {
       url = "git://github.com/bling/vim-airline";
-      rev = "fb255b570de5582af13563e243fba743dfd0edc9";
-      sha256 = "2dbd61c157ba58213bdccb595bfa13951f4e1db8fa4fbce8ddf94aa3a87c938c";
+      rev = "5cf193fa28d0c6f0f93fd1b481ba4845eac9a1ac";
+      sha256 = "1dgh9xs4rhziayl18nrknvgjnx8ll5pw4xcy43wrcr7icnmddgrw";
     };
     dependencies = [];
 
@@ -1448,40 +1456,40 @@ rec {
     src = fetchgit {
       url = "git://github.com/kchmck/vim-coffee-script";
       rev = "32fe889b8cafd3a4921ef8e6485156453ff58c42";
-      sha256 = "d7162b2546c9949c96811d7a72c17ae2db9871697ee65ed0b1a8f0287d278690";
+      sha256 = "14464xyjiw58n785xrkyd5qrinz2gb0p4yhxh6b9r5698qjjn5np";
     };
     dependencies = [];
 
   };
 
   vim-easy-align = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-easy-align-2015-10-09";
+    name = "vim-easy-align-2016-02-05";
     src = fetchgit {
       url = "git://github.com/junegunn/vim-easy-align";
-      rev = "7cb559eb70600bbd81afbb2d7f60d98334f631e2";
-      sha256 = "2ea40064f64a8a4f0f1e405ea5db5a3e79424cdec44d033c3d65cc40a2a19b18";
+      rev = "dd98d0a8957b7d43ac84be3318bbc950bc9ed467";
+      sha256 = "1hdfcg07p4xvd5aa7hqmjg2zf6cmlrp4maid7qc4l0xcfx6wx4j1";
     };
     dependencies = [];
 
   };
 
   vim-gista = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-gista-2016-01-23";
+    name = "vim-gista-2016-02-22";
     src = fetchgit {
       url = "git://github.com/lambdalisue/vim-gista";
-      rev = "2021858d9cada2289a866387ba728dd025093aa1";
-      sha256 = "1e3e925cdb6a9296f20c2261efb96eac0792e12c3b7a4f6a1637ac0a96255eb4";
+      rev = "d4da4b6f53a93ebadc7c1dcc4e82836f96c706c9";
+      sha256 = "19786fr2m44krq7l62j3h39ayl6a04474s2mkbv8szkg8jb4syzq";
     };
     dependencies = [];
 
   };
 
   vim-gitgutter = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-gitgutter-2016-01-19";
+    name = "vim-gitgutter-2016-02-21";
     src = fetchgit {
       url = "git://github.com/airblade/vim-gitgutter";
-      rev = "4510e9b33506b4b09168c99934c42ee1ce89bba2";
-      sha256 = "77d97922e8970fcdb037272a53c2ab4209d804aced7ae654f6aeb4501705bcd8";
+      rev = "0af9f2a3ab029054d279f69364351e95e107008a";
+      sha256 = "0kqj50sha1i1jsm9mirx6jn7kpdm0zl60n0zc3rh8z1zsjic0mqr";
     };
     dependencies = [];
 
@@ -1492,7 +1500,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/noc7c9/vim-iced-coffee-script";
       rev = "e42e0775fa4b1f8840c55cd36ac3d1cedbc1dea2";
-      sha256 = "c7859591975a51a1736f99a433d7ca3e7638b417340a0472a63995e16d8ece93";
+      sha256 = "14yfirny359rlrr082il2ys3hxiyrbbk794rdxrs2lasjy8rb1f7";
     };
     dependencies = [];
 
@@ -1503,62 +1511,62 @@ rec {
     src = fetchgit {
       url = "git://github.com/xuhdev/vim-latex-live-preview";
       rev = "7695dd4ebddb735bec632d468e2202d070029cb8";
-      sha256 = "3551e2a84a98b07f5edce6e35bad5cd2a78da1ef60dd94202c623e238b05bfc8";
+      sha256 = "1j5z0n5j6gk25hh99pb0xyhqv9yjbjnmpqz6vig7zc4q9alf4l9m";
     };
     dependencies = [];
 
   };
 
   vim-multiple-cursors = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-multiple-cursors-2016-01-14";
+    name = "vim-multiple-cursors-2016-01-28";
     src = fetchgit {
       url = "git://github.com/terryma/vim-multiple-cursors";
-      rev = "e543fc86f0c6a8981c9679beceb06482778c3531";
-      sha256 = "d10506c2196b32d389027a359f382d41c7c972f615a6745b9ee41c17741e062a";
+      rev = "47c9e3fb11a202a9a2fa1d591ec990a41e4221c4";
+      sha256 = "006wj5jikdkz9zilhy9q55hr50v6x34z27jpn0dv9shgaj8xf62s";
     };
     dependencies = [];
 
   };
 
   vim-signature = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-signature-2015-11-11";
+    name = "vim-signature-2016-02-22";
     src = fetchgit {
       url = "git://github.com/kshenoy/vim-signature";
-      rev = "7cabfb5a3d3b45e739eb1d7e198782fb4a5a23da";
-      sha256 = "18a8ab7ba9e74d2f65c64c0c316ef824e48f21196520dfd292522c1eb8c87cb3";
+      rev = "8b7b40041f938092d3cb5c5db33fec54c41a1854";
+      sha256 = "0qqc785r84g1ckxyds0zmf881wslsfa1cmpcx35jwcyjwdaya0a6";
     };
     dependencies = [];
 
   };
 
   vim-signify = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-signify-2016-01-15";
+    name = "vim-signify-2016-02-25";
     src = fetchgit {
       url = "git://github.com/mhinz/vim-signify";
-      rev = "4f69c11c7cd7b75bb23cf7565f278af918816546";
-      sha256 = "816f7472f04043139f216b91fc36612a9d73cddd86ca6c1cf86a7d48ca2d20e3";
+      rev = "051dc1a853cb86231497c58a5c06dc82a17837ca";
+      sha256 = "0iy03qxv9m301pqa495ydacx072pa1jwdqgk50dpd1z6711cdh44";
     };
     dependencies = [];
 
   };
 
   vim-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-snippets-2016-01-17";
+    name = "vim-snippets-2016-02-19";
     src = fetchgit {
       url = "git://github.com/honza/vim-snippets";
-      rev = "0fc7fd1181f33b26c015d0f306d149b756f9d679";
-      sha256 = "d67ccdcfa42e8e713e7a5bee34b5b150fb955a81fdddfe9c956a1f652f1235b6";
+      rev = "732978ab1622c8d6fdf0384cd3b524e3fe7ba5f3";
+      sha256 = "0i7jr48vwazdy3bm9y2wa0y5ay1rhp91dpi5kqgs06na85qvhsiz";
     };
     dependencies = [];
 
   };
 
   vim-webdevicons = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-webdevicons-2015-12-21";
+    name = "vim-webdevicons-2016-02-08";
     src = fetchgit {
       url = "git://github.com/ryanoasis/vim-devicons";
-      rev = "8ac3e02537d32648c3f9738c711639f8b940460c";
-      sha256 = "9d4ee89a551ab9e1ec3938e1eba1fd138bbee975ce3b247b5f56eb2613daefbc";
+      rev = "d0111ec77c3d7e3e3072e576bb26055643e64a2f";
+      sha256 = "1lhycam07licxkf8isl641mwd64i2x8kjqqvzxndhr26incs9pv2";
     };
     dependencies = [];
 
@@ -1569,7 +1577,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/dag/vim2hs";
       rev = "f2afd55704bfe0a2d66e6b270d247e9b8a7b1664";
-      sha256 = "485fc58595bb4e50f2239bec5a4cbb0d8f5662aa3f744e42c110cd1d66b7e5b0";
+      sha256 = "1c75nxk1vk8hq514wx1zm9i5d3qdpd65mv4v4gr50kmvjn2waps8";
     };
     dependencies = [];
 
@@ -1580,7 +1588,7 @@ rec {
     src = fetchgit {
       url = "git://github.com/vimwiki/vimwiki";
       rev = "3bd3d9b86036b21aecd69f0a1e572643d626c280";
-      sha256 = "7a10ae3881af0d17a041ffd766680ceedf706411abbbedccf64e9e777fabd5c8";
+      sha256 = "1j6mmdzpg7jfyv6fvfxb25j71pzf1il6dmzz86h1f3dgh4waw43s";
     };
     dependencies = [];
 
@@ -1591,18 +1599,18 @@ rec {
     src = fetchgit {
       url = "git://github.com/tpope/vim-vinegar";
       rev = "75fc3824bc09053f22735d6726c5cfd614c15642";
-      sha256 = "19fc1487169f1d8941ffddda1ffadd842ef4a773de2d32536eae52cf494154a6";
+      sha256 = "19jl854wylmfdr9k4bfyffkz8bl4vpx1znnxzx0qj7cz2s3i9z0r";
     };
     dependencies = [];
 
   };
 
   vundle = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vundle-2015-11-04";
+    name = "vundle-2016-02-21";
     src = fetchgit {
       url = "git://github.com/gmarik/vundle";
-      rev = "5f70ae6025e951f0154e3940d123138adffa4c88";
-      sha256 = "c063cabca479449a3330c14e879536473d4fdb0ca4b384c9c8be18c198a929fa";
+      rev = "8a054139a3623739321303cf06c09b0f9874dc0d";
+      sha256 = "0hhjnp9i0glfa5fdfg9n9286zdfvfmdx1ln9ayfr8kmm9nwy24gp";
     };
     dependencies = [];
 
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index a4dca009cdd9..87420a7a4ca5 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -1,7 +1,6 @@
 "CSApprox"
 "CheckAttach"
 "Gist"
-"github:sjl/gundo.vim"
 "Hoogle"
 "Solarized"
 "Supertab"
@@ -20,6 +19,8 @@
 "extradite"
 "fugitive"
 "ghcmod"
+"github:Chiel92/vim-autoformat"
+"github:LnL7/vim-nix"
 "github:ap/vim-css-color"
 "github:benekastah/neomake"
 "github:bitc/vim-hdevtools"
@@ -46,7 +47,6 @@
 "github:latex-box-team/latex-box"
 "github:lepture/vim-jinja"
 "github:lervag/vimtex"
-"github:LnL7/vim-nix"
 "github:lokaltog/vim-easymotion"
 "github:lyokha/vim-xkbswitch"
 "github:mhinz/vim-startify"
@@ -54,17 +54,18 @@
 "github:nbouscal/vim-stylish-haskell"
 "github:osyo-manga/shabadou.vim"
 "github:osyo-manga/vim-watchdogs"
-"github:phildawes/racer"
+"github:racer-rust/vim-racer"
 "github:shougo/neocomplete.vim"
 "github:shougo/neosnippet-snippets"
 "github:shougo/neosnippet.vim"
 "github:shougo/unite.vim"
 "github:shougo/vimproc.vim"
 "github:shougo/vimshell.vim"
+"github:sjl/gundo.vim"
 "github:takac/vim-hardtime"
 "github:thinca/vim-quickrun"
-"github:tpope/vim-eunuch"
 "github:tomasr/molokai"
+"github:tpope/vim-eunuch"
 "github:travitch/hasksyn"
 "github:twinside/vim-haskellconceal"
 "github:valloric/youcompleteme"
diff --git a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/racer b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/racer
deleted file mode 100644
index 57000b870645..000000000000
--- a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/racer
+++ /dev/null
@@ -1,4 +0,0 @@
-    buildPhase = ''
-      find . -type f -not -name 'racer.vim' -exec rm -rf {} \;
-      rm -rf editors images src
-    '';
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index fc54715ea7b8..4de27fd3000d 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -362,7 +362,7 @@ with stdenv.lib;
   X86_MCE y
 
   # PCI-Expresscard hotplug support
-  HOTPLUG_PCI_PCIE y
+  ${optionalString (versionAtLeast version "3.12") "HOTPLUG_PCI_PCIE y"}
 
   # Linux containers.
   NAMESPACES? y #  Required by 'unshare' used by 'nixos-install'
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index afca9b9c35e4..cd7e6f1af74f 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.96";
+  version = "3.10.97";
   extraMeta.branch = "3.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0wnlvbyg92q48kz5cn3bznjkkzpsik8z51dqhcxdpddy1k6iqb3k";
+    sha256 = "0z66nbnbhmzjjbvrd7sbg4351x92grk8xja58rxxbb28cj3sy9r9";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix
index c185d69c5540..9b347a8da54b 100644
--- a/pkgs/os-specific/linux/mcelog/default.nix
+++ b/pkgs/os-specific/linux/mcelog/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "mcelog-${version}";
-  version = "131";
+  version = "132";
 
   src = fetchFromGitHub {
-    sha256 = "1hqb06gdx5bw4jh6xix0z5qhi4956asykf43zk1m1mjsj8lkzaps";
+    sha256 = "0qr0rdkva8a8wzsdmk0dm9zhpdnwp1lmla324xnayf0afyym3zj8";
     rev = "v${version}";
     repo = "mcelog";
     owner = "andikleen";
diff --git a/pkgs/tools/archivers/cpio/CVE-2016-2037-out-of-bounds-write.patch b/pkgs/tools/archivers/cpio/CVE-2016-2037-out-of-bounds-write.patch
new file mode 100644
index 000000000000..90ddeff9790e
--- /dev/null
+++ b/pkgs/tools/archivers/cpio/CVE-2016-2037-out-of-bounds-write.patch
@@ -0,0 +1,29 @@
+diff --git a/src/copyin.c b/src/copyin.c
+index cde911e..032d35f 100644
+--- a/src/copyin.c
++++ b/src/copyin.c
+@@ -1385,6 +1385,8 @@ process_copy_in ()
+          break;
+        }
+
++      if (file_hdr.c_namesize <= 1)
++        file_hdr.c_name = xrealloc(file_hdr.c_name, 2);
+       cpio_safer_name_suffix (file_hdr.c_name, false, !no_abs_paths_flag,
+                              false);
+
+diff --git a/src/util.c b/src/util.c
+index 6ff6032..2763ac1 100644
+--- a/src/util.c
++++ b/src/util.c
+@@ -1411,7 +1411,10 @@ set_file_times (int fd,
+ }
+
+ /* Do we have to ignore absolute paths, and if so, does the filename
+-   have an absolute path?  */
++   have an absolute path?
++   Before calling this function make sure that the allocated NAME buffer has
++   capacity at least 2 bytes to allow us to store the "." string inside.  */
++
+ void
+ cpio_safer_name_suffix (char *name, bool link_target, bool absolute_names,
+                        bool strip_leading_dots)
diff --git a/pkgs/tools/archivers/cpio/default.nix b/pkgs/tools/archivers/cpio/default.nix
index 570f1904ee21..2313f27f2e54 100644
--- a/pkgs/tools/archivers/cpio/default.nix
+++ b/pkgs/tools/archivers/cpio/default.nix
@@ -19,6 +19,10 @@ in stdenv.mkDerivation {
         + "CVE-2015-1197-cpio-2.12.patch";
       sha256 = "0ph43m4lavwkc4gnl5h9p3da4kb1pnhwk5l2qsky70dqri8pcr8v";
     })
+
+    # Report: http://www.openwall.com/lists/oss-security/2016/01/19/4
+    # Patch from https://lists.gnu.org/archive/html/bug-cpio/2016-01/msg00005.html
+    ./CVE-2016-2037-out-of-bounds-write.patch
   ];
 
   preConfigure = if stdenv.isCygwin then ''
diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix
index 82d9f085f78e..428c751571cf 100644
--- a/pkgs/tools/bluetooth/blueman/default.nix
+++ b/pkgs/tools/bluetooth/blueman/default.nix
@@ -1,9 +1,9 @@
 { stdenv, lib, fetchurl, intltool, pkgconfig, pythonPackages, bluez, polkit, gtk3
-, obex_data_server, xdg_utils, libnotify, dconf
+, obex_data_server, xdg_utils, libnotify, dconf, gsettings_desktop_schemas, dnsmasq, dhcp
 , withPulseAudio ? true, libpulseaudio }:
 
 let
-  binPath = lib.makeBinPath [ xdg_utils ];
+  binPath = lib.makeBinPath [ xdg_utils dnsmasq dhcp ];
 
 in stdenv.mkDerivation rec {
   name = "blueman-${version}";
@@ -16,7 +16,7 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ intltool pkgconfig pythonPackages.wrapPython pythonPackages.cython ];
 
-  buildInputs = [ bluez gtk3 pythonPackages.python libnotify dconf ]
+  buildInputs = [ bluez gtk3 pythonPackages.python libnotify dconf gsettings_desktop_schemas ]
                 ++ pythonPath
                 ++ lib.optional withPulseAudio libpulseaudio;
 
@@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
 
   pythonPath = with pythonPackages; [ dbus pygobject3 ];
 
-  propagatedUserEnvPkgs = [ obex_data_server ];
+  propagatedUserEnvPkgs = [ obex_data_server dconf ];
 
   configureFlags = [ (lib.enableFeature withPulseAudio "pulseaudio") ];
 
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index 536cc26779b9..3435a8c14329 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -2,14 +2,14 @@
 , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt
 }:
 
-let version = "4.4"; in
+let version = "4.4.1"; in
 
 stdenv.mkDerivation rec {
   name = "btrfs-progs-${version}";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "0jssv1ys4nw2jf7mkp58c19yspaa8ybf48fxsrhhp0683mzpr73p";
+    sha256 = "1z5882zx9jx02vyg067siws0irsl8pg37myx17hr4imn9ypf6r4r";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/misc/gti/default.nix b/pkgs/tools/misc/gti/default.nix
new file mode 100644
index 000000000000..39e28073abce
--- /dev/null
+++ b/pkgs/tools/misc/gti/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "gti-${version}";
+  version = "2015-05-21";
+
+  src = fetchFromGitHub {
+    owner = "rwos";
+    repo = "gti";
+    rev = "edaac795b0b0ff01f2347789f96c740c764bf376";
+    sha256 = "1wki7d61kcmv9s3xayky9cz84qa773x3y1z88y768hq8ifwadcbn";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/man/man6
+    cp gti $out/bin
+    cp gti.6 $out/share/man/man6
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://r-wos.org/hacks/gti;
+    license = licenses.mit;
+    description = "Humorous typo-based git runner; drives a car over the terminal";
+    maintainers = with maintainers; [ fadenb ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/ddclient/default.nix b/pkgs/tools/networking/ddclient/default.nix
index 1664fbf37077..53a0f4c3e6dd 100644
--- a/pkgs/tools/networking/ddclient/default.nix
+++ b/pkgs/tools/networking/ddclient/default.nix
@@ -32,5 +32,8 @@ buildPerlPackage rec {
     homepage = https://sourceforge.net/p/ddclient/wiki/Home/;
     description = "Client for updating dynamic DNS service entries";
     license = licenses.gpl2Plus;
+
+    # Mostly since `iproute` is Linux only.
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix
index d93b429ea4fc..d2bc7b4e7725 100644
--- a/pkgs/tools/networking/miniupnpd/default.nix
+++ b/pkgs/tools/networking/miniupnpd/default.nix
@@ -3,11 +3,11 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "miniupnpd-1.9.20160216";
+  name = "miniupnpd-1.9.20160222";
 
   src = fetchurl {
     url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
-    sha256 = "001f9qc8zzrqbmjvpgwvpmi85sgb5ncl6gi9djxjr5n95a92r0g3";
+    sha256 = "0q694dla4v36qsc0x50xqg2jjhwdi9pl7r2gl10yvhkahxqx1ng7";
     name = "${name}.tar.gz";
   };
 
diff --git a/pkgs/tools/networking/radvd/default.nix b/pkgs/tools/networking/radvd/default.nix
index 63f82f12787d..84db01dc4ba1 100644
--- a/pkgs/tools/networking/radvd/default.nix
+++ b/pkgs/tools/networking/radvd/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libdaemon, bison, flex, check }:
 
 stdenv.mkDerivation rec {
-  name = "radvd-2.11";
-  
+  name = "radvd-2.12";
+
   src = fetchurl {
     url = "http://www.litech.org/radvd/dist/${name}.tar.xz";
-    sha256 = "1k2sbfs4w2lkgz2mh4zh66fgahjrn2hvxcpfc091bykrzj464qq4";
+    sha256 = "0yvlzzdxz2h5fm7grbf1xfs8008bzcdjpficm2cf52g771rffw5h";
   };
 
   buildInputs = [ pkgconfig libdaemon bison flex check ];
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
     description = "IPv6 Router Advertisement Daemon";
     platforms = platforms.linux;
     license = licenses.bsdOriginal;
-    maintainers = with maintainers; [ wkennington ];
+    maintainers = with maintainers; [ wkennington fpletz ];
   };
 }
diff --git a/pkgs/tools/networking/ratools/default.nix b/pkgs/tools/networking/ratools/default.nix
new file mode 100644
index 000000000000..423c58450c56
--- /dev/null
+++ b/pkgs/tools/networking/ratools/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "ratools-${version}";
+  version = "0.6.2";
+
+  src = fetchFromGitHub {
+    owner = "danrl";
+    repo = "ratools";
+    rev = "v${version}";
+    sha256 = "07m45bn9lzgbfihmxic23wqp73nxg5ihrvkigr450jq6gzvgwawq";
+  };
+
+  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
+
+  makeFlags = "-C src";
+
+  installPhase = ''
+    mkdir -p $out/{bin,sbin,share/man/man8}
+    cp bin/ractl $out/bin
+    cp bin/rad $out/sbin
+    cp man/* $out/share/man/man8
+  '';
+
+  meta = with stdenv.lib; {
+    description = "a fast, dynamic, multi-threading framework for IPv6 Router Advertisements";
+    homepage = https://github.com/danrl/ratools;
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.fpletz ];
+  };
+}
diff --git a/pkgs/tools/networking/tlsdate/default.nix b/pkgs/tools/networking/tlsdate/default.nix
index eea7dfcccacf..ae23978a7563 100644
--- a/pkgs/tools/networking/tlsdate/default.nix
+++ b/pkgs/tools/networking/tlsdate/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Secure parasitic rdate replacement";
     homepage = https://github.com/ioerror/tlsdate;
-    platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.tv ];
+    platforms = stdenv.lib.platforms.allBut [ "darwin" ];
   };
 }
diff --git a/pkgs/tools/system/proot/default.nix b/pkgs/tools/system/proot/default.nix
index be3cffb47eb3..aecab9c35d08 100644
--- a/pkgs/tools/system/proot/default.nix
+++ b/pkgs/tools/system/proot/default.nix
@@ -1,31 +1,44 @@
-{ stdenv, fetchgit, talloc, enableStatic ? false }:
+{ stdenv, fetchFromGitHub, talloc, docutils
+, enableStatic ? false }:
 
 stdenv.mkDerivation rec {
   name = "proot-${version}";
-  version = "4.0.3";
+  version = "5.1.0";
 
-  src = fetchgit {
-    url = "git://github.com/cedric-vincent/proot.git";
-    rev = "refs/tags/v${version}";
-    sha256 = "95a52b2fa47b2891eb2c6b6b0e14d42f6d48f6fd5181e359b007831f1a046e84";
+  src = fetchFromGitHub {
+    sha256 = "0azsqis99gxldmbcg43girch85ysg4hwzf0h1b44bmapnsm89fbz";
+    rev = "v${version}";
+    repo = "proot";
+    owner = "cedric-vincent";
   };
 
   buildInputs = [ talloc ];
+  nativeBuildInputs = [ docutils ];
+
+  enableParallelBuilding = true;
 
   preBuild = stdenv.lib.optionalString enableStatic ''
     export LDFLAGS="-static -L${talloc}/lib"
-  '' + ''
-    substituteInPlace GNUmakefile --replace "/usr/local" "$out"
   '';
 
-  sourceRoot = "proot/src";
+  makeFlags = [ "-C src" ];
+
+  postBuild = ''
+    make -C doc proot/man.1
+  '';
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  postInstall = ''
+    install -Dm644 doc/proot/man.1 $out/share/man/man1/proot.1
+  '';
 
   meta = with stdenv.lib; {
     homepage = http://proot.me;
     description = "User-space implementation of chroot, mount --bind and binfmt_misc";
     platforms = platforms.linux;
     license = licenses.gpl2;
-    maintainers = [ maintainers.ianwookim ];
+    maintainers = with maintainers; [ ianwookim nckx ];
   };
 }
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c1d46ac9a758..bdc31b6b419c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -64,7 +64,7 @@ let
       # { /* the config */ } and
       # { pkgs, ... } : { /* the config */ }
       if builtins.isFunction configExpr
-        then configExpr { inherit pkgs; }
+        then configExpr { pkgs = pkgsFinal; }
         else configExpr;
 
   # Allow setting the platform in the config file. Otherwise, let's use a reasonable default (pc)
@@ -83,51 +83,38 @@ let
   platform = if platform_ != null then platform_
     else config.platform or platformAuto;
 
-  # Helper functions that are exported through `pkgs'.
-  helperFunctions =
-    stdenvAdapters //
-    (import ../build-support/trivial-builders.nix { inherit lib; inherit (pkgs) stdenv; inherit (pkgs.xorg) lndir; });
-
-  stdenvAdapters =
-    import ../stdenv/adapters.nix pkgs;
+  # The complete set of packages, after applying the overrides
+  pkgsFinal = lib.fix' (lib.extends configOverrides (lib.extends stdenvOverrides pkgsFun));
 
+  stdenvOverrides =
+    # We don't want stdenv overrides in the case of cross-building,
+    # or otherwise the basic overrided packages will not be built
+    # with the crossStdenv adapter.
+    if crossSystem == null
+      then self: super: lib.optionalAttrs (super.stdenv ? overrides) (super.stdenv.overrides super)
+      else self: super: {};
 
-  # Allow packages to be overriden globally via the `packageOverrides'
+  # Packages can be overriden globally via the `packageOverrides'
   # configuration option, which must be a function that takes `pkgs'
   # as an argument and returns a set of new or overriden packages.
-  # The `packageOverrides' function is called with the *original*
-  # (un-overriden) set of packages, allowing packageOverrides
-  # attributes to refer to the original attributes (e.g. "foo =
-  # ... pkgs.foo ...").
-  pkgs = applyGlobalOverrides (config.packageOverrides or (pkgs: {}));
-
-  mkOverrides = pkgsOrig: overrides: overrides //
-        (lib.optionalAttrs (pkgsOrig.stdenv ? overrides && crossSystem == null) (pkgsOrig.stdenv.overrides pkgsOrig));
-
-  # Return the complete set of packages, after applying the overrides
-  # returned by the `overrider' function (see above).  Warning: this
-  # function is very expensive!
-  applyGlobalOverrides = overrider:
-    let
-      # Call the overrider function.  We don't want stdenv overrides
-      # in the case of cross-building, or otherwise the basic
-      # overrided packages will not be built with the crossStdenv
-      # adapter.
-      overrides = mkOverrides pkgsOrig (overrider pkgsOrig);
-
-      # The un-overriden packages, passed to `overrider'.
-      pkgsOrig = pkgsFun pkgs {};
-
-      # The overriden, final packages.
-      pkgs = pkgsFun pkgs overrides;
-    in pkgs;
-
+  # The recommended usage follows this snippet:
+  #   packageOverrides = super: let self = super.pkgs in ...
+  # `super' is the *original* (un-overriden) set of packages,
+  # while `self' refers to the final (overriden) set of packages.
+  configOverrides =
+      if config ? packageOverrides && bootStdenv == null # don't apply config overrides in stdenv boot
+        then self: config.packageOverrides
+        else self: super: {};
 
   # The package compositions.  Yes, this isn't properly indented.
-  pkgsFun = pkgs: overrides:
-    with helperFunctions;
-    let defaultScope = pkgs // pkgs.xorg; self = self_ // overrides;
-    self_ = with self; helperFunctions // {
+  pkgsFun = pkgs:
+    let defaultScope = pkgs // pkgs.xorg;
+        helperFunctions = pkgs_.stdenvAdapters // pkgs_.trivial-builders;
+        pkgsRet = helperFunctions // pkgs_;
+        pkgs_ = with pkgs; {
+  # Helper functions that are exported through `pkgs'.
+  trivial-builders = import ../build-support/trivial-builders.nix { inherit lib; inherit stdenv; inherit (xorg) lndir; };
+  stdenvAdapters = import ../stdenv/adapters.nix pkgs;
 
   # Make some arguments passed to all-packages.nix available
   inherit system platform;
@@ -157,11 +144,7 @@ let
   #
   # The result is `pkgs' where all the derivations depending on `foo'
   # will use the new version.
-  overridePackages = f:
-    let
-      newpkgs = pkgsFun newpkgs overrides;
-      overrides = mkOverrides pkgs (f newpkgs pkgs);
-    in newpkgs;
+  overridePackages = f: lib.fix' (lib.extends f pkgs.__unfix__);
 
   # Override system. This is useful to build i686 packages on x86_64-linux.
   forceSystem = system: kernel: (import ./all-packages.nix) {
@@ -183,7 +166,7 @@ let
 
 
   ### Helper functions.
-  inherit lib config stdenvAdapters;
+  inherit lib config;
 
   inherit (lib) lowPrio hiPrio appendToName makeOverridable;
   inherit (misc) versionedDerivation;
@@ -214,7 +197,8 @@ let
     allPackages = args: import ./all-packages.nix ({ inherit config system; } // args);
   };
 
-  defaultStdenv = allStdenvs.stdenv // { inherit platform; };
+  # We use pkgs_ because accessing pkgs would lead to an infinite recursion in stdenvOverrides
+  defaultStdenv = pkgs_.allStdenvs.stdenv // { inherit platform; };
 
   stdenvCross = lowPrio (makeStdenvCross defaultStdenv crossSystem binutilsCross gccCrossStageFinal);
 
@@ -234,7 +218,7 @@ let
             };
           }
       else
-        defaultStdenv;
+        pkgs_.defaultStdenv;
 
   forceNativeDrv = drv : if crossSystem == null then drv else
     (drv // { crossDrv = drv.nativeDrv; });
@@ -593,6 +577,8 @@ let
 
   awscli = pythonPackages.awscli;
 
+  aws_shell = pythonPackages.aws_shell;
+
   azure-cli = callPackage ../tools/virtualization/azure-cli { };
 
   ec2_api_tools = callPackage ../tools/virtualization/ec2-api-tools { };
@@ -904,6 +890,8 @@ let
 
   gmic = callPackage ../tools/graphics/gmic { };
 
+  gti = callPackage ../tools/misc/gti { };
+
   heatseeker = callPackage ../tools/misc/heatseeker { };
 
   interlock = goPackages.interlock.bin // { outputs = [ "bin" ]; };
@@ -1031,7 +1019,7 @@ let
   bittornado = callPackage ../tools/networking/p2p/bit-tornado { };
 
   blueman = callPackage ../tools/bluetooth/blueman {
-    inherit (gnome3) dconf;
+    inherit (gnome3) dconf gsettings_desktop_schemas;
     withPulseAudio = config.pulseaudio or true;
   };
 
@@ -1270,6 +1258,7 @@ let
 
   curl = callPackage ../tools/networking/curl rec {
     fetchurl = fetchurlBoot;
+    http2Support = !stdenv.isDarwin;
     zlibSupport = true;
     sslSupport = zlibSupport;
     scpSupport = zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin;
@@ -1670,6 +1659,8 @@ let
     gtk = gtk3;
   };
 
+  galen = callPackage ../development/tools/galen {};
+
   garmin-plugin = callPackage ../applications/misc/garmin-plugin {};
 
   garmintools = callPackage ../development/libraries/garmintools {};
@@ -1714,14 +1705,14 @@ let
   gitinspector = callPackage ../applications/version-management/gitinspector { };
 
   gitlab = callPackage ../applications/version-management/gitlab {
-    ruby = ruby_2_2_2;
+    ruby = ruby_2_2;
   };
 
   gitlab-shell = callPackage ../applications/version-management/gitlab-shell {
-    ruby = ruby_2_2_2;
+    ruby = ruby_2_2;
   };
 
-  gitlab-git-http-server = callPackage ../applications/version-management/gitlab-git-http-server { };
+  gitlab-workhorse = callPackage ../applications/version-management/gitlab-workhorse { };
 
   git-latexdiff = callPackage ../tools/typesetting/git-latexdiff { };
 
@@ -3017,6 +3008,8 @@ let
 
   rarcrack = callPackage ../tools/security/rarcrack { };
 
+  ratools = callPackage ../tools/networking/ratools { };
+
   rawdog = callPackage ../applications/networking/feedreaders/rawdog { };
 
   read-edid = callPackage ../os-specific/linux/read-edid { };
@@ -3355,7 +3348,7 @@ let
   stricat = callPackage ../tools/security/stricat { };
 
   staruml = callPackage ../tools/misc/staruml { inherit (gnome) GConf; libgcrypt = libgcrypt_1_5; };
-  
+
   privoxy = callPackage ../tools/networking/privoxy {
     w3m = w3m-batch;
   };
@@ -4548,6 +4541,7 @@ let
   mozart = mozart-binary;
 
   nim = callPackage ../development/compilers/nim { };
+  nimble = callPackage ../development/tools/nimble { };
 
   neko = callPackage ../development/compilers/neko { };
 
@@ -5408,12 +5402,20 @@ let
 
   php = php56;
 
-  phpPackages = recurseIntoAttrs (callPackage ./php-packages.nix {});
+  phpPackages = php56Packages;
 
   php55Packages = recurseIntoAttrs (callPackage ./php-packages.nix {
     php = php55;
   });
 
+  php56Packages = recurseIntoAttrs (callPackage ./php-packages.nix {
+    php = php56;
+  });
+
+  php70Packages = recurseIntoAttrs (callPackage ./php-packages.nix {
+    php = php70;
+  });
+
   inherit (callPackages ../development/interpreters/php { })
     php55
     php56
@@ -5965,8 +5967,8 @@ let
   gotty = goPackages.gotty.bin // { outputs = [ "bin" ]; };
 
   gradleGen = callPackage ../development/tools/build-managers/gradle { };
-  gradle = self.gradleGen.gradleLatest;
-  gradle25 = self.gradleGen.gradle25;
+  gradle = gradleGen.gradleLatest;
+  gradle25 = gradleGen.gradle25;
 
   gperf = callPackage ../development/tools/misc/gperf { };
 
@@ -6574,8 +6576,8 @@ let
   eigen = callPackage ../development/libraries/eigen {};
 
   eigen2 = callPackage ../development/libraries/eigen/2.0.nix {};
-  
-  vmmlib = callPackage ../development/libraries/vmmlib {};  
+
+  vmmlib = callPackage ../development/libraries/vmmlib {};
 
   enchant = callPackage ../development/libraries/enchant { };
 
@@ -6947,6 +6949,8 @@ let
 
   glib_networking = callPackage ../development/libraries/glib-networking {};
 
+  ace = callPackage ../development/libraries/ace { };
+
   atk = callPackage ../development/libraries/atk { };
   atkmm = callPackage ../development/libraries/atkmm { };
 
@@ -10525,7 +10529,7 @@ let
   };
 
   # The current default kernel / kernel modules.
-  linuxPackages = linuxPackages_4_1;
+  linuxPackages = linuxPackages_4_4;
   linux = linuxPackages.kernel;
 
   # Update this when adding the newest kernel major version!
@@ -11792,7 +11796,7 @@ let
       AppKit Carbon Cocoa IOKit OSAKit Quartz QuartzCore WebKit
       ImageCaptureCore GSS ImageIO;
   });
-  emacs24Macport = self.emacs24Macport_24_5;
+  emacs24Macport = emacs24Macport_24_5;
 
   emacs25pre = lowPrio (callPackage ../applications/editors/emacs-25 {
     # use override to enable additional features
@@ -12214,6 +12218,11 @@ let
 
   gimp = gimp_2_8;
 
+  gimp-with-plugins = callPackage ../applications/graphics/gimp/wrapper.nix {
+    gimp = gimp_2_8;
+    plugins = null; # All packaged plugins enabled, if not explicit plugin list supplied
+  };
+
   gimpPlugins = recurseIntoAttrs (callPackage ../applications/graphics/gimp/plugins {});
 
   gitAndTools = recurseIntoAttrs (callPackage ../applications/version-management/git-and-tools {});
@@ -12356,6 +12365,10 @@ let
 
   google-chrome = callPackage ../applications/networking/browsers/google-chrome { gconf = gnome.GConf; };
 
+  google-chrome-beta = google-chrome.override { channel = "beta"; };
+
+  google-chrome-dev = google-chrome.override { channel = "dev"; };
+
   googleearth = callPackage_i686 ../applications/misc/googleearth { };
 
   google_talk_plugin = callPackage ../applications/networking/browsers/mozilla-plugins/google-talk-plugin {
@@ -12666,6 +12679,7 @@ let
   libreoffice = callPackage ../applications/office/libreoffice {
     inherit (perlPackages) ArchiveZip CompressZlib;
     inherit (gnome) GConf ORBit2 gnome_vfs;
+    inherit (gnome3) gsettings_desktop_schemas defaultIconTheme;
     zip = zip.override { enableNLS = false; };
     #glm = glm_0954;
     bluez5 = bluez5_28;
@@ -13114,6 +13128,8 @@ let
 
   paraview = callPackage ../applications/graphics/paraview { };
 
+  pcsx2 = callPackage_i686 ../misc/emulators/pcsx2 { };
+
   pencil = callPackage ../applications/graphics/pencil { };
 
   perseus = callPackage ../applications/science/math/perseus {};
@@ -13259,6 +13275,8 @@ let
 
   qmmp = callPackage ../applications/audio/qmmp { };
 
+  qnotero = callPackage ../applications/office/qnotero { };
+
   qrcode = callPackage ../tools/graphics/qrcode {};
 
   qsampler = callPackage ../applications/audio/qsampler { };
@@ -14219,6 +14237,8 @@ let
 
   pahole = callPackage ../development/tools/misc/pahole {};
 
+  yarp = callPackage ../applications/science/misc/yarp {};
+
   yed = callPackage ../applications/graphics/yed {};
 
   ykpers = callPackage ../applications/misc/ykpers {};
@@ -14832,6 +14852,7 @@ let
           perlBindings = true;
           pythonBindings = true;
         };
+        ruby = ruby_2_2; # see https://github.com/NixOS/nixpkgs/pull/12610#issuecomment-188666473
       }
       ../desktops/kde-4.14;
 
@@ -15512,6 +15533,8 @@ let
 
   pari = callPackage ../applications/science/math/pari {};
 
+  calc = callPackage ../applications/science/math/calc { };
+
   pcalc = callPackage ../applications/science/math/pcalc { };
 
   pspp = callPackage ../applications/science/math/pssp {
@@ -16137,19 +16160,22 @@ let
 
   mg = callPackage ../applications/editors/mg { };
 
-}; # self_ =
+};
+# end pkgs_ =
 
 
   ### Deprecated aliases - for backward compatibility
 
-aliases = with self; rec {
+aliases = with pkgs; {
   accounts-qt = qt5.accounts-qt;  # added 2015-12-19
   adobeReader = adobe-reader;
+  aircrackng = aircrack-ng; # added 2016-01-14
   arduino_core = arduino-core;  # added 2015-02-04
   asciidocFull = asciidoc-full;  # added 2014-06-22
   bar = lemonbar;  # added 2015-01-16
   bar-xft = lemonbar-xft;  # added 2015-01-16
   bridge_utils = bridge-utils;  # added 2015-02-20
+  btrfsProgs = btrfs-progs; # added 2016-01-03
   buildbotSlave = buildbot-slave;  # added 2014-12-09
   cheetahTemplate = pythonPackages.cheetah; # 2015-06-15
   clangAnalyzer = clang-analyzer;  # added 2015-02-20
@@ -16157,12 +16183,13 @@ aliases = with self; rec {
   cool-old-term = cool-retro-term; # added 2015-01-31
   cupsBjnp = cups-bjnp; # added 2016-01-02
   cv = progress; # added 2015-09-06
+  dwarf_fortress = dwarf-fortress; # added 2016-01-23
   dwbWrapper = dwb; # added 2015-01
   enblendenfuse = enblend-enfuse; # 2015-09-30
   exfat-utils = exfat;                  # 2015-09-11
-  firefoxWrapper = firefox;           # 2015-09
-  firefox-wrapper = firefox;          # 2016-01
   firefox-esr-wrapper = firefox-esr;  # 2016-01
+  firefox-wrapper = firefox;          # 2016-01
+  firefoxWrapper = firefox;           # 2015-09
   fuse_exfat = exfat;                   # 2015-09-11
   gettextWithExpat = gettext; # 2016-02-19
   grantlee5 = qt5.grantlee;  # added 2015-12-19
@@ -16176,53 +16203,50 @@ aliases = with self; rec {
   links = links2; # added 2016-01-31
   lttngTools = lttng-tools;  # added 2014-07-31
   lttngUst = lttng-ust;  # added 2014-07-31
+  manpages = man-pages; # added 2015-12-06
   midoriWrapper = midori; # added 2015-01
   mlt-qt5 = qt5.mlt;  # added 2015-12-19
+  mssys = ms-sys; # added 2015-12-13
   multipath_tools = multipath-tools;  # added 2016-01-21
   mupen64plus1_5 = mupen64plus; # added 2016-02-12
   ncat = nmap;  # added 2016-01-26
   nfsUtils = nfs-utils;  # added 2014-12-06
   phonon_qt5 = qt5.phonon;  # added 2015-12-19
   phonon_qt5_backend_gstreamer = qt5.phonon-backend-gstreamer;  # added 2015-12-19
+  pidginlatexSF = pidginlatex; # added 2014-11-02
   poppler_qt5 = qt5.poppler;  # added 2015-12-19
   qca-qt5 = qt5.qca-qt5;  # added 2015-12-19
   qtcreator = qt5.qtcreator;  # added 2015-12-19
+  quake3game = ioquake3; # added 2016-01-14
+  quassel_kf5 = kde5.quassel; # added 2015-09-30
   quassel_qt5 = kde5.quassel_qt5; # added 2015-09-30
+  quasselClient_kf5 = kde5.quasselClient; # added 2015-09-30
   quasselClient_qt5 = kde5.quasselClient_qt5; # added 2015-09-30
   quasselDaemon_qt5 = kde5.quasselDaemon; # added 2015-09-30
-  quassel_kf5 = kde5.quassel; # added 2015-09-30
-  quasselClient_kf5 = kde5.quasselClient; # added 2015-09-30
   qwt6 = qt5.qwt;  # added 2015-12-19
   rdiff_backup = rdiff-backup;  # added 2014-11-23
   rekonqWrapper = rekonq; # added 2015-01
   rssglx = rss-glx; #added 2015-03-25
   rxvt_unicode_with-plugins = rxvt_unicode-with-plugins; # added 2015-04-02
+  samsungUnifiedLinuxDriver = samsung-unified-linux-driver; # added 2016-01-25
+  saneBackends = sane-backends; # added 2016-01-02
+  saneBackendsGit = sane-backends-git; # added 2016-01-02
+  saneFrontends = sane-frontends; # added 2016-01-02
+  scim = sc-im; # added 2016-01-22
   signon = qt5.signon;  # added 2015-12-19
   speedtest_cli = speedtest-cli;  # added 2015-02-17
   sqliteInteractive = sqlite-interactive;  # added 2014-12-06
   system_config_printer = system-config-printer;  # added 2016-01-03
   telepathy_qt5 = qt5.telepathy;  # added 2015-12-19
-  x11 = xlibsWrapper; # added 2015-09
-  xf86_video_nouveau = xorg.xf86videonouveau; # added 2015-09
-  xlibs = xorg; # added 2015-09
-  youtubeDL = youtube-dl;  # added 2014-10-26
+  tftp_hpa = tftp-hpa; # added 2015-04-03
   vimbWrapper = vimb; # added 2015-01
   vimprobable2Wrapper = vimprobable2; # added 2015-01
-  pidginlatexSF = pidginlatex; # added 2014-11-02
-  tftp_hpa = tftp-hpa; # added 2015-04-03
-  manpages = man-pages; # added 2015-12-06
-  mssys = ms-sys; # added 2015-12-13
   virtviewer = virt-viewer; # added 2015-12-24
-  saneBackends = sane-backends; # added 2016-01-02
-  saneBackendsGit = sane-backends-git; # added 2016-01-02
-  saneFrontends = sane-frontends; # added 2016-01-02
-  btrfsProgs = btrfs-progs; # added 2016-01-03
-  aircrackng = aircrack-ng; # added 2016-01-14
-  quake3game = ioquake3; # added 2016-01-14
-  scim = sc-im; # added 2016-01-22
-  dwarf_fortress = dwarf-fortress; # added 2016-01-23
-  samsungUnifiedLinuxDriver = samsung-unified-linux-driver; # added 2016-01-25
   vorbisTools = vorbis-tools; # added 2016-01-26
+  x11 = xlibsWrapper; # added 2015-09
+  xf86_video_nouveau = xorg.xf86videonouveau; # added 2015-09
+  xlibs = xorg; # added 2015-09
+  youtubeDL = youtube-dl;  # added 2014-10-26
 };
 
 tweakAlias = _n: alias: with lib;
@@ -16230,4 +16254,7 @@ tweakAlias = _n: alias: with lib;
     removeAttrs alias ["recurseForDerivations"]
   else alias;
 
-in lib.mapAttrs tweakAlias aliases // self; in pkgs
+in lib.mapAttrs tweakAlias aliases // pkgsRet;
+# end pkgsFun
+
+in pkgsFinal
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 404d0968d40e..86628cc503fd 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -65,10 +65,7 @@ rec {
 
     uhc = callPackage ../development/compilers/uhc/default.nix ({
       stdenv = pkgs.clangStdenv;
-      # UHC 1.1.9.2 is incompatible with hashable 1.2.4.0,
-      # latest LTS with a compatible hashable is LTS 4.1
-      # See also https://github.com/UU-ComputerScience/uhc/issues/69
-      inherit (pkgs.haskell.packages.lts-4_1) ghcWithPackages;
+      inherit (pkgs.haskellPackages) ghcWithPackages;
     });
 
   };
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 02ff5a3653ec..700069220793 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -1,25 +1,46 @@
-{ pkgs, php }:
+{ pkgs, fetchgit, php }:
 
-let self = with self; {
-  buildPecl = import ../build-support/build-pecl.nix {
-    inherit php;
-    inherit (pkgs) stdenv autoreconfHook fetchurl;
-  };
+let
+  self = with self; {
+    buildPecl = import ../build-support/build-pecl.nix {
+      inherit php;
+      inherit (pkgs) stdenv autoreconfHook fetchurl;
+    };
+  isPhpOlder55 = pkgs.lib.versionOlder php.version "5.5";
+  isPhp7 = pkgs.lib.versionAtLeast php.version "7.0";
 
-  apcu = buildPecl {
+  apcu = if isPhp7 then apcu51 else apcu40;
+
+  apcu40 = assert !isPhp7; buildPecl {
     name = "apcu-4.0.7";
 
     sha256 = "1mhbz56mbnq7dryf2d64l84lj3fpr5ilmg2424glans3wcg772hp";
   };
 
-  imagick = buildPecl {
+  apcu51 = assert isPhp7; buildPecl {
+    name = "apcu-5.1.2";
+
+    sha256 = "0r5pfbjbmdj46h20jm3iqmy969qd27ajyf0phjhgykv6j0cqjlgd";
+  };
+
+  imagick = if isPhp7 then imagick34 else imagick31;
+
+  imagick31 = assert !isPhp7; buildPecl {
     name = "imagick-3.1.2";
     sha256 = "14vclf2pqcgf3w8nzqbdw0b9v30q898344c84jdbw2sa62n6k1sj";
     configureFlags = "--with-imagick=${pkgs.imagemagick}";
     buildInputs = [ pkgs.pkgconfig ];
   };
 
-  memcache = buildPecl {
+  imagick34 = buildPecl {
+    name = "imagick-3.4.0RC4";
+    sha256 = "0fdkzdv3r8sm6y1x11kp3rxsimq6zf15xvi0mhn57svmnan4zh0i";
+    configureFlags = "--with-imagick=${pkgs.imagemagick}";
+    buildInputs = [ pkgs.pkgconfig ];
+  };
+
+  # No support for PHP 7 yet
+  memcache = assert !isPhp7; buildPecl {
     name = "memcache-3.0.8";
 
     sha256 = "04c35rj0cvq5ygn2jgmyvqcb0k8d03v4k642b6i37zgv7x15pbic";
@@ -27,7 +48,9 @@ let self = with self; {
     configureFlags = "--with-zlib-dir=${pkgs.zlib}";
   };
 
-  memcached = buildPecl {
+  memcached = if isPhp7 then memcachedPhp7 else memcached22;
+
+  memcached22 = assert !isPhp7; buildPecl {
     name = "memcached-2.2.0";
 
     sha256 = "0n4z2mp4rvrbmxq079zdsrhjxjkmhz6mzi7mlcipz02cdl7n1f8p";
@@ -40,7 +63,27 @@ let self = with self; {
     buildInputs = with pkgs; [ pkgconfig cyrus_sasl ];
   };
 
-  xdebug = buildPecl {
+  # Not released yet
+  memcachedPhp7 = assert isPhp7; buildPecl rec {
+    name = "memcached-php7";
+
+    src = fetchgit {
+      url = "https://github.com/php-memcached-dev/php-memcached";
+      rev = "e573a6e8fc815f12153d2afd561fc84f74811e2f";
+      sha256 = "f7acfdae04ef2ef9ece67b6d009aaf6604db64735fc7619f7169929aabb9c58f";
+    };
+
+    configureFlags = [
+      "--with-zlib-dir=${pkgs.zlib}"
+      "--with-libmemcached-dir=${pkgs.libmemcached}"
+    ];
+
+    buildInputs = with pkgs; [ pkgconfig cyrus_sasl ];
+  };
+
+  xdebug = if isPhp7 then xdebug24 else xdebug23;
+
+  xdebug23 = assert !isPhp7; buildPecl {
     name = "xdebug-2.3.1";
 
     sha256 = "0k567i6w7cw14m13s7ip0946pvy5ii16cjwjcinnviw9c24na0xm";
@@ -49,13 +92,25 @@ let self = with self; {
     checkTarget = "test";
   };
 
-  zendopcache = buildPecl {
+  xdebug24 = buildPecl {
+    name = "xdebug-2.4.0RC3";
+
+    sha256 = "06ppsihw4cl8kxmywvic6wsm4ps9pvsns2vbab9ivrfyp8b6h5dy";
+
+    doCheck = true;
+    checkTarget = "test";
+  };
+
+  # Since PHP 5.5 OPcache is integrated in the core and has to be enabled via --enable-opcache during compilation.
+  zendopcache = assert isPhpOlder55; buildPecl {
     name = "zendopcache-7.0.3";
 
     sha256 = "0qpfbkfy4wlnsfq4vc4q5wvaia83l89ky33s08gqrcfp3p1adn88";
   };
 
-  zmq = buildPecl {
+  zmq = if isPhp7 then zmqPhp7 else zmq11;
+
+  zmq11 = assert !isPhp7; buildPecl {
     name = "zmq-1.1.2";
 
     sha256 = "0ccz73p8pkda3y9p9qbr3m19m0yrf7k2bvqgbaly3ibgh9bazc69";
@@ -67,7 +122,25 @@ let self = with self; {
     buildInputs = [ pkgs.pkgconfig ];
   };
 
-  xcache = buildPecl rec {
+  # Not released yet
+  zmqPhp7 = assert isPhp7; buildPecl rec {
+    name = "zmq-php7";
+
+    src = fetchgit {
+      url = "https://github.com/mkoppanen/php-zmq";
+      rev = "94d2b87d195f870775b153b42c29f30da049f4db";
+      sha256 = "51a25b1029800d8abe03c5c08c50d6aee941c95c741dc22d2f853052511f4296";
+    };
+
+    configureFlags = [
+      "--with-zmq=${pkgs.zeromq2}"
+    ];
+
+    buildInputs = [ pkgs.pkgconfig ];
+  };
+
+  # No support for PHP 7 and probably never will be
+  xcache = assert !isPhp7; buildPecl rec {
     name = "xcache-${version}";
 
     version = "3.2.0";
@@ -92,14 +165,22 @@ let self = with self; {
     buildInputs = [ pkgs.m4 ];
   };
 
-  pthreads = assert pkgs.config.php.zts or false; buildPecl {
-    #pthreads requires a build of PHP with ZTS (Zend Thread Safety) enabled
-    #--enable-maintainer-zts or --enable-zts on Windows
+  #pthreads requires a build of PHP with ZTS (Zend Thread Safety) enabled
+  #--enable-maintainer-zts or --enable-zts on Windows
+  pthreads = if isPhp7 then pthreads31 else pthreads20;
+
+  pthreads20 = assert (pkgs.config.php.zts or false) && (!isPhp7); buildPecl {
     name = "pthreads-2.0.10";
     sha256 = "1xlcb1b1g10jd0xhm3c01a06yqpb5qln47pd1k522138324qvpwb";
   };
 
-  geoip = buildPecl {
+  pthreads31 = assert (pkgs.config.php.zts or false) && isPhp7; buildPecl {
+    name = "pthreads-3.1.5";
+    sha256 = "1ziap0py3zrc7qj9lw4nzq6wx1viyj8v9y1babchizzan014x6p5";
+  };
+
+  # No support for PHP 7 yet
+  geoip = assert !isPhp7; buildPecl {
     name = "geoip-1.1.0";
     sha256 = "1fcqpsvwba84gqqmwyb5x5xhkazprwkpsnn4sv2gfbsd4svxxil2";
 
@@ -108,11 +189,24 @@ let self = with self; {
     buildInputs = [ pkgs.geoip ];
   };
 
-  redis = buildPecl {
+  redis = if isPhp7 then redisPhp7 else redis22;
+
+  redis22 = buildPecl {
     name = "redis-2.2.7";
     sha256 = "00n9dpk9ak0bl35sbcd3msr78sijrxdlb727nhg7f2g7swf37rcm";
   };
 
+  # Not released yet
+  redisPhp7 = assert isPhp7; buildPecl rec {
+    name = "redis-php7";
+
+    src = fetchgit {
+      url = "https://github.com/phpredis/phpredis";
+      rev = "4a37e47d0256581ce2f7a3b15b5bb932add09f36";
+      sha256 = "ac5894d168e22ae4a770ce252cfbd07d0f9f1a5b48b084c0559b67fe4d3e51cb";
+    };
+  };
+
   composer = pkgs.stdenv.mkDerivation rec {
     name = "composer-${version}";
     version = "1.0.0-alpha11";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index ffcd6c4229d3..d9b111a535ce 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1189,6 +1189,36 @@ in modules // {
     };
   };
 
+  aws_shell = buildPythonPackage rec {
+    name = "aws-shell-${version}";
+    version = "0.1.0";
+    src = pkgs.fetchurl {
+        sha256 = "05isyrqbk16dg1bc3mnc4ynxr3nchslvia5wr1sdmxvc3v2y729d";
+        url = "https://pypi.python.org/packages/source/a/aws-shell/aws-shell-0.1.0.tar.gz";
+      };
+    propagatedBuildInputs = with self; [
+      configobj prompt_toolkit_52 awscli boto3 pygments sqlite3 mock pytest
+      pytestcov unittest2 tox
+    ];
+
+    #Checks are failing due to missing TTY, which won't exist.
+    doCheck = false;
+    preCheck = ''
+      mkdir -p check-phase
+      export HOME=$(pwd)/check-phase
+    '';
+
+    disabled = isPy35;
+
+
+    meta = {
+      homepage = https://github.com/awslabs/aws-shell;
+      description = "An integrated shell for working with the AWS CLI.";
+      license = licenses.asl20;
+      maintainers = [ ];
+    };
+  };
+
   azure = buildPythonPackage rec {
     version = "0.11.0";
     name = "azure-${version}";
@@ -2956,11 +2986,11 @@ in modules // {
   };
 
   click = buildPythonPackage rec {
-    name = "click-6.2";
+    name = "click-6.3";
 
     src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/c/click/${name}.tar.gz";
-      sha256 = "10kavbisnk9m93jl2wi34pw7ryr2qbxshh2cysxwxd7bymqgz87v";
+      sha256 = "076cr1xbhfyfrzkvflz1i0950jgjn2161hp3f5xji4z1mgxdj85p";
     };
 
     buildInputs = with self; [ pytest ];
@@ -6118,8 +6148,9 @@ in modules // {
       sha256 = "f19fa66e656309825887171d84a462e64676b1cc36b62e4dd8679ff63926a469";
     };
 
+    propagatedBuildInputs = with self; [ ofxclient ];
+
     buildInputs = with self; [
-      ofxclient
       mock
       nose
       # Used at runtime to translate ofx entries to the ledger
@@ -10253,12 +10284,12 @@ in modules // {
   };
 
   ipykernel = buildPythonPackage rec {
-    version = "4.2.2";
+    version = "4.3.0";
     name = "ipykernel-${version}";
 
     src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/i/ipykernel/${name}.tar.gz";
-      sha256 = "a876da43e01acec2c305abdd8e6aa55f052bab1196171ccf1cb9a6aa230298b0";
+      sha256 = "1av769gbzfm1zy9p94wicwwwxmyc7s7zk1ginq16x0wc69hwc57j";
     };
 
     buildInputs = with self; [ nose ] ++ optionals isPy27 [mock];
@@ -10267,6 +10298,7 @@ in modules // {
       jupyter_client
       pexpect
       traitlets
+      tornado
     ];
 
     # Tests require backends.
@@ -15551,6 +15583,18 @@ in modules // {
       maintainers = with maintainers; [ nckx ];
     };
   };
+  prompt_toolkit_52 = self.prompt_toolkit.override(self: rec {
+    name = "prompt_toolkit-${version}";
+    version = "0.52";
+    src = pkgs.fetchurl {
+      sha256 = "00h9ldqmb33nhg2kpks7paldf3n3023ipp124alwp96yz16s7f1m";
+      url = "https://pypi.python.org/packages/source/p/prompt_toolkit/${name}.tar.gz";
+    };
+
+    #Only <3.4 expressly supported.
+    disabled = isPy35;
+
+  });
 
   protobuf = self.protobuf2_6;
   protobuf2_6 = self.protobufBuild pkgs.protobuf2_6;
@@ -17994,11 +18038,11 @@ in modules // {
 
   requests2 = buildPythonPackage rec {
     name = "requests-${version}";
-    version = "2.8.1";
+    version = "2.9.1";
 
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/r/requests/${name}.tar.gz";
-      sha256 = "0ny2nr1sqr4hcn3903ghmh7w2yni8shlfv240a8c9p6wyidqvzl4";
+      sha256 = "0zsqrzlybf25xscgi7ja4s48y2abf9wvjkn47wh984qgs1fq2xy5";
     };
 
     buildInputs = [ self.pytest ];
@@ -23926,20 +23970,31 @@ in modules // {
   };
 
   udiskie = buildPythonPackage rec {
-    version = "1.1.2";
+    version = "1.4.8";
     name = "udiskie-${version}";
 
     src = pkgs.fetchurl {
       url = "https://github.com/coldfix/udiskie/archive/${version}.tar.gz";
-      sha256 = "07fyvwp4rga47ayfsmb79p2784sqrih0sglwnd9c4x6g63xgljvb";
+      sha256 = "0fj1kh6pmwyyy54ybc5fa625lhrxzhzmfx1nwz2lym5cpm4b21fl";
     };
 
     preConfigure = ''
       export XDG_RUNTIME_DIR=/tmp
     '';
 
+    buildInputs = [
+      pkgs.asciidoc-full        # For building man page.
+    ];
+
     propagatedBuildInputs = with self; [ pkgs.gobjectIntrospection pkgs.gtk3 pyyaml pygobject3 pkgs.libnotify pkgs.udisks2 pkgs.gettext self.docopt ];
 
+    postBuild = "make -C doc";
+
+    postInstall = ''
+      mkdir -p $out/share/man/man8
+      cp -v doc/udiskie.8 $out/share/man/man8/
+    '';
+
     preFixup = ''
         wrapProgram "$out/bin/"* \
           --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
@@ -23956,17 +24011,23 @@ in modules // {
     };
   };
 
-  pythonefl_1_15 = buildPythonPackage rec {
+  pythonefl_1_16 = buildPythonPackage rec {
     name = "python-efl-${version}";
-    version = "1.15.0";
+    version = "1.16.0";
     src = pkgs.fetchurl {
-      url = "http://download.enlightenment.org/rel/bindings/python/${name}.tar.gz";
-      sha256 = "1k3vb7pb70l2v1s2mzg91wvmncq93vb04vn60pzdlrnbcns0grhi";
+      url = "http://download.enlightenment.org/rel/bindings/python/${name}.tar.xz";
+      sha256 = "142ffki41xj0z2dnf011g8j4b35waviprk4x1dhvy1wgqdywl61l";
     };
+
     preConfigure = ''
       export NIX_CFLAGS_COMPILE="$(pkg-config --cflags efl) -I${self.dbus}/include/dbus-1.0 $NIX_CFLAGS_COMPILE"
     '';
+    preBuild = "${python}/bin/${python.executable} setup.py build_ext";
+    installPhase= "${python}/bin/${python.executable} setup.py install --prefix=$out";
+
     buildInputs = with self; [ pkgs.pkgconfig pkgs.e19.efl pkgs.e19.elementary ];
+    doCheck = false;
+
     meta = {
       description = "Python bindings for EFL and Elementary";
       homepage = http://enlightenment.org/;
diff --git a/pkgs/top-level/rust-packages.nix b/pkgs/top-level/rust-packages.nix
index fc3e8fcb98cc..765eb43e8456 100644
--- a/pkgs/top-level/rust-packages.nix
+++ b/pkgs/top-level/rust-packages.nix
@@ -7,15 +7,15 @@
 { runCommand, fetchFromGitHub, git }:
 
 let
-  version = "2016-02-15";
-  rev = "af2c6a768083a66a898a07f5f3b7ec62871dbc3c";
+  version = "2016-02-25";
+  rev = "a43392dd266a3e5c982f6bee3451187fc35ebfa8";
 
   src = fetchFromGitHub {
       inherit rev;
 
       owner = "rust-lang";
       repo = "crates.io-index";
-      sha256 = "f2da91b1a11146eed04c4b4ad7599f1bd3dc2bca4e011b3377ba16365b3124aa";
+      sha256 = "45ad457fb1d13f1c0d0b09d36d5ea3e44baffc7884b82dfcbdff5ae7ab350bbd";
   };
 
 in