diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix index c8480fcc0736..26d8cb1732fd 100644 --- a/pkgs/applications/version-management/gitlab/default.nix +++ b/pkgs/applications/version-management/gitlab/default.nix @@ -22,6 +22,12 @@ let gemset = let x = import (gemdir + "/gemset.nix"); in x // { + # grpc expects the AR environment variable to contain `ar rpc`. See the + # discussion in nixpkgs #63056. + grpc = x.grpc // { + patches = [ ./fix-grpc-ar.patch ]; + dontBuild = false; + }; # the openssl needs the openssl include files openssl = x.openssl // { buildInputs = [ openssl ]; diff --git a/pkgs/applications/version-management/gitlab/fix-grpc-ar.patch b/pkgs/applications/version-management/gitlab/fix-grpc-ar.patch new file mode 100644 index 000000000000..9b95e668e045 --- /dev/null +++ b/pkgs/applications/version-management/gitlab/fix-grpc-ar.patch @@ -0,0 +1,10 @@ +--- a/src/ruby/ext/grpc/extconf.rb ++++ b/src/ruby/ext/grpc/extconf.rb +@@ -27,6 +27,7 @@ ENV['MACOSX_DEPLOYMENT_TARGET'] = '10.7' + if ENV['AR'].nil? || ENV['AR'].size == 0 + ENV['AR'] = RbConfig::CONFIG['AR'] + ' rcs' + end ++ENV['AR'] = ENV['AR'] + ' rcs' + if ENV['CC'].nil? || ENV['CC'].size == 0 + ENV['CC'] = RbConfig::CONFIG['CC'] + end diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix index 7a80d8de4c05..07a9a297a034 100644 --- a/pkgs/applications/version-management/gitlab/gitaly/default.nix +++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix @@ -9,6 +9,16 @@ let inherit ruby; copyGemFiles = true; gemdir = ./.; + gemset = + let x = import (gemdir + "/gemset.nix"); + in x // { + # grpc expects the AR environment variable to contain `ar rpc`. See the + # discussion in nixpkgs #63056. + grpc = x.grpc // { + patches = [ ../fix-grpc-ar.patch ]; + dontBuild = false; + }; + }; }; version = "14.2.3"; gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}";