summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2016-05-05 08:30:19 +0200
committerVladimír Čunát <vcunat@gmail.com>2016-05-05 08:30:19 +0200
commit1dc36904d8cefa8188c785efd03274637c838e31 (patch)
tree0cf37f0803f1e9c6985d09f2870e5ec61229d2ca /pkgs
parent75f1cc61b86b002f551529f1cafa30b4f4010bd9 (diff)
parent7a005601d48f760864258e369364b3b847d4e9fd (diff)
downloadnixpkgs-1dc36904d8cefa8188c785efd03274637c838e31.tar
nixpkgs-1dc36904d8cefa8188c785efd03274637c838e31.tar.gz
nixpkgs-1dc36904d8cefa8188c785efd03274637c838e31.tar.bz2
nixpkgs-1dc36904d8cefa8188c785efd03274637c838e31.tar.lz
nixpkgs-1dc36904d8cefa8188c785efd03274637c838e31.tar.xz
nixpkgs-1dc36904d8cefa8188c785efd03274637c838e31.tar.zst
nixpkgs-1dc36904d8cefa8188c785efd03274637c838e31.zip
Merge #14920: windows improvements, mainly mingw
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/amarok/default.nix4
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix46
-rw-r--r--pkgs/applications/graphics/ImageMagick/imagetragick.patch15
-rw-r--r--pkgs/applications/misc/makeself/default.nix2
-rw-r--r--pkgs/applications/misc/rxvt_unicode/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/browser.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix7
-rw-r--r--pkgs/applications/networking/browsers/chromium/update.nix15
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix18
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb68
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/sources.nix366
-rw-r--r--pkgs/applications/networking/browsers/google-chrome/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix4
-rw-r--r--pkgs/applications/science/math/lp_solve/default.nix11
-rw-r--r--pkgs/applications/science/math/lp_solve/isnan.patch13
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile2
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile.lock63
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gemset.nix2520
-rw-r--r--pkgs/build-support/grsecurity/default.nix2
-rw-r--r--pkgs/build-support/setup-hooks/win-dll-link.sh45
-rw-r--r--pkgs/data/misc/geolite-legacy/default.nix10
-rw-r--r--pkgs/desktops/enlightenment/enlightenment.nix11
-rw-r--r--pkgs/desktops/xfce/default.nix1
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix13
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix31
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix22
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix78
-rw-r--r--pkgs/development/interpreters/ruby/default.nix9
-rw-r--r--pkgs/development/interpreters/ruby/patchsets.nix8
-rw-r--r--pkgs/development/libraries/boost/generic.nix40
-rw-r--r--pkgs/development/libraries/dbus-glib/default.nix4
-rw-r--r--pkgs/development/libraries/freetype/default.nix7
-rw-r--r--pkgs/development/libraries/gettext/default.nix7
-rw-r--r--pkgs/development/libraries/imlib2/default.nix6
-rw-r--r--pkgs/development/libraries/libiconv/default.nix8
-rw-r--r--pkgs/development/libraries/libjpeg-turbo/default.nix4
-rw-r--r--pkgs/development/libraries/libjpeg-turbo/mingw-boolean.patch19
-rw-r--r--pkgs/development/libraries/libpng/default.nix4
-rw-r--r--pkgs/development/libraries/libxml2/default.nix36
-rw-r--r--pkgs/development/libraries/libxslt/default.nix6
-rw-r--r--pkgs/development/libraries/poppler/default.nix20
-rw-r--r--pkgs/development/libraries/spdlog/default.nix36
-rw-r--r--pkgs/development/libraries/zlib/default.nix15
-rw-r--r--pkgs/development/tools/ocaml/oasis/default.nix6
-rw-r--r--pkgs/games/ckan/default.nix42
-rw-r--r--pkgs/os-specific/linux/kernel/linux-grsecurity-4.4.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix4
-rw-r--r--pkgs/os-specific/linux/mdadm/default.nix4
-rw-r--r--pkgs/os-specific/windows/mingw-w64/default.nix9
-rw-r--r--pkgs/stdenv/adapters.nix8
-rw-r--r--pkgs/stdenv/generic/default.nix8
-rw-r--r--pkgs/tools/compression/bzip2/default.nix51
-rw-r--r--pkgs/tools/misc/rpm-ostree/default.nix4
-rw-r--r--pkgs/tools/package-management/dpkg/default.nix4
-rw-r--r--pkgs/tools/security/eid-mw/default.nix11
-rw-r--r--pkgs/tools/system/thinkfan/default.nix11
-rw-r--r--pkgs/tools/text/html-tidy/default.nix3
-rw-r--r--pkgs/tools/typesetting/asciidoctor/Gemfile6
-rw-r--r--pkgs/tools/typesetting/asciidoctor/Gemfile.lock87
-rw-r--r--pkgs/tools/typesetting/asciidoctor/default.nix25
-rw-r--r--pkgs/tools/typesetting/asciidoctor/gemset.nix267
-rw-r--r--pkgs/top-level/all-packages.nix11
-rw-r--r--pkgs/top-level/go-packages.nix15
-rw-r--r--pkgs/top-level/python-packages.nix16
-rw-r--r--pkgs/top-level/release.nix3
67 files changed, 2519 insertions, 1696 deletions
diff --git a/pkgs/applications/audio/amarok/default.nix b/pkgs/applications/audio/amarok/default.nix
index aec2768e450..f7097442744 100644
--- a/pkgs/applications/audio/amarok/default.nix
+++ b/pkgs/applications/audio/amarok/default.nix
@@ -2,7 +2,7 @@
 , qtscriptgenerator, gettext, curl , libxml2, mysql, taglib
 , taglib_extras, loudmouth , kdelibs , qca2, libmtp, liblastfm, libgpod
 , phonon , strigi, soprano, qjson, ffmpeg, libofa, nepomuk_core ? null
-, lz4, lzo, snappy, libaio
+, lz4, lzo, snappy, libaio, pcre
 }:
 
 stdenv.mkDerivation rec {
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     qtscriptgenerator stdenv.cc.libc gettext curl libxml2 mysql.lib
     taglib taglib_extras loudmouth kdelibs phonon strigi soprano qca2
     libmtp liblastfm libgpod qjson ffmpeg libofa nepomuk_core
-    lz4 lzo snappy libaio
+    lz4 lzo snappy libaio pcre
   ];
 
   # This is already fixed upstream, will be release in 2.9
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index 78837f55af4..8094252c660 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkgconfig, libtool
+{ lib, stdenv, fetchurl, fetchpatch, pkgconfig, libtool
 , bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg
 , lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp
 }:
@@ -9,11 +9,28 @@ let
     else if stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin" then "x86-64"
     else if stdenv.system == "armv7l-linux" then "armv7l"
     else throw "ImageMagick is not supported on this platform.";
