diff options
Diffstat (limited to 'pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch')
-rw-r--r-- | pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch | 67 |
1 files changed, 26 insertions, 41 deletions
diff --git a/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch b/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch index 8da323ab8235..634dda8c45ae 100644 --- a/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch +++ b/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch @@ -1,8 +1,8 @@ -diff --git a/src/rebar3.erl b/src/rebar3.erl -index 2b73844..af1d871 100644 +diff a/src/rebar3.erl b/src/rebar3.erl +index c1a1ae4..1bf1ea0 100644 --- a/src/rebar3.erl +++ b/src/rebar3.erl -@@ -282,9 +282,11 @@ start_and_load_apps(Caller) -> +@@ -294,9 +294,11 @@ start_and_load_apps(Caller) -> ensure_running(crypto, Caller), ensure_running(asn1, Caller), ensure_running(public_key, Caller), @@ -10,21 +10,14 @@ index 2b73844..af1d871 100644 - inets:start(), - inets:start(httpc, [{profile, rebar}]). + ensure_running(ssl, Caller). -+%% Removed due to the hermicity requirements of Nix ++%% Removed due to the hermicity requirements of Nix +%% +%% inets:start(), +%% inets:start(httpc, [{profile, rebar}]). - + ensure_running(App, Caller) -> case application:start(App) of -@@ -339,4 +341,4 @@ safe_define_test_macro(Opts) -> - test_defined([{d, 'TEST'}|_]) -> true; - test_defined([{d, 'TEST', true}|_]) -> true; - test_defined([_|Rest]) -> test_defined(Rest); --test_defined([]) -> false. -\ No newline at end of file -+test_defined([]) -> false. -diff --git a/src/rebar_hermicity.erl b/src/rebar_hermicity.erl +diff a/src/rebar_hermicity.erl b/src/rebar_hermicity.erl new file mode 100644 index 0000000..d814e2a --- /dev/null @@ -72,37 +65,29 @@ index 0000000..d814e2a + "are as follows:", []), + ?ERROR("Requesnt: ~p ~s", [Method, Url]), + erlang:halt(1). -diff --git a/src/rebar_pkg_resource.erl b/src/rebar_pkg_resource.erl -index 4f55ad1..f76fd5d 100644 +diff a/src/rebar_pkg_resource.erl b/src/rebar_pkg_resource.erl +index ec7e09d..03be343 100644 --- a/src/rebar_pkg_resource.erl +++ b/src/rebar_pkg_resource.erl -@@ -100,10 +100,10 @@ make_vsn(_) -> +@@ -104,7 +104,7 @@ make_vsn(_) -> {error, "Replacing version of type pkg not supported."}. - + request(Url, ETag) -> -- case httpc:request(get, {Url, [{"if-none-match", ETag} || ETag =/= false]}, -- [{ssl, ssl_opts(Url)}, {relaxed, true}], -- [{body_format, binary}], -- rebar) of -+ case rebar_hermicity:request(get, {Url, [{"if-none-match", ETag} || ETag =/= false]}, -+ [{ssl, ssl_opts(Url)}, {relaxed, true}], -+ [{body_format, binary}], -+ rebar) of - {ok, {{_Version, 200, _Reason}, Headers, Body}} -> - ?DEBUG("Successfully downloaded ~s", [Url]), - {"etag", ETag1} = lists:keyfind("etag", 1, Headers), -diff --git a/src/rebar_prv_update.erl b/src/rebar_prv_update.erl -index 6637ebe..d82c1d8 100644 +- case httpc:request(get, {Url, [{"if-none-match", ETag} || ETag =/= false]++[{"User-Agent", rebar_utils:user_agent()}]}, ++ case rebar_hermicity:request(get, {Url, [{"if-none-match", ETag} || ETag =/= false]++[{"User-Agent", rebar_utils:user_agent()}]}, + [{ssl, ssl_opts(Url)}, {relaxed, true}], + [{body_format, binary}], + rebar) of +diff a/src/rebar_prv_update.erl b/src/rebar_prv_update.erl +index 5e1e253..ea25b9e 100644 --- a/src/rebar_prv_update.erl +++ b/src/rebar_prv_update.erl -@@ -44,8 +44,8 @@ do(State) -> - TmpFile = filename:join(TmpDir, "packages.gz"), - - Url = rebar_state:get(State, rebar_packages_cdn, ?DEFAULT_HEX_REGISTRY), -- case httpc:request(get, {Url, []}, -- [], [{stream, TmpFile}, {sync, true}], -+ case rebar_hermicity:request(get, {Url, []}, -+ [], [{stream, TmpFile}, {sync, true}], - rebar) of - {ok, saved_to_file} -> - {ok, Data} = file:read_file(TmpFile), +@@ -52,7 +52,7 @@ do(State) -> + case rebar_utils:url_append_path(CDN, ?REMOTE_REGISTRY_FILE) of + {ok, Url} -> + ?DEBUG("Fetching registry from ~p", [Url]), +- case httpc:request(get, {Url, [{"User-Agent", rebar_utils:user_agent()}]}, ++ case rebar_hermicity:request(get, {Url, [{"User-Agent", rebar_utils:user_agent()}]}, + [], [{stream, TmpFile}, {sync, true}], + rebar) of + {ok, saved_to_file} -> |