From b4da3bb88b04329984cf56540f41956299c9cdc0 Mon Sep 17 00:00:00 2001 From: Nathan Zadoks Date: Sun, 7 Feb 2016 16:39:39 +0100 Subject: [PATCH 1/2] buildRubyGem: ensure gem versions don't get misparsed Without this, every nix-env --upgrade replaces ruby with an arbitrary gem, which makes Ruby unusuable from user environments. --- pkgs/development/interpreters/ruby/build-ruby-gem/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/ruby/build-ruby-gem/default.nix b/pkgs/development/interpreters/ruby/build-ruby-gem/default.nix index c5b9fba37aa0..fc9f0656cd98 100644 --- a/pkgs/development/interpreters/ruby/build-ruby-gem/default.nix +++ b/pkgs/development/interpreters/ruby/build-ruby-gem/default.nix @@ -32,7 +32,9 @@ lib.makeOverridable ( , platform ? "ruby" , ruby ? defs.ruby , stdenv ? ruby.stdenv -, namePrefix ? "${ruby.name}" + "-" +, namePrefix ? (let + rubyName = builtins.parseDrvName ruby.name; + in "${rubyName.name}${rubyName.version}-") , buildInputs ? [] , doCheck ? false , meta ? {} From c998447a13e8f97f2cfce648d019a26ee5c87bba Mon Sep 17 00:00:00 2001 From: Nathan Zadoks Date: Sun, 7 Feb 2016 16:40:43 +0100 Subject: [PATCH 2/2] buildRubyGem: pass the gem version through into the derivation name --- pkgs/development/interpreters/ruby/build-ruby-gem/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/ruby/build-ruby-gem/default.nix b/pkgs/development/interpreters/ruby/build-ruby-gem/default.nix index fc9f0656cd98..cc1f85de19d3 100644 --- a/pkgs/development/interpreters/ruby/build-ruby-gem/default.nix +++ b/pkgs/development/interpreters/ruby/build-ruby-gem/default.nix @@ -91,7 +91,7 @@ stdenv.mkDerivation (attrs // { ++ lib.optional stdenv.isDarwin darwin.libobjc ++ buildInputs; - name = attrs.name or (namePrefix + gemName); + name = attrs.name or "${namePrefix}${gemName}-${version}"; inherit src;