summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers/rebar3
diff options
context:
space:
mode:
authorGleb Peregud <gleber.p@gmail.com>2015-12-15 00:03:05 +0100
committerGleb Peregud <gleber.p@gmail.com>2015-12-15 15:06:44 +0100
commit474da3bf244603d3ad51fb460a9cd07cdbd53b46 (patch)
tree8ac5bec4e299640d885f5d89a3c8a230b7ec5563 /pkgs/development/tools/build-managers/rebar3
parent108f3cf67fee2a7c8fd52710b65f386f773499e0 (diff)
downloadnixpkgs-474da3bf244603d3ad51fb460a9cd07cdbd53b46.tar
nixpkgs-474da3bf244603d3ad51fb460a9cd07cdbd53b46.tar.gz
nixpkgs-474da3bf244603d3ad51fb460a9cd07cdbd53b46.tar.bz2
nixpkgs-474da3bf244603d3ad51fb460a9cd07cdbd53b46.tar.lz
nixpkgs-474da3bf244603d3ad51fb460a9cd07cdbd53b46.tar.xz
nixpkgs-474da3bf244603d3ad51fb460a9cd07cdbd53b46.tar.zst
nixpkgs-474da3bf244603d3ad51fb460a9cd07cdbd53b46.zip
Add sources of specific rebar bootstrap deps via new fetchHex
derivation.
Diffstat (limited to 'pkgs/development/tools/build-managers/rebar3')
-rw-r--r--pkgs/development/tools/build-managers/rebar3/default.nix84
1 files changed, 81 insertions, 3 deletions
diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix
index 841e0b71f42..c4e256d5873 100644
--- a/pkgs/development/tools/build-managers/rebar3/default.nix
+++ b/pkgs/development/tools/build-managers/rebar3/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, erlang, tree, fetchFromGitHub }:
+{ stdenv, fetchurl, fetchHex, erlang, tree, fetchFromGitHub }:
 
 
 let
@@ -8,6 +8,68 @@ let
     mkdir -p _build/default/{lib,plugins,packages}/ ./.cache/rebar3/hex/default/
     zcat ${registrySnapshot}/registry.ets.gz > .cache/rebar3/hex/default/registry
   '';
+  # TODO: all these below probably should go into nixpkgs.erlangModules.sources.*
+  # {erlware_commons,     "0.16.0"},
+  erlware_commons = fetchHex {
+    pkg = "erlware_commons";
+    version = "0.16.0";
+    sha256 = "0kh24d0001390wfx28d0xa874vrsfvjgj41g315vg4hac632krxx";
+  };
+  # {ssl_verify_hostname, "1.0.5"},
+  ssl_verify_hostname = fetchHex {
+    pkg = "ssl_verify_hostname";
+    version = "1.0.5";
+    sha256 = "1gzavzqzljywx4l59gvhkjbr1dip4kxzjjz1s4wsn42f2kk13jzj";
+  };
+  # {certifi,             "0.1.1"},
+  certifi = fetchHex {
+    pkg = "certifi";
+    version = "0.1.1";
+    sha256 = "0afylwqg74gprbg116asz0my2nipmki0512c8mdiq6xdiyjdvlg6";
+  };
+  # {providers,           "1.5.0"},
+  providers = fetchHex {
+    pkg = "providers";
+    version = "1.5.0";
+    sha256 = "1hc8sp2l1mmx9dfpmh1f8j9hayfg7541rmx05wb9cmvxvih7zyvf";
+  };
+  # {getopt,              "0.8.2"},
+  getopt = fetchHex {
+    pkg = "getopt";
+    version = "0.8.2";
+    sha256 = "1xw30h59zbw957cyjd8n50hf9y09jnv9dyry6x3avfwzcyrnsvkk";
+  };
+  # {bbmustache,          "1.0.4"},
+  bbmustache = fetchHex {
+    pkg = "bbmustache";
+    version = "1.0.4";
+    sha256 = "04lvwm7f78x8bys0js33higswjkyimbygp4n72cxz1kfnryx9c03";
+  };
+  # {relx,                "3.8.0"},
+  relx = fetchHex {
+    pkg = "relx";
+    version = "3.8.0";
+    sha256 = "0y89iirjz3kc1rzkdvc6p3ssmwcm2hqgkklhgm4pkbc14fcz57hq";
+  };
+  # {cf,                  "0.2.1"},
+  cf = fetchHex {
+    pkg = "cf";
+    version = "0.2.1";
+    sha256 = "19d0yvg8wwa57cqhn3vqfvw978nafw8j2rvb92s3ryidxjkrmvms";
+  };
+  # {cth_readable,        "1.1.0"},
+  cth_readable = fetchHex {
+    pkg = "cth_readable";
+    version = "1.0.1";
+    sha256 = "1cnc4fbypckqllfi5h73rdb24dz576k3177gzvp1kbymwkp1xcz1";
+  };
+  # {eunit_formatters,    "0.2.0"}
+  eunit_formatters = fetchHex {
+    pkg = "eunit_formatters";
+    version = "0.2.0";
+    sha256 = "03kiszlbgzscfd2ns7na6bzbfzmcqdb5cx3p6qy3657jk2fai332";
+  };
+
 in
 stdenv.mkDerivation {
   name = "rebar3-${version}";
@@ -19,12 +81,28 @@ stdenv.mkDerivation {
 
   patches = [ ./hermetic-bootstrap.patch ];
 
-  buildInputs = [ erlang ];
+  buildInputs = [ erlang
+                  tree
+                ];
   inherit setupRegistry;
 
+  postPatch = ''
+    echo postPatch
+    ${setupRegistry}
+    mkdir -p _build/default/lib/
+    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
+    cp --no-preserve=mode -R ${bbmustache} _build/default/lib/bbmustache
+    cp --no-preserve=mode -R ${certifi} _build/default/lib/certifi
+    cp --no-preserve=mode -R ${cf} _build/default/lib/cf
+    cp --no-preserve=mode -R ${cth_readable} _build/default/lib/cth_readable
+    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
+  '';
 
   buildPhase = ''
-    ${setupRegistry}
     HOME=. escript bootstrap
   '';
   installPhase = ''