rebar3: refactor to make hermetic
This adds changes to the rebar3 expression that patch rebar3 to force it to be hermetic. Now, by default, rebar3 literally can't download anything. A 'rebar3-open' expression was added for those folks whe want the normal rebar3.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{ stdenv, writeText, callPackage, fetchurl,
|
||||
fetchHex, erlang, rebar3-nix-bootstrap, tree, fetchFromGitHub }:
|
||||
fetchHex, erlang, hermeticRebar3 ? true, rebar3-nix-bootstrap, tree, fetchFromGitHub }:
|
||||
|
||||
|
||||
let
|
||||
@@ -67,6 +67,12 @@ let
|
||||
version = "0.2.0";
|
||||
sha256 = "03kiszlbgzscfd2ns7na6bzbfzmcqdb5cx3p6qy3657jk2fai332";
|
||||
};
|
||||
# {eunit_formatters, "0.2.0"}
|
||||
rebar3_hex = fetchHex {
|
||||
pkg = "rebar3_hex";
|
||||
version = "1.12.0";
|
||||
sha256 = "45467e93ae8d776c6038fdaeaffbc55d8f2f097f300a54dab9b81c6d1cf21f73";
|
||||
};
|
||||
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
@@ -78,7 +84,9 @@ stdenv.mkDerivation {
|
||||
sha256 = "0px66scjdia9aaa5z36qzxb848r56m0k98g0bxw065a2narsh4xy";
|
||||
};
|
||||
|
||||
patches = [ ./hermetic-bootstrap.patch ];
|
||||
patches = if hermeticRebar3 == true
|
||||
then [ ./hermetic-bootstrap.patch ./hermetic-rebar3.patch ]
|
||||
else [];
|
||||
|
||||
buildInputs = [ erlang tree ];
|
||||
propagatedBuildInputs = [ registrySnapshot rebar3-nix-bootstrap ];
|
||||
@@ -88,6 +96,7 @@ stdenv.mkDerivation {
|
||||
rebar3-nix-bootstrap registry-only
|
||||
echo "$ERL_LIBS"
|
||||
mkdir -p _build/default/lib/
|
||||
mkdir -p _build/default/plugins
|
||||
cp --no-preserve=mode -R ${erlware_commons} _build/default/lib/erlware_commons
|
||||
cp --no-preserve=mode -R ${providers} _build/default/lib/providers
|
||||
cp --no-preserve=mode -R ${getopt} _build/default/lib/getopt
|
||||
@@ -98,6 +107,7 @@ stdenv.mkDerivation {
|
||||
cp --no-preserve=mode -R ${eunit_formatters} _build/default/lib/eunit_formatters
|
||||
cp --no-preserve=mode -R ${relx} _build/default/lib/relx
|
||||
cp --no-preserve=mode -R ${ssl_verify_hostname} _build/default/lib/ssl_verify_hostname
|
||||
cp --no-preserve=mode -R ${rebar3_hex} _build/default/plugins/rebar3_hex
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
|
||||
Reference in New Issue
Block a user