+
+  cfg = {
+    version = "6.9.3-9";
+    sha256 = "0q19jgn1iv7zqrw8ibxp4z57iihrc9kyb09k2wnspcacs6vrvinf";
+    patches = [];
+  }
+    # Freeze version on mingw so we don't need to port the patch too often.
+    // lib.optionalAttrs (stdenv.cross.libc or null == "msvcrt") {
+        version = "6.9.2-0";
+        sha256 = "17ir8bw1j7g7srqmsz3rx780sgnc21zfn0kwyj78iazrywldx8h7";
+        patches = (fetchpatch {
+          name = "mingw-build.patch";
+          url = "https://raw.githubusercontent.com/Alexpux/MINGW-packages/"
+            + "01ca03b2a4ef/mingw-w64-imagemagick/002-build-fixes.patch";
+          sha256 = "1pypszlcx2sf7wfi4p37w1y58ck2r8cd5b2wrrwr9rh87p7fy1c0";
+        });
+      };
 in
 
 stdenv.mkDerivation rec {
   name = "imagemagick-${version}";
-  version = "6.9.3-8";
+  inherit (cfg) version;
 
   src = fetchurl {
     urls = [
@@ -21,9 +38,11 @@ stdenv.mkDerivation rec {
       # the original source above removes tarballs quickly
       "http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz"
     ];
-    sha256 = "129s4cwp6cbhgsr3xr8186q5j02zpbk6kqfk4j7ayb563zsrdb4h";
+    inherit (cfg) sha256;
   };
 
+  patches = [ ./imagetragick.patch ] ++ cfg.patches;
+
   outputs = [ "out" "doc" ];
 
   enableParallelBuilding = true;
@@ -35,15 +54,26 @@ stdenv.mkDerivation rec {
     ++ lib.optionals (ghostscript != null)
       [ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
         "--with-gslib"
-      ];
+      ]
+    ++ lib.optionals (stdenv.cross.libc or null == "msvcrt")
+      [ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM
+    ;
+
+  nativeBuildInputs = [ pkgconfig libtool ];
 
   buildInputs =
-    [ pkgconfig libtool zlib fontconfig freetype ghostscript libjpeg
-      openexr libpng librsvg libtiff libxml2 openjpeg libwebp
-    ];
+    [ zlib fontconfig freetype ghostscript
+      libpng libtiff libxml2
+    ]
+    ++ lib.optionals (stdenv.cross.libc or null != "msvcrt")
+      [ openexr librsvg openjpeg ]
+    ;
 
   propagatedBuildInputs =
-    [ bzip2 freetype libjpeg libX11 libXext libXt lcms2 ];
+    [ bzip2 freetype libjpeg lcms2 ]
+    ++ lib.optionals (stdenv.cross.libc or null != "msvcrt")
+      [ libX11 libXext libXt libwebp ]
+    ;
 
   postInstall = ''
 
diff --git a/pkgs/applications/graphics/ImageMagick/imagetragick.patch b/pkgs/applications/graphics/ImageMagick/imagetragick.patch
new file mode 100644
index 00000000000..bdb152dd23a
--- /dev/null
+++ b/pkgs/applications/graphics/ImageMagick/imagetragick.patch
@@ -0,0 +1,15 @@
+diff --git a/config/policy.xml b/config/policy.xml
+index ca3b022..b058c05 100644
+--- a/config/policy.xml
++++ b/config/policy.xml
+@@ -58,4 +58,10 @@
+   <!-- <policy domain="resource" name="time" value="3600"/> -->
+   <!-- <policy domain="system" name="precision" value="6"/> -->
+   <policy domain="cache" name="shared-secret" value="passphrase"/>
++
++  <policy domain="coder" rights="none" pattern="EPHEMERAL" />
++  <policy domain="coder" rights="none" pattern="URL" />
++  <policy domain="coder" rights="none" pattern="HTTPS" />
++  <policy domain="coder" rights="none" pattern="MVG" />
++  <policy domain="coder" rights="none" pattern="MSL" />
+ </policymap>
diff --git a/pkgs/applications/misc/makeself/default.nix b/pkgs/applications/misc/makeself/default.nix
index 3ba0faef968..b1b4e66cfe4 100644
--- a/pkgs/applications/misc/makeself/default.nix
+++ b/pkgs/applications/misc/makeself/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     mv makeself.sh $out/bin/makeself
     mv makeself.1  $out/share/man/man1/
     mv makeself-header.sh $out/share/${name}
-    sed -e 's|HEADER=`dirname $0`/makeself-header.sh|HEADER=`dirname $0`/../share/${name}/makeself-header.sh|' -i $out/bin/makeself
+    sed -e 's|HEADER=`dirname "$0"`/makeself-header.sh|HEADER=`dirname $0`/../share/${name}/makeself-header.sh|' -i $out/bin/makeself
   '';
   meta = with stdenv.lib; {
     homepage = http://megastep.org/makeself;
diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix
index d30c2761f73..8f195555cf1 100644
--- a/pkgs/applications/misc/rxvt_unicode/default.nix
+++ b/pkgs/applications/misc/rxvt_unicode/default.nix
@@ -4,7 +4,7 @@
 
 let
   name = "rxvt-unicode";
-  version = "9.21";
+  version = "9.22";
   n = "${name}-${version}";
 in
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation (rec {
 
   src = fetchurl {
     url = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${version}.tar.bz2";
-    sha256 = "0swmi308v5yxsddrdhvi4cch88k2bbs2nffpl5j5m2f55gbhw9vm";
+    sha256 = "1pddjn5ynblwfrdmskylrsxb9vfnk3w4jdnq2l8xn2pspkljhip9";
   };
 
   buildInputs =
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index 982c6d659ee..fe21642373e 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -1,4 +1,4 @@
-{ stdenv, mkChromiumDerivation }:
+{ stdenv, mkChromiumDerivation, channel }:
 
 with stdenv.lib;
 
@@ -35,5 +35,7 @@ mkChromiumDerivation (base: rec {
     maintainers = with maintainers; [ chaoflow ];
     license = licenses.bsd3;
     platforms = platforms.linux;
+    hydraPlatforms = if channel == "stable" then ["x86_64-linux"] else [];
+    requiredSystemFeatures = [ "big-parallel" ];
   };
 })
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 79e5e2dfec3..51493fb4655 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -19,9 +19,7 @@ let
   callPackage = newScope chromium;
 
   chromium = {
-    upstream-info = (import ./update.nix {
-      inherit (stdenv) system;
-    }).getChannel channel;
+    upstream-info = (callPackage ./update.nix {}).getChannel channel;
 
     mkChromiumDerivation = callPackage ./common.nix {
       inherit enableSELinux enableNaCl enableHotwording gnomeSupport
@@ -29,7 +27,7 @@ let
               hiDPISupport;
     };
 
-    browser = callPackage ./browser.nix { };
+    browser = callPackage ./browser.nix { inherit channel; };
 
     plugins = callPackage ./plugins.nix {
       inherit enablePepperFlash enableWideVine;
@@ -86,6 +84,7 @@ in stdenv.mkDerivation {
   inherit (chromium.browser) meta packageName;
 
   passthru = {
+    inherit (chromium) upstream-info;
     mkDerivation = chromium.mkChromiumDerivation;
   };
 }
diff --git a/pkgs/applications/networking/browsers/chromium/update.nix b/pkgs/applications/networking/browsers/chromium/update.nix
index cff84199562..bd7e256bfa9 100644
--- a/pkgs/applications/networking/browsers/chromium/update.nix
+++ b/pkgs/applications/networking/browsers/chromium/update.nix
@@ -1,9 +1,16 @@
-{ system ? builtins.currentSystem }:
+let maybePkgs = import ../../../../../. {}; in
+
+{ stdenv     ? maybePkgs.stdenv
+, runCommand ? maybePkgs.runCommand
+, fetchurl   ? maybePkgs.fetchurl
+, writeText  ? maybePkgs.writeText
+, curl       ? maybePkgs.curl
+, cacert     ? maybePkgs.cacert
+, nix        ? maybePkgs.nix
+}:
 
 let
-  inherit (import ../../../../../. {
-    inherit system;
-  }) lib runCommand fetchurl writeText stdenv curl cacert nix;
+  inherit (stdenv) lib;
 
   sources = if builtins.pathExists ./upstream-info.nix
             then import ./upstream-info.nix
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index d07aec33eb0..3b653d9d871 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, config
+{ stdenv, fetchurl, config, makeWrapper
 , alsaLib
 , atk
 , cairo
@@ -13,7 +13,8 @@
 , glibc
 , gst_plugins_base
 , gstreamer
-, gtk
+, gtk2
+, gtk3
 , libX11
 , libXScrnSaver
 , libXcomposite
@@ -26,6 +27,7 @@
 , libcanberra
 , libgnome
 , libgnomeui
+, defaultIconTheme
 , mesa
 , nspr
 , nss
@@ -64,7 +66,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";
-    inherit (source) sha256;
+    inherit (source) sha512;
   };
 
   phases = "unpackPhase installPhase";
@@ -85,7 +87,8 @@ stdenv.mkDerivation {
       glibc
       gst_plugins_base
       gstreamer
-      gtk
+      gtk2
+      gtk3
       libX11
       libXScrnSaver
       libXcomposite
@@ -109,6 +112,8 @@ stdenv.mkDerivation {
       stdenv.cc.cc
     ];
 
+  buildInputs = [ makeWrapper gtk3 defaultIconTheme ];
+
   # "strip" after "patchelf" may break binaries.
   # See: https://github.com/NixOS/patchelf/issues/10
   dontStrip = 1;
@@ -144,6 +149,11 @@ stdenv.mkDerivation {
       GenericName=Web Browser
       Categories=Application;Network;
       EOF
+
+      wrapProgram "$out/bin/firefox" \
+        --argv0 "$out/bin/.firefox-wrapped" \
+        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:" \
+        --suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
     '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb
index c4e14041288..03acf17e426 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb
+++ b/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb
@@ -1,63 +1,45 @@
-# TODO share code with thunderbird-bin/generate_nix.rb
+# TODO share code with thunderbird-bin/generate_sources.rb
 
-version = if ARGV.empty?
-            "latest"
-          else
-            ARGV[0]
-          end
+require "open-uri"
 
-base_path = "archive.mozilla.org/pub/firefox/releases"
-
-arches = ["linux-i686", "linux-x86_64"]
-
-arches.each do |arch|
-  system("wget", "--recursive", "--continue", "--no-parent", "--reject-regex", ".*\\?.*", "--reject", "xpi", "http://#{base_path}/#{version}/#{arch}/")
-end
-
-locales = Dir.glob("#{base_path}/#{version}/#{arches[0]}/*").map do |path|
-  File.basename(path)
-end.sort
-
-locales.delete("index.html")
-locales.delete("xpi")
-
-# real version number, e.g. "30.0" instead of "latest".
-real_version = Dir.glob("#{base_path}/#{version}/#{arches[0]}/#{locales[0]}/firefox-*")[0].match(/firefox-([0-9.]*)/)[1][0..-2]
-
-locale_arch_path_tuples = locales.flat_map do |locale|
-  arches.map do |arch|
-    path = Dir.glob("#{base_path}/#{version}/#{arch}/#{locale}/firefox-*")[0]
-
-    [locale, arch, path]
+version =
+  if ARGV.empty?
+    $stderr.puts("Usage: ruby generate_sources.rb <version> > sources.nix")
+    exit(-1)
+  else
+    ARGV[0]
   end
-end
 
-paths = locale_arch_path_tuples.map do |tuple| tuple[2] end
+base_path = "http://archive.mozilla.org/pub/firefox/releases"
 
-hashes = IO.popen(["sha256sum", "--binary", *paths]) do |input|
-  input.each_line.map do |line|
-    $stderr.puts(line)
+Source = Struct.new(:hash, :arch, :locale, :filename)
 
-    line.match(/^[0-9a-f]*/)[0]
-  end
+sources = open("#{base_path}/#{version}/SHA512SUMS") do |input|
+  input.readlines
+end.select do |line|
+  /\/firefox-.*\.tar\.bz2$/ === line && !(/source/ === line)
+end.map do |line|
+  hash, name = line.chomp.split(/ +/)
+  Source.new(hash, *(name.split("/")))
+end.sort_by do |source|
+  [source.locale, source.arch]
 end
 
+arches = ["linux-i686", "linux-x86_64"]
 
 puts(<<"EOH")
 # This file is generated from generate_sources.rb. DO NOT EDIT.
-# Execute the following command in a temporary directory to update the file.
+# Execute the following command to update the file.
 #
-# ruby generate_sources.rb > sources.nix
+# ruby generate_sources.rb 46.0.1 > sources.nix
 
 {
-  version = "#{real_version}";
+  version = "#{version}";
   sources = [
 EOH
 
-locale_arch_path_tuples.zip(hashes) do |tuple, hash|
-  locale, arch, path = tuple
-
-  puts(%Q|    { locale = "#{locale}"; arch = "#{arch}"; sha256 = "#{hash}"; }|)
+sources.each do |source|
+  puts(%Q|    { locale = "#{source.locale}"; arch = "#{source.arch}"; sha512 = "#{source.hash}"; }|)
 end
 
 puts(<<'EOF')
diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
index 883b2abf44a..1c588af4992 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
@@ -1,190 +1,190 @@
-# This file is generated from generate_sources.rb. DO NOT EDIT.
+# This file is generated from generate_nix.rb. DO NOT EDIT.
 # Execute the following command in a temporary directory to update the file.
 #
-# ruby generate_sources.rb > sources.nix
+# ruby generate_source.rb 46.0.1 > sources.nix
 
 {
-  version = "45.0.2";
+  version = "46.0.1";
   sources = [
-    { locale = "ach"; arch = "linux-i686"; sha256 = "3e925e9594f84e6bce3f24fa0a1207ec584818df4815ae04a6c882644e2f7cc6"; }
-    { locale = "ach"; arch = "linux-x86_64"; sha256 = "c960352a5288f09752ff76440278e76700a1921109f0976b4d922ceeedec8e9c"; }
-    { locale = "af"; arch = "linux-i686"; sha256 = "3067a999cc678fe225c11288ed5659a251f237e098903b2cf6f23bdbceb70a9f"; }
-    { locale = "af"; arch = "linux-x86_64"; sha256 = "f329f7f3e15cd90263d70269c946f83bca01384618a59d590ca371930e7b1939"; }
-    { locale = "an"; arch = "linux-i686"; sha256 = "564ba48104a2db7709e4b9b25cf8d2853ef8a2b919a14030d7cc59751ac8ab8c"; }
-    { locale = "an"; arch = "linux-x86_64"; sha256 = "c2628a079e4c601d54c869d3b13ec1a772353885b29a63559aa544d5f48d4873"; }
-    { locale = "ar"; arch = "linux-i686"; sha256 = "3097a13c59a324f3f9b7504b4941b1846cfbd5593c91597a2475fe87efbb61f7"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha256 = "b5778932fb122de9f7070393b4ae98e190e648857c94096a495e021a3c956a04"; }
-    { locale = "as"; arch = "linux-i686"; sha256 = "b6751bdaf612b8a975122812db0e7641eb5932e6c13879d7b48f2b7f5e8a2c6a"; }
-    { locale = "as"; arch = "linux-x86_64"; sha256 = "6501b0e3c4c55eef08e94dcd6f5fab70d01f88e57630f5a999279286fc9b1058"; }
-    { locale = "ast"; arch = "linux-i686"; sha256 = "40b5f29d2a818e60d5ed1ef2f37ed5a65bf52b9138b2e4fd1c110b404fbf3910"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha256 = "6f9e6266d790784d57cab715d8d6fa5e648ec20287c8d6ad746972e284f5558b"; }
-    { locale = "az"; arch = "linux-i686"; sha256 = "005ca6c0184a9c5a2eee8d49b00782872abbe202c70654d856fd519ce62ea47a"; }
-    { locale = "az"; arch = "linux-x86_64"; sha256 = "32d5179de71be41b855d0454004e43d336289a6fe4967e869d0b9fb42fe2fe71"; }
-    { locale = "be"; arch = "linux-i686"; sha256 = "0fadc3acdd104cc171a18c74e11e853a9a322017f3f63b79712dc6628246630c"; }
-    { locale = "be"; arch = "linux-x86_64"; sha256 = "3fe751e0c702fc8a03f63cba1d1f2e0897b2f729c1b607f68f9934926a3343d8"; }
-    { locale = "bg"; arch = "linux-i686"; sha256 = "80c49634c1b0acb2ee533ddd6581845270f05a3406cd7b41bf5962182166c000"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha256 = "12e74f5a3b8500f18126e305d49cf26290fb145d62d888bd00fd44b412dec105"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "22511d1c27f3876bbe7c4e791accdfa205e05cd3fc4143070f8e1e75521fa12e"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "239e59d26a842efd2ec61dcca73f7b6aadca6d4bb969e7447bf8ef2ed880a77c"; }
-    { locale = "bn-IN"; arch = "linux-i686"; sha256 = "72f72e6528c5d9e373e21065eba623cbbfc6c82e73db0df3581a1ffebe664cbd"; }
-    { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "580564e4a1e249a7cb6c83736343af43f903df82a97f8d2e19bd749e01867339"; }
-    { locale = "br"; arch = "linux-i686"; sha256 = "1dbc1d60e99812077b1b43a6f294e9c834db5b08ad67976290a5ea6f07d44c05"; }
-    { locale = "br"; arch = "linux-x86_64"; sha256 = "2c6524b05b9ab8da113066de6d6380cad29b681921c03486618dd2b6d10ca1ae"; }
-    { locale = "bs"; arch = "linux-i686"; sha256 = "11b706f2621a8026e10de074f0cbcb6bab4a7b0a17d144640c8296ea35e92c95"; }
-    { locale = "bs"; arch = "linux-x86_64"; sha256 = "e4ff831c617918c52b3b2a9e69a1f35f8b3e825f407cf6729d7e2b479860de29"; }
-    { locale = "ca"; arch = "linux-i686"; sha256 = "1c2aefd0ab56bcfd619705aba70018873581c7482307c32842ffdb68ce441f10"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha256 = "47ab6aa2c474b9b04f246822c471548b2452559d04e4ec8cc099f3686729d285"; }
-    { locale = "cs"; arch = "linux-i686"; sha256 = "f2c4028d562148ad39390853d388ed0617419e97bda55a0c6c47bf0e94145446"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha256 = "28d6eb534884b2c05afe87981b894c790fe57508b3e866cdcf341e1f9c51080c"; }
-    { locale = "cy"; arch = "linux-i686"; sha256 = "684b11673d16778961115b990734888975267c3c253a8081519e53ae95df5798"; }
-    { locale = "cy"; arch = "linux-x86_64"; sha256 = "d17294841995094d6395a4e65d50e5382e845d59e5949c952e96f4fe739d9bc4"; }
-    { locale = "da"; arch = "linux-i686"; sha256 = "4f2d29d52968c1b7a96af37beeee7150504bd3c32c4178a814ab0c4f86fe9644"; }
-    { locale = "da"; arch = "linux-x86_64"; sha256 = "65d01baab9e71a5a3d92124dbcc44c158277b273e8b6bcb302f853f61babde71"; }
-    { locale = "de"; arch = "linux-i686"; sha256 = "55af9ad39962559a48720c65f66d3bbab037ff30e777439428e2467a4559f039"; }
-    { locale = "de"; arch = "linux-x86_64"; sha256 = "835ea2e3757beb74c939296aa3d00092ff3f9d6d8805b64a267bcde28de0cb94"; }
-    { locale = "dsb"; arch = "linux-i686"; sha256 = "5b419a8f5e03257718237249be9c76eee759e46147d154bf994774139bb56be8"; }
-    { locale = "dsb"; arch = "linux-x86_64"; sha256 = "90d5dae350d65c6db8b156764ccdffe0f9951be29339a68db22018840c2247c1"; }
-    { locale = "el"; arch = "linux-i686"; sha256 = "77cc23059dc3b2956f3caf5802091ba48c4a42f5d86066f06282f82cb00845b7"; }
-    { locale = "el"; arch = "linux-x86_64"; sha256 = "daa2180f15708ec07902b639fe30cdb9c2c230622a92011e1065d24b706bbc62"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha256 = "15b084bfeac2e49a0d40b37a890321500eede1bed2edaa95cf3bba8981bb6a08"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "c5d17b6386dcae9cf88b2d80b38e921646936f253616104bec5a2fbb58d25fbd"; }
-    { locale = "en-US"; arch = "linux-i686"; sha256 = "6ef1fb2322cf448afe2c09b008eb2bab0c2efa94378b2ae9889bf83ac6f779af"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "4068eb3eb07e9798ddc1449186a1c60196bb6051ca7217f6bcee5da21e41c6c5"; }
-    { locale = "en-ZA"; arch = "linux-i686"; sha256 = "4a61661b05ddd62f9e28ada0b39fe1a81cb5d737fa50d636561f79ec324e689c"; }
-    { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "ddc551e2d8d0c50ba268ba1e8fd9ecbe52e05b0de0d1bb586045206a9e745a7a"; }
-    { locale = "eo"; arch = "linux-i686"; sha256 = "236a9b6b632d1f30d63989f03783288eb8c1f144cae80b4549c0eded5dd95f1f"; }
-    { locale = "eo"; arch = "linux-x86_64"; sha256 = "0f3a07a470e146891326ac36aa38b58018a4aa9ae668c8bbedc3b95c28d3fcb4"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha256 = "6feb23d97fa5a2356365d5779c18af5fc2a00b0e91c92a5127f4d576f916f7a1"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "5e2afba4834e6c44e8717090b832c76dfb5303617bc466be5299d579e9b298dc"; }
-    { locale = "es-CL"; arch = "linux-i686"; sha256 = "3734590f319e8e281938dae65ad2e6fd7496c0c480123a6a819b3bb5d1489c69"; }
-    { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "e0fcfccfe80dcc71a7d527539e42acfc6d6786a9e8491b426aab7fc3789c8cb6"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha256 = "126cf64e6f7754fe0ff8a97499ccd528896ad3bbd89296271609092ade68524a"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "c8dbda78bffec09d401b39b76d9684a03f47102955d04604cfc2e7ddb0315f2f"; }
-    { locale = "es-MX"; arch = "linux-i686"; sha256 = "8f116ccad3093783476a60ea605e324b0046b84b59c9f858dc080d2e275cac51"; }
-    { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "e6a9c775983e310d3ed8a98530860ce19e7a78df16dffb95e4735007fcf82a57"; }
-    { locale = "et"; arch = "linux-i686"; sha256 = "1b2b205731ce638823bd448b3d90e919d13e24b9b92e25eebef3766bac3e8330"; }
-    { locale = "et"; arch = "linux-x86_64"; sha256 = "97ecc57e21229d46d9d152d7821e860f3f2a53c10eda7caeb865af1919c6a0fe"; }
-    { locale = "eu"; arch = "linux-i686"; sha256 = "5f0e7875993532ad234fe7af2a191619e308be726ed6ae8be01afc79f8c5f3c8"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha256 = "bf2a52f3fce8ff4142cb1346cb5ce0f8b51959755698377db0807bc1e87e01eb"; }
-    { locale = "fa"; arch = "linux-i686"; sha256 = "12d593a12a0fcfcd720a6a5324b349c139f6e6759b111dab869e851241736e28"; }
-    { locale = "fa"; arch = "linux-x86_64"; sha256 = "29cb4531e485af7dae2a45a1b9a0620292eaa2764b4cd24504bce0e54c8b71ae"; }
-    { locale = "ff"; arch = "linux-i686"; sha256 = "d67f9937780713ed4c130713239254a1e0d3918f2d2f528b74651b413e281cbf"; }
-    { locale = "ff"; arch = "linux-x86_64"; sha256 = "140b199b0ce0a32fcf363946c942d733b587d9569c75f2dbab19161385f12d9b"; }
-    { locale = "fi"; arch = "linux-i686"; sha256 = "586346c2bc47b1b2693d03e4f2fe3b36de00966244120272426c597b94044595"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha256 = "160d0036392cb38de1a7e15ba9d0d1acf0538ff1b575ab1d1df11d187c5ac74d"; }
-    { locale = "fr"; arch = "linux-i686"; sha256 = "f33b267d223d704beef813d0c7c8ab534152373435ef04db3b039ad56b02c556"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha256 = "c141b154d5c56eefd94bfe7e391d0fa4027cee6685820e8be304c801d7064c65"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "2fff2f173cf6008b7bc17cad2ce16a43901f8484f3eb2700368acd64f98f075b"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "88227c796a82290c27b97cb27d8f606f1982115eb5724fe4a6169056ac000816"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "f9deacaf81e46267fd1d7297149e9f7e330bc2a58981cd65857c6add5eef6402"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "c376d517de3aad4152c0d5dceb8ef1a2deef1213e568404f06163f9d4adbe777"; }
-    { locale = "gd"; arch = "linux-i686"; sha256 = "f4f11f104fe964196e1588b1cddf5a43c5a8591d41ec7baf365264562240d5be"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha256 = "40993cbe7c6a42c467868e8cd60eb67aa8d0b7357617f5babb415cc3ffd608e9"; }
-    { locale = "gl"; arch = "linux-i686"; sha256 = "23c4a4a47fe7150c70f8489921b756ada22e45140e01d6817f9145de32b4d35a"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha256 = "d3fa81ba627c6e75fea42715d8dc4c5fdbed841429a0493081f915623ad603c4"; }
-    { locale = "gn"; arch = "linux-i686"; sha256 = "ebbf6f05f6b61a6ecb7f5c91ca4a6b87824edced41777fe35293b5ba6836a6cf"; }
-    { locale = "gn"; arch = "linux-x86_64"; sha256 = "d9917c8dc1d236e569d040db1512872ce145af934ee3fad7a7e2d5a9a845a856"; }
-    { locale = "gu-IN"; arch = "linux-i686"; sha256 = "598f3feaa412fa85619fd60ca1a48b2a691867d8aab92b39d98d12a3ebee2253"; }
-    { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "f238f84dcc0f41f99073aa4c7bff1fd2dc5f896fb1b9cae00d9d21d199383879"; }
-    { locale = "he"; arch = "linux-i686"; sha256 = "22aacab2263a799f5503e6d73d76c6c7e8c3f2d39d9a8945d7e062e4078f4eea"; }
-    { locale = "he"; arch = "linux-x86_64"; sha256 = "6288418353ab0d51ba8b7a02a302e68dc3b26e5565cb14e50316e5300cb2f696"; }
-    { locale = "hi-IN"; arch = "linux-i686"; sha256 = "2ee18b7653f9edf926ff7927d24c04e9aba503174b4fa773a136fd3e29a256db"; }
-    { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "3f18f821cbc4781a9e6d84e54e0a70e2cdd18bcb61342922b1402a3eabb75839"; }
-    { locale = "hr"; arch = "linux-i686"; sha256 = "c8633fb837adf08b257d19b88e9e5d35c2b24a658da7088a3902b4b9b833e7dd"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha256 = "714fcde1e42db06a9083946bb929a182891aadfd249bf5b63aa7f6ca744bcf0b"; }
-    { locale = "hsb"; arch = "linux-i686"; sha256 = "7f86d45ceb3f551b5b371047bbcccf9a75fe2f99df632b42d838419ee0c6d757"; }
-    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "add010dbfe8a842c16a8dceb019675e04acb7b8de6d952d4b4faa2a368d37f1d"; }
-    { locale = "hu"; arch = "linux-i686"; sha256 = "cc994b9cfb60517062ce3570839b5e76def0a385b4e8793156d6a4719dd707b3"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha256 = "a36d229286d5422dd15d5e0f33e7fb99f6ddff3db4efabc3be244fa26c7bd24d"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "508a5d85df7508c453a991e4a9679b31270da70983607cd9d127a8e432728a3c"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "e21375aa7d5351a841ba05c8b0d921af1f334d37f714ed3c4303e90b5d4e34aa"; }
-    { locale = "id"; arch = "linux-i686"; sha256 = "58d7e3a898f5ae05bc7b0e99e83d8a39a7f5f935a086081af4a9d7ea98b927a3"; }
-    { locale = "id"; arch = "linux-x86_64"; sha256 = "c4b803b519780a0fd5a43fd23a3aef81d4197e860ad8e2908c5ddf2b76f538c3"; }
-    { locale = "is"; arch = "linux-i686"; sha256 = "a9fd41eb35ed7430915d9b09807555af1d8d81f5520deb4aae58e38edf3ca11a"; }
-    { locale = "is"; arch = "linux-x86_64"; sha256 = "74c6a4183f32043fcb6a3b52c71e8a23b36fc1381caff0dae8366cd80af391dc"; }
-    { locale = "it"; arch = "linux-i686"; sha256 = "b6d615f519b7664acb335a305d99bd6c6eb7db98eb29c7957b073fbeb468d63a"; }
-    { locale = "it"; arch = "linux-x86_64"; sha256 = "f65370cd57b1a885169447cc0b879dde715c58309db49f6c268db5113952a05f"; }
-    { locale = "ja"; arch = "linux-i686"; sha256 = "1b3766bd19c8841922cbe1e3a8144d9efe5ab4a3c9b2fe216811caff54607704"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha256 = "68e14f495852e023534bce66626287621a7155464fd56bbe41b38b5bc7305341"; }
-    { locale = "kk"; arch = "linux-i686"; sha256 = "4a72592497d392d4f749733eeaa7964a95fcc3de007127ec198ac86f6a266382"; }
-    { locale = "kk"; arch = "linux-x86_64"; sha256 = "9d6333875c11425a467a32ebf649b7577462920592155ed54ec6130ce76073a0"; }
-    { locale = "km"; arch = "linux-i686"; sha256 = "e380caedd69287569274115aa4cee7b8d2187050d9f65a10ae36c9d48fd1d007"; }
-    { locale = "km"; arch = "linux-x86_64"; sha256 = "95794fa36975d732987012d406770710985c270c8f4e4c99407711d16279d941"; }
-    { locale = "kn"; arch = "linux-i686"; sha256 = "b0cd3f0c6da99b3e86ec4b08b962abb0d823329460e87761733db5d7987f1e5d"; }
-    { locale = "kn"; arch = "linux-x86_64"; sha256 = "47399283f7b395c5079b592c83a93487a17a2cab0e68d35c54aa6e5e647d2c66"; }
-    { locale = "ko"; arch = "linux-i686"; sha256 = "5f9b1c691d9c9a99dd280e3fff8df813aeeefe42ce5273ddf2848352bfde44f6"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha256 = "360c82f93b7f529173f9259a4f475595d0ec4dc4b63b6ac46785bccd549e3dbd"; }
-    { locale = "lij"; arch = "linux-i686"; sha256 = "29f2d93c1f6695c22d4e766ee049bbe4f6fb034e22c12be407062db3deb0805c"; }
-    { locale = "lij"; arch = "linux-x86_64"; sha256 = "c47c6e13b44b8560487f39c6f668fc03ea42bf848fcb9926cf8e0e0014218fc3"; }
-    { locale = "lt"; arch = "linux-i686"; sha256 = "5915cf516690de51021eeccc66cce8142fee7882efd7add7a0bfaa5b04d65dbf"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha256 = "04673232b52aae6b34b87b6a2638ad653a4e81430d21998919a56dbde10febd7"; }
-    { locale = "lv"; arch = "linux-i686"; sha256 = "6648a4a4b8be23ed6fb64efc0bb3e49c1807b5408d2df19d45a3b098b9bb605d"; }
-    { locale = "lv"; arch = "linux-x86_64"; sha256 = "769020e490b9b74608cbbb319254694f7a32c62b6397ff8c563fa27a33cbe16b"; }
-    { locale = "mai"; arch = "linux-i686"; sha256 = "5646fac52682c1053e7b58fa0b13fcf74c8b79e344ffa3a9614fa2509ef2b38d"; }
-    { locale = "mai"; arch = "linux-x86_64"; sha256 = "eb5db15e6584a5272d9c496d29ce4f500811ed4b49277b93ae432498aef80d0f"; }
-    { locale = "mk"; arch = "linux-i686"; sha256 = "8430792262871155bf07b652c5f8ae5408b0bb16fd9e6548010e86b2a1d604d0"; }
-    { locale = "mk"; arch = "linux-x86_64"; sha256 = "273812699d47c99f20d18fdcf547cd9c5386a4d8049dcb93e34c0303a9aae7a5"; }
-    { locale = "ml"; arch = "linux-i686"; sha256 = "bc3b9905214fde7623aa5567f6a6792b2c5cb32fde1172ad60b108a42a372c24"; }
-    { locale = "ml"; arch = "linux-x86_64"; sha256 = "0e21ef50fd3ecb301d0a62baf3e084723c0cc05c3a9569ce08ccf2698f40a526"; }
-    { locale = "mr"; arch = "linux-i686"; sha256 = "fb83926aa70735befc1c8c79c950a9dbb01344dfceff82aefa7640e79f659139"; }
-    { locale = "mr"; arch = "linux-x86_64"; sha256 = "ae6622f7cb9261985d8cc0bf06af9a51d7d8b391386aded9bf07576be60c5f12"; }
-    { locale = "ms"; arch = "linux-i686"; sha256 = "16b35b29882238095475719a4f8cecd5e49a8e50bfe5c2b943c604274cfb02ae"; }
-    { locale = "ms"; arch = "linux-x86_64"; sha256 = "04e390cdeabc686eee093ae2280628375b706c2b09b9aa29e788bc1663b21ad0"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "b3b931e5a38fc71aee2dc2290adb600b0d8e56923c30c748bacbbf527e2e8960"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "4d3c6f639e8c6579c525c6e8c5bd036b3c6abe0e2d14ee0596ac207b3f291f84"; }
-    { locale = "nl"; arch = "linux-i686"; sha256 = "40cc8d419bc536e2826766dbd9b3e58bb98730ed38926387bcadcc5b30c8b742"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha256 = "4595b76ab812dd9ed16405d0863225c0d6f40dd70a96baee2632a5f8e4d2aab5"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "8cad1d60633dfb059c4e29b3a226397822ed10938909dd783b9b8c7bac0e8866"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "d0ac3c7ff26c4747222f2d7a1d5b4b69a861dee261ad338ed88ab8b35cf44ffc"; }
-    { locale = "or"; arch = "linux-i686"; sha256 = "b05473429fb2b844d96ee88108891e5cdc13c56526017ff6db1909ff60dbe1b5"; }
-    { locale = "or"; arch = "linux-x86_64"; sha256 = "406816e487831cd9a928fd9c140290f53d4a9575024adf71e1565d24e573abdc"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "beb60cd44b31c3c1ebfae25efb17d78d001f0009bb5a8304e319791ae535daa0"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "1abab6f91bd2ff22cd6d9075bcb83ddf6a190291997e5d379eff53fc10fd8c5e"; }
-    { locale = "pl"; arch = "linux-i686"; sha256 = "65ceeb5cfeaa7d2c246ba3d152ea1fb892a7d50eafd46da2f41d7ec0a4efa759"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha256 = "d3565007522b0e3a4de15b913c8f1c9421d1d9614fa4f2d6657a4af730f26c87"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "7a0593b15eac64c1261e413f4a22ca2cbb5f489530ae72a637de9bc0de99f2be"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "243c12ea35617336d307d8040d1bee1a1827f3c8815e78185e5d5f8c2b58a5d6"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "ed06f6d30204728089609114c5d08a8b2346ca024d6e5743179d0f2f0da753bf"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "65cf06f13ce3930b4c6b645e0fa442003d41a3ff99d4ff6ad06039c806bf9815"; }
-    { locale = "rm"; arch = "linux-i686"; sha256 = "5b230c43a6b56c4052e054d117c2c80450b36d52b166ac3a9c9e3d13b336e44b"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha256 = "341495282263ce7293350c3623d25a6fc7952429bbc36316687be402831c4376"; }
-    { locale = "ro"; arch = "linux-i686"; sha256 = "12940db350559cc1ef5dd148f2fd34cb4f445fbd1928d0d8dac6e57b0186e08e"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha256 = "a53c18fcf239dce6a49a44bbb42a210b6161f5d21e64e9e33096e36b7a187bf2"; }
-    { locale = "ru"; arch = "linux-i686"; sha256 = "823ecb8bb5b772e896b51bf23ac1fa271b02c1abba9fb4c679c687586047db0b"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha256 = "fd4e34dd08c5f712c68826710496ac4eab262a4356e06a02718b27dd8c65d35b"; }
-    { locale = "si"; arch = "linux-i686"; sha256 = "6cc4f9828e366d59a86922292ca8878ef4bb6cee9ee5316b8733d0704dc6f390"; }
-    { locale = "si"; arch = "linux-x86_64"; sha256 = "ed3c28af72df9960b08071d181b1d097d0326a0cd6eaae673866083f87db18f5"; }
-    { locale = "sk"; arch = "linux-i686"; sha256 = "cfa4b71bb7acdaa689a28f8aa58f7f9375c7d7e4301cce0aea0eccc60d897d2f"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha256 = "736ff619f9d9848d202fe9eaa56b6a29e37e47589282adf7d97f8d7103edecfe"; }
-    { locale = "sl"; arch = "linux-i686"; sha256 = "c8af219be7f7cc7f878425b446b1c02838f651e64a0fcbfae4ec818326927097"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha256 = "d3309efc0b469e9d24e7e01216b52b31ad854653f3904c76fd136d615d75609b"; }
-    { locale = "son"; arch = "linux-i686"; sha256 = "fdc1e500f8499b648cf0fd3d99601cfcd0f7d89ae09d800520793751a6b32fee"; }
-    { locale = "son"; arch = "linux-x86_64"; sha256 = "e1f7038aa136492e3d296b9ff50a3f815f4b587944783ea0ea607717788cb48b"; }
-    { locale = "sq"; arch = "linux-i686"; sha256 = "c6881862ff53402d427d998c59a741c4abd9b2713c1fbbc5315b140d02445507"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha256 = "2a83117de89e2b9036c0f7fde6617d9f55fef4955432cd566692e7a2829b1128"; }
-    { locale = "sr"; arch = "linux-i686"; sha256 = "f214aa32eef11535a73449d7f2626c90b1ce78e469d96c8cc6cd53979582197b"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha256 = "9931d18c18a785569aade6fd233d3c34910ece758f3355b694b553ce6c5dae7a"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "cd5695110c90744a1b750d34c7294f1109b5c7829025eb28101b6ead5bbbcb3d"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "f52fe8f60420171385638a9de46b2b11c03b13239a17ef9fb4f7305774bab664"; }
-    { locale = "ta"; arch = "linux-i686"; sha256 = "8910a680bc6a6e58433686a020916b072e0d5d95e896cb7fa5a212c00ee20b93"; }
-    { locale = "ta"; arch = "linux-x86_64"; sha256 = "ae727422e4b7cb2de2b098f6b4adedb2dc788b57eda7ec2ee7ac2d60b645ee64"; }
-    { locale = "te"; arch = "linux-i686"; sha256 = "0088dcb813864a4e231afd10d4aefca656131a3589b316721e2d87cb29a78dbf"; }
-    { locale = "te"; arch = "linux-x86_64"; sha256 = "6ef6aa557e691324072d201ad7876dd4d2417dfaaab08d3bfa4620c4626d1380"; }
-    { locale = "th"; arch = "linux-i686"; sha256 = "da72450d756950635c0b2d95285b5d998aeddd60b43d9ca98ac4b1b707289a96"; }
-    { locale = "th"; arch = "linux-x86_64"; sha256 = "89ac8220a7be503ecae8dd5a241df4654b93adfac6f431f08b83bb5f7f63de7f"; }
-    { locale = "tr"; arch = "linux-i686"; sha256 = "64b3e853efe96d75282e0a9ca78db876c3f03b609be0acb551d1d6a7b50e116b"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha256 = "fe01dcbfe855e661c79ec63c80098d18c1a051c85fc3fb27ac3df8b9c6d1df92"; }
-    { locale = "uk"; arch = "linux-i686"; sha256 = "1052bb8de8acd200dfed598f5afc1c87a55772b89b2f2ec59b710af1d1bfea90"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha256 = "986d01b61e36188f1293ee7ab1198f2583605469174e2dd9ead8eec241480cec"; }
-    { locale = "uz"; arch = "linux-i686"; sha256 = "b114d4696cf20320ec71c7ff92ac2d6477784e4f0c9f15a54701473a469e4667"; }
-    { locale = "uz"; arch = "linux-x86_64"; sha256 = "19fdc20d1b6a5b556856ad4d43d05cd7ae4bbd0207d326c9f2b0a4a0e3f9425b"; }
-    { locale = "vi"; arch = "linux-i686"; sha256 = "ec48f6eb7b3fba76d07a4ff4192fe28b4faeaf7dfa2317453f1266dd4cb5e66f"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha256 = "89a9c826522dece360abc207260b6a71955d1c86f8f0b783e3013d4c7d5edfdb"; }
-    { locale = "xh"; arch = "linux-i686"; sha256 = "4671201bd924bfb4e290bdd5247b5d972b2dff986db0dd21b26ee0d30f94566f"; }
-    { locale = "xh"; arch = "linux-x86_64"; sha256 = "f381cc509369405e7a06c78c07de3ee01f8b0cf66d3300cfb10f27cab14d34b0"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "abaac014c04bd29dcb5617c489d4b047522f6ede9139781b04c0a73ff20a19a4"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "5da12cc28e6bad8739a0050410efb1ca22d46a42c33fed312acca29e89de007b"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "7279f9ba36dfa988ffade1f54e4f2dcced30be5fab48476d5b6d20d989204274"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "e943d7736ec12d269512363d20d5b2a2e8c740c81a764f44f308d497fe95f0ea"; }
+    { locale = "ach"; arch = "linux-i686"; sha512 = "f6d47d90c084b78085b7fd9553217a982e391c146eed82323dd6b5e75bfa12ec48acf068b7e85fc74fc3d18bdf37ddba385b0b53c74f91a2e11a45d000a6a515"; }
+    { locale = "ach"; arch = "linux-x86_64"; sha512 = "7b561ee5a1e7e1d52a6be6775f5c3e9f2e0a5bf13910241d8dad228e0f8d5e5c452efd9beddc3cd9153766750134503ee3246dd1fa0b692c0ce9549b6bc3b32f"; }
+    { locale = "af"; arch = "linux-i686"; sha512 = "cfcb27c3b2a0ce16faf5911bfdd7f0512144580765d5a086298c73476005e629ab414d6c85a862bbb5bbe1677e5efdbe88f9a2e0f41055d3f0b83717efe550bc"; }
+    { locale = "af"; arch = "linux-x86_64"; sha512 = "8d3f25168f7af269dd863d64576d0b4926adba71f6e2d3aee302e81b864eb85ccb4792b3e7e38cb12e2f949a0575d50002330af8aea8a21bee28a3b50f54a865"; }
+    { locale = "an"; arch = "linux-i686"; sha512 = "574c6a6985635c04f781233fe76ff53cf1608666e1fdf5958a95afbe85dea696265005b7f6ef5633b3124a25c673ec1b83de1fe9aff17e3d88cc9a1f6177aa2a"; }
+    { locale = "an"; arch = "linux-x86_64"; sha512 = "f057e6f20ebd20b5f6caafcf9117fb80af2c671f8fe5aa5814b0839e379e79f90b03228c0cca3ce6412ce3391b5a15c6cb464c8598c5bd6efbad11795eb247fc"; }
+    { locale = "ar"; arch = "linux-i686"; sha512 = "3ed1904d3470265cf0af654952395795b44b8b33d8e6e17ae8d4a7e48c381c8ec1b17e297e491ddc3434fe4a5bc5403ba23e328a13ed37ff119fbbd98b2646df"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha512 = "d8a2ef1b106241a1acf71a1e2e7fd6c2bbecb14ce137ca35cf206616e08900c20f4ede255913571a2cf04467e62758f580d72701be2ec4d2a8bced4a346a2a3b"; }
+    { locale = "as"; arch = "linux-i686"; sha512 = "b82397fd21af47630b284e7897119660b5d83775b684b6d1dd3ba06184a37262a6569b499d0f2a3431d576d1ea862c89dcd9a8d442f76d385fbfc2428fdda390"; }
+    { locale = "as"; arch = "linux-x86_64"; sha512 = "16a2672b532426e024ff8900853c2eca8498337b5e628d02e3b61950e33b01bbf202c9448200e7107ced7357c41797b2858a01982f21badbcdaf5df9dec750fb"; }
+    { locale = "ast"; arch = "linux-i686"; sha512 = "a1fbe0bf3daa30252a525a435eaf276ee29c51e7bc9f34826e1fd4817577d3cba8bad47af5bd5a31b0d77939e6475b81d1f6858364d2425df5d94724d3569228"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha512 = "e11e54442d958f98b5e36747fdd7f95341129ae6888c61d98465608c48526465197a33c8f9c299cc5b2ce620b72734d2f2d6d15c05f0725c6b20bb62e47a0521"; }
+    { locale = "az"; arch = "linux-i686"; sha512 = "3cc0a9e3276b283890b8ae9404b562b1cebe0893f459f31f9893d3c6d73cb074bedf51ce11eb062373d79273005cda0485b26a9de09c7358d589137d7c641cba"; }
+    { locale = "az"; arch = "linux-x86_64"; sha512 = "955d0e39c9d82d43a137f933e9c34a2e28103c79511121e4e25ee97f9b6abfbb10f5a8ada0c1d31fca8dfdf37b18d62c1fa5715483c6dd60aba584012a7eff7b"; }
+    { locale = "be"; arch = "linux-i686"; sha512 = "7d1251a115f7b590e1fdda6ce95c6a883ded1e477028c1f47bff3c6d41308fbd6e636e81e551ed629d6c885a1a348091c582c26f610aae7e0313024949bcd963"; }
+    { locale = "be"; arch = "linux-x86_64"; sha512 = "b23476c0259ede183fa4ed7193e80ce741ed05b3b88935f88291cdf6ce14235e1d31bafaf25edc16b5a7cb62c9671dbb235782913e9fbf10db48ff9f022c8043"; }
+    { locale = "bg"; arch = "linux-i686"; sha512 = "736dcecd01eafe4ca71da494ada47dc434eded887e8100db1c308ad0ae1d35d6ce565535fe153773896482312b65d73cad9d09478830420b5490370f00059c98"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha512 = "c25d754286263ed58772f6bc1a13dd3c2525eb973b9cb4783fa2c57b80e117df5f8c5524aa60fccef158b4d80ddf214b50ce7b9e8631b14e60aad0bb6158f4d5"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha512 = "7e9ff9e316b253e8f3da135535fa38a70ad34183ab4a46d865c1384ae7df72cdcf9eeb8e85fc7e3fe0e0f8c01d50fc3212631f49ad74e34b236a652c929f1149"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "e26be6867709dc3827ad893efb7bb64c510506582683f4c82b7f5dc2931cd34075bb2001da6b3671532ab1a500d097b21388dcb0400f11c6c5c341fe1edf9136"; }
+    { locale = "bn-IN"; arch = "linux-i686"; sha512 = "eb93ac222e6d156b044e19d945d7b74ac70224f295cc533012ed6978faf07e0c8214ea6eae355b9905dfedba8a9fba9601224c1eb8c11a6c7e9575cf90ed0ccf"; }
+    { locale = "bn-IN"; arch = "linux-x86_64"; sha512 = "4030a6653fb4326ab8d4bc27b9d3e194760d2bd04749f102014b805253438ec04f0a1df0d5f14e62f35227b671de193213e79be947bbc31dc772885048b1001c"; }
+    { locale = "br"; arch = "linux-i686"; sha512 = "dbd75807aab017e012be8138fc6f2b470cf88a7f9afae01de4296dbcbcc4a37754f9d23fcc892efcde4df4e9b8a16c93201c3f93f976987b6be4f80a907483fb"; }
+    { locale = "br"; arch = "linux-x86_64"; sha512 = "0b06186b4ac5c5d69b46b4d571acc23d5193e4dafb1cac4ebaf36f7fd1f12ff4316d47f8340abce72dfe5b8801294256a9c029b6bf9fb77c7ee6174d6178378f"; }
+    { locale = "bs"; arch = "linux-i686"; sha512 = "e708a86177d3d3a855a981ee81c7bc163e886c279f84c6dcfdd3f6dc2c58d0661fcf416b2afd8b74ba127713e5fc39b9f188341b2e84fa03476c07b74ea07a97"; }
+    { locale = "bs"; arch = "linux-x86_64"; sha512 = "aaccaef63d0150bd2f0bb3cb978fa0d99f8b25ee70d4621ffd5bd7d7843ab92ac778cf9ac85c9762583706a78a5bb5e0066bc46c880c96623b92acd919e37246"; }
+    { locale = "ca"; arch = "linux-i686"; sha512 = "ed0f97e485abc2342dac0083311537b98d5c38005bd6ed1fdf817d1d186442cbfb1a71bcb1f62e09e873c36e350e8905611e3013a6dea20921b9516f82ae4daf"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha512 = "16a6cf783feff0658bc41e893873bf5621e2b663834cfe13bfc07980af290ad2f582ffe08af8bbc46624e6eebcc468c3cdd928b2392a57dd8a730c2ca98a476d"; }
+    { locale = "cs"; arch = "linux-i686"; sha512 = "c8e0e40a4001ad734c23f407c126ddaf36e967ae7a08c34f3e562ca986fe941891f3580e39ac3b521b9c8c18b9e21bc37595716f943d252e69d03fa5a18a73c8"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha512 = "f5a9091c4202a578dfb7a863c5bd5229882af85fd1b0d3ad491963f928e9f91c78a742d3e68379df233346169351db4b1773517194a1c48e533978f7189988eb"; }
+    { locale = "cy"; arch = "linux-i686"; sha512 = "ef2ac5d8a9881d3f1659533a88cb4b9ca1bf50b5dfb11f7efbeee9c51ddebffdb302ad80fe88760b9a592c670f93375551c85f37840b9f35f2729b575dd0d273"; }
+    { locale = "cy"; arch = "linux-x86_64"; sha512 = "fd091f53184e6ad5cc4dfa92cb9fd146fa116055576b51de51ad8e335babdd55f62083568eb34821c0cdc882d61854f9f1f69ffc3913f711b9f6ae7b42d096a9"; }
+    { locale = "da"; arch = "linux-i686"; sha512 = "b45f88694c49a59110d1bd19af371fe8308200de9d21858d71ff69bbb3a75c2f71e9c7691513359cac7085173fa4678aecea12db5f274e7f0855680f6e8434ba"; }
+    { locale = "da"; arch = "linux-x86_64"; sha512 = "65c8bbbaf59e749502b35412e3ced200e1d5028b615b27e519932cf87d0c18e9dfa767c90f933bdfc3afe064e0b5630605338e8c14f405b9a3fd15ff350cff59"; }
+    { locale = "de"; arch = "linux-i686"; sha512 = "9c55735b51f7290f90b665c91fbdeebf285e82c30ea0462670064c6f30b3ca778cc0f7dc005df3308a46430b20e2aefc9fa4176f4b119c1a1a67750e646639bf"; }
+    { locale = "de"; arch = "linux-x86_64"; sha512 = "4871350400a76ec4a2af37f1c166da9b1c28314afca1e5c73e4180b6d8f023b036d9d4cf06a52460cc2bc2dac8e086862d433ff70b0e9add80c4f6bd086e7085"; }
+    { locale = "dsb"; arch = "linux-i686"; sha512 = "16a12385c1d2d7efd17fd904dc5b6c223319a482d673953b1897db908c8c80f58943d14ca8c88b82beab4a94548ad3d8d0f7c6e47f9bb219e22078ebd3b6f90e"; }
+    { locale = "dsb"; arch = "linux-x86_64"; sha512 = "a81c4e8d18d042bd555fb163de4505f326ed9c40244cfc84db7fa9d346e532a8e8e78218cbd78bc4ac751ed04c3f3e4573edb0b21786f231a08547ba4e63f1b4"; }
+    { locale = "el"; arch = "linux-i686"; sha512 = "50d0ce8a20a0bb6d5b3ba88d70428aa40dcdbc7993bd8802c3f77bf2e82552d6e9c5ff8fbfa8731b38ebea0511a18e65dab7fac92dee0714be7c5e539e3a8965"; }
+    { locale = "el"; arch = "linux-x86_64"; sha512 = "d8a0fa5a3c0cf0de77aa9dd0882d35a336db5f068e9dd87169201e5d5bf4960880975f3c7af193ee537c6692dab3a86bfc57416f9132791a32094c6b12e05a3b"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha512 = "7c509f7c1760474f41f31260f30ca8aa6fd89f8fde699b4c6adfcbe73dd40b320397f3753d40467a60cb915a6a91745733019ea9d33452bcdadab8950e20d165"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha512 = "ab5f82317bd2f7aeb68295c39526fbdf1f7c8301b5805dda530d1c0f40922622bf75a9bcaf543036c9f039222a59d70054d63561f851ff7e5c10e87794d64148"; }
+    { locale = "en-US"; arch = "linux-i686"; sha512 = "d8824a0b2dfb44558308a7f240884c0f73b3face4077f59c01fd8352d33137f4799e417de9befe6865ede03dbc77ea5700e95d87783363a332028bc26ea681b2"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha512 = "417c63be1d010cf134940be7f30a69d33dbe005a7789cfebb1161f2aed8384f90b5cea6c097bdb2102737b948684657bf2bf704324f131a4e6b41e56161e4235"; }
+    { locale = "en-ZA"; arch = "linux-i686"; sha512 = "a9468aa01d2223c254a7c07407a4e3941a5433d5237489b097ea6298537867679fbd6baafead460bc18951d1401e8c3fc100fe28492cbd745772afdb7b708541"; }
+    { locale = "en-ZA"; arch = "linux-x86_64"; sha512 = "1e249c7342fa47c868489ff8ace68696b51b83563677c232f854f29f864881823e451113af444cc6f761539b590192a03461069d175ea50304308e5a490bb8a9"; }
+    { locale = "eo"; arch = "linux-i686"; sha512 = "e96b37a25ab897ff4956b42f75b2b1a4f7bd60ca54939712fc356e77e2e2d8255bcec767971ac3f4215894e2b90a5204e72e70b05c28173a1179a5d8d5810b0d"; }
+    { locale = "eo"; arch = "linux-x86_64"; sha512 = "0679199691f725cc1d3224cf351c7910a50d6e68496b53a780ae1ef42ac13ce0616eab370db310b0226205709ce6c0fb414d2503c8ea7b3c8c53fbcdb30ea470"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha512 = "c5f813bb95f547d220ea6de23d57dae990904e7921880eccac0a987668103ed53086deeadfeb9ca548bfc5f9e4b56d0c90de15ce29fe4c5e40a6e0e084732ae5"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha512 = "e3353f9f4621a6e2a3a84d7ebe5dafae8a5f7912afb3c7c949590abfb40b3c8fff2baefe635a435ac5b50e402ab60cbbc2a34b653e31b868e885acc0002fd774"; }
+    { locale = "es-CL"; arch = "linux-i686"; sha512 = "5538d7633a1d1b8cfe3304fe1e6d443ef329554f299c43b0efc0bd8e5d4db07cd5f894741d8ea9ccb3d20bd2d058a7239d89cbc37807ceed5931d820db364ff5"; }
+    { locale = "es-CL"; arch = "linux-x86_64"; sha512 = "685c1b68c412473d3f1449dd26b69b0182a2ef3e298e240cb147ad134b3f18a4c88aecd2e328f87106a2a2be70dcad06f8637cbf15f89320e196c4710aefd417"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha512 = "095b8453d3a6f829a9be6445a345293e1697e2253346da2c6d22958d19f921dab897d52782ff901dcbd5710ee62641d6ca45675b4afc8b15874dfc3f40184649"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha512 = "8f9699720a1e4b2ad92d6dd32bb553e5ec2a7c1038f8f8469809f351b6798f94190b2f8e9ec45b2888422d64dfb6106e1e5d5272d9275794ae1c3e5d23c43340"; }
+    { locale = "es-MX"; arch = "linux-i686"; sha512 = "fa3116b5b40f4e844d39380832bded90bb7dee573c475fe7f4002fc871846fa6f52cc090d5704049e5ff296c93132bec6d6923f707aaa6212d524b4aa514b42b"; }
+    { locale = "es-MX"; arch = "linux-x86_64"; sha512 = "a6d577f962ca2b9ebe7c4fadb372ff3322a40aefa4229b7a2adae05e6ddc8ef60e90134c15604c8cf88b794f545f566dc090a55ac36e93fcd03333680043c4a9"; }
+    { locale = "et"; arch = "linux-i686"; sha512 = "c4e6e4de6e3b7e28027ef44c995fa87baf22f97bde603f9b2ca08d9282efacfc8ee410557658b6fefa9867aaea6ed35161f1ba6bcf83eb3581c28a68c573fadd"; }
+    { locale = "et"; arch = "linux-x86_64"; sha512 = "e4362621a4fa025388b565ebf7b3ce1d94976a1421e5d73a98647e9d0d3159b45444eb0f84462d668026567aaf6c8971b7bdd075c5b498b95a78c4dc84f6d368"; }
+    { locale = "eu"; arch = "linux-i686"; sha512 = "43f58f824deab2d145bfb4200bc942b29975a86ee66c760b955f3b6647d0f8acbd116b175c4a1c7b4be9beaa62f7c56a8ff132a3cef41c1fa3cc7246ce3bdfac"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha512 = "a4a3091e35e276ee0b8db78993174f18efe1dea0c2ae3fbcdf6c75102a0f0baf4177c4b08d5532267ccf6991d3ebf96a0b9c2e4b6d2fb405a230d6ef3ebac98f"; }
+    { locale = "fa"; arch = "linux-i686"; sha512 = "b78c60eb33a408ddc37d09d00bf077958dc75ad50e34b41cf41cf0ee3ab1e6a133a01b7759015d2be3869c621a20bf92e13a1ac39f998040650dd228381b3ecb"; }
+    { locale = "fa"; arch = "linux-x86_64"; sha512 = "e95b6fe546f41f24b749dfcfd9c98129f97b1b0034e1af8f787203ece66f60c30a6670c1fd76b14433efdddb834c95751d4bb61c3b269dceacd46d9e0a515706"; }
+    { locale = "ff"; arch = "linux-i686"; sha512 = "398a80d6d4511a9c372727ab6a52a85db90ad8cc922f5d709471a40151e81319b5683d84110541bc721a8c15b18617e5ac44f7f54f2b2f11a2b7125e914d1f3f"; }
+    { locale = "ff"; arch = "linux-x86_64"; sha512 = "3b4371581bc077c77d7ee5781fbc82d82d746f82babbe66aeb1ca0d7c6a3fc168e0eedaccd8bce8cec67bbb072158beee8efa49523fc90ac3ddc481d1966c8f8"; }
+    { locale = "fi"; arch = "linux-i686"; sha512 = "2f9276a91d2ff06142ba2b3df972d3bbcb61d43a9f8116cf32f09ee1c739a8386704b2fefa1ee45282a6a81b4009ab5deaef214120d5705ab65e768b28f8e981"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha512 = "a803ebabe7f4ec0004d6ea888e70bc97c23a4d533ea9fe7e546031e530a32c4bdba2cf72549dd58939f92b1e0373dd9fd66833bb56706a877d75db4d7c5ccbca"; }
+    { locale = "fr"; arch = "linux-i686"; sha512 = "30d473d7f05e5082f5318033186bced91a087ede297581b06ef6b3383444fbc9e16f558694381574191564459b43c271ba255b6b3b3ac5d96a0bcf1e7b066b44"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha512 = "d5bddce8fe9b6c2844cbedfe8c73930159fb189608e282dc0afeffe0e40fe8573eb3a6769fb18280c5aae58c90eec7d6808f18944ba8065476f84d9938c7f9c5"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha512 = "3757da3afd154b88a64bd6f505c89e2fb3df8d966d2219404bda36c3d00f90e69c35f6d1c5d33c1eec0075e2ccf7982bcbfcfc7766b62a5660a73d6a00bfc966"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "4101d6c0d8c257490781b90e93acb75f72486be9e7661f82c3c6cce3be387a51d03d458c7ef55cbbd9f0469ad1119405856c12b28f47d4262d89fccb773facd6"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha512 = "56ffc97d50570a0a155cb30e389b5590aaafae32b4a326c2d9deaa2a61ebef272709eb6173682e1c10f0f5e24523fd8d8ab53ee2f35bf9787bdf7c29ae4574de"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "faaef2808b901c5ef0d74d1bc69280f67b233ab720eb8139eb23ff9977c3ae32063b1ea1d948ed2240a4cb921ad2e07df06c71a99b210021d9a8f9178d6bc4d8"; }
+    { locale = "gd"; arch = "linux-i686"; sha512 = "0396cbd5bf6c3a9dfd829d1cf388e3b980b8b0e3a45659c4c339f867ae485c252e296a141035820f47d8fdb05c10350eb53e6da9d7d2942e77e1c04142440758"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha512 = "1208d5cfc20dbc18a0a6e6dcef47425c36cdb5b98ac41e7d7b53c74d64ba0a4490273628ff23ca91f2ca4e016702d7e8ab4457219b5aa06f38f787243befab7d"; }
+    { locale = "gl"; arch = "linux-i686"; sha512 = "775403801f21d821b586b866820c9759fa88e7b0507d0477d29ac033ef3d40bb78fdc6b88cd4d7e5bc4fb6bbd38d950432db339da7a28e8283d07eed00d2aaeb"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha512 = "d8a1088bdd413ae82cc488cce1d87a13f85fabb6fabe25dd343a806ff2c7a7d17c90275c5002434e07acdeddb893b34532f0265e7a6f9e18a312bd0903c76738"; }
+    { locale = "gn"; arch = "linux-i686"; sha512 = "a7bc239dd02bcf0e7e08016cbbf925f23811f63679956adc3a327849533c37983837c5de5a7620eafbacdedb9af892d51f4ee43df5a722795913d992b25ccd1e"; }
+    { locale = "gn"; arch = "linux-x86_64"; sha512 = "10c44f03df9b183b1e2f27f7a1628bb0cbae24f06d0395f4b57584905c5e8998535cd45030d2e4e93b9390a6d6e4a6f2cbc8a68a8bfdad978b4eee2790f84537"; }
+    { locale = "gu-IN"; arch = "linux-i686"; sha512 = "fcbae07a790973fd3fb16de39d8cadaddaf203efbeb3cc37065ad85ef9ee32ed02080c00343f8028f54898e44aecacc7936529cb3107323a869b9978fd85a5fa"; }
+    { locale = "gu-IN"; arch = "linux-x86_64"; sha512 = "16ac0309932e46e035537a9a17aaa44c523715ac5ec189935533d3ce473f8323f9784c742ae8e0527db8988b56efd2dee40062cf6eb4c2fa5982d435d0aa794a"; }
+    { locale = "he"; arch = "linux-i686"; sha512 = "b9ab9857549cecb2ea706f240bd988c9dbc9e24173e4c37443cb3915664e03f60042f72474fb726811dd0e08780251bee8ca353b299b761a6bcbe2bc6bbef368"; }
+    { locale = "he"; arch = "linux-x86_64"; sha512 = "0bffc9d5939f8347d1c08b4ca5a9dd64e53d7c15e8c08b4a6a1c51b089fcfa5e9e80b47d71728e5279eb57c0393e7e2e6f91a6ed891e30d73b02a3fe36a5aa1c"; }
+    { locale = "hi-IN"; arch = "linux-i686"; sha512 = "4a2485c41c48e6a3235084318df1b7a1acb3f032e9ffaf381587eb61459e04112bb9bc66775fd43f8d6f71e38ea78179b34ed2338235648f0de29f43ac2f8ed9"; }
+    { locale = "hi-IN"; arch = "linux-x86_64"; sha512 = "721994a7f480bcbb149ff4d1ee3e8ff230098dda8ef434276a73b42098a5d5900b000ed0409586236b33e25c4d6b943a0fe8fd1823e7c4a44ffeb41cfa2a9911"; }
+    { locale = "hr"; arch = "linux-i686"; sha512 = "4d0af384a421871a87a23232dcf272cecdf16d0901017f6485cdf2b851c48e02e0f4349714bb628dd1d34121b7d428e746abcce7130216d283ff858a4da749c8"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha512 = "8565b7d30dfb1070d82f34cbcb9f7913fba78beda600214a306594deb2f01dde893a1e1b9753efcaa686a385ec14799ac1e1a96ce9ca80fd0e0731691e7b46fb"; }
+    { locale = "hsb"; arch = "linux-i686"; sha512 = "784dec7015875dcdb784e909c3b7f0e6bc09bac753b4bec4bcb0cb9413922a0887959d999ea3ec2e85cc361618cabcd59e6eb9f1993079eebd0f981e79a33070"; }
+    { locale = "hsb"; arch = "linux-x86_64"; sha512 = "8f9baaf433fc34278c2ee78d5c38f71c9a02b26c18500688225f03bca8eb1fc5460dcfb20f6d4f1bd54fe4095a09a94b45fc695a38c69e4aa52b6457f65c461b"; }
+    { locale = "hu"; arch = "linux-i686"; sha512 = "61ba87779c9a669d088af105266818be476aeff86fe93342dee90fec2aeaf687c437f9b05e71c249e2147eae10c2194fdd14c8f44ce31bc4f530f52224e844c8"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha512 = "852785314f3b56eb0cf0ff756518b428e5276e18e476cc1dc2fb8ff37b66cf1857fb28f40b5c86e7626f3684112943d117cefed4527aefcae03b10b871266737"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha512 = "f0a2329583a806a882b0d4fb7792badc074d1bb87e243a6f71327574b47f7fdddd9eea1b89f3d08f11b9436a4f6b8e558e9e52c645b18d56e3587407983c56ed"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "bf5c397b2bc3ef4cc1228df95989adb03c347ceca0630ece474e92af316289ef877ee3a9266d55a55aa6d770d48dff745515d7b8c8c868fcf788eb3587c8fa50"; }
+    { locale = "id"; arch = "linux-i686"; sha512 = "08d0959fe051109bbbf2e5b3c72bf4b7d4b3e4c92994b7487d5be50636599369bd74e7b8433142424dc64ffc1657a3e64f2c37c88af16d3f04e1679c0bf4c73d"; }
+    { locale = "id"; arch = "linux-x86_64"; sha512 = "a163d4270ec8e090b69cff1f94c2ea0d488dace58483f7ee1844af1db5fdd120bab3304b50feeed615fde478b18b0ceed5bddd2e2415a783ab4941c235db4691"; }
+    { locale = "is"; arch = "linux-i686"; sha512 = "249c58f2ba60deaa93d36e4d3bb4aab80be8a8d45c8669bb659a14edf1afc3a9a7441ed8e05e4724c5e64a153b583a1f43820068cc49f719b58fbfa36d059f22"; }
+    { locale = "is"; arch = "linux-x86_64"; sha512 = "b2468ba5d1bd46b8772d022f6d2e7ddc2661a83c0aa3d5573d3a892944abbd9952a4854bdc7be4fa899309340e712e5ca13ab3bd5d11e9e07ff50c26b5942248"; }
+    { locale = "it"; arch = "linux-i686"; sha512 = "2716f0138f74c2253355c1c00542503908a747ba0f0b26f4e79ffa8c3e343038e0e1b6c8d1fe02ba5bf1a0d8b0ffd22b7afe53b1a7964eb304e5ef263c04ce8e"; }
+    { locale = "it"; arch = "linux-x86_64"; sha512 = "25a51e8f55e1fbaf2ad9b496c4d9c80fdd21675af106fce1a71893bfa828e27e5d9c610e176ca80dcff6b5d0a7a6c860229586cd1f8619ca4eb8856f095336fb"; }
+    { locale = "ja"; arch = "linux-i686"; sha512 = "e2f69658e4a4d6f08f6a0f603355f6c421feba8b523aeddd34121f26ca42092c004fc678821286af355971cb8cf1156755796589bb5c5eb1ecdd8d0b6dc214f3"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha512 = "344c9c073e7175e71b4484a9e2e8283a12034d752e6597a604dd219997181531302250bc8a37c4ca442d58076232fa2c250356194e710dc8a00be03a0e874bf7"; }
+    { locale = "kk"; arch = "linux-i686"; sha512 = "accdcd87c2b20fb6ff913978e117272613ebfd9154d20b12410930ef1c6b3375425c8c4fa20ee8e8e393fc906f422cbd5cb24f6d2914d5bef89e0254d075e0c8"; }
+    { locale = "kk"; arch = "linux-x86_64"; sha512 = "6a446286f867fd2775b0863c8aada5b4b8349c114589f869c8d1ef488bb1027dd98dd74ef0fd0fa1b16fb135265a7be8d7624f84b32dc42d29c7d4a65ab1e153"; }
+    { locale = "km"; arch = "linux-i686"; sha512 = "ee879b225b8f412a8117c33d6c5a9c617b9555d44fc393d6742844083ee83248f8434d00723db2283153496b0886080c20e67df9d7268a6c185a8a1f5b01e491"; }
+    { locale = "km"; arch = "linux-x86_64"; sha512 = "7cc1cb48aa31784c28f74f1968b798b34025ee20e7088eee2a33cc4f9919b59862b75f791f09f63c7f25cce29043750070064921d327c48a516fc22f26073a32"; }
+    { locale = "kn"; arch = "linux-i686"; sha512 = "9868cc4cbaab89dc4425ba14f621750a017a67d5be1a6a63b3a31d0482908e0225d40bc26fedca3472669185d43a780ae4e897994b309644a9d1f80edd2470f2"; }
+    { locale = "kn"; arch = "linux-x86_64"; sha512 = "d6c5ce52d8545935c28387b5a314d1b0fb11bed03111fc7c66da3dbffb72e7fd2ba6c12b7f2ccad3f5df45f897e8c8227428040709c1cb6f3302d06fe050714b"; }
+    { locale = "ko"; arch = "linux-i686"; sha512 = "3be5f165bed0e7ef2c4f88a9799485d12a7a6f99c4efd84bf9aa21abe787ed790d6ec103a7b95015bd64987d231303aac17a8947c8acc7127ddffdbe7e3fb4a1"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha512 = "05a55063f9d9781074c76287ba9d1aef707a603510df956019e65f0a07412850ec29a44fefbb71f0ce8d3f419a40e06f725c2f23b05e8051783bda8f1dfc1d23"; }
+    { locale = "lij"; arch = "linux-i686"; sha512 = "3d9b7cefbf4cdae6855b2c5315cf192e6f04d4af115727ea275aef40b8819cb0a4bb31b7703cfca0812bd58f0d4158c53a5e0b4140cde6825338fa2bc5aab5e8"; }
+    { locale = "lij"; arch = "linux-x86_64"; sha512 = "2f050e77efab6947746f582246290b3709e206520836912c52fea9208a25f7fa5bb7bce0fa1ab2adb723acdc0586245eb1c68c3b172096af7bebb04c864405a1"; }
+    { locale = "lt"; arch = "linux-i686"; sha512 = "f438a37846f95c714650f882ef2ff20b9e82d352eb8159d7001d110f9b20347fe5d19ab0805ff95c3c9007a4cc7dbd4a75b9a28290cd21d2affdbe81defa58fb"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha512 = "f4726e669e71669c3f9e9524e75e749386062a91e0909dc371a7b4ed0dae73647a855c052eb3d8fc8283438782192b2d35b795b2c0dc498e69e5b29916d1b57c"; }
+    { locale = "lv"; arch = "linux-i686"; sha512 = "49e4dd4349ac80e26cea7276c08de679e8d25a953a24f44ccf029f5cbb2c8f62dd650d53ed8967644f22a9df0d83665661190f20263c89cdeac264578d21486c"; }
+    { locale = "lv"; arch = "linux-x86_64"; sha512 = "91e8712263fafbe742bef2b1adba0cd34eac4453bb57f6439335ffd3014a663e6b0f383a085a22e58d271ec9f14de7ad6060cce2957f595a9ff659fcec5bd409"; }
+    { locale = "mai"; arch = "linux-i686"; sha512 = "bf916dd9a96080b25753684f63df03548a99943d3c301b760c692379224f093670f0040b126d4a948f0c0ae64a7138fe1be83814f18940f761cbf52dc0d1fe32"; }
+    { locale = "mai"; arch = "linux-x86_64"; sha512 = "99016417b0f1d433acd8db0eab87973b7c3155ee9efa0e24f8deda25293c23b08337eb17006cfadc99bb8d2bb51dcb519e4270872a63986a75d44929cf74378f"; }
+    { locale = "mk"; arch = "linux-i686"; sha512 = "7ab1081f03f59d56ba2f40845a7c2249c20c87d836e886aca140471ba4fe59b4cc9cfcf765995d89735d4253c70d3dc44185e52caca798d1641831fcd1f49e3d"; }
+    { locale = "mk"; arch = "linux-x86_64"; sha512 = "a8ff017f9678018384056b2b2c47c8250a13b4ff4ff4a48c2c25e4afe9531a033253a8375180b58654605026f07da3f6420177bd599277e1a7f280f17c4a493e"; }
+    { locale = "ml"; arch = "linux-i686"; sha512 = "18f092773c075cb74e7215f834c7cc495a21a768bb50981c6de3c10c83c57459519f38e936fa99112c896696c3282da53c4446958f0f66799c7bfc16634dbcd6"; }
+    { locale = "ml"; arch = "linux-x86_64"; sha512 = "b10f45e990b0d621a5c907fe166b8f8d57b071a4d45037c34736fc172b255485c43620b083eecb51da47a8ab827bc1c900b48ab1820844b374d46cd97dd7d1e3"; }
+    { locale = "mr"; arch = "linux-i686"; sha512 = "e27204611b031ba9ef3e537d1983ac79c1c0ee170e0c18fe6af4ce101165b50cba64c0ec965356dbffeb3d33c8964457cefa54de54ef3bec8657dc30825aee9e"; }
+    { locale = "mr"; arch = "linux-x86_64"; sha512 = "48446f72998b100922e506ae4d6a7528496ac96ccc6faae37e52098c1031ac3a5ef1158e308fca7e7f93abbc858a9d97000568aaded5a439da66710945ce2b66"; }
+    { locale = "ms"; arch = "linux-i686"; sha512 = "cf8257b14717e23f0362973d8e1913bc230650754616efcfc9451f48dde6100d6ac43f4a21fd06c84809707a65985a788c73d9dd5b6f28f4fffaa1818e2ac2b4"; }
+    { locale = "ms"; arch = "linux-x86_64"; sha512 = "a25ff650f0fa0a7e153c03d413b5745b00eee731aec8bdb84ae69e0ea0e967a6dcc9329adea086d9ff7d8b76e35154936e716440b73f61242681f3527e272bcf"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha512 = "98b31be954a71ef221d5fb7f84de52a7f5e2e1cfee20d432b82236d1aaed7dafc63d05163b1946ed6619f12e9c4b6d29761c75ee3f1858112bcbbb373705ab08"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "14ad4ebe13d1952dfcb46443effd2bef636aa5d59235fae54665a3bf2575da8a37c9ca5149732b83ea2724f3bc87c24d7f5f0175e0e296144f7348a987a99486"; }
+    { locale = "nl"; arch = "linux-i686"; sha512 = "86313d415f0c0cbdf29bf148048b3c230382dc17193f8f72f7ee61ac8d3b253cfaa3af8c633662d14c2d2ccb9308d5cf612eaf1ba36a19f44f560771410a7e4b"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha512 = "971fe2e96df5411949f783c2b0af9b610bd1069bc135ba4f70cc5ed267fc80dbde032f2bd0df6897dbe8b5e9c6c130a5cd91b174fd0638bf602324fc91ed6636"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha512 = "ba19b2698072a4df36c5a1a279f4c3a175ec713db0fa737865aad38c2a72a76ec70353268723b55bc4aabb9c80b54357111cae62d572455d1f92599f6cbaa102"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "f1d8796fb582e9734de4e505f88fec21abb2b4012d4ca0d2193c90a6164dce77ba33ab46cdbbe9f136bd2d89668cb86953517c51fcca7369636277f14cdf550d"; }
+    { locale = "or"; arch = "linux-i686"; sha512 = "1d77a35547d7011fbbca3cc87f7739b54b4262fdecb9478f572095cb892ebd03724357f35ac19706161fc2e4ac1f1494652f918ef12539fe7f2741794439752d"; }
+    { locale = "or"; arch = "linux-x86_64"; sha512 = "5a75b99ef9aac1881be88b77618262be95122cc93b957f0ba9a7bf6e1e2f4705078eb884096201caebf3f5d4e64aedccf55d0fd9dab63d1772121853a1c16507"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha512 = "3785c52e02c69b5526d87bbcc383bf9556af1a077b3d3f8a891d51e9ada3bbfdbd769fc23248f482f7a0be056623a73289605d9e7b429b4fa161dd311fabedde"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "13f20bcf0e518ab28dc35ef0e9eda84e4af4813e6e783303da78c1775f557cba27118f3efab6ffc6c7973d43c6e85d7474861d4b0a11319e175a8dc3959d221b"; }
+    { locale = "pl"; arch = "linux-i686"; sha512 = "a018afb8480cd080d472fd57f76f9bec10a7ca36f002f82cccd3f5f2020a276aba56207138d8e01ad602941bac910552c64df961df1c22f643829eb1145431f3"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha512 = "3fb6f3ef60f577550173a893b9a7033f22dfffa6f8198b9e6be3d643da604a87cfc6fa2583ed46b2bb572cef1656d3901f849b5aad2b515ea1d275a41b44c560"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha512 = "60ab5ef83df1d9a4de6b687b124ca8d97dc7f7cd86021e5401365efbd7294d9c8f459bde56994a5aea9ca688597ec5b5a77567a41a60965b7f7a73b11de72622"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "27acfc996b32f949b8d5c01427520250d07d63e927febf6381be51abea12e9c8f8c4b404fce95e9b57ed9dcd58bc1f836e99517a000e7af8632ced98c52609e5"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha512 = "e01c4186e58fa418a56e4b76d05b8fc42479f077465d9f6fcad984689375d72749ab623245ea64493365f02a3080491cf401f0dd11e310d79a1a15db841a37b0"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "9ab7ba71df7343aed687f6a2636b72e09427e06ace51983994b2c4d112f19fe124819a6a6164fcbdbd33192bfe1cfe53dda0d7c86457b9d73b8e043b4d6283e3"; }
+    { locale = "rm"; arch = "linux-i686"; sha512 = "0cbf512e18f0e11154e62057fd5e91a8dfa1dde5da7574f64038a85bb00e72a41d3f8cb20879dc0b7a0eaf4a8ac20d2f7bd7d9f1339019efd92fc6b9899b08c8"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha512 = "3fc727528ab5365d0dd64bc57d449f508c932651130017abf95bc20e5314bcced1a7167333bc5c501386e34d9ba4dcae888d16cb2cece8d02a1bd716d8a08ec3"; }
+    { locale = "ro"; arch = "linux-i686"; sha512 = "bbd61341279fb44931800c95266965e1786f9fcd63a2bde0ea9f667a9464de685d4facd64ce80f17e02e70113c145576d47126ff6b92ee5f064d5edba00d8a5f"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha512 = "d505aa36608d4b4250aafb5e222107f0b8d18b7e1c3d214ce4cb0cb96c8130e2a67b35048fb5d509730d6d00abb62210e5c251ea38882852016c2eaf2f74f895"; }
+    { locale = "ru"; arch = "linux-i686"; sha512 = "5df2e92197eda83b7604565875844faab64c3b1b5ae61480fb1aaad29fae9c40c905470105325ef4128f31bf249967c542552248a3cf5ce208f81a59f15b1395"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha512 = "ce0f678554123ec89379e68b809d9c000b151ad88975b2cd0e4c69a7b0917c52ec8b2a6a06578a7b644837fab718b301b704dba59848a4773ab272c235655d29"; }
+    { locale = "si"; arch = "linux-i686"; sha512 = "2d1dc24a65a747724b3d874e4ce61cf9adf23ff280108d528e75b1c0861859633b98d8f719285034cf9148c551fb509fed6df189a2b69dcc8d4e6ad3ada61921"; }
+    { locale = "si"; arch = "linux-x86_64"; sha512 = "2351940a022ed65df456a14a0eced296e9ee70b3b2f0343cd65b78c7d6a7a7e7a201e95d5418eb40ba88757f34902ef3f7cbe2ec0e24f6aa051064ec1b490049"; }
+    { locale = "sk"; arch = "linux-i686"; sha512 = "e2ad162074bba4d971a02684a4c5f4d84627a7af4027de55a7698e33a6450d137081039527ba478977b1098595a90e6a8c0ed586be1991605e2d82d104522ee4"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha512 = "963db53c67e1ea6f7919939ed6100cd8055da79af96f5d7038ad298c597fa619ca0c01ec64198a757a1307ce6590b1b67fc90169d78eb19492a993a29500a2e9"; }
+    { locale = "sl"; arch = "linux-i686"; sha512 = "2a72ebf8fc40a4b8e4f1633efe7f0383813ca1e1bd25d5040dffacc332e9a2a8ce653be42a79ea45c7560e41678832ed665e06fcaacb9d850ccc6b46b0bcf61f"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha512 = "b22284cc397b0233dc6d00da5d222998024d47da7b967de9380c50bf699def1b79a21df280040da5b850d6713d521c39d8f046e3caf817792bcb1c716fca8370"; }
+    { locale = "son"; arch = "linux-i686"; sha512 = "36d4430fdcf4412aeb5f006269327276f90bafaa65ac817feff16fc23f2199e8cc6bc1c3441b9888c6b6723a70c2f030fd9a855a86516b89adb8c537dca4acf9"; }
+    { locale = "son"; arch = "linux-x86_64"; sha512 = "8bd790a9d027beb003456017a28d9b3c70aeb21afc65032c70e9579b3733a7f5e9cd86841d40bff02918639518593c988c575ef5fa044fef5daf21b83ddb98cf"; }
+    { locale = "sq"; arch = "linux-i686"; sha512 = "abbb952991f20a728d9ce2a098f605a8e163dce73c065aa3ade72e2ef45bffc2a8cc668369d90ae18702502a829ede1c33ee266a286247ce0d6b11198847d195"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha512 = "3cabe8fce7455eee9ebd2cf294e1ff345eeb00a683f5b4b65f404560d9cd5b5033576207c3da20fd0919e823fcd256e2518c55c951dc1ee3ec5c61c122a2a1f7"; }
+    { locale = "sr"; arch = "linux-i686"; sha512 = "7011df81c9ee333838a80e013746ceef2ca3dd25f65d530d22e71f11742899f9790d0acefb12e162c7f51a6d8ee1c9a1089e91029ba994534498a04cea1f407f"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha512 = "66d5f9ee32f81ce73e9068a8c0610c06a8e89182e04701704cef9bd666d7b070fefb902eb3f5d457b360812d8be0682904faf80edf1891f614c9cb6ff0d65e6d"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha512 = "2e62d438b36418d21f821d764e1e91789e6f780d676354431816b8c5eacd81752b55a2ea438f6ce16dc7393670d21fb8966b899f933487efa38e4b2356cd60c1"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "f295eae86e011f09969b0b82f4d41a3e886a53080bb6db350b07cb4eeb83b7c20c0bc1f908fc0b5212ebf19dcdcb8d1ad5814818973823690e55f02af9b77f4c"; }
+    { locale = "ta"; arch = "linux-i686"; sha512 = "ad2adc9a5ea313a8d654ec2a5c38b4ef08c42be0330c038e1da08a83fc1615425cf0de1c6edc612f1e5c37687564a8b6809ca1328830ad2b73760d439b63832d"; }
+    { locale = "ta"; arch = "linux-x86_64"; sha512 = "c0557d9217bdb861fa07774e08c6617ca5aca8ad1a140ecf5ed3950967626ff2eb9d3b34152d021e4ec6e2e95078a34f92eb6ec242da5f3069e1f8a771721cb0"; }
+    { locale = "te"; arch = "linux-i686"; sha512 = "7e8d1d99f651f1bfad0d173ac223d1458e82d2bb507aa1d06da2f66cb969c9d0ae1756a22fbb38b0937a3a615cd28414da4c9621440d99f5a867a16ea74ecf50"; }
+    { locale = "te"; arch = "linux-x86_64"; sha512 = "ae2c563816c992cc72f17af8833f26b5da990ee228481151ed173c858d2c151df19bf80fb514b9ac79408f737077b31cf43a27f1740777ce45b06b22c87df060"; }
+    { locale = "th"; arch = "linux-i686"; sha512 = "294b297618a358c58f6b3fc6d9969b4b687153df233d409404a82e4d4bec7c67e40aeeb42094ff0f5f4517ad53b666a8eac22e087718501ff1e6ae42a939f99a"; }
+    { locale = "th"; arch = "linux-x86_64"; sha512 = "e87a3d13493171c18e2aef32a98648573b891f993d1f0d89aaa0df96011f1473074d40db27f1168a1d15494745a228b60bb6d6b171b024c225334070ea92cb40"; }
+    { locale = "tr"; arch = "linux-i686"; sha512 = "7fd7d196f406d80a8444fa58d8c3426160c19ef63a8e3846b0f0429d0db9b7d7366d82d94fe6b3f3367b573264b9f9cd84e41e1c45f71443a719393cb72255b1"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha512 = "8e84394c1d0b7071e59185f11c72a88f05ddec013d5e95ffaaaa4bd7d40ebfaca2016fabb62d21d40326400c7f291463b14ed50c7b8616372862242b3bbb7e59"; }
+    { locale = "uk"; arch = "linux-i686"; sha512 = "31b888021abfd08b808ff41715429a1a1018719165e0484ce6dab26b1ab73a5268e46237b463ef7e25e47342931e1f3c9db053e057daa62ff0a9911edf9ae4a9"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha512 = "a11751be6d26e81899a850d22ac5e78e2b58abfdfe4f9f2559b31b973a6ece1530b91d7bab109870d01e67ec18117b8fa88dcdcf9fa7ba51e606cdb4e25d7823"; }
+    { locale = "uz"; arch = "linux-i686"; sha512 = "9818a80f5270b3d8f0741cd7b108b7ae115cc465c83c3aabf177dd7cea681272d14790cfc0dd167aa7d7299f8fc03d28c178f216da55103f7e0a92901efc1699"; }
+    { locale = "uz"; arch = "linux-x86_64"; sha512 = "6870938bcff8a4d1854dd61d9d7067e780018ac0b4fc00c4e8b4e81f72f4952b26b069288f4831b6335da49330ccc296f2868b8491a10c4670bf068d1eaa4119"; }
+    { locale = "vi"; arch = "linux-i686"; sha512 = "e267225667c1dcd3f4f1b1421b73d36149656d541b6b6786528c38b78ad37e1ce067680359df54320a814812f85ea0644efab90ae8e82f71e2710a030d609110"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha512 = "a437a31a83d6eddc3db5ae430e3548843fde5b0c56ff29dbe42670e70388b23e7aa31e1bb2ada8868d514ed06028b2c6d0c23aaed17b397cdf002bf36691aa6e"; }
+    { locale = "xh"; arch = "linux-i686"; sha512 = "01d2b86cb0fed4ce7b48c54df75e340b95d876f2bef521de69962c0d4fcd531fb32960ba6fc30f4eecb9781d165ab7b5818d472954d2083c2b5093df21aa0f14"; }
+    { locale = "xh"; arch = "linux-x86_64"; sha512 = "4fefaa22e79288e9db20415538a3e923bce31f2d3a27b63daa8d16aace0ce1ccece25f841ec28dca6a1b9e396e7279842c3ea226e96f47f66e63dfe1ee32558e"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha512 = "811eff9c31525b6a2d794220f82e0eeee7c240a0feb1b6091f758d476a1fa4c3bc8e75366de24318a4e6595989a4312208f5a47ed39772e4370b1c85dffe9cec"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "d6b1bf7e3cd89dfeb78474daddcb91f1a709d1f5568192b406ba7b7a790ea9968d93e60d3e635ee4712e598b6f4dadbe7b19be0930ba67c4756669e34dc553e3"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha512 = "a734f6c36ff898a9aa5d8d27ad5303cef8de0e141921ce95624dcebfd57a0364bef7d4e443a93d67c98dea67ea888c856573c354cdbaf31d27bbba23cc396190"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "d12bcd38d2b65c9be8fd033bd896afdd88867841e4e55018f2f45ea84ad1496a74500db86fbc95fe887441fa8be501981754f2c0f3f97811b9d2713f86bf8f18"; }
   ];
 }
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix
index 3042f30e000..1550d359b34 100644
--- a/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -26,13 +26,13 @@
 # Necessary for USB audio devices.
 , pulseSupport ? true, libpulseaudio ? null
 
+# Only needed for getting information about upstream binaries
+, chromium
 }:
 
 with stdenv.lib;
 
-with (import ../chromium/update.nix {
-  inherit (stdenv) system;
-}).getChannel channel;
+with chromium.upstream-info;
 
 let
   opusWithCustomModes = libopus.override {
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index f84a3367d52..b9fc84d2058 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "notmuch-0.21";
+  name = "notmuch-0.22";
 
   passthru = {
     pythonSourceRoot = "${name}/bindings/python";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://notmuchmail.org/releases/${name}.tar.gz";
-    sha256 = "1cr53rbpkcy3pvrmhbg2gq7sjpwb0c8xd7a4zhzxbiv8s7z8yvyh";
+    sha256 = "16mrrw6xpsgip4dy8rfx0zncij5h41fsg2aah6x6z83bjbpihhfn";
   };
 
   buildInputs = [ bash emacs glib gmime gnupg pkgconfig talloc xapian sphinx python ]
diff --git a/pkgs/applications/science/math/lp_solve/default.nix b/pkgs/applications/science/math/lp_solve/default.nix
index b92691cb611..efa0c1751d4 100644
--- a/pkgs/applications/science/math/lp_solve/default.nix
+++ b/pkgs/applications/science/math/lp_solve/default.nix
@@ -6,14 +6,20 @@ stdenv.mkDerivation rec {
   version = "5.5.2.0";
 
   src = fetchurl {
-    url = "http://sourceforge.net/projects/lpsolve/files/lpsolve/${version}/lp_solve_${version}_source.tar.gz";
+    url = "mirror://sourceforge/project/lpsolve/lpsolve/${version}/lp_solve_${version}_source.tar.gz";
     sha256 = "176c7f023mb6b8bfmv4rfqnrlw88lsg422ca74zjh19i2h5s69sq";
   };
 
+  patches = [ ./isnan.patch ];
+
   buildCommand = ''
     . $stdenv/setup
     tar xvfz $src
     (
+    cd lp_solve*
+    eval patchPhase
+    )
+    (
     cd lp_solve*/lpsolve55
     bash ccc
     mkdir -pv $out/lib
@@ -32,12 +38,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "lp_solve is a Mixed Integer Linear Programming (MILP) solver";
+    description = "A Mixed Integer Linear Programming (MILP) solver";
     homepage    = "http://lpsolve.sourceforge.net";
     license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ smironov ];
     platforms   = platforms.unix;
-    broken      = true;
   };
 
 }
diff --git a/pkgs/applications/science/math/lp_solve/isnan.patch b/pkgs/applications/science/math/lp_solve/isnan.patch
new file mode 100644
index 00000000000..bc1983d4423
--- /dev/null
+++ b/pkgs/applications/science/math/lp_solve/isnan.patch
@@ -0,0 +1,13 @@
+diff -u a/lp_lib.h b/lp_lib.h
+--- a/lp_lib.h	2016-05-04 19:45:15.753143720 +0900
++++ b/lp_lib.h	2016-05-04 19:53:59.536920722 +0900
+@@ -59,9 +59,6 @@
+ # if defined _WIN32 && !defined __GNUC__
+ #  define isnan _isnan
+ # endif
+-#if defined NOISNAN
+-# define isnan(x) FALSE
+-#endif
+ 
+ #define SETMASK(variable, mask)     variable |= mask
+ #define CLEARMASK(variable, mask)   variable &= ~(mask)
diff --git a/pkgs/applications/version-management/gitlab/Gemfile b/pkgs/applications/version-management/gitlab/Gemfile
index fc7ad47919d..99b8a4e28df 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile
+++ b/pkgs/applications/version-management/gitlab/Gemfile
@@ -1,6 +1,6 @@
 source "https://rubygems.org"
 
-gem 'rails', '4.2.5.1'
+gem 'rails', '4.2.5.2'
 gem 'rails-deprecated_sanitizer', '~> 1.0.3'
 
 # Responders respond_to and respond_with
diff --git a/pkgs/applications/version-management/gitlab/Gemfile.lock b/pkgs/applications/version-management/gitlab/Gemfile.lock
index 2934988f836..8c3ddf3b570 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/Gemfile.lock
@@ -4,34 +4,34 @@ GEM
     CFPropertyList (2.3.2)
     RedCloth (4.2.9)
     ace-rails-ap (2.0.1)
-    actionmailer (4.2.5.1)
-      actionpack (= 4.2.5.1)
-      actionview (= 4.2.5.1)
-      activejob (= 4.2.5.1)
+    actionmailer (4.2.5.2)
+      actionpack (= 4.2.5.2)
+      actionview (= 4.2.5.2)
+      activejob (= 4.2.5.2)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 1.0, >= 1.0.5)
-    actionpack (4.2.5.1)
-      actionview (= 4.2.5.1)
-      activesupport (= 4.2.5.1)
+    actionpack (4.2.5.2)
+      actionview (= 4.2.5.2)
+      activesupport (= 4.2.5.2)
       rack (~> 1.6)
       rack-test (~> 0.6.2)
       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)
+    actionview (4.2.5.2)
+      activesupport (= 4.2.5.2)
       builder (~> 3.1)
       erubis (~> 2.7.0)
       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)
+    activejob (4.2.5.2)
+      activesupport (= 4.2.5.2)
       globalid (>= 0.3.0)
-    activemodel (4.2.5.1)
-      activesupport (= 4.2.5.1)
+    activemodel (4.2.5.2)
+      activesupport (= 4.2.5.2)
       builder (~> 3.1)
-    activerecord (4.2.5.1)
-      activemodel (= 4.2.5.1)
-      activesupport (= 4.2.5.1)
+    activerecord (4.2.5.2)
+      activemodel (= 4.2.5.2)
+      activesupport (= 4.2.5.2)
       arel (~> 6.0)
     activerecord-deprecated_finders (1.0.4)
     activerecord-nulldb-adapter (0.3.2)
@@ -40,7 +40,7 @@ GEM
       actionpack (>= 4.0.0, < 5)
       activerecord (>= 4.0.0, < 5)
       railties (>= 4.0.0, < 5)
-    activesupport (4.2.5.1)
+    activesupport (4.2.5.2)
       i18n (~> 0.7)
       json (~> 1.7, >= 1.7.7)
       minitest (~> 5.1)
@@ -588,16 +588,16 @@ GEM
       rack
     rack-test (0.6.3)
       rack (>= 1.0)
-    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)
+    rails (4.2.5.2)
+      actionmailer (= 4.2.5.2)
+      actionpack (= 4.2.5.2)
+      actionview (= 4.2.5.2)
+      activejob (= 4.2.5.2)
+      activemodel (= 4.2.5.2)
+      activerecord (= 4.2.5.2)
+      activesupport (= 4.2.5.2)
       bundler (>= 1.3.0, < 2.0)
-      railties (= 4.2.5.1)
+      railties (= 4.2.5.2)
       sprockets-rails
     rails-deprecated_sanitizer (1.0.3)
       activesupport (>= 4.2.0.alpha)
@@ -607,9 +607,9 @@ GEM
       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)
+    railties (4.2.5.2)
+      actionpack (= 4.2.5.2)
+      activesupport (= 4.2.5.2)
       rake (>= 0.8.7)
       thor (>= 0.18.1, < 2.0)
     rainbow (2.0.0)
@@ -963,8 +963,8 @@ DEPENDENCIES
   mysql2 (~> 0.3.16)
   nested_form (~> 0.3.2)
   net-ssh (~> 3.0.1)
-  nokogiri (~> 1.6.7, >= 1.6.7.2)
   newrelic_rpm (~> 3.14)
+  nokogiri (~> 1.6.7, >= 1.6.7.2)
   nprogress-rails (~> 0.1.6.7)
   oauth2 (~> 1.0.0)
   octokit (~> 3.8.0)
@@ -990,7 +990,7 @@ DEPENDENCIES
   rack-attack (~> 4.3.1)
   rack-cors (~> 0.4.0)
   rack-oauth2 (~> 1.2.1)
-  rails (= 4.2.5.1)
+  rails (= 4.2.5.2)
   rails-deprecated_sanitizer (~> 1.0.3)
   raphael-rails (~> 2.1.2)
   rblineprof
@@ -1013,7 +1013,6 @@ DEPENDENCIES
   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)
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index 9a3ce8bed22..c3aef17513f 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -24,7 +24,7 @@ in
 
 stdenv.mkDerivation rec {
   name = "gitlab-${version}";
-  version = "8.5.7";
+  version = "8.5.12";
 
   buildInputs = [ ruby bundler tzdata git nodejs procps ];
 
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     owner = "gitlabhq";
     repo = "gitlabhq";
     rev = "v${version}";
-    sha256 = "0n76dafndhp0rwnnvf12zby9xap5fhcplld86pq2wyvqabg4s9yj";
+    sha256 = "144i97ywnr0xgm7gnwnwiy7kk5z1d71ccawl8qdhapz0705993l8";
   };
 
   patches = [
diff --git a/pkgs/applications/version-management/gitlab/gemset.nix b/pkgs/applications/version-management/gitlab/gemset.nix
index b0665278183..870f5e79f3a 100644
--- a/pkgs/applications/version-management/gitlab/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gemset.nix
@@ -1,1505 +1,1499 @@
 {
-  xpath = {
-    dependencies = ["nokogiri"];
+  ace-rails-ap = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04kcr127l34p7221z13blyl0dvh0bmxwx326j72idayri36a394w";
+      sha256 = "082n12rkd9j7d89030nhmi4fx1gqaf13knps6cknsyvwix7fryvv";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.0.1";
   };
-  xml-simple = {
+  actionmailer = {
+    dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xlqplda3fix5pcykzsyzwgnbamb3qrqkgbrhhfz2a2fxhrkvhw8";
+      sha256 = "8cee5f2f1e58c8ada17cca696377443c0cbc9675df2b7eef97a04318876484b5";
       type = "gem";
     };
-    version = "1.1.5";
+    version = "4.2.5.2";
   };
-  wikicloth = {
-    dependencies = ["builder" "expression_parser" "rinku"];
+  actionpack = {
+    dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jp6c2yzyqbap8jdiw8yz6l08sradky1llhyhmrg934l1b5akj3s";
+      sha256 = "a22e1818f06b707433c9a76867932929751b5d57edbeacc258635a7b23da12cf";
       type = "gem";
     };
-    version = "0.8.1";
+    version = "4.2.5.2";
   };
-  websocket-extensions = {
+  actionview = {
+    dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07qnsafl6203a2zclxl20hy4jq11c471cgvd0bj5r9fx1qqw06br";
+      sha256 = "e8ce01cf6cc822ec023a15a856a0fae0e078ebb232b95b722c23af4117d2d635";
       type = "gem";
     };
-    version = "0.1.2";
+    version = "4.2.5.2";
   };
-  websocket-driver = {
-    dependencies = ["websocket-extensions"];
+  activejob = {
+    dependencies = ["activesupport" "globalid"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v39w1ig6ps8g55xhz6x1w53apl17ii6kpy0jg9249akgpdvb0k9";
+      sha256 = "cecb9bbc55292dee064ca479990c6e50fa3e2273aac6722ce058d18c22383026";
       type = "gem";
     };
-    version = "0.6.3";
+    version = "4.2.5.2";
   };
-  webmock = {
-    dependencies = ["addressable" "crack"];
+  activemodel = {
+    dependencies = ["activesupport" "builder"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p7hqdxk5359xwp59pcx841fhbnqx01ra98rnwhdyz61nrc6piv3";
+      sha256 = "09ce967be3086b34ae9fcbd919e714b2bdf72b8ab6e89b64aa74627267d93962";
       type = "gem";
     };
-    version = "1.21.0";
+    version = "4.2.5.2";
   };
-  web-console = {
-    dependencies = ["activemodel" "binding_of_caller" "railties" "sprockets-rails"];
+  activerecord = {
+    dependencies = ["activemodel" "activesupport" "arel"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13rwps8m76j45iqhggm810j78i8bg4nqzgi8k7amxplik2zm5blf";
+      sha256 = "c2b1b6a4c6b8542c2464b457dce4cac4915efcbd3d5acfba57102e58474c33f2";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "4.2.5.2";
   };
-  warden = {
-    dependencies = ["rack"];
+  activerecord-deprecated_finders = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1iyxw1ms3930dh7vcrfyi4ifpdbkfsr8k7fzjryva0r7k3c71gb7";
+      sha256 = "03xplckz7v3nm6inqkwdd44h6gpbpql0v02jc1rz46a38rd6cj6m";
       type = "gem";
     };
-    version = "1.2.4";
+    version = "1.0.4";
   };
-  virtus = {
-    dependencies = ["axiom-types" "coercible" "descendants_tracker" "equalizer"];
+  activerecord-nulldb-adapter = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06iphwi3c4f7y9i2rvhvaizfswqbaflilziz4dxqngrdysgkn1fk";
+      sha256 = "1ym3paxp5lqr2kr4hkqj6xxqvgl57fv8jqhvgjfxb9lk7k5jlfmp";
       type = "gem";
     };
-    version = "1.0.5";
+    version = "0.3.2";
   };
-  version_sorter = {
+  activerecord-session_store = {
+    dependencies = ["actionpack" "activerecord" "railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lad9c43w2xfzmva57ia6glpmhyivyk1m79jli42canshvan5v6y";
+      sha256 = "1rp5q0q5i5syfgw7qpiq3a42x13p7myyv1c5hmnczpdlh57axs3p";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "0.1.2";
   };
-  uuid = {
-    dependencies = ["macaddr"];
+  activesupport = {
+    dependencies = ["i18n" "json" "minitest" "thread_safe" "tzinfo"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gr2mxg27l380wpiy66mgv9wq02myj6m4gmp6c4g1vsbzkh0213v";
+      sha256 = "80ad345adf7e2b72c5d90753c0df91eacc34f4de02b34cfbf60bcf6c83483031";
       type = "gem";
     };
-    version = "2.3.8";
+    version = "4.2.5.2";
   };
-  uniform_notifier = {
+  acts-as-taggable-on = {
+    dependencies = ["activerecord"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "009z60qx01am7klmrca8pcladrynljra3a9smifn9f81r4dc7q63";
+      sha256 = "0bz0z8dlp3fjzah9y9b6rr9mkidsav9l4hdm51fnq1gd05yv3pr7";
       type = "gem";
     };
-    version = "1.9.0";
+    version = "3.5.0";
   };
-  unicorn-worker-killer = {
-    dependencies = ["get_process_mem" "unicorn"];
+  addressable = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rrdxpwdsapx47axjin8ymxb4f685qlpx8a26bql4ay1559c3gva";
+      sha256 = "1533axm85gpz267km9gnfarf9c78g2scrysd6b8yw33vmhkz2km6";
       type = "gem";
     };
-    version = "0.4.4";
+    version = "2.3.8";
   };
-  unicorn = {
-    dependencies = ["kgio" "rack" "raindrops"];
+  after_commit_queue = {
+    dependencies = ["activerecord"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kpg2vikx2hxdyrl45bqcr89a0w59hfw7yn7xh87bmlczi34xds4";
+      sha256 = "1jrhvj4335dsrj0xndbf7a7m2inbwbx1knc0bwgvmkk1w47l43s0";
       type = "gem";
     };
-    version = "4.8.3";
+    version = "1.3.0";
   };
-  unf_ext = {
+  akismet = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ly2ms6c3irmbr1575ldyh52bz2v0lzzr2gagf0p526k12ld2n5b";
+      sha256 = "0hqpn25iyypkwkrqaibjm5nss5jmlkrddhia7frmz94prvyjr02w";
       type = "gem";
     };
-    version = "0.0.7.1";
+    version = "2.0.0";
   };
-  unf = {
-    dependencies = ["unf_ext"];
+  allocations = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
+      sha256 = "0iynf7gkbnbr5mgl2wgbgvxmjdiawh7ywwbnyjm94bj3pkybzgkc";
       type = "gem";
     };
-    version = "0.1.4";
+    version = "1.0.4";
   };
-  underscore-rails = {
+  annotate = {
+    dependencies = ["activerecord" "rake"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0iyspb7s49wpi9cc314gvlkyn45iyfivzxhdw0kql1zrgllhlzfk";
+      sha256 = "1wdw9phsv2dndgid3pd8h0hl4zycwy11jc9iz6prwza0xax0i7hg";
       type = "gem";
     };
-    version = "1.8.3";
+    version = "2.6.10";
   };
-  uglifier = {
-    dependencies = ["execjs" "json"];
+  arel = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mzs64z3m1b98rh6ssxpqfz9sc87f6ml6906b0m57vydzfgrh1cz";
+      sha256 = "1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk";
       type = "gem";
     };
-    version = "2.7.2";
+    version = "6.0.3";
   };
-  tzinfo = {
-    dependencies = ["thread_safe"];
+  asana = {
+    dependencies = ["faraday" "faraday_middleware" "faraday_middleware-multi_json" "oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
+      sha256 = "1560p13g57pl4xqkmhwn1vpqhm7mw9fwmmswk38k3i2r7g0b5y9z";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "0.4.0";
   };
-  twitter-stream = {
-    dependencies = ["eventmachine" "http_parser.rb" "simple_oauth"];
+  asciidoctor = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0is81g3xvnjk64sqiaqlh2ziwfryzwvk1yvaniryg0zhppgsyriq";
+      sha256 = "0q9yhan2mkk1lh15zcfd9g2fn6faix9yrf5skg23dp1y77jv7vm0";
       type = "gem";
     };
-    version = "0.1.16";
+    version = "1.5.3";
   };
-  turbolinks = {
-    dependencies = ["coffee-rails"];
+  ast = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ddrx25vvvqxlz4h59lrmjhc2bfwxf4bpicvyhgbpjd48ckj81jn";
+      sha256 = "102bywfxrv0w3n4s6lg25d7xxshd344sc7ijslqmganj5bany1pk";
       type = "gem";
     };
-    version = "2.5.3";
+    version = "2.1.0";
   };
-  tins = {
+  astrolabe = {
+    dependencies = ["parser"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02qarvy17nbwvslfgqam8y6y7479cwmb1a6di9z18hzka4cf90hz";
+      sha256 = "0ybbmjxaf529vvhrj4y8d4jpf87f3hgczydzywyg1d04gggjx7l7";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.3.1";
   };
-  tinder = {
-    dependencies = ["eventmachine" "faraday" "faraday_middleware" "hashie" "json" "mime-types" "multi_json" "twitter-stream"];
+  attr_encrypted = {
+    dependencies = ["encryptor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kwj0wd540wb2ws86d3jdva175dx00w2j8lyrvbb6qli3g27byd7";
+      sha256 = "1hm2844qm37kflqq5v0x2irwasbhcblhp40qk10m3wlkj4m9wp8p";
       type = "gem";
     };
-    version = "1.10.1";
+    version = "1.3.4";
   };
-  timfel-krb5-auth = {
+  attr_required = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "105vajc0jkqgcx1wbp0ad262sdry4l1irk7jpaawv8vzfjfqqf5b";
+      sha256 = "0pawa2i7gw9ppj6fq6y288da1ncjpzsmc6kx7z63mjjvypa5q3dc";
       type = "gem";
     };
-    version = "0.8.3";
+    version = "1.0.0";
   };
-  tilt = {
+  autoprefixer-rails = {
+    dependencies = ["execjs" "json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir";
+      sha256 = "0m1w42ncz0p48r5hbyglayxkzrnplw18r99dc1ia2cb3nizkwllx";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "6.2.3";
   };
-  thread_safe = {
+  awesome_print = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr";
+      sha256 = "1k85hckprq0s9pakgadf42k1d5s07q23m3y6cs977i6xmwdivyzr";
       type = "gem";
     };
-    version = "0.3.5";
+    version = "1.2.0";
   };
-  thor = {
+  axiom-types = {
+    dependencies = ["descendants_tracker" "ice_nine" "thread_safe"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
+      sha256 = "10q3k04pll041mkgy0m5fn2b1lazm6ly1drdbcczl5p57lzi3zy1";
       type = "gem";
     };
-    version = "0.19.1";
+    version = "0.1.1";
   };
-  thin = {
-    dependencies = ["daemons" "eventmachine" "rack"];
+  babosa = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pyc602sa8fqwjyssn9yvf3fqrr14jk7hj9hsjlan1mq4zvim1lf";
+      sha256 = "05rgxg4pz4bc4xk34w5grv0yp1j94wf571w84lf3xgqcbs42ip2f";
       type = "gem";
     };
-    version = "1.6.4";
+    version = "1.0.2";
   };
-  test_after_commit = {
-    dependencies = ["activerecord"];
+  bcrypt = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fzg8qan6f0n0ynr594bld2k0rwwxj99yzhiga2f3pkj9ina1abb";
+      sha256 = "15cf7zzlj9b0xcx12jf8fmnpc8g1b0yhxal1yr5p7ny3mrz5pll6";
       type = "gem";
     };
-    version = "0.4.2";
+    version = "3.1.10";
   };
-  terminal-table = {
+  benchmark-ips = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1s6qyj9ir1agbbi32li9c0c34dcl0klyxqif6mxy0dbvq7kqfp8f";
+      sha256 = "0bh681m54qdsdyvpvflj1wpnj3ybspbpjkr4cnlrl4nk4yikli0j";
       type = "gem";
     };
-    version = "1.5.2";
+    version = "2.3.0";
   };
-  term-ansicolor = {
-    dependencies = ["tins"];
+  better_errors = {
+    dependencies = ["coderay" "erubis"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ydbbyjmk5p7fsi55ffnkq79jnfqx65c3nj8d9rpgl6sw85ahyys";
+      sha256 = "0v0q8bdkqqlcsfqbk4wvc3qnz8an44mgz720v5f11a4nr413mjgf";
       type = "gem";
     };
-    version = "1.3.2";
+    version = "1.0.1";
   };
-  temple = {
+  binding_of_caller = {
+    dependencies = ["debug_inspector"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ysraljv7lkb04z5vdyrkijab7j1jzj1mgz4bj82744dp7d0rhb0";
+      sha256 = "15jg6dkaq2nzcd602d7ppqbdxw3aji961942w93crs6qw4n6h9yk";
       type = "gem";
     };
-    version = "0.7.6";
+    version = "0.7.2";
   };
-  teaspoon-jasmine = {
-    dependencies = ["teaspoon"];
+  bootstrap-sass = {
+    dependencies = ["autoprefixer-rails" "sass"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00wygrv1jm4aj15p1ab9d5fdrj6y83kv26xgp52mx4lp78h2ms9q";
+      sha256 = "12hhw42hk9clwfj6yz5v0c5p35wrn5yjnji7bnzsfs99vi2q00ld";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "3.3.6";
   };
-  teaspoon = {
-    dependencies = ["railties"];
+  brakeman = {
+    dependencies = ["erubis" "fastercsv" "haml" "highline" "multi_json" "ruby2ruby" "ruby_parser" "safe_yaml" "sass" "slim" "terminal-table"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cprz18vgf0jgcggcxf4pwx8jcwbiyj1p0dnck5aavlvaxaic58s";
+      sha256 = "15v13yizpvp1rm86raqggmsmm51v6p8fqw3pfgi6xpvx1ba06cfm";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "3.1.4";
   };
-  task_list = {
-    dependencies = ["html-pipeline"];
+  browser = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1iv1fizb04463c4mp4gxd8v0414fhvmiwvwvjby5b9qq79d8zwab";
+      sha256 = "01bkb64w2ld2q5r3chc4f6spbjrmginyg8wlzg130zmx2z4jia2h";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "1.0.1";
   };
-  systemu = {
+  builder = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gmkbakhfci5wnmbfx5i54f25j9zsvbw858yg3jjhfs5n4ad1xq1";
+      sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2";
       type = "gem";
     };
-    version = "2.6.5";
+    version = "3.2.2";
   };
-  stringex = {
+  bullet = {
+    dependencies = ["activesupport" "uniform_notifier"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "150adm7rfh6r9b5ra6vk75mswf9m3wwyslcf8f235a08m29fxa17";
+      sha256 = "1h3iaflcz5a1xr32bdb8sk4nx06yhh5d8y7w294w49xigfv4hzj3";
       type = "gem";
     };
-    version = "2.5.2";
+    version = "4.14.10";
   };
-  state_machines-activerecord = {
-    dependencies = ["activerecord" "state_machines-activemodel"];
+  bundler-audit = {
+    dependencies = ["thor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10dplkn4cm49xby8s0sn7wxww4hnxi4dgikfsmhp1rbsa24d76vx";
+      sha256 = "0msv3k2277y7al5lbnw7q9lmb5fnrscpkmsb36wpn189pdq0akfv";
       type = "gem";
     };
-    version = "0.3.0";
+    version = "0.4.0";
   };
-  state_machines-activemodel = {
-    dependencies = ["activemodel" "state_machines"];
+  byebug = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bshcm53v2vfpapvhws1h0dq1h4f3p6bvpdkjpydb52a3m0w2z0y";
+      sha256 = "1yx89b7vh5mbvxyi8n7zl25ia1bqdj71995m4daj6d41rnkmrpnc";
       type = "gem";
     };
-    version = "0.3.0";
+    version = "8.2.1";
   };
-  state_machines = {
+  cal-heatmap-rails = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xg84kdglz0k1pshf2q604zybjpribzcz2b651sc1j27kd86w787";
+      sha256 = "0lrmcyj3iixkprqi9fb9vcn97wpp779sl5hxxgx57r3rb7l4d20w";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "3.5.1";
   };
-  sprockets-rails = {
-    dependencies = ["actionpack" "activesupport" "sprockets"];
+  capybara = {
+    dependencies = ["mime-types" "nokogiri" "rack" "rack-test" "xpath"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vsl6ryxdjpp97nl4ghhk1v6p50zh3sx9qv81bhmlffc234r91wn";
+      sha256 = "114k4xi4nfbp3jfbxgwa3fksbwsyibx74gbdqpcgg3dxpmzkaa4f";
       type = "gem";
     };
-    version = "2.3.3";
+    version = "2.4.4";
   };
-  sprockets = {
-    dependencies = ["hike" "multi_json" "rack" "tilt"];
+  capybara-screenshot = {
+    dependencies = ["capybara" "launchy"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15818683yz27w4hgywccf27n91azy9a4nmb5qkklzb08k8jw9gp3";
+      sha256 = "17v1wihr3aqrxhrwswkdpdklj1xsfcaksblh1y8hixvm9bqfyz3y";
       type = "gem";
     };
-    version = "2.12.4";
+    version = "1.0.11";
   };
-  spring-commands-teaspoon = {
-    dependencies = ["spring"];
+  carrierwave = {
+    dependencies = ["activemodel" "activesupport" "json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g7n4m2s9d0frh7y1xibzpphqajfnx4fvgfc66nh545dd91w2nqz";
+      sha256 = "1b1av1ancby6brhmypl5k8xwrasd8bd3kqp9ri8kbq7z8nj6k445";
       type = "gem";
     };
-    version = "0.0.2";
+    version = "0.9.0";
   };
-  spring-commands-spinach = {
-    dependencies = ["spring"];
+  cause = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "138jardqyj96wz68njdgy55qjbpl2d0g8bxbkz97ndaz3c2bykv9";
+      sha256 = "0digirxqlwdg79mkbn70yc7i9i1qnclm2wjbrc47kqv6236bpj00";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "0.1";
   };
-  spring-commands-rspec = {
-    dependencies = ["spring"];
+  CFPropertyList = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b0svpq3md1pjz5drpa5pxwg8nk48wrshq8lckim4x3nli7ya0k2";
+      sha256 = "0mjb46368z4hiax3fcsgxk14fxrhwnvcmakc2f5sx8nz0wvvkwg2";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "2.3.2";
   };
-  spring = {
+  charlock_holmes = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xvz2x6nvza5i53p7mddnf11j2wshqmbaphi6ngd6nar8v35y0k1";
+      sha256 = "0jsl6k27wjmssxbwv9wpf7hgp9r0nvizcf6qpjnr7qs2nia53lf7";
       type = "gem";
     };
-    version = "1.3.6";
+    version = "0.7.3";
   };
-  spinach-rails = {
-    dependencies = ["capybara" "railties" "spinach"];
+  chunky_png = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nfacfylkncfgi59g2wga6m4nzdcjqb8s50cax4nbx362ap4bl70";
+      sha256 = "0vf0axgrm95bs3y0x5gdb76xawfh210yxplj7jbwr6z7n88i1axn";
       type = "gem";
     };
-    version = "0.2.1";
+    version = "1.3.5";
   };
-  spinach = {
-    dependencies = ["colorize" "gherkin-ruby" "json"];
+  cliver = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0phfjs4iw2iqxdaljzwk6qxmi2x86pl3hirmpgw2pgfx76wfx688";
+      sha256 = "096f4rj7virwvqxhkavy0v55rax10r4jqf8cymbvn4n631948xc7";
       type = "gem";
     };
-    version = "0.8.10";
+    version = "0.3.2";
   };
-  slop = {
+  coderay = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n";
+      sha256 = "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s";
       type = "gem";
     };
-    version = "3.6.0";
+    version = "1.1.0";
   };
-  slim = {
-    dependencies = ["temple" "tilt"];
+  coercible = {
+    dependencies = ["descendants_tracker"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1szs71hh0msm5gj6qbcxw44m3hqnwybx4yh02scwixnwg576058k";
+      sha256 = "1p5azydlsz0nkxmcq0i1gzmcfq02lgxc4as7wmf47j1c6ljav0ah";
       type = "gem";
     };
-    version = "3.0.6";
+    version = "1.0.0";
   };
-  slack-notifier = {
+  coffee-rails = {
+    dependencies = ["coffee-script" "railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08z6fv186yw1nrpl6zwp3lwqksin145aa1jv6jf00bnv3sicliiz";
+      sha256 = "0p3zhs44gsy1p90nmghihzfyl7bsk8kv6j3q7rj3bn74wg8w7nqs";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "4.1.0";
   };
-  six = {
+  coffee-script = {
+    dependencies = ["coffee-script-source" "execjs"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bhapiyjh5r5qjpclfw8i65plvy6k2q4azr5xir63xqglr53viw3";
+      sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2";
       type = "gem";
     };
-    version = "0.2.0";
+    version = "2.4.1";
   };
-  sinatra = {
-    dependencies = ["rack" "rack-protection" "tilt"];
+  coffee-script-source = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hhmwqc81ram7lfwwziv0z70jh92sj1m7h7s9fr0cn2xq8mmn8l7";
+      sha256 = "1k4fg39rrkl3bpgchfj94fbl9s4ysaz16w8dkqncf2vyf79l3qz0";
       type = "gem";
     };
-    version = "1.4.6";
+    version = "1.10.0";
   };
-  simplecov-html = {
+  colorize = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qni8g0xxglkx25w54qcfbi4wjkpvmb28cb7rj5zk3iqynjcdrqf";
+      sha256 = "16bsjcqb6pg3k94dh1l5g3hhx5g2g4g8rlr76dnc78yyzjjrbayn";
       type = "gem";
     };
-    version = "0.10.0";
+    version = "0.7.7";
   };
-  simplecov = {
-    dependencies = ["docile" "json" "simplecov-html"];
+  concurrent-ruby = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q2iq2vgrdvvla5y907gkmqx6ry2qvnvc7a90hlcbwgp1w0sv6z4";
+      sha256 = "0qqdgcfkzv90nznrpsvg3cgg5xiqz4c8hnv7va5gm4fp4lf4k85v";
       type = "gem";
     };
-    version = "0.10.0";
+    version = "1.0.0";
   };
-  simple_oauth = {
+  connection_pool = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bb06p88xsdw4fxll1ikv5i5k58sl6y323ss0wp1hqjm3xw1jgvj";
+      sha256 = "1b2bb3k39ni5mzcnqlv9y4yjkbin20s7dkwzp0jw2jf1rmzcgrmy";
       type = "gem";
     };
-    version = "0.1.9";
+    version = "2.2.0";
   };
-  sidekiq-cron = {
-    dependencies = ["redis-namespace" "rufus-scheduler" "sidekiq"];
+  coveralls = {
+    dependencies = ["json" "rest-client" "simplecov" "term-ansicolor" "thor" "tins"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xnbvh8kjv6954vsiwfcpp7bn8sgpwvnyapnq7b94w8h7kj3ykqy";
+      sha256 = "03vnvcw1fdmkp3405blcxpsjf89jxd2061474a32fchsmv2das9y";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.8.9";
   };
-  sidekiq = {
-    dependencies = ["concurrent-ruby" "connection_pool" "json" "redis"];
+  crack = {
+    dependencies = ["safe_yaml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x7jfc2va0x6fcfffdf0wdiyk4krjw8053jzwffa63wkqr5jvg3y";
+      sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k";
       type = "gem";
     };
-    version = "4.0.1";
+    version = "0.4.3";
   };
-  shoulda-matchers = {
-    dependencies = ["activesupport"];
+  creole = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d3ryqcsk1n9y35bx5wxnqbgw4m8b3c79isazdjnnbg8crdp72d0";
+      sha256 = "00rcscz16idp6dx0dk5yi5i0fz593i3r6anbn5bg2q07v3i025wm";
       type = "gem";
     };
-    version = "2.8.0";
+    version = "0.5.0";
   };
-  sham_rack = {
-    dependencies = ["rack"];
+  d3_rails = {
+    dependencies = ["railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zs6hpgg87x5jrykjxgfp2i7m5aja53s5kamdhxam16wki1hid3i";
+      sha256 = "12vxiiflnnkcxak2wmbajyf5wzmcv9wkl4drsp0am72azl8a6g9x";
       type = "gem";
     };
-    version = "1.3.6";
+    version = "3.5.11";
   };
-  sexp_processor = {
+  daemons = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gxlcpg81wfjf5gpggf8h6l2dbq3ikgavbrr2yfw3m2vqy88yjg2";
+      sha256 = "0b839hryy9sg7x3knsa1d6vfiyvn0mlsnhsb6an8zsalyrz1zgqg";
       type = "gem";
     };
-    version = "4.6.0";
+    version = "1.2.3";
   };
-  settingslogic = {
+  database_cleaner = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ria5zcrk1nf0b9yia15mdpzw0dqr6wjpbj8dsdbbps81lfsj9ar";
+      sha256 = "0n5r7kvsmknk876v3scdphfnvllr9157fa5q7j5fczg8j5qm6kf0";
       type = "gem";
     };
-    version = "2.0.9";
+    version = "1.4.1";
   };
-  sentry-raven = {
-    version = "0.15.6";
+  debug_inspector = {
     source = {
-      type = "gem";
       remotes = ["https://rubygems.org"];
-      sha256 = "0iqnwfmf6rnpgrvl3c8gh2gkix91nhm21j5qf389g4mi2rkc0ky8";
+      sha256 = "109761g00dbrw5q0dfnbqg8blfm699z4jj70l4zrgf9mzn7ii50m";
+      type = "gem";
     };
+    version = "0.0.2";
   };
-  select2-rails = {
-    dependencies = ["thor"];
+  debugger-ruby_core_source = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ni2k74n73y3gv56gs37gkjlh912szjf6k9j483wz41m3xvlz7fj";
+      sha256 = "1lp5dmm8a8dpwymv6r1y6yr24wxsj0gvgb2b8i7qq9rcv414snwd";
       type = "gem";
     };
-    version = "3.5.9.3";
+    version = "1.3.8";
   };
-  seed-fu = {
-    dependencies = ["activerecord" "activesupport"];
+  default_value_for = {
+    dependencies = ["activerecord"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11xja82yxir1kwccrzng29h7w911i9j0xj2y7y949yqnw91v12vw";
+      sha256 = "1z4lrba4y1c3y0rxw8321qbwsb3nr6c2igrpksfvz93yhc9m6xm0";
       type = "gem";
     };
-    version = "2.3.5";
+    version = "3.0.1";
   };
-  sdoc = {
-    dependencies = ["json" "rdoc"];
+  descendants_tracker = {
+    dependencies = ["thread_safe"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17l8qk0ld47z4h5avcnylvds8nc6dp25zc64w23z8li2hs341xf2";
+      sha256 = "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79";
       type = "gem";
     };
-    version = "0.3.20";
+    version = "0.0.4";
   };
-  sawyer = {
-    dependencies = ["addressable" "faraday"];
+  devise = {
+    dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "thread_safe" "warden"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fk43bzwn816qj1ksiicm2i1kmzv5675cmnvk57kmfmi4rfsyjpy";
+      sha256 = "00h0xdl4a8pjpb0gbgy4w6q9j2mpczkmj23195zmjrg2b1gl8f2q";
       type = "gem";
     };
-    version = "0.6.0";
+    version = "3.5.4";
   };
-  sass-rails = {
-    dependencies = ["railties" "sass" "sprockets" "sprockets-rails" "tilt"];
+  devise-async = {
+    dependencies = ["devise"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f6357vw944w2ayayqmz8ai9myl6xbnry06sx5b5ms4r9lny8hj8";
+      sha256 = "11llg7ggzpmg4lb9gh4sx55spvp98sal5r803gjzamps9crfq6mm";
       type = "gem";
     };
-    version = "5.0.4";
+    version = "0.9.0";
   };
-  sass = {
+  devise-two-factor = {
+    dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04rpdcp258arh2wgdk9shbqnzd6cbbbpi3wpi9a0wby8awgpxmyf";
+      sha256 = "1v2wva971ds48af47rj4ywavlmz7qzbmf1jpf1l3xn3mscz52hln";
       type = "gem";
     };
-    version = "3.4.20";
+    version = "2.0.1";
   };
-  sanitize = {
-    dependencies = ["nokogiri"];
+  diff-lcs = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xsv6xqrlz91rd8wifjknadbl3z5h6qphmxy0hjb189qbdghggn3";
+      sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "1.2.5";
   };
-  safe_yaml = {
+  diffy = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
+      sha256 = "0il0ri511g9rm88qbvncbzgwc6wk6265hmnf7grcczmrs1z49vl0";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "3.0.7";
   };
-  rugged = {
+  docile = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0v0cvdw8cgy1hf5h3cx796zpxhbad8d5cm50nykyhwjc00q80zrr";
+      sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
       type = "gem";
     };
-    version = "0.24.0b13";
+    version = "1.1.5";
   };
-  rufus-scheduler = {
+  domain_name = {
+    dependencies = ["unf"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04bmvvvri7ni7dvlq3gi1y553f6rp6bw2kmdfp9ny5bh3l7qayrh";
+      sha256 = "16qvfrmcwlzz073aas55mpw2nhyhjcn96s524w0g1wlml242hjav";
       type = "gem";
     };
-    version = "3.1.10";
+    version = "0.5.25";
   };
-  rubypants = {
+  doorkeeper = {
+    dependencies = ["railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vpdkrc4c8qhrxph41wqwswl28q5h5h994gy4c1mlrckqzm3hzph";
+      sha256 = "0wim84wkvx758cfb8q92w3hhvnfbwr990x1mmfv1ss1ivjz8fmm0";
       type = "gem";
     };
-    version = "0.2.0";
+    version = "2.2.2";
   };
-  rubyntlm = {
+  dropzonejs-rails = {
+    dependencies = ["rails"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04l8686hl0829x4acsnbz0licf8n6794p7shz8iyahin1jnqg3d7";
+      sha256 = "1vqqxzv6qdqy47m2q28adnmccfvc17p2bmkkaqjvrczrhvkkha64";
       type = "gem";
     };
-    version = "0.5.2";
+    version = "0.7.2";
   };
-  ruby_parser = {
-    dependencies = ["sexp_processor"];
+  email_reply_parser = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rip6075b4k5a7s8w2klwc3jaqx31h69k004ac5nhl8y0ja92qvz";
+      sha256 = "0k2p229mv7xn7q627zwmvhrcvba4b9m70pw2jfjm6iimg2vmf22r";
       type = "gem";
     };
-    version = "3.7.2";
+    version = "0.5.8";
   };
-  ruby2ruby = {
-    dependencies = ["ruby_parser" "sexp_processor"];
+  email_spec = {
+    dependencies = ["launchy" "mail"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kmc0503s9mqnjyypx51wsi6zz9zj550ch43rag23wpj4qd6i6pm";
+      sha256 = "00p1cc69ncrgg7m45va43pszip8anx5735w1lsb7p5ygkyw8nnpv";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "1.6.0";
   };
-  ruby-saml = {
+  encryptor = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "151jbak16y87dbj3ma2nc03rh37z7lixcwgaqahncq80rgnv45a8";
+      sha256 = "04wqqda081h7hmhwjjx1yqxprxjk8s5jgv837xqv1bpxiv7f4v1y";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.3.0";
   };
-  ruby-progressbar = {
+  equalizer = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hynaavnqzld17qdx9r7hfw00y16ybldwq730zrqfszjwgi59ivi";
+      sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4";
       type = "gem";
     };
-    version = "1.7.5";
+    version = "0.0.11";
   };
-  ruby-fogbugz = {
-    dependencies = ["crack"];
+  erubis = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jj0gpkycbrivkh2q3429vj6mbgx6axxisg69slj3c4mgvzfgchm";
+      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
       type = "gem";
     };
-    version = "0.2.1";
+    version = "2.7.0";
   };
-  rubocop = {
-    dependencies = ["astrolabe" "parser" "powerpack" "rainbow" "ruby-progressbar" "tins"];
+  escape_utils = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1grqda2fdknm43zyagh8gcmnhjkypyfw98q92hmvprprwghkq2sg";
+      sha256 = "0hb8nmrgmd9n5dhih86fp91sf26mmw14sdn5vswg5g20svrqxc7x";
       type = "gem";
     };
-    version = "0.35.1";
+    version = "1.1.0";
   };
-  rspec-support = {
+  eventmachine = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cyagig8slxjas8mbg5f8bl240b8zgr8mnjsvrznag1fwpkh4h27";
+      sha256 = "1frvpk3p73xc64qkn0ymll3flvn4xcycq5yx8a43zd3gyzc1ifjp";
       type = "gem";
     };
-    version = "3.3.0";
+    version = "1.0.8";
   };
-  rspec-rails = {
-    dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
+  excon = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m66n9p3a7d3fmrzkbh8312prb6dhrgmp53g1amck308ranasv2a";
+      sha256 = "1shb4g3dhsfkywgjv6123yrvp2c8bvi8hqmq47iqa5lp72sn4b4w";
       type = "gem";
     };
-    version = "3.3.3";
+    version = "0.45.4";
   };
-  rspec-mocks = {
-    dependencies = ["diff-lcs" "rspec-support"];
+  execjs = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lfbzscmpyixlbapxmhy2s69596vs1z00lv590l51hgdw70z92vg";
+      sha256 = "0grlxwiccbnflxs30r3h7g23xnps5knav1jyqkk3anvm8363ifjw";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "2.6.0";
   };
-  rspec-expectations = {
-    dependencies = ["diff-lcs" "rspec-support"];
+  expression_parser = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d0b5hpkxlr9f3xpsbhvl3irnk4smmycx2xnmc8qv3pqaa7mb7ah";
+      sha256 = "1938z3wmmdabqxlh5d5c56xfg1jc6z15p7zjyhvk7364zwydnmib";
       type = "gem";
     };
-    version = "3.3.1";
+    version = "0.9.0";
   };
-  rspec-core = {
-    dependencies = ["rspec-support"];
+  factory_girl = {
+    dependencies = ["activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xw5qi936j6nz9fixi2mwy03f406761cd72bzyvd61pr854d7hy1";
+      sha256 = "13z20a4b7z1c8vbz0qz5ranssdprldwvwlgjmn38x311sfjmp9dz";
       type = "gem";
     };
-    version = "3.3.2";
+    version = "4.3.0";
   };
-  rspec = {
-    dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
+  factory_girl_rails = {
+    dependencies = ["factory_girl" "railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bn5zs71agc0zyns2r3c8myi5bxw3q7xnzp7f3v5b7hbil1qym4r";
+      sha256 = "1jj0yl6mfildb4g79dwgc1q5pv2pa65k9b1ml43mi8mg62j8mrhz";
       type = "gem";
     };
-    version = "3.3.0";
+    version = "4.3.0";
   };
-  rqrcode-rails3 = {
-    dependencies = ["rqrcode"];
+  faraday = {
+    dependencies = ["multipart-post"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i28rwmj24ssk91chn0g7qsnvn003y3s5a7jsrg3w4l5ckr841bg";
+      sha256 = "1kplqkpn2s2yl3lxdf6h7sfldqvkbkpxwwxhyk7mdhjplb5faqh6";
       type = "gem";
     };
-    version = "0.1.7";
+    version = "0.9.2";
   };
-  rqrcode = {
-    dependencies = ["chunky_png"];
+  faraday_middleware = {
+    dependencies = ["faraday"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "188n1mvc7klrlw30bai16sdg4yannmy7cz0sg0nvm6f1kjx5qflb";
+      sha256 = "0nxia26xzy8i56qfyz1bg8dg9yb26swpgci8n5jry8mh4bnx5r5h";
       type = "gem";
     };
-    version = "0.7.0";
+    version = "0.10.0";
   };
-  rouge = {
+  faraday_middleware-multi_json = {
+    dependencies = ["faraday_middleware" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wp8as9ypdy18kdj9h70kny1rdfq71mr8cj2bpahr9vxjjvjasqz";
+      sha256 = "0651sxhzbq9xfq3hbpmrp0nbybxnm9ja3m97k386m4bqgamlvz1q";
       type = "gem";
     };
-    version = "1.10.1";
+    version = "0.0.6";
   };
-  rotp = {
+  fastercsv = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nzsc9hfxijnyzjbv728ln9dm80bc608chaihjdk63i2wi4m529g";
+      sha256 = "1df3vfgw5wg0s405z0pj0rfcvnl9q6wak7ka8gn0xqg4cag1k66h";
       type = "gem";
     };
-    version = "2.1.1";
+    version = "1.5.5";
   };
-  rinku = {
+  ffaker = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jh6nys332brph55i6x6cil6swm086kxjw34wq131nl6mwryqp7b";
+      sha256 = "19fnbbsw87asyb1hvkr870l2yldah2jcjb8074pgyrma5lynwmn0";
       type = "gem";
     };
-    version = "1.7.3";
+    version = "2.0.0";
   };
-  rest-client = {
-    dependencies = ["http-cookie" "mime-types" "netrc"];
+  ffi = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m8z0c4yf6w47iqz6j2p7x1ip4qnnzvhdph9d5fgx081cvjly3p7";
+      sha256 = "1m5mprppw0xcrv2mkim5zsk70v089ajzqiq5hpyb0xg96fcyzyxj";
       type = "gem";
     };
-    version = "1.8.0";
+    version = "1.9.10";
   };
-  responders = {
-    dependencies = ["railties"];
+  fission = {
+    dependencies = ["CFPropertyList"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i00bxp8fa67rzl50wfiaw16w21j5d5gwjjkdiwr0sw9q6ixmpz1";
+      sha256 = "09pmp1j1rr8r3pcmbn2na2ls7s1j9ijbxj99xi3a8r6v5xhjdjzh";
       type = "gem";
     };
-    version = "2.1.1";
+    version = "0.5.0";
   };
-  rerun = {
-    dependencies = ["listen"];
+  flay = {
+    dependencies = ["ruby_parser" "sexp_processor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0av239bpmy55fdx4qaw9n71aapjy2myr51h5plzjxsyr0fdwn1xq";
+      sha256 = "0zcp9nmnfqixdcqa2dzwwjy5np4n2n16bj25gw7bbzbjp9hqzhn6";
       type = "gem";
     };
-    version = "0.11.0";
+    version = "2.6.1";
   };
-  request_store = {
+  flog = {
+    dependencies = ["ruby_parser" "sexp_processor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01rxi2hw84y133z0r91jns4aaywd8d83wjq0xgb42iaicf0a90p9";
+      sha256 = "1asrcdj6gh5mxcimqak94jjyyi5cxnqn904lc8pmrljg1nv1bxpm";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "4.3.2";
   };
-  redis-store = {
-    dependencies = ["redis"];
+  flowdock = {
+    dependencies = ["httparty" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gf462p0wx4hn7m1m8ghs701n6xx0ijzm5cff9xfagd2s6va145m";
+      sha256 = "04nrvg4gzgabf5mnnhccl8bwrkvn3y4pm7a1dqzqhpvfr4m5pafg";
       type = "gem";
     };
-    version = "1.1.7";
+    version = "0.7.1";
   };
-  redis-rails = {
-    dependencies = ["redis-actionpack" "redis-activesupport" "redis-store"];
+  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 = "0igww7hb58aq74mh50dli3zjg78b54y8nhd0h1h9vz4vgjd4q8m7";
+      sha256 = "1ml31jdycqdm8w7w3l9pbyrgbnmrrnhmkppa2x4bwi9as1n1jmwq";
       type = "gem";
     };
-    version = "4.0.0";
+    version = "1.36.0";
   };
-  redis-rack = {
-    dependencies = ["rack" "redis-store"];
+  fog-aliyun = {
+    dependencies = ["fog-core" "fog-json" "ipaddress" "xml-simple"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y1mxx8gn0krdrpwllv7fqsbvki1qjnb2dz8b4q9gwc326829gk8";
+      sha256 = "1i76g8sdskyfc0gcnd6n9i757s7dmwg3wf6spcr2xh8wzyxkm1pj";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "0.1.0";
   };
-  redis-namespace = {
-    dependencies = ["redis"];
+  fog-atmos = {
+    dependencies = ["fog-core" "fog-xml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rp8gfkznfxqzxk9s976k71jnljkh0clkrhnp6vgx46s5yhj9g25";
+      sha256 = "1aaxgnw9zy96gsh4h73kszypc32sx497s6bslvhfqh32q9d1y8c9";
       type = "gem";
     };
-    version = "1.5.2";
+    version = "0.1.0";
   };
-  redis-activesupport = {
-    dependencies = ["activesupport" "redis-store"];
+  fog-aws = {
+    dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10y3kybz21n2z11478sf0cp4xzclvxf0b428787brmgpc6i7p7zg";
+      sha256 = "1pzfahq8h3alfflb5dr8lm02q27x81vm96qn5zyfdlx86yy7bq96";
       type = "gem";
     };
-    version = "4.1.5";
+    version = "0.8.1";
   };
-  redis-actionpack = {
-    dependencies = ["actionpack" "redis-rack" "redis-store"];
+  fog-brightbox = {
+    dependencies = ["fog-core" "fog-json" "inflecto"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jjl6dhhpdapdaywq5iqz7z36mwbw0cn0m30wcc5wcbv7xmiiygw";
+      sha256 = "0p7rbx587hb1d1am90dcr3zdp6y50c2zddh97yfgl62vji0pbkkd";
       type = "gem";
     };
-    version = "4.0.1";
+    version = "0.10.1";
   };
-  redis = {
+  fog-core = {
+    dependencies = ["builder" "excon" "formatador"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0255w9izzs04hw9wivn05yqiwi34w28ylxs0xvpmwc1vrh18fwcl";
+      sha256 = "02z91r3f5a64hlalm6h39v0778yl2kk3qvva0zvplpp9hpwbwzhl";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "1.35.0";
   };
-  redcarpet = {
+  fog-dynect = {
+    dependencies = ["fog-core" "fog-json" "fog-xml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14i3wypp97bpk20679d1csy88q4hsgfqbnqw6mryl77m2g0d09pk";
+      sha256 = "18lqmdkm22254z86jh3aa9v9vqk8bgbd3d1m0w7az3ij47ak7kch";
       type = "gem";
     };
-    version = "3.3.3";
+    version = "0.0.2";
   };
-  recaptcha = {
-    dependencies = ["json"];
+  fog-ecloud = {
+    dependencies = ["fog-core" "fog-xml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "190qqklirmi31s6ih7png4h9xmx1p5h2n5fi45z90y8hsp5w1sh1";
+      sha256 = "18rb4qjad9xwwqvvpj8r2h0hi9svy71pm4d3fc28cdcnfarmdi06";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "0.3.0";
   };
-  rdoc = {
-    dependencies = ["json"];
+  fog-google = {
+    dependencies = ["fog-core" "fog-json" "fog-xml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v9k4sp5yzj2bshngckdvivj6bszciskk1nd2r3wri2ygs7vgqm8";
+      sha256 = "0z4vmswpqwph04c0wqzrscns1d1wdm8kbxx457bv156mawzrhfj3";
       type = "gem";
     };
-    version = "3.12.2";
+    version = "0.1.0";
   };
-  rblineprof = {
-    dependencies = ["debugger-ruby_core_source"];
+  fog-json = {
+    dependencies = ["fog-core" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m58kdjgncwf0h1qry3qk5h4bg8sj0idykqqijqcrr09mxfd9yc6";
+      sha256 = "0advkkdjajkym77r3c0bg2rlahl2akj0vl4p5r273k2qmi16n00r";
       type = "gem";
     };
-    version = "0.3.6";
+    version = "1.0.2";
   };
-  rb-inotify = {
-    dependencies = ["ffi"];
+  fog-local = {
+    dependencies = ["fog-core"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kddx2ia0qylw3r52nhg83irkaclvrncgy2m1ywpbhlhsz1rymb9";
+      sha256 = "0i5hxwzmc2ag3z9nlligsaf679kp2pz39cd8n2s9cmxaamnlh2s3";
       type = "gem";
     };
-    version = "0.9.5";
+    version = "0.2.1";
   };
-  rb-fsevent = {
+  fog-powerdns = {
+    dependencies = ["fog-core" "fog-json" "fog-xml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hq57by28iv0ijz8pk9ynih0xdg7vnl1010xjcijfklrcv89a1j2";
+      sha256 = "08zavzwfkk344gz83phz4sy9nsjznsdjsmn1ifp6ja17bvydlhh7";
       type = "gem";
     };
-    version = "0.9.6";
+    version = "0.1.1";
   };
-  raphael-rails = {
+  fog-profitbricks = {
+    dependencies = ["fog-core" "fog-xml" "nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sjiaymvfn4al5dr1pza5i142byan0fxnj4rymziyql2bzvdm2bc";
+      sha256 = "154sqs2dcmvg21v4m3fj8f09z5i70sq8a485v6rdygsffs8xrycn";
       type = "gem";
     };
-    version = "2.1.2";
+    version = "0.0.5";
   };
-  rake = {
+  fog-radosgw = {
+    dependencies = ["fog-core" "fog-json" "fog-xml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jcabbgnjc788chx31sihc5pgbqnlc1c75wakmqlbjdm8jns2m9b";
+      sha256 = "0nslgv8yp5qkiryj3zsm91gs7s6i626igj61kwxjjwk2yv6swyr6";
       type = "gem";
     };
-    version = "10.5.0";
+    version = "0.0.5";
   };
-  raindrops = {
+  fog-riakcs = {
+    dependencies = ["fog-core" "fog-json" "fog-xml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hv0xhr762axywr937czi92fs0x3zk7k22vg6f4i7rr8d05sp560";
+      sha256 = "1nbxc4dky3agfwrmgm1aqmi59p6vnvfnfbhhg7xpg4c2cf41whxm";
       type = "gem";
     };
-    version = "0.15.0";
+    version = "0.1.0";
   };
-  rainbow = {
+  fog-sakuracloud = {
+    dependencies = ["fog-core" "fog-json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dsnzfjiih2w8npsjab3yx1ssmmvmgjkbxny0i9yzrdy7whfw7b4";
+      sha256 = "08krsn9sk5sx0aza812g31r169bd0zanb8pq5am3a64j6azarimd";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "1.7.5";
   };
-  railties = {
-    dependencies = ["actionpack" "activesupport" "rake" "thor"];
+  fog-serverlove = {
+    dependencies = ["fog-core" "fog-json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "cfff64cbc0e409341003c35fa2e576e6a8cd8259a9894d09f15c6123be73f146";
+      sha256 = "0hxgmwzygrw25rbsy05i6nzsyr0xl7xj5j2sjpkb9n9wli5sagci";
       type = "gem";
     };
-    version = "4.2.5.2";
+    version = "0.1.2";
   };
-  rails-html-sanitizer = {
-    dependencies = ["loofah"];
+  fog-softlayer = {
+    dependencies = ["fog-core" "fog-json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "138fd86kv073zqfx0xifm646w6bgw2lr8snk16lknrrfrss8xnm7";
+      sha256 = "1zax2wws0q8pm787jnlxd2xlj23f2acz0s6jl5nzczyxjgll571r";
       type = "gem";
     };
     version = "1.0.3";
   };
-  rails-dom-testing = {
-    dependencies = ["activesupport" "nokogiri" "rails-deprecated_sanitizer"];
+  fog-storm_on_demand = {
+    dependencies = ["fog-core" "fog-json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v8jl6803mbqpxh4hn0szj081q1a3ap0nb8ni0qswi7z4la844v8";
+      sha256 = "0fif1x8ci095b2yyilf65n7x6iyvn448azrsnmwsdkriy8vxxv3y";
       type = "gem";
     };
-    version = "1.0.7";
+    version = "0.1.1";
   };
-  rails-deprecated_sanitizer = {
-    dependencies = ["activesupport"];
+  fog-terremark = {
+    dependencies = ["fog-core" "fog-xml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj";
+      sha256 = "01lfkh9jppj0iknlklmwyb7ym3bfhkq58m3absb6rf5a5mcwi3lf";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "0.1.0";
   };
-  rails = {
-    dependencies = ["actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"];
+  fog-vmfusion = {
+    dependencies = ["fission" "fog-core"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "aa93c1b9eb8b535eee58280504e30237f88217699fe9bb016e458e5122eefa2e";
+      sha256 = "0g0l0k9ylxk1h9pzqr6h2ba98fl47lpp3j19lqv4jxw0iw1rqxn4";
       type = "gem";
     };
-    version = "4.2.5.2";
+    version = "0.1.0";
   };
-  rack-test = {
-    dependencies = ["rack"];
+  fog-voxel = {
+    dependencies = ["fog-core" "fog-xml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z";
+      sha256 = "10skdnj59yf4jpvq769njjrvh2l0wzaa7liva8n78qq003mvmfgx";
       type = "gem";
     };
-    version = "0.6.3";
+    version = "0.1.0";
   };
-  rack-protection = {
-    dependencies = ["rack"];
+  fog-xenserver = {
+    dependencies = ["fog-core" "fog-xml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
+      sha256 = "1ngw8hh8ljk7wi0cp8n4b4jcy2acx0yqzjk7851m3mp0kji5dlgl";
       type = "gem";
     };
-    version = "1.5.3";
+    version = "0.2.2";
   };
-  rack-oauth2 = {
-    dependencies = ["activesupport" "attr_required" "httpclient" "multi_json" "rack"];
+  fog-xml = {
+    dependencies = ["fog-core" "nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1szfnb74p5s7k0glpmiv16rfl4wx9mnrr7riapgpbcx163zzkxad";
+      sha256 = "1576sbzza47z48p0k9h1wg3rhgcvcvdd1dfz3xx1cgahwr564fqa";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "0.1.2";
   };
-  rack-mount = {
-    dependencies = ["rack"];
+  font-awesome-rails = {
+    dependencies = ["railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09a1qfaxxsll1kbgz7z0q0nr48sfmfm7akzaviis5bjpa5r00ld2";
+      sha256 = "09x1bg98sp2v1lsg9h2bal915q811xq84h9d74p1f3378ga63c1x";
       type = "gem";
     };
-    version = "0.8.3";
+    version = "4.5.0.0";
   };
-  rack-cors = {
+  foreman = {
+    dependencies = ["thor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sz9d9gjmv2vjl3hddzk269hb1k215k8sp37gicphx82h3chk1kw";
+      sha256 = "1caz8mi7gq1hs4l1flcyyw1iw1bdvdbhppsvy12akr01k3s17xaq";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.78.0";
   };
-  rack-attack = {
-    dependencies = ["rack"];
+  formatador = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ihic8ar2ddfv15p5gia8nqzsl3y7iayg5v4rmg72jlvikgsabls";
+      sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0";
       type = "gem";
     };
-    version = "4.3.1";
+    version = "0.2.5";
   };
-  rack-accept = {
-    dependencies = ["rack"];
+  fuubar = {
+    dependencies = ["rspec" "ruby-progressbar"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18jdipx17b4ki33cfqvliapd31sbfvs4mv727awynr6v95a7n936";
+      sha256 = "0xwqs24y8s73aayh39si17kccsmr0bjgmi6jrjyfp7gkjb6iyhpv";
       type = "gem";
     };
-    version = "0.4.5";
+    version = "2.0.0";
   };
-  rack = {
+  gemnasium-gitlab-service = {
+    dependencies = ["rugged"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09bs295yq6csjnkzj7ncj50i6chfxrhmzg1pk6p0vd2lb9ac8pj5";
+      sha256 = "1qv7fkahmqkah3770ycrxd0x2ais4z41hb43a0r8q8wcdklns3m3";
       type = "gem";
     };
-    version = "1.6.4";
+    version = "0.2.6";
   };
-  quiet_assets = {
-    dependencies = ["railties"];
+  gemojione = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q4azw4j1xsgd7qwcig110mfdn1fm0y34y87zw9j9v187xr401b1";
+      sha256 = "0av60lajn64z1csmkzfaf5wvpd3x48lcshiknkqr8m0zx3sg7w3h";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "2.2.1";
   };
-  pyu-ruby-sasl = {
+  get_process_mem = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rcpjiz9lrvyb3rd8k8qni0v4ps08psympffyldmmnrqayyad0sn";
+      sha256 = "025f7v6bpbgsa2nr0hzv2riggj8qmzbwcyxfgjidpmwh5grh7j29";
       type = "gem";
     };
-    version = "0.0.3.3";
+    version = "0.2.0";
   };
-  pry-rails = {
-    dependencies = ["pry"];
+  gherkin-ruby = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a2iinvabis2xmv0z7z7jmh7bbkkngxj2qixfdg5m6qj9x8k1kx6";
+      sha256 = "18ay7yiibf4sl9n94k7mbi4k5zj2igl4j71qcmkswv69znyx0sn1";
       type = "gem";
     };
-    version = "0.3.4";
+    version = "0.3.2";
   };
-  pry = {
-    dependencies = ["coderay" "method_source" "slop"];
+  github-linguist = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x78rvp69ws37kwig18a8hr79qn36vh8g1fn75p485y3b3yiqszg";
+      sha256 = "1xxm2lbabkc1xmx2myv56a4fkw3wwg9n8w2bzwrl4s33kf6x62ag";
       type = "gem";
     };
-    version = "0.10.3";
+    version = "4.7.5";
   };
-  powerpack = {
+  github-markup = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fnn3fli5wkzyjl4ryh0k90316shqjfnhydmc7f8lqpi0q21va43";
+      sha256 = "01r901wcgn0gs0n9h684gs5n90y1vaj9lxnx4z5ig611jwa43ivq";
       type = "gem";
     };
-    version = "0.1.1";
+    version = "1.3.3";
   };
-  posix-spawn = {
+  gitlab-flowdock-git-hook = {
+    dependencies = ["flowdock" "gitlab-grit" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "052lnxbkvlnwfjw4qd7vn2xrlaaqiav6f5x5bcjin97bsrfq6cmr";
+      sha256 = "1s3a10cdbh4xy732b92zcsm5zyc1lhi5v29d76j8mwbqmj11a2p8";
       type = "gem";
     };
-    version = "0.3.11";
+    version = "1.0.1";
   };
-  poltergeist = {
-    dependencies = ["capybara" "cliver" "multi_json" "websocket-driver"];
+  gitlab-grit = {
+    dependencies = ["charlock_holmes" "diff-lcs" "mime-types" "posix-spawn"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ppm4isvbxm739508yjhvisq1iwp1q6h8dx4hkndj2krskavz4i9";
+      sha256 = "0nv8shx7w7fww8lf5a2rbvf7bq173rllm381m6x7g1i0qqc68q1b";
       type = "gem";
     };
-    version = "1.8.1";
+    version = "2.7.3";
   };
-  pg = {
+  gitlab_emoji = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07dv4ma9xd75xpsnnwwg1yrpwpji7ydy0q1d9dl0yfqbzpidrw32";
+      sha256 = "1dy746icdmyc548mb5xkavvkn37pk7vv3gznx0p6hff325pan8dj";
       type = "gem";
     };
-    version = "0.18.4";
+    version = "0.3.1";
   };
-  parser = {
-    dependencies = ["ast"];
+  gitlab_git = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14db0gam24j04iprqz4m3hxygkb8h0plnbm0yk4k3lzq6j5wzcac";
+      sha256 = "0311dl4vh6h7k8xarmpr61fndrhbmfskzjzkkj1rr8321gn8znfv";
       type = "gem";
     };
-    version = "2.2.3.0";
+    version = "8.2.0";
   };
-  paranoia = {
-    dependencies = ["activerecord"];
+  gitlab_meta = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z2smnnghjhcs4l5fkz9scs1kj0bvj2n8xmzcvw4rg9yprdnlxr0";
+      sha256 = "14vahv7gblcypbvip845sg3lvawf3kij61mkxz5vyfcv23niqvp9";
       type = "gem";
     };
-    version = "2.1.4";
+    version = "7.0";
   };
-  orm_adapter = {
+  gitlab_omniauth-ldap = {
+    dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda";
+      sha256 = "1vbdyi57vvlrigyfhmqrnkw801x57fwa3gxvj1rj2bn9ig5186ri";
       type = "gem";
     };
-    version = "0.5.0";
+    version = "1.2.1";
   };
-  org-ruby = {
-    dependencies = ["rubypants"];
+  globalid = {
+    dependencies = ["activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x69s7aysfiwlcpd9hkvksfyld34d8kxr62adb59vjvh8hxfrjwk";
+      sha256 = "145xrpsfx1qqjy33r6qa588wb16dvdhxzj2aysh755vhg6hgm291";
       type = "gem";
     };
-    version = "0.9.12";
+    version = "0.3.6";
   };
-  omniauth_crowd = {
-    dependencies = ["activesupport" "nokogiri" "omniauth"];
+  gollum-grit_adapter = {
+    dependencies = ["gitlab-grit"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12g5ck05h6kr9mnp870x8pkxsadg81ca70hg8n3k8xx007lfw2q7";
+      sha256 = "02c5qfq0s0kx2ifnpbnbgz6258fl7rchzzzc7vpx72shi8gbpac7";
       type = "gem";
     };
-    version = "2.2.3";
+    version = "1.0.0";
   };
-  omniauth-twitter = {
-    dependencies = ["json" "omniauth-oauth"];
+  gollum-lib = {
+    dependencies = ["github-markup" "gollum-grit_adapter" "nokogiri" "rouge" "sanitize" "stringex"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hqjpb1zx0pp3s12c83pkpk4kkx41f001jc5n8qz0h3wll0ld833";
+      sha256 = "01s8pgzhc3cgcmsy6hh79wrcbn5vbadniq2a7d4qw87kpq7mzfdm";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "4.1.0";
   };
-  omniauth-shibboleth = {
-    dependencies = ["omniauth"];
+  gon = {
+    dependencies = ["actionpack" "json" "multi_json" "request_store"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a8pwy23aybxhn545357zdjy0hnpfgldwqk5snmz9kxingpq12jl";
+      sha256 = "1f359cd9zsa4nrng35bij5skvjrj5ywn2dhmlg41b97vmza26bxr";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "6.0.1";
   };
-  omniauth-saml = {
+  grape = {
+    dependencies = ["activesupport" "builder" "hashie" "multi_json" "multi_xml" "rack" "rack-accept" "rack-mount" "virtus"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c7pypskq9y6wbl7c8gnp48j256snph11br3csgwvy9whjfisx65";
+      sha256 = "1dxfal5jspxq612jjkqbd7xgp5dswdyllbbfq6fj2m7s21pismmh";
       type = "gem";
     };
-    version = "1.4.2";
+    version = "0.13.0";
   };
-  omniauth-oauth2 = {
-    dependencies = ["oauth2" "omniauth"];
+  grape-entity = {
+    dependencies = ["activesupport" "multi_json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mskwlw5ibx9mz7ywqji6mm56ikf7mglbnfc02qhg6ry527jsxdm";
+      sha256 = "0hxghs2p9ncvdwhp6dwr1a74g552c49dd0jzy0szp4pg2xjbgjk8";
       type = "gem";
     };
-    version = "1.3.1";
+    version = "0.4.8";
   };
-  omniauth-oauth = {
-    dependencies = ["oauth" "omniauth"];
+  haml = {
+    dependencies = ["tilt"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1n5vk4by7hkyc09d9blrw2argry5awpw4gbw1l4n2s9b3j4qz037";
+      sha256 = "0mrzjgkygvfii66bbylj2j93na8i89998yi01fin3whwqbvx0m1p";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "4.0.7";
   };
-  omniauth-multipassword = {
-    dependencies = ["omniauth"];
+  haml-rails = {
+    dependencies = ["actionpack" "activesupport" "haml" "html2haml" "railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qykp76hw80lkgb39hyzrv68hkbivc8cv0vbvrnycjh9fwfp1lv8";
+      sha256 = "1hbfznkxab663hxp1v6gpsa7sv6w1fnw9r8b3flixwylnwh3c5dz";
       type = "gem";
     };
-    version = "0.4.2";
+    version = "0.9.0";
   };
-  omniauth-kerberos = {
-    dependencies = ["omniauth-multipassword" "timfel-krb5-auth"];
+  hashie = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05xsv76qjxcxzrvabaar2bchv7435y8l2j0wk4zgchh3yv85kiq7";
+      sha256 = "1iv5hd0zcryprx9lbcm615r3afc0d6rhc27clywmhhgpx68k8899";
       type = "gem";
     };
-    version = "0.3.0";
+    version = "3.4.3";
   };
-  omniauth-google-oauth2 = {
-    dependencies = ["addressable" "jwt" "multi_json" "omniauth" "omniauth-oauth2"];
+  highline = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lm4fk6ig9vwzv7398qd861325g678sfr1iv2mm60xswl69964fi";
+      sha256 = "1nf5lgdn6ni2lpfdn4gk3gi47fmnca2bdirabbjbz1fk9w4p8lkr";
       type = "gem";
     };
-    version = "0.2.10";
+    version = "1.7.8";
   };
-  omniauth-gitlab = {
-    dependencies = ["omniauth" "omniauth-oauth2"];
+  hike = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "083yyc8612kq8ygd8y7s8lxg2d51jcsakbs4pa19aww67gcm72iz";
+      sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.2.3";
   };
-  omniauth-github = {
-    dependencies = ["omniauth" "omniauth-oauth2"];
+  hipchat = {
+    dependencies = ["httparty" "mimemagic"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mbx3c8m1llhdxrqdciq8jh428bxj1nvf4yhziv2xqmqpjcqz617";
+      sha256 = "0hgy5jav479vbzzk53lazhpjj094dcsqw6w1d6zjn52p72bwq60k";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "1.5.2";
   };
-  omniauth-facebook = {
-    dependencies = ["omniauth-oauth2"];
+  html-pipeline = {
+    dependencies = ["activesupport" "nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0plj56sna4b6c71k03jsng6gq3r5yxhj7h26ndahc9caasgk869c";
+      sha256 = "1yckdlrn4v5d7bgl8mbffax16640pgg9ny693kqi4j7g17vx2q9l";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "1.11.0";
   };
-  omniauth-cas3 = {
-    dependencies = ["addressable" "nokogiri" "omniauth"];
+  html2haml = {
+    dependencies = ["erubis" "haml" "nokogiri" "ruby_parser"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13swm2hi2z63nvb2bps6g41kki8kr9b5c7014rk8259bxlpflrk7";
+      sha256 = "069zcy8lr010hn4qmbi8g5srdf69brk8nbgx4zcqcgbgsl4m8d4i";
       type = "gem";
     };
-    version = "1.1.3";
+    version = "2.0.0";
   };
-  omniauth-bitbucket = {
-    dependencies = ["multi_json" "omniauth" "omniauth-oauth"];
+  http-cookie = {
+    dependencies = ["domain_name"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lals2z1yixffrc97zh7zn1jpz9l6vpb3alcp13im42dq9q0g845";
+      sha256 = "0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw";
       type = "gem";
     };
-    version = "0.0.2";
+    version = "1.0.2";
   };
-  omniauth-azure-oauth2 = {
-    dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
+  "http_parser.rb" = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qay454zvyas8xfnfkycqpjkafaq5pw4gaji176cdfw0blhviz0s";
+      sha256 = "0fwf5d573j1sw52kz057dw0nx2wlivczmx6ybf6mk065n5g54kyn";
       type = "gem";
     };
-    version = "0.0.6";
+    version = "0.5.3";
   };
-  omniauth = {
+  httparty = {
+    dependencies = ["json" "multi_xml"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vsqxgzkcfi10b7k6vpv3shmlphbs8grc29hznwl9s0i16n8962p";
+      sha256 = "0c9gvg6dqw2h3qyaxhrq1pzm6r69zfcmfh038wyhisqsd39g9hr2";
       type = "gem";
     };
-    version = "1.3.1";
+    version = "0.13.7";
   };
-  octokit = {
+  httpclient = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vmknh0vz1g734q32kgpxv0qwz9ifmnw2jfpd2w5rrk6xwq1k7a8";
+      sha256 = "0k6bqsaqq6c824vrbfb5pkz8bpk565zikd10w85rzj2dy809ik6c";
       type = "gem";
     };
-    version = "3.8.0";
+    version = "2.7.0.1";
   };
-  oauth2 = {
-    dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"];
+  i18n = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zaa7qnvizv363apmxx9vxa8f6c6xy70z0jm0ydx38xvhxr8898r";
+      sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "0.7.0";
   };
-  oauth = {
+  ice_nine = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k5j09p3al3clpjl6lax62qmhy43f3j3g7i6f9l4dbs6r5vpv95w";
+      sha256 = "0i674zq0hl6rd0wcd12ni38linfja4k0y3mk5barjb4a6f7rcmkd";
       type = "gem";
     };
-    version = "0.4.7";
+    version = "0.11.1";
   };
-  nprogress-rails = {
+  inflecto = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ylq2208i95661ba0p1ng2i38z4978ddwiidvpb614amfdq5pqvn";
+      sha256 = "085l5axmvqw59mw5jg454a3m3gr67ckq9405a075isdsn7bm3sp4";
       type = "gem";
     };
-    version = "0.1.6.7";
+    version = "0.0.2";
   };
-  nokogiri = {
-    dependencies = ["mini_portile2"];
+  influxdb = {
+    dependencies = ["cause" "json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11sbmpy60ynak6s3794q32lc99hs448msjy8rkp84ay7mq7zqspv";
-      type = "gem";
-    };
-    version = "1.6.7.2";
-  };
-  newrelic_rpm = {
-    version = "3.14.1.311";
-    source = {
+      sha256 = "1vhg5nd88nwvfa76lqcczld916nljswwq6clsixrzi3js8ym9y1w";
       type = "gem";
-      remotes = ["https://rubygems.org"];
-      sha256 = "155aj845rxn8ikcs15gphr8svnsrki8wzps794ddbi90h0ypr319";
     };
+    version = "0.2.3";
   };
-  netrc = {
+  ipaddress = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y";
+      sha256 = "0sl0ldvhd6j0qbwhz18w24qy65mdj448b2vhgh2cwn7xrkksmv9l";
       type = "gem";
     };
-    version = "0.11.0";
+    version = "0.8.2";
   };
-  net-ssh = {
+  jquery-atwho-rails = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dzqkgwi9xm6mbfk1rkk17rzmz8m5xakqi21w1b97ybng6kkw0hf";
+      sha256 = "0g8239cddyi48i5n0hq2acg9k7n7jilhby9g36zd19mwqyia16w9";
       type = "gem";
     };
-    version = "3.0.1";
+    version = "1.3.2";
   };
-  net-ldap = {
+  jquery-rails = {
+    dependencies = ["rails-dom-testing" "railties" "thor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z1j0zklbbx3vi91zcd2v0fnkfgkvq3plisa6hxaid8sqndyak46";
+      sha256 = "028dv2n0r2r8qj1bqcbzmih0hwzh5km6cvscn2808v5gd44z48r1";
       type = "gem";
     };
-    version = "0.12.1";
+    version = "4.0.5";
   };
-  nested_form = {
+  jquery-scrollto-rails = {
+    dependencies = ["railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0f053j4zfagxyym28msxj56hrpvmyv4lzxy2c5c270f7xbbnii5i";
+      sha256 = "12ic0zxw60ryglm1qjq5ralqd6k4jawmjj7kqnp1nkqds2nvinvp";
       type = "gem";
     };
-    version = "0.3.2";
+    version = "1.4.3";
   };
-  mysql2 = {
+  jquery-turbolinks = {
+    dependencies = ["railties" "turbolinks"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0n075x14n9kziv0qdxqlzhf3j1abi1w6smpakfpsg4jbr8hnn5ip";
+      sha256 = "1d23mnl3lgamk9ziw4yyv2ixck6d8s8xp4f9pmwimk0by0jq7xhc";
       type = "gem";
     };
-    version = "0.3.20";
+    version = "2.1.0";
   };
-  multipart-post = {
+  jquery-ui-rails = {
+    dependencies = ["railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
+      sha256 = "1gfygrv4bjpjd2c377lw7xzk1b77rxjyy3w6wl4bq1gkqvyrkx77";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "5.0.5";
   };
-  multi_xml = {
+  json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i8r7dsz4z79z3j023l8swan7qpbgxbwwz11g38y2vjqjk16v4q8";
+      sha256 = "1nsby6ry8l9xg3yw4adlhk2pnc7i0h0rznvcss4vk3v74qg0k8lc";
       type = "gem";
     };
-    version = "0.5.5";
+    version = "1.8.3";
   };
-  multi_json = {
+  jwt = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rf3l4j3i11lybqzgq2jhszq7fh7gpmafjzd14ymp9cjfxqg596r";
+      sha256 = "0is8973si98rsry5igqdag2jb1knj6jhmfkr9r4mc5n0yvgr5n2q";
       type = "gem";
     };
-    version = "1.11.2";
+    version = "1.5.2";
   };
-  mousetrap-rails = {
+  kaminari = {
+    dependencies = ["actionpack" "activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00n13r5pwrk4vq018128vcfh021dw0fa2bk4pzsv0fslfm8ayp2m";
+      sha256 = "14vx3kgssl4lv2kn6grr5v2whsynx5rbl1j9aqiq8nc3d7j74l67";
       type = "gem";
     };
-    version = "1.4.6";
+    version = "0.16.3";
   };
-  minitest = {
+  kgio = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rxqfakp629mp3vwda7zpgb57lcns5znkskikbfd0kriwv8i1vq8";
+      sha256 = "1y6wl3vpp82rdv5g340zjgkmy6fny61wib7xylyg0d09k5f26118";
       type = "gem";
     };
-    version = "5.7.0";
+    version = "2.10.0";
   };
-  mini_portile2 = {
+  launchy = {
+    dependencies = ["addressable"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "056drbn5m4khdxly1asmiik14nyllswr6sh3wallvsywwdiryz8l";
+      sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.4.3";
   };
-  mimemagic = {
+  letter_opener = {
+    dependencies = ["launchy"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "101lq4bnjs7ywdcicpw3vbz9amg5gbb4va1626fybd2hawgdx8d9";
+      sha256 = "1kzbmc686hfh4jznyckq6g40kn14nhb71znsjjm0rc13nb3n0c5l";
       type = "gem";
     };
-    version = "0.3.0";
+    version = "1.1.2";
   };
-  mime-types = {
+  listen = {
+    dependencies = ["rb-fsevent" "rb-inotify"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8";
+      sha256 = "182wd2pkf690ll19lx6zbk01a3rqkk5lwsyin6kwydl7lqxj5z3g";
       type = "gem";
     };
-    version = "1.25.1";
+    version = "3.0.5";
   };
-  method_source = {
+  loofah = {
+    dependencies = ["nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2";
+      sha256 = "109ps521p0sr3kgc460d58b4pr1z4mqggan2jbsf0aajy9s6xis8";
       type = "gem";
     };
-    version = "0.8.2";
+    version = "2.0.3";
   };
-  mail_room = {
+  macaddr = {
+    dependencies = ["systemu"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jpybhgw9yi50g422qvnwadn5jnj563vh70qaml5cxzdqxbd7fj1";
+      sha256 = "1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b";
       type = "gem";
     };
-    version = "0.6.1";
+    version = "1.7.1";
   };
   mail = {
     dependencies = ["mime-types"];
@@ -1510,1508 +1504,1514 @@
     };
     version = "2.6.3";
   };
-  macaddr = {
-    dependencies = ["systemu"];
+  mail_room = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b";
+      sha256 = "0jpybhgw9yi50g422qvnwadn5jnj563vh70qaml5cxzdqxbd7fj1";
       type = "gem";
     };
-    version = "1.7.1";
+    version = "0.6.1";
   };
-  loofah = {
-    dependencies = ["nokogiri"];
+  method_source = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "109ps521p0sr3kgc460d58b4pr1z4mqggan2jbsf0aajy9s6xis8";
+      sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2";
       type = "gem";
     };
-    version = "2.0.3";
+    version = "0.8.2";
   };
-  listen = {
-    dependencies = ["rb-fsevent" "rb-inotify"];
+  mime-types = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "182wd2pkf690ll19lx6zbk01a3rqkk5lwsyin6kwydl7lqxj5z3g";
+      sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8";
       type = "gem";
     };
-    version = "3.0.5";
+    version = "1.25.1";
   };
-  letter_opener = {
-    dependencies = ["launchy"];
+  mimemagic = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kzbmc686hfh4jznyckq6g40kn14nhb71znsjjm0rc13nb3n0c5l";
+      sha256 = "101lq4bnjs7ywdcicpw3vbz9amg5gbb4va1626fybd2hawgdx8d9";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "0.3.0";
   };
-  launchy = {
-    dependencies = ["addressable"];
+  mini_portile2 = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
+      sha256 = "056drbn5m4khdxly1asmiik14nyllswr6sh3wallvsywwdiryz8l";
       type = "gem";
     };
-    version = "2.4.3";
+    version = "2.0.0";
   };
-  kgio = {
+  minitest = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y6wl3vpp82rdv5g340zjgkmy6fny61wib7xylyg0d09k5f26118";
+      sha256 = "0rxqfakp629mp3vwda7zpgb57lcns5znkskikbfd0kriwv8i1vq8";
       type = "gem";
     };
-    version = "2.10.0";
+    version = "5.7.0";
   };
-  kaminari = {
-    dependencies = ["actionpack" "activesupport"];
+  mousetrap-rails = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14vx3kgssl4lv2kn6grr5v2whsynx5rbl1j9aqiq8nc3d7j74l67";
+      sha256 = "00n13r5pwrk4vq018128vcfh021dw0fa2bk4pzsv0fslfm8ayp2m";
       type = "gem";
     };
-    version = "0.16.3";
+    version = "1.4.6";
   };
-  jwt = {
+  multi_json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0is8973si98rsry5igqdag2jb1knj6jhmfkr9r4mc5n0yvgr5n2q";
+      sha256 = "1rf3l4j3i11lybqzgq2jhszq7fh7gpmafjzd14ymp9cjfxqg596r";
       type = "gem";
     };
-    version = "1.5.2";
+    version = "1.11.2";
   };
-  json = {
+  multi_xml = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nsby6ry8l9xg3yw4adlhk2pnc7i0h0rznvcss4vk3v74qg0k8lc";
+      sha256 = "0i8r7dsz4z79z3j023l8swan7qpbgxbwwz11g38y2vjqjk16v4q8";
       type = "gem";
     };
-    version = "1.8.3";
+    version = "0.5.5";
   };
-  jquery-ui-rails = {
-    dependencies = ["railties"];
+  multipart-post = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gfygrv4bjpjd2c377lw7xzk1b77rxjyy3w6wl4bq1gkqvyrkx77";
+      sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
       type = "gem";
     };
-    version = "5.0.5";
+    version = "2.0.0";
   };
-  jquery-turbolinks = {
-    dependencies = ["railties" "turbolinks"];
+  mysql2 = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d23mnl3lgamk9ziw4yyv2ixck6d8s8xp4f9pmwimk0by0jq7xhc";
+      sha256 = "0n075x14n9kziv0qdxqlzhf3j1abi1w6smpakfpsg4jbr8hnn5ip";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "0.3.20";
   };
-  jquery-scrollto-rails = {
-    dependencies = ["railties"];
+  nested_form = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12ic0zxw60ryglm1qjq5ralqd6k4jawmjj7kqnp1nkqds2nvinvp";
+      sha256 = "0f053j4zfagxyym28msxj56hrpvmyv4lzxy2c5c270f7xbbnii5i";
       type = "gem";
     };
-    version = "1.4.3";
+    version = "0.3.2";
   };
-  jquery-rails = {
-    dependencies = ["rails-dom-testing" "railties" "thor"];
+  net-ldap = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "028dv2n0r2r8qj1bqcbzmih0hwzh5km6cvscn2808v5gd44z48r1";
+      sha256 = "0z1j0zklbbx3vi91zcd2v0fnkfgkvq3plisa6hxaid8sqndyak46";
       type = "gem";
     };
-    version = "4.0.5";
+    version = "0.12.1";
   };
-  jquery-atwho-rails = {
+  net-ssh = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g8239cddyi48i5n0hq2acg9k7n7jilhby9g36zd19mwqyia16w9";
+      sha256 = "1dzqkgwi9xm6mbfk1rkk17rzmz8m5xakqi21w1b97ybng6kkw0hf";
       type = "gem";
     };
-    version = "1.3.2";
+    version = "3.0.1";
   };
-  ipaddress = {
+  netrc = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sl0ldvhd6j0qbwhz18w24qy65mdj448b2vhgh2cwn7xrkksmv9l";
+      sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y";
       type = "gem";
     };
-    version = "0.8.2";
+    version = "0.11.0";
   };
-  influxdb = {
-    dependencies = ["cause" "json"];
+  newrelic_rpm = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vhg5nd88nwvfa76lqcczld916nljswwq6clsixrzi3js8ym9y1w";
+      sha256 = "155aj845rxn8ikcs15gphr8svnsrki8wzps794ddbi90h0ypr319";
       type = "gem";
     };
-    version = "0.2.3";
+    version = "3.14.1.311";
   };
-  inflecto = {
+  nokogiri = {
+    dependencies = ["mini_portile2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "085l5axmvqw59mw5jg454a3m3gr67ckq9405a075isdsn7bm3sp4";
+      sha256 = "11sbmpy60ynak6s3794q32lc99hs448msjy8rkp84ay7mq7zqspv";
       type = "gem";
     };
-    version = "0.0.2";
+    version = "1.6.7.2";
   };
-  ice_nine = {
+  nprogress-rails = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i674zq0hl6rd0wcd12ni38linfja4k0y3mk5barjb4a6f7rcmkd";
+      sha256 = "1ylq2208i95661ba0p1ng2i38z4978ddwiidvpb614amfdq5pqvn";
       type = "gem";
     };
-    version = "0.11.1";
+    version = "0.1.6.7";
   };
-  i18n = {
+  oauth = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
+      sha256 = "1k5j09p3al3clpjl6lax62qmhy43f3j3g7i6f9l4dbs6r5vpv95w";
       type = "gem";
     };
-    version = "0.7.0";
+    version = "0.4.7";
   };
-  httpclient = {
+  oauth2 = {
+    dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k6bqsaqq6c824vrbfb5pkz8bpk565zikd10w85rzj2dy809ik6c";
+      sha256 = "0zaa7qnvizv363apmxx9vxa8f6c6xy70z0jm0ydx38xvhxr8898r";
       type = "gem";
     };
-    version = "2.7.0.1";
+    version = "1.0.0";
   };
-  httparty = {
-    dependencies = ["json" "multi_xml"];
+  octokit = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c9gvg6dqw2h3qyaxhrq1pzm6r69zfcmfh038wyhisqsd39g9hr2";
+      sha256 = "0vmknh0vz1g734q32kgpxv0qwz9ifmnw2jfpd2w5rrk6xwq1k7a8";
       type = "gem";
     };
-    version = "0.13.7";
+    version = "3.8.0";
   };
-  "http_parser.rb" = {
+  omniauth = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fwf5d573j1sw52kz057dw0nx2wlivczmx6ybf6mk065n5g54kyn";
+      sha256 = "0vsqxgzkcfi10b7k6vpv3shmlphbs8grc29hznwl9s0i16n8962p";
       type = "gem";
     };
-    version = "0.5.3";
+    version = "1.3.1";
   };
-  http-cookie = {
-    dependencies = ["domain_name"];
+  omniauth-azure-oauth2 = {
+    dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cz2fdkngs3jc5w32a6xcl511hy03a7zdiy988jk1sf3bf5v3hdw";
+      sha256 = "0qay454zvyas8xfnfkycqpjkafaq5pw4gaji176cdfw0blhviz0s";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "0.0.6";
   };
-  html2haml = {
-    dependencies = ["erubis" "haml" "nokogiri" "ruby_parser"];
+  omniauth-bitbucket = {
+    dependencies = ["multi_json" "omniauth" "omniauth-oauth"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "069zcy8lr010hn4qmbi8g5srdf69brk8nbgx4zcqcgbgsl4m8d4i";
+      sha256 = "1lals2z1yixffrc97zh7zn1jpz9l6vpb3alcp13im42dq9q0g845";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "0.0.2";
   };
-  html-pipeline = {
-    dependencies = ["activesupport" "nokogiri"];
+  omniauth-cas3 = {
+    dependencies = ["addressable" "nokogiri" "omniauth"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yckdlrn4v5d7bgl8mbffax16640pgg9ny693kqi4j7g17vx2q9l";
+      sha256 = "13swm2hi2z63nvb2bps6g41kki8kr9b5c7014rk8259bxlpflrk7";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.1.3";
   };
-  hipchat = {
-    dependencies = ["httparty" "mimemagic"];
+  omniauth-facebook = {
+    dependencies = ["omniauth-oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hgy5jav479vbzzk53lazhpjj094dcsqw6w1d6zjn52p72bwq60k";
+      sha256 = "0plj56sna4b6c71k03jsng6gq3r5yxhj7h26ndahc9caasgk869c";
       type = "gem";
     };
-    version = "1.5.2";
+    version = "3.0.0";
   };
-  hike = {
+  omniauth-github = {
+    dependencies = ["omniauth" "omniauth-oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm";
+      sha256 = "1mbx3c8m1llhdxrqdciq8jh428bxj1nvf4yhziv2xqmqpjcqz617";
       type = "gem";
     };
-    version = "1.2.3";
+    version = "1.1.2";
   };
-  highline = {
+  omniauth-gitlab = {
+    dependencies = ["omniauth" "omniauth-oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nf5lgdn6ni2lpfdn4gk3gi47fmnca2bdirabbjbz1fk9w4p8lkr";
+      sha256 = "083yyc8612kq8ygd8y7s8lxg2d51jcsakbs4pa19aww67gcm72iz";
       type = "gem";
     };
-    version = "1.7.8";
+    version = "1.0.1";
   };
-  hashie = {
+  omniauth-google-oauth2 = {
+    dependencies = ["addressable" "jwt" "multi_json" "omniauth" "omniauth-oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1iv5hd0zcryprx9lbcm615r3afc0d6rhc27clywmhhgpx68k8899";
+      sha256 = "1lm4fk6ig9vwzv7398qd861325g678sfr1iv2mm60xswl69964fi";
       type = "gem";
     };
-    version = "3.4.3";
+    version = "0.2.10";
   };
-  haml-rails = {
-    dependencies = ["actionpack" "activesupport" "haml" "html2haml" "railties"];
+  omniauth-kerberos = {
+    dependencies = ["omniauth-multipassword" "timfel-krb5-auth"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hbfznkxab663hxp1v6gpsa7sv6w1fnw9r8b3flixwylnwh3c5dz";
+      sha256 = "05xsv76qjxcxzrvabaar2bchv7435y8l2j0wk4zgchh3yv85kiq7";
       type = "gem";
     };
-    version = "0.9.0";
+    version = "0.3.0";
   };
-  haml = {
-    dependencies = ["tilt"];
+  omniauth-multipassword = {
+    dependencies = ["omniauth"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mrzjgkygvfii66bbylj2j93na8i89998yi01fin3whwqbvx0m1p";
+      sha256 = "0qykp76hw80lkgb39hyzrv68hkbivc8cv0vbvrnycjh9fwfp1lv8";
       type = "gem";
     };
-    version = "4.0.7";
+    version = "0.4.2";
   };
-  grape-entity = {
-    dependencies = ["activesupport" "multi_json"];
+  omniauth-oauth = {
+    dependencies = ["oauth" "omniauth"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hxghs2p9ncvdwhp6dwr1a74g552c49dd0jzy0szp4pg2xjbgjk8";
+      sha256 = "1n5vk4by7hkyc09d9blrw2argry5awpw4gbw1l4n2s9b3j4qz037";
       type = "gem";
     };
-    version = "0.4.8";
+    version = "1.1.0";
   };
-  grape = {
-    dependencies = ["activesupport" "builder" "hashie" "multi_json" "multi_xml" "rack" "rack-accept" "rack-mount" "virtus"];
+  omniauth-oauth2 = {
+    dependencies = ["oauth2" "omniauth"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dxfal5jspxq612jjkqbd7xgp5dswdyllbbfq6fj2m7s21pismmh";
+      sha256 = "0mskwlw5ibx9mz7ywqji6mm56ikf7mglbnfc02qhg6ry527jsxdm";
       type = "gem";
     };
-    version = "0.13.0";
+    version = "1.3.1";
   };
-  gon = {
-    dependencies = ["actionpack" "json" "multi_json" "request_store"];
+  omniauth-saml = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f359cd9zsa4nrng35bij5skvjrj5ywn2dhmlg41b97vmza26bxr";
+      sha256 = "0c7pypskq9y6wbl7c8gnp48j256snph11br3csgwvy9whjfisx65";
       type = "gem";
     };
-    version = "6.0.1";
+    version = "1.4.2";
   };
-  gollum-lib = {
-    dependencies = ["github-markup" "gollum-grit_adapter" "nokogiri" "rouge" "sanitize" "stringex"];
+  omniauth-shibboleth = {
+    dependencies = ["omniauth"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01s8pgzhc3cgcmsy6hh79wrcbn5vbadniq2a7d4qw87kpq7mzfdm";
+      sha256 = "0a8pwy23aybxhn545357zdjy0hnpfgldwqk5snmz9kxingpq12jl";
       type = "gem";
     };
-    version = "4.1.0";
+    version = "1.2.1";
   };
-  gollum-grit_adapter = {
-    dependencies = ["gitlab-grit"];
+  omniauth-twitter = {
+    dependencies = ["json" "omniauth-oauth"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02c5qfq0s0kx2ifnpbnbgz6258fl7rchzzzc7vpx72shi8gbpac7";
+      sha256 = "1hqjpb1zx0pp3s12c83pkpk4kkx41f001jc5n8qz0h3wll0ld833";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.2.1";
   };
-  globalid = {
-    dependencies = ["activesupport"];
+  omniauth_crowd = {
+    dependencies = ["activesupport" "nokogiri" "omniauth"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "145xrpsfx1qqjy33r6qa588wb16dvdhxzj2aysh755vhg6hgm291";
+      sha256 = "12g5ck05h6kr9mnp870x8pkxsadg81ca70hg8n3k8xx007lfw2q7";
       type = "gem";
     };
-    version = "0.3.6";
+    version = "2.2.3";
   };
-  gitlab_omniauth-ldap = {
-    dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"];
+  org-ruby = {
+    dependencies = ["rubypants"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vbdyi57vvlrigyfhmqrnkw801x57fwa3gxvj1rj2bn9ig5186ri";
+      sha256 = "0x69s7aysfiwlcpd9hkvksfyld34d8kxr62adb59vjvh8hxfrjwk";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "0.9.12";
   };
-  gitlab_meta = {
+  orm_adapter = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14vahv7gblcypbvip845sg3lvawf3kij61mkxz5vyfcv23niqvp9";
+      sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda";
       type = "gem";
     };
-    version = "7.0";
+    version = "0.5.0";
   };
-  gitlab_git = {
+  paranoia = {
+    dependencies = ["activerecord"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0311dl4vh6h7k8xarmpr61fndrhbmfskzjzkkj1rr8321gn8znfv";
+      sha256 = "0z2smnnghjhcs4l5fkz9scs1kj0bvj2n8xmzcvw4rg9yprdnlxr0";
       type = "gem";
     };
-    version = "8.2.0";
+    version = "2.1.4";
   };
-  gitlab_emoji = {
+  parser = {
+    dependencies = ["ast"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dy746icdmyc548mb5xkavvkn37pk7vv3gznx0p6hff325pan8dj";
+      sha256 = "14db0gam24j04iprqz4m3hxygkb8h0plnbm0yk4k3lzq6j5wzcac";
       type = "gem";
     };
-    version = "0.3.1";
+    version = "2.2.3.0";
   };
-  gitlab-grit = {
-    dependencies = ["charlock_holmes" "diff-lcs" "mime-types" "posix-spawn"];
+  pg = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nv8shx7w7fww8lf5a2rbvf7bq173rllm381m6x7g1i0qqc68q1b";
+      sha256 = "07dv4ma9xd75xpsnnwwg1yrpwpji7ydy0q1d9dl0yfqbzpidrw32";
       type = "gem";
     };
-    version = "2.7.3";
+    version = "0.18.4";
   };
-  gitlab-flowdock-git-hook = {
-    dependencies = ["flowdock" "gitlab-grit" "multi_json"];
+  poltergeist = {
+    dependencies = ["capybara" "cliver" "multi_json" "websocket-driver"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1s3a10cdbh4xy732b92zcsm5zyc1lhi5v29d76j8mwbqmj11a2p8";
+      sha256 = "0ppm4isvbxm739508yjhvisq1iwp1q6h8dx4hkndj2krskavz4i9";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.8.1";
   };
-  github-markup = {
+  posix-spawn = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01r901wcgn0gs0n9h684gs5n90y1vaj9lxnx4z5ig611jwa43ivq";
+      sha256 = "052lnxbkvlnwfjw4qd7vn2xrlaaqiav6f5x5bcjin97bsrfq6cmr";
       type = "gem";
     };
-    version = "1.3.3";
+    version = "0.3.11";
   };
-  github-linguist = {
+  powerpack = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xxm2lbabkc1xmx2myv56a4fkw3wwg9n8w2bzwrl4s33kf6x62ag";
+      sha256 = "1fnn3fli5wkzyjl4ryh0k90316shqjfnhydmc7f8lqpi0q21va43";
       type = "gem";
     };
-    version = "4.7.5";
+    version = "0.1.1";
   };
-  gherkin-ruby = {
+  pry = {
+    dependencies = ["coderay" "method_source" "slop"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18ay7yiibf4sl9n94k7mbi4k5zj2igl4j71qcmkswv69znyx0sn1";
+      sha256 = "1x78rvp69ws37kwig18a8hr79qn36vh8g1fn75p485y3b3yiqszg";
       type = "gem";
     };
-    version = "0.3.2";
+    version = "0.10.3";
   };
-  get_process_mem = {
+  pry-rails = {
+    dependencies = ["pry"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "025f7v6bpbgsa2nr0hzv2riggj8qmzbwcyxfgjidpmwh5grh7j29";
+      sha256 = "0a2iinvabis2xmv0z7z7jmh7bbkkngxj2qixfdg5m6qj9x8k1kx6";
       type = "gem";
     };
-    version = "0.2.0";
+    version = "0.3.4";
   };
-  gemojione = {
+  pyu-ruby-sasl = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0av60lajn64z1csmkzfaf5wvpd3x48lcshiknkqr8m0zx3sg7w3h";
+      sha256 = "1rcpjiz9lrvyb3rd8k8qni0v4ps08psympffyldmmnrqayyad0sn";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "0.0.3.3";
   };
-  gemnasium-gitlab-service = {
-    dependencies = ["rugged"];
+  quiet_assets = {
+    dependencies = ["railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qv7fkahmqkah3770ycrxd0x2ais4z41hb43a0r8q8wcdklns3m3";
+      sha256 = "1q4azw4j1xsgd7qwcig110mfdn1fm0y34y87zw9j9v187xr401b1";
       type = "gem";
     };
-    version = "0.2.6";
+    version = "1.0.3";
   };
-  fuubar = {
-    dependencies = ["rspec" "ruby-progressbar"];
+  rack = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xwqs24y8s73aayh39si17kccsmr0bjgmi6jrjyfp7gkjb6iyhpv";
+      sha256 = "09bs295yq6csjnkzj7ncj50i6chfxrhmzg1pk6p0vd2lb9ac8pj5";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "1.6.4";
   };
-  formatador = {
+  rack-accept = {
+    dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0";
+      sha256 = "18jdipx17b4ki33cfqvliapd31sbfvs4mv727awynr6v95a7n936";
       type = "gem";
     };
-    version = "0.2.5";
+    version = "0.4.5";
   };
-  foreman = {
-    dependencies = ["thor"];
+  rack-attack = {
+    dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1caz8mi7gq1hs4l1flcyyw1iw1bdvdbhppsvy12akr01k3s17xaq";
+      sha256 = "0ihic8ar2ddfv15p5gia8nqzsl3y7iayg5v4rmg72jlvikgsabls";
       type = "gem";
     };
-    version = "0.78.0";
+    version = "4.3.1";
   };
-  font-awesome-rails = {
-    dependencies = ["railties"];
+  rack-cors = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09x1bg98sp2v1lsg9h2bal915q811xq84h9d74p1f3378ga63c1x";
+      sha256 = "1sz9d9gjmv2vjl3hddzk269hb1k215k8sp37gicphx82h3chk1kw";
       type = "gem";
     };
-    version = "4.5.0.0";
+    version = "0.4.0";
   };
-  fog-xml = {
-    dependencies = ["fog-core" "nokogiri"];
+  rack-mount = {
+    dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1576sbzza47z48p0k9h1wg3rhgcvcvdd1dfz3xx1cgahwr564fqa";
+      sha256 = "09a1qfaxxsll1kbgz7z0q0nr48sfmfm7akzaviis5bjpa5r00ld2";
       type = "gem";
     };
-    version = "0.1.2";
+    version = "0.8.3";
   };
-  fog-xenserver = {
-    dependencies = ["fog-core" "fog-xml"];
+  rack-oauth2 = {
+    dependencies = ["activesupport" "attr_required" "httpclient" "multi_json" "rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ngw8hh8ljk7wi0cp8n4b4jcy2acx0yqzjk7851m3mp0kji5dlgl";
+      sha256 = "1szfnb74p5s7k0glpmiv16rfl4wx9mnrr7riapgpbcx163zzkxad";
       type = "gem";
     };
-    version = "0.2.2";
+    version = "1.2.1";
   };
-  fog-voxel = {
-    dependencies = ["fog-core" "fog-xml"];
+  rack-protection = {
+    dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10skdnj59yf4jpvq769njjrvh2l0wzaa7liva8n78qq003mvmfgx";
+      sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r";
       type = "gem";
     };
-    version = "0.1.0";
+    version = "1.5.3";
   };
-  fog-vmfusion = {
-    dependencies = ["fission" "fog-core"];
+  rack-test = {
+    dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g0l0k9ylxk1h9pzqr6h2ba98fl47lpp3j19lqv4jxw0iw1rqxn4";
+      sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z";
       type = "gem";
     };
-    version = "0.1.0";
+    version = "0.6.3";
   };
-  fog-terremark = {
-    dependencies = ["fog-core" "fog-xml"];
+  rails = {
+    dependencies = ["actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01lfkh9jppj0iknlklmwyb7ym3bfhkq58m3absb6rf5a5mcwi3lf";
+      sha256 = "aa93c1b9eb8b535eee58280504e30237f88217699fe9bb016e458e5122eefa2e";
       type = "gem";
     };
-    version = "0.1.0";
+    version = "4.2.5.2";
   };
-  fog-storm_on_demand = {
-    dependencies = ["fog-core" "fog-json"];
+  rails-deprecated_sanitizer = {
+    dependencies = ["activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fif1x8ci095b2yyilf65n7x6iyvn448azrsnmwsdkriy8vxxv3y";
+      sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj";
       type = "gem";
     };
-    version = "0.1.1";
+    version = "1.0.3";
   };
-  fog-softlayer = {
-    dependencies = ["fog-core" "fog-json"];
+  rails-dom-testing = {
+    dependencies = ["activesupport" "nokogiri" "rails-deprecated_sanitizer"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zax2wws0q8pm787jnlxd2xlj23f2acz0s6jl5nzczyxjgll571r";
+      sha256 = "1v8jl6803mbqpxh4hn0szj081q1a3ap0nb8ni0qswi7z4la844v8";
+      type = "gem";
+    };
+    version = "1.0.7";
+  };
+  rails-html-sanitizer = {
+    dependencies = ["loofah"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "138fd86kv073zqfx0xifm646w6bgw2lr8snk16lknrrfrss8xnm7";
       type = "gem";
     };
     version = "1.0.3";
   };
-  fog-serverlove = {
-    dependencies = ["fog-core" "fog-json"];
+  railties = {
+    dependencies = ["actionpack" "activesupport" "rake" "thor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hxgmwzygrw25rbsy05i6nzsyr0xl7xj5j2sjpkb9n9wli5sagci";
+      sha256 = "cfff64cbc0e409341003c35fa2e576e6a8cd8259a9894d09f15c6123be73f146";
       type = "gem";
     };
-    version = "0.1.2";
+    version = "4.2.5.2";
   };
-  fog-sakuracloud = {
-    dependencies = ["fog-core" "fog-json"];
+  rainbow = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08krsn9sk5sx0aza812g31r169bd0zanb8pq5am3a64j6azarimd";
+      sha256 = "0dsnzfjiih2w8npsjab3yx1ssmmvmgjkbxny0i9yzrdy7whfw7b4";
       type = "gem";
     };
-    version = "1.7.5";
+    version = "2.0.0";
   };
-  fog-riakcs = {
-    dependencies = ["fog-core" "fog-json" "fog-xml"];
+  raindrops = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nbxc4dky3agfwrmgm1aqmi59p6vnvfnfbhhg7xpg4c2cf41whxm";
+      sha256 = "1hv0xhr762axywr937czi92fs0x3zk7k22vg6f4i7rr8d05sp560";
       type = "gem";
     };
-    version = "0.1.0";
+    version = "0.15.0";
   };
-  fog-radosgw = {
-    dependencies = ["fog-core" "fog-json" "fog-xml"];
+  rake = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nslgv8yp5qkiryj3zsm91gs7s6i626igj61kwxjjwk2yv6swyr6";
+      sha256 = "0jcabbgnjc788chx31sihc5pgbqnlc1c75wakmqlbjdm8jns2m9b";
       type = "gem";
     };
-    version = "0.0.5";
+    version = "10.5.0";
   };
-  fog-profitbricks = {
-    dependencies = ["fog-core" "fog-xml" "nokogiri"];
+  raphael-rails = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "154sqs2dcmvg21v4m3fj8f09z5i70sq8a485v6rdygsffs8xrycn";
+      sha256 = "0sjiaymvfn4al5dr1pza5i142byan0fxnj4rymziyql2bzvdm2bc";
       type = "gem";
     };
-    version = "0.0.5";
+    version = "2.1.2";
   };
-  fog-powerdns = {
-    dependencies = ["fog-core" "fog-json" "fog-xml"];
+  rb-fsevent = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08zavzwfkk344gz83phz4sy9nsjznsdjsmn1ifp6ja17bvydlhh7";
+      sha256 = "1hq57by28iv0ijz8pk9ynih0xdg7vnl1010xjcijfklrcv89a1j2";
       type = "gem";
     };
-    version = "0.1.1";
+    version = "0.9.6";
   };
-  fog-local = {
-    dependencies = ["fog-core"];
+  rb-inotify = {
+    dependencies = ["ffi"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i5hxwzmc2ag3z9nlligsaf679kp2pz39cd8n2s9cmxaamnlh2s3";
+      sha256 = "0kddx2ia0qylw3r52nhg83irkaclvrncgy2m1ywpbhlhsz1rymb9";
       type = "gem";
     };
-    version = "0.2.1";
+    version = "0.9.5";
   };
-  fog-json = {
-    dependencies = ["fog-core" "multi_json"];
+  rblineprof = {
+    dependencies = ["debugger-ruby_core_source"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0advkkdjajkym77r3c0bg2rlahl2akj0vl4p5r273k2qmi16n00r";
+      sha256 = "0m58kdjgncwf0h1qry3qk5h4bg8sj0idykqqijqcrr09mxfd9yc6";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "0.3.6";
   };
-  fog-google = {
-    dependencies = ["fog-core" "fog-json" "fog-xml"];
+  rdoc = {
+    dependencies = ["json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z4vmswpqwph04c0wqzrscns1d1wdm8kbxx457bv156mawzrhfj3";
+      sha256 = "1v9k4sp5yzj2bshngckdvivj6bszciskk1nd2r3wri2ygs7vgqm8";
       type = "gem";
     };
-    version = "0.1.0";
+    version = "3.12.2";
   };
-  fog-ecloud = {
-    dependencies = ["fog-core" "fog-xml"];
+  recaptcha = {
+    dependencies = ["json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18rb4qjad9xwwqvvpj8r2h0hi9svy71pm4d3fc28cdcnfarmdi06";
+      sha256 = "190qqklirmi31s6ih7png4h9xmx1p5h2n5fi45z90y8hsp5w1sh1";
       type = "gem";
     };
-    version = "0.3.0";
+    version = "1.0.2";
   };
-  fog-dynect = {
-    dependencies = ["fog-core" "fog-json" "fog-xml"];
+  redcarpet = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18lqmdkm22254z86jh3aa9v9vqk8bgbd3d1m0w7az3ij47ak7kch";
+      sha256 = "14i3wypp97bpk20679d1csy88q4hsgfqbnqw6mryl77m2g0d09pk";
       type = "gem";
     };
-    version = "0.0.2";
+    version = "3.3.3";
   };
-  fog-core = {
-    dependencies = ["builder" "excon" "formatador"];
+  RedCloth = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02z91r3f5a64hlalm6h39v0778yl2kk3qvva0zvplpp9hpwbwzhl";
+      sha256 = "06pahxyrckhgb7alsxwhhlx1ib2xsx33793finj01jk8i054bkxl";
       type = "gem";
     };
-    version = "1.35.0";
+    version = "4.2.9";
   };
-  fog-brightbox = {
-    dependencies = ["fog-core" "fog-json" "inflecto"];
+  redis = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0p7rbx587hb1d1am90dcr3zdp6y50c2zddh97yfgl62vji0pbkkd";
+      sha256 = "0255w9izzs04hw9wivn05yqiwi34w28ylxs0xvpmwc1vrh18fwcl";
       type = "gem";
     };
-    version = "0.10.1";
+    version = "3.2.2";
   };
-  fog-aws = {
-    dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"];
+  redis-actionpack = {
+    dependencies = ["actionpack" "redis-rack" "redis-store"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pzfahq8h3alfflb5dr8lm02q27x81vm96qn5zyfdlx86yy7bq96";
+      sha256 = "1jjl6dhhpdapdaywq5iqz7z36mwbw0cn0m30wcc5wcbv7xmiiygw";
       type = "gem";
     };
-    version = "0.8.1";
+    version = "4.0.1";
   };
-  fog-atmos = {
-    dependencies = ["fog-core" "fog-xml"];
+  redis-activesupport = {
+    dependencies = ["activesupport" "redis-store"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1aaxgnw9zy96gsh4h73kszypc32sx497s6bslvhfqh32q9d1y8c9";
+      sha256 = "10y3kybz21n2z11478sf0cp4xzclvxf0b428787brmgpc6i7p7zg";
       type = "gem";
     };
-    version = "0.1.0";
+    version = "4.1.5";
   };
-  fog-aliyun = {
-    dependencies = ["fog-core" "fog-json" "ipaddress" "xml-simple"];
+  redis-namespace = {
+    dependencies = ["redis"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i76g8sdskyfc0gcnd6n9i757s7dmwg3wf6spcr2xh8wzyxkm1pj";
+      sha256 = "0rp8gfkznfxqzxk9s976k71jnljkh0clkrhnp6vgx46s5yhj9g25";
       type = "gem";
     };
-    version = "0.1.0";
+    version = "1.5.2";
   };
-  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"];
+  redis-rack = {
+    dependencies = ["rack" "redis-store"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ml31jdycqdm8w7w3l9pbyrgbnmrrnhmkppa2x4bwi9as1n1jmwq";
+      sha256 = "1y1mxx8gn0krdrpwllv7fqsbvki1qjnb2dz8b4q9gwc326829gk8";
       type = "gem";
     };
-    version = "1.36.0";
+    version = "1.5.0";
   };
-  flowdock = {
-    dependencies = ["httparty" "multi_json"];
+  redis-rails = {
+    dependencies = ["redis-actionpack" "redis-activesupport" "redis-store"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04nrvg4gzgabf5mnnhccl8bwrkvn3y4pm7a1dqzqhpvfr4m5pafg";
+      sha256 = "0igww7hb58aq74mh50dli3zjg78b54y8nhd0h1h9vz4vgjd4q8m7";
       type = "gem";
     };
-    version = "0.7.1";
+    version = "4.0.0";
   };
-  flog = {
-    dependencies = ["ruby_parser" "sexp_processor"];
+  redis-store = {
+    dependencies = ["redis"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1asrcdj6gh5mxcimqak94jjyyi5cxnqn904lc8pmrljg1nv1bxpm";
+      sha256 = "0gf462p0wx4hn7m1m8ghs701n6xx0ijzm5cff9xfagd2s6va145m";
       type = "gem";
     };
-    version = "4.3.2";
+    version = "1.1.7";
   };
-  flay = {
-    dependencies = ["ruby_parser" "sexp_processor"];
+  request_store = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zcp9nmnfqixdcqa2dzwwjy5np4n2n16bj25gw7bbzbjp9hqzhn6";
+      sha256 = "01rxi2hw84y133z0r91jns4aaywd8d83wjq0xgb42iaicf0a90p9";
       type = "gem";
     };
-    version = "2.6.1";
+    version = "1.2.1";
   };
-  fission = {
-    dependencies = ["CFPropertyList"];
+  rerun = {
+    dependencies = ["listen"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09pmp1j1rr8r3pcmbn2na2ls7s1j9ijbxj99xi3a8r6v5xhjdjzh";
+      sha256 = "0av239bpmy55fdx4qaw9n71aapjy2myr51h5plzjxsyr0fdwn1xq";
       type = "gem";
     };
-    version = "0.5.0";
+    version = "0.11.0";
   };
-  ffi = {
+  responders = {
+    dependencies = ["railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m5mprppw0xcrv2mkim5zsk70v089ajzqiq5hpyb0xg96fcyzyxj";
+      sha256 = "1i00bxp8fa67rzl50wfiaw16w21j5d5gwjjkdiwr0sw9q6ixmpz1";
       type = "gem";
     };
-    version = "1.9.10";
+    version = "2.1.1";
   };
-  ffaker = {
+  rest-client = {
+    dependencies = ["http-cookie" "mime-types" "netrc"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19fnbbsw87asyb1hvkr870l2yldah2jcjb8074pgyrma5lynwmn0";
+      sha256 = "1m8z0c4yf6w47iqz6j2p7x1ip4qnnzvhdph9d5fgx081cvjly3p7";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "1.8.0";
   };
-  fastercsv = {
+  rinku = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1df3vfgw5wg0s405z0pj0rfcvnl9q6wak7ka8gn0xqg4cag1k66h";
+      sha256 = "1jh6nys332brph55i6x6cil6swm086kxjw34wq131nl6mwryqp7b";
       type = "gem";
     };
-    version = "1.5.5";
+    version = "1.7.3";
   };
-  faraday_middleware-multi_json = {
-    dependencies = ["faraday_middleware" "multi_json"];
+  rotp = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0651sxhzbq9xfq3hbpmrp0nbybxnm9ja3m97k386m4bqgamlvz1q";
+      sha256 = "1nzsc9hfxijnyzjbv728ln9dm80bc608chaihjdk63i2wi4m529g";
       type = "gem";
     };
-    version = "0.0.6";
+    version = "2.1.1";
   };
-  faraday_middleware = {
-    dependencies = ["faraday"];
+  rouge = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nxia26xzy8i56qfyz1bg8dg9yb26swpgci8n5jry8mh4bnx5r5h";
+      sha256 = "0wp8as9ypdy18kdj9h70kny1rdfq71mr8cj2bpahr9vxjjvjasqz";
       type = "gem";
     };
-    version = "0.10.0";
+    version = "1.10.1";
   };
-  faraday = {
-    dependencies = ["multipart-post"];
+  rqrcode = {
+    dependencies = ["chunky_png"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kplqkpn2s2yl3lxdf6h7sfldqvkbkpxwwxhyk7mdhjplb5faqh6";
+      sha256 = "188n1mvc7klrlw30bai16sdg4yannmy7cz0sg0nvm6f1kjx5qflb";
       type = "gem";
     };
-    version = "0.9.2";
+    version = "0.7.0";
   };
-  factory_girl_rails = {
-    dependencies = ["factory_girl" "railties"];
+  rqrcode-rails3 = {
+    dependencies = ["rqrcode"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jj0yl6mfildb4g79dwgc1q5pv2pa65k9b1ml43mi8mg62j8mrhz";
+      sha256 = "1i28rwmj24ssk91chn0g7qsnvn003y3s5a7jsrg3w4l5ckr841bg";
       type = "gem";
     };
-    version = "4.3.0";
+    version = "0.1.7";
   };
-  factory_girl = {
-    dependencies = ["activesupport"];
+  rspec = {
+    dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13z20a4b7z1c8vbz0qz5ranssdprldwvwlgjmn38x311sfjmp9dz";
+      sha256 = "1bn5zs71agc0zyns2r3c8myi5bxw3q7xnzp7f3v5b7hbil1qym4r";
       type = "gem";
     };
-    version = "4.3.0";
+    version = "3.3.0";
   };
-  expression_parser = {
+  rspec-core = {
+    dependencies = ["rspec-support"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1938z3wmmdabqxlh5d5c56xfg1jc6z15p7zjyhvk7364zwydnmib";
+      sha256 = "0xw5qi936j6nz9fixi2mwy03f406761cd72bzyvd61pr854d7hy1";
       type = "gem";
     };
-    version = "0.9.0";
+    version = "3.3.2";
   };
-  execjs = {
+  rspec-expectations = {
+    dependencies = ["diff-lcs" "rspec-support"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0grlxwiccbnflxs30r3h7g23xnps5knav1jyqkk3anvm8363ifjw";
+      sha256 = "1d0b5hpkxlr9f3xpsbhvl3irnk4smmycx2xnmc8qv3pqaa7mb7ah";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "3.3.1";
   };
-  excon = {
+  rspec-mocks = {
+    dependencies = ["diff-lcs" "rspec-support"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1shb4g3dhsfkywgjv6123yrvp2c8bvi8hqmq47iqa5lp72sn4b4w";
+      sha256 = "1lfbzscmpyixlbapxmhy2s69596vs1z00lv590l51hgdw70z92vg";
       type = "gem";
     };
-    version = "0.45.4";
+    version = "3.3.2";
   };
-  eventmachine = {
+  rspec-rails = {
+    dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1frvpk3p73xc64qkn0ymll3flvn4xcycq5yx8a43zd3gyzc1ifjp";
+      sha256 = "0m66n9p3a7d3fmrzkbh8312prb6dhrgmp53g1amck308ranasv2a";
       type = "gem";
     };
-    version = "1.0.8";
+    version = "3.3.3";
   };
-  escape_utils = {
+  rspec-support = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hb8nmrgmd9n5dhih86fp91sf26mmw14sdn5vswg5g20svrqxc7x";
+      sha256 = "1cyagig8slxjas8mbg5f8bl240b8zgr8mnjsvrznag1fwpkh4h27";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "3.3.0";
   };
-  erubis = {
+  rubocop = {
+    dependencies = ["astrolabe" "parser" "powerpack" "rainbow" "ruby-progressbar" "tins"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
+      sha256 = "1grqda2fdknm43zyagh8gcmnhjkypyfw98q92hmvprprwghkq2sg";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "0.35.1";
   };
-  equalizer = {
+  ruby-fogbugz = {
+    dependencies = ["crack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4";
+      sha256 = "1jj0gpkycbrivkh2q3429vj6mbgx6axxisg69slj3c4mgvzfgchm";
       type = "gem";
     };
-    version = "0.0.11";
+    version = "0.2.1";
   };
-  encryptor = {
+  ruby-progressbar = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04wqqda081h7hmhwjjx1yqxprxjk8s5jgv837xqv1bpxiv7f4v1y";
+      sha256 = "0hynaavnqzld17qdx9r7hfw00y16ybldwq730zrqfszjwgi59ivi";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "1.7.5";
   };
-  email_spec = {
-    dependencies = ["launchy" "mail"];
+  ruby-saml = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00p1cc69ncrgg7m45va43pszip8anx5735w1lsb7p5ygkyw8nnpv";
+      sha256 = "151jbak16y87dbj3ma2nc03rh37z7lixcwgaqahncq80rgnv45a8";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.1.1";
   };
-  email_reply_parser = {
+  ruby2ruby = {
+    dependencies = ["ruby_parser" "sexp_processor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k2p229mv7xn7q627zwmvhrcvba4b9m70pw2jfjm6iimg2vmf22r";
+      sha256 = "1kmc0503s9mqnjyypx51wsi6zz9zj550ch43rag23wpj4qd6i6pm";
       type = "gem";
     };
-    version = "0.5.8";
+    version = "2.2.0";
   };
-  dropzonejs-rails = {
-    dependencies = ["rails"];
+  ruby_parser = {
+    dependencies = ["sexp_processor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vqqxzv6qdqy47m2q28adnmccfvc17p2bmkkaqjvrczrhvkkha64";
+      sha256 = "1rip6075b4k5a7s8w2klwc3jaqx31h69k004ac5nhl8y0ja92qvz";
       type = "gem";
     };
-    version = "0.7.2";
+    version = "3.7.2";
   };
-  doorkeeper = {
-    dependencies = ["railties"];
+  rubyntlm = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wim84wkvx758cfb8q92w3hhvnfbwr990x1mmfv1ss1ivjz8fmm0";
+      sha256 = "04l8686hl0829x4acsnbz0licf8n6794p7shz8iyahin1jnqg3d7";
       type = "gem";
     };
-    version = "2.2.2";
+    version = "0.5.2";
   };
-  domain_name = {
-    dependencies = ["unf"];
+  rubypants = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16qvfrmcwlzz073aas55mpw2nhyhjcn96s524w0g1wlml242hjav";
+      sha256 = "1vpdkrc4c8qhrxph41wqwswl28q5h5h994gy4c1mlrckqzm3hzph";
       type = "gem";
     };
-    version = "0.5.25";
+    version = "0.2.0";
   };
-  docile = {
+  rufus-scheduler = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
+      sha256 = "04bmvvvri7ni7dvlq3gi1y553f6rp6bw2kmdfp9ny5bh3l7qayrh";
       type = "gem";
     };
-    version = "1.1.5";
+    version = "3.1.10";
   };
-  diffy = {
+  rugged = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0il0ri511g9rm88qbvncbzgwc6wk6265hmnf7grcczmrs1z49vl0";
+      sha256 = "0v0cvdw8cgy1hf5h3cx796zpxhbad8d5cm50nykyhwjc00q80zrr";
       type = "gem";
     };
-    version = "3.0.7";
+    version = "0.24.0b13";
   };
-  diff-lcs = {
+  safe_yaml = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
+      sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
       type = "gem";
     };
-    version = "1.2.5";
+    version = "1.0.4";
   };
-  devise-two-factor = {
-    dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"];
+  sanitize = {
+    dependencies = ["nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v2wva971ds48af47rj4ywavlmz7qzbmf1jpf1l3xn3mscz52hln";
+      sha256 = "0xsv6xqrlz91rd8wifjknadbl3z5h6qphmxy0hjb189qbdghggn3";
       type = "gem";
     };
-    version = "2.0.1";
+    version = "2.1.0";
   };
-  devise-async = {
-    dependencies = ["devise"];
+  sass = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11llg7ggzpmg4lb9gh4sx55spvp98sal5r803gjzamps9crfq6mm";
+      sha256 = "04rpdcp258arh2wgdk9shbqnzd6cbbbpi3wpi9a0wby8awgpxmyf";
       type = "gem";
     };
-    version = "0.9.0";
+    version = "3.4.20";
   };
-  devise = {
-    dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "thread_safe" "warden"];
+  sass-rails = {
+    dependencies = ["railties" "sass" "sprockets" "sprockets-rails" "tilt"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00h0xdl4a8pjpb0gbgy4w6q9j2mpczkmj23195zmjrg2b1gl8f2q";
+      sha256 = "1f6357vw944w2ayayqmz8ai9myl6xbnry06sx5b5ms4r9lny8hj8";
       type = "gem";
     };
-    version = "3.5.4";
+    version = "5.0.4";
   };
-  descendants_tracker = {
-    dependencies = ["thread_safe"];
+  sawyer = {
+    dependencies = ["addressable" "faraday"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79";
+      sha256 = "0fk43bzwn816qj1ksiicm2i1kmzv5675cmnvk57kmfmi4rfsyjpy";
       type = "gem";
     };
-    version = "0.0.4";
+    version = "0.6.0";
   };
-  default_value_for = {
-    dependencies = ["activerecord"];
+  sdoc = {
+    dependencies = ["json" "rdoc"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1z4lrba4y1c3y0rxw8321qbwsb3nr6c2igrpksfvz93yhc9m6xm0";
+      sha256 = "17l8qk0ld47z4h5avcnylvds8nc6dp25zc64w23z8li2hs341xf2";
       type = "gem";
     };
-    version = "3.0.1";
+    version = "0.3.20";
   };
-  debugger-ruby_core_source = {
+  seed-fu = {
+    dependencies = ["activerecord" "activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lp5dmm8a8dpwymv6r1y6yr24wxsj0gvgb2b8i7qq9rcv414snwd";
+      sha256 = "11xja82yxir1kwccrzng29h7w911i9j0xj2y7y949yqnw91v12vw";
       type = "gem";
     };
-    version = "1.3.8";
+    version = "2.3.5";
   };
-  debug_inspector = {
+  select2-rails = {
+    dependencies = ["thor"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "109761g00dbrw5q0dfnbqg8blfm699z4jj70l4zrgf9mzn7ii50m";
+      sha256 = "0ni2k74n73y3gv56gs37gkjlh912szjf6k9j483wz41m3xvlz7fj";
       type = "gem";
     };
-    version = "0.0.2";
+    version = "3.5.9.3";
   };
-  database_cleaner = {
+  sentry-raven = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0n5r7kvsmknk876v3scdphfnvllr9157fa5q7j5fczg8j5qm6kf0";
+      sha256 = "0iqnwfmf6rnpgrvl3c8gh2gkix91nhm21j5qf389g4mi2rkc0ky8";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "0.15.6";
   };
-  daemons = {
+  settingslogic = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b839hryy9sg7x3knsa1d6vfiyvn0mlsnhsb6an8zsalyrz1zgqg";
+      sha256 = "1ria5zcrk1nf0b9yia15mdpzw0dqr6wjpbj8dsdbbps81lfsj9ar";
       type = "gem";
     };
-    version = "1.2.3";
+    version = "2.0.9";
   };
-  d3_rails = {
-    dependencies = ["railties"];
+  sexp_processor = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12vxiiflnnkcxak2wmbajyf5wzmcv9wkl4drsp0am72azl8a6g9x";
+      sha256 = "0gxlcpg81wfjf5gpggf8h6l2dbq3ikgavbrr2yfw3m2vqy88yjg2";
       type = "gem";
     };
-    version = "3.5.11";
+    version = "4.6.0";
   };
-  creole = {
+  sham_rack = {
+    dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00rcscz16idp6dx0dk5yi5i0fz593i3r6anbn5bg2q07v3i025wm";
+      sha256 = "0zs6hpgg87x5jrykjxgfp2i7m5aja53s5kamdhxam16wki1hid3i";
       type = "gem";
     };
-    version = "0.5.0";
+    version = "1.3.6";
   };
-  crack = {
-    dependencies = ["safe_yaml"];
+  shoulda-matchers = {
+    dependencies = ["activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k";
+      sha256 = "0d3ryqcsk1n9y35bx5wxnqbgw4m8b3c79isazdjnnbg8crdp72d0";
       type = "gem";
     };
-    version = "0.4.3";
+    version = "2.8.0";
   };
-  coveralls = {
-    dependencies = ["json" "rest-client" "simplecov" "term-ansicolor" "thor" "tins"];
+  sidekiq = {
+    dependencies = ["concurrent-ruby" "connection_pool" "json" "redis"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03vnvcw1fdmkp3405blcxpsjf89jxd2061474a32fchsmv2das9y";
+      sha256 = "1x7jfc2va0x6fcfffdf0wdiyk4krjw8053jzwffa63wkqr5jvg3y";
       type = "gem";
     };
-    version = "0.8.9";
+    version = "4.0.1";
   };
-  connection_pool = {
+  sidekiq-cron = {
+    dependencies = ["redis-namespace" "rufus-scheduler" "sidekiq"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b2bb3k39ni5mzcnqlv9y4yjkbin20s7dkwzp0jw2jf1rmzcgrmy";
+      sha256 = "0xnbvh8kjv6954vsiwfcpp7bn8sgpwvnyapnq7b94w8h7kj3ykqy";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "0.4.0";
   };
-  concurrent-ruby = {
+  simple_oauth = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qqdgcfkzv90nznrpsvg3cgg5xiqz4c8hnv7va5gm4fp4lf4k85v";
+      sha256 = "0bb06p88xsdw4fxll1ikv5i5k58sl6y323ss0wp1hqjm3xw1jgvj";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "0.1.9";
   };
-  colorize = {
+  simplecov = {
+    dependencies = ["docile" "json" "simplecov-html"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16bsjcqb6pg3k94dh1l5g3hhx5g2g4g8rlr76dnc78yyzjjrbayn";
+      sha256 = "1q2iq2vgrdvvla5y907gkmqx6ry2qvnvc7a90hlcbwgp1w0sv6z4";
       type = "gem";
     };
-    version = "0.7.7";
+    version = "0.10.0";
   };
-  coffee-script-source = {
+  simplecov-html = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k4fg39rrkl3bpgchfj94fbl9s4ysaz16w8dkqncf2vyf79l3qz0";
+      sha256 = "1qni8g0xxglkx25w54qcfbi4wjkpvmb28cb7rj5zk3iqynjcdrqf";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "0.10.0";
   };
-  coffee-script = {
-    dependencies = ["coffee-script-source" "execjs"];
+  sinatra = {
+    dependencies = ["rack" "rack-protection" "tilt"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2";
+      sha256 = "1hhmwqc81ram7lfwwziv0z70jh92sj1m7h7s9fr0cn2xq8mmn8l7";
       type = "gem";
     };
-    version = "2.4.1";
+    version = "1.4.6";
   };
-  coffee-rails = {
-    dependencies = ["coffee-script" "railties"];
+  six = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0p3zhs44gsy1p90nmghihzfyl7bsk8kv6j3q7rj3bn74wg8w7nqs";
+      sha256 = "1bhapiyjh5r5qjpclfw8i65plvy6k2q4azr5xir63xqglr53viw3";
       type = "gem";
     };
-    version = "4.1.0";
+    version = "0.2.0";
   };
-  coercible = {
-    dependencies = ["descendants_tracker"];
+  slack-notifier = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p5azydlsz0nkxmcq0i1gzmcfq02lgxc4as7wmf47j1c6ljav0ah";
+      sha256 = "08z6fv186yw1nrpl6zwp3lwqksin145aa1jv6jf00bnv3sicliiz";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.2.1";
   };
-  coderay = {
+  slim = {
+    dependencies = ["temple" "tilt"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s";
+      sha256 = "1szs71hh0msm5gj6qbcxw44m3hqnwybx4yh02scwixnwg576058k";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "3.0.6";
   };
-  cliver = {
+  slop = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "096f4rj7virwvqxhkavy0v55rax10r4jqf8cymbvn4n631948xc7";
+      sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n";
       type = "gem";
     };
-    version = "0.3.2";
+    version = "3.6.0";
   };
-  chunky_png = {
+  spinach = {
+    dependencies = ["colorize" "gherkin-ruby" "json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vf0axgrm95bs3y0x5gdb76xawfh210yxplj7jbwr6z7n88i1axn";
+      sha256 = "0phfjs4iw2iqxdaljzwk6qxmi2x86pl3hirmpgw2pgfx76wfx688";
       type = "gem";
     };
-    version = "1.3.5";
+    version = "0.8.10";
   };
-  charlock_holmes = {
+  spinach-rails = {
+    dependencies = ["capybara" "railties" "spinach"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jsl6k27wjmssxbwv9wpf7hgp9r0nvizcf6qpjnr7qs2nia53lf7";
+      sha256 = "1nfacfylkncfgi59g2wga6m4nzdcjqb8s50cax4nbx362ap4bl70";
       type = "gem";
     };
-    version = "0.7.3";
+    version = "0.2.1";
   };
-  cause = {
+  spring = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0digirxqlwdg79mkbn70yc7i9i1qnclm2wjbrc47kqv6236bpj00";
+      sha256 = "0xvz2x6nvza5i53p7mddnf11j2wshqmbaphi6ngd6nar8v35y0k1";
       type = "gem";
     };
-    version = "0.1";
+    version = "1.3.6";
   };
-  carrierwave = {
-    dependencies = ["activemodel" "activesupport" "json"];
+  spring-commands-rspec = {
+    dependencies = ["spring"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b1av1ancby6brhmypl5k8xwrasd8bd3kqp9ri8kbq7z8nj6k445";
+      sha256 = "0b0svpq3md1pjz5drpa5pxwg8nk48wrshq8lckim4x3nli7ya0k2";
       type = "gem";
     };
-    version = "0.9.0";
+    version = "1.0.4";
   };
-  capybara-screenshot = {
-    dependencies = ["capybara" "launchy"];
+  spring-commands-spinach = {
+    dependencies = ["spring"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17v1wihr3aqrxhrwswkdpdklj1xsfcaksblh1y8hixvm9bqfyz3y";
+      sha256 = "138jardqyj96wz68njdgy55qjbpl2d0g8bxbkz97ndaz3c2bykv9";
       type = "gem";
     };
-    version = "1.0.11";
+    version = "1.0.0";
   };
-  capybara = {
-    dependencies = ["mime-types" "nokogiri" "rack" "rack-test" "xpath"];
+  spring-commands-teaspoon = {
+    dependencies = ["spring"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "114k4xi4nfbp3jfbxgwa3fksbwsyibx74gbdqpcgg3dxpmzkaa4f";
+      sha256 = "1g7n4m2s9d0frh7y1xibzpphqajfnx4fvgfc66nh545dd91w2nqz";
       type = "gem";
     };
-    version = "2.4.4";
+    version = "0.0.2";
   };
-  cal-heatmap-rails = {
+  sprockets = {
+    dependencies = ["hike" "multi_json" "rack" "tilt"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lrmcyj3iixkprqi9fb9vcn97wpp779sl5hxxgx57r3rb7l4d20w";
+      sha256 = "15818683yz27w4hgywccf27n91azy9a4nmb5qkklzb08k8jw9gp3";
       type = "gem";
     };
-    version = "3.5.1";
+    version = "2.12.4";
   };
-  byebug = {
+  sprockets-rails = {
+    dependencies = ["actionpack" "activesupport" "sprockets"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yx89b7vh5mbvxyi8n7zl25ia1bqdj71995m4daj6d41rnkmrpnc";
+      sha256 = "1vsl6ryxdjpp97nl4ghhk1v6p50zh3sx9qv81bhmlffc234r91wn";
       type = "gem";
     };
-    version = "8.2.1";
+    version = "2.3.3";
   };
-  bundler-audit = {
-    dependencies = ["thor"];
+  state_machines = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0msv3k2277y7al5lbnw7q9lmb5fnrscpkmsb36wpn189pdq0akfv";
+      sha256 = "1xg84kdglz0k1pshf2q604zybjpribzcz2b651sc1j27kd86w787";
       type = "gem";
     };
     version = "0.4.0";
   };
-  bullet = {
-    dependencies = ["activesupport" "uniform_notifier"];
+  state_machines-activemodel = {
+    dependencies = ["activemodel" "state_machines"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1h3iaflcz5a1xr32bdb8sk4nx06yhh5d8y7w294w49xigfv4hzj3";
+      sha256 = "1bshcm53v2vfpapvhws1h0dq1h4f3p6bvpdkjpydb52a3m0w2z0y";
       type = "gem";
     };
-    version = "4.14.10";
+    version = "0.3.0";
   };
-  builder = {
+  state_machines-activerecord = {
+    dependencies = ["activerecord" "state_machines-activemodel"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2";
+      sha256 = "10dplkn4cm49xby8s0sn7wxww4hnxi4dgikfsmhp1rbsa24d76vx";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "0.3.0";
   };
-  browser = {
+  stringex = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01bkb64w2ld2q5r3chc4f6spbjrmginyg8wlzg130zmx2z4jia2h";
+      sha256 = "150adm7rfh6r9b5ra6vk75mswf9m3wwyslcf8f235a08m29fxa17";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "2.5.2";
   };
-  brakeman = {
-    dependencies = ["erubis" "fastercsv" "haml" "highline" "multi_json" "ruby2ruby" "ruby_parser" "safe_yaml" "sass" "slim" "terminal-table"];
+  systemu = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15v13yizpvp1rm86raqggmsmm51v6p8fqw3pfgi6xpvx1ba06cfm";
+      sha256 = "0gmkbakhfci5wnmbfx5i54f25j9zsvbw858yg3jjhfs5n4ad1xq1";
       type = "gem";
     };
-    version = "3.1.4";
+    version = "2.6.5";
   };
-  bootstrap-sass = {
-    dependencies = ["autoprefixer-rails" "sass"];
+  task_list = {
+    dependencies = ["html-pipeline"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12hhw42hk9clwfj6yz5v0c5p35wrn5yjnji7bnzsfs99vi2q00ld";
+      sha256 = "1iv1fizb04463c4mp4gxd8v0414fhvmiwvwvjby5b9qq79d8zwab";
       type = "gem";
     };
-    version = "3.3.6";
+    version = "1.0.2";
   };
-  binding_of_caller = {
-    dependencies = ["debug_inspector"];
+  teaspoon = {
+    dependencies = ["railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15jg6dkaq2nzcd602d7ppqbdxw3aji961942w93crs6qw4n6h9yk";
+      sha256 = "0cprz18vgf0jgcggcxf4pwx8jcwbiyj1p0dnck5aavlvaxaic58s";
       type = "gem";
     };
-    version = "0.7.2";
+    version = "1.0.2";
   };
-  better_errors = {
-    dependencies = ["coderay" "erubis"];
+  teaspoon-jasmine = {
+    dependencies = ["teaspoon"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0v0q8bdkqqlcsfqbk4wvc3qnz8an44mgz720v5f11a4nr413mjgf";
+      sha256 = "00wygrv1jm4aj15p1ab9d5fdrj6y83kv26xgp52mx4lp78h2ms9q";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "2.2.0";
   };
-  benchmark-ips = {
+  temple = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bh681m54qdsdyvpvflj1wpnj3ybspbpjkr4cnlrl4nk4yikli0j";
+      sha256 = "0ysraljv7lkb04z5vdyrkijab7j1jzj1mgz4bj82744dp7d0rhb0";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "0.7.6";
   };
-  bcrypt = {
+  term-ansicolor = {
+    dependencies = ["tins"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15cf7zzlj9b0xcx12jf8fmnpc8g1b0yhxal1yr5p7ny3mrz5pll6";
+      sha256 = "0ydbbyjmk5p7fsi55ffnkq79jnfqx65c3nj8d9rpgl6sw85ahyys";
       type = "gem";
     };
-    version = "3.1.10";
+    version = "1.3.2";
   };
-  babosa = {
+  terminal-table = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05rgxg4pz4bc4xk34w5grv0yp1j94wf571w84lf3xgqcbs42ip2f";
+      sha256 = "1s6qyj9ir1agbbi32li9c0c34dcl0klyxqif6mxy0dbvq7kqfp8f";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "1.5.2";
   };
-  axiom-types = {
-    dependencies = ["descendants_tracker" "ice_nine" "thread_safe"];
+  test_after_commit = {
+    dependencies = ["activerecord"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10q3k04pll041mkgy0m5fn2b1lazm6ly1drdbcczl5p57lzi3zy1";
+      sha256 = "1fzg8qan6f0n0ynr594bld2k0rwwxj99yzhiga2f3pkj9ina1abb";
       type = "gem";
     };
-    version = "0.1.1";
+    version = "0.4.2";
   };
-  awesome_print = {
+  thin = {
+    dependencies = ["daemons" "eventmachine" "rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k85hckprq0s9pakgadf42k1d5s07q23m3y6cs977i6xmwdivyzr";
+      sha256 = "1pyc602sa8fqwjyssn9yvf3fqrr14jk7hj9hsjlan1mq4zvim1lf";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.6.4";
   };
-  autoprefixer-rails = {
-    dependencies = ["execjs" "json"];
+  thor = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m1w42ncz0p48r5hbyglayxkzrnplw18r99dc1ia2cb3nizkwllx";
+      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
       type = "gem";
     };
-    version = "6.2.3";
+    version = "0.19.1";
   };
-  attr_required = {
+  thread_safe = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pawa2i7gw9ppj6fq6y288da1ncjpzsmc6kx7z63mjjvypa5q3dc";
+      sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "0.3.5";
   };
-  attr_encrypted = {
-    dependencies = ["encryptor"];
+  tilt = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hm2844qm37kflqq5v0x2irwasbhcblhp40qk10m3wlkj4m9wp8p";
+      sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir";
       type = "gem";
     };
-    version = "1.3.4";
+    version = "1.4.1";
   };
-  astrolabe = {
-    dependencies = ["parser"];
+  timfel-krb5-auth = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ybbmjxaf529vvhrj4y8d4jpf87f3hgczydzywyg1d04gggjx7l7";
+      sha256 = "105vajc0jkqgcx1wbp0ad262sdry4l1irk7jpaawv8vzfjfqqf5b";
       type = "gem";
     };
-    version = "1.3.1";
+    version = "0.8.3";
   };
-  ast = {
+  tinder = {
+    dependencies = ["eventmachine" "faraday" "faraday_middleware" "hashie" "json" "mime-types" "multi_json" "twitter-stream"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "102bywfxrv0w3n4s6lg25d7xxshd344sc7ijslqmganj5bany1pk";
+      sha256 = "1kwj0wd540wb2ws86d3jdva175dx00w2j8lyrvbb6qli3g27byd7";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "1.10.1";
   };
-  asciidoctor = {
+  tins = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0q9yhan2mkk1lh15zcfd9g2fn6faix9yrf5skg23dp1y77jv7vm0";
+      sha256 = "02qarvy17nbwvslfgqam8y6y7479cwmb1a6di9z18hzka4cf90hz";
       type = "gem";
     };
-    version = "1.5.3";
+    version = "1.6.0";
   };
-  asana = {
-    dependencies = ["faraday" "faraday_middleware" "faraday_middleware-multi_json" "oauth2"];
+  turbolinks = {
+    dependencies = ["coffee-rails"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1560p13g57pl4xqkmhwn1vpqhm7mw9fwmmswk38k3i2r7g0b5y9z";
+      sha256 = "1ddrx25vvvqxlz4h59lrmjhc2bfwxf4bpicvyhgbpjd48ckj81jn";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "2.5.3";
   };
-  arel = {
+  twitter-stream = {
+    dependencies = ["eventmachine" "http_parser.rb" "simple_oauth"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk";
+      sha256 = "0is81g3xvnjk64sqiaqlh2ziwfryzwvk1yvaniryg0zhppgsyriq";
       type = "gem";
     };
-    version = "6.0.3";
+    version = "0.1.16";
   };
-  annotate = {
-    dependencies = ["activerecord" "rake"];
+  tzinfo = {
+    dependencies = ["thread_safe"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wdw9phsv2dndgid3pd8h0hl4zycwy11jc9iz6prwza0xax0i7hg";
+      sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
       type = "gem";
     };
-    version = "2.6.10";
+    version = "1.2.2";
   };
-  allocations = {
+  uglifier = {
+    dependencies = ["execjs" "json"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0iynf7gkbnbr5mgl2wgbgvxmjdiawh7ywwbnyjm94bj3pkybzgkc";
+      sha256 = "0mzs64z3m1b98rh6ssxpqfz9sc87f6ml6906b0m57vydzfgrh1cz";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "2.7.2";
   };
-  akismet = {
+  underscore-rails = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hqpn25iyypkwkrqaibjm5nss5jmlkrddhia7frmz94prvyjr02w";
+      sha256 = "0iyspb7s49wpi9cc314gvlkyn45iyfivzxhdw0kql1zrgllhlzfk";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "1.8.3";
   };
-  after_commit_queue = {
-    dependencies = ["activerecord"];
+  unf = {
+    dependencies = ["unf_ext"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jrhvj4335dsrj0xndbf7a7m2inbwbx1knc0bwgvmkk1w47l43s0";
+      sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "0.1.4";
   };
-  addressable = {
+  unf_ext = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1533axm85gpz267km9gnfarf9c78g2scrysd6b8yw33vmhkz2km6";
+      sha256 = "0ly2ms6c3irmbr1575ldyh52bz2v0lzzr2gagf0p526k12ld2n5b";
       type = "gem";
     };
-    version = "2.3.8";
+    version = "0.0.7.1";
   };
-  acts-as-taggable-on = {
-    dependencies = ["activerecord"];
+  unicorn = {
+    dependencies = ["kgio" "rack" "raindrops"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bz0z8dlp3fjzah9y9b6rr9mkidsav9l4hdm51fnq1gd05yv3pr7";
+      sha256 = "1kpg2vikx2hxdyrl45bqcr89a0w59hfw7yn7xh87bmlczi34xds4";
       type = "gem";
     };
-    version = "3.5.0";
+    version = "4.8.3";
   };
-  activesupport = {
-    dependencies = ["i18n" "json" "minitest" "thread_safe" "tzinfo"];
+  unicorn-worker-killer = {
+    dependencies = ["get_process_mem" "unicorn"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "80ad345adf7e2b72c5d90753c0df91eacc34f4de02b34cfbf60bcf6c83483031";
+      sha256 = "0rrdxpwdsapx47axjin8ymxb4f685qlpx8a26bql4ay1559c3gva";
       type = "gem";
     };
-    version = "4.2.5.2";
+    version = "0.4.4";
   };
-  activerecord-session_store = {
-    dependencies = ["actionpack" "activerecord" "railties"];
+  uniform_notifier = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rp5q0q5i5syfgw7qpiq3a42x13p7myyv1c5hmnczpdlh57axs3p";
+      sha256 = "009z60qx01am7klmrca8pcladrynljra3a9smifn9f81r4dc7q63";
       type = "gem";
     };
-    version = "0.1.2";
+    version = "1.9.0";
   };
-  activerecord-nulldb-adapter = {
+  uuid = {
+    dependencies = ["macaddr"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ym3paxp5lqr2kr4hkqj6xxqvgl57fv8jqhvgjfxb9lk7k5jlfmp";
+      sha256 = "0gr2mxg27l380wpiy66mgv9wq02myj6m4gmp6c4g1vsbzkh0213v";
       type = "gem";
     };
-    version = "0.3.2";
+    version = "2.3.8";
   };
-  activerecord-deprecated_finders = {
+  version_sorter = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03xplckz7v3nm6inqkwdd44h6gpbpql0v02jc1rz46a38rd6cj6m";
+      sha256 = "1lad9c43w2xfzmva57ia6glpmhyivyk1m79jli42canshvan5v6y";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "2.0.0";
   };
-  activerecord = {
-    dependencies = ["activemodel" "activesupport" "arel"];
+  virtus = {
+    dependencies = ["axiom-types" "coercible" "descendants_tracker" "equalizer"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "c2b1b6a4c6b8542c2464b457dce4cac4915efcbd3d5acfba57102e58474c33f2";
+      sha256 = "06iphwi3c4f7y9i2rvhvaizfswqbaflilziz4dxqngrdysgkn1fk";
       type = "gem";
     };
-    version = "4.2.5.2";
+    version = "1.0.5";
   };
-  activemodel = {
-    dependencies = ["activesupport" "builder"];
+  warden = {
+    dependencies = ["rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09ce967be3086b34ae9fcbd919e714b2bdf72b8ab6e89b64aa74627267d93962";
+      sha256 = "1iyxw1ms3930dh7vcrfyi4ifpdbkfsr8k7fzjryva0r7k3c71gb7";
       type = "gem";
     };
-    version = "4.2.5.2";
+    version = "1.2.4";
   };
-  activejob = {
-    dependencies = ["activesupport" "globalid"];
+  web-console = {
+    dependencies = ["activemodel" "binding_of_caller" "railties" "sprockets-rails"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "cecb9bbc55292dee064ca479990c6e50fa3e2273aac6722ce058d18c22383026";
+      sha256 = "13rwps8m76j45iqhggm810j78i8bg4nqzgi8k7amxplik2zm5blf";
       type = "gem";
     };
-    version = "4.2.5.2";
+    version = "2.2.1";
   };
-  actionview = {
-    dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"];
+  webmock = {
+    dependencies = ["addressable" "crack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "e8ce01cf6cc822ec023a15a856a0fae0e078ebb232b95b722c23af4117d2d635";
+      sha256 = "1p7hqdxk5359xwp59pcx841fhbnqx01ra98rnwhdyz61nrc6piv3";
       type = "gem";
     };
-    version = "4.2.5.2";
+    version = "1.21.0";
   };
-  actionpack = {
-    dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
+  websocket-driver = {
+    dependencies = ["websocket-extensions"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "a22e1818f06b707433c9a76867932929751b5d57edbeacc258635a7b23da12cf";
+      sha256 = "1v39w1ig6ps8g55xhz6x1w53apl17ii6kpy0jg9249akgpdvb0k9";
       type = "gem";
     };
-    version = "4.2.5.2";
+    version = "0.6.3";
   };
-  actionmailer = {
-    dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
+  websocket-extensions = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "8cee5f2f1e58c8ada17cca696377443c0cbc9675df2b7eef97a04318876484b5";
+      sha256 = "07qnsafl6203a2zclxl20hy4jq11c471cgvd0bj5r9fx1qqw06br";
       type = "gem";
     };
-    version = "4.2.5.2";
+    version = "0.1.2";
   };
-  ace-rails-ap = {
+  wikicloth = {
+    dependencies = ["builder" "expression_parser" "rinku"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "082n12rkd9j7d89030nhmi4fx1gqaf13knps6cknsyvwix7fryvv";
+      sha256 = "1jp6c2yzyqbap8jdiw8yz6l08sradky1llhyhmrg934l1b5akj3s";
       type = "gem";
     };
-    version = "2.0.1";
+    version = "0.8.1";
   };
-  RedCloth = {
+  xml-simple = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06pahxyrckhgb7alsxwhhlx1ib2xsx33793finj01jk8i054bkxl";
+      sha256 = "0xlqplda3fix5pcykzsyzwgnbamb3qrqkgbrhhfz2a2fxhrkvhw8";
       type = "gem";
     };
-    version = "4.2.9";
+    version = "1.1.5";
   };
-  CFPropertyList = {
+  xpath = {
+    dependencies = ["nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mjb46368z4hiax3fcsgxk14fxrhwnvcmakc2f5sx8nz0wvvkwg2";
+      sha256 = "04kcr127l34p7221z13blyl0dvh0bmxwx326j72idayri36a394w";
       type = "gem";
     };
-    version = "2.3.2";
+    version = "2.0.0";
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/build-support/grsecurity/default.nix b/pkgs/build-support/grsecurity/default.nix
index 0ba27036667..d8042d65273 100644
--- a/pkgs/build-support/grsecurity/default.nix
+++ b/pkgs/build-support/grsecurity/default.nix
@@ -14,6 +14,7 @@ let
       restrictProcWithGroup = true;
       unrestrictProcGid = 121; # Ugh, an awful hack. See grsecurity NixOS gid
       disableRBAC = false;
+      disableSimultConnect = false;
       verboseVersion = false;
       kernelExtraConfig = "";
     } // grsecOptions.config;
@@ -107,6 +108,7 @@ let
         GRKERNSEC_CHROOT_CHMOD ${boolToKernOpt cfg.config.denyChrootChmod}
         GRKERNSEC_DENYUSB ${boolToKernOpt cfg.config.denyUSB}
         GRKERNSEC_NO_RBAC ${boolToKernOpt cfg.config.disableRBAC}
+        GRKERNSEC_NO_SIMULT_CONNECT ${boolToKernOpt cfg.config.disableSimultConnect}
 
         ${cfg.config.kernelExtraConfig}
       '';
diff --git a/pkgs/build-support/setup-hooks/win-dll-link.sh b/pkgs/build-support/setup-hooks/win-dll-link.sh
new file mode 100644
index 00000000000..be63f69ca10
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/win-dll-link.sh
@@ -0,0 +1,45 @@
+
+fixupOutputHooks+=(_linkDLLs)
+
+# For every *.{exe,dll} in $output/bin/ we try to find all (potential)
+# transitive dependencies and symlink those DLLs into $output/bin
+# so they are found on invocation.
+# (DLLs are first searched in the directory of the running exe file.)
+# The links are relative, so relocating whole /nix/store won't break them.
+_linkDLLs() {
+(
+    if [ ! -d "$prefix/bin" ]; then exit; fi
+    cd "$prefix/bin"
+
+    # Compose path list where DLLs should be located:
+    #   prefix $PATH by currently-built outputs
+    local DLLPATH=""
+    local outName
+    for outName in $outputs; do
+        addToSearchPath DLLPATH "${!outName}/bin"
+    done
+    DLLPATH="$DLLPATH:$PATH"
+
+    echo DLLPATH="'$DLLPATH'"
+
+    linkCount=0
+    # Iterate over any DLL that we depend on.
+    local dll
+    for dll in $(objdump -p *.{exe,dll} | sed -n 's/.*DLL Name: \(.*\)/\1/p' | sort -u); do
+        if [ -e "./$dll" ]; then continue; fi
+        # Locate the DLL - it should be an *executable* file on $DLLPATH.
+        local dllPath="$(PATH="$DLLPATH" type -P "$dll")"
+        if [ -z "$dllPath" ]; then continue; fi
+        # That DLL might have its own (transitive) dependencies,
+        # so add also all DLLs from its directory to be sure.
+        local dllPath2
+        for dllPath2 in "$dllPath" "$(dirname "$dllPath")"/*.dll; do
+            if [ -e ./"$(basename "$dllPath2")" ]; then continue; fi
+            ln -sr "$dllPath2" .
+            linkCount=$(($linkCount+1))
+        done
+    done
+    echo "Created $linkCount DLL link(s) in $prefix/bin"
+)
+}
+
diff --git a/pkgs/data/misc/geolite-legacy/default.nix b/pkgs/data/misc/geolite-legacy/default.nix
index 3792047aea1..d9693136bf2 100644
--- a/pkgs/data/misc/geolite-legacy/default.nix
+++ b/pkgs/data/misc/geolite-legacy/default.nix
@@ -8,20 +8,20 @@ let
 in
 stdenv.mkDerivation rec {
   name = "geolite-legacy-${version}";
-  version = "2016-05-02";
+  version = "2016-05-03";
 
   srcGeoIP = fetchDB
     "GeoLiteCountry/GeoIP.dat.gz" "GeoIP.dat.gz"
-    "0g34nwilhim73f0qp0yq3lfx54c42wy70ra4dkmwlfddyq3ln0xd";
+    "1fcbbbdqbxgqmgk61awzbbnd7d9yr2hnfmbc5z5z5s77aw8i8nkj";
   srcGeoIPv6 = fetchDB
     "GeoIPv6.dat.gz" "GeoIPv6.dat.gz"
-    "12k4nmfblm9c7kj4v7cyl6sgfgdfv2jdx4fl7nxfzpk1km7yc5na";
+    "06cx1fza11g25ckjkih6p4awk2pg0jwr421fh8bijwx6i550paca";
   srcGeoLiteCity = fetchDB
     "GeoLiteCity.dat.xz" "GeoIPCity.dat.xz"
-    "04bi7zmmm7v9gl9vhxh0fvqfhmg9ja1lan4ff0njx7qs7lz3ak88";
+    "1246328q4bhrri15pywkhbaz362ch1vnfw3h0qr8wn8f6ilix6nd";
   srcGeoLiteCityv6 = fetchDB
     "GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz" "GeoIPCityv6.dat.gz"
-    "1sr2yapsfmdpl4zpf8i5rl3k65dgbq7bb1615g6wf60yw9ngh76x";
+    "1v8wdqh6yjicb7bdcxp7v5dimlrny1fiynf4wr6wh65vr738csy2";
   srcGeoIPASNum = fetchDB
     "asnum/GeoIPASNum.dat.gz" "GeoIPASNum.dat.gz"
     "04gyrb5qyy3i1p9lgnls90irq3s64y5qfcqj91nx4x68r7dixnai";
diff --git a/pkgs/desktops/enlightenment/enlightenment.nix b/pkgs/desktops/enlightenment/enlightenment.nix
index ea232a2c607..c5d5a400e05 100644
--- a/pkgs/desktops/enlightenment/enlightenment.nix
+++ b/pkgs/desktops/enlightenment/enlightenment.nix
@@ -4,15 +4,20 @@ libffi, pam, alsaLib, luajit, bzip2, libuuid, libpthreadstubs, gdbm, libcap, mes
 
 stdenv.mkDerivation rec {
   name = "enlightenment-${version}";
-  version = "0.20.6";
+  version = "0.20.7";
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
-    sha256 = "11ahll68nlci214ka05whp5l32hy9lznmcdfqx3hxsmq2p7bl7zj";
+    sha256 = "10g1mn1myspdrxl7jcjx6v52g3pmmb0k2bxjgaqdx2s851cyipkw";
   };
-  buildInputs = [ pkgconfig efl elementary libXdmcp libxcb
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ efl elementary libXdmcp libxcb
     xcbutilkeysyms libXrandr libffi pam alsaLib luajit bzip2 libuuid
     libpthreadstubs gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
+
   NIX_CFLAGS_COMPILE = [ "-I${efl}/include/eo-1" "-I${efl}/include/emile-1" "-I${libuuid}/include/uuid" ];
+
   preConfigure = ''
     export USER_SESSION_DIR=$prefix/lib/systemd/user
 
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 3ea3721362b..06046bc122b 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -88,6 +88,7 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
   xfce4_systemload_plugin  = callPackage ./panel-plugins/xfce4-systemload-plugin.nix  { };
   xfce4_verve_plugin       = callPackage ./panel-plugins/xfce4-verve-plugin.nix       { };
   xfce4_xkb_plugin         = callPackage ./panel-plugins/xfce4-xkb-plugin.nix         { };
+  xfce4_weather_plugin     = callPackage ./panel-plugins/xfce4-weather-plugin.nix     { };
   xfce4_whiskermenu_plugin = callPackage ./panel-plugins/xfce4-whiskermenu-plugin.nix { };
   xfce4_pulseaudio_plugin  = callPackage ./panel-plugins/xfce4-pulseaudio-plugin.nix  { };
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix
index 072da2bc576..c0c8519d63a 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix
@@ -4,20 +4,27 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
   p_name  = "xfce4-cpufreq-plugin";
   ver_maj = "1.1";
-  ver_min = "1";
+  ver_min = "3";
 
   src = fetchurl {
     url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1ryaynkxpqpp92pj18bdds869sf560ir1k3bgl8gqnz60z04ak27";
+    sha256 = "0crd21l5cw0xgm6w7s049xa36k203yx7l56ssnah9nq1w73n58bl";
   };
+
   name = "${p_name}-${ver_maj}.${ver_min}";
 
-  buildInputs = [ pkgconfig intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  buildInputs = [ libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+
+  enableParallelBuilding = true;
+
   preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "CPU Freq load plugin for Xfce panel";
+    license = [ licenses.gpl2Plus ];
     platforms = platforms.linux;
     maintainers = [ maintainers.AndersonTorres ];
   };
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix
new file mode 100644
index 00000000000..419efbcbf95
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxml2, libsoup, upower,
+libxfce4ui, libxfce4util, xfce4panel }:
+
+stdenv.mkDerivation rec {
+  name = "${p_name}-${ver_maj}.${ver_min}";
+  p_name  = "xfce4-weather-plugin";
+  ver_maj = "0.8";
+  ver_min = "7";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "1c35iqqiphazkfdabbjdynk0qkc3r8vxhmk2jc6dkiv8d08727h7";
+  };
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  buildInputs = [ gtk libxml2 libsoup upower libxfce4ui libxfce4util
+   xfce4panel ];
+
+  enableParallelBuilding = true;
+
+  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
+    description = "Weather plugin for the Xfce desktop environment";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.romildo ];
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix
index ff4e89a23cf..e4c44865583 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix
@@ -4,30 +4,32 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   p_name  = "xfce4-whiskermenu-plugin";
-  ver_maj = "1.5";
-  ver_min = "2";
-  rev = "d08418c8d55edfacef190ec14e03e1e9a6988101";
+  version = "1.5.3";
 
-  name = "${p_name}-${ver_maj}.${ver_min}";
+  name = "${p_name}-${version}";
 
   src = fetchFromGitHub {
     owner = "gottcode";
     repo = "xfce4-whiskermenu-plugin";
-    inherit rev;
-    sha256 = "0icphm6bm5p3csh9kwyyvkj2y87shrs12clfifbhv35dm0skb2dx";
+    rev = "v${version}";
+    sha256 = "07gmf9x3pw6xajklj0idahbnv0psnkhiqhb88bmkp344jirsx6ba";
   };
 
-  buildInputs = [ cmake pkgconfig intltool libxfce4util libxfcegui4 xfce4panel
-                  gtk exo garcon ];
+  nativeBuildInputs = [ cmake pkgconfig intltool ];
+
+  buildInputs = [ libxfce4util libxfcegui4 xfce4panel gtk exo garcon ];
+
+  enableParallelBuilding = true;
 
   preFixup = ''
     substituteInPlace $out/bin/xfce4-popup-whiskermenu \
-      --replace $out/bin/xfce4-panel ${xfce4panel}/bin/xfce4-panel
+      --replace $out/bin/xfce4-panel ${xfce4panel.out}/bin/xfce4-panel
   '';
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Whisker Menu is an alternate application launcher for Xfce";
+    description = "Alternate application launcher for Xfce";
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.pjbarnoy ];
   };
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
index 3611b19db1b..f5ca9626be6 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
@@ -74,4 +74,82 @@ self: super: {
   # https://github.com/haskell-suite/haskell-src-exts/issues/302
   haskell-src-exts = dontCheck super.haskell-src-exts;
 
+  active         = doJailbreak super.active;
+
+  authenticate-oauth = doJailbreak super.authenticate-oauth;
+
+  diagrams-core  = doJailbreak super.diagrams-core;
+
+  diagrams-lib   = doJailbreak super.diagrams-lib;
+
+  foldl          = doJailbreak super.foldl;
+
+  force-layout   = doJailbreak super.force-layout;
+
+  # Partial fixes released in 1.20.5 upstream, full fixes only in git
+  linear         = pkgs.haskell.lib.overrideCabal super.linear (oldAttrs: {
+    editedCabalFile = null;
+    revision        = null;
+    src = pkgs.fetchgit {
+            url    = https://github.com/ekmett/linear.git;
+            rev    = "8da21dc72714441cb34d6eabd6c224819787365c";
+            sha256 = "08l0z6zrlbals2bwc2abbh31j9gf90vgp8sy3dcrp0knc98bgaa1";
+    };
+  });
+
+  lucid-svg      = doJailbreak super.lucid-svg;
+
+  monads-tf      = doJailbreak super.monads-tf;
+
+  parsers        = doJailbreak super.parsers;
+
+  pointed        = super.pointed_5;
+
+  reducers       = doJailbreak super.reducers;
+
+  sdl2           = doJailbreak super.sdl2;
+
+  servant        = dontCheck (doJailbreak super.servant_0_7);
+  servant-client = dontCheck (doJailbreak super.servant-client_0_7);
+  servant-server = dontCheck (doJailbreak super.servant-server_0_7);
+
+  # The essential part is released in 2.1 upstream (needs hackage import)
+  singletons     = (pkgs.haskell.lib.overrideCabal super.singletons (oldAttrs: {
+    src = pkgs.fetchgit {
+            url    = https://github.com/goldfirere/singletons.git;
+            rev    = "277fa943e8c260973effb2291672b166bdd951c1";
+            sha256 = "1ll9fcgs5nxqihvv5vr2bf9z6ijvn3yyk5ss3cgcfvcd95ayy1wz";
+    };
+  }));
+
+  # The essential part only in upstream git, last released upstream version 2.7.0, Dec 8
+  stm-conduit    = doJailbreak (pkgs.haskell.lib.overrideCabal super.stm-conduit (oldAttrs: {
+    src          = pkgs.fetchgit {
+            url    = https://github.com/cgaebel/stm-conduit.git;
+            rev    = "3f831d703c422239e56a9da0f42db8a7059238e0";
+            sha256 = "0bmym2ps0yjcsbyg02r8v1q8z5hpml99n72hf2pjmd31dy8iz7v9";
+    };
+  }));
+
+  # The essential part only in upstream git, last released upstream version 1.6.0, Jan 27
+  th-desugar          = doJailbreak (pkgs.haskell.lib.overrideCabal super.th-desugar (oldAttrs: {
+    src = pkgs.fetchgit {
+            url    = https://github.com/goldfirere/th-desugar.git;
+            rev    = "7496de0243a12c14be1b37b89eb41cf9ef6f5229";
+            sha256 = "10awknqviq7jb738r6n9rlyra0pvkrpnk0hikz4459hny4hamn75";
+    };
+  }));
+
+  # The essential part is released in 0.1.4.1 upstream (needs hackage import)
+  th-reify-many          = doJailbreak (pkgs.haskell.lib.overrideCabal super.th-reify-many (oldAttrs: {
+    src = pkgs.fetchgit {
+            url    = https://github.com/mgsloan/th-reify-many.git;
+            rev    = "699eed232c2ccaf9fb109f131e80ed8d654d6f08";
+            sha256 = "001fvpq039l9wj9v8id7kfjwmp4acf53zr4z6sppdvrv6npzz5yb";
+    };
+  }));
+
+  trifecta       = doJailbreak super.trifecta;
+
+  turtle         = doJailbreak super.turtle;
 }
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index 2ff960f6fcc..8db9dd4eaf9 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -206,15 +206,14 @@ in {
     };
   };
 
-  ruby_2_3_0 = generic {
+  ruby_2_3_1 = generic {
     majorVersion = "2";
     minorVersion = "3";
-    teenyVersion = "0";
+    teenyVersion = "1";
     patchLevel = "0";
     sha256 = {
-      # src = "1ssq3c23ay57ypfis47y2n817hfmb71w0xrdzp57j6bv12jqmgrx";
-      src = "01z5cya4a7y751d4pb3aak5qcwmmvnwkbgz9z171p8hsbw7acnxs";
-      git = "0nl0pp96m0jxi422mqx09jqn9bff90pzz0xxa0ikrx7by0g00npg";
+      src = "1kbxg72las93w0y553cxv3lymy2wvij3i3pg1y9g8aq3na676z5q";
+      git = "0dv1rf5f9lj3icqs51bq7ljdcf17sdclmxm9hilwxps5l69v5q9r";
     };
   };
 }
diff --git a/pkgs/development/interpreters/ruby/patchsets.nix b/pkgs/development/interpreters/ruby/patchsets.nix
index ded72b8695e..0e81db4e047 100644
--- a/pkgs/development/interpreters/ruby/patchsets.nix
+++ b/pkgs/development/interpreters/ruby/patchsets.nix
@@ -54,9 +54,9 @@ rec {
     "${patchSet}/patches/ruby/2.2.3/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.2.3/railsexpress/03-display-more-detailed-stack-trace.patch"
   ];
-  "2.3.0" = ops useRailsExpress [
-    "${patchSet}/patches/ruby/2.3.0/railsexpress/01-skip-broken-tests.patch"
-    "${patchSet}/patches/ruby/2.3.0/railsexpress/02-improve-gc-stats.patch"
-    "${patchSet}/patches/ruby/2.3.0/railsexpress/03-display-more-detailed-stack-trace.patch"
+  "2.3.1" = ops useRailsExpress [
+    "${patchSet}/patches/ruby/2.3/head/railsexpress/01-skip-broken-tests.patch"
+    "${patchSet}/patches/ruby/2.3/head/railsexpress/02-improve-gc-stats.patch"
+    "${patchSet}/patches/ruby/2.3/head/railsexpress/03-display-more-detailed-stack-trace.patch"
   ];
 }
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 931a2ad8db6..73499a42497 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -1,11 +1,11 @@
-{ stdenv, icu, expat, zlib, bzip2, python, fixDarwinDylibNames
+{ stdenv, fetchurl, icu, expat, zlib, bzip2, python, fixDarwinDylibNames, libiconv
 , toolset ? if stdenv.cc.isClang then "clang" else null
 , enableRelease ? true
 , enableDebug ? false
 , enableSingleThreaded ? false
 , enableMultiThreaded ? true
-, enableShared ? true
-, enableStatic ? false
+, enableShared ? !(stdenv.cross.libc or null == "msvcrt") # problems for now
+, enableStatic ? !enableShared
 , enablePIC ? false
 , enableExceptions ? false
 , taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
@@ -76,8 +76,14 @@ let
     "--user-config=user-config.jam"
     "toolset=gcc-cross"
     "--without-python"
+  ] ++ optionals (stdenv.cross.libc == "msvcrt") [
+    "target-os=windows"
+    "threadapi=win32"
+    "binary-format=pe"
+    "address-model=${if hasPrefix "x86_64-" stdenv.cross.config then "64" else "32"}"
+    "architecture=x86"
   ];
-  crossB2Args = concatMapStringsSep " " (genericB2Flags ++ crossB2Flags);
+  crossB2Args = concatStringsSep " " (genericB2Flags ++ crossB2Flags);
 
   builder = b2Args: ''
     ./b2 ${b2Args}
@@ -104,6 +110,8 @@ let
       find include \( -name '*.hpp' -or -name '*.h' -or -name '*.ipp' \) \
         -exec sed '1i#line 1 "{}"' -i '{}' \;
     )
+  '' + optionalString (stdenv.cross.libc or null == "msvcrt") ''
+    ${stdenv.cross.config}-ranlib "$lib"/lib/*.a
   '';
 
 in
@@ -138,14 +146,15 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ icu expat zlib bzip2 python ]
+  buildInputs = [ expat zlib bzip2 libiconv ]
+    ++ stdenv.lib.optionals (! stdenv ? cross) [ python icu ]
     ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   configureScript = "./bootstrap.sh";
-  configureFlags = commonConfigureFlags ++ [
-    "--with-icu=${icu.dev}"
-    "--with-python=${python.interpreter}"
-  ] ++ optional (toolset != null) "--with-toolset=${toolset}";
+  configureFlags = commonConfigureFlags
+    ++ [ "--with-python=${python.interpreter}" ]
+    ++ optional (! stdenv ? cross) "--with-icu=${icu.dev}"
+    ++ optional (toolset != null) "--with-toolset=${toolset}";
 
   buildPhase = builder nativeB2Args;
 
@@ -157,15 +166,10 @@ stdenv.mkDerivation {
   setOutputFlags = false;
 
   crossAttrs = rec {
-    buildInputs = [ expat.crossDrv zlib.crossDrv bzip2.crossDrv ];
-    # all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
-    # override them.
-    propagatedBuildInputs = buildInputs;
     # We want to substitute the contents of configureFlags, removing thus the
     # usual --build and --host added on cross building.
     preConfigure = ''
       export configureFlags="--without-icu ${concatStringsSep " " commonConfigureFlags}"
-      set -x
       cat << EOF > user-config.jam
       using gcc : cross : $crossConfig-g++ ;
       EOF
@@ -173,5 +177,13 @@ stdenv.mkDerivation {
     buildPhase = builder crossB2Args;
     installPhase = installer crossB2Args;
     postFixup = fixup;
+  } // optionalAttrs (stdenv.cross.libc == "msvcrt") {
+    patches = fetchurl {
+      url = "https://svn.boost.org/trac/boost/raw-attachment/ticket/7262/"
+          + "boost-mingw.patch";
+      sha256 = "0s32kwll66k50w6r5np1y5g907b7lcpsjhfgr7rsw7q5syhzddyj";
+    };
+
+    patchFlags = "-p0";
   };
 }
diff --git a/pkgs/development/libraries/dbus-glib/default.nix b/pkgs/development/libraries/dbus-glib/default.nix
index 59d227f0e86..d06a919cada 100644
--- a/pkgs/development/libraries/dbus-glib/default.nix
+++ b/pkgs/development/libraries/dbus-glib/default.nix
@@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ dbus glib ];
 
+  preConfigure = ''
+    configureFlagsArray+=("--exec-prefix=$dev")
+  '';
+
   doCheck = true;
 
   passthru = { inherit dbus glib; };
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index 81e98056e90..0548d1433b7 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -26,7 +26,8 @@ stdenv.mkDerivation rec {
   };
 
   patches = []
-    ++ optionals useEncumberedCode [
+    # mingw: these patches use `strcasestr` which isn't available on windows
+    ++ optionals (useEncumberedCode && stdenv.cross.libc or null != "msvcrt" ) [
       (fetchbohoomil "01-freetype-2.6.2-enable-valid.patch"
         "1szq0zha7n41f4pq179wgfkam034mp2xn0xc36sdl5sjp9s9hv08")
       (fetchbohoomil "02-upstream-2015.12.05.patch"
@@ -39,7 +40,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ zlib bzip2 libpng ]; # needed when linking against freetype
   # dependence on harfbuzz is looser than the reverse dependence
-  buildInputs = [ pkgconfig which ]
+  nativeBuildInputs = [ pkgconfig which ]
     # FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
     ++ optional (!stdenv.isLinux) gnumake;
 
@@ -56,7 +57,7 @@ stdenv.mkDerivation rec {
 
   postInstall = glib.flattenInclude;
 
-  crossAttrs = {
+  crossAttrs = stdenv.lib.optionalAttrs (stdenv.cross.libc or null != "msvcrt") {
     # Somehow it calls the unwrapped gcc, "i686-pc-linux-gnu-gcc", instead
     # of gcc. I think it's due to the unwrapped gcc being in the PATH. I don't
     # know why it's on the PATH.
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index 940df56c03c..78a8756b59b 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -54,13 +54,6 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  crossAttrs = {
-    buildInputs = lib.optional (stdenv ? ccCross && stdenv.ccCross.libc ? libiconv)
-      stdenv.ccCross.libc.libiconv.crossDrv;
-    # Gettext fails to guess the cross compiler
-    configureFlags = "CXX=${stdenv.cross.config}-g++";
-  };
-
   meta = {
     description = "Well integrated set of translation tools and documentation";
 
diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix
index 8d79fcc50a8..85e9979ebb0 100644
--- a/pkgs/development/libraries/imlib2/default.nix
+++ b/pkgs/development/libraries/imlib2/default.nix
@@ -1,17 +1,19 @@
 { stdenv, fetchurl, xlibsWrapper, libjpeg, libtiff, giflib, libpng, bzip2, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "imlib2-1.4.8";
+  name = "imlib2-1.4.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/enlightenment/${name}.tar.bz2";
-    sha256 = "0xxhgkd1axlcmf3kp1d7naiygparpg8l3sg3d263rhl2z0gm7aw9";
+    sha256 = "08809xxk2555yj6glixzw9a0x3x8cx55imd89kj3r0h152bn8a3x";
   };
 
   buildInputs = [ xlibsWrapper libjpeg libtiff giflib libpng bzip2 ];
 
   nativeBuildInputs = [ pkgconfig ];
 
+  enableParallelBuilding = true;
+
   preConfigure = ''
     substituteInPlace imlib2-config.in \
       --replace "@my_libs@" ""
diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix
index f5818c3bf4c..9b62436ae08 100644
--- a/pkgs/development/libraries/libiconv/default.nix
+++ b/pkgs/development/libraries/libiconv/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, lib }:
 
-assert (!stdenv.isLinux);
+assert !stdenv.isLinux || stdenv ? cross; # TODO: improve on cross
 
 stdenv.mkDerivation rec {
   name = "libiconv-1.14";
@@ -15,6 +15,12 @@ stdenv.mkDerivation rec {
     ./libiconv-1.14-wchar.patch
   ];
 
+  postPatch =
+    lib.optionalString (stdenv.cross.libc or null == "msvcrt")
+      ''
+        sed '/^_GL_WARN_ON_USE (gets/d' -i srclib/stdio.in.h
+      '';
+
   configureFlags =
   # On Cygwin, Libtool produces a `.dll.a', which is not a "real" DLL
   # (Windows' linker would need to be used somehow to produce an actual
diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix
index da4d3a9822f..c326e630bd0 100644
--- a/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -8,6 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "0gi349hp1x7mb98s4mf66sb2xay2kjjxj9ihrriw0yiy0k9va6sj";
   };
 
+  patches =
+    stdenv.lib.optional (stdenv.cross.libc or null == "msvcrt")
+      ./mingw-boolean.patch;
+
   outputs = [ "dev" "out" "doc" "bin" ];
 
   nativeBuildInputs = [ nasm ];
diff --git a/pkgs/development/libraries/libjpeg-turbo/mingw-boolean.patch b/pkgs/development/libraries/libjpeg-turbo/mingw-boolean.patch
new file mode 100644
index 00000000000..9b9483d6398
--- /dev/null
+++ b/pkgs/development/libraries/libjpeg-turbo/mingw-boolean.patch
@@ -0,0 +1,19 @@
+Ported to updated libjpeg-turbo from
+https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-libjpeg-turbo/jpeg-typedefs.patch
+--- a/jmorecfg.h	2012-02-10 06:47:55 +0300
++++ b/jmorecfg.h	2012-05-03 10:29:13 +0400
+@@ -224,7 +224,13 @@
+  * Defining HAVE_BOOLEAN before including jpeglib.h should make it work.
+  */
+ 
+-#ifndef HAVE_BOOLEAN
++#if defined(_WIN32) && !defined(HAVE_BOOLEAN)
++#ifndef __RPCNDR_H__
++typedef unsigned char boolean;
++#endif
++#define HAVE_BOOLEAN
++#endif
++#if !defined(HAVE_BOOLEAN) && !defined(__RPCNDR_H__)
+ typedef int boolean;
+ #endif
+ #ifndef FALSE			/* in case these macros already exist */
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index 6faed97aaee..a5a0e1d42a3 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -26,7 +26,9 @@ in stdenv.mkDerivation rec {
 
   preConfigure = "export bin=$dev";
 
-  doCheck = true;
+  # it's hard to cross-run tests and some check programs didn't compile anyway
+  makeFlags = stdenv.lib.optional (!doCheck) "check_PROGRAMS=";
+  doCheck = ! stdenv ? cross;
 
   postInstall = ''mv "$out/bin" "$dev/bin"'';
 
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index 8eedf50c9ca..7229b10e01c 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, zlib, xz, python, findXMLCatalogs }:
+{ stdenv, lib, fetchurl, zlib, xz, python, findXMLCatalogs, libiconv
+, supportPython ? (! stdenv ? cross) }:
 
 stdenv.mkDerivation rec {
   name = "libxml2-${version}";
@@ -9,23 +10,36 @@ stdenv.mkDerivation rec {
     sha256 = "0bd17g6znn2r98gzpjppsqjg33iraky4px923j3k8kdl8qgy7sad";
   };
 
-  outputs = [ "dev" "out" "bin" "doc" "py" ];
-  propagatedBuildOutputs = "out bin py";
+  outputs = [ "dev" "out" "bin" "doc" ]
+    ++ lib.optional supportPython "py";
+  propagatedBuildOutputs = "out bin" + lib.optionalString supportPython " py";
 
-  buildInputs = [ python ]
+  buildInputs = lib.optional supportPython python
     # Libxml2 has an optional dependency on liblzma.  However, on impure
     # platforms, it may end up using that from /usr/lib, and thus lack a
     # RUNPATH for that, leading to undefined references for its users.
-    ++ stdenv.lib.optional stdenv.isFreeBSD xz;
+    ++ lib.optional stdenv.isFreeBSD xz;
 
   propagatedBuildInputs = [ zlib findXMLCatalogs ];
 
-  configureFlags = "--with-python=${python} --exec_prefix=$dev";
+  configureFlags = lib.optional supportPython "--with-python=${python}"
+    ++ [ "--exec_prefix=$dev" ];
 
   enableParallelBuilding = true;
 
-  preInstall = ''substituteInPlace python/libxml2mod.la --replace "${python}" "$py"'';
-  installFlags = ''pythondir="$(py)/lib/${python.libPrefix}/site-packages"'';
+  crossAttrs = lib.optionalAttrs (stdenv.cross.libc == "msvcrt") {
+    # creating the DLL is broken ATM
+    dontDisableStatic = true;
+    configureFlags = configureFlags ++ [ "--disable-shared" ];
+
+    # libiconv is a header dependency - propagating is enough
+    propagatedBuildInputs =  [ findXMLCatalogs libiconv ];
+  };
+
+  preInstall = lib.optionalString supportPython
+    ''substituteInPlace python/libxml2mod.la --replace "${python}" "$py"'';
+  installFlags = lib.optionalString supportPython
+    ''pythondir="$(py)/lib/${python.libPrefix}/site-packages"'';
 
   postFixup = ''
     moveToOutput bin/xml2-config "$dev"
@@ -33,13 +47,13 @@ stdenv.mkDerivation rec {
     moveToOutput share/man/man1 "$bin"
   '';
 
-  passthru = { inherit version; pythonSupport = true; };
+  passthru = { inherit version; pythonSupport = supportPython; };
 
   meta = {
     homepage = http://xmlsoft.org/;
     description = "An XML parsing library for C";
     license = "bsd";
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = lib.platforms.unix;
+    maintainers = [ lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index 0eda42879ec..c76f2824604 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -9,6 +9,12 @@ stdenv.mkDerivation rec {
   };
 
   patches = stdenv.lib.optional stdenv.isSunOS ./patch-ah.patch
+    ++ stdenv.lib.optional (stdenv.cross.libc or null == "msvcrt")
+        (fetchpatch {
+          name = "mingw.patch";
+          url = "http://git.gnome.org/browse/libxslt/patch/?id=ab5810bf27cd63";
+          sha256 = "0kkqq3fv2k3q86al38vp6zwxazpvp5kslcjnmrq4ax5cm2zvsjk3";
+        })
     ++ [
       (fetchpatch {
         name = "CVE-2015-7995.patch";
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index bb3458d62dd..51b5ac5981e 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -5,8 +5,8 @@
 }:
 
 let # beware: updates often break cups_filters build
-  version = "0.36.0"; # even major numbers are stable
-  sha256 = "13i440kv873wgmw50rs4d1v05cj0r7bqnghd70hp9vy44dxhdk4k";
+  version = "0.43.0"; # even major numbers are stable
+  sha256 = "0mi4zf0pz3x3fx3ir7szz1n57nywgbpd4mp2r7mvf47f4rmf4867";
 in
 stdenv.mkDerivation rec {
   name = "poppler-${suffix}-${version}";
@@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
 
   # TODO: reduce propagation to necessary libs
   propagatedBuildInputs = with lib;
-    [ zlib freetype fontconfig libjpeg lcms curl openjpeg ]
-    ++ optional (!minimal) cairo
+    [ zlib freetype fontconfig libjpeg ]
+    ++ optionals (!minimal) [ cairo lcms curl openjpeg ]
     ++ optional qt4Support qt4
     ++ optional qt5Support qtbase;
 
@@ -38,11 +38,19 @@ stdenv.mkDerivation rec {
       "--enable-zlib"
       "--enable-build-type=release"
     ]
-    ++ optionals minimal [ "--disable-poppler-glib" "--disable-poppler-cpp" ]
-    ++ optional (!utils) "--disable-utils";
+    ++ optionals minimal [
+      "--disable-poppler-glib" "--disable-poppler-cpp"
+      "--disable-libopenjpeg" "--disable-libcurl"
+    ]
+    ++ optional (!utils) "--disable-utils" ;
 
   enableParallelBuilding = true;
 
+  crossAttrs.postPatch =
+    # there are tests using `strXXX_s` functions that are missing apparently
+    stdenv.lib.optionalString (stdenv.cross.libc or null == "msvcrt")
+      "sed '/^SUBDIRS =/s/ test / /' -i Makefile.in";
+
   meta = with lib; {
     homepage = http://poppler.freedesktop.org/;
     description = "A PDF rendering library";
diff --git a/pkgs/development/libraries/spdlog/default.nix b/pkgs/development/libraries/spdlog/default.nix
new file mode 100644
index 00000000000..1c3952e7adf
--- /dev/null
+++ b/pkgs/development/libraries/spdlog/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "spdlog-${version}";
+  version = stdenv.lib.strings.substring 0 7 rev;
+  rev = "292bdc5eb4929f183c78d2c67082b715306f81c9";
+
+  src = fetchFromGitHub {
+    owner = "gabime";
+    repo = "spdlog";
+    inherit rev;
+    sha256 = "1b6b0c81a8hisaibqlzj5mrk3snrfl8p5sqa056q2f02i62zksbn";
+  };
+
+  buildInputs = [ cmake ];
+
+  # cmakeFlags = [ "-DSPDLOG_BUILD_EXAMPLES=ON" ];
+
+  outputs = [ "out" "doc" ];
+
+  postInstall = ''
+    mkdir -p $out/share/doc/spdlog
+    cp -rv ../example $out/share/doc/spdlog
+  '';
+
+  meta = with stdenv.lib; {
+    description    = "Very fast, header only, C++ logging library.";
+    homepage       = https://github.com/gabime/spdlog;
+    license        = licenses.mit;
+    maintainers    = with maintainers; [ obadz ];
+    platforms      = platforms.all;
+
+    # This is a header-only library, no point in hydra building it:
+    hydraPlatforms = [];
+  };
+}
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index 92bde5deb97..2176fa6f31c 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -52,14 +52,21 @@ stdenv.mkDerivation rec {
 
   crossAttrs = {
     dontStrip = static;
+    dontSetConfigureCross = true;
   } // stdenv.lib.optionalAttrs (stdenv.cross.libc == "msvcrt") {
-    configurePhase=''
-      installFlags="BINARY_PATH=$out/bin INCLUDE_PATH=$out/include LIBRARY_PATH=$out/lib"
-    '';
+    installFlags = [
+      "BINARY_PATH=$(out)/bin"
+      "INCLUDE_PATH=$(dev)/include"
+      "LIBRARY_PATH=$(out)/lib"
+    ];
     makeFlags = [
       "-f" "win32/Makefile.gcc"
       "PREFIX=${stdenv.cross.config}-"
-    ] ++ (if static then [] else [ "SHARED_MODE=1" ]);
+    ] ++ stdenv.lib.optional (!static) "SHARED_MODE=1";
+
+    # Non-typical naming confuses libtool which then refuses to use zlib's DLL
+    # in some cases, e.g. when compiling libpng.
+    postInstall = postInstall + "ln -s zlib1.dll $out/bin/libz.dll";
   } // stdenv.lib.optionalAttrs (stdenv.cross.libc == "libSystem") {
     makeFlags = [ "RANLIB=${stdenv.cross.config}-ranlib" ];
   };
diff --git a/pkgs/development/tools/ocaml/oasis/default.nix b/pkgs/development/tools/ocaml/oasis/default.nix
index 70d90752ace..6dcf0522232 100644
--- a/pkgs/development/tools/ocaml/oasis/default.nix
+++ b/pkgs/development/tools/ocaml/oasis/default.nix
@@ -2,11 +2,11 @@
  ocamlmod, ocamlify, ounit, expect}:
 
 stdenv.mkDerivation {
-  name = "ocaml-oasis-0.4.5";
+  name = "ocaml-oasis-0.4.6";
 
   src = fetchurl {
-    url = http://forge.ocamlcore.org/frs/download.php/1475/oasis-0.4.5.tar.gz;
-    sha256 = "0i1fifzig2slhb07d1djx6i690b8ys0avsx6ssnihisw841sc8v6";
+    url = http://forge.ocamlcore.org/frs/download.php/1604/oasis-0.4.6.tar.gz;
+    sha256 = "1yxv3ckkf87nz0cyll0yy1kd295j5pv3jqwkfrr1y65wkz5vw90k";
   };
 
   createFindlibDestdir = true;
diff --git a/pkgs/games/ckan/default.nix b/pkgs/games/ckan/default.nix
new file mode 100644
index 00000000000..1465a65a2bd
--- /dev/null
+++ b/pkgs/games/ckan/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub, makeWrapper, perl, mono, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "ckan-${version}";
+  version = "1.16.1";
+
+  src = fetchFromGitHub {
+    owner = "KSP-CKAN";
+    repo = "CKAN";
+    rev = "v${version}";
+    sha256 = "0lfvl8w09lakz35szp5grfvhq8xx486f5igvj1m6azsql4n929lg";
+  };
+
+  buildInputs = [ makeWrapper perl mono gtk ];
+
+  postPatch = ''
+    substituteInPlace bin/build \
+      --replace /usr/bin/perl ${perl}/bin/perl
+  '';
+
+  # Tests don't currently work, as they try to write into /var/empty.
+  doCheck = false;
+  checkTarget = "test";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    for exe in *.exe; do
+      install -m 0644 $exe $out/bin
+      makeWrapper ${mono}/bin/mono $out/bin/$(basename $exe .exe) \
+        --add-flags $out/bin/$exe \
+        --set LD_LIBRARY_PATH ${gtk.out}/lib
+    done
+  '';
+
+  meta = {
+    description = "Mod manager for Kerbal Space Program";
+    homepage = https://github.com/KSP-CKAN/CKAN;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.Baughn ];
+    platforms = stdenv.lib.platforms.all;
+  };    
+}
diff --git a/pkgs/os-specific/linux/kernel/linux-grsecurity-4.4.nix b/pkgs/os-specific/linux/kernel/linux-grsecurity-4.4.nix
index 36181308a8b..e51fe642368 100644
--- a/pkgs/os-specific/linux/kernel/linux-grsecurity-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-grsecurity-4.4.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
+throw "grsecurity stable is no longer supported; please update your configuration"
+
 import ./generic.nix (args // rec {
   version = "4.4.5";
   extraMeta.branch = "4.4";
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index ffe09cc2fee..5f2bc2d2c55 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -125,7 +125,7 @@ let
       postInstall = (optionalString installsFirmware ''
         mkdir -p $out/lib/firmware
       '') + (if (platform ? kernelDTB && platform.kernelDTB) then ''
- 	make $makeFlags "''${makeFlagsArray[@]}" dtbs
+        make $makeFlags "''${makeFlagsArray[@]}" dtbs
         mkdir -p $out/dtbs
         cp $buildRoot/arch/$karch/boot/dts/*.dtb $out/dtbs
       '' else "") + (if isModular then ''
@@ -190,6 +190,8 @@ let
           $installFlags "''${installFlagsArray[@]}"
       '');
 
+      requiredSystemFeatures = [ "big-parallel" ];
+
       meta = {
         description =
           "The Linux kernel" +
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 14b0692dbad..c4bc4513395 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -23,9 +23,7 @@ let
     { name = "grsecurity-${grversion}-${kversion}";
       inherit grversion kernel patches kversion revision;
       patch = fetchurl {
-        url = if branch == "stable"
-              then "https://github.com/kdave/grsecurity-patches/blob/master/grsecurity_patches/grsecurity-${grversion}-${kversion}-${revision}.patch?raw=true"
-              else "https://github.com/slashbeast/grsecurity-scrape/blob/master/${branch}/grsecurity-${grversion}-${kversion}-${revision}.patch?raw=true";
+        url = "https://grsecurity.net/${branch}/grsecurity-${grversion}-${kversion}-${revision}.patch";
         inherit sha256;
       };
       features.grsecurity = true;
diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix
index 3fe9d462412..3a04466ce41 100644
--- a/pkgs/os-specific/linux/mdadm/default.nix
+++ b/pkgs/os-specific/linux/mdadm/default.nix
@@ -29,7 +29,9 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-std=gnu89";
 
   preConfigure = ''
-    sed -e 's@/lib/udev@''${out}/lib/udev@' -e 's@ -Werror @ @' -i Makefile
+    sed -e 's@/lib/udev@''${out}/lib/udev@' \
+        -e 's@ -Werror @ @' \
+        -e 's@/usr/sbin/sendmail@/var/setuid-wrappers/sendmail@' -i Makefile
   '';
 
   meta = {
diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix
index bf15b208e1a..a9df0d29e09 100644
--- a/pkgs/os-specific/windows/mingw-w64/default.nix
+++ b/pkgs/os-specific/windows/mingw-w64/default.nix
@@ -4,14 +4,15 @@
 }:
 
 let
-  name = "mingw-w64-3.1.0";
+  version = "4.0.6";
+  name = "mingw-w64-${version}";
 in
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation ({
   inherit name;
 
   src = fetchurl {
-    url = "mirror://sourceforge/mingw-w64/mingw-w64-v3.1.0.tar.bz2";
-    sha256 = "1lhpw381gc59w8b1r9zzdwa9cdi2wx6qx7s6rvajapmbw7ksgrzc";
+    url = "mirror://sourceforge/mingw-w64/mingw-w64-v${version}.tar.bz2";
+    sha256 = "0p01vm5kx1ixc08402z94g1alip4vx66gjpvyi9maqyqn2a76h0c";
   };
 } //
 (if onlyHeaders then {
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 87d3938f13d..0b6707bf8b1 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -96,8 +96,12 @@ rec {
                     name = name + "-" + cross.config;
                     nativeBuildInputs = nativeBuildInputsDrvs
                       ++ nativeInputsFromBuildInputs
-                      ++ [ gccCross binutilsCross ] ++
-                      stdenv.lib.optional selfNativeBuildInput nativeDrv;
+                      ++ [ gccCross binutilsCross ]
+                      ++ stdenv.lib.optional selfNativeBuildInput nativeDrv
+                        # without proper `file` command, libtool sometimes fails
+                        # to recognize 64-bit DLLs
+                      ++ stdenv.lib.optional (cross.config  == "x86_64-w64-mingw32") pkgs.file
+                      ;
 
                     # Cross-linking dynamic libraries, every buildInput should
                     # be propagated because ld needs the -rpath-link to find
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index a51289fa901..b2891030728 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -196,7 +196,13 @@ let
           buildInputs = if crossConfig != null then buildInputs' else [];
           propagatedBuildInputs = if crossConfig != null then propagatedBuildInputs else [];
           # Inputs built by the usual native compiler.
-          nativeBuildInputs = nativeBuildInputs ++ (if crossConfig == null then buildInputs' else []);
+          nativeBuildInputs = nativeBuildInputs
+            ++ lib.optionals (crossConfig == null) buildInputs'
+            ++ lib.optional
+                (result.isCygwin
+                  || (crossConfig != null && lib.hasSuffix "mingw32" crossConfig))
+                ../../build-support/setup-hooks/win-dll-link.sh
+            ;
           propagatedNativeBuildInputs = propagatedNativeBuildInputs ++
             (if crossConfig == null then propagatedBuildInputs else []);
         } // ifDarwin {
diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix
index a165ab2b157..d3ed5121ba9 100644
--- a/pkgs/tools/compression/bzip2/default.nix
+++ b/pkgs/tools/compression/bzip2/default.nix
@@ -35,10 +35,6 @@ in stdenv.mkDerivation {
       sed -i -e '/<sys\\stat\.h>/s|\\|/|' bzip2.c
     '';
     preConfigure = "sh ./autogen.sh";
-    # clear native hooks that are not needed with autoconf
-    preBuild = "";
-    preInstall = "";
-    postInstall = "";
   };
 
   outputs = [ "dev" "bin" "static" ] ++ stdenv.lib.optional sharedLibrary "out";
@@ -47,21 +43,23 @@ in stdenv.mkDerivation {
     make -f ${if stdenv.isDarwin then "Makefile-libbz2_dylib" else "Makefile-libbz2_so"}
   '';
 
-  preInstall = stdenv.lib.optionalString sharedLibrary (if !stdenv.isDarwin then ''
-    mkdir -p $out/lib
-    mv libbz2.so* $out/lib
-    ( cd $out/lib &&
-      ln -s libbz2.so.1.0.? libbz2.so &&
-      ln -s libbz2.so.1.0.? libbz2.so.1
-    )
-  '' else ''
-    mkdir -p $out/lib
-    mv libbz2.*.dylib $out/lib
-    ( cd $out/lib &&
-      ln -s libbz2.1.0.?.dylib libbz2.dylib &&
-      ln -s libbz2.1.0.?.dylib libbz2.1.dylib
-    )
-  '');
+  preInstall = stdenv.lib.optionalString
+    (sharedLibrary && stdenv.cross.libc or null != "msvcrt")
+    (if !stdenv.isDarwin then ''
+      mkdir -p $out/lib
+      mv libbz2.so* $out/lib
+      ( cd $out/lib &&
+        ln -s libbz2.so.1.0.? libbz2.so &&
+        ln -s libbz2.so.1.0.? libbz2.so.1
+      )
+    '' else ''
+      mkdir -p $out/lib
+      mv libbz2.*.dylib $out/lib
+      ( cd $out/lib &&
+        ln -s libbz2.1.0.?.dylib libbz2.dylib &&
+        ln -s libbz2.1.0.?.dylib libbz2.1.dylib
+      )
+    '');
 
   installFlags = [ "PREFIX=$(bin)" ];
 
@@ -70,9 +68,18 @@ in stdenv.mkDerivation {
     ln -s bzip2 $bin/bin/bunzip2
     ln -s bzip2 $bin/bin/bzcat
 
-    mkdir "$static"
-    mv "$bin/lib" "$static/"
-  '';
+  ''
+    + (if stdenv.cross.libc or null != "msvcrt" # mingw TODO: avoided rebuilds for now
+      then ''
+        mkdir "$static"
+        mv "$bin/lib" "$static/"
+      ''
+      else ''
+        moveToOutput "lib/*.a" "$static"
+        moveToOutput "lib/*.dll.a" "$out"
+        mkdir -p "$static" # empty for now, but we want to avoid failure
+      '')
+    ;
 
   postPatch = ''
     substituteInPlace Makefile --replace CC=gcc CC=cc
diff --git a/pkgs/tools/misc/rpm-ostree/default.nix b/pkgs/tools/misc/rpm-ostree/default.nix
index 8df9666c10b..997d8279e04 100644
--- a/pkgs/tools/misc/rpm-ostree/default.nix
+++ b/pkgs/tools/misc/rpm-ostree/default.nix
@@ -6,8 +6,8 @@ let
   libglnx-src = fetchFromGitHub {
     owner  = "GNOME";
     repo   = "libglnx";
-    rev    = "08ae6639e522e9b11765245fbecdbbe474ccde98";
-    sha256 = "1k7fbivi2mwb2x5bqqbqc3nbnfjjw1l911hs914197hyqpy21dab";
+    rev    = "85c9dd5c073a8c0d74c4baa2e4a94f5535984e62";
+    sha256 = "08m8wxlkymwq5hsc26k7ndwiqiw1ggaaxyi2qfhqznasgbp4g623";
   };
 in stdenv.mkDerivation rec {
   rev  = "v2016.1";
diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix
index bc07f3e536f..a14602de64e 100644
--- a/pkgs/tools/package-management/dpkg/default.nix
+++ b/pkgs/tools/package-management/dpkg/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "dpkg-${version}";
-  version = "1.18.5";
+  version = "1.18.6";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/d/dpkg/dpkg_${version}.tar.xz";
-    sha256 = "01wb8qa4vv2dpd1gv5bm0qzgzb35wn5ij7daqd7b3977l5k6lkh7";
+    sha256 = "18nywp0gs8bnywll9qrcg8g1fli4p5xd6h8sazhsmrxgp8iw62yx";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/security/eid-mw/default.nix b/pkgs/tools/security/eid-mw/default.nix
index b6a7b2fedbe..23f10ba0750 100644
--- a/pkgs/tools/security/eid-mw/default.nix
+++ b/pkgs/tools/security/eid-mw/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, gtk3, nssTools, pcsclite
-, pkgconfig }:
+{ stdenv, fetchFromGitHub
+, autoreconfHook, pkgconfig
+, gtk3, nssTools, pcsclite }:
 
 stdenv.mkDerivation rec {
   name = "eid-mw-${version}";
-  version = "4.1.16";
+  version = "4.1.17";
 
   src = fetchFromGitHub {
-    sha256 = "14b17aa45l0pyqd87c17mgfmpgq1qmybnl6hq9mc29rxw6jdb1ka";
+    sha256 = "11d4wafcbhamkqvcfqkpz1sq66jq7bxz07m777cqsnyibccns7q6";
     rev = "v${version}";
     repo = "eid-mw";
     owner = "Fedict";
   };
 
-  buildInputs = [ gtk3 pcsclite ];
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ gtk3 pcsclite ];
 
   postPatch = ''
     sed 's@m4_esyscmd_s(.*,@[${version}],@' -i configure.ac
diff --git a/pkgs/tools/system/thinkfan/default.nix b/pkgs/tools/system/thinkfan/default.nix
index 3e97a4b64a3..170d3b3305e 100644
--- a/pkgs/tools/system/thinkfan/default.nix
+++ b/pkgs/tools/system/thinkfan/default.nix
@@ -18,14 +18,17 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -p $out/bin;
-    mv thinkfan $out/bin/;
+    install -Dm755 {.,$out/bin}/thinkfan
+
+    cd $sourceRoot
+    install -Dm644 {.,$out/share/doc/thinkfan}/README
+    cp -R examples $out/share/doc/thinkfan
+    install -Dm644 {.,$out/share/man/man1}/thinkfan.1
   '';
 
   meta = {
-    description = "";
     license = stdenv.lib.licenses.gpl3;
-    homepage = "http://thinkfan.sourceforge.net/";
+    homepage = http://thinkfan.sourceforge.net/;
     maintainers = with stdenv.lib.maintainers; [ iElectric ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/text/html-tidy/default.nix b/pkgs/tools/text/html-tidy/default.nix
index 062715b8302..c0db454ed29 100644
--- a/pkgs/tools/text/html-tidy/default.nix
+++ b/pkgs/tools/text/html-tidy/default.nix
@@ -13,6 +13,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake libxslt/*manpage*/ ];
 
+  cmakeFlags = stdenv.lib.optional
+    (stdenv.cross.libc or null == "msvcrt") "-DCMAKE_SYSTEM_NAME=Windows";
+
   # ATM bin/tidy is statically linked, as upstream provides no other option yet.
   # https://github.com/htacg/tidy-html5/issues/326#issuecomment-160322107
 
diff --git a/pkgs/tools/typesetting/asciidoctor/Gemfile b/pkgs/tools/typesetting/asciidoctor/Gemfile
new file mode 100644
index 00000000000..d382e6397e1
--- /dev/null
+++ b/pkgs/tools/typesetting/asciidoctor/Gemfile
@@ -0,0 +1,6 @@
+source 'https://rubygems.org'
+gem 'asciidoctor'
+gem 'asciidoctor-diagram'
+gem 'asciidoctor-bespoke'
+gem 'asciidoctor-pdf'
+gem 'asciidoctor-latex'
diff --git a/pkgs/tools/typesetting/asciidoctor/Gemfile.lock b/pkgs/tools/typesetting/asciidoctor/Gemfile.lock
new file mode 100644
index 00000000000..6f704c44ac0
--- /dev/null
+++ b/pkgs/tools/typesetting/asciidoctor/Gemfile.lock
@@ -0,0 +1,87 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    Ascii85 (1.0.2)
+    addressable (2.4.0)
+    afm (0.2.2)
+    asciidoctor (1.5.4)
+    asciidoctor-bespoke (1.0.0.alpha.1)
+      asciidoctor (>= 1.5.0)
+      slim (~> 3.0.6)
+      thread_safe (~> 0.3.5)
+    asciidoctor-diagram (1.4.0)
+      asciidoctor (~> 1.5.0)
+    asciidoctor-latex (1.5.0.6.dev)
+      asciidoctor (~> 1.5, >= 1.5.2)
+      htmlentities (~> 4.3)
+      opal (~> 0.6.3)
+    asciidoctor-pdf (1.5.0.alpha.11)
+      asciidoctor (~> 1.5.0)
+      prawn (>= 1.3.0, < 3.0.0)
+      prawn-icon (= 1.0.0)
+      prawn-svg (= 0.21.0)
+      prawn-table (= 0.2.2)
+      prawn-templates (= 0.0.3)
+      safe_yaml (~> 1.0.4)
+      thread_safe (~> 0.3.5)
+      treetop (= 1.5.3)
+    concurrent-ruby (1.0.1)
+    css_parser (1.4.1)
+      addressable
+    hashery (2.1.2)
+    htmlentities (4.3.4)
+    json (1.8.3)
+    opal (0.6.3)
+      source_map
+      sprockets
+    pdf-core (0.6.1)
+    pdf-reader (1.4.0)
+      Ascii85 (~> 1.0.0)
+      afm (~> 0.2.1)
+      hashery (~> 2.0)
+      ruby-rc4
+      ttfunk
+    polyglot (0.3.5)
+    prawn (2.1.0)
+      pdf-core (~> 0.6.1)
+      ttfunk (~> 1.4.0)
+    prawn-icon (1.0.0)
+      prawn (>= 1.1.0, < 3.0.0)
+    prawn-svg (0.21.0)
+      css_parser (~> 1.3)
+      prawn (>= 0.8.4, < 3)
+    prawn-table (0.2.2)
+      prawn (>= 1.3.0, < 3.0.0)
+    prawn-templates (0.0.3)
+      pdf-reader (~> 1.3)
+      prawn (>= 0.15.0)
+    rack (1.6.4)
+    ruby-rc4 (0.1.5)
+    safe_yaml (1.0.4)
+    slim (3.0.6)
+      temple (~> 0.7.3)
+      tilt (>= 1.3.3, < 2.1)
+    source_map (3.0.1)
+      json
+    sprockets (3.6.0)
+      concurrent-ruby (~> 1.0)
+      rack (> 1, < 3)
+    temple (0.7.6)
+    thread_safe (0.3.5)
+    tilt (2.0.2)
+    treetop (1.5.3)
+      polyglot (~> 0.3)
+    ttfunk (1.4.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  asciidoctor
+  asciidoctor-bespoke
+  asciidoctor-diagram
+  asciidoctor-latex
+  asciidoctor-pdf
+
+BUNDLED WITH
+   1.11.2
diff --git a/pkgs/tools/typesetting/asciidoctor/default.nix b/pkgs/tools/typesetting/asciidoctor/default.nix
new file mode 100644
index 00000000000..dd90444d6af
--- /dev/null
+++ b/pkgs/tools/typesetting/asciidoctor/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, bundlerEnv, ruby_2_2, curl }:
+
+bundlerEnv rec {
+  name = "asciidoctor-${version}";
+  version = "1.5.4";
+
+  ruby = ruby_2_2;
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+
+  # Delete dependencies' executables
+  postBuild = ''
+    find $out/bin -type f -not -wholename '*bin/asciidoctor*' -print0 \
+    | xargs -0 rm
+  '';
+
+  meta = with lib; {
+    description = "A faster Asciidoc processor written in Ruby";
+    homepage = http://asciidoctor.org/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ gpyh ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/typesetting/asciidoctor/gemset.nix b/pkgs/tools/typesetting/asciidoctor/gemset.nix
new file mode 100644
index 00000000000..b53e0765d5f
--- /dev/null
+++ b/pkgs/tools/typesetting/asciidoctor/gemset.nix
@@ -0,0 +1,267 @@
+{
+  addressable = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0mpn7sbjl477h56gmxsjqb89r5s3w7vx5af994ssgc3iamvgzgvs";
+      type = "gem";
+    };
+    version = "2.4.0";
+  };
+  afm = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06kj9hgd0z8pj27bxp2diwqh6fv7qhwwm17z64rhdc4sfn76jgn8";
+      type = "gem";
+    };
+    version = "0.2.2";
+  };
+  Ascii85 = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0j95sbxd18kc8rhcnvl1w37kflqpax1r12h1x47gh4xxn3mz4m7q";
+      type = "gem";
+    };
+    version = "1.0.2";
+  };
+  asciidoctor = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xrli1fjsf1f0h6d9g55vzivxbqac2ygawcacx5ijnqn522wg9qc";
+      type = "gem";
+    };
+    version = "1.5.4";
+  };
+  asciidoctor-bespoke = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1awy933sswxvi2hxpll3rh9phxcvmqhrbb91m6ibjchnf7qsl3zk";
+      type = "gem";
+    };
+    version = "1.0.0.alpha.1";
+  };
+  asciidoctor-diagram = {
+    dependencies = ["asciidoctor"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yb2gqzzbvgf5im0bhv26s3h09m9m6a0pjlq3swqcvwi1szc64k5";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
+  asciidoctor-latex = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0kzql61w4phr45w771lvmlmvg22h2wd11n9frrzk3k7psqqd7k61";
+      type = "gem";
+    };
+    version = "1.5.0.6.dev";
+  };
+  asciidoctor-pdf = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06jsbn1yiavg6r07k93rmjxj6ah8csqla5mpymqjzslrkgjg5brs";
+      type = "gem";
+    };
+    version = "1.5.0.alpha.11";
+  };
+  concurrent-ruby = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13igpwgbsq701vzh1lrxs9dlqdgs58kflw8vw35644amwnj1cmjn";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
+  css_parser = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ql5q4n39278prbdjdsxx9wkxkxblgzzn0qcdqnwibgd1dkvb5av";
+      type = "gem";
+    };
+    version = "1.4.1";
+  };
+  hashery = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qj8815bf7q6q7llm5rzdz279gzmpqmqqicxnzv066a020iwqffj";
+      type = "gem";
+    };
+    version = "2.1.2";
+  };
+  htmlentities = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
+      type = "gem";
+    };
+    version = "4.3.4";
+  };
+  json = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nsby6ry8l9xg3yw4adlhk2pnc7i0h0rznvcss4vk3v74qg0k8lc";
+      type = "gem";
+    };
+    version = "1.8.3";
+  };
+  opal = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dmdxhmg43ibd4bsldssslsz8870hzknwcxiv9l1838lh6hd390k";
+      type = "gem";
+    };
+    version = "0.6.3";
+  };
+  pdf-core = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1s0h0kkddkivgpf7k1jni9nzqxw09d9bgcsvyga407ixbiipkgfy";
+      type = "gem";
+    };
+    version = "0.6.1";
+  };
+  pdf-reader = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0j9cimzw2waic800108qmnds7w33xd9y3bdvf9qzijwv9wjv0iq1";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
+  polyglot = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr";
+      type = "gem";
+    };
+    version = "0.3.5";
+  };
+  prawn = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18f99v3r0jzym38s68hr0y8anrilv98shmsdf763ascd0gc5dj2n";
+      type = "gem";
+    };
+    version = "2.1.0";
+  };
+  prawn-icon = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07dcsvxg52zdywhg28p6zsbj7ybz3xzbklawc1n7jwym2mli3916";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  prawn-svg = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1p5fsamh33xqp2gld0j4ii80awsxmm4ffp5pq13m0s1gavzaapc3";
+      type = "gem";
+    };
+    version = "0.21.0";
+  };
+  prawn-table = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nxd6qmxqwl850icp18wjh5k0s3amxcajdrkjyzpfgq0kvilcv9k";
+      type = "gem";
+    };
+    version = "0.2.2";
+  };
+  prawn-templates = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0d14sq01c5zn0ywzazwcz6lkk235za36km53wqbf1bqabdb1ls10";
+      type = "gem";
+    };
+    version = "0.0.3";
+  };
+  rack = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09bs295yq6csjnkzj7ncj50i6chfxrhmzg1pk6p0vd2lb9ac8pj5";
+      type = "gem";
+    };
+    version = "1.6.4";
+  };
+  ruby-rc4 = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00vci475258mmbvsdqkmqadlwn6gj9m01sp7b5a3zd90knil1k00";
+      type = "gem";
+    };
+    version = "0.1.5";
+  };
+  safe_yaml = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
+      type = "gem";
+    };
+    version = "1.0.4";
+  };
+  slim = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1szs71hh0msm5gj6qbcxw44m3hqnwybx4yh02scwixnwg576058k";
+      type = "gem";
+    };
+    version = "3.0.6";
+  };
+  source_map = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fviv92glr51v2zqy4i5jzi3hzpvjrcwyrxddcfr84ki65zb7pkv";
+      type = "gem";
+    };
+    version = "3.0.1";
+  };
+  sprockets = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "16fnlp4fqzrdxlbalbx3r0bir7dwyr1asg7s9lsmmczngl0x7fw7";
+      type = "gem";
+    };
+    version = "3.6.0";
+  };
+  temple = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ysraljv7lkb04z5vdyrkijab7j1jzj1mgz4bj82744dp7d0rhb0";
+      type = "gem";
+    };
+    version = "0.7.6";
+  };
+  thread_safe = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr";
+      type = "gem";
+    };
+    version = "0.3.5";
+  };
+  tilt = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lkd40xfdqkp333vdfhrfjmi2y7k2hjs4azawfb62mrkfp7ivj84";
+      type = "gem";
+    };
+    version = "2.0.2";
+  };
+  treetop = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0wpl5z33796nz2ah44waflrd1girbra281d9i3m9nz4ylg1ljg5b";
+      type = "gem";
+    };
+    version = "1.5.3";
+  };
+  ttfunk = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1k725rji58i0qx5xwf7p9d07cmhmjixqkdvhg1wk3rpp1753cf1j";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 5cbaf145bd4..acf03896cc0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -876,6 +876,8 @@ in
     enableStandardFeatures = true;
     enableExtraPlugins = true;
   });
+  
+  asciidoctor = callPackage ../tools/typesetting/asciidoctor { };
 
   autossh = callPackage ../tools/networking/autossh { };
 
@@ -5595,7 +5597,7 @@ in
     ruby_2_0_0
     ruby_2_1_7
     ruby_2_2_3
-    ruby_2_3_0;
+    ruby_2_3_1;
 
   # Ruby aliases
   ruby = ruby_2_3;
@@ -5603,7 +5605,7 @@ in
   ruby_2_0 = ruby_2_0_0;
   ruby_2_1 = ruby_2_1_7;
   ruby_2_2 = ruby_2_2_3;
-  ruby_2_3 = ruby_2_3_0;
+  ruby_2_3 = ruby_2_3_1;
 
   scsh = callPackage ../development/interpreters/scsh { };
 
@@ -12500,6 +12502,7 @@ in
   firefox-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin {
     gconf = pkgs.gnome.GConf;
     inherit (pkgs.gnome) libgnome libgnomeui;
+    inherit (pkgs.gnome3) defaultIconTheme;
   };
 
   firefox-bin = self.wrapFirefox firefox-bin-unwrapped {
@@ -14799,6 +14802,8 @@ in
 
   chocolateDoom = callPackage ../games/chocolate-doom { };
 
+  ckan = callPackage ../games/ckan { };
+
   cockatrice = qt5.callPackage ../games/cockatrice {  };
 
   confd = goPackages.confd.bin // { outputs = [ "bin" ]; };
@@ -16692,6 +16697,8 @@ in
 
   bullet = callPackage ../development/libraries/bullet {};
 
+  spdlog = callPackage ../development/libraries/spdlog { };
+
   dart = callPackage ../development/interpreters/dart { };
 
   httrack = callPackage ../tools/backup/httrack { };
diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix
index 65b210544cb..25655ce0b8b 100644
--- a/pkgs/top-level/go-packages.nix
+++ b/pkgs/top-level/go-packages.nix
@@ -243,6 +243,13 @@ let
     sha256 = "0gwplb1b4fvav1vjf4b2dypy5rcp2w41vrbxkd1dsmac870cy75p";
   };
 
+  archiver = buildFromGitHub {
+    rev = "85f054813ed511646b0ce5e047697e0651b8e1a4";
+    owner = "mholt";
+    repo = "archiver";
+    sha256 = "0b38mrfm3rwgdi7hrp4gjhf0y0f6bw73qjkfrkafxjrdpdg7nyly";
+  };
+  
   asciinema = buildFromGitHub {
     rev = "v1.2.0";
     owner = "asciinema";
@@ -412,13 +419,13 @@ let
   };
 
   caddy = buildFromGitHub {
-    rev     = "9099375b11b7b5e62b831627c2927d1c4c666071";
-    version = "v0.8.2";
+    rev     = "e2234497b79603388b58ba226abb157aa4aaf065";
+    version = "v0.8.3";
     owner   = "mholt";
     repo    = "caddy";
-    sha256  = "1zdy2sxir21ngh2ird01sv4fgj6sy3wl4s6k4piklri8ps1zw0k0";
+    sha256  = "1snijkbz02yr7wij7bcmrj4257709sbklb3nhb5qmy95b9ssffm6";
     buildInputs = [
-      acme blackfriday crypto go-humanize go-shlex go-syslog
+      acme archiver blackfriday crypto go-humanize go-shlex go-syslog
       http-authentication lumberjack-v2 toml websocket yaml-v2
     ];
     disabled = isGo14 || isGo15;
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 8edba3627e4..8d46bc57b1a 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -25766,12 +25766,14 @@ in modules // {
   };
 
   neovim = buildPythonPackage rec {
-    version = "0.0.38";
+    version = "0.1.7";
     name = "neovim-${version}";
 
+    disabled = isPy35;
+
     src = pkgs.fetchurl {
       url = "mirror://pypi/n/neovim/${name}.tar.gz";
-      sha256 = "93f475d5583a053af919ba0729b32b3fefef1dbde4717b5657d806bdc69b76b3";
+      sha256 = "0il6h9qpy9rkgz16yn2bhhg5f23w41wvm9ivlscx5l55llq9sd9q";
     };
 
     propagatedBuildInputs = with self; [ msgpack ]
@@ -25788,9 +25790,17 @@ in modules // {
 
   neovim_gui = buildPythonPackage rec {
     name = "neovim-pygui-${self.neovim.version}";
+    version = "0.1.2";
     disabled = !isPy27;
 
-    src = self.neovim.src;
+    src = pkgs.fetchFromGitHub {
+      owner = "neovim";
+      repo = "python-gui";
+      rev = version;
+      sha256 = "0sc5apxwxgfj57q7d9cih404jgvczbp7slz5z8wqdyxpxlb42pn2";
+    };
+
+    buildInputs = with self; [ neovim ];
 
     propagatedBuildInputs = [
       self.msgpack
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 763e891173c..8b246c5340f 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -323,9 +323,6 @@ let
       };
 
       linuxPackages_testing = { };
-      linuxPackages_grsec_stable_desktop = { };
-      linuxPackages_grsec_stable_server = { };
-      linuxPackages_grsec_stable_server_xen = { };
       linuxPackages_grsec_testing_desktop = { };
       linuxPackages_grsec_testing_server = { };
       linuxPackages_grsec_testing_server_xen = { };