about 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-13 14:06:35 +0100
committerGleb Peregud <gleber.p@gmail.com>2015-12-15 14:05:19 +0100
commit4ba1a51b7ff8162a92f624e3ddc7ada21bd8289e (patch)
tree1198e031848075afc9e782ac292763d1e3b5c2eb /pkgs/development/tools/build-managers/rebar3
parent033902d2694f957fee66b16c815869b187969e91 (diff)
downloadnixlib-4ba1a51b7ff8162a92f624e3ddc7ada21bd8289e.tar
nixlib-4ba1a51b7ff8162a92f624e3ddc7ada21bd8289e.tar.gz
nixlib-4ba1a51b7ff8162a92f624e3ddc7ada21bd8289e.tar.bz2
nixlib-4ba1a51b7ff8162a92f624e3ddc7ada21bd8289e.tar.lz
nixlib-4ba1a51b7ff8162a92f624e3ddc7ada21bd8289e.tar.xz
nixlib-4ba1a51b7ff8162a92f624e3ddc7ada21bd8289e.tar.zst
nixlib-4ba1a51b7ff8162a92f624e3ddc7ada21bd8289e.zip
Move registry to rebar3, since it needs it itself to be bootstrapped.
This makes rebar3 build a bit more hermetic. Next stage is to pull in
rebar3 plugins dependencies for bootstrap to pick up.
Diffstat (limited to 'pkgs/development/tools/build-managers/rebar3')
-rw-r--r--pkgs/development/tools/build-managers/rebar3/default.nix10
-rw-r--r--pkgs/development/tools/build-managers/rebar3/registrySnapshot.nix8
2 files changed, 17 insertions, 1 deletions
diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix
index 2e75a12bbfc6..f905622413ad 100644
--- a/pkgs/development/tools/build-managers/rebar3/default.nix
+++ b/pkgs/development/tools/build-managers/rebar3/default.nix
@@ -1,8 +1,13 @@
-{ stdenv, fetchurl, erlang }:
+{ stdenv, fetchurl, erlang, tree, fetchFromGitHub }:
 
 
 let
   version = "3.0.0-beta.4";
+  registrySnapshot = import ./registrySnapshot.nix { inherit fetchFromGitHub; };
+  setupRegistry = ''
+    mkdir -p _build/default/{lib,plugins,packages}/ ./.cache/rebar3/hex/default/
+    zcat ${registrySnapshot}/registry.ets.gz > .cache/rebar3/hex/default/registry
+  '';
 in
 stdenv.mkDerivation {
   name = "rebar3-${version}";
@@ -13,8 +18,11 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [ erlang ];
+  inherit setupRegistry;
+
 
   buildPhase = ''
+    ${setupRegistry}
     HOME=. escript bootstrap
   '';
   installPhase = ''
diff --git a/pkgs/development/tools/build-managers/rebar3/registrySnapshot.nix b/pkgs/development/tools/build-managers/rebar3/registrySnapshot.nix
new file mode 100644
index 000000000000..cca3dd0c56b1
--- /dev/null
+++ b/pkgs/development/tools/build-managers/rebar3/registrySnapshot.nix
@@ -0,0 +1,8 @@
+{ fetchFromGitHub }:
+
+fetchFromGitHub {
+  owner = "gleber";
+  repo = "hex-pm-registry-snapshots";
+  rev = "48147b0";
+  sha256 = "0ibfnhrhbka4n6wkhs99fpy3sjab54ip37jgvx2hcfhfr4pxhbxw";
+}