Merge pull request #43430 from tazjin/rebar3-3.6.1

rebar3: 3.4.3 -> 3.6.1

authored by xeji and committed by GitHub fbcb8696 59c36570

+54 -65
+5 -6
pkgs/development/beam-modules/hex-registry-snapshot.nix
··· 2 3 stdenv.mkDerivation rec { 4 name = "hex-registry"; 5 - rev = "9f736e7"; 6 - version = "0.0.0+build.${rev}"; 7 8 - # src = /home/gleber/code/erl/hex-pm-registry-snapshots; 9 src = fetchFromGitHub { 10 - owner = "erlang-nix"; 11 - repo = "hex-pm-registry-snapshots"; 12 inherit rev; 13 - sha256 = "1xiw5yifyk3bbmr0cr82y1nc4c6zk11f6azdv07glb7yrgccrv79"; 14 }; 15 16 installPhase = ''
··· 2 3 stdenv.mkDerivation rec { 4 name = "hex-registry"; 5 + rev = "11d7a24e9f53f52490ce255a6248e71128e73aa1"; 6 + version = "20180712.${rev}"; 7 8 src = fetchFromGitHub { 9 inherit rev; 10 + owner = "erlang-nix"; 11 + repo = "hex-pm-registry-snapshots"; 12 + sha256 = "0dbpcrdh6jqmvnm1ysmy7ixyc95vnbqmikyx5kk77qwgyd43fqgi"; 13 }; 14 15 installPhase = ''
+19 -19
pkgs/development/tools/build-managers/rebar3/default.nix
··· 3 tree, fetchFromGitHub, hexRegistrySnapshot }: 4 5 let 6 - version = "3.4.3"; 7 8 bootstrapper = ./rebar3-nix-bootstrap; 9 10 erlware_commons = fetchHex { 11 pkg = "erlware_commons"; 12 - version = "1.0.0"; 13 - sha256 = "0wkphbrjk19lxdwndy92v058qwcaz13bcgdzp33h21aa7vminzx7"; 14 }; 15 ssl_verify_fun = fetchHex { 16 pkg = "ssl_verify_fun"; 17 - version = "1.1.2"; 18 - sha256 = "0qdyx70v09fydv4wzz1djnkixqj62ny40yjjhv2q6mh47lns2arj"; 19 }; 20 certifi = fetchHex { 21 pkg = "certifi"; ··· 24 }; 25 providers = fetchHex { 26 pkg = "providers"; 27 - version = "1.6.0"; 28 - sha256 = "0byfa1h57n46jilz4q132j0vk3iqc0v1vip89li38gb1k997cs0g"; 29 }; 30 getopt = fetchHex { 31 pkg = "getopt"; 32 - version = "0.8.2"; 33 - sha256 = "1xw30h59zbw957cyjd8n50hf9y09jnv9dyry6x3avfwzcyrnsvkk"; 34 }; 35 bbmustache = fetchHex { 36 pkg = "bbmustache"; 37 - version = "1.3.0"; 38 - sha256 = "042pfgss8kscq6ssg8gix8ccmdsrx0anjczsbrn2a6c36ljrx2p6"; 39 }; 40 relx = fetchHex { 41 pkg = "relx"; 42 - version = "3.23.1"; 43 - sha256 = "13j7wds2d7b8v3r9pwy3zhwhzywgwhn6l9gm3slqzyrs1jld0a9d"; 44 }; 45 cf = fetchHex { 46 pkg = "cf"; ··· 49 }; 50 cth_readable = fetchHex { 51 pkg = "cth_readable"; 52 - version = "1.3.0"; 53 - sha256 = "1s7bqj6f2zpbyjmbfq2mm6vcz1jrxjr2nd0531wshsx6fnshqhvs"; 54 }; 55 eunit_formatters = fetchHex { 56 pkg = "eunit_formatters"; 57 - version = "0.3.1"; 58 - sha256 = "0cg9dasv60v09q3q4wja76pld0546mhmlpb0khagyylv890hg934"; 59 }; 60 rebar3_hex = fetchHex { 61 pkg = "rebar3_hex"; ··· 70 71 src = fetchurl { 72 url = "https://github.com/rebar/rebar3/archive/${version}.tar.gz"; 73 - sha256 = "1a05gpxxc3mx5v33kzpb5xnq5vglmjl0q8hrcvpinjlazcwbg531"; 74 }; 75 76 inherit bootstrapper; ··· 121 ''; 122 123 platforms = stdenv.lib.platforms.unix; 124 - maintainers = [ stdenv.lib.maintainers.gleber ]; 125 }; 126 }
··· 3 tree, fetchFromGitHub, hexRegistrySnapshot }: 4 5 let 6 + version = "3.6.1"; 7 8 bootstrapper = ./rebar3-nix-bootstrap; 9 10 erlware_commons = fetchHex { 11 pkg = "erlware_commons"; 12 + version = "1.2.0"; 13 + sha256 = "149kkn9gc9cjgvlmakygq475r63q2rry31s29ax0s425dh37sfl7"; 14 }; 15 ssl_verify_fun = fetchHex { 16 pkg = "ssl_verify_fun"; 17 + version = "1.1.3"; 18 + sha256 = "1zljxashfhqmiscmf298vhr880ppwbgi2rl3nbnyvsfn0mjhw4if"; 19 }; 20 certifi = fetchHex { 21 pkg = "certifi"; ··· 24 }; 25 providers = fetchHex { 26 pkg = "providers"; 27 + version = "1.7.0"; 28 + sha256 = "19p4rbsdx9lm2ihgvlhxyld1q76kxpd7qwyqxxsgmhl5r8ln3rlb"; 29 }; 30 getopt = fetchHex { 31 pkg = "getopt"; 32 + version = "1.0.1"; 33 + sha256 = "174mb46c2qd1f4a7507fng4vvscjh1ds7rykfab5rdnfp61spqak"; 34 }; 35 bbmustache = fetchHex { 36 pkg = "bbmustache"; 37 + version = "1.5.0"; 38 + sha256 = "0xg3r4lxhqifrv32nm55b4zmkflacc1s964g15p6y6jfx6v4y1zd"; 39 }; 40 relx = fetchHex { 41 pkg = "relx"; 42 + version = "3.26.0"; 43 + sha256 = "1f810rb01kdidpa985s321ycg3y4hvqpzbk263n6i1bfnqykkvv9"; 44 }; 45 cf = fetchHex { 46 pkg = "cf"; ··· 49 }; 50 cth_readable = fetchHex { 51 pkg = "cth_readable"; 52 + version = "1.4.2"; 53 + sha256 = "1pjid4f60pp81ds01rqa6ybksrnzqriw3aibilld1asn9iabxkav"; 54 }; 55 eunit_formatters = fetchHex { 56 pkg = "eunit_formatters"; 57 + version = "0.5.0"; 58 + sha256 = "1jb3hzb216r29x2h4pcjwfmx1k81431rgh5v0mp4x5146hhvmj6n"; 59 }; 60 rebar3_hex = fetchHex { 61 pkg = "rebar3_hex"; ··· 70 71 src = fetchurl { 72 url = "https://github.com/rebar/rebar3/archive/${version}.tar.gz"; 73 + sha256 = "0cqhqymzh10pfyxqiy4hcg3d2myz3chx0y4m2ixmq8zk81acics0"; 74 }; 75 76 inherit bootstrapper; ··· 121 ''; 122 123 platforms = stdenv.lib.platforms.unix; 124 + maintainers = with stdenv.lib.maintainers; [ gleber tazjin ]; 125 }; 126 }
+18 -19
pkgs/development/tools/build-managers/rebar3/hermetic-rebar3.patch
··· 1 diff --git a/bootstrap b/bootstrap 2 - index 7c56bab..16c1be5 100755 3 --- a/bootstrap 4 +++ b/bootstrap 5 @@ -101,7 +101,7 @@ extract(Binary) -> ··· 12 [{body_format, binary}], 13 rebar) of 14 diff --git a/src/rebar_hermeticity.erl b/src/rebar_hermeticity.erl 15 - new file mode 100644 16 - index 0000000..8f6cc7d 17 - --- /dev/null 18 +++ b/src/rebar_hermeticity.erl 19 @@ -0,0 +1,42 @@ 20 +%% -*- erlang-indent-level: 4;indent-tabs-mode: nil -*- ··· 60 + ?ERROR("Request: ~p ~s", [Method, Url]), 61 + erlang:halt(1). 62 diff --git a/src/rebar_pkg_resource.erl b/src/rebar_pkg_resource.erl 63 - index d588f24..9ac8ad4 100644 64 --- a/src/rebar_pkg_resource.erl 65 +++ b/src/rebar_pkg_resource.erl 66 - @@ -109,7 +109,7 @@ make_vsn(_) -> 67 request(Url, ETag) -> 68 - HttpOptions = [{ssl, ssl_opts(Url)}, {relaxed, true} | rebar_utils:get_proxy_auth()], 69 - 70 - - case httpc:request(get, {Url, [{"if-none-match", ETag} || ETag =/= false]++[{"User-Agent", rebar_utils:user_agent()}]}, 71 - + case rebar_hermeticity:request(get, {Url, [{"if-none-match", ETag} || ETag =/= false]++[{"User-Agent", rebar_utils:user_agent()}]}, 72 - HttpOptions, 73 - [{body_format, binary}], 74 - rebar) of 75 diff --git a/src/rebar_prv_update.erl b/src/rebar_prv_update.erl 76 - index a019c5a..697cbab 100644 77 --- a/src/rebar_prv_update.erl 78 +++ b/src/rebar_prv_update.erl 79 @@ -38,6 +38,8 @@ init(State) -> ··· 85 do(State) -> 86 try 87 case rebar_packages:registry_dir(State) of 88 - @@ -52,7 +54,7 @@ do(State) -> 89 - case rebar_utils:url_append_path(CDN, ?REMOTE_REGISTRY_FILE) of 90 {ok, Url} -> 91 ?DEBUG("Fetching registry from ~p", [Url]), 92 - case httpc:request(get, {Url, [{"User-Agent", rebar_utils:user_agent()}]}, 93 + case rebar_hermeticity:request(get, {Url, [{"User-Agent", rebar_utils:user_agent()}]}, 94 - [], [{stream, TmpFile}, {sync, true}], 95 rebar) of 96 {ok, saved_to_file} -> 97 - @@ -76,6 +78,7 @@ do(State) -> 98 - ?DEBUG("Error creating package index: ~p ~p", [C, erlang:get_stacktrace()]), 99 throw(?PRV_ERROR(package_index_write)) 100 end. 101 +-endif.
··· 1 diff --git a/bootstrap b/bootstrap 2 + index 5dedd713..864056c4 100755 3 --- a/bootstrap 4 +++ b/bootstrap 5 @@ -101,7 +101,7 @@ extract(Binary) -> ··· 12 [{body_format, binary}], 13 rebar) of 14 diff --git a/src/rebar_hermeticity.erl b/src/rebar_hermeticity.erl 15 + index e69de29b..8f6cc7d0 100644 16 + --- a/src/rebar_hermeticity.erl 17 +++ b/src/rebar_hermeticity.erl 18 @@ -0,0 +1,42 @@ 19 +%% -*- erlang-indent-level: 4;indent-tabs-mode: nil -*- ··· 59 + ?ERROR("Request: ~p ~s", [Method, Url]), 60 + erlang:halt(1). 61 diff --git a/src/rebar_pkg_resource.erl b/src/rebar_pkg_resource.erl 62 + index 2cf167ee..6080aaca 100644 63 --- a/src/rebar_pkg_resource.erl 64 +++ b/src/rebar_pkg_resource.erl 65 + @@ -127,7 +127,7 @@ make_vsn(_) -> 66 request(Url, ETag) -> 67 + HttpOptions = [{ssl, ssl_opts(Url)}, 68 + {relaxed, true} | rebar_utils:get_proxy_auth()], 69 + - case httpc:request(get, {Url, [{"if-none-match", "\"" ++ ETag ++ "\""} 70 + + case rebar_hermeticity:request(get, {Url, [{"if-none-match", "\"" ++ ETag ++ "\""} 71 + || ETag =/= false] ++ 72 + [{"User-Agent", rebar_utils:user_agent()}]}, 73 + HttpOptions, [{body_format, binary}], rebar) of 74 diff --git a/src/rebar_prv_update.erl b/src/rebar_prv_update.erl 75 + index 17446311..4d44d794 100644 76 --- a/src/rebar_prv_update.erl 77 +++ b/src/rebar_prv_update.erl 78 @@ -38,6 +38,8 @@ init(State) -> ··· 84 do(State) -> 85 try 86 case rebar_packages:registry_dir(State) of 87 + @@ -53,7 +55,7 @@ do(State) -> 88 {ok, Url} -> 89 + HttpOptions = [{relaxed, true} | rebar_utils:get_proxy_auth()], 90 ?DEBUG("Fetching registry from ~p", [Url]), 91 - case httpc:request(get, {Url, [{"User-Agent", rebar_utils:user_agent()}]}, 92 + case rebar_hermeticity:request(get, {Url, [{"User-Agent", rebar_utils:user_agent()}]}, 93 + HttpOptions, [{stream, TmpFile}, {sync, true}], 94 rebar) of 95 {ok, saved_to_file} -> 96 + @@ -77,6 +79,7 @@ do(State) -> 97 + ?DEBUG("Error creating package index: ~p ~p", [C, S]), 98 throw(?PRV_ERROR(package_index_write)) 99 end. 100 +-endif.
+12 -21
pkgs/development/tools/erlang/hex2nix/default.nix
··· 1 - { stdenv, fetchFromGitHub, buildRebar3, buildHex 2 3 - , getopt_0_8_2, erlware_commons_1_0_0 }: 4 5 - let 6 - ibrowse_4_4_0 = buildHex { 7 - name = "ibrowse"; 8 - version = "4.4.0"; 9 - sha256 = "1hpic1xgksfm00mbl1kwmszca6jmjca32s7gdd8g11i0hy45k3ka"; 10 - }; 11 - jsx_2_8_2 = buildHex { 12 - name = "jsx"; 13 - version = "2.8.2"; 14 - sha256 = "0k7lnmwqbgpmh90wy30kc0qlddkbh9r3sjlyayaqsz1r1cix7idl"; 15 - }; 16 - 17 - in 18 buildRebar3 rec { 19 name = "hex2nix"; 20 - version = "0.0.6"; 21 22 src = fetchFromGitHub { 23 - owner = "erlang-nix"; 24 - repo = "hex2nix"; 25 - rev = "${version}"; 26 - sha256 = "17rkzg836v7z2xf0i5m8zqfvr23dbmw1bi3c83km92f9glwa1dbf"; 27 }; 28 29 - beamDeps = [ ibrowse_4_4_0 jsx_2_8_2 erlware_commons_1_0_0 getopt_0_8_2 ]; 30 31 enableDebugInfo = true; 32
··· 1 + { stdenv, fetchFromGitHub, buildRebar3, buildHex, 2 3 + # Erlang dependencies: 4 + ibrowse_4_2_2, 5 + getopt_0_8_2, 6 + erlware_commons_1_0_0, 7 + jsx_2_8_0 }: 8 9 buildRebar3 rec { 10 name = "hex2nix"; 11 + version = "0.0.6-a31eadd7"; 12 13 src = fetchFromGitHub { 14 + owner = "erlang-nix"; 15 + repo = "hex2nix"; 16 + rev = "a31eadd7af2cbdac1b87991b378e98ea4fb40ae0"; 17 + sha256 = "1hnkrksyrbpq2gq25rfsrnm86n0g3biab88gswm3zj88ddrz6dyk"; 18 }; 19 20 + beamDeps = [ ibrowse_4_2_2 jsx_2_8_0 erlware_commons_1_0_0 getopt_0_8_2 ]; 21 22 enableDebugInfo = true; 23