diff options
author | Animesh Sahu <animeshsahu19@yahoo.com> | 2023-06-15 17:15:23 +0530 |
---|---|---|
committer | Animesh Sahu <animeshsahu19@yahoo.com> | 2023-06-15 17:18:11 +0530 |
commit | 6077061403503589d225fc0a51a514800517d813 (patch) | |
tree | 476f68452857d4ee287ef6ecfde5030fc55089f6 /pkgs/development/ruby-modules/gem | |
parent | 570b69e2b7165c7ae23b54868a4a439c3d5fee32 (diff) |
nixos/ruby-modules: proper treatment to ruby modules of type git/url
Diffstat (limited to 'pkgs/development/ruby-modules/gem')
-rw-r--r-- | pkgs/development/ruby-modules/gem/default.nix | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/pkgs/development/ruby-modules/gem/default.nix b/pkgs/development/ruby-modules/gem/default.nix index 7105663413a2b..b33758486eed1 100644 --- a/pkgs/development/ruby-modules/gem/default.nix +++ b/pkgs/development/ruby-modules/gem/default.nix @@ -75,6 +75,14 @@ let else throw "buildRubyGem: don't know how to build a gem of type \"${type}\"" ); + + # See: https://github.com/rubygems/rubygems/blob/7a7b234721c375874b7e22b1c5b14925b943f04e/bundler/lib/bundler/source/git.rb#L103 + suffix = + if type == "git" then + builtins.substring 0 12 attrs.source.rev + else + version; + documentFlag = if document == [] then "-N" @@ -86,6 +94,7 @@ stdenv.mkDerivation ((builtins.removeAttrs attrs ["source"]) // { inherit ruby; inherit dontBuild; inherit dontStrip; + inherit suffix; gemType = type; nativeBuildInputs = [ @@ -100,7 +109,7 @@ stdenv.mkDerivation ((builtins.removeAttrs attrs ["source"]) // { ++ buildInputs; #name = builtins.trace (attrs.name or "no attr.name" ) "${namePrefix}${gemName}-${version}"; - name = attrs.name or "${namePrefix}${gemName}-${version}"; + name = attrs.name or "${namePrefix}${gemName}-${suffix}"; inherit src; |