From 36f1bcbeb85d8d3447e9a5dadb5801cfe615fded Mon Sep 17 00:00:00 2001 From: Aneesh Agrawal Date: Thu, 5 Oct 2017 04:10:57 -0400 Subject: ruby treewide: don't merge source into top-level Keep the `source` attrset distinct to prevent its entries from merging with the top level attrs. Since each type of source has a different set of entries for `source`, this is the easiest way to keep them together. This will pave the way for a new `url` type of source. This is a mass-rebuild of many ruby packages, notably those using `git` type sources. --- .../development/ruby-modules/bundled-common/functions.nix | 4 +++- pkgs/development/ruby-modules/bundler/default.nix | 2 +- pkgs/development/ruby-modules/gem-config/default.nix | 3 +-- pkgs/development/ruby-modules/gem/default.nix | 15 ++++++++------- 4 files changed, 13 insertions(+), 11 deletions(-) (limited to 'pkgs/development/ruby-modules') diff --git a/pkgs/development/ruby-modules/bundled-common/functions.nix b/pkgs/development/ruby-modules/bundled-common/functions.nix index b17a4639e779..85e93959e4b5 100644 --- a/pkgs/development/ruby-modules/bundled-common/functions.nix +++ b/pkgs/development/ruby-modules/bundled-common/functions.nix @@ -67,8 +67,10 @@ rec { }; in res; - composeGemAttrs = ruby: gems: name: attrs: ((removeAttrs attrs ["source" "platforms"]) // attrs.source // { + composeGemAttrs = ruby: gems: name: attrs: ((removeAttrs attrs ["platforms"]) // { inherit ruby; + inherit (attrs.source) type; + source = removeAttrs attrs.source ["type"]; gemName = name; gemPath = map (gemName: gems."${gemName}") (attrs.dependencies or []); }); diff --git a/pkgs/development/ruby-modules/bundler/default.nix b/pkgs/development/ruby-modules/bundler/default.nix index 9251c4d2a415..6ba1d5f10ec1 100644 --- a/pkgs/development/ruby-modules/bundler/default.nix +++ b/pkgs/development/ruby-modules/bundler/default.nix @@ -5,7 +5,7 @@ buildRubyGem rec { name = "${gemName}-${version}"; gemName = "bundler"; version = "1.14.6"; - sha256 = "0h3x2csvlz99v2ryj1w72vn6kixf7rl35lhdryvh7s49brnj0cgl"; + source.sha256 = "0h3x2csvlz99v2ryj1w72vn6kixf7rl35lhdryvh7s49brnj0cgl"; dontPatchShebangs = true; postFixup = '' diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index e434a863c0e2..5361c3ce65eb 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -31,8 +31,7 @@ let rainbow_rake = buildRubyGem { name = "rake"; gemName = "rake"; - remotes = ["https://rubygems.org"]; - sha256 = "01j8fc9bqjnrsxbppncai05h43315vmz9fwg28qdsgcjw9ck1d7n"; + source.sha256 = "01j8fc9bqjnrsxbppncai05h43315vmz9fwg28qdsgcjw9ck1d7n"; type = "gem"; version = "12.0.0"; }; diff --git a/pkgs/development/ruby-modules/gem/default.nix b/pkgs/development/ruby-modules/gem/default.nix index 62a9d60686f3..eba0dc2c4a7c 100644 --- a/pkgs/development/ruby-modules/gem/default.nix +++ b/pkgs/development/ruby-modules/gem/default.nix @@ -41,7 +41,6 @@ lib.makeOverridable ( , patches ? [] , gemPath ? [] , dontStrip ? true -, remotes ? ["https://rubygems.org"] # Assume we don't have to build unless strictly necessary (e.g. the source is a # git checkout). # If you need to apply patches, make sure to set `dontBuild = false`; @@ -56,12 +55,14 @@ let src = attrs.src or ( if type == "gem" then fetchurl { - urls = map (remote: "${remote}/gems/${gemName}-${version}.gem") remotes; - inherit (attrs) sha256; + urls = map ( + remote: "${remote}/gems/${gemName}-${version}.gem" + ) (attrs.source.remotes or [ "https://rubygems.org" ]); + inherit (attrs.source) sha256; } else if type == "git" then fetchgit { - inherit (attrs) url rev sha256 fetchSubmodules; + inherit (attrs.source) url rev sha256 fetchSubmodules; leaveDotGit = true; } else @@ -74,7 +75,7 @@ let in -stdenv.mkDerivation (attrs // { +stdenv.mkDerivation ((builtins.removeAttrs attrs ["source"]) // { inherit ruby; inherit doCheck; inherit dontBuild; @@ -161,9 +162,9 @@ stdenv.mkDerivation (attrs // { ${lib.optionalString (type == "git") '' ruby ${./nix-bundle-install.rb} \ ${gemName} \ - ${attrs.url} \ + ${attrs.source.url} \ ${src} \ - ${attrs.rev} \ + ${attrs.source.rev} \ ${version} \ ${lib.escapeShellArgs buildFlags} ''} -- cgit 1.4.1