Merge pull request #33014 from aneeshusa/general-ruby-improvements-for-vagrant-from-source

General ruby improvements for vagrant from source
This commit is contained in:
zimbatm 2018-01-04 13:05:36 +00:00 committed by GitHub
commit 450f6b7987
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 24 additions and 23 deletions

View file

@ -29,7 +29,9 @@ with import ./functions.nix { inherit lib gemConfig; };
let
gemFiles = bundlerFiles args;
importedGemset = import gemFiles.gemset;
importedGemset = if builtins.typeOf gemFiles.gemset == "path"
then import gemFiles.gemset
else gemFiles.gemset;
filteredGemset = filterGemset { inherit ruby groups; } importedGemset;

View file

@ -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 []);
});

View file

@ -1,7 +1,4 @@
{ stdenv, runCommand, writeText, writeScript, writeScriptBin, ruby, lib
, callPackage, defaultGemConfig, fetchurl, fetchgit, buildRubyGem, buildEnv
, linkFarm, git, makeWrapper, bundler, tree
}@defs:
{ ruby, lib, callPackage, defaultGemConfig, buildEnv, bundler }@defs:
{ name ? null
, pname ? null

View file

@ -5,7 +5,7 @@ buildRubyGem rec {
name = "${gemName}-${version}";
gemName = "bundler";
version = "1.14.6";
sha256 = "0h3x2csvlz99v2ryj1w72vn6kixf7rl35lhdryvh7s49brnj0cgl";
source.sha256 = "0h3x2csvlz99v2ryj1w72vn6kixf7rl35lhdryvh7s49brnj0cgl";
dontPatchShebangs = true;
postFixup = ''

View file

@ -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";
};

View file

@ -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}
''}

View file

@ -9,14 +9,14 @@ buildRubyGem rec {
name = "${gemName}-${version}";
gemName = "tmuxinator";
version = "0.10.0";
sha256 = "199pq15qknpcafw8ryb9kk1jsrwnncg6k5l9d4n0nmms4knxlqlf";
source.sha256 = "199pq15qknpcafw8ryb9kk1jsrwnncg6k5l9d4n0nmms4knxlqlf";
erubis = buildRubyGem rec {
inherit ruby;
name = "ruby${ruby.version}-${gemName}-${version}";
gemName = "erubis";
version = "2.7.0";
sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
source.sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
};
thor = buildRubyGem rec {
@ -24,7 +24,7 @@ buildRubyGem rec {
name = "ruby${ruby.version}-${gemName}-${version}";
gemName = "thor";
version = "0.19.1";
sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
source.sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
};
xdg = buildRubyGem rec {
@ -32,7 +32,7 @@ buildRubyGem rec {
name = "ruby${ruby.version}-${gemName}-${version}";
gemName = "xdg";
version = "2.2.3";
sha256 = "1bn47fdbwxqbdvjcfg86i32hmwm36k0xl876kb85f5da5v84lzmq";
source.sha256 = "1bn47fdbwxqbdvjcfg86i32hmwm36k0xl876kb85f5da5v84lzmq";
};
propagatedBuildInputs = [ erubis thor xdg ];

View file

@ -13,7 +13,7 @@ buildRubyGem rec {
inherit ruby;
gemName = "hss";
version = "1.0.1";
sha256 = "0hdfpxxqsh6gisn8mm0knsl1aig9fir0h2x9sirk3gr36qbz5xa4";
source.sha256 = "0hdfpxxqsh6gisn8mm0knsl1aig9fir0h2x9sirk3gr36qbz5xa4";
postInstall = ''
substituteInPlace $GEM_HOME/gems/${gemName}-${version}/bin/hss \

View file

@ -5,7 +5,7 @@ buildRubyGem rec {
name = "${gemName}-${version}";
gemName = "gist";
version = "4.6.1";
sha256 = "16qvmn7syvcf4lnblngzvq8xynvb62h1xhfc7xfb0c1sjh166hff";
source.sha256 = "16qvmn7syvcf4lnblngzvq8xynvb62h1xhfc7xfb0c1sjh166hff";
buildInputs = [ makeWrapper ];

View file

@ -5,7 +5,7 @@ buildRubyGem rec {
name = "${gemName}-${version}";
gemName = "flvtool2";
version = "1.0.6";
sha256 = "0xsla1061pi4ryh3jbvwsbs8qchprchbqjy7652g2g64v37i74qj";
source.sha256 = "0xsla1061pi4ryh3jbvwsbs8qchprchbqjy7652g2g64v37i74qj";
meta = {
homepage = https://github.com/unnu/flvtool2;