From e14eca58dfc433510ca61356efb169e04263feec Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Thu, 15 Jan 2026 13:45:12 -0500 Subject: [PATCH 1/2] add support for builder :make -> buildErlangMk --- lib/deps_nix/derivation.ex | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/deps_nix/derivation.ex b/lib/deps_nix/derivation.ex index 95d4622..dae745d 100644 --- a/lib/deps_nix/derivation.ex +++ b/lib/deps_nix/derivation.ex @@ -107,10 +107,20 @@ defmodule DepsNix.Derivation do {:hex, name, version, _hash, beam_builders, _sub_deps, _, sha256} = dep.opts[:lock] fetcher = %FetchHex{pkg: name, version: version, sha256: sha256} + builder = + case nix_builder(beam_builders) do + nil -> + IO.puts("Unknown builders #{inspect(beam_builders)} for dep: #{name}") + System.halt(1) + + builder -> + builder + end + new(dep, version: version, src: fetcher, - builder: nix_builder(beam_builders), + builder: builder, app_config_path: app_config_path(options) ) end @@ -119,6 +129,8 @@ defmodule DepsNix.Derivation do cond do Enum.member?(builders, :mix) -> "buildMix" Enum.member?(builders, :rebar3) -> "buildRebar3" + Enum.member?(builders, :make) -> "buildErlangMk" + true -> nil end end From f0a84eb46ae971a6f18e4c430a50c49aed74d132 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Thu, 26 Feb 2026 10:32:31 -0500 Subject: [PATCH 2/2] add test for buildErlangMk --- fixtures/example/deps.nix | 2 +- test/deps_nix/derivation_test.exs | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/fixtures/example/deps.nix b/fixtures/example/deps.nix index 04de271..5a46bc2 100644 --- a/fixtures/example/deps.nix +++ b/fixtures/example/deps.nix @@ -144,7 +144,7 @@ let name = "rustlerPrecompiled"; toolchain = { name = "nightly-2025-06-23"; - sha256 = "sha256-UAoZcxg3iWtS+2n8TFNfANFt/GmkuOMDf7QAE0fRxeA="; + sha256 = "sha256-UAoZcxg3iWtS+2n8TFNfANFt/GmkuOMDf7QAE0fRxeA="; }; } ]; diff --git a/test/deps_nix/derivation_test.exs b/test/deps_nix/derivation_test.exs index 3241808..66c1f0d 100644 --- a/test/deps_nix/derivation_test.exs +++ b/test/deps_nix/derivation_test.exs @@ -131,6 +131,12 @@ defmodule DepsNix.DerivationTest do end end + property "selects buildErlangMk for :make builder" do + check all dep <- dep(scm: Mix.SCM.Hex, builders: [:make]) do + assert %Derivation{builder: "buildErlangMk"} = Derivation.from(dep, %DepsNix.Options{}) + end + end + test "doesn't include optional dependencies in beamDeps" do eventstore = %Mix.Dep{