about summary refs log tree commit diff
path: root/pkgs/development/beam-modules
diff options
context:
space:
mode:
authorWill Fancher <elvishjerricco@gmail.com>2017-09-12 17:30:35 -0400
committerWill Fancher <elvishjerricco@gmail.com>2017-09-12 17:30:35 -0400
commitdbd500937644c2deae4a2c7a59f4a11a006bf1d0 (patch)
tree7b95396adec2cea51196e6d4218ca9c85a85732f /pkgs/development/beam-modules
parent4d860389d88d35a702f79c0567cb4c6b1ec0deda (diff)
parent734788b71da12826520e1e4322323b955bdf2eee (diff)
Merge branch 'master' into improved-make-overridable
Diffstat (limited to 'pkgs/development/beam-modules')
-rw-r--r--pkgs/development/beam-modules/default.nix34
-rw-r--r--pkgs/development/beam-modules/hex-registry-snapshot.nix5
-rw-r--r--pkgs/development/beam-modules/hex/default.nix9
-rw-r--r--pkgs/development/beam-modules/pc/default.nix13
-rw-r--r--pkgs/development/beam-modules/webdriver/default.nix6
5 files changed, 54 insertions, 13 deletions
diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix
index 74079e82ea196..95fe683cd1e51 100644
--- a/pkgs/development/beam-modules/default.nix
+++ b/pkgs/development/beam-modules/default.nix
@@ -15,6 +15,8 @@ let
         inherit callPackage erlang;
         beamPackages = self;
 
+        hexRegistrySnapshot = callPackage ./hex-registry-snapshot.nix { };
+
         rebar = callPackage ../tools/build-managers/rebar { };
         rebar3-open = callPackage ../tools/build-managers/rebar3 {
           hermeticRebar3 = false;
@@ -23,7 +25,10 @@ let
           hermeticRebar3 = true;
         };
 
-        hexRegistrySnapshot = callPackage ./hex-registry-snapshot.nix { };
+        # rebar3 port compiler plugin is required by buildRebar3
+        pc_1_6_0 = callPackage ./pc {};
+        pc = pc_1_6_0;
+
         fetchHex = callPackage ./fetch-hex.nix { };
 
         buildRebar3 = callPackage ./build-rebar3.nix {};
@@ -52,12 +57,35 @@ let
         lfe = lfe_1_2;
         lfe_1_2 = lib.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3 buildHex; };
 
-        # Non hex packages
+        # We list all base hex packages for beam tooling explicitly to ensure
+        # tha the tooling does not break during hex-packages.nix updates.
+        erlware_commons_1_0_0 = buildHex {
+          name    = "erlware_commons";
+          version = "1.0.0";
+          sha256 = "0wkphbrjk19lxdwndy92v058qwcaz13bcgdzp33h21aa7vminzx7";
+          beamDeps = [ cf_0_2_2 ];
+        };
+        cf_0_2_2 = buildHex {
+          name = "cf";
+          version = "0.2.2";
+          sha256 = "08cvy7skn5d2k4manlx5k3anqgjdvajjhc5jwxbaszxw34q3na28";
+        };
+        getopt_0_8_2 = buildHex {
+          name = "getopt";
+          version = "0.8.2";
+          sha256 = "1xw30h59zbw957cyjd8n50hf9y09jnv9dyry6x3avfwzcyrnsvkk";
+        };
+
+        # Non hex packages. Examples how to build Rebar/Mix packages with and
+        # without helper functions buildRebar3 and buildMix.
         hex = callPackage ./hex {};
         webdriver = callPackage ./webdriver {};
+        relxExe = callPackage ../tools/erlang/relx-exe {};
 
+        # The tool used to upgrade hex-packages.nix.
         hex2nix = callPackage ../tools/erlang/hex2nix {};
+
+        # An example of Erlang/C++ package.
         cuter = callPackage ../tools/erlang/cuter {};
-        relxExe = callPackage ../tools/erlang/relx-exe {};
       };
 in makeExtensible packages
diff --git a/pkgs/development/beam-modules/hex-registry-snapshot.nix b/pkgs/development/beam-modules/hex-registry-snapshot.nix
index f283b429b963a..6f127d86285b7 100644
--- a/pkgs/development/beam-modules/hex-registry-snapshot.nix
+++ b/pkgs/development/beam-modules/hex-registry-snapshot.nix
@@ -2,14 +2,15 @@
 
 stdenv.mkDerivation rec {
     name = "hex-registry";
-    rev = "e5e494a";
+    rev = "9f736e7";
     version = "0.0.0+build.${rev}";
 
+    # src = /home/gleber/code/erl/hex-pm-registry-snapshots;
     src = fetchFromGitHub {
         owner = "erlang-nix";
         repo = "hex-pm-registry-snapshots";
         inherit rev;
-        sha256 = "0877dragfxs22a05d8mv42z5535kfx9rs4y7fwwbd1ybphczf8za";
+        sha256 = "1xiw5yifyk3bbmr0cr82y1nc4c6zk11f6azdv07glb7yrgccrv79";
     };
 
     installPhase = ''
diff --git a/pkgs/development/beam-modules/hex/default.nix b/pkgs/development/beam-modules/hex/default.nix
index 4a1ec05436138..7f933f9a78a69 100644
--- a/pkgs/development/beam-modules/hex/default.nix
+++ b/pkgs/development/beam-modules/hex/default.nix
@@ -1,10 +1,10 @@
-{stdenv, fetchFromGitHub, writeText, elixir }:
+{ stdenv, fetchFromGitHub, writeText, elixir }:
 
 let
   shell = drv: stdenv.mkDerivation {
-          name = "interactive-shell-${drv.name}";
-          buildInputs = [ drv ];
-    };
+    name = "interactive-shell-${drv.name}";
+    buildInputs = [ drv ];
+  };
 
   pkg = self: stdenv.mkDerivation rec {
     name = "hex";
@@ -53,6 +53,5 @@ let
     passthru = {
       env = shell self;
     };
-
 };
 in stdenv.lib.fix pkg
diff --git a/pkgs/development/beam-modules/pc/default.nix b/pkgs/development/beam-modules/pc/default.nix
new file mode 100644
index 0000000000000..d30b0fbdbd282
--- /dev/null
+++ b/pkgs/development/beam-modules/pc/default.nix
@@ -0,0 +1,13 @@
+{ stdenv, buildHex }:
+
+buildHex {
+  name = "pc";
+  version = "1.6.0";
+  sha256 = "0xq411ig5ny3iilkkkqa4vm3w3dgjc9cfzkqwk8pm13dw9mcm8h0";
+
+  meta = {
+    description = ''a rebar3 port compiler for native code'';
+    license = stdenv.lib.licenses.mit;
+    homepage = "https://github.com/blt/port_compiler";
+  };
+}
diff --git a/pkgs/development/beam-modules/webdriver/default.nix b/pkgs/development/beam-modules/webdriver/default.nix
index 61670d1f31c69..4de7e3cc01ea3 100644
--- a/pkgs/development/beam-modules/webdriver/default.nix
+++ b/pkgs/development/beam-modules/webdriver/default.nix
@@ -2,9 +2,9 @@
 
 let
   shell = drv: stdenv.mkDerivation {
-          name = "interactive-shell-${drv.name}";
-          buildInputs = [ drv ];
-    };
+    name = "interactive-shell-${drv.name}";
+    buildInputs = [ drv ];
+  };
 
   pkg = self: stdenv.mkDerivation rec {
     name = "webdriver";