summary refs log tree commit diff
diff options
context:
space:
mode:
authorCharles Strahan <charles.c.strahan@gmail.com>2015-01-25 16:01:48 -0500
committerCharles Strahan <charles.c.strahan@gmail.com>2015-01-25 16:28:18 -0500
commit6eaa4199202c905776a8227f1b6a8056ed2686fd (patch)
tree52b153347deb43440e135536c0217c5fce59b42e
parent989a894fc8943271f70d208b584394f54d157eaf (diff)
downloadnixpkgs-6eaa4199202c905776a8227f1b6a8056ed2686fd.tar
nixpkgs-6eaa4199202c905776a8227f1b6a8056ed2686fd.tar.gz
nixpkgs-6eaa4199202c905776a8227f1b6a8056ed2686fd.tar.bz2
nixpkgs-6eaa4199202c905776a8227f1b6a8056ed2686fd.tar.lz
nixpkgs-6eaa4199202c905776a8227f1b6a8056ed2686fd.tar.xz
nixpkgs-6eaa4199202c905776a8227f1b6a8056ed2686fd.tar.zst
nixpkgs-6eaa4199202c905776a8227f1b6a8056ed2686fd.zip
gitlab: fix evaluation
-rw-r--r--nixos/modules/services/misc/gitlab.nix19
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile258
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile.lock7
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile.nix1508
-rw-r--r--pkgs/applications/version-management/gitlab/README5
-rw-r--r--pkgs/applications/version-management/gitlab/bootstrap.nix45
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix111
-rw-r--r--pkgs/applications/version-management/gitlab/gemset.nix2398
-rwxr-xr-xpkgs/applications/version-management/gitlab/generate_nix_requirements.rb56
-rw-r--r--pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix26
-rw-r--r--pkgs/development/interpreters/ruby/bundler-env/default.nix12
-rw-r--r--pkgs/top-level/all-packages.nix7
12 files changed, 2760 insertions, 1692 deletions
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index efa139c8dfd..78497babb34 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -7,8 +7,10 @@ with lib;
 let
   cfg = config.services.gitlab;
 
-  ruby = pkgs.ruby;
-  rubyLibs = pkgs.rubyLibs;
+  ruby = pkgs.gitlab.ruby;
+  bundler = pkgs.bundler;
+
+  gemHome = "${pkgs.gitlab.env}/${ruby.gemPath}"
 
   databaseYml = ''
     production:
