summary refs log tree commit diff
path: root/pkgs/development/erlang-modules/build-hex.nix
diff options
context:
space:
mode:
authorGleb Peregud <gleber.p@gmail.com>2015-12-10 23:11:25 +0100
committerGleb Peregud <gleber.p@gmail.com>2015-12-15 14:01:37 +0100
commit3a9110b15ccd0ab33e07147f443a63ac567a7681 (patch)
tree86b6085511a3d7c0a67fd71cd4d9f72ce55af6be /pkgs/development/erlang-modules/build-hex.nix
parenteac25eaf69b8df9da28b1f94cb009320671ce32a (diff)
downloadnixlib-3a9110b15ccd0ab33e07147f443a63ac567a7681.tar
nixlib-3a9110b15ccd0ab33e07147f443a63ac567a7681.tar.gz
nixlib-3a9110b15ccd0ab33e07147f443a63ac567a7681.tar.bz2
nixlib-3a9110b15ccd0ab33e07147f443a63ac567a7681.tar.lz
nixlib-3a9110b15ccd0ab33e07147f443a63ac567a7681.tar.xz
nixlib-3a9110b15ccd0ab33e07147f443a63ac567a7681.tar.zst
nixlib-3a9110b15ccd0ab33e07147f443a63ac567a7681.zip
Add support for rebar3 plugins to buildHex.
Allow specifying pluginDeps for buildHex listing rebar3 plugins which
are required for given package to be built by rebar3.
Diffstat (limited to 'pkgs/development/erlang-modules/build-hex.nix')
-rw-r--r--pkgs/development/erlang-modules/build-hex.nix14
1 files changed, 12 insertions, 2 deletions
diff --git a/pkgs/development/erlang-modules/build-hex.nix b/pkgs/development/erlang-modules/build-hex.nix
index f6b873f433a2..e664d357d851 100644
--- a/pkgs/development/erlang-modules/build-hex.nix
+++ b/pkgs/development/erlang-modules/build-hex.nix
@@ -2,7 +2,7 @@
 
 { name, version, sha256
 , hexPkg ? name
-, buildInputs ? [], erlangDeps ? []
+, buildInputs ? [], erlangDeps ? [], pluginDeps ? []
 , postPatch ? ""
 , compilePorts ? false
 , ... }@attrs:
@@ -39,14 +39,22 @@ stdenv.mkDerivation (attrs // {
     recursiveDeps = uniqList {
        inputList = flatten (map getDeps erlangDeps);
     };
+    recursivePluginsDeps = uniqList {
+       inputList = flatten (map getDeps pluginDeps);
+    };
   in ''
     runHook preConfigure
-    mkdir -p _build/default/lib/
+    mkdir -p _build/default/{lib,plugins}/
     ${concatMapStrings (dep: ''
       header "linking erlang dependency ${dep}"
       ln -s "${dep}" "_build/default/lib/${dep.packageName}"
       stopNest
     '') recursiveDeps}
+    ${concatMapStrings (dep: ''
+      header "linking rebar3 plugins ${dep}"
+      ln -s "${dep}" "_build/default/plugins/${dep.packageName}"
+      stopNest
+    '') recursivePluginsDeps}
     runHook postConfigure
   '';
 
@@ -55,7 +63,9 @@ stdenv.mkDerivation (attrs // {
   buildPhase = ''
     runHook preBuild
     HOME=. rebar3 do update, compile
+    ${if compilePorts then ''
     HOME=. rebar3 pc compile
+    '' else ''''}
     runHook postBuild
   '';