mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-09-29 15:43:00 +00:00
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.
This commit is contained in:
parent
8686b98612
commit
36f1bcbeb8
@ -67,8 +67,10 @@ rec {
|
|||||||
};
|
};
|
||||||
in res;
|
in res;
|
||||||
|
|
||||||
composeGemAttrs = ruby: gems: name: attrs: ((removeAttrs attrs ["source" "platforms"]) // attrs.source // {
|
composeGemAttrs = ruby: gems: name: attrs: ((removeAttrs attrs ["platforms"]) // {
|
||||||
inherit ruby;
|
inherit ruby;
|
||||||
|
inherit (attrs.source) type;
|
||||||
|
source = removeAttrs attrs.source ["type"];
|
||||||
gemName = name;
|
gemName = name;
|
||||||
gemPath = map (gemName: gems."${gemName}") (attrs.dependencies or []);
|
gemPath = map (gemName: gems."${gemName}") (attrs.dependencies or []);
|
||||||
});
|
});
|
||||||
|
@ -5,7 +5,7 @@ buildRubyGem rec {
|
|||||||
name = "${gemName}-${version}";
|
name = "${gemName}-${version}";
|
||||||
gemName = "bundler";
|
gemName = "bundler";
|
||||||
version = "1.14.6";
|
version = "1.14.6";
|
||||||
sha256 = "0h3x2csvlz99v2ryj1w72vn6kixf7rl35lhdryvh7s49brnj0cgl";
|
source.sha256 = "0h3x2csvlz99v2ryj1w72vn6kixf7rl35lhdryvh7s49brnj0cgl";
|
||||||
dontPatchShebangs = true;
|
dontPatchShebangs = true;
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
|
@ -31,8 +31,7 @@ let
|
|||||||
rainbow_rake = buildRubyGem {
|
rainbow_rake = buildRubyGem {
|
||||||
name = "rake";
|
name = "rake";
|
||||||
gemName = "rake";
|
gemName = "rake";
|
||||||
remotes = ["https://rubygems.org"];
|
source.sha256 = "01j8fc9bqjnrsxbppncai05h43315vmz9fwg28qdsgcjw9ck1d7n";
|
||||||
sha256 = "01j8fc9bqjnrsxbppncai05h43315vmz9fwg28qdsgcjw9ck1d7n";
|
|
||||||
type = "gem";
|
type = "gem";
|
||||||
version = "12.0.0";
|
version = "12.0.0";
|
||||||
};
|
};
|
||||||
|
@ -41,7 +41,6 @@ lib.makeOverridable (
|
|||||||
, patches ? []
|
, patches ? []
|
||||||
, gemPath ? []
|
, gemPath ? []
|
||||||
, dontStrip ? true
|
, dontStrip ? true
|
||||||
, remotes ? ["https://rubygems.org"]
|
|
||||||
# Assume we don't have to build unless strictly necessary (e.g. the source is a
|
# Assume we don't have to build unless strictly necessary (e.g. the source is a
|
||||||
# git checkout).
|
# git checkout).
|
||||||
# If you need to apply patches, make sure to set `dontBuild = false`;
|
# If you need to apply patches, make sure to set `dontBuild = false`;
|
||||||
@ -56,12 +55,14 @@ let
|
|||||||
src = attrs.src or (
|
src = attrs.src or (
|
||||||
if type == "gem" then
|
if type == "gem" then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
urls = map (remote: "${remote}/gems/${gemName}-${version}.gem") remotes;
|
urls = map (
|
||||||
inherit (attrs) sha256;
|
remote: "${remote}/gems/${gemName}-${version}.gem"
|
||||||
|
) (attrs.source.remotes or [ "https://rubygems.org" ]);
|
||||||
|
inherit (attrs.source) sha256;
|
||||||
}
|
}
|
||||||
else if type == "git" then
|
else if type == "git" then
|
||||||
fetchgit {
|
fetchgit {
|
||||||
inherit (attrs) url rev sha256 fetchSubmodules;
|
inherit (attrs.source) url rev sha256 fetchSubmodules;
|
||||||
leaveDotGit = true;
|
leaveDotGit = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -74,7 +75,7 @@ let
|
|||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation (attrs // {
|
stdenv.mkDerivation ((builtins.removeAttrs attrs ["source"]) // {
|
||||||
inherit ruby;
|
inherit ruby;
|
||||||
inherit doCheck;
|
inherit doCheck;
|
||||||
inherit dontBuild;
|
inherit dontBuild;
|
||||||
@ -161,9 +162,9 @@ stdenv.mkDerivation (attrs // {
|
|||||||
${lib.optionalString (type == "git") ''
|
${lib.optionalString (type == "git") ''
|
||||||
ruby ${./nix-bundle-install.rb} \
|
ruby ${./nix-bundle-install.rb} \
|
||||||
${gemName} \
|
${gemName} \
|
||||||
${attrs.url} \
|
${attrs.source.url} \
|
||||||
${src} \
|
${src} \
|
||||||
${attrs.rev} \
|
${attrs.source.rev} \
|
||||||
${version} \
|
${version} \
|
||||||
${lib.escapeShellArgs buildFlags}
|
${lib.escapeShellArgs buildFlags}
|
||||||
''}
|
''}
|
||||||
|
@ -9,14 +9,14 @@ buildRubyGem rec {
|
|||||||
name = "${gemName}-${version}";
|
name = "${gemName}-${version}";
|
||||||
gemName = "tmuxinator";
|
gemName = "tmuxinator";
|
||||||
version = "0.10.0";
|
version = "0.10.0";
|
||||||
sha256 = "199pq15qknpcafw8ryb9kk1jsrwnncg6k5l9d4n0nmms4knxlqlf";
|
source.sha256 = "199pq15qknpcafw8ryb9kk1jsrwnncg6k5l9d4n0nmms4knxlqlf";
|
||||||
|
|
||||||
erubis = buildRubyGem rec {
|
erubis = buildRubyGem rec {
|
||||||
inherit ruby;
|
inherit ruby;
|
||||||
name = "ruby${ruby.version}-${gemName}-${version}";
|
name = "ruby${ruby.version}-${gemName}-${version}";
|
||||||
gemName = "erubis";
|
gemName = "erubis";
|
||||||
version = "2.7.0";
|
version = "2.7.0";
|
||||||
sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
|
source.sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
|
||||||
};
|
};
|
||||||
|
|
||||||
thor = buildRubyGem rec {
|
thor = buildRubyGem rec {
|
||||||
@ -24,7 +24,7 @@ buildRubyGem rec {
|
|||||||
name = "ruby${ruby.version}-${gemName}-${version}";
|
name = "ruby${ruby.version}-${gemName}-${version}";
|
||||||
gemName = "thor";
|
gemName = "thor";
|
||||||
version = "0.19.1";
|
version = "0.19.1";
|
||||||
sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
|
source.sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg = buildRubyGem rec {
|
xdg = buildRubyGem rec {
|
||||||
@ -32,7 +32,7 @@ buildRubyGem rec {
|
|||||||
name = "ruby${ruby.version}-${gemName}-${version}";
|
name = "ruby${ruby.version}-${gemName}-${version}";
|
||||||
gemName = "xdg";
|
gemName = "xdg";
|
||||||
version = "2.2.3";
|
version = "2.2.3";
|
||||||
sha256 = "1bn47fdbwxqbdvjcfg86i32hmwm36k0xl876kb85f5da5v84lzmq";
|
source.sha256 = "1bn47fdbwxqbdvjcfg86i32hmwm36k0xl876kb85f5da5v84lzmq";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ erubis thor xdg ];
|
propagatedBuildInputs = [ erubis thor xdg ];
|
||||||
|
@ -13,7 +13,7 @@ buildRubyGem rec {
|
|||||||
inherit ruby;
|
inherit ruby;
|
||||||
gemName = "hss";
|
gemName = "hss";
|
||||||
version = "1.0.1";
|
version = "1.0.1";
|
||||||
sha256 = "0hdfpxxqsh6gisn8mm0knsl1aig9fir0h2x9sirk3gr36qbz5xa4";
|
source.sha256 = "0hdfpxxqsh6gisn8mm0knsl1aig9fir0h2x9sirk3gr36qbz5xa4";
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
substituteInPlace $GEM_HOME/gems/${gemName}-${version}/bin/hss \
|
substituteInPlace $GEM_HOME/gems/${gemName}-${version}/bin/hss \
|
||||||
|
@ -5,7 +5,7 @@ buildRubyGem rec {
|
|||||||
name = "${gemName}-${version}";
|
name = "${gemName}-${version}";
|
||||||
gemName = "gist";
|
gemName = "gist";
|
||||||
version = "4.6.1";
|
version = "4.6.1";
|
||||||
sha256 = "16qvmn7syvcf4lnblngzvq8xynvb62h1xhfc7xfb0c1sjh166hff";
|
source.sha256 = "16qvmn7syvcf4lnblngzvq8xynvb62h1xhfc7xfb0c1sjh166hff";
|
||||||
|
|
||||||
buildInputs = [ makeWrapper ];
|
buildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ buildRubyGem rec {
|
|||||||
name = "${gemName}-${version}";
|
name = "${gemName}-${version}";
|
||||||
gemName = "flvtool2";
|
gemName = "flvtool2";
|
||||||
version = "1.0.6";
|
version = "1.0.6";
|
||||||
sha256 = "0xsla1061pi4ryh3jbvwsbs8qchprchbqjy7652g2g64v37i74qj";
|
source.sha256 = "0xsla1061pi4ryh3jbvwsbs8qchprchbqjy7652g2g64v37i74qj";
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = https://github.com/unnu/flvtool2;
|
homepage = https://github.com/unnu/flvtool2;
|
||||||
|
Loading…
Reference in New Issue
Block a user