Pass buildPlugins to rebar3-nix-bootstrap.

To successfully build rebar packages, it needs to be provided with
rebar3 plugins used to build it. This change passes them to env
variable. From there rebar3-nix-bootstrap takes them and symlinks into
_build/default/plugins.
This commit is contained in:
Gleb Peregud 2016-01-17 21:00:12 +01:00
parent 75284b09e1
commit ed4373e8b7
2 changed files with 8 additions and 6 deletions

View file

@ -4,7 +4,7 @@
{ name, version
, src
, setupHook ? null
, buildInputs ? [], erlangDeps ? [], pluginDeps ? []
, buildInputs ? [], erlangDeps ? [], buildPlugins ? []
, postPatch ? ""
, compilePorts ? false
, installPhase ? null
@ -14,8 +14,7 @@
with stdenv.lib;
let
plugins = pluginDeps ++ (if compilePorts then [pc] else []);
ownPlugins = buildPlugins ++ (if compilePorts then [pc] else []);
shell = drv: stdenv.mkDerivation {
name = "interactive-shell-${drv.name}";
@ -28,7 +27,11 @@ let
inherit version;
buildInputs = buildInputs ++ [ erlang rebar3 openssl libyaml ];
propagatedBuildInputs = erlangDeps ++ plugins;
propagatedBuildInputs = unique (erlangDeps ++ ownPlugins);
# The following are used by rebar3-nix-bootstrap
inherit compilePorts;
buildPlugins = ownPlugins;
inherit src;

View file

@ -81,8 +81,7 @@ stdenv.mkDerivation {
patches = [ ./hermetic-bootstrap.patch ];
buildInputs = [ erlang tree ];
propagatedBuildInputs = [ registrySnapshot rebar3-nix-bootstrap ];
propagatedBuildInputs = [ registrySnapshot rebar3-nix-bootstrap ];
postPatch = ''
echo postPatch