diff options
author | Judson <nyarly@gmail.com> | 2017-06-27 22:33:18 -0700 |
---|---|---|
committer | Judson <nyarly@gmail.com> | 2017-06-27 22:33:18 -0700 |
commit | e149f0234451e6ac714492076e5796546a2b035b (patch) | |
tree | 53e652e5c6502146ba61b48a1a99fd176b942acb /pkgs/development/ruby-modules/bundled-common | |
parent | 70e7e543c5493761cf065dc96ec8c8cbafe40aba (diff) | |
download | nixpkgs-e149f0234451e6ac714492076e5796546a2b035b.tar nixpkgs-e149f0234451e6ac714492076e5796546a2b035b.tar.gz nixpkgs-e149f0234451e6ac714492076e5796546a2b035b.tar.bz2 nixpkgs-e149f0234451e6ac714492076e5796546a2b035b.tar.lz nixpkgs-e149f0234451e6ac714492076e5796546a2b035b.tar.xz nixpkgs-e149f0234451e6ac714492076e5796546a2b035b.tar.zst nixpkgs-e149f0234451e6ac714492076e5796546a2b035b.zip |
Using pname and fetching versions
Diffstat (limited to 'pkgs/development/ruby-modules/bundled-common')
-rw-r--r-- | pkgs/development/ruby-modules/bundled-common/default.nix | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/pkgs/development/ruby-modules/bundled-common/default.nix b/pkgs/development/ruby-modules/bundled-common/default.nix index 6e7bd7a898b..09eb36a247a 100644 --- a/pkgs/development/ruby-modules/bundled-common/default.nix +++ b/pkgs/development/ruby-modules/bundled-common/default.nix @@ -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" ]; |