Commit b1140f92 authored by Jörg Thalheim's avatar Jörg Thalheim Committed by GitHub
Browse files

Merge pull request #29227 from gleber/beam-tooling-upgrade

beam: tooling upgrade (rebar3, hex2nix, relx, etc)
parents a1013287 c041770f
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -38,3 +38,12 @@ pkgs/development/r-modules @peti
pkgs/stdenv/darwin/*    @copumpkin @LnL7
pkgs/os-specific/darwin/*       @LnL7
pkgs/os-specific/darwin/apple-source-releases/* @copumpkin

# Beam-related (Erlang, Elixir, LFE, etc)
pkgs/development/beam-modules/*	@gleber
pkgs/development/interpreters/erlang/*	@gleber
pkgs/development/interpreters/lfe/*	@gleber
pkgs/development/interpreters/elixir/*	@gleber
pkgs/development/tools/build-managers/rebar/*	@gleber
pkgs/development/tools/build-managers/rebar3/*	@gleber
pkgs/development/tools/erlang/*	@gleber
+31 −3
Original line number Diff line number Diff line
@@ -20,6 +20,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;
@@ -28,7 +30,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 {};
@@ -57,12 +62,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
+3 −2
Original line number Diff line number Diff line
@@ -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 = ''
+4 −5
Original line number Diff line number Diff line
@@ -53,6 +53,5 @@ let
    passthru = {
      env = shell self;
    };

};
in stdenv.lib.fix pkg
+13 −0
Original line number Diff line number Diff line
{ 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";
  };
}
Loading