Using pname and fetching versions

This commit is contained in:
Judson
2017-06-27 22:33:18 -07:00
parent 70e7e543c5
commit e149f02344
4 changed files with 27 additions and 15 deletions
@@ -5,8 +5,8 @@
}@defs:
{
name
, pname ? name
name ? null
, pname ? null
, mainGemName ? null
, gemdir ? null
, gemfile ? null
@@ -22,6 +22,8 @@
, ...
}@args:
assert name == null -> pname != null;
with import ./functions.nix { inherit lib gemConfig; };
let
@@ -43,6 +45,20 @@ let
gems = lib.flip lib.mapAttrs configuredGemset (name: attrs: buildGem name attrs);
name' = if name != null then
name
else
let
gem = gems."${pname}";
version = gem.version;
in
"${pname}-${version}";
pname' = if pname != null then
pname
else
name;
copyIfBundledByPath = { bundledByPath ? false, ...}@main:
(if bundledByPath then
assert gemFiles.gemdir != null; "cp -a ${gemFiles.gemdir}/* $out/"
@@ -78,9 +94,9 @@ let
envPaths = lib.attrValues gems ++ lib.optional (!hasBundler) bundler;
basicEnv = buildEnv {
inherit ignoreCollisions;
inherit ignoreCollisions;
name = if name == null then pname else name;
name = name';
paths = envPaths;
pathsToLink = [ "/lib" ];