diff options
Diffstat (limited to 'pkgs/applications/version-management/gitlab/default.nix')
-rw-r--r-- | pkgs/applications/version-management/gitlab/default.nix | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix index 76127681bbd..fffe8894405 100644 --- a/pkgs/applications/version-management/gitlab/default.nix +++ b/pkgs/applications/version-management/gitlab/default.nix @@ -1,7 +1,7 @@ -{ stdenv, lib, fetchurl, fetchFromGitLab, bundlerEnv -, ruby, tzdata, git, nettools, nixosTests, nodejs +{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitLab, bundlerEnv +, ruby, tzdata, git, nettools, nixosTests, nodejs, openssl , gitlabEnterprise ? false, callPackage, yarn -, fixup_yarn_lock, replace +, fixup_yarn_lock, replace, file }: let @@ -28,6 +28,14 @@ let patches = [ ./fix-grpc-ar.patch ]; dontBuild = false; }; + # the openssl needs the openssl include files + openssl = x.openssl // { + buildInputs = [ openssl ]; + }; + ruby-magic = x.ruby-magic // { + buildInputs = [ file ]; + buildFlags = [ "--enable-system-libraries" ]; + }; }; groups = [ "default" "unicorn" "ed25519" "metrics" "development" "puma" "test" "kerberos" @@ -89,8 +97,9 @@ let bundle exec rake gettext:po_to_json RAILS_ENV=production NODE_ENV=production bundle exec rake rake:assets:precompile RAILS_ENV=production NODE_ENV=production - bundle exec rake webpack:compile RAILS_ENV=production NODE_ENV=production NODE_OPTIONS="--max_old_space_size=3072" + bundle exec rake gitlab:assets:compile_webpack_if_needed RAILS_ENV=production NODE_ENV=production bundle exec rake gitlab:assets:fix_urls RAILS_ENV=production NODE_ENV=production + bundle exec rake gitlab:assets:check_page_bundle_mixins_css_for_sideeffects RAILS_ENV=production NODE_ENV=production runHook postBuild ''; @@ -113,12 +122,16 @@ stdenv.mkDerivation { rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler tzdata git nettools ]; - patches = [ ./remove-hardcoded-locations.patch ]; + patches = [ + # Change hardcoded paths to the NixOS equivalent + ./remove-hardcoded-locations.patch + ]; postPatch = '' ${lib.optionalString (!gitlabEnterprise) '' # Remove all proprietary components rm -rf ee + sed -i 's/-ee//' ./VERSION ''} # For reasons I don't understand "bundle exec" ignores the @@ -132,6 +145,7 @@ stdenv.mkDerivation { sed -i '/ask_to_continue/d' lib/tasks/gitlab/two_factor.rake sed -ri -e '/log_level/a config.logger = Logger.new(STDERR)' config/environments/production.rb + mv config/puma.rb.example config/puma.rb # Always require lib-files and application.rb through their store # path, not their relative state directory path. This gets rid of # warnings and means we don't have to link back to lib from the @@ -168,6 +182,7 @@ stdenv.mkDerivation { GITLAB_PAGES_VERSION = data.passthru.GITLAB_PAGES_VERSION; GITLAB_SHELL_VERSION = data.passthru.GITLAB_SHELL_VERSION; GITLAB_WORKHORSE_VERSION = data.passthru.GITLAB_WORKHORSE_VERSION; + gitlabEnv.FOSS_ONLY = lib.boolToString (!gitlabEnterprise); tests = { nixos-test-passes = nixosTests.gitlab; }; @@ -176,7 +191,7 @@ stdenv.mkDerivation { meta = with lib; { homepage = "http://www.gitlab.com/"; platforms = platforms.linux; - maintainers = with maintainers; [ fpletz globin krav talyz ]; + maintainers = with maintainers; [ fpletz globin krav talyz yuka ]; } // (if gitlabEnterprise then { license = licenses.unfreeRedistributable; # https://gitlab.com/gitlab-org/gitlab-ee/raw/master/LICENSE |