summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch')
-rw-r--r--pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch67
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} ->