diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index bb96e85456b0..efa139c8dfd2 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -193,6 +193,7 @@ in { gitAndTools.git ruby openssh + nodejs ]; serviceConfig = { Type = "simple"; @@ -227,6 +228,7 @@ in { gitAndTools.git ruby openssh + nodejs ]; preStart = '' # TODO: use env vars diff --git a/nixos/tests/gitlab.nix b/nixos/tests/gitlab.nix index d213624e332e..2b0715e97bc9 100644 --- a/nixos/tests/gitlab.nix +++ b/nixos/tests/gitlab.nix @@ -14,6 +14,7 @@ import ./make-test.nix { testScript = '' $gitlab->start(); $gitlab->waitForUnit("gitlab.service"); - $gitlab->waitUntilSucceeds("curl http://localhost:8080"); + $gitlab->waitForUnit("gitlab-sidekiq.service"); + $gitlab->waitUntilSucceeds("curl http://localhost:8080/users/sign_in"); ''; } diff --git a/pkgs/applications/version-management/gitlab/Gemfile.lock b/pkgs/applications/version-management/gitlab/Gemfile.lock index a7c6d626b129..8a1141d08611 100644 --- a/pkgs/applications/version-management/gitlab/Gemfile.lock +++ b/pkgs/applications/version-management/gitlab/Gemfile.lock @@ -281,7 +281,6 @@ 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) @@ -421,7 +420,6 @@ 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) @@ -520,9 +518,6 @@ 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) @@ -696,7 +691,6 @@ 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 index 78b51178ac4b..2e05d883abf2 100644 --- a/pkgs/applications/version-management/gitlab/Gemfile.nix +++ b/pkgs/applications/version-management/gitlab/Gemfile.nix @@ -702,12 +702,6 @@ url = "http://rubygems.org/downloads/letter_opener-1.1.2.gem"; version = "1.1.2"; } { -name = "libv8"; -hash = "64490f61e9aa928e2905e90fafde5403496925d7a9539026628b01854fd69862"; -url = "http://rubygems.org/downloads/libv8-3.16.14.3-x86_64-linux.gem"; -version = "3.16.14.3"; -} -{ name = "listen"; hash = "5549b607337a95bb3248a97660ccaa0c3eeec70e01e61b8a08d4a6c36dd93720"; url = "http://rubygems.org/downloads/listen-2.3.1.gem"; @@ -1086,12 +1080,6 @@ url = "http://rubygems.org/downloads/redis-store-1.1.4.gem"; version = "1.1.4"; } { -name = "ref"; -hash = "8a8ec8f40f1e622c4324055d85300e03d9a78a9faf476ea0d382f1af9dbe0fa7"; -url = "http://rubygems.org/downloads/ref-1.0.5.gem"; -version = "1.0.5"; -} -{ name = "request_store"; hash = "70adb9485eb22113bd165e259b929a449dfe2d2410a880566f06df6a164fc1cf"; url = "http://rubygems.org/downloads/request_store-1.0.5.gem"; @@ -1374,12 +1362,6 @@ url = "http://rubygems.org/downloads/test_after_commit-0.2.2.gem"; version = "0.2.2"; } { -name = "therubyracer"; -hash = "06a711c23c6fcabc60a38413d6e08023b4717b725c0f19b3fd3d6161f714b3a0"; -url = "http://rubygems.org/downloads/therubyracer-0.12.0.gem"; -version = "0.12.0"; -} -{ name = "thin"; hash = "a0b80e1632d3529a5c4b87e07d9ab146e0dde5e506c20f3a740fe8b364d5bd18"; url = "http://rubygems.org/downloads/thin-1.6.1.gem"; diff --git a/pkgs/applications/version-management/gitlab/bootstrap.nix b/pkgs/applications/version-management/gitlab/bootstrap.nix index 1b3c1eec9c26..a983ede333a8 100644 --- a/pkgs/applications/version-management/gitlab/bootstrap.nix +++ b/pkgs/applications/version-management/gitlab/bootstrap.nix @@ -30,6 +30,8 @@ in stdenv.mkDerivation rec { adapter: postgresql EOF + substituteInPlace Gemfile --replace 'gem "therubyracer"' "" + bundle config --local build.nokogiri --use-system-libraries \ --with-iconv-dir=${libiconv} \ --with-xslt-dir=${libxslt} \ diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix index 76f4bb1fc706..2e0fcc43eb74 100644 --- a/pkgs/applications/version-management/gitlab/default.nix +++ b/pkgs/applications/version-management/gitlab/default.nix @@ -1,4 +1,4 @@ -{ 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 }: +{ 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 }: let gemspec = map (gem: fetchurl { url=gem.url; sha256=gem.hash; }) (import ./Gemfile.nix); @@ -15,7 +15,7 @@ in stdenv.mkDerivation rec { buildInputs = [ ruby rubyLibs.bundler libyaml gdbm readline ncurses curl openssh redis zlib - postgresql libxslt libxml2 pkgconfig libffi icu checkinstall logrotate docutils + postgresql libxslt libxml2 pkgconfig libffi icu checkinstall logrotate docutils nodejs git unzip gnumake which cmake ]; @@ -51,6 +51,9 @@ in stdenv.mkDerivation rec { 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} \