@@ -38,13 +40,14 @@ let
 
   gitlab-runner = pkgs.stdenv.mkDerivation rec {
     name = "gitlab-runner";
-    buildInputs = [ pkgs.gitlab pkgs.rubyLibs.bundler pkgs.makeWrapper ];
+    buildInputs = [ pkgs.gitlab pkgs.bundler pkgs.makeWrapper ];
     phases = "installPhase fixupPhase";
     buildPhase = "";
     installPhase = ''
       mkdir -p $out/bin
-      makeWrapper ${rubyLibs.bundler}/bin/bundle $out/bin/gitlab-runner\
+      makeWrapper ${bundler}/bin/bundle $out/bin/gitlab-runner\
           --set RAKEOPT '"-f ${pkgs.gitlab}/share/gitlab/Rakefile"'\
+          --set GEM_HOME '${gemHome}'\
           --set UNICORN_PATH "${cfg.stateDir}/"\
           --set GITLAB_PATH "${pkgs.gitlab}/share/gitlab/"\
           --set GITLAB_APPLICATION_LOG_PATH "${cfg.stateDir}/log/application.log"\
@@ -172,6 +175,7 @@ in {
       after = [ "network.target" "redis.service" ];
       wantedBy = [ "multi-user.target" ];
       environment.HOME = "${cfg.stateDir}/home";
+      environment.GEM_HOME = gemHome;
       environment.UNICORN_PATH = "${cfg.stateDir}/";
       environment.GITLAB_PATH = "${pkgs.gitlab}/share/gitlab/";
       environment.GITLAB_APPLICATION_LOG_PATH = "${cfg.stateDir}/log/application.log";
@@ -201,7 +205,7 @@ in {
         Group = "gitlab";
         TimeoutSec = "300";
         WorkingDirectory = "${pkgs.gitlab}/share/gitlab";
-        ExecStart="${rubyLibs.bundler}/bin/bundle exec \"sidekiq -q post_receive -q mailer -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e production -P ${cfg.stateDir}/tmp/sidekiq.pid\"";
+        ExecStart="${bundler}/bin/bundle exec \"sidekiq -q post_receive -q mailer -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e production -P ${cfg.stateDir}/tmp/sidekiq.pid\"";
       };
     };
 
@@ -209,6 +213,7 @@ in {
       after = [ "network.target" "postgresql.service" "redis.service" ];
       wantedBy = [ "multi-user.target" ];
       environment.HOME = "${cfg.stateDir}/home";
+      environment.GEM_HOME = gemHome;
       environment.UNICORN_PATH = "${cfg.stateDir}/";
       environment.GITLAB_PATH = "${pkgs.gitlab}/share/gitlab/";
       environment.GITLAB_APPLICATION_LOG_PATH = "${cfg.stateDir}/log/application.log";
@@ -263,7 +268,7 @@ in {
 
             # force=yes disables the manual-interaction yes/no prompt
             # which breaks without an stdin.
-            force=yes ${rubyLibs.bundler}/bin/bundle exec rake -f ${pkgs.gitlab}/share/gitlab/Rakefile gitlab:setup RAILS_ENV=production
+            force=yes ${bundler}/bin/bundle exec rake -f ${pkgs.gitlab}/share/gitlab/Rakefile gitlab:setup RAILS_ENV=production
           fi
         fi
 
@@ -285,7 +290,7 @@ in {
         Group = "gitlab";
         TimeoutSec = "300";
         WorkingDirectory = "${pkgs.gitlab}/share/gitlab";
-        ExecStart="${rubyLibs.bundler}/bin/bundle exec \"unicorn -c ${cfg.stateDir}/config/unicorn.rb -E production\"";
+        ExecStart="${bundler}/bin/bundle exec \"unicorn -c ${cfg.stateDir}/config/unicorn.rb -E production\"";
       };
 
     };
diff --git a/pkgs/applications/version-management/gitlab/Gemfile b/pkgs/applications/version-management/gitlab/Gemfile
new file mode 100644
index 00000000000..f6f3607cbd1
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab/Gemfile
@@ -0,0 +1,258 @@
+source "https://rubygems.org"
+
+def darwin_only(require_as)
+  RUBY_PLATFORM.include?('darwin') && require_as
+end
+
+def linux_only(require_as)
+  RUBY_PLATFORM.include?('linux') && require_as
+end
+
+gem "rails", "~> 4.1.0"
+
+# Make links from text
+gem 'rails_autolink', '~> 1.1'
+
+# Default values for AR models
+gem "default_value_for", "~> 3.0.0"
+
+# Supported DBs
+gem "mysql2", group: :mysql
+gem "pg", group: :postgres
+
+# Auth
+gem "devise", '3.2.4'
+gem "devise-async", '0.9.0'
+gem 'omniauth', "~> 1.1.3"
+gem 'omniauth-google-oauth2'
+gem 'omniauth-twitter'
+gem 'omniauth-github'
+gem 'omniauth-shibboleth'
+
+# Extracting information from a git repository
+# Provide access to Gitlab::Git library
+gem "gitlab_git", '7.0.0.rc10'
+
+# Ruby/Rack Git Smart-HTTP Server Handler
+gem 'gitlab-grack', '~> 2.0.0.pre', require: 'grack'
+
+# LDAP Auth
+gem 'gitlab_omniauth-ldap', '1.1.0', require: "omniauth-ldap"
+
+# Git Wiki
+gem 'gollum-lib', '~> 3.0.0'
+
+# Language detection
+gem "gitlab-linguist", "~> 3.0.0", require: "linguist"
+
+# API
+gem "grape", "~> 0.6.1"
+gem "grape-entity", "~> 0.4.2"
+gem 'rack-cors', require: 'rack/cors'
+
+# Format dates and times
+# based on human-friendly examples
+gem "stamp"
+
+# Enumeration fields
+gem 'enumerize'
+
+# Pagination
+gem "kaminari", "~> 0.15.1"
+
+# HAML
+gem "haml-rails"
+
+# Files attachments
+gem "carrierwave"
+
+# Drag and Drop UI
+gem 'dropzonejs-rails'
+
+# for aws storage
+gem "fog", "~> 1.14"
+gem "unf"
+
+# Authorization
+gem "six"
+
+# Seed data
+gem "seed-fu"
+
+# Markup pipeline for GitLab
+gem 'html-pipeline-gitlab', '~> 0.1.0'
+
+# Markdown to HTML
+gem "github-markup"
+
+# Required markup gems by github-markdown
+gem 'redcarpet', '~> 3.1.2'
+gem 'RedCloth'
+gem 'rdoc', '~>3.6'
+gem 'org-ruby', '= 0.9.9'
+gem 'creole', '~>0.3.6'
+gem 'wikicloth', '=0.8.1'
+gem 'asciidoctor', '= 0.1.4'
+
+# Diffs
+gem 'diffy', '~> 3.0.3'
+
+# Application server
+group :unicorn do
+  gem "unicorn", '~> 4.6.3'
+  gem 'unicorn-worker-killer'
+end
+
+# State machine
+gem "state_machine"
+
+# Issue tags
+gem "acts-as-taggable-on"
+
+# Background jobs
+gem 'slim'
+gem 'sinatra', require: nil
+gem 'sidekiq', '2.17.0'
+
+# HTTP requests
+gem "httparty"
+
+# Colored output to console
+gem "colored"
+
+# GitLab settings
+gem 'settingslogic'
+
+# Misc
+gem "foreman"
+gem 'version_sorter'
+
+# Cache
+gem "redis-rails"
+
+# Campfire integration
+gem 'tinder', '~> 1.9.2'
+
+# HipChat integration
+gem "hipchat", "~> 0.14.0"
+
+# Flowdock integration
+gem "gitlab-flowdock-git-hook", "~> 0.4.2"
+
+# Gemnasium integration
+gem "gemnasium-gitlab-service", "~> 0.2"
+
+# Slack integration
+gem "slack-notifier", "~> 0.3.2"
+
+# d3
+gem "d3_rails", "~> 3.1.4"
+
+# underscore-rails
+gem "underscore-rails", "~> 1.4.4"
+
+# Sanitize user input
+gem "sanitize", '~> 2.0'
+
+# Protect against bruteforcing
+gem "rack-attack"
+
+# Ace editor
+gem 'ace-rails-ap'
+
+# Keyboard shortcuts
+gem 'mousetrap-rails'
+
+# Semantic UI Sass for Sidebar
+gem 'semantic-ui-sass', '~> 0.16.1.0'
+
+gem "sass-rails", '~> 4.0.2'
+gem "coffee-rails"
+gem "uglifier"
+gem "therubyracer"
+gem 'turbolinks'
+gem 'jquery-turbolinks'
+
+gem 'select2-rails'
+gem 'jquery-atwho-rails', "~> 0.3.3"
+gem "jquery-rails"
+gem "jquery-ui-rails"
+gem "jquery-scrollto-rails"
+gem "raphael-rails", "~> 2.1.2"
+gem 'bootstrap-sass', '~> 3.0'
+gem "font-awesome-rails", '~> 4.2'
+gem "gitlab_emoji", "~> 0.0.1.1"
+gem "gon", '~> 5.0.0'
+gem 'nprogress-rails'
+gem 'request_store'
+gem "virtus"
+
+group :development do
+  gem "annotate", "~> 2.6.0.beta2"
+  gem "letter_opener"
+  gem 'quiet_assets', '~> 1.0.1'
+  gem 'rack-mini-profiler', require: false
+
+  # Better errors handler
+  gem 'better_errors'
+  gem 'binding_of_caller'
+
+  gem 'rails_best_practices'
+
+  # Docs generator
+  gem "sdoc"
+
+  # thin instead webrick
+  gem 'thin'
+end
+
+group :development, :test do
+  gem 'coveralls', require: false
+  # gem 'rails-dev-tweaks'
+  gem 'spinach-rails'
+  gem "rspec-rails"
+  gem "capybara", '~> 2.2.1'
+  gem "pry"
+  gem "awesome_print"
+  gem "database_cleaner"
+  gem "launchy"
+  gem 'factory_girl_rails'
+
+  # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
+  gem 'minitest', '~> 5.3.0'
+
+  # Generate Fake data
+  gem "ffaker"
+
+  # Guard
+  gem 'guard-rspec'
+  gem 'guard-spinach'
+
+  # Notification
+  gem 'rb-fsevent', require: darwin_only('rb-fsevent')
+  gem 'growl',      require: darwin_only('growl')
+  gem 'rb-inotify', require: linux_only('rb-inotify')
+
+  # PhantomJS driver for Capybara
+  gem 'poltergeist', '~> 1.5.1'
+
+  gem 'jasmine', '2.0.2'
+
+  gem "spring", '1.1.3'
+  gem "spring-commands-rspec", '1.0.1'
+  gem "spring-commands-spinach", '1.0.0'
+end
+
+group :test do
+  gem "simplecov", require: false
+  gem "shoulda-matchers", "~> 2.1.0"
+  gem 'email_spec'
+  gem "webmock"
+  gem 'test_after_commit'
+end
+
+group :production do
+  gem "gitlab_meta", '7.0'
+end
+
+gem "newrelic_rpm"
diff --git a/pkgs/applications/version-management/gitlab/Gemfile.lock b/pkgs/applications/version-management/gitlab/Gemfile.lock
index 8a1141d0861..314884fa36e 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/Gemfile.lock
@@ -281,6 +281,7 @@ GEM
       addressable (~> 2.3)
     letter_opener (1.1.2)
       launchy (~> 2.2)
+    libv8 (3.16.14.3)
     listen (2.3.1)
       celluloid (>= 0.15.2)
       rb-fsevent (>= 0.9.3)
@@ -297,6 +298,7 @@ GEM
     multi_json (1.10.1)
     multi_xml (0.5.5)
     multipart-post (1.2.0)
+    mysql2 (0.3.16)
     net-ldap (0.7.0)
     net-scp (1.1.2)
       net-ssh (>= 2.6.5)
@@ -420,6 +422,7 @@ GEM
       redis-store (~> 1.1.0)
     redis-store (1.1.4)
       redis (>= 2.2)
+    ref (1.0.5)
     request_store (1.0.5)
     require_all (1.3.2)
     rest-client (1.6.7)
@@ -518,6 +521,9 @@ GEM
     term-ansicolor (1.2.2)
       tins (~> 0.8)
     test_after_commit (0.2.2)
+    therubyracer (0.12.0)
+      libv8 (~> 3.16.14.0)
+      ref
     thin (1.6.1)
       daemons (>= 1.0.9)
       eventmachine (>= 1.0.0)
@@ -691,6 +697,7 @@ DEPENDENCIES
   stamp
   state_machine
   test_after_commit
+  therubyracer
   thin
   tinder (~> 1.9.2)
   turbolinks
diff --git a/pkgs/applications/version-management/gitlab/Gemfile.nix b/pkgs/applications/version-management/gitlab/Gemfile.nix
deleted file mode 100644
index 2e05d883abf..00000000000
--- a/pkgs/applications/version-management/gitlab/Gemfile.nix
+++ /dev/null
@@ -1,1508 +0,0 @@
-[
-{
-name = "RedCloth";
-hash = "b4cf450a8868ca00a48d6ea43346d75dac183a8590774dd5590f4e967d87ea1a";
-url = "http://rubygems.org/downloads/RedCloth-4.2.9.gem";
-version = "4.2.9";
-}
-{
-name = "ace-rails-ap";
-hash = "7bfbec4e8f7c7b6d2733fada398253f885ee48acd08201126a47a636b3085620";
-url = "http://rubygems.org/downloads/ace-rails-ap-2.0.1.gem";
-version = "2.0.1";
-}
-{
-name = "actionmailer";
-hash = "ddf61f96ecf52b918522f063effb28985d0f76deb5c3ad85ab8cf5ec39adab92";
-url = "http://rubygems.org/downloads/actionmailer-4.1.1.gem";
-version = "4.1.1";
-}
-{
-name = "actionpack";
-hash = "c11be56442eb570ba44d3b3ac74f6949f882c8dc76c56fceeb071daf64c5111d";
-url = "http://rubygems.org/downloads/actionpack-4.1.1.gem";
-version = "4.1.1";
-}
-{
-name = "actionview";
-hash = "5892b097fc3556c4ac25307f3c406ba697b6520ca7c34b7d1ff17e0c93d79072";
-url = "http://rubygems.org/downloads/actionview-4.1.1.gem";
-version = "4.1.1";
-}
-{
-name = "activemodel";
-hash = "c1d808d85b5e7f90593cb66ac7694f9288c819cdd1cb029790617f60cfed3232";
-url = "http://rubygems.org/downloads/activemodel-4.1.1.gem";
-version = "4.1.1";
-}
-{
-name = "activerecord";
-hash = "df9f2227e00779826ea8abe13ed1c6aa9ba5422b35e37c1b82f62480d2ea13a0";
-url = "http://rubygems.org/downloads/activerecord-4.1.1.gem";
-version = "4.1.1";
-}
-{
-name = "activesupport";
-hash = "7342801d69c8ca68c9005cafbc4a8f67069d3b51c0a4f5e2bbd061dcb26bba85";
-url = "http://rubygems.org/downloads/activesupport-4.1.1.gem";
-version = "4.1.1";
-}
-{
-name = "acts-as-taggable-on";
-hash = "4b75dd427cb721f38fe354e8a37d8c3d217779c9db204398890984694def753d";
-url = "http://rubygems.org/downloads/acts-as-taggable-on-2.4.1.gem";
-version = "2.4.1";
-}
-{
-name = "addressable";
-hash = "e74d0e825fe79b12943c7e3cbd3a5c92f7e3ebb94485b2493d320d6876321b86";
-url = "http://rubygems.org/downloads/addressable-2.3.5.gem";
-version = "2.3.5";
-}
-{
-name = "annotate";
-hash = "d92ab99c6d10d98fec361bb5501ee91f8f30d1a7b2a6267334d74a1c6b363656";
-url = "http://rubygems.org/downloads/annotate-2.6.0.gem";
-version = "2.6.0";
-}
-{
-name = "arel";
-hash = "c941f07bad89af26e8837c73d8a399b7777c721609f759eda015ed0081601636";
-url = "http://rubygems.org/downloads/arel-5.0.1.20140414130214.gem";
-version = "5.0.1.20140414130214";
-}
-{
-name = "asciidoctor";
-hash = "2a2d6f9aed31200c9c74e5b81dba1673eda2f7936599df016cbe608dd8e1cf92";
-url = "http://rubygems.org/downloads/asciidoctor-0.1.4.gem";
-version = "0.1.4";
-}
-{
-name = "awesome_print";
-hash = "f9fb1d1bafddc4739266c68f3a043e409716a620aea937d54d1ae07c278305cd";
-url = "http://rubygems.org/downloads/awesome_print-1.2.0.gem";
-version = "1.2.0";
-}
-{
-name = "axiom-types";
-hash = "f67b87e9d7276f78cbee8f09f9bd474d63d7b357d271c63bfac5092b4670d54c";
-url = "http://rubygems.org/downloads/axiom-types-0.0.5.gem";
-version = "0.0.5";
-}
-{
-name = "bcrypt";
-hash = "1c30953152c7151eac21aa59eed7ea933a7bc5d5838edea1d30d79b005955702";
-url = "http://rubygems.org/downloads/bcrypt-3.1.7.gem";
-version = "3.1.7";
-}
-{
-name = "better_errors";
-hash = "eec93a02c996a8105cd9409cff2a2156a16ff1609b93b9b0d38c623cdb42186c";
-url = "http://rubygems.org/downloads/better_errors-1.0.1.gem";
-version = "1.0.1";
-}
-{
-name = "binding_of_caller";
-hash = "d327682ce1d8e8cc46e282a46052946af0de16bef734014c63df0aac66334f96";
-url = "http://rubygems.org/downloads/binding_of_caller-0.7.2.gem";
-version = "0.7.2";
-}
-{
-name = "bootstrap-sass";
-hash = "3f9269bae459b9f48bcb46524497fe7c422919708d12d9d9b1096b45339654c7";
-url = "http://rubygems.org/downloads/bootstrap-sass-3.0.3.0.gem";
-version = "3.0.3.0";
-}
-{
-name = "builder";
-hash = "62fb9ad70ea42219a0c8d209a30281803712c717df7cb8f5ce5f63b4d489d191";
-url = "http://rubygems.org/downloads/builder-3.2.2.gem";
-version = "3.2.2";
-}
-{
-name = "capybara";
-hash = "0081ff6eaa33f4b5b0427db7ef0ca0af015a9bf6606126f41016db6feb58cdeb";
-url = "http://rubygems.org/downloads/capybara-2.2.1.gem";
-version = "2.2.1";
-}
-{
-name = "carrierwave";
-hash = "859069a445ffe03551cce9e239da424dabcc3b9a855e5f615ec62f6655d82aac";
-url = "http://rubygems.org/downloads/carrierwave-0.9.0.gem";
-version = "0.9.0";
-}
-{
-name = "celluloid";
-hash = "2bb549276898d262355818b54eee45161d565af08728a5fe83e51277ea49ea52";
-url = "http://rubygems.org/downloads/celluloid-0.15.2.gem";
-version = "0.15.2";
-}
-{
-name = "charlock_holmes";
-hash = "e52db7af0f7a652f55244455f84b4f1c09144f0d5e416f677a912f9147d6dfef";
-url = "http://rubygems.org/downloads/charlock_holmes-0.6.9.4.gem";
-version = "0.6.9.4";
-}
-{
-name = "cliver";
-hash = "8775445218c612bb57f50c392c4906a1ab5cca067eab093bde3cc77d6426ce24";
-url = "http://rubygems.org/downloads/cliver-0.3.2.gem";
-version = "0.3.2";
-}
-{
-name = "code_analyzer";
-hash = "27b610b987b3421d17a615cbab0c712f90bca45e82391ab9082670af97360bed";
-url = "http://rubygems.org/downloads/code_analyzer-0.4.3.gem";
-version = "0.4.3";
-}
-{
-name = "coderay";
-hash = "5a943c59e36f7ef9dd2677855735656413af02e3f302431e9c548aabe89f3c15";
-url = "http://rubygems.org/downloads/coderay-1.1.0.gem";
-version = "1.1.0";
-}
-{
-name = "coercible";
-hash = "5081ad24352cc8435ce5472bc2faa30260c7ea7f2102cc6a9f167c4d9bffaadc";
-url = "http://rubygems.org/downloads/coercible-1.0.0.gem";
-version = "1.0.0";
-}
-{
-name = "coffee-rails";
-hash = "2f6e36f2c7a2b5ea4ba2aae5d8f70b443e47f010e1f645aec28368d783e1d88a";
-url = "http://rubygems.org/downloads/coffee-rails-4.0.1.gem";
-version = "4.0.1";
-}
-{
-name = "coffee-script";
-hash = "acdd9f907950cfcf2342bc621ac9d11c9b0f34e2be8ab02de7845c673fb96c8c";
-url = "http://rubygems.org/downloads/coffee-script-2.2.0.gem";
-version = "2.2.0";
-}
-{
-name = "coffee-script-source";
-hash = "64a5e37557b367c3a087643ed033b1dce485d6c21f96262aecc806d93280635c";
-url = "http://rubygems.org/downloads/coffee-script-source-1.6.3.gem";
-version = "1.6.3";
-}
-{
-name = "colored";
-hash = "9d82b47ac589ce7f6cab64b1f194a2009e9fd00c326a5357321f44afab2c1d2c";
-url = "http://rubygems.org/downloads/colored-1.2.gem";
-version = "1.2";
-}
-{
-name = "colorize";
-hash = "0f3d2c56f6a9da8dd6e8bb7c4448dab91a682615ef49feff415a8a6999dedfe5";
-url = "http://rubygems.org/downloads/colorize-0.5.8.gem";
-version = "0.5.8";
-}
-{
-name = "connection_pool";
-hash = "41c0f1ff0c5a697869344ff50ae0d952fe99b52b26c21744b06fac34323adcb9";
-url = "http://rubygems.org/downloads/connection_pool-1.2.0.gem";
-version = "1.2.0";
-}
-{
-name = "coveralls";
-hash = "449284ddd071e2297d06d0a9d18fe4c2b4027848263b1087d4180fb44e03e36b";
-url = "http://rubygems.org/downloads/coveralls-0.7.0.gem";
-version = "0.7.0";
-}
-{
-name = "crack";
-hash = "4f9690bc66278494e0c525989b8ebfa89ce44087cd1733857d6ca9162dd16271";
-url = "http://rubygems.org/downloads/crack-0.4.1.gem";
-version = "0.4.1";
-}
-{
-name = "creole";
-hash = "88ceda907e86402e629557002dfdc3a64c96ece2f85af8d787b96422639998f3";
-url = "http://rubygems.org/downloads/creole-0.3.8.gem";
-version = "0.3.8";
-}
-{
-name = "d3_rails";
-hash = "28c6b97d4167481b78525cb2e2aa6b066fff6a086bb68a25762dec502cdf24d9";
-url = "http://rubygems.org/downloads/d3_rails-3.1.10.gem";
-version = "3.1.10";
-}
-{
-name = "daemons";
-hash = "fee738586059ac5051ed89b40b63d02bdc9a19254f9b6e58848dea1c2f3135c8";
-url = "http://rubygems.org/downloads/daemons-1.1.9.gem";
-version = "1.1.9";
-}
-{
-name = "database_cleaner";
-hash = "f675eb78d4fed65ae1e8503ccef4dfd25f4a3c3702bfb792789720a39a2f82a7";
-url = "http://rubygems.org/downloads/database_cleaner-1.3.0.gem";
-version = "1.3.0";
-}
-{
-name = "debug_inspector";
-hash = "1594188ffd35b9973fa1e048497e4aa63abad0c3cbba0670e17935005e302781";
-url = "http://rubygems.org/downloads/debug_inspector-0.0.2.gem";
-version = "0.0.2";
-}
-{
-name = "default_value_for";
-hash = "1fbd89cb5e7dab1820f7da6bbf5972c36e41acaa25101f129a7adffe9b987021";
-url = "http://rubygems.org/downloads/default_value_for-3.0.0.gem";
-version = "3.0.0";
-}
-{
-name = "descendants_tracker";
-hash = "01d7079bc81d4743e138bf77a7cc1ece123834fa6883f4241646163401922920";
-url = "http://rubygems.org/downloads/descendants_tracker-0.0.3.gem";
-version = "0.0.3";
-}
-{
-name = "devise";
-hash = "a37345a41049b5c4e02da561bcf922920b406cdd41970d1eb0023315050244fd";
-url = "http://rubygems.org/downloads/devise-3.2.4.gem";
-version = "3.2.4";
-}
-{
-name = "devise-async";
-hash = "b51aec324bfa56f5e51b00e5429546e9eeab4be99ac0971625afdeffde799486";
-url = "http://rubygems.org/downloads/devise-async-0.9.0.gem";
-version = "0.9.0";
-}
-{
-name = "diff-lcs";
-hash = "a1d3dde665292317a883d319066792e3f0e6a24cade4bc4cc47605d27664c9ed";
-url = "http://rubygems.org/downloads/diff-lcs-1.2.5.gem";
-version = "1.2.5";
-}
-{
-name = "diffy";
-hash = "15a1d91b0ea81cada6ef5977543e7c255b4f8c5c3d361e557c8aee52cdf58d62";
-url = "http://rubygems.org/downloads/diffy-3.0.3.gem";
-version = "3.0.3";
-}
-{
-name = "docile";
-hash = "5d3ee40b3a6567fe460601f3f4a3e199a98de37434ebfa242d751d0c79181255";
-url = "http://rubygems.org/downloads/docile-1.1.5.gem";
-version = "1.1.5";
-}
-{
-name = "dotenv";
-hash = "838e235fa00d343c3138dbc05aa2cf1ec626ff9f065d521917a79a86b4a980be";
-url = "http://rubygems.org/downloads/dotenv-0.9.0.gem";
-version = "0.9.0";
-}
-{
-name = "dropzonejs-rails";
-hash = "de86f5f58ca2e6f7212709db879f72d3eec16477a92296f03effabdd928c122b";
-url = "http://rubygems.org/downloads/dropzonejs-rails-0.4.14.gem";
-version = "0.4.14";
-}
-{
-name = "email_spec";
-hash = "2607e556f41ab7fb90dabd3eda3d21acec5c2afd3ee607ab713664473dda503f";
-url = "http://rubygems.org/downloads/email_spec-1.5.0.gem";
-version = "1.5.0";
-}
-{
-name = "emoji";
-hash = "2a74a4c6ff196cdc81e63198d30d8660b39b1147a59bd5f3639b39edf8fccf05";
-url = "http://rubygems.org/downloads/emoji-1.0.1.gem";
-version = "1.0.1";
-}
-{
-name = "enumerize";
-hash = "4608034132557260e16a936c0eef54bf26c21eda261da25f89e49edd475de665";
-url = "http://rubygems.org/downloads/enumerize-0.7.0.gem";
-version = "0.7.0";
-}
-{
-name = "equalizer";
-hash = "d66d02ece6935c217e3a81b2e33487825633fd203144e495b6e29f07278909da";
-url = "http://rubygems.org/downloads/equalizer-0.0.8.gem";
-version = "0.0.8";
-}
-{
-name = "erubis";
-hash = "63653f5174a7997f6f1d6f465fbe1494dcc4bdab1fb8e635f6216989fb1148ba";
-url = "http://rubygems.org/downloads/erubis-2.7.0.gem";
-version = "2.7.0";
-}
-{
-name = "escape_utils";
-hash = "8f14b54e78845b9673d4ade8ec7f748652e18e19cd9800605f810ba0d4bbe555";
-url = "http://rubygems.org/downloads/escape_utils-0.2.4.gem";
-version = "0.2.4";
-}
-{
-name = "eventmachine";
-hash = "34424c87fc517f70ba137fe2281d16b53ce9c13f5cbfc2dda3ada56e96a65827";
-url = "http://rubygems.org/downloads/eventmachine-1.0.3.gem";
-version = "1.0.3";
-}
-{
-name = "excon";
-hash = "aa1018571cb72248f82a9b88ab631b53179d0de0f8169957eebe512404805f79";
-url = "http://rubygems.org/downloads/excon-0.32.1.gem";
-version = "0.32.1";
-}
-{
-name = "execjs";
-hash = "5a2e097ea0ae440cbbe6aebf54d83cf8596324fa85b7a725dfdb1e8afd5cf398";
-url = "http://rubygems.org/downloads/execjs-2.0.2.gem";
-version = "2.0.2";
-}
-{
-name = "expression_parser";
-hash = "2b56db3cffc48c3337f4f29f5bc2374c86e7ba29acb40269c74bb55af9f868a4";
-url = "http://rubygems.org/downloads/expression_parser-0.9.0.gem";
-version = "0.9.0";
-}
-{
-name = "factory_girl";
-hash = "bfa55ba5d3218c8e86adf251be79a3f936adadcae563f0d7462cfcb38802e28f";
-url = "http://rubygems.org/downloads/factory_girl-4.3.0.gem";
-version = "4.3.0";
-}
-{
-name = "factory_girl_rails";
-hash = "1fe68aa430afa25807a135ac348b5157ec5b70608fb7741e598d46570df540ca";
-url = "http://rubygems.org/downloads/factory_girl_rails-4.3.0.gem";
-version = "4.3.0";
-}
-{
-name = "faraday";
-hash = "289c3b5b57821b52988bdb5178d3e1149741f2bae5fbee2a80bc83feb44ba79d";
-url = "http://rubygems.org/downloads/faraday-0.8.9.gem";
-version = "0.8.9";
-}
-{
-name = "faraday_middleware";
-hash = "02b37848159983ed1e4374f46f02325bf0364e8eb1e0a38839d2b4deb4889bcf";
-url = "http://rubygems.org/downloads/faraday_middleware-0.9.0.gem";
-version = "0.9.0";
-}
-{
-name = "ffaker";
-hash = "18e03e1390c5bf0fc7ebf9a457fcce365b5e51e937b79c9e0c03e1191cc4f79f";
-url = "http://rubygems.org/downloads/ffaker-1.22.1.gem";
-version = "1.22.1";
-}
-{
-name = "ffi";
-hash = "57977d095c1c324ac1cb134863180b34d5743fed2b6d7528adc5ec71a581e320";
-url = "http://rubygems.org/downloads/ffi-1.9.3.gem";
-version = "1.9.3";
-}
-{
-name = "fog";
-hash = "ee28b0bae7004a98e139f65d8fe606d666534f4b5f96cef247bdd0374ec10b92";
-url = "http://rubygems.org/downloads/fog-1.21.0.gem";
-version = "1.21.0";
-}
-{
-name = "fog-brightbox";
-hash = "7362f7497c45e7aa9621a23d4486211c90126afd86d0a5603270d88894bb2b48";
-url = "http://rubygems.org/downloads/fog-brightbox-0.0.1.gem";
-version = "0.0.1";
-}
-{
-name = "fog-core";
-hash = "64e023ca8de23a0317ff3608c65068bbf722691c07a26c00752b9e51168d9df1";
-url = "http://rubygems.org/downloads/fog-core-1.21.1.gem";
-version = "1.21.1";
-}
-{
-name = "fog-json";
-hash = "dcd321b42f551a9ed3a2a5d43bdfe703b7588dcac5a9e504577501ba50d52794";
-url = "http://rubygems.org/downloads/fog-json-1.0.0.gem";
-version = "1.0.0";
-}
-{
-name = "font-awesome-rails";
-hash = "00ca8028187d17176a397588003c6db779ed14197dbbe28d369561ae2919dde4";
-url = "http://rubygems.org/downloads/font-awesome-rails-4.2.0.0.gem";
-version = "4.2.0.0";
-}
-{
-name = "foreman";
-hash = "937e1b895042139d578936b1c099bc1989dcb7188c0f4798e79154997a941e7b";
-url = "http://rubygems.org/downloads/foreman-0.63.0.gem";
-version = "0.63.0";
-}
-{
-name = "formatador";
-hash = "2238f3794fc3b5d69578fdd9bad7ea82116540a3587a67a966a39a686098f55d";
-url = "http://rubygems.org/downloads/formatador-0.2.4.gem";
-version = "0.2.4";
-}
-{
-name = "gemnasium-gitlab-service";
-hash = "82b9b6ef02f625a30198cefe5fd46b8c4551ec749a320d3b56fdcd1ebef07228";
-url = "http://rubygems.org/downloads/gemnasium-gitlab-service-0.2.2.gem";
-version = "0.2.2";
-}
-{
-name = "gherkin-ruby";
-hash = "9856207d67c184a07e7e35e91fd4322f89ad15704ba1f3764307f8798864f482";
-url = "http://rubygems.org/downloads/gherkin-ruby-0.3.1.gem";
-version = "0.3.1";
-}
-{
-name = "github-markup";
-hash = "ef345d335058b050ecbe0f2e59450e1f6648574fa67f31b8537cdead9ea4fa1b";
-url = "http://rubygems.org/downloads/github-markup-1.1.0.gem";
-version = "1.1.0";
-}
-{
-name = "gitlab-flowdock-git-hook";
-hash = "9bdb3455e46de3a6642d72a23f8f62b57669d1d0f2ea98561c653736ffe4d064";
-url = "http://rubygems.org/downloads/gitlab-flowdock-git-hook-0.4.2.2.gem";
-version = "0.4.2.2";
-}
-{
-name = "gitlab-grack";
-hash = "197qdlymn6cf0qk3698kn0miizv7x9hr1429g9l900rnc85a5rdb";
-url = "https://rubygems.org/downloads/gitlab-grack-2.0.0.pre.gem";
-version = "2.0.0.pre";
-}
-{
-name = "gitlab-grit";
-hash = "88996ec1e14017bfd4c70baae6e72110317704ae689f3fdb26e3bd371887cf03";
-url = "http://rubygems.org/downloads/gitlab-grit-2.6.12.gem";
-version = "2.6.12";
-}
-{
-name = "gitlab-linguist";
-hash = "6652604cdf0168832ba5fe6662251f792730fbcb9253869625658cb1e8d9563c";
-url = "http://rubygems.org/downloads/gitlab-linguist-3.0.0.gem";
-version = "3.0.0";
-}
-{
-name = "gitlab_emoji";
-hash = "760fc5df13080ef39bb8f06878b5b49b7206d4259471d6569fbb0e56f0821d33";
-url = "http://rubygems.org/downloads/gitlab_emoji-0.0.1.1.gem";
-version = "0.0.1.1";
-}
-{
-name = "gitlab_git";
-hash = "0kjljz76wh4344z05mv3wiad7qdf6nwaa0yl1jls1j0hk9i4bb4k";
-url = "https://rubygems.org/downloads/gitlab_git-7.0.0.rc10.gem";
-version = "7.0.0.rc10";
-}
-{
-name = "gitlab_meta";
-hash = "e96e1ced109b39bfcbefb30623e31c8eab4dc7d385a01bf7ba9ed1f5ce866a93";
-url = "http://rubygems.org/downloads/gitlab_meta-7.0.gem";
-version = "7.0";
-}
-{
-name = "gitlab_omniauth-ldap";
-hash = "07df91c1993de0e5fa2fda845e2109e7b0bce228960bf41f770350873e82fa2e";
-url = "http://rubygems.org/downloads/gitlab_omniauth-ldap-1.1.0.gem";
-version = "1.1.0";
-}
-{
-name = "gollum-lib";
-hash = "7a0896cae6d443e42b19e1353f1f900684b63109844cfdb52c48d40f2824e7a1";
-url = "http://rubygems.org/downloads/gollum-lib-3.0.0.gem";
-version = "3.0.0";
-}
-{
-name = "gon";
-hash = "f593d15ba8616a0c9482b53113e03bc8a69cd0392e21f0189b2a96338837eaa5";
-url = "http://rubygems.org/downloads/gon-5.0.1.gem";
-version = "5.0.1";
-}
-{
-name = "grape";
-hash = "e83ff1ae19bb2a402a75bdf81372ae31d25399ec6079f4e31d6be1572f9854ea";
-url = "http://rubygems.org/downloads/grape-0.6.1.gem";
-version = "0.6.1";
-}
-{
-name = "grape-entity";
-hash = "93bc04e43bac2ab8959d66beffcac3d60e88681cb7c09de923c80a0e8fbc7b97";
-url = "http://rubygems.org/downloads/grape-entity-0.4.2.gem";
-version = "0.4.2";
-}
-{
-name = "growl";
-hash = "c926f6fa77800a1cfab1c0a9e4c3608c93b5619145062cf6ba545949553d1e68";
-url = "http://rubygems.org/downloads/growl-1.0.3.gem";
-version = "1.0.3";
-}
-{
-name = "guard";
-hash = "182ecf687c58d19de444a711892a44b6ef607589073f16c413c8ffcb663e827c";
-url = "http://rubygems.org/downloads/guard-2.2.4.gem";
-version = "2.2.4";
-}
-{
-name = "guard-rspec";
-hash = "1631dd0b0172e528d23d92de3ad8c2903fcae195707bb18bdac023c4592a8158";
-url = "http://rubygems.org/downloads/guard-rspec-4.2.0.gem";
-version = "4.2.0";
-}
-{
-name = "guard-spinach";
-hash = "2d76e05c747fc3ef163449c3f5d0b850af92bbd66f7133f3b79bfbe8a23750bb";
-url = "http://rubygems.org/downloads/guard-spinach-0.0.2.gem";
-version = "0.0.2";
-}
-{
-name = "haml";
-hash = "05b1cde6e0d770e800cb74f6bf1212446bc4573bbbfecc4002e1085c2658bff6";
-url = "http://rubygems.org/downloads/haml-4.0.5.gem";
-version = "4.0.5";
-}
-{
-name = "haml-rails";
-hash = "4598b9c3204a04ce27dfe5ce88f278af0a1069c7a5f2708a80c49df5026ce439";
-url = "http://rubygems.org/downloads/haml-rails-0.5.3.gem";
-version = "0.5.3";
-}
-{
-name = "hashie";
-hash = "a9e1e4928bf4f5a5683ea9c7ef29e50fb93f72542f9a9550e205fe33a6568923";
-url = "http://rubygems.org/downloads/hashie-2.1.2.gem";
-version = "2.1.2";
-}
-{
-name = "hike";
-hash = "154e2f2593845e5bcd8ed2ba3092600c55c6ad8c630722857de3fdaf334ccc44";
-url = "http://rubygems.org/downloads/hike-1.2.3.gem";
-version = "1.2.3";
-}
-{
-name = "hipchat";
-hash = "1678c4ee7de2beacc2986792c29dbe5008b09247f1088046f02a062155896bf8";
-url = "http://rubygems.org/downloads/hipchat-0.14.0.gem";
-version = "0.14.0";
-}
-{
-name = "html-pipeline";
-hash = "3461d1f709ef4812f11cc9789bdebb801813ba726e5544df3aad6c62336d93f9";
-url = "http://rubygems.org/downloads/html-pipeline-1.11.0.gem";
-version = "1.11.0";
-}
-{
-name = "html-pipeline-gitlab";
-hash = "cf36fa0aded375a210d38586e023642a88585360b9fc203621a210ac8f4430be";
-url = "http://rubygems.org/downloads/html-pipeline-gitlab-0.1.5.gem";
-version = "0.1.5";
-}
-{
-name = "http_parser.rb";
-hash = "d64f525eb1c580598d5bdef4fad98e948b6e016fa7803f45e13ac8714a2b8e3b";
-url = "http://rubygems.org/downloads/http_parser.rb-0.5.3.gem";
-version = "0.5.3";
-}
-{
-name = "httparty";
-hash = "5c8ad1664ebd51c7bded6a96138d804549c030b413ad685b8b3940dea137aae1";
-url = "http://rubygems.org/downloads/httparty-0.13.0.gem";
-version = "0.13.0";
-}
-{
-name = "httpauth";
-hash = "0d4991e48dfe46aae27ec709b896e54b7a1c402d84a4dbc93a6fe86d8353b4f9";
-url = "http://rubygems.org/downloads/httpauth-0.2.1.gem";
-version = "0.2.1";
-}
-{
-name = "i18n";
-hash = "b37dda25b30484f2674a851e24ae098a38564a61c976fa91a34bf8fceaa3923b";
-url = "http://rubygems.org/downloads/i18n-0.6.11.gem";
-version = "0.6.11";
-}
-{
-name = "ice_nine";
-hash = "108f7538b32819623db949583895a962f5934dcfd183e7fff8b7e6d70db04c42";
-url = "http://rubygems.org/downloads/ice_nine-0.10.0.gem";
-version = "0.10.0";
-}
-{
-name = "jasmine";
-hash = "39426ce310c74f2efbe8dfae6efb3770f58687a11bb84a4115e15a528b2a1fec";
-url = "http://rubygems.org/downloads/jasmine-2.0.2.gem";
-version = "2.0.2";
-}
-{
-name = "jasmine-core";
-hash = "f23bfecc48cca26fe2f81bb7b1782f1a853168f7a0c14c187a8aabec9b4d39bb";
-url = "http://rubygems.org/downloads/jasmine-core-2.0.0.gem";
-version = "2.0.0";
-}
-{
-name = "jquery-atwho-rails";
-hash = "7abb6386fb377165e7ed8cb1665536f4b340c3c208400addc7441be2f10c1cb9";
-url = "http://rubygems.org/downloads/jquery-atwho-rails-0.3.3.gem";
-version = "0.3.3";
-}
-{
-name = "jquery-rails";
-hash = "9d192f83aaa54196b380753cb20b42ca1ad210715063ef0fb15fac63ec430a8c";
-url = "http://rubygems.org/downloads/jquery-rails-3.1.0.gem";
-version = "3.1.0";
-}
-{
-name = "jquery-scrollto-rails";
-hash = "77dbb8add00d4f1baec5f34859b992649a86a9ca054b1c2a7d3e03c3fb072c8a";
-url = "http://rubygems.org/downloads/jquery-scrollto-rails-1.4.3.gem";
-version = "1.4.3";
-}
-{
-name = "jquery-turbolinks";
-hash = "6d9a82a44ddf652f74b6181e5892860cdbda3f000eb1497fa91e3dc098d9ca34";
-url = "http://rubygems.org/downloads/jquery-turbolinks-2.0.1.gem";
-version = "2.0.1";
-}
-{
-name = "jquery-ui-rails";
-hash = "5b349e7066150b16d7a784183f040c083d51af3357937b8564aa0cc8b1cd59bd";
-url = "http://rubygems.org/downloads/jquery-ui-rails-4.2.1.gem";
-version = "4.2.1";
-}
-{
-name = "json";
-hash = "961bfbbfa9fda1e857e9c791e964e6664e0d43bf687b19669dfbc7cdbc5e0200";
-url = "http://rubygems.org/downloads/json-1.8.1.gem";
-version = "1.8.1";
-}
-{
-name = "jwt";
-hash = "5653fb76aa0b4b280624b314cd6c00a64de7cb2d61c2ab27587b434b8ad7880d";
-url = "http://rubygems.org/downloads/jwt-0.1.13.gem";
-version = "0.1.13";
-}
-{
-name = "kaminari";
-hash = "6d8c87cdcd1bff99cc97436160ec31dae3228403a04169c33421c3522e7cc7d4";
-url = "http://rubygems.org/downloads/kaminari-0.15.1.gem";
-version = "0.15.1";
-}
-{
-name = "kgio";
-hash = "92e59a3b97d044177b354f1434f6ebddfe50309d18d84754ab08d632a61dfc6e";
-url = "http://rubygems.org/downloads/kgio-2.8.1.gem";
-version = "2.8.1";
-}
-{
-name = "launchy";
-hash = "3b22fd75759a8af480e1a7545c17e10eada3146605e1789cc162da8b33ad3644";
-url = "http://rubygems.org/downloads/launchy-2.4.2.gem";
-version = "2.4.2";
-}
-{
-name = "letter_opener";
-hash = "b43060c7b223b00caa94dafe7016b424d809c83378326fbf24d041830cabebcf";
-url = "http://rubygems.org/downloads/letter_opener-1.1.2.gem";
-version = "1.1.2";
-}
-{
-name = "listen";
-hash = "5549b607337a95bb3248a97660ccaa0c3eeec70e01e61b8a08d4a6c36dd93720";
-url = "http://rubygems.org/downloads/listen-2.3.1.gem";
-version = "2.3.1";
-}
-{
-name = "lumberjack";
-hash = "2d85f466e25623f5c1d8476523f5e4b7903fa622007ac109fd7b560b45a846d6";
-url = "http://rubygems.org/downloads/lumberjack-1.0.4.gem";
-version = "1.0.4";
-}
-{
-name = "mail";
-hash = "446585c38b062121252688dcc9cc70af1f470822e30db021bb97d185969e257c";
-url = "http://rubygems.org/downloads/mail-2.5.4.gem";
-version = "2.5.4";
-}
-{
-name = "method_source";
-hash = "c2e9d0f4ebefd6b37efe38fe2964337b1d315fe198cad850681fd2da0027b1bc";
-url = "http://rubygems.org/downloads/method_source-0.8.2.gem";
-version = "0.8.2";
-}
-{
-name = "mime-types";
-hash = "88ef3c596481678710ffd4018fa40f1999b02d97babea39682ba7d5badd21f56";
-url = "http://rubygems.org/downloads/mime-types-1.25.1.gem";
-version = "1.25.1";
-}
-{
-name = "mini_portile";
-hash = "762b3e241362de24b2eb2bb1b98638399b931e9e51bece5f8e2df7611eb16c26";
-url = "http://rubygems.org/downloads/mini_portile-0.6.0.gem";
-version = "0.6.0";
-}
-{
-name = "minitest";
-hash = "b99fb077a6ace47d496f981041395ec565b9a1a59c45a73a2edd880bb27493a2";
-url = "http://rubygems.org/downloads/minitest-5.3.5.gem";
-version = "5.3.5";
-}
-{
-name = "mousetrap-rails";
-hash = "555caf5075543bb0f5bf642ea11ce02d08001ddb48041400de64667e4b1ec102";
-url = "http://rubygems.org/downloads/mousetrap-rails-1.4.6.gem";
-version = "1.4.6";
-}
-{
-name = "multi_json";
-hash = "2c98979877e87df0b338ebf5c86091b390f53d62c11a8232bd51ca007e0b82d2";
-url = "http://rubygems.org/downloads/multi_json-1.10.1.gem";
-version = "1.10.1";
-}
-{
-name = "multi_xml";
-hash = "08936dc294586ee1d178217cce577febe26315d7880e01e4f8e97cf2753b1945";
-url = "http://rubygems.org/downloads/multi_xml-0.5.5.gem";
-version = "0.5.5";
-}
-{
-name = "multipart-post";
-hash = "ccf26a61706f128a2a3f3745aba0f79fde7b6fee068e03490eb189c2aaa5e78a";
-url = "http://rubygems.org/downloads/multipart-post-1.2.0.gem";
-version = "1.2.0";
-}
-{
-name = "net-ldap";
-hash = "d39d341c992abb7273d8b83cbe32a38e69fdeb4eab684dbd2db1232e4065a4b4";
-url = "http://rubygems.org/downloads/net-ldap-0.7.0.gem";
-version = "0.7.0";
-}
-{
-name = "net-scp";
-hash = "f3d8848f63f9b7670e57af2e2c308e9bd6fddb7c5440a36e892478a1e62b5977";
-url = "http://rubygems.org/downloads/net-scp-1.1.2.gem";
-version = "1.1.2";
-}
-{
-name = "net-ssh";
-hash = "42f5c53fc4b8fb8c75de7c6b996613d7915e6f7387d4b5f7394fa51402500951";
-url = "http://rubygems.org/downloads/net-ssh-2.8.0.gem";
-version = "2.8.0";
-}
-{
-name = "newrelic_rpm";
-hash = "36faff761a443f00d6e36502b23de96007ec007b3428215f701ac7cab9093d64";
-url = "http://rubygems.org/downloads/newrelic_rpm-3.9.4.245.gem";
-version = "3.9.4.245";
-}
-{
-name = "nokogiri";
-hash = "dfb23254b87672a93582981c4ac5880d178ff32db6878fc351d75198aa544836";
-url = "http://rubygems.org/downloads/nokogiri-1.6.2.1.gem";
-version = "1.6.2.1";
-}
-{
-name = "nprogress-rails";
-hash = "048ca784af666dde59940a804801f2471ad791952b2dc43cfbdb7d6cbd54f899";
-url = "http://rubygems.org/downloads/nprogress-rails-0.1.2.3.gem";
-version = "0.1.2.3";
-}
-{
-name = "oauth";
-hash = "bca47d77c946af466872269e37e470837858b1305d5143e5a56c50356e02b2cc";
-url = "http://rubygems.org/downloads/oauth-0.4.7.gem";
-version = "0.4.7";
-}
-{
-name = "oauth2";
-hash = "e18808a91165f22b8ce7939a216a51bb50d16a90b592347084b5112a4815f3a1";
-url = "http://rubygems.org/downloads/oauth2-0.8.1.gem";
-version = "0.8.1";
-}
-{
-name = "omniauth";
-hash = "d47132daf1c59b8c97b4c51f3f2e379b5b6ae2cd9e169d0a3e46de45b335efbd";
-url = "http://rubygems.org/downloads/omniauth-1.1.4.gem";
-version = "1.1.4";
-}
-{
-name = "omniauth-github";
-hash = "94b41beb49cc16b1e7c5f7a91999d867b76d84a33c9a44e5839178289b8ddac2";
-url = "http://rubygems.org/downloads/omniauth-github-1.1.1.gem";
-version = "1.1.1";
-}
-{
-name = "omniauth-google-oauth2";
-hash = "1c11a1c330f91a9a77e5c51b7f1b378aa8b06b548a3bc1545056cee28360ebdd";
-url = "http://rubygems.org/downloads/omniauth-google-oauth2-0.2.5.gem";
-version = "0.2.5";
-}
-{
-name = "omniauth-oauth";
-hash = "9f1bfb30fe6ba823935330d2036e08a5406e980f1e20c9b1271b82ee34fbe759";
-url = "http://rubygems.org/downloads/omniauth-oauth-1.0.1.gem";
-version = "1.0.1";
-}
-{
-name = "omniauth-oauth2";
-hash = "72b8ba77b9ead4320e7f4e430aee0f3ef759aed79ae52c3b0e8fb2f41785eb68";
-url = "http://rubygems.org/downloads/omniauth-oauth2-1.1.1.gem";
-version = "1.1.1";
-}
-{
-name = "omniauth-shibboleth";
-hash = "b0a92a0bc1e47d96c70f1bec982425c73029725da331dcda2022af762b929276";
-url = "http://rubygems.org/downloads/omniauth-shibboleth-1.1.1.gem";
-version = "1.1.1";
-}
-{
-name = "omniauth-twitter";
-hash = "cd110801549953505a6152ae1426956785aca0cb749ff82835e8d49898b30f18";
-url = "http://rubygems.org/downloads/omniauth-twitter-1.0.1.gem";
-version = "1.0.1";
-}
-{
-name = "org-ruby";
-hash = "ea272d4c7d0ac0310c8bb58ac503ca04c5180ca5c64642be0c96569d514327e5";
-url = "http://rubygems.org/downloads/org-ruby-0.9.9.gem";
-version = "0.9.9";
-}
-{
-name = "orm_adapter";
-hash = "aa5d0be5d540cbb46d3a93e88061f4ece6a25f6e97d6a47122beb84fe595e9b9";
-url = "http://rubygems.org/downloads/orm_adapter-0.5.0.gem";
-version = "0.5.0";
-}
-{
-name = "pg";
-hash = "ba6827400e0614f8fd464543f6e10b307aadef58c59280c6560e6f2548599ed3";
-url = "http://rubygems.org/downloads/pg-0.15.1.gem";
-version = "0.15.1";
-}
-{
-name = "phantomjs";
-hash = "42f3d5b561832a383076c1d49720ed4d2711f29acb85c701a07015b412436f33";
-url = "http://rubygems.org/downloads/phantomjs-1.9.2.0.gem";
-version = "1.9.2.0";
-}
-{
-name = "poltergeist";
-hash = "db4580c0197729b1e7d2cc872ab3d1c5d98b759ac67720c0ba77fbc8752a6a23";
-url = "http://rubygems.org/downloads/poltergeist-1.5.1.gem";
-version = "1.5.1";
-}
-{
-name = "polyglot";
-hash = "05409d9f736e1fd39635f8700b24e1156ae8e308e785d5d0f939c603fd529649";
-url = "http://rubygems.org/downloads/polyglot-0.3.4.gem";
-version = "0.3.4";
-}
-{
-name = "posix-spawn";
-hash = "634746d6f090c1b15d2f92fa90c5ed4868e59c8752ca56a5d83af8f79c0a5110";
-url = "http://rubygems.org/downloads/posix-spawn-0.3.9.gem";
-version = "0.3.9";
-}
-{
-name = "pry";
-hash = "3a521a98344c62096561773ab5b831f862432bc40ce3798bbbdead1c7f86b159";
-url = "http://rubygems.org/downloads/pry-0.9.12.4.gem";
-version = "0.9.12.4";
-}
-{
-name = "pyu-ruby-sasl";
-hash = "5683a6bc5738db5a1bf5ceddeaf545405fb241b4184dd4f2587e679a7e9497e5";
-url = "http://rubygems.org/downloads/pyu-ruby-sasl-0.0.3.3.gem";
-version = "0.0.3.3";
-}
-{
-name = "quiet_assets";
-hash = "3fbc8728462a42d58cd9101b0ad8a240d3cb90a248d5d4072af432fa946a2fa8";
-url = "http://rubygems.org/downloads/quiet_assets-1.0.2.gem";
-version = "1.0.2";
-}
-{
-name = "racc";
-hash = "6282f61f123f4e1d39bac5ad19027e34c336a5e1d80f9e4769c80b16db11b583";
-url = "http://rubygems.org/downloads/racc-1.4.10.gem";
-version = "1.4.10";
-}
-{
-name = "rack";
-hash = "e64af00234e8faaa69ea81ef4e3800f40743c69560f0dda8fc9969660e775fa7";
-url = "http://rubygems.org/downloads/rack-1.5.2.gem";
-version = "1.5.2";
-}
-{
-name = "rack-accept";
-hash = "66247b5449db64ebb93ae2ec4af4764b87d1ae8a7463c7c68893ac13fa8d4da2";
-url = "http://rubygems.org/downloads/rack-accept-0.4.5.gem";
-version = "0.4.5";
-}
-{
-name = "rack-attack";
-hash = "f910e5d0a54b7cc7e086bf111481a0e455260caf8184a33bbb9e96f8064ef49c";
-url = "http://rubygems.org/downloads/rack-attack-2.3.0.gem";
-version = "2.3.0";
-}
-{
-name = "rack-cors";
-hash = "5a256bda2673c7bbba014587b1f93fd2e6fd80b7ac9804a0f90665add6ba087d";
-url = "http://rubygems.org/downloads/rack-cors-0.2.9.gem";
-version = "0.2.9";
-}
-{
-name = "rack-mini-profiler";
-hash = "1c77870679e17b54c5657ce3e15a3b7f54813844c4ab3ff292181f2904d1404b";
-url = "http://rubygems.org/downloads/rack-mini-profiler-0.9.0.gem";
-version = "0.9.0";
-}
-{
-name = "rack-mount";
-hash = "a25100725157aea263dcea4f75aaab4e23922dc0e09fffd60c94eade95c34125";
-url = "http://rubygems.org/downloads/rack-mount-0.8.3.gem";
-version = "0.8.3";
-}
-{
-name = "rack-protection";
-hash = "ad8d7e99b47418e1361ae8aaa0a8591671c8065b958bcedaef92da121a2db863";
-url = "http://rubygems.org/downloads/rack-protection-1.5.1.gem";
-version = "1.5.1";
-}
-{
-name = "rack-test";
-hash = "7e920b6aac888e4a3846e5997fb1cbf456bdb5846322b58dc31697a54a38b306";
-url = "http://rubygems.org/downloads/rack-test-0.6.2.gem";
-version = "0.6.2";
-}
-{
-name = "rails";
-hash = "602275642419e731637c91421cf498f2994c2d9f1b94f6c713f3b7b8757b2aa5";
-url = "http://rubygems.org/downloads/rails-4.1.1.gem";
-version = "4.1.1";
-}
-{
-name = "rails_autolink";
-hash = "384c17bee71ca5dc44f49401762f91abb6bc356dd564f380713fc974d2c25671";
-url = "http://rubygems.org/downloads/rails_autolink-1.1.6.gem";
-version = "1.1.6";
-}
-{
-name = "rails_best_practices";
-hash = "859371ff63fcfe6a33e7012ce3e18df0c0f00579520c684a544dccfd33c7c691";
-url = "http://rubygems.org/downloads/rails_best_practices-1.14.4.gem";
-version = "1.14.4";
-}
-{
-name = "railties";
-hash = "0cef786bd54741f6b6c2ff0bfb769a200222f7e8928b93caf61f87c7325f8ee6";
-url = "http://rubygems.org/downloads/railties-4.1.1.gem";
-version = "4.1.1";
-}
-{
-name = "raindrops";
-hash = "2077f24017dad9637bc4e20e77f3cc533054190516e9e330476678e3cc7a689a";
-url = "http://rubygems.org/downloads/raindrops-0.12.0.gem";
-version = "0.12.0";
-}
-{
-name = "rake";
-hash = "b504ad9d610b85ef0856a4771d024e4a66656c63a17121a3ed1d4d7db39c775b";
-url = "http://rubygems.org/downloads/rake-10.3.2.gem";
-version = "10.3.2";
-}
-{
-name = "raphael-rails";
-hash = "6c89daf65f82621f7ff59948db1db0ca2f41422ceadf905ba18a58b7ab57516a";
-url = "http://rubygems.org/downloads/raphael-rails-2.1.2.gem";
-version = "2.1.2";
-}
-{
-name = "rb-fsevent";
-hash = "e1aed0fa5b42f74ecc1321dd807296d688b0f4fada96e87a9b2113d91befb62d";
-url = "http://rubygems.org/downloads/rb-fsevent-0.9.3.gem";
-version = "0.9.3";
-}
-{
-name = "rb-inotify";
-hash = "3b1e16da8b00849dfa3c6348cc6df6888a2d35d2bf432bc50267f4ec1e74a21c";
-url = "http://rubygems.org/downloads/rb-inotify-0.9.2.gem";
-version = "0.9.2";
-}
-{
-name = "rdoc";
-hash = "a8e2b78f7e5ec4cc4716cd863975645f2f2377dc6db267a15e427e5fae2633ed";
-url = "http://rubygems.org/downloads/rdoc-3.12.2.gem";
-version = "3.12.2";
-}
-{
-name = "redcarpet";
-hash = "ff5397c2b0d1344f065d07e58ed157f5bc25b49d44e723348620693ba928d71c";
-url = "http://rubygems.org/downloads/redcarpet-3.1.2.gem";
-version = "3.1.2";
-}
-{
-name = "redis";
-hash = "e3c8203afbfb9e0cfe915a0610f6795e02ba2298e72e9326076eed2c048142c1";
-url = "http://rubygems.org/downloads/redis-3.0.6.gem";
-version = "3.0.6";
-}
-{
-name = "redis-actionpack";
-hash = "e49029df46b15434591962cc004a1f0b07ab11276e00fd53ec835b85c7064d55";
-url = "http://rubygems.org/downloads/redis-actionpack-4.0.0.gem";
-version = "4.0.0";
-}
-{
-name = "redis-activesupport";
-hash = "cd802d06716638fb000e209a769f1a3932285c8ba2b328aa0c501f0999fcb4a2";
-url = "http://rubygems.org/downloads/redis-activesupport-4.0.0.gem";
-version = "4.0.0";
-}
-{
-name = "redis-namespace";
-hash = "c7c119c0a8c3876b7d7f0dc0ae2e3343352f1dfc6d978c9711b63b58518a6639";
-url = "http://rubygems.org/downloads/redis-namespace-1.4.1.gem";
-version = "1.4.1";
-}
-{
-name = "redis-rack";
-hash = "68be24901183f1973059e837b1acc421cebd34766753ca6f6e7902fb50ef35f8";
-url = "http://rubygems.org/downloads/redis-rack-1.5.0.gem";
-version = "1.5.0";
-}
-{
-name = "redis-rails";
-hash = "a7224c9a7c9bfc9d6080a0418b3c290b9d27ff88b481022b3958a1b2e0e1fc45";
-url = "http://rubygems.org/downloads/redis-rails-4.0.0.gem";
-version = "4.0.0";
-}
-{
-name = "redis-store";
-hash = "9fb47e5dbc6bce6ab4206899f49c6ee8d4a0c6d4830bb0f042ea49df72804249";
-url = "http://rubygems.org/downloads/redis-store-1.1.4.gem";
-version = "1.1.4";
-}
-{
-name = "request_store";
-hash = "70adb9485eb22113bd165e259b929a449dfe2d2410a880566f06df6a164fc1cf";
-url = "http://rubygems.org/downloads/request_store-1.0.5.gem";
-version = "1.0.5";
-}
-{
-name = "require_all";
-hash = "1d4e5729811a1d976916465b64c508481c7fe229bc1ca88c8b1665ad4c46809a";
-url = "http://rubygems.org/downloads/require_all-1.3.2.gem";
-version = "1.3.2";
-}
-{
-name = "rest-client";
-hash = "a3203433b8b0c914648caea54395a8791a61e0df7d401c81f4e2b7f8a8fac75a";
-url = "http://rubygems.org/downloads/rest-client-1.6.7.gem";
-version = "1.6.7";
-}
-{
-name = "rinku";
-hash = "eb5cec33af86da3002e66470d9a741a0726d6864a69b580abc798931b4b706ca";
-url = "http://rubygems.org/downloads/rinku-1.7.3.gem";
-version = "1.7.3";
-}
-{
-name = "rouge";
-hash = "b41278cf37dcef392e1d195519b482f03d1b80878837926a8322c7db9cef0251";
-url = "http://rubygems.org/downloads/rouge-1.3.3.gem";
-version = "1.3.3";
-}
-{
-name = "rspec";
-hash = "4f9fc6c58696faa22571ca80d710fd0e4f30eaeb700155968d36df303f279e8c";
-url = "http://rubygems.org/downloads/rspec-2.14.1.gem";
-version = "2.14.1";
-}
-{
-name = "rspec-core";
-hash = "e714621feb592e515c3ca19a685505af1c2bbb2d713b85c0610ab80985624348";
-url = "http://rubygems.org/downloads/rspec-core-2.14.7.gem";
-version = "2.14.7";
-}
-{
-name = "rspec-expectations";
-hash = "3cb74fd8427a56321ca09e598f2db509231bae0996800b12f30084d7c3882f3a";
-url = "http://rubygems.org/downloads/rspec-expectations-2.14.4.gem";
-version = "2.14.4";
-}
-{
-name = "rspec-mocks";
-hash = "e745b215de211099681d3b128fc8af15616eb19101bdd76da47dca1c1dd86b8b";
-url = "http://rubygems.org/downloads/rspec-mocks-2.14.4.gem";
-version = "2.14.4";
-}
-{
-name = "rspec-rails";
-hash = "6ee4375e977d03ca4945fd5d79debfa72239f7f35f3de9a162ab4adcd4d735e9";
-url = "http://rubygems.org/downloads/rspec-rails-2.14.0.gem";
-version = "2.14.0";
-}
-{
-name = "ruby-progressbar";
-hash = "94265728146504d311c3d6a3c040fc4d45ada6fc9bf42b58dbef208c6cc97d9b";
-url = "http://rubygems.org/downloads/ruby-progressbar-1.2.0.gem";
-version = "1.2.0";
-}
-{
-name = "rubyntlm";
-hash = "a07b9bacc0cf531c76d4f71ed0813b4055fe881447aede2bc7cd7e89ec808870";
-url = "http://rubygems.org/downloads/rubyntlm-0.1.1.gem";
-version = "0.1.1";
-}
-{
-name = "rubypants";
-hash = "f07e38eac793655a0323fe91946081052341b9e69807026fcf102346589eedee";
-url = "http://rubygems.org/downloads/rubypants-0.2.0.gem";
-version = "0.2.0";
-}
-{
-name = "rugged";
-hash = "e536ec53d7f08109960e159e5401e682dd03f6ab386f84f93ef71e1968817529";
-url = "http://rubygems.org/downloads/rugged-0.21.0.gem";
-version = "0.21.0";
-}
-{
-name = "safe_yaml";
-hash = "139285ff8e70413d2a3721da4e742c736b4948682f0b80330a353e34d5dd6478";
-url = "http://rubygems.org/downloads/safe_yaml-0.9.7.gem";
-version = "0.9.7";
-}
-{
-name = "sanitize";
-hash = "c3be075f5b38a1b02404be5778b181e50fba9ab253bac851cb217d9a71375b77";
-url = "http://rubygems.org/downloads/sanitize-2.1.0.gem";
-version = "2.1.0";
-}
-{
-name = "sass";
-hash = "ddcd7d76d98daa8f3ebbaec196972500a6cf6e854f9c328fcfc9aa556f29bfac";
-url = "http://rubygems.org/downloads/sass-3.2.19.gem";
-version = "3.2.19";
-}
-{
-name = "sass-rails";
-hash = "b57665f95f63f063137e365d3e8a1c6d1340ec892d875aeeab93fb60e13f2ec8";
-url = "http://rubygems.org/downloads/sass-rails-4.0.3.gem";
-version = "4.0.3";
-}
-{
-name = "sdoc";
-hash = "c2f54086862252f487e0c4b05fc46d8659a4dba6deb2ad0a24ff9046c1c4889e";
-url = "http://rubygems.org/downloads/sdoc-0.3.20.gem";
-version = "0.3.20";
-}
-{
-name = "seed-fu";
-hash = "eb09cfeb574f46a22b313e38fe7d4ae6bf2c6a57554d3f157778756b58bc81db";
-url = "http://rubygems.org/downloads/seed-fu-2.3.1.gem";
-version = "2.3.1";
-}
-{
-name = "select2-rails";
-hash = "dcae2d6f92f94975080c14bee21a2b9745675135824f7ec298a9c94e329e9f7e";
-url = "http://rubygems.org/downloads/select2-rails-3.5.2.gem";
-version = "3.5.2";
-}
-{
-name = "semantic-ui-sass";
-hash = "54a9f7c3ac28203f91e99f4f929c2851356796e3d7d2de3468ff060528db71a1";
-url = "http://rubygems.org/downloads/semantic-ui-sass-0.16.1.0.gem";
-version = "0.16.1.0";
-}
-{
-name = "settingslogic";
-hash = "5925a91d0d48dfb59a6e48ae2bb9c9b801fe6fab25a8e8d302ce8699d92f2ae6";
-url = "http://rubygems.org/downloads/settingslogic-2.0.9.gem";
-version = "2.0.9";
-}
-{
-name = "sexp_processor";
-hash = "71591ddbda99b5e12e4a46d377c87513850ca7aa4b1aa800ae02792cadee6be7";
-url = "http://rubygems.org/downloads/sexp_processor-4.4.0.gem";
-version = "4.4.0";
-}
-{
-name = "shoulda-matchers";
-hash = "da4ce8e10970a5dfa88d30b7be06dbef87caf2aca4508343b31a59c434449fc6";
-url = "http://rubygems.org/downloads/shoulda-matchers-2.1.0.gem";
-version = "2.1.0";
-}
-{
-name = "sidekiq";
-hash = "81c57e05311c7176e8e71373cf78874c9365f00ed40b9fd1a969863e56a10c53";
-url = "http://rubygems.org/downloads/sidekiq-2.17.0.gem";
-version = "2.17.0";
-}
-{
-name = "simple_oauth";
-hash = "723f19781f5562182e075a0f31bca11a955962d933064abb23bce98ed035602d";
-url = "http://rubygems.org/downloads/simple_oauth-0.1.9.gem";
-version = "0.1.9";
-}
-{
-name = "simplecov";
-hash = "4f205752a4f3730fd4c58678bbab4c83f4e2a6ca3bbea4cdf18cd86a70589eb7";
-url = "http://rubygems.org/downloads/simplecov-0.9.0.gem";
-version = "0.9.0";
-}
-{
-name = "simplecov-html";
-hash = "69393ce932c2898dd5074913e360078f651f094a9b7300b286a78f43b11c164a";
-url = "http://rubygems.org/downloads/simplecov-html-0.8.0.gem";
-version = "0.8.0";
-}
-{
-name = "sinatra";
-hash = "1a16a552d559be0fff6cefd2c84c1fecafcc54668fba540e99fe8f2692033e8a";
-url = "http://rubygems.org/downloads/sinatra-1.4.4.gem";
-version = "1.4.4";
-}
-{
-name = "six";
-hash = "83c73d4aa60ff76172ec257f45b098c66f7a8b89883bcaaec42517287dbc0aae";
-url = "http://rubygems.org/downloads/six-0.2.0.gem";
-version = "0.2.0";
-}
-{
-name = "slack-notifier";
-hash = "64166343518084e3b1cdf03bb49ff42469dae8aab868fafa001c9f6a4f8d4604";
-url = "http://rubygems.org/downloads/slack-notifier-0.3.2.gem";
-version = "0.3.2";
-}
-{
-name = "slim";
-hash = "07cdf67f971b99a360c9ded6ea70ae5351e1236182997dff8118ef5ea242a7ea";
-url = "http://rubygems.org/downloads/slim-2.0.2.gem";
-version = "2.0.2";
-}
-{
-name = "slop";
-hash = "568b7d1d48d675ce2778e5fd1b9de56ff754e3eb4b589e4918f2cf8d25e56df4";
-url = "http://rubygems.org/downloads/slop-3.4.7.gem";
-version = "3.4.7";
-}
-{
-name = "spinach";
-hash = "a43718a977de8c2bb0fd952af23d56a69c046d28dac687057405c7301ccfdf0c";
-url = "http://rubygems.org/downloads/spinach-0.8.7.gem";
-version = "0.8.7";
-}
-{
-name = "spinach-rails";
-hash = "e0d045ae1266f46549570c148d1696ac7d4baa518f8b974a7c8ed949bd63cad9";
-url = "http://rubygems.org/downloads/spinach-rails-0.2.1.gem";
-version = "0.2.1";
-}
-{
-name = "spring";
-hash = "92aa8cf28fec20b0f760e2cf8efd1990be2c30c2e79167cdd19e8344420b72c5";
-url = "http://rubygems.org/downloads/spring-1.1.3.gem";
-version = "1.1.3";
-}
-{
-name = "spring-commands-rspec";
-hash = "61d75e234afd79f247942dca387c3a7fffc0de9527f16aea4d5fdd66fd82cffc";
-url = "http://rubygems.org/downloads/spring-commands-rspec-1.0.1.gem";
-version = "1.0.1";
-}
-{
-name = "spring-commands-spinach";
-hash = "694fbf041b5f357bd29fab2ff44013f42e894bf1af498bcce726498f5b56128d";
-url = "http://rubygems.org/downloads/spring-commands-spinach-1.0.0.gem";
-version = "1.0.0";
-}
-{
-name = "sprockets";
-hash = "b06a4a66a74cce8a3dbd53a9078c9b71b94f5652a6fe92809f28786d8fcd5920";
-url = "http://rubygems.org/downloads/sprockets-2.11.0.gem";
-version = "2.11.0";
-}
-{
-name = "sprockets-rails";
-hash = "9e134d28c4d05f86f3c8ebcdecd50ec060bd33e8bdcb6461cfcf0f2b77f26d8a";
-url = "http://rubygems.org/downloads/sprockets-rails-2.1.3.gem";
-version = "2.1.3";
-}
-{
-name = "stamp";
-hash = "1ad6622d000cd390b9b523eb9270fc902abd24a685ce0c73529f344d6a9fa4f0";
-url = "http://rubygems.org/downloads/stamp-0.5.0.gem";
-version = "0.5.0";
-}
-{
-name = "state_machine";
-hash = "80fcddc91976baec8713c37c28b5bc0655f5f2e0a1412a1a4a3aac41082cc2ed";
-url = "http://rubygems.org/downloads/state_machine-1.2.0.gem";
-version = "1.2.0";
-}
-{
-name = "stringex";
-hash = "dbd556b4b59d994de64c8fa91ef959667338d840b814fc72531f8253dbba179d";
-url = "http://rubygems.org/downloads/stringex-2.5.1.gem";
-version = "2.5.1";
-}
-{
-name = "temple";
-hash = "3374f339c3b54611538b9811c0c46db8e06b48ed212db741cd7f52baf59caa26";
-url = "http://rubygems.org/downloads/temple-0.6.7.gem";
-version = "0.6.7";
-}
-{
-name = "term-ansicolor";
-hash = "b9534713ba4c2a48f2291fadf9ce2edae9f2dc96157ee812fe8fe16a70c081ac";
-url = "http://rubygems.org/downloads/term-ansicolor-1.2.2.gem";
-version = "1.2.2";
-}
-{
-name = "test_after_commit";
-hash = "8be009b5b7dd8f6e712ea92a079625b9a84f9a010ef2d5d5e44bcd45c353fa8f";
-url = "http://rubygems.org/downloads/test_after_commit-0.2.2.gem";
-version = "0.2.2";
-}
-{
-name = "thin";
-hash = "a0b80e1632d3529a5c4b87e07d9ab146e0dde5e506c20f3a740fe8b364d5bd18";
-url = "http://rubygems.org/downloads/thin-1.6.1.gem";
-version = "1.6.1";
-}
-{
-name = "thor";
-hash = "9ff834f031b5550c743bb8a3139317fefdae9cdebd02d60de376658f427fe522";
-url = "http://rubygems.org/downloads/thor-0.19.1.gem";
-version = "0.19.1";
-}
-{
-name = "thread_safe";
-hash = "16315baa971c48d00104bcd35e8934e3f9ccfd3b8f429e3fca7ee2dfd81734b2";
-url = "http://rubygems.org/downloads/thread_safe-0.3.4.gem";
-version = "0.3.4";
-}
-{
-name = "tilt";
-hash = "39820562c4f5db45fe18de87ccc30a0e77a998bf5334b1d8c10a2f7dbc1f5903";
-url = "http://rubygems.org/downloads/tilt-1.4.1.gem";
-version = "1.4.1";
-}
-{
-name = "timers";
-hash = "3bbb9651a73e43e47950a5e13a7fa62f852cd5c46e421bb671e9ade1fbb47b74";
-url = "http://rubygems.org/downloads/timers-1.1.0.gem";
-version = "1.1.0";
-}
-{
-name = "tinder";
-hash = "0b06fd2a72ed424e82b1896852dd9ebb10791ef6ab8412e74ad2fa9069f6bd47";
-url = "http://rubygems.org/downloads/tinder-1.9.3.gem";
-version = "1.9.3";
-}
-{
-name = "tins";
-hash = "c53bf237462be8d61cfa2a5f4b48f372d010825b0dc594c952d9857fe4c3ef30";
-url = "http://rubygems.org/downloads/tins-0.13.1.gem";
-version = "0.13.1";
-}
-{
-name = "treetop";
-hash = "ffa68f201c0f62c26b0a1d13233d73194400596964696843f87ebb5d812f12ff";
-url = "http://rubygems.org/downloads/treetop-1.4.15.gem";
-version = "1.4.15";
-}
-{
-name = "turbolinks";
-hash = "d92fd8f1627a6eadfaa39b76da83c257181e786557f54859d81ab2b08d73e8ff";
-url = "http://rubygems.org/downloads/turbolinks-2.0.0.gem";
-version = "2.0.0";
-}
-{
-name = "twitter-stream";
-hash = "3866afdfbdf083e773b46afb3037ff3e3b1ebf8014ab88353153daddc70b4847";
-url = "http://rubygems.org/downloads/twitter-stream-0.1.16.gem";
-version = "0.1.16";
-}
-{
-name = "tzinfo";
-hash = "fdb1d3fdf2776d490c82a0e589a08e7cbde70ac1ae7d2b1f0b7e77f3e6b801b0";
-url = "http://rubygems.org/downloads/tzinfo-1.2.2.gem";
-version = "1.2.2";
-}
-{
-name = "uglifier";
-hash = "5e942f02d11d9e4f6e18aa84cfd909e569fe887b12c3ecf66d92e8cf4162acf0";
-url = "http://rubygems.org/downloads/uglifier-2.3.2.gem";
-version = "2.3.2";
-}
-{
-name = "underscore-rails";
-hash = "e229a9668f799ea169616fa59da3f6cf48f259d9c1dd2ef52ff2a151bd6be3f5";
-url = "http://rubygems.org/downloads/underscore-rails-1.4.4.gem";
-version = "1.4.4";
-}
-{
-name = "unf";
-hash = "4999517a531f2a955750f8831941891f6158498ec9b6cb1c81ce89388e63022e";
-url = "http://rubygems.org/downloads/unf-0.1.4.gem";
-version = "0.1.4";
-}
-{
-name = "unf_ext";
-hash = "afcdba30a57665a4540c5d43b2833c6a3677a3296428fa70fbd7b4c8feaceb1f";
-url = "http://rubygems.org/downloads/unf_ext-0.0.6.gem";
-version = "0.0.6";
-}
-{
-name = "unicorn";
-hash = "fd0b12148a24acfd8bf28a0322e4116061e64e271253e077999e4ec531a74966";
-url = "http://rubygems.org/downloads/unicorn-4.6.3.gem";
-version = "4.6.3";
-}
-{
-name = "unicorn-worker-killer";
-hash = "6d2819347c514ff65bcdbda745a416a2c93e18e90e1e347c6f4931e7b1a6c78b";
-url = "http://rubygems.org/downloads/unicorn-worker-killer-0.4.2.gem";
-version = "0.4.2";
-}
-{
-name = "version_sorter";
-hash = "aeeae527de4fb3146bbdaa9283f3fb087fedbe0cee80645c12d1970fe4947873";
-url = "http://rubygems.org/downloads/version_sorter-1.1.0.gem";
-version = "1.1.0";
-}
-{
-name = "virtus";
-hash = "03d81d65377a603894b058c0ee78130dda1c3e6d56918d40444f11dba5d644a6";
-url = "http://rubygems.org/downloads/virtus-1.0.1.gem";
-version = "1.0.1";
-}
-{
-name = "warden";
-hash = "97769e5b5d230fec4f77e91b1116b28fdd27428f4acab68dc5ed025af9d37f7a";
-url = "http://rubygems.org/downloads/warden-1.2.3.gem";
-version = "1.2.3";
-}
-{
-name = "webmock";
-hash = "89e8ced0a58bcf68bec818f901ce966b4f8938dd20b101044bd6408589a957f8";
-url = "http://rubygems.org/downloads/webmock-1.16.0.gem";
-version = "1.16.0";
-}
-{
-name = "websocket-driver";
-hash = "4e9a04c1e370dada829738ee1433a98e6721e7fa83b98fceef089fe6bce97638";
-url = "http://rubygems.org/downloads/websocket-driver-0.3.3.gem";
-version = "0.3.3";
-}
-{
-name = "wikicloth";
-hash = "7ac8a9ca0a948cf472851e521afc6c2a6b04a8f91ef1d824ba6a61ffbd60e6ca";
-url = "http://rubygems.org/downloads/wikicloth-0.8.1.gem";
-version = "0.8.1";
-}
-{
-name = "xpath";
-hash = "9ca4a1cc88d9ab16c591468cce7b5d00ee06a8a76b841f8438970c7a44c86c12";
-url = "http://rubygems.org/downloads/xpath-2.0.0.gem";
-version = "2.0.0";
-}
-]
diff --git a/pkgs/applications/version-management/gitlab/README b/pkgs/applications/version-management/gitlab/README
deleted file mode 100644
index cd8d4748e70..00000000000
--- a/pkgs/applications/version-management/gitlab/README
+++ /dev/null
@@ -1,5 +0,0 @@
-to regenerate Gemfile.nix and Gemfile.lock you need to
-
-  % nix-build bootstrap.nix
-  % cp result/Gemfile.nix ./
-  % cp result/Gemfile.lock ./
diff --git a/pkgs/applications/version-management/gitlab/bootstrap.nix b/pkgs/applications/version-management/gitlab/bootstrap.nix
deleted file mode 100644
index a983ede333a..00000000000
--- a/pkgs/applications/version-management/gitlab/bootstrap.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ pkgs ? import <nixpkgs> {}
-}:
-
-with pkgs;
-
-let
-
-in stdenv.mkDerivation rec {
-  version = "7.4.2";
-  name = "gitlab-${version}";
-  __noChroot = true;
-  src = fetchurl {
-    url = "https://github.com/gitlabhq/gitlabhq/archive/v${version}.zip";
-    sha256 = "01iplkpa4scr0wcap6vjrc960dj15z4ciclaqswj0sz5hrp9glw6";
-  };
-  buildInputs = [
-    ruby rubyLibs.bundler libiconv libxslt libxml2 pkgconfig
-    libffi postgresql which stdenv unzip
-  ];
-  installPhase = ''
-    unset http_proxy
-    unset ftp_proxy
-
-    cp -R . $out
-    cp ${./generate_nix_requirements.rb} $out/generate_nix_requirements.rb
-    cd $out
-
-    cat > config/database.yml <<EOF
-    production:
-      adapter: postgresql
-    EOF
-
-    substituteInPlace Gemfile --replace 'gem "therubyracer"' ""
-
-    bundle config --local build.nokogiri --use-system-libraries \
-      --with-iconv-dir=${libiconv} \
-      --with-xslt-dir=${libxslt} \
-      --with-xml2-dir=${libxml2} \
-      --with-pkg-config \
-      --with-pg-config=${postgresql}/bin/pg_config
-
-    HOME="/tmp/gitlab-${version}" ruby generate_nix_requirements.rb
-    rm -R /tmp/gems
-  '';
-}
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index 2e0fcc43eb7..34a7c601cac 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -1,41 +1,54 @@
-{ stdenv, fetchurl, ruby, rubyLibs, libiconv, libxslt, libxml2, pkgconfig, libffi, postgresql, libyaml, ncurses, curl, openssh, redis, zlib, icu, checkinstall, logrotate, docutils, cmake, git, gdbm, readline, unzip, gnumake, which, tzdata, nodejs }:
+{ stdenv, lib, bundler, fetchgit, bundlerEnv, defaultGemConfig, libiconv, ruby
+, tzdata, git
+}:
 
 let
-  gemspec = map (gem: fetchurl { url=gem.url; sha256=gem.hash; }) (import ./Gemfile.nix);
-
-
-in stdenv.mkDerivation rec {
-  version = "7.4.2";
-  name = "gitlab-${version}";
-
-  src = fetchurl {
-    url = "https://github.com/gitlabhq/gitlabhq/archive/v${version}.zip";
-    sha256 = "01iplkpa4scr0wcap6vjrc960dj15z4ciclaqswj0sz5hrp9glw6";
+  gitlab = fetchgit {
+    url = "https://github.com/gitlabhq/gitlabhq.git";
+    rev = "477743a154e85c411e8a533980abce460b5669fc";
+    fetchSubmodules = false;
+    sha256 = "0jl1w9d46v8hc27h9s380ha07m3fd2zpflj4q9vywwcf570ahj7x";
   };
 
-  buildInputs = [
-    ruby rubyLibs.bundler libyaml gdbm readline ncurses curl openssh redis zlib
-    postgresql libxslt libxml2 pkgconfig libffi icu checkinstall logrotate docutils nodejs
-    git unzip gnumake which cmake
-  ];
+  env = bundlerEnv {
+    name = "gitlab";
+    inherit ruby;
+    gemfile = ./Gemfile;
+    lockfile = ./Gemfile.lock;
+    gemset = ./gemset.nix;
+    meta = with lib; {
+      homepage = http://www.gitlab.com/;
+      platforms = platforms.linux;
+      maintainers = [ ];
+      license = licenses.mit;
+    };
+  };
 
-  # cmake is required by a build depdenceny, not the main binary:
-  dontUseCmakeConfigure = true;
+in
 
+stdenv.mkDerivation rec {
+  name = "gitlab-${version}";
+  version = "7.4.2";
+  buildInputs = [ ruby bundler tzdata git ];
+  unpackPhase = ''
+    runHook preUnpack
+    cp -r ${gitlab}/* .
+    chmod -R +w .
+    cp ${./Gemfile} Gemfile
+    cp ${./Gemfile.lock} Gemfile.lock
+    runHook postUnpack
+  '';
   patches = [
     ./remove-hardcoded-locations.patch
   ];
   postPatch = ''
-    mv config/gitlab.yml.example config/gitlab.yml
-  '';
-
-  installPhase = ''
-    mkdir -p $out/share/gitlab
-    cp -R . $out/share/gitlab
-    cd $out/share/gitlab
+    # For reasons I don't understand "bundle exec" ignores the
+    # RAILS_ENV causing tests to be executed that fail because we're
+    # not installing development and test gems above. Deleting the
+    # tests works though.:
+    rm lib/tasks/test.rake
 
-    export HOME=$(pwd)
-    export GITLAB_EMAIL_FROM="required@to-make-it-work.org"
+    mv config/gitlab.yml.example config/gitlab.yml
 
     # required for some gems:
     cat > config/database.yml <<EOF
@@ -47,41 +60,17 @@ in stdenv.mkDerivation rec {
         username: gitlab
         encoding: utf8
     EOF
-
-    mkdir -p vendor/cache
-    ${stdenv.lib.concatStrings (map (gem: "ln -s ${gem} vendor/cache/${gem.name};") gemspec)}
-
-    cp ${./Gemfile.lock} Gemfile.lock
-    substituteInPlace Gemfile --replace 'gem "therubyracer"' ""
-
-    bundle config build.nokogiri \
-      --use-system-libraries \
-      --with-xslt-dir=${libxslt} \
-      --with-xml2-dir=${libxml2} \
-      --with-pkg-config=${pkgconfig}/bin/pkg-config \
-      --with-pg-config=${postgresql}/bin/pg_config
-
-    # See https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide:
-    bundle install -j4 --verbose --local --deployment --without development test mysql
-
-    # Fix timezone data directory
-    substituteInPlace $out/share/gitlab/vendor/bundle/ruby/*/gems/tzinfo-*/lib/tzinfo/zoneinfo_data_source.rb \
-      --replace "/etc/zoneinfo" "${tzdata}/share/zoneinfo"
-
-    # For reasons I don't understand "bundle exec" ignores the
-    # RAILS_ENV causing tests to be executed that fail because we're
-    # not installing development and test gems above. Deleting the
-    # tests works though.:
-    rm $out/share/gitlab/lib/tasks/test.rake
-
-    # Assets
+  '';
+  buildPhase = ''
+    export GEM_HOME=${env}/${ruby.gemPath}
     bundle exec rake assets:precompile RAILS_ENV=production
   '';
-
-  meta = with stdenv.lib; {
-    homepage = http://www.gitlab.com/;
-    platforms = platforms.linux;
-    maintainers = [ ];
-    license = licenses.mit;
+  installPhase = ''
+    mkdir -p $out/share
+    cp -r . $out/share/gitlab
+  '';
+  passthru = {
+    inherit env;
+    inherit ruby;
   };
 }
diff --git a/pkgs/applications/version-management/gitlab/gemset.nix b/pkgs/applications/version-management/gitlab/gemset.nix
new file mode 100644
index 00000000000..392550daae5
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab/gemset.nix
@@ -0,0 +1,2398 @@
+{
+  "RedCloth" = {
+    version = "4.2.9";
+    source = {
+      type = "gem";
+      sha256 = "06pahxyrckhgb7alsxwhhlx1ib2xsx33793finj01jk8i054bkxl";
+    };
+  };
+  "ace-rails-ap" = {
+    version = "2.0.1";
+    source = {
+      type = "gem";
+      sha256 = "082n12rkd9j7d89030nhmi4fx1gqaf13knps6cknsyvwix7fryvv";
+    };
+  };
+  "actionmailer" = {
+    version = "4.1.1";
+    source = {
+      type = "gem";
+      sha256 = "14mbmlwyrxccmf2svhxmvrv0ypcq53xyyqzh4a2r2azmxjb1zxnx";
+    };
+    dependencies = [
+      "actionpack"
+      "actionview"
+      "mail"
+    ];
+  };
+  "actionpack" = {
+    version = "4.1.1";
+    source = {
+      type = "gem";
+      sha256 = "078iqmjay787xg76zibnvk485y29d57wffiv9nj0nmzb89jfa6y1";
+    };
+    dependencies = [
+      "actionview"
+      "activesupport"
+      "rack"
+      "rack-test"
+    ];
+  };
+  "actionview" = {
+    version = "4.1.1";
+    source = {
+      type = "gem";
+      sha256 = "0wlhsy9hqzpi3xylphx71i9bd5x6dd03qzrh4nnc8mimzjbv14jq";
+    };
+    dependencies = [
+      "activesupport"
+      "builder"
+      "erubis"
+    ];
+  };
+  "activemodel" = {
+    version = "4.1.1";
+    source = {
+      type = "gem";
+      sha256 = "0cijxp7n0zv1j2bh5jyirlcwi24j9xlwfsmn7icr0zsybgc0in61";
+    };
+    dependencies = [
+      "activesupport"
+      "builder"
+    ];
+  };
+  "activerecord" = {
+    version = "4.1.1";
+    source = {
+      type = "gem";
+      sha256 = "180kxb98097nh8dprqrm5d1ab6xaqv8kxqdbm1p84y87w0kj57yz";
+    };
+    dependencies = [
+      "activemodel"
+      "activesupport"
+      "arel"
+    ];
+  };
+  "activesupport" = {
+    version = "4.1.1";
+    source = {
+      type = "gem";
+      sha256 = "11dsdfrdqqfhpgigb960a4xrs1k7ix5brbsw034nijn8d4fq0hkk";
+    };
+    dependencies = [
+      "i18n"
+      "json"
+      "minitest"
+      "thread_safe"
+      "tzinfo"
+    ];
+  };
+  "acts-as-taggable-on" = {
+    version = "2.4.1";
+    source = {
+      type = "gem";
+      sha256 = "0gbmxx6nk109i6c4686vr5wpf89xiiys7s2lwf7z68dpgi1dsxab";
+    };
+    dependencies = [
+      "rails"
+    ];
+  };
+  "addressable" = {
+    version = "2.3.5";
+    source = {
+      type = "gem";
+      sha256 = "11hv69v6h39j7m4v51a4p7my7xwjbhxbsg3y7ja156z7by10wkg7";
+    };
+  };
+  "annotate" = {
+    version = "2.6.0";
+    source = {
+      type = "gem";
+      sha256 = "0min6rmiqjnp6irjd9mjlz8k13qzx4g51d8v6vn8zn8hdnfbjanr";
+    };
+    dependencies = [
+      "activerecord"
+      "rake"
+    ];
+  };
+  "arel" = {
+    version = "5.0.1.20140414130214";
+    source = {
+      type = "gem";
+      sha256 = "0dhnc20h1v8ml3nmkxq92rr7qxxpk6ixhwvwhgl2dbw9mmxz0hf9";
+    };
+  };
+  "asciidoctor" = {
+    version = "0.1.4";
+    source = {
+      type = "gem";
+      sha256 = "14ngw7c8sq5ydh0xz6b5jgvs5vbk2sx1vf75fjf0q81ixnd6yb9a";
+    };
+  };
+  "awesome_print" = {
+    version = "1.2.0";
+    source = {
+      type = "gem";
+      sha256 = "1k85hckprq0s9pakgadf42k1d5s07q23m3y6cs977i6xmwdivyzr";
+    };
+  };
+  "axiom-types" = {
+    version = "0.0.5";
+    source = {
+      type = "gem";
+      sha256 = "0k6mf132n2f5z8xwcwfjayrxfqsd8yyzj2cgxv5phvr7szlqfyzn";
+    };
+    dependencies = [
+      "descendants_tracker"
+      "ice_nine"
+    ];
+  };
+  "bcrypt" = {
+    version = "3.1.7";
+    source = {
+      type = "gem";
+      sha256 = "00jpjl2v0y8dsfhxx3l3sp2pnflkxbbywnda46n1w5f7a8qrac0w";
+    };
+  };
+  "better_errors" = {
+    version = "1.0.1";
+    source = {
+      type = "gem";
+      sha256 = "0v0q8bdkqqlcsfqbk4wvc3qnz8an44mgz720v5f11a4nr413mjgf";
+    };
+    dependencies = [
+      "coderay"
+      "erubis"
+    ];
+  };
+  "binding_of_caller" = {
+    version = "0.7.2";
+    source = {
+      type = "gem";
+      sha256 = "15jg6dkaq2nzcd602d7ppqbdxw3aji961942w93crs6qw4n6h9yk";
+    };
+    dependencies = [
+      "debug_inspector"
+    ];
+  };
+  "bootstrap-sass" = {
+    version = "3.0.3.0";
+    source = {
+      type = "gem";
+      sha256 = "1isljqrlasq9n7cxj4ldf0cjjhkwzsbl8lj6rf5z9farwjx6k4iz";
+    };
+    dependencies = [
+      "sass"
+    ];
+  };
+  "builder" = {
+    version = "3.2.2";
+    source = {
+      type = "gem";
+      sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2";
+    };
+  };
+  "capybara" = {
+    version = "2.2.1";
+    source = {
+      type = "gem";
+      sha256 = "1sydb3mnznqn23s2cqb0ysdml0dgl06fzdvx8aqbbx1km9pgz080";
+    };
+    dependencies = [
+      "mime-types"
+      "nokogiri"
+      "rack"
+      "rack-test"
+      "xpath"
+    ];
+  };
+  "carrierwave" = {
+    version = "0.9.0";
+    source = {
+      type = "gem";
+      sha256 = "1b1av1ancby6brhmypl5k8xwrasd8bd3kqp9ri8kbq7z8nj6k445";
+    };
+    dependencies = [
+      "activemodel"
+      "activesupport"
+      "json"
+    ];
+  };
+  "celluloid" = {
+    version = "0.15.2";
+    source = {
+      type = "gem";
+      sha256 = "0lpa97m7f4p5hgzaaa47y1d5c78n8pp4xd8qb0sn5llqd0klkd9b";
+    };
+    dependencies = [
+      "timers"
+    ];
+  };
+  "charlock_holmes" = {
+    version = "0.6.9.4";
+    source = {
+      type = "gem";
+      sha256 = "1vyzsr3r2bwig9knyhay1m7i828w9x5zhma44iajyrbs1ypvfbg5";
+    };
+  };
+  "cliver" = {
+    version = "0.3.2";
+    source = {
+      type = "gem";
+      sha256 = "096f4rj7virwvqxhkavy0v55rax10r4jqf8cymbvn4n631948xc7";
+    };
+  };
+  "code_analyzer" = {
+    version = "0.4.3";
+    source = {
+      type = "gem";
+      sha256 = "1v8b6sbsyw1612wilfc2bsjbr41gf46apjqmlqbishmkhywi1di7";
+    };
+    dependencies = [
+      "sexp_processor"
+    ];
+  };
+  "coderay" = {
+    version = "1.1.0";
+    source = {
+      type = "gem";
+      sha256 = "059wkzlap2jlkhg460pkwc1ay4v4clsmg1bp4vfzjzkgwdckr52s";
+    };
+  };
+  "coercible" = {
+    version = "1.0.0";
+    source = {
+      type = "gem";
+      sha256 = "1p5azydlsz0nkxmcq0i1gzmcfq02lgxc4as7wmf47j1c6ljav0ah";
+    };
+    dependencies = [
+      "descendants_tracker"
+    ];
+  };
+  "coffee-rails" = {
+    version = "4.0.1";
+    source = {
+      type = "gem";
+      sha256 = "12nqw61xfs43qap4bxp123q4fgj41gvxirdal95ymdd2qzr3cvig";
+    };
+    dependencies = [
+      "coffee-script"
+      "railties"
+    ];
+  };
+  "coffee-script" = {
+    version = "2.2.0";
+    source = {
+      type = "gem";
+      sha256 = "133cp4znfp44wwnv12myw8s0z6qws74ilqmw88iwzkshg689zpdc";
+    };
+    dependencies = [
+      "coffee-script-source"
+      "execjs"
+    ];
+  };
+  "coffee-script-source" = {
+    version = "1.6.3";
+    source = {
+      type = "gem";
+      sha256 = "0p33h0rdj1n8xhm2d5hzqbb8br6wn4rx0gk4hyhc6rxkaxsy79b4";
+    };
+  };
+  "colored" = {
+    version = "1.2";
+    source = {
+      type = "gem";
+      sha256 = "0b0x5jmsyi0z69bm6sij1k89z7h0laag3cb4mdn7zkl9qmxb90lx";
+    };
+  };
+  "colorize" = {
+    version = "0.5.8";
+    source = {
+      type = "gem";
+      sha256 = "1rfzvscnk2js87zzwjgg2lk6h6mrv9448z5vx3b8vnm9yrb2qg8g";
+    };
+  };
+  "connection_pool" = {
+    version = "1.2.0";
+    source = {
+      type = "gem";
+      sha256 = "1ffw78r39b3gn121ghi65fsrkzjjv7h0mxag6ilphsas1kzz3h21";
+    };
+  };
+  "coveralls" = {
+    version = "0.7.0";
+    source = {
+      type = "gem";
+      sha256 = "0sz30d7b83qqsj3i0fr691w05d62wj7x3afh0ryjkqkis3fq94j4";
+    };
+    dependencies = [
+      "multi_json"
+      "rest-client"
+      "simplecov"
+      "term-ansicolor"
+      "thor"
+    ];
+  };
+  "crack" = {
+    version = "0.4.1";
+    source = {
+      type = "gem";
+      sha256 = "0wb2s4nidabcgn2k65ydhx0f9758py79p615qph99117csy915jg";
+    };
+    dependencies = [
+      "safe_yaml"
+    ];
+  };
+  "creole" = {
+    version = "0.3.8";
+    source = {
+      type = "gem";
+      sha256 = "1wwqk5ij4r5rhzbzhnpqwbn9ck56qgyjs02pjmi2wh46gs8dmkl8";
+    };
+  };
+  "d3_rails" = {
+    version = "3.1.10";
+    source = {
+      type = "gem";
+      sha256 = "1n94vwn51v1dfqjqmdkb11mgyvq6dfmf5cjwa9w1nj3785yvkii8";
+    };
+    dependencies = [
+      "railties"
+    ];
+  };
+  "daemons" = {
+    version = "1.1.9";
+    source = {
+      type = "gem";
+      sha256 = "1j1m64pirsldhic6x6sg4lcrmp1bs1ihpd49xm8m1b2rc1c3irzy";
+    };
+  };
+  "database_cleaner" = {
+    version = "1.3.0";
+    source = {
+      type = "gem";
+      sha256 = "19w25yda684pg29bggq26wy4lpyjvzscwg2hx3hmmmpysiwfnxgn";
+    };
+  };
+  "debug_inspector" = {
+    version = "0.0.2";
+    source = {
+      type = "gem";
+      sha256 = "109761g00dbrw5q0dfnbqg8blfm699z4jj70l4zrgf9mzn7ii50m";
+    };
+  };
+  "default_value_for" = {
+    version = "3.0.0";
+    source = {
+      type = "gem";
+      sha256 = "08bhk2dzxpvsk891y415man42vn3f9cvysysywh1iavxbv5qkg8z";
+    };
+    dependencies = [
+      "activerecord"
+    ];
+  };
+  "descendants_tracker" = {
+    version = "0.0.3";
+    source = {
+      type = "gem";
+      sha256 = "0819j80k85j62qjg90v8z8s3h4nf3v6afxxz73hl6iqxr2dhgmq1";
+    };
+  };
+  "devise" = {
+    version = "3.2.4";
+    source = {
+      type = "gem";
+      sha256 = "1za4082iacq2n0g0v5s1vmn402wj4bwvqqd55phc9da922j4awx3";
+    };
+    dependencies = [
+      "bcrypt"
+      "orm_adapter"
+      "railties"
+      "thread_safe"
+      "warden"
+    ];
+  };
+  "devise-async" = {
+    version = "0.9.0";
+    source = {
+      type = "gem";
+      sha256 = "11llg7ggzpmg4lb9gh4sx55spvp98sal5r803gjzamps9crfq6mm";
+    };
+    dependencies = [
+      "devise"
+    ];
+  };
+  "diff-lcs" = {
+    version = "1.2.5";
+    source = {
+      type = "gem";
+      sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
+    };
+  };
+  "diffy" = {
+    version = "3.0.3";
+    source = {
+      type = "gem";
+      sha256 = "0qldyp6m5vlagiaiwdixbj64ynr5ghz58xsrxykas7581qdxk88m";
+    };
+  };
+  "docile" = {
+    version = "1.1.5";
+    source = {
+      type = "gem";
+      sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
+    };
+  };
+  "dotenv" = {
+    version = "0.9.0";
+    source = {
+      type = "gem";
+      sha256 = "1gl0m6s8d6m72wcm4p86kzzjdihyryi5mh6v70qkqd0dl1gj73l3";
+    };
+  };
+  "dropzonejs-rails" = {
+    version = "0.4.14";
+    source = {
+      type = "gem";
+      sha256 = "0aqjij9dvazz7vq9c8m9fxjc3vnkfagqgnq94whzgrm2ikszb1ny";
+    };
+    dependencies = [
+      "rails"
+    ];
+  };
+  "email_spec" = {
+    version = "1.5.0";
+    source = {
+      type = "gem";
+      sha256 = "0gshv8ylfr1nf6mhgriyzlm5rv5c44yxlgmxva8gpdqsyibfa1r6";
+    };
+    dependencies = [
+      "launchy"
+      "mail"
+    ];
+  };
+  "emoji" = {
+    version = "1.0.1";
+    source = {
+      type = "gem";
+      sha256 = "01fgzkwfsfcvcgrxb6x58w8rpcv0hq6x761iws0xqv0rzz3a8x1a";
+    };
+    dependencies = [
+      "json"
+    ];
+  };
+  "enumerize" = {
+    version = "0.7.0";
+    source = {
+      type = "gem";
+      sha256 = "0rg6bm3xv7p4i5gs4796v8gc49mzakphwv4kdbhn0wjm690h6226";
+    };
+    dependencies = [
+      "activesupport"
+    ];
+  };
+  "equalizer" = {
+    version = "0.0.8";
+    source = {
+      type = "gem";
+      sha256 = "1nh9i4khg7z2nsay8i1i43yk6ml2hwsf7cl179z22p4kwvn04vfn";
+    };
+  };
+  "erubis" = {
+    version = "2.7.0";
+    source = {
+      type = "gem";
+      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
+    };
+  };
+  "escape_utils" = {
+    version = "0.2.4";
+    source = {
+      type = "gem";
+      sha256 = "0mg5pgaa02w1bxh0166d367f2ll6fizyrs5dsirrcnw4g17ba54g";
+    };
+  };
+  "eventmachine" = {
+    version = "1.0.3";
+    source = {
+      type = "gem";
+      sha256 = "09sqlsb6x9ddlgfw5gsw7z0yjg5m2qfjiqkz2fx70zsizj3lqhil";
+    };
+  };
+  "excon" = {
+    version = "0.32.1";
+    source = {
+      type = "gem";
+      sha256 = "0yazh0228ldyxrbrj5pqw06rs5sk3disp24v5bw4h8mp3ibih45a";
+    };
+  };
+  "execjs" = {
+    version = "2.0.2";
+    source = {
+      type = "gem";
+      sha256 = "167kbkyql7nvvwjsgdw5z8j66ngq7kc59gxfwsxhqi5fl1z0jbjs";
+    };
+  };
+  "expression_parser" = {
+    version = "0.9.0";
+    source = {
+      type = "gem";
+      sha256 = "1938z3wmmdabqxlh5d5c56xfg1jc6z15p7zjyhvk7364zwydnmib";
+    };
+  };
+  "factory_girl" = {
+    version = "4.3.0";
+    source = {
+      type = "gem";
+      sha256 = "13z20a4b7z1c8vbz0qz5ranssdprldwvwlgjmn38x311sfjmp9dz";
+    };
+    dependencies = [
+      "activesupport"
+    ];
+  };
+  "factory_girl_rails" = {
+    version = "4.3.0";
+    source = {
+      type = "gem";
+      sha256 = "1jj0yl6mfildb4g79dwgc1q5pv2pa65k9b1ml43mi8mg62j8mrhz";
+    };
+    dependencies = [
+      "factory_girl"
+      "railties"
+    ];
+  };
+  "faraday" = {
+    version = "0.8.9";
+    source = {
+      type = "gem";
+      sha256 = "17d79fsgx0xwh0mfxyz5pbr435qlw79phlfvifc546w2axdkp718";
+    };
+    dependencies = [
+      "multipart-post"
+    ];
+  };
+  "faraday_middleware" = {
+    version = "0.9.0";
+    source = {
+      type = "gem";
+      sha256 = "1kwvi2sdxd6j764a7q5iir73dw2v6816zx3l8cgfv0wr2m47icq2";
+    };
+    dependencies = [
+      "faraday"
+    ];
+  };
+  "ffaker" = {
+    version = "1.22.1";
+    source = {
+      type = "gem";
+      sha256 = "17zpqhf1kq831jg9rdrpx58mwnrnrvy5g97rxg3hzgy5j09kxq0q";
+    };
+  };
+  "ffi" = {
+    version = "1.9.3";
+    source = {
+      type = "gem";
+      sha256 = "0873h6jp3v65mll7av9bxlzp9m9l1cc66j0krg0llchwbh4pv5sp";
+    };
+  };
+  "fog" = {
+    version = "1.21.0";
+    source = {
+      type = "gem";
+      sha256 = "14hbq573gl5x8zrcx5jz9d7m6rnn0vk8ypgn77hrhjh0wyxb0a7f";
+    };
+    dependencies = [
+      "fog-brightbox"
+      "fog-core"
+      "fog-json"
+      "nokogiri"
+    ];
+  };
+  "fog-brightbox" = {
+    version = "0.0.1";
+    source = {
+      type = "gem";
+      sha256 = "0j1bpfa8in3h69habl46zmm1540w46348gd246bamrs5gi4zfqkk";
+    };
+    dependencies = [
+      "fog-core"
+      "fog-json"
+    ];
+  };
+  "fog-core" = {
+    version = "1.21.1";
+    source = {
+      type = "gem";
+      sha256 = "1wcxilb537ibfl06r8h73ilj5xxvd18cc21nzwbh6fp2ip527q34";
+    };
+    dependencies = [
+      "builder"
+      "excon"
+      "formatador"
+      "mime-types"
+      "net-scp"
+      "net-ssh"
+    ];
+  };
+  "fog-json" = {
+    version = "1.0.0";
+    source = {
+      type = "gem";
+      sha256 = "1517sm8bl0bmaw2fbaf5ra6midq3wzgkpm55lb9rw6jm5ys23lyw";
+    };
+    dependencies = [
+      "multi_json"
+    ];
+  };
+  "font-awesome-rails" = {
+    version = "4.2.0.0";
+    source = {
+      type = "gem";
+      sha256 = "1r6x34lswqcm6s6y5fvx34afsydpdly0123m75m1f5vx30l81jh0";
+    };
+    dependencies = [
+      "railties"
+    ];
+  };
+  "foreman" = {
+    version = "0.63.0";
+    source = {
+      type = "gem";
+      sha256 = "0yqyjix9jm4iwyc4f3wc32vxr28rpjcw1c9ni5brs4s2a24inzlk";
+    };
+    dependencies = [
+      "dotenv"
+      "thor"
+    ];
+  };
+  "formatador" = {
+    version = "0.2.4";
+    source = {
+      type = "gem";
+      sha256 = "0pgmk1h6i6m3cslnfyjqld06a4c2xbbvmngxg2axddf39xwz6f12";
+    };
+  };
+  "gemnasium-gitlab-service" = {
+    version = "0.2.2";
+    source = {
+      type = "gem";
+      sha256 = "0a3jy2z1xkgxaqxhsclsfkn52iccdga5zznfk00s69gn0bpvdfc2";
+    };
+    dependencies = [
+      "rugged"
+    ];
+  };
+  "gherkin-ruby" = {
+    version = "0.3.1";
+    source = {
+      type = "gem";
+      sha256 = "10plcj47ky078dvg78abf0asv29g6ba1zs9mgrza1161cxyj0mlq";
+    };
+    dependencies = [
+      "racc"
+    ];
+  };
+  "github-markup" = {
+    version = "1.1.0";
+    source = {
+      type = "gem";
+      sha256 = "06zsljgavpkwafw32zx69xblhrhz1r2mjbhgpvn51c2qa0rmsd7g";
+    };
+  };
+  "gitlab-flowdock-git-hook" = {
+    version = "0.4.2.2";
+    source = {
+      type = "gem";
+      sha256 = "0r6hwkzkcdv53ib9ispjs38njxmmca7kz8kj5mjadqvdwiak9nwv";
+    };
+    dependencies = [
+      "gitlab-grit"
+      "multi_json"
+    ];
+  };
+  "gitlab-grack" = {
+    version = "2.0.0.pre";
+    source = {
+      type = "gem";
+      sha256 = "197qdlymn6cf0qk3698kn0miizv7x9hr1429g9l900rnc85a5rdb";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "gitlab-grit" = {
+    version = "2.6.12";
+    source = {
+      type = "gem";
+      sha256 = "00yghwc3ggg34vdkz7v8mq27fc8h47kydahbqzaby5s0w70nx6c8";
+    };
+    dependencies = [
+      "charlock_holmes"
+      "diff-lcs"
+      "mime-types"
+      "posix-spawn"
+    ];
+  };
+  "gitlab-linguist" = {
+    version = "3.0.0";
+    source = {
+      type = "gem";
+      sha256 = "0g2nv7lb33354nb8clwjrgxk09vr3wjn4rpyllmq6s01vx660lk6";
+    };
+    dependencies = [
+      "charlock_holmes"
+      "escape_utils"
+      "mime-types"
+    ];
+  };
+  "gitlab_emoji" = {
+    version = "0.0.1.1";
+    source = {
+      type = "gem";
+      sha256 = "0cqxhbq5c3mvkxbdcwcl4pa0cwlvnjsphs7hp2dz63h82ggwa3vn";
+    };
+    dependencies = [
+      "emoji"
+    ];
+  };
+  "gitlab_git" = {
+    version = "7.0.0.rc10";
+    source = {
+      type = "gem";
+      sha256 = "0kjljz76wh4344z05mv3wiad7qdf6nwaa0yl1jls1j0hk9i4bb4k";
+    };
+    dependencies = [
+      "activesupport"
+      "charlock_holmes"
+      "gitlab-linguist"
+      "rugged"
+    ];
+  };
+  "gitlab_meta" = {
+    version = "7.0";
+    source = {
+      type = "gem";
+      sha256 = "14vahv7gblcypbvip845sg3lvawf3kij61mkxz5vyfcv23niqvp9";
+    };
+  };
+  "gitlab_omniauth-ldap" = {
+    version = "1.1.0";
+    source = {
+      type = "gem";
+      sha256 = "0bpsh8z8fl03fwgz82wn53ibrc7714hmx16s5zxfbq1xk70r3pq7";
+    };
+    dependencies = [
+      "net-ldap"
+      "omniauth"
+      "pyu-ruby-sasl"
+      "rubyntlm"
+    ];
+  };
+  "gollum-lib" = {
+    version = "3.0.0";
+    source = {
+      type = "gem";
+      sha256 = "18g74hl0zm285jszsk4414qvd106j0gkydg134my8hylwv59c23s";
+    };
+    dependencies = [
+      "github-markup"
+      "gitlab-grit"
+      "nokogiri"
+      "rouge"
+      "sanitize"
+      "stringex"
+    ];
+  };
+  "gon" = {
+    version = "5.0.1";
+    source = {
+      type = "gem";
+      sha256 = "19ga6y4375iakccg089f7789r9n87gh16cdmhaa0qsk1m1dx34zm";
+    };
+    dependencies = [
+      "actionpack"
+      "json"
+    ];
+  };
+  "grape" = {
+    version = "0.6.1";
+    source = {
+      type = "gem";
+      sha256 = "1sjlk0pmgqbb3piz8yb0xjcm7liimrr17y5xflm40amv36pg2gz8";
+    };
+    dependencies = [
+      "activesupport"
+      "builder"
+      "hashie"
+      "multi_json"
+      "multi_xml"
+      "rack"
+      "rack-accept"
+      "rack-mount"
+      "virtus"
+    ];
+  };
+  "grape-entity" = {
+    version = "0.4.2";
+    source = {
+      type = "gem";
+      sha256 = "15vvpj7hw2n84glrvh5p3il8h3nnqg5gzgk6knavhamc7gj09g4k";
+    };
+    dependencies = [
+      "activesupport"
+      "multi_json"
+    ];
+  };
+  "growl" = {
+    version = "1.0.3";
+    source = {
+      type = "gem";
+      sha256 = "0s0y7maljnalpbv2q1j5j5hvb4wcc31y9af0n7x1q2l0fzxgc9n9";
+    };
+  };
+  "guard" = {
+    version = "2.2.4";
+    source = {
+      type = "gem";
+      sha256 = "0z427rkcpzy82g21cgq7i5sn1vxn8hm8j4d78kj9vlaqgilcybhq";
+    };
+    dependencies = [
+      "formatador"
+      "listen"
+      "lumberjack"
+      "pry"
+      "thor"
+    ];
+  };
+  "guard-rspec" = {
+    version = "4.2.0";
+    source = {
+      type = "gem";
+      sha256 = "0n4159cw88y0va5v2yvhjphwlgwhqbc3mplj7p92irbj045xsc8n";
+    };
+    dependencies = [
+      "guard"
+      "rspec"
+    ];
+  };
+  "guard-spinach" = {
+    version = "0.0.2";
+    source = {
+      type = "gem";
+      sha256 = "1fsh6yifiywvnzrk6wbgssxr5bshp38gbhs96hbfzhvzfiff0xid";
+    };
+    dependencies = [
+      "guard"
+      "spinach"
+    ];
+  };
+  "haml" = {
+    version = "4.0.5";
+    source = {
+      type = "gem";
+      sha256 = "1xmzb0k5q271090crzmv7dbw8ss4289bzxklrc0fhw6pw3kcvc85";
+    };
+    dependencies = [
+      "tilt"
+    ];
+  };
+  "haml-rails" = {
+    version = "0.5.3";
+    source = {
+      type = "gem";
+      sha256 = "0fg4dh1gb7f4h2571wm5qxli02mgg3r8ikp5vwkww12a431vk625";
+    };
+    dependencies = [
+      "actionpack"
+      "activesupport"
+      "haml"
+      "railties"
+    ];
+  };
+  "hashie" = {
+    version = "2.1.2";
+    source = {
+      type = "gem";
+      sha256 = "08w9ask37zh5w989b6igair3zf8gwllyzix97rlabxglif9f9qd9";
+    };
+  };
+  "hike" = {
+    version = "1.2.3";
+    source = {
+      type = "gem";
+      sha256 = "0i6c9hrszzg3gn2j41v3ijnwcm8cc2931fnjiv6mnpl4jcjjykhm";
+    };
+  };
+  "hipchat" = {
+    version = "0.14.0";
+    source = {
+      type = "gem";
+      sha256 = "1y3bi5aj21iay138027i8y9b022hpsfw54k7k31argp2gppc8y0n";
+    };
+    dependencies = [
+      "httparty"
+      "httparty"
+    ];
+  };
+  "html-pipeline" = {
+    version = "1.11.0";
+    source = {
+      type = "gem";
+      sha256 = "1yckdlrn4v5d7bgl8mbffax16640pgg9ny693kqi4j7g17vx2q9l";
+    };
+    dependencies = [
+      "activesupport"
+      "nokogiri"
+    ];
+  };
+  "html-pipeline-gitlab" = {
+    version = "0.1.5";
+    source = {
+      type = "gem";
+      sha256 = "1gih8j7sq45244v21z5rc19mi21achiy11l5sc8a4xfkvq5gldng";
+    };
+    dependencies = [
+      "actionpack"
+      "gitlab_emoji"
+      "html-pipeline"
+      "sanitize"
+    ];
+  };
+  "http_parser.rb" = {
+    version = "0.5.3";
+    source = {
+      type = "gem";
+      sha256 = "0fwf5d573j1sw52kz057dw0nx2wlivczmx6ybf6mk065n5g54kyn";
+    };
+  };
+  "httparty" = {
+    version = "0.13.0";
+    source = {
+      type = "gem";
+      sha256 = "1qda6yhxwh1riddnib8knhqc0ja5h26i75kaxnywfldx9rkd32jw";
+    };
+    dependencies = [
+      "json"
+      "multi_xml"
+    ];
+  };
+  "httpauth" = {
+    version = "0.2.1";
+    source = {
+      type = "gem";
+      sha256 = "1ydlaf1nvs3g7b4xp9445m01qyjbwnbbh2f7gvialipyipj92j8d";
+    };
+  };
+  "i18n" = {
+    version = "0.6.11";
+    source = {
+      type = "gem";
+      sha256 = "0fwjlgmgry2blf8zlxn9c555cf4a16p287l599kz5104ncjxlzdk";
+    };
+  };
+  "ice_nine" = {
+    version = "0.10.0";
+    source = {
+      type = "gem";
+      sha256 = "0hjcn06xgrmpz3zyg0yirx6r7xb2m6akhn29p4yn4698ncw7b3qh";
+    };
+  };
+  "jasmine" = {
+    version = "2.0.2";
+    source = {
+      type = "gem";
+      sha256 = "1v0z5a5m4np12m0lmf0vl63qdxbh6zxnxbnzx3xjwky723inqhir";
+    };
+    dependencies = [
+      "jasmine-core"
+      "phantomjs"
+      "rack"
+      "rake"
+    ];
+  };
+  "jasmine-core" = {
+    version = "2.0.0";
+    source = {
+      type = "gem";
+      sha256 = "1frr9ndyrawag8c4rhd0yxl3318s5xwb3dqvz3i6z8nc936gwfzj";
+    };
+  };
+  "jquery-atwho-rails" = {
+    version = "0.3.3";
+    source = {
+      type = "gem";
+      sha256 = "1f8w1kqy46s4qzfhlh08qb1l1czl6randcccxpknaw9pzf367fvs";
+    };
+  };
+  "jquery-rails" = {
+    version = "3.1.0";
+    source = {
+      type = "gem";
+      sha256 = "130a8gn67b2zn47yyqshf48d46na885v4g3mh2rrchd5ma1jy6cx";
+    };
+    dependencies = [
+      "railties"
+      "thor"
+    ];
+  };
+  "jquery-scrollto-rails" = {
+    version = "1.4.3";
+    source = {
+      type = "gem";
+      sha256 = "12ic0zxw60ryglm1qjq5ralqd6k4jawmjj7kqnp1nkqds2nvinvp";
+    };
+    dependencies = [
+      "railties"
+    ];
+  };
+  "jquery-turbolinks" = {
+    version = "2.0.1";
+    source = {
+      type = "gem";
+      sha256 = "0d6av6cc0g8ym5zlkc8f00zxmnqchs95h7hqnrs2yrfz9nj856kd";
+    };
+    dependencies = [
+      "railties"
+      "turbolinks"
+    ];
+  };
+  "jquery-ui-rails" = {
+    version = "4.2.1";
+    source = {
+      type = "gem";
+      sha256 = "1garrnqwh35acj2pp4sp6fpm2g881h23y644lzbic2qmcrq9wd2v";
+    };
+    dependencies = [
+      "railties"
+    ];
+  };
+  "json" = {
+    version = "1.8.1";
+    source = {
+      type = "gem";
+      sha256 = "0002bsycvizvkmk1jyv8px1hskk6wrjfk4f7x5byi8gxm6zzn6wn";
+    };
+  };
+  "jwt" = {
+    version = "0.1.13";
+    source = {
+      type = "gem";
+      sha256 = "03c8sy54nhvvb0ksphk15p5yfkd601ncs55k4h32hjqbm9vgnlsn";
+    };
+    dependencies = [
+      "multi_json"
+    ];
+  };
+  "kaminari" = {
+    version = "0.15.1";
+    source = {
+      type = "gem";
+      sha256 = "1m67ghp55hr16k1njhd00f225qys67n60qa3jz69kzqvrp6qg33d";
+    };
+    dependencies = [
+      "actionpack"
+      "activesupport"
+    ];
+  };
+  "kgio" = {
+    version = "2.8.1";
+    source = {
+      type = "gem";
+      sha256 = "0vpw3nk35mh8mda4gn0qklq51znxxgv3852g6mxifi6hjwxrmrcj";
+    };
+  };
+  "launchy" = {
+    version = "2.4.2";
+    source = {
+      type = "gem";
+      sha256 = "0i1nmlrqpnk2q6f7iq85cqaa7b8fw4bmqm57w60g92lsfmszs8iv";
+    };
+    dependencies = [
+      "addressable"
+    ];
+  };
+  "letter_opener" = {
+    version = "1.1.2";
+    source = {
+      type = "gem";
+      sha256 = "1kzbmc686hfh4jznyckq6g40kn14nhb71znsjjm0rc13nb3n0c5l";
+    };
+    dependencies = [
+      "launchy"
+    ];
+  };
+  "libv8" = {
+    version = "3.16.14.3";
+    source = {
+      type = "gem";
+      sha256 = "1arjjbmr9zxkyv6pdrihsz1p5cadzmx8308vgfvrhm380ccgridm";
+    };
+  };
+  "listen" = {
+    version = "2.3.1";
+    source = {
+      type = "gem";
+      sha256 = "081pv5nw79nl1251prh11v3ywghcmb660xm990rbp5bs6c3vcjam";
+    };
+    dependencies = [
+      "celluloid"
+      "rb-fsevent"
+      "rb-inotify"
+    ];
+  };
+  "lumberjack" = {
+    version = "1.0.4";
+    source = {
+      type = "gem";
+      sha256 = "1mj6m12hnmkvzl4w2yh04ak3z45pwksj6ra7v30za8snw9kg919d";
+    };
+  };
+  "mail" = {
+    version = "2.5.4";
+    source = {
+      type = "gem";
+      sha256 = "0z15ksb8blcppchv03g34844f7xgf36ckp484qjj2886ig1qara4";
+    };
+    dependencies = [
+      "mime-types"
+      "treetop"
+    ];
+  };
+  "method_source" = {
+    version = "0.8.2";
+    source = {
+      type = "gem";
+      sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2";
+    };
+  };
+  "mime-types" = {
+    version = "1.25.1";
+    source = {
+      type = "gem";
+      sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8";
+    };
+  };
+  "mini_portile" = {
+    version = "0.6.0";
+    source = {
+      type = "gem";
+      sha256 = "09kcn4g63xrdirgwxgjikqg976rr723bkc9bxfr29pk22cj3wavn";
+    };
+  };
+  "minitest" = {
+    version = "5.3.5";
+    source = {
+      type = "gem";
+      sha256 = "18lkfjr0p26x5qxaficwlnhvjrf5bqwl244qdx4pvr5clrvv17xr";
+    };
+  };
+  "mousetrap-rails" = {
+    version = "1.4.6";
+    source = {
+      type = "gem";
+      sha256 = "00n13r5pwrk4vq018128vcfh021dw0fa2bk4pzsv0fslfm8ayp2m";
+    };
+  };
+  "multi_json" = {
+    version = "1.10.1";
+    source = {
+      type = "gem";
+      sha256 = "1ll21dz01jjiplr846n1c8yzb45kj5hcixgb72rz0zg8fyc9g61c";
+    };
+  };
+  "multi_xml" = {
+    version = "0.5.5";
+    source = {
+      type = "gem";
+      sha256 = "0i8r7dsz4z79z3j023l8swan7qpbgxbwwz11g38y2vjqjk16v4q8";
+    };
+  };
+  "multipart-post" = {
+    version = "1.2.0";
+    source = {
+      type = "gem";
+      sha256 = "12p7lnmc52di1r4h73h6xrpppplzyyhani9p7wm8l4kgf1hnmwnc";
+    };
+  };
+  "mysql2" = {
+    version = "0.3.16";
+    source = {
+      type = "gem";
+      sha256 = "0ikg892bvyviqvxsyn0v6vj9ndhgdbc1339488n8y4s9zh35y71f";
+    };
+  };
+  "net-ldap" = {
+    version = "0.7.0";
+    source = {
+      type = "gem";
+      sha256 = "1d54cm02w8xi5nylss5b9vmzsscflcrbwg5qv1rp5frak4f397fk";
+    };
+  };
+  "net-scp" = {
+    version = "1.1.2";
+    source = {
+      type = "gem";
+      sha256 = "0xsr5gka2y14i5pa6h2lgkdzvmlviqq2qbmgaw76gdzrcf7q9n7k";
+    };
+    dependencies = [
+      "net-ssh"
+    ];
+  };
+  "net-ssh" = {
+    version = "2.8.0";
+    source = {
+      type = "gem";
+      sha256 = "0l89a01199ag77vvbm47fdpmx4fp2dk9jsvwvrsqryxqqhzwbxa2";
+    };
+  };
+  "newrelic_rpm" = {
+    version = "3.9.4.245";
+    source = {
+      type = "gem";
+      sha256 = "0r1x16wwmiqsf1gj2a1lgc0fq1v0x4yv40k5wgb00gs439vgzyin";
+    };
+  };
+  "nokogiri" = {
+    version = "1.6.2.1";
+    source = {
+      type = "gem";
+      sha256 = "0dj8ajm9hlfpa71qz1xn5prqy5qdi32ll74qh8ssjwknp1a35cnz";
+    };
+    dependencies = [
+      "mini_portile"
+    ];
+  };
+  "nprogress-rails" = {
+    version = "0.1.2.3";
+    source = {
+      type = "gem";
+      sha256 = "16gqajynqzfvzcyc8b9bjn8xf6j7y80li00ajicxwvb6my2ag304";
+    };
+  };
+  "oauth" = {
+    version = "0.4.7";
+    source = {
+      type = "gem";
+      sha256 = "1k5j09p3al3clpjl6lax62qmhy43f3j3g7i6f9l4dbs6r5vpv95w";
+    };
+  };
+  "oauth2" = {
+    version = "0.8.1";
+    source = {
+      type = "gem";
+      sha256 = "18gk2m42l4dmhiq394mmj1md2l5va5m236lkwy62pwk526lhi271";
+    };
+    dependencies = [
+      "faraday"
+      "httpauth"
+      "jwt"
+      "multi_json"
+      "rack"
+    ];
+  };
+  "omniauth" = {
+    version = "1.1.4";
+    source = {
+      type = "gem";
+      sha256 = "1ggg6nrlbpj67q59s5lyrpi6lnwv6wp3y7y5njbqr6y5y7d34wfl";
+    };
+    dependencies = [
+      "hashie"
+      "rack"
+    ];
+  };
+  "omniauth-github" = {
+    version = "1.1.1";
+    source = {
+      type = "gem";
+      sha256 = "1hnsindjhy4ihgjl96iwlf26vdv7v2cikagpqpkv25nc97mipd4l";
+    };
+    dependencies = [
+      "omniauth"
+      "omniauth-oauth2"
+    ];
+  };
+  "omniauth-google-oauth2" = {
+    version = "0.2.5";
+    source = {
+      type = "gem";
+      sha256 = "1pgbc21y5kjna1ac2fwaaimv1a4a6wdpy6y5wmvrl6pr631s248w";
+    };
+    dependencies = [
+      "omniauth"
+      "omniauth-oauth2"
+    ];
+  };
+  "omniauth-oauth" = {
+    version = "1.0.1";
+    source = {
+      type = "gem";
+      sha256 = "0ng7zcsfx0hv4yqwj80y1yc6wh5511p07lihaf9j7a3bzqqgn6wz";
+    };
+    dependencies = [
+      "oauth"
+      "omniauth"
+    ];
+  };
+  "omniauth-oauth2" = {
+    version = "1.1.1";
+    source = {
+      type = "gem";
+      sha256 = "0s7bhlbz9clg1qxjrrcssyp5kxry1zp0lhsfgw735m7ap5vvmf3j";
+    };
+    dependencies = [
+      "oauth2"
+      "omniauth"
+    ];
+  };
+  "omniauth-shibboleth" = {
+    version = "1.1.1";
+    source = {
+      type = "gem";
+      sha256 = "0xljj8mpdbr243ddqcd3bmr2jc674lj9iv0v1z3rczg4q45jmadh";
+    };
+    dependencies = [
+      "omniauth"
+    ];
+  };
+  "omniauth-twitter" = {
+    version = "1.0.1";
+    source = {
+      type = "gem";
+      sha256 = "060gnfc9im786llgi7vlrfhar1b7jlk19bjjc5d50lwrah0hh4fd";
+    };
+    dependencies = [
+      "multi_json"
+      "omniauth-oauth"
+    ];
+  };
+  "org-ruby" = {
+    version = "0.9.9";
+    source = {
+      type = "gem";
+      sha256 = "1r978d8rsmln1jz44in6ll61ii84r81wb2mmic633h0agm62s9za";
+    };
+    dependencies = [
+      "rubypants"
+    ];
+  };
+  "orm_adapter" = {
+    version = "0.5.0";
+    source = {
+      type = "gem";
+      sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda";
+    };
+  };
+  "pg" = {
+    version = "0.15.1";
+    source = {
+      type = "gem";
+      sha256 = "1lwyb542avqfav3814n5b3pssyih1ghzchs58vyzh5061r02fs5s";
+    };
+  };
+  "phantomjs" = {
+    version = "1.9.2.0";
+    source = {
+      type = "gem";
+      sha256 = "0cvg8c9b85bhl00wg1fbkbr129sdxlh9gm61fqq3hal3c6sxbws2";
+    };
+  };
+  "poltergeist" = {
+    version = "1.5.1";
+    source = {
+      type = "gem";
+      sha256 = "08va59swiyvppb020xy6k9sqpnf5s6rjm1ycsbkv2abp37080ifv";
+    };
+    dependencies = [
+      "capybara"
+      "cliver"
+      "multi_json"
+      "websocket-driver"
+    ];
+  };
+  "polyglot" = {
+    version = "0.3.4";
+    source = {
+      type = "gem";
+      sha256 = "0jcnabyh7iirz78db1g713iyhshmw4j0nw7q6nbd67vfffgrsh05";
+    };
+  };
+  "posix-spawn" = {
+    version = "0.3.9";
+    source = {
+      type = "gem";
+      sha256 = "042i1afggy1sv2jmdjjjhyffas28xp2r1ylj5xfv3hchy3b4civ3";
+    };
+  };
+  "pry" = {
+    version = "0.9.12.4";
+    source = {
+      type = "gem";
+      sha256 = "0ndihrzirbfypf5pkqqcqhml6qpq66wbafkpc5jhjqjc6jc1llis";
+    };
+    dependencies = [
+      "coderay"
+      "method_source"
+      "slop"
+    ];
+  };
+  "pyu-ruby-sasl" = {
+    version = "0.0.3.3";
+    source = {
+      type = "gem";
+      sha256 = "1rcpjiz9lrvyb3rd8k8qni0v4ps08psympffyldmmnrqayyad0sn";
+    };
+  };
+  "quiet_assets" = {
+    version = "1.0.2";
+    source = {
+      type = "gem";
+      sha256 = "1a1gdaaglcpl583x9ma8la8cpls0lbc0l6qhv66dahia8ql8gg1z";
+    };
+    dependencies = [
+      "railties"
+    ];
+  };
+  "racc" = {
+    version = "1.4.10";
+    source = {
+      type = "gem";
+      sha256 = "10xm27dic2y8d53rw3yqw6jkdhrlgq11kbf5p8wiskiz28gzd0k2";
+    };
+  };
+  "rack" = {
+    version = "1.5.2";
+    source = {
+      type = "gem";
+      sha256 = "19szfw76cscrzjldvw30jp3461zl00w4xvw1x9lsmyp86h1g0jp6";
+    };
+  };
+  "rack-accept" = {
+    version = "0.4.5";
+    source = {
+      type = "gem";
+      sha256 = "18jdipx17b4ki33cfqvliapd31sbfvs4mv727awynr6v95a7n936";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "rack-attack" = {
+    version = "2.3.0";
+    source = {
+      type = "gem";
+      sha256 = "177l9q3gi5lypcxs7141mw62cmg4l20i84dzhvhcfz2blp8fa47r";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "rack-cors" = {
+    version = "0.2.9";
+    source = {
+      type = "gem";
+      sha256 = "0z88pbbasr86z6h0965cny0gvrnj7zwv31s506xbpivk4vd6n9as";
+    };
+  };
+  "rack-mini-profiler" = {
+    version = "0.9.0";
+    source = {
+      type = "gem";
+      sha256 = "0js0s422j7qqjbr3zay48hw82m3z7ddf3qvwcp2m8yz1g438fxqw";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "rack-mount" = {
+    version = "0.8.3";
+    source = {
+      type = "gem";
+      sha256 = "09a1qfaxxsll1kbgz7z0q0nr48sfmfm7akzaviis5bjpa5r00ld2";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "rack-protection" = {
+    version = "1.5.1";
+    source = {
+      type = "gem";
+      sha256 = "0qxq5ld15nljxzdcx2wmbc3chw8nb6la1ap838vf263lnjcpx3dd";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "rack-test" = {
+    version = "0.6.2";
+    source = {
+      type = "gem";
+      sha256 = "01mk715ab5qnqf6va8k3hjsvsmplrfqpz6g58qw4m3l8mim0p4ky";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "rails" = {
+    version = "4.1.1";
+    source = {
+      type = "gem";
+      sha256 = "199agdsvidzk2g3zd50vkwnlr6gjk3s1qhligiik3rqr4ij7a8k0";
+    };
+    dependencies = [
+      "actionmailer"
+      "actionpack"
+      "actionview"
+      "activemodel"
+      "activerecord"
+      "activesupport"
+      "railties"
+      "sprockets-rails"
+    ];
+  };
+  "rails_autolink" = {
+    version = "1.1.6";
+    source = {
+      type = "gem";
+      sha256 = "0wanqb979j9zf60g6r6mdlsvrdmbj4ppc0clyi2dr98wwyz1fk1q";
+    };
+    dependencies = [
+      "rails"
+    ];
+  };
+  "rails_best_practices" = {
+    version = "1.14.4";
+    source = {
+      type = "gem";
+      sha256 = "14f6qwrzvk2dai56h32jg42z1h7hiphy6b01wwrnmzpwcgzp34w5";
+    };
+    dependencies = [
+      "activesupport"
+      "awesome_print"
+      "code_analyzer"
+      "colored"
+      "erubis"
+      "i18n"
+      "require_all"
+      "ruby-progressbar"
+    ];
+  };
+  "railties" = {
+    version = "4.1.1";
+    source = {
+      type = "gem";
+      sha256 = "1rlfbwrcg1qzyv5972wjx3vj40i0k9vgn2zzqavgcha7smmpivqc";
+    };
+    dependencies = [
+      "actionpack"
+      "activesupport"
+      "rake"
+      "thor"
+    ];
+  };
+  "raindrops" = {
+    version = "0.12.0";
+    source = {
+      type = "gem";
+      sha256 = "16k8gb6f6y368wqf7s8n0lcm8c2krkrpf3p2qixn7nfs2x0g4xr0";
+    };
+  };
+  "rake" = {
+    version = "10.3.2";
+    source = {
+      type = "gem";
+      sha256 = "0nvpkjrpsk8xxnij2wd1cdn6arja9q11sxx4aq4fz18bc6fss15m";
+    };
+  };
+  "raphael-rails" = {
+    version = "2.1.2";
+    source = {
+      type = "gem";
+      sha256 = "0sjiaymvfn4al5dr1pza5i142byan0fxnj4rymziyql2bzvdm2bc";
+    };
+  };
+  "rb-fsevent" = {
+    version = "0.9.3";
+    source = {
+      type = "gem";
+      sha256 = "0bdnxwdxj4r1kdxfi5nszbsb126njrr81p912g64xxs2bgxd1bp1";
+    };
+  };
+  "rb-inotify" = {
+    version = "0.9.2";
+    source = {
+      type = "gem";
+      sha256 = "0752fhgfrx370b2jnhxzs8sjv2l8yrnwqj337kx9v100igd1c7iv";
+    };
+    dependencies = [
+      "ffi"
+    ];
+  };
+  "rdoc" = {
+    version = "3.12.2";
+    source = {
+      type = "gem";
+      sha256 = "1v9k4sp5yzj2bshngckdvivj6bszciskk1nd2r3wri2ygs7vgqm8";
+    };
+    dependencies = [
+      "json"
+    ];
+  };
+  "redcarpet" = {
+    version = "3.1.2";
+    source = {
+      type = "gem";
+      sha256 = "076p52lkns90hqs27rs4kns2bg7maz8qxr87bl34yd6in319flzz";
+    };
+  };
+  "redis" = {
+    version = "3.0.6";
+    source = {
+      type = "gem";
+      sha256 = "1ha2h422rvbf0wk96bp7k0ibl0jyg7v101jsj7z0r7pvzcx21j73";
+    };
+  };
+  "redis-actionpack" = {
+    version = "4.0.0";
+    source = {
+      type = "gem";
+      sha256 = "0mad0v3qanw3xi9zs03f4w8sn1qb3x501k3235ck8m5i8vgjk474";
+    };
+    dependencies = [
+      "actionpack"
+      "redis-rack"
+      "redis-store"
+    ];
+  };
+  "redis-activesupport" = {
+    version = "4.0.0";
+    source = {
+      type = "gem";
+      sha256 = "18mlzjchj7sh1jm2icx2idf2hcir3agpd6i01q0gnf36f432v06d";
+    };
+    dependencies = [
+      "activesupport"
+      "redis-store"
+    ];
+  };
+  "redis-namespace" = {
+    version = "1.4.1";
+    source = {
+      type = "gem";
+      sha256 = "0fb6i98mhfxn26bqr5vdzhfjyda36cpaxh0dgxynp1y3m301khf7";
+    };
+    dependencies = [
+      "redis"
+    ];
+  };
+  "redis-rack" = {
+    version = "1.5.0";
+    source = {
+      type = "gem";
+      sha256 = "1y1mxx8gn0krdrpwllv7fqsbvki1qjnb2dz8b4q9gwc326829gk8";
+    };
+    dependencies = [
+      "rack"
+      "redis-store"
+    ];
+  };
+  "redis-rails" = {
+    version = "4.0.0";
+    source = {
+      type = "gem";
+      sha256 = "0igww7hb58aq74mh50dli3zjg78b54y8nhd0h1h9vz4vgjd4q8m7";
+    };
+    dependencies = [
+      "redis-actionpack"
+      "redis-activesupport"
+      "redis-store"
+    ];
+  };
+  "redis-store" = {
+    version = "1.1.4";
+    source = {
+      type = "gem";
+      sha256 = "0ja2h1rdyjga8bqb02w3sk3a1m78dsfg96b842s6mkkbpifpxd4z";
+    };
+    dependencies = [
+      "redis"
+    ];
+  };
+  "ref" = {
+    version = "1.0.5";
+    source = {
+      type = "gem";
+      sha256 = "19qgpsfszwc2sfh6wixgky5agn831qq8ap854i1jqqhy1zsci3la";
+    };
+  };
+  "request_store" = {
+    version = "1.0.5";
+    source = {
+      type = "gem";
+      sha256 = "1ky19wb6mpq6dxb81a0h4hnzx7a4ka99n9ay2syi68djbr4bkbbh";
+    };
+  };
+  "require_all" = {
+    version = "1.3.2";
+    source = {
+      type = "gem";
+      sha256 = "16l08r6asr8nif6ah75w57i7y728132n8ns62rlrf78sh4lmfkhx";
+    };
+  };
+  "rest-client" = {
+    version = "1.6.7";
+    source = {
+      type = "gem";
+      sha256 = "0nn7zalgidz2yj0iqh3xvzh626krm2al79dfiij19jdhp0rk8853";
+    };
+    dependencies = [
+      "mime-types"
+    ];
+  };
+  "rinku" = {
+    version = "1.7.3";
+    source = {
+      type = "gem";
+      sha256 = "1jh6nys332brph55i6x6cil6swm086kxjw34wq131nl6mwryqp7b";
+    };
+  };
+  "rouge" = {
+    version = "1.3.3";
+    source = {
+      type = "gem";
+      sha256 = "0l82xyfdpir2hdm94dw8hy01ngghhas1jm8r3lp3kvyw6z7ph4ml";
+    };
+  };
+  "rspec" = {
+    version = "2.14.1";
+    source = {
+      type = "gem";
+      sha256 = "134y4wzk1prninb5a0bhxgm30kqfzl8dg06af4js5ylnhv2wd7sg";
+    };
+    dependencies = [
+      "rspec-core"
+      "rspec-expectations"
+      "rspec-mocks"
+    ];
+  };
+  "rspec-core" = {
+    version = "2.14.7";
+    source = {
+      type = "gem";
+      sha256 = "0j23ca2hkf0ac708afvi5nxjn75g0mani6m17if52bjrxcgn4577";
+    };
+  };
+  "rspec-expectations" = {
+    version = "2.14.4";
+    source = {
+      type = "gem";
+      sha256 = "0figi31xg100yc90p04n16p1n8q9nlnqyncyl0f34mks8bc4zdrw";
+    };
+    dependencies = [
+      "diff-lcs"
+    ];
+  };
+  "rspec-mocks" = {
+    version = "2.14.4";
+    source = {
+      type = "gem";
+      sha256 = "12vbv0firjkxlinxgg81j6qnwq8mmz48y4iv3ml9j411vqav4ig7";
+    };
+  };
+  "rspec-rails" = {
+    version = "2.14.0";
+    source = {
+      type = "gem";
+      sha256 = "1s9mszadqjmbcahyjgazygvkj8m7pzg7jpgx8m4wl0vxjxg3gr3f";
+    };
+    dependencies = [
+      "actionpack"
+      "activesupport"
+      "railties"
+      "rspec-core"
+      "rspec-expectations"
+      "rspec-mocks"
+    ];
+  };
+  "ruby-progressbar" = {
+    version = "1.2.0";
+    source = {
+      type = "gem";
+      sha256 = "16vxr5n8q87gvdc2px4vzjkasiadzi0c18ynqc8x61352hl5f9ll";
+    };
+  };
+  "rubyntlm" = {
+    version = "0.1.1";
+    source = {
+      type = "gem";
+      sha256 = "0w48h3n8jzndqwmxxbj72j4gwma07f0x07ppsiv1qlygq2n9nyx0";
+    };
+  };
+  "rubypants" = {
+    version = "0.2.0";
+    source = {
+      type = "gem";
+      sha256 = "1vpdkrc4c8qhrxph41wqwswl28q5h5h994gy4c1mlrckqzm3hzph";
+    };
+  };
+  "rugged" = {
+    version = "0.21.0";
+    source = {
+      type = "gem";
+      sha256 = "0abmh5l1j7pp7vwq8vrqmgv07pc2wq0m97hm1sb0k0ghsx9yqdp5";
+    };
+  };
+  "safe_yaml" = {
+    version = "0.9.7";
+    source = {
+      type = "gem";
+      sha256 = "0y34vpak8gim18rq02rgd144jsvk5is4xni16wm3shbhivzqb4hk";
+    };
+  };
+  "sanitize" = {
+    version = "2.1.0";
+    source = {
+      type = "gem";
+      sha256 = "0xsv6xqrlz91rd8wifjknadbl3z5h6qphmxy0hjb189qbdghggn3";
+    };
+    dependencies = [
+      "nokogiri"
+    ];
+  };
+  "sass" = {
+    version = "3.2.19";
+    source = {
+      type = "gem";
+      sha256 = "1b5z55pmban9ry7k572ghmpcz9h04nbrdhdfpcz8zaldv5v7vkfx";
+    };
+  };
+  "sass-rails" = {
+    version = "4.0.3";
+    source = {
+      type = "gem";
+      sha256 = "1j1f7zhn1ywkmgp5m1rdi7n404vd3j53wp9ngq9n7w33bzwnaxmm";
+    };
+    dependencies = [
+      "railties"
+      "sass"
+      "sprockets"
+      "sprockets-rails"
+    ];
+  };
+  "sdoc" = {
+    version = "0.3.20";
+    source = {
+      type = "gem";
+      sha256 = "17l8qk0ld47z4h5avcnylvds8nc6dp25zc64w23z8li2hs341xf2";
+    };
+    dependencies = [
+      "json"
+      "rdoc"
+    ];
+  };
+  "seed-fu" = {
+    version = "2.3.1";
+    source = {
+      type = "gem";
+      sha256 = "1nw1pic6nxbqfwakykamaxm2rgz699yzwf1y64ms4ijgazmwy2gb";
+    };
+    dependencies = [
+      "activerecord"
+      "activesupport"
+    ];
+  };
+  "select2-rails" = {
+    version = "3.5.2";
+    source = {
+      type = "gem";
+      sha256 = "0zlzkqr4xjd9k317wkw26m8nficp5cdf5ghl1h47ajgrj9pjvbnw";
+    };
+    dependencies = [
+      "thor"
+    ];
+  };
+  "semantic-ui-sass" = {
+    version = "0.16.1.0";
+    source = {
+      type = "gem";
+      sha256 = "18bivcl0a1pzd0sdxlnpwfb6fdai52f94kwzx68ky818mk1zgaal";
+    };
+    dependencies = [
+      "sass"
+    ];
+  };
+  "settingslogic" = {
+    version = "2.0.9";
+    source = {
+      type = "gem";
+      sha256 = "1ria5zcrk1nf0b9yia15mdpzw0dqr6wjpbj8dsdbbps81lfsj9ar";
+    };
+  };
+  "sexp_processor" = {
+    version = "4.4.0";
+    source = {
+      type = "gem";
+      sha256 = "1rvbxsnjqy82mq0ah6jbmakhr18kfp47gls698pf3dcrvbdisnbi";
+    };
+  };
+  "shoulda-matchers" = {
+    version = "2.1.0";
+    source = {
+      type = "gem";
+      sha256 = "1ilz8hsc8n8snd1q6l54mkrcm1zgvc3bxdrhinldz9bh17hyhk6s";
+    };
+    dependencies = [
+      "activesupport"
+    ];
+  };
+  "sidekiq" = {
+    version = "2.17.0";
+    source = {
+      type = "gem";
+      sha256 = "0lqcl5b3x1k9m78ry2yl1vq6b4schxwcywqkwzl7cw8w642pxic1";
+    };
+    dependencies = [
+      "celluloid"
+      "connection_pool"
+      "json"
+      "redis"
+      "redis-namespace"
+    ];
+  };
+  "simple_oauth" = {
+    version = "0.1.9";
+    source = {
+      type = "gem";
+      sha256 = "0bb06p88xsdw4fxll1ikv5i5k58sl6y323ss0wp1hqjm3xw1jgvj";
+    };
+  };
+  "simplecov" = {
+    version = "0.9.0";
+    source = {
+      type = "gem";
+      sha256 = "1dwyb1q6mn4cy76s9givrakf5x439jmvny46qpa0ywzkli95f82g";
+    };
+    dependencies = [
+      "docile"
+      "multi_json"
+      "simplecov-html"
+    ];
+  };
+  "simplecov-html" = {
+    version = "0.8.0";
+    source = {
+      type = "gem";
+      sha256 = "0jhn3jql73x7hsr00wwv984iyrcg0xhf64s90zaqv2f26blkqfb9";
+    };
+  };
+  "sinatra" = {
+    version = "1.4.4";
+    source = {
+      type = "gem";
+      sha256 = "12iy0f92d3zyk4759flgcracrbzc3x6cilpgdkzhzgjrsm9aa5hs";
+    };
+    dependencies = [
+      "rack"
+      "rack-protection"
+      "tilt"
+    ];
+  };
+  "six" = {
+    version = "0.2.0";
+    source = {
+      type = "gem";
+      sha256 = "1bhapiyjh5r5qjpclfw8i65plvy6k2q4azr5xir63xqglr53viw3";
+    };
+  };
+  "slack-notifier" = {
+    version = "0.3.2";
+    source = {
+      type = "gem";
+      sha256 = "0126im7nm7qw03xgls5qmbldls94yjgv8fzhrnqy7140a51n65k4";
+    };
+  };
+  "slim" = {
+    version = "2.0.2";
+    source = {
+      type = "gem";
+      sha256 = "1sm78ai5xvqqh7zpv6c2c4iy2lakmrqfmmnyr5ha768vjxzzdk87";
+    };
+    dependencies = [
+      "temple"
+      "tilt"
+    ];
+  };
+  "slop" = {
+    version = "3.4.7";
+    source = {
+      type = "gem";
+      sha256 = "1x3dwljqvkzj314rwn2bxgim9xvgwnfipzg5g0kwwxfn90fpv2sn";
+    };
+  };
+  "spinach" = {
+    version = "0.8.7";
+    source = {
+      type = "gem";
+      sha256 = "036zrwf31iq5fh2qgins51nh9756aqyz4almznq2p36yfylihdx4";
+    };
+    dependencies = [
+      "colorize"
+      "gherkin-ruby"
+    ];
+  };
+  "spinach-rails" = {
+    version = "0.2.1";
+    source = {
+      type = "gem";
+      sha256 = "1nfacfylkncfgi59g2wga6m4nzdcjqb8s50cax4nbx362ap4bl70";
+    };
+    dependencies = [
+      "capybara"
+      "railties"
+      "spinach"
+    ];
+  };
+  "spring" = {
+    version = "1.1.3";
+    source = {
+      type = "gem";
+      sha256 = "1ibj1d1490wys76ng4g7q8q2rglh37yqxkz2c3vv087cizr8ralj";
+    };
+  };
+  "spring-commands-rspec" = {
+    version = "1.0.1";
+    source = {
+      type = "gem";
+      sha256 = "1z6ghbyndpaz9pm6mw97jpgc1zvz79y3ijidji3z4ygx98imxmv1";
+    };
+    dependencies = [
+      "spring"
+    ];
+  };
+  "spring-commands-spinach" = {
+    version = "1.0.0";
+    source = {
+      type = "gem";
+      sha256 = "138jardqyj96wz68njdgy55qjbpl2d0g8bxbkz97ndaz3c2bykv9";
+    };
+    dependencies = [
+      "spring"
+    ];
+  };
+  "sprockets" = {
+    version = "2.11.0";
+    source = {
+      type = "gem";
+      sha256 = "082rrn7nsy18ky095zm6a9b4zfbikf60gaakplyqmkjclxk4lsmh";
+    };
+    dependencies = [
+      "hike"
+      "multi_json"
+      "rack"
+      "tilt"
+    ];
+  };
+  "sprockets-rails" = {
+    version = "2.1.3";
+    source = {
+      type = "gem";
+      sha256 = "12kdy9vjn3ygrxhn9jxxx0rvsq601vayrkgbr3rqcpyhqhl4s4wy";
+    };
+    dependencies = [
+      "actionpack"
+      "activesupport"
+      "sprockets"
+    ];
+  };
+  "stamp" = {
+    version = "0.5.0";
+    source = {
+      type = "gem";
+      sha256 = "1w54kxm4sd4za9rhrkl5lqjbsalhziq95sr3nnwr1lqc00nn5mhs";
+    };
+  };
+  "state_machine" = {
+    version = "1.2.0";
+    source = {
+      type = "gem";
+      sha256 = "1vf25h443b1s98d2lhd1w3rgam86pjsjhz632f3yrfkn374xvz40";
+    };
+  };
+  "stringex" = {
+    version = "2.5.1";
+    source = {
+      type = "gem";
+      sha256 = "178ppbdm70hzadrgq55q83c3hwv6b7wixacg9kk4v6cxnns5dmfv";
+    };
+  };
+  "temple" = {
+    version = "0.6.7";
+    source = {
+      type = "gem";
+      sha256 = "09makksvllkzrm0vfb91xm46pq5qdp2c04cqid9i2immqcwz6x1k";
+    };
+  };
+  "term-ansicolor" = {
+    version = "1.2.2";
+    source = {
+      type = "gem";
+      sha256 = "1b41q1q6mqcgzq9fhzhmjvfg5sfs5v7gkb8z57r4hajcp89lflxr";
+    };
+    dependencies = [
+      "tins"
+    ];
+  };
+  "test_after_commit" = {
+    version = "0.2.2";
+    source = {
+      type = "gem";
+      sha256 = "13zsag1lbkabwkaxbwhf06d4za5r4nb0fam95rqnx3yxnyshkq4b";
+    };
+  };
+  "therubyracer" = {
+    version = "0.12.0";
+    source = {
+      type = "gem";
+      sha256 = "185k2kvn2q9xznrij3swf9xp3d13h3hdc4w4ldhbrjkg7k1139q6";
+    };
+    dependencies = [
+      "libv8"
+      "ref"
+    ];
+  };
+  "thin" = {
+    version = "1.6.1";
+    source = {
+      type = "gem";
+      sha256 = "065xsmjb7s0gfhx0zhh6wpjxvq26n6d7vq479df9llnk68b0xf50";
+    };
+    dependencies = [
+      "daemons"
+      "eventmachine"
+      "rack"
+    ];
+  };
+  "thor" = {
+    version = "0.19.1";
+    source = {
+      type = "gem";
+      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
+    };
+  };
+  "thread_safe" = {
+    version = "0.3.4";
+    source = {
+      type = "gem";
+      sha256 = "1cil2zcdzqkyr8zrwhlg7gywryg36j4mxlxw0h0x0j0wjym5nc8n";
+    };
+  };
+  "tilt" = {
+    version = "1.4.1";
+    source = {
+      type = "gem";
+      sha256 = "00sr3yy7sbqaq7cb2d2kpycajxqf1b1wr1yy33z4bnzmqii0b0ir";
+    };
+  };
+  "timers" = {
+    version = "1.1.0";
+    source = {
+      type = "gem";
+      sha256 = "0x3vnkxy3bg9f6v1nhkfqkajr19glrzkmqd5a1wy8hrylx8rdfrv";
+    };
+  };
+  "tinder" = {
+    version = "1.9.3";
+    source = {
+      type = "gem";
+      sha256 = "0ixxyrlr1ynj9bki515byqg7j45vkvfm4s49n614whpdf8mgs1hb";
+    };
+    dependencies = [
+      "eventmachine"
+      "faraday"
+      "faraday_middleware"
+      "hashie"
+      "json"
+      "mime-types"
+      "multi_json"
+      "twitter-stream"
+    ];
+  };
+  "tins" = {
+    version = "0.13.1";
+    source = {
+      type = "gem";
+      sha256 = "0c7gqgj7z1frab4r9i8dbf111l3jyd44npraz8fdds1b8qvz4fy5";
+    };
+  };
+  "treetop" = {
+    version = "1.4.15";
+    source = {
+      type = "gem";
+      sha256 = "1zqj5y0mvfvyz11nhsb4d5ch0i0rfcyj64qx19mw4qhg3hh8z9pz";
+    };
+    dependencies = [
+      "polyglot"
+      "polyglot"
+    ];
+  };
+  "turbolinks" = {
+    version = "2.0.0";
+    source = {
+      type = "gem";
+      sha256 = "1zz8ff6v1chsv1clixapcmw1w62pqa1xlxlvlgxasvkscbqxhbyr";
+    };
+    dependencies = [
+      "coffee-rails"
+    ];
+  };
+  "twitter-stream" = {
+    version = "0.1.16";
+    source = {
+      type = "gem";
+      sha256 = "0is81g3xvnjk64sqiaqlh2ziwfryzwvk1yvaniryg0zhppgsyriq";
+    };
+    dependencies = [
+      "eventmachine"
+      "http_parser.rb"
+      "simple_oauth"
+    ];
+  };
+  "tzinfo" = {
+    version = "1.2.2";
+    source = {
+      type = "gem";
+      sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
+    };
+    dependencies = [
+      "thread_safe"
+    ];
+  };
+  "uglifier" = {
+    version = "2.3.2";
+    source = {
+      type = "gem";
+      sha256 = "1w5cc90wzs4jdpvfrhqjgf4gwsg517cwz15a31p4z7hxs412z52y";
+    };
+    dependencies = [
+      "execjs"
+      "json"
+    ];
+  };
+  "underscore-rails" = {
+    version = "1.4.4";
+    source = {
+      type = "gem";
+      sha256 = "1xg3dfym38gj5zsjxpf1v5cz4j6gysirv9bgc5ls37krixkajag2";
+    };
+  };
+  "unf" = {
+    version = "0.1.4";
+    source = {
+      type = "gem";
+      sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
+    };
+    dependencies = [
+      "unf_ext"
+    ];
+  };
+  "unf_ext" = {
+    version = "0.0.6";
+    source = {
+      type = "gem";
+      sha256 = "07zbmkzcid6pzdqgla3456ipfdka7j1v4hsx1iaa8rbnllqbmkdg";
+    };
+  };
+  "unicorn" = {
+    version = "4.6.3";
+    source = {
+      type = "gem";
+      sha256 = "0rj9lwqwaklyk5vy0lqj4x7fcqb027j240waya5zvb14i8a142zx";
+    };
+    dependencies = [
+      "kgio"
+      "rack"
+      "raindrops"
+    ];
+  };
+  "unicorn-worker-killer" = {
+    version = "0.4.2";
+    source = {
+      type = "gem";
+      sha256 = "12y7lsqyfca9dxy387hfx4c3xjd22sj4b9xxrmdzcksighs1ja3d";
+    };
+    dependencies = [
+      "unicorn"
+    ];
+  };
+  "version_sorter" = {
+    version = "1.1.0";
+    source = {
+      type = "gem";
+      sha256 = "0wvqjkj0z5yi29f6907f1jzfszq8zgrq74mapmmi9csgvqkybsmf";
+    };
+  };
+  "virtus" = {
+    version = "1.0.1";
+    source = {
+      type = "gem";
+      sha256 = "19j4ssjxn4ag8i08v4andlz1rnhd2dwfxh2qn2a3hq3s6xjivn03";
+    };
+    dependencies = [
+      "axiom-types"
+      "coercible"
+      "descendants_tracker"
+      "equalizer"
+    ];
+  };
+  "warden" = {
+    version = "1.2.3";
+    source = {
+      type = "gem";
+      sha256 = "0ykzsgwml0pdqn6vdjjaix12gpcgn8b126z9fx7yq3r3bmdrwxlp";
+    };
+    dependencies = [
+      "rack"
+    ];
+  };
+  "webmock" = {
+    version = "1.16.0";
+    source = {
+      type = "gem";
+      sha256 = "1y2pm64qah6n9c203c90vlw8jkvbjv703y8qr2z6ikwblp8cxs49";
+    };
+    dependencies = [
+      "addressable"
+      "crack"
+    ];
+  };
+  "websocket-driver" = {
+    version = "0.3.3";
+    source = {
+      type = "gem";
+      sha256 = "0f3nx6yfd7q8xz78zfc3zbkj2rwfm4ri9viqjy1dmnkhwg0h96jf";
+    };
+  };
+  "wikicloth" = {
+    version = "0.8.1";
+    source = {
+      type = "gem";
+      sha256 = "1jp6c2yzyqbap8jdiw8yz6l08sradky1llhyhmrg934l1b5akj3s";
+    };
+    dependencies = [
+      "builder"
+      "expression_parser"
+      "rinku"
+    ];
+  };
+  "xpath" = {
+    version = "2.0.0";
+    source = {
+      type = "gem";
+      sha256 = "04kcr127l34p7221z13blyl0dvh0bmxwx326j72idayri36a394w";
+    };
+    dependencies = [
+      "nokogiri"
+    ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/version-management/gitlab/generate_nix_requirements.rb b/pkgs/applications/version-management/gitlab/generate_nix_requirements.rb
deleted file mode 100755
index ed47d52c9c1..00000000000
--- a/pkgs/applications/version-management/gitlab/generate_nix_requirements.rb
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/env ruby
-
-require 'rubygems'
-require 'bundler'
-require 'fileutils'
-require 'net/http'
-require 'net/https'
-require 'uri'
-
-TMP_DIR = "/tmp/gems"
-
-FileUtils.rm_rf(TMP_DIR) if File.exists?(TMP_DIR)
-FileUtils.mkdir TMP_DIR
-
-GEMSERVER = "http://rubygems.org"
-
-# inspect Gemfile.lock
-lockfile = Bundler::LockfileParser.new(Bundler.read_file("Gemfile.lock"))
-
-to_mirror = {}
-
-uri = URI(GEMSERVER)
-http = Net::HTTP.new(uri.host, uri.port)
-http.use_ssl = uri.scheme == 'https'
-
-requirements = {}
-
-lockfile.specs.each do |s|
-  possible_gem_name = "#{s.name}-#{s.version.to_s}.gem"
-
-  Dir.chdir TMP_DIR do
-    filename = `gem fetch #{s.name} -v #{s.version.to_s}`.split()[1]
-    hash = `sha256sum #{filename}.gem`
-    url = "#{GEMSERVER}/downloads/#{filename}.gem"
-    puts url
-    requirements[s.name] = { :version => s.version.to_s, 
-                             :hash => hash.split().first,
-                             :url => url,}
-    
-  end
-end
-
-filename = 'Gemfile.nix'
-
-File.open(filename, 'w') do |file|
-  file.puts "["
-  requirements.each do |name, info|
-    file.puts "{"
-    file.puts ['name = ', '"', name, '";'].join('')
-    file.puts ['hash = ', '"', info[:hash], '";'].join('')
-    file.puts ['url = ', '"', info[:url], '";'].join('')
-    file.puts ['version = ', '"', info[:version], '";'].join('')
-    file.puts "}"
-  end
-  file.puts "]"
-end
diff --git a/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix b/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix
index d982a071a28..eba2a0b0a10 100644
--- a/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix
+++ b/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix
@@ -18,16 +18,26 @@
 # (to make gems behave if necessary).
 
 { lib, fetchurl, writeScript, ruby, libxml2, libxslt, python, stdenv, which
-, libiconv, postgresql, v8, v8_3_16_14, clang, sqlite, zlib, imagemagick, pkgconfig
-, ncurses, xapian, gpgme, utillinux, fetchpatch, tzdata
+, libiconv, postgresql, v8, v8_3_16_14, clang, sqlite, zlib, imagemagick
+, pkgconfig , ncurses, xapian, gpgme, utillinux, fetchpatch, tzdata, icu, libffi
+, cmake, libssh2, openssl, mysql
 }:
 
 let
   v8 = v8_3_16_14;
+  mysql = (import <nixpkgs> {}).mysql;
 
 in
 
 {
+  charlock_holmes = attrs: {
+    buildInputs = [ which icu ];
+  };
+
+  ffi = attrs: {
+    buildInputs = [ libffi pkgconfig ];
+  };
+
   gpgme = attrs: {
     buildInputs = [ gpgme ];
   };
@@ -46,6 +56,10 @@ in
     ];
   };
 
+  mysql2 = attrs: {
+    buildInputs = [ mysql zlib openssl ];
+  };
+
   ncursesw = attrs: {
     buildInputs = [ ncurses ];
     buildFlags = [
@@ -77,6 +91,10 @@ in
     buildInputs = [ imagemagick pkgconfig ];
   };
 
+  rugged = attrs: {
+    buildInputs = [ cmake pkgconfig openssl libssh2 zlib ];
+  };
+
   sqlite3 = attrs: {
     buildFlags = [
       "--with-sqlite3-include=${sqlite}/include"
@@ -103,10 +121,10 @@ in
     ];
   };
 
-  tzdata = attrs: {
+  tzinfo = attrs: {
     postPatch = ''
       substituteInPlace lib/tzinfo/zoneinfo_data_source.rb \
-        --replace "/etc/zoneinfo" "${tzdata}/share/zoneinfo"
+        --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
     '';
   };
 
diff --git a/pkgs/development/interpreters/ruby/bundler-env/default.nix b/pkgs/development/interpreters/ruby/bundler-env/default.nix
index fc23e3547b6..f90e756030f 100644
--- a/pkgs/development/interpreters/ruby/bundler-env/default.nix
+++ b/pkgs/development/interpreters/ruby/bundler-env/default.nix
@@ -8,6 +8,7 @@
 
 { name, gemset, gemfile, lockfile, ruby ? defs.ruby, gemConfig ? defaultGemConfig
 , enableParallelBuilding ? false # TODO: this might not work, given the env-var shinanigans.
+, postInstall ? null
 , documentation ? false
 , meta ? {}
 }@args:
@@ -108,7 +109,7 @@ let
               FileUtils.cp(patched_package.spec.file_name, out)
             ''}
           else
-            cp -r . out
+            cp -r . $out
           fi
 
           runHook postInstall
@@ -273,13 +274,13 @@ stdenv.mkDerivation {
     export NIX_BUNDLER_GEMPATH=${bundler}/${ruby.gemPath}
 
     export GEM_HOME=$out/${ruby.gemPath}
-    export GEM_PATH=$GEM_HOME
+    export GEM_PATH=$NIX_BUNDLER_GEMPATH:$GEM_HOME
     mkdir -p $GEM_HOME
 
     ${allBuildFlags}
-    #export
 
     mkdir gems
+    cp ${bundler}/${bundler.ruby.gemPath}/cache/bundler-*.gem gems
     ${copyGems}
 
     ${lib.optionalString (!documentation) ''
@@ -295,8 +296,13 @@ stdenv.mkDerivation {
     cp ${./monkey_patches.rb} monkey_patches.rb
     export RUBYOPT="-rmonkey_patches.rb -I $(pwd -P)"
     bundler install --frozen --binstubs ${lib.optionalString enableParallelBuilding "--jobs $NIX_BUILD_CORES"}
+    RUBYOPT=""
+
+    runHook postInstall
   '';
 
+  inherit postInstall;
+
   passthru = {
     inherit ruby;
     inherit bundler;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a9199072b28..8fe5f544a2c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1316,9 +1316,10 @@ let
   gifsicle = callPackage ../tools/graphics/gifsicle { };
 
   # Evaluation broken by recent ruby changes.
-  # gitlab = callPackage ../applications/version-management/gitlab {
-  #  libiconv = libiconvOrLibc;
-  # };
+  gitlab = callPackage ../applications/version-management/gitlab {
+    libiconv = libiconvOrLibc;
+    ruby = ruby_2_1_3;
+  };
 
   # Evaluation broken by recent ruby changes.
   # gitlab-shell = callPackage ../applications/version-management/gitlab-shell { };