Skip to content

Commit e2a661c

Browse files
authored
Add aarch64-unknown-linux-musl as a default target (#36)
People using Alpine Linux containers on Apple machines with M1/M2 processors should benefit from this. Closes #35
1 parent 6565cde commit e2a661c

File tree

3 files changed

+17
-4
lines changed

3 files changed

+17
-4
lines changed

lib/rustler_precompiled/config.ex

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ defmodule RustlerPrecompiled.Config do
1919

2020
@default_targets ~w(
2121
aarch64-apple-darwin
22+
aarch64-unknown-linux-musl
2223
x86_64-apple-darwin
2324
x86_64-unknown-linux-gnu
2425
x86_64-unknown-linux-musl
@@ -110,7 +111,5 @@ defmodule RustlerPrecompiled.Config do
110111
raise "`#{inspect(field)}` is required for `RustlerPrecompiled`"
111112
end
112113

113-
defp pre_release?(version) do
114-
"dev" in Version.parse!(version).pre
115-
end
114+
defp pre_release?(version), do: "dev" in Version.parse!(version).pre
116115
end

test/rustler_precompiled/config_test.exs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ defmodule RustlerPrecompiled.ConfigTest do
9696

9797
assert config.targets == [
9898
"aarch64-apple-darwin",
99+
"aarch64-unknown-linux-musl",
99100
"x86_64-apple-darwin",
100101
"x86_64-unknown-linux-gnu",
101102
"x86_64-unknown-linux-musl",

test/rustler_precompiled_test.exs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,20 @@ defmodule RustlerPrecompiledTest do
185185
}
186186

187187
error_message =
188-
"precompiled NIF is not available for this target: \"i686-unknown-linux-gnu\".\nThe available targets are:\n - aarch64-apple-darwin\n - x86_64-apple-darwin\n - x86_64-unknown-linux-gnu\n - x86_64-unknown-linux-musl\n - arm-unknown-linux-gnueabihf\n - aarch64-unknown-linux-gnu\n - x86_64-pc-windows-msvc\n - x86_64-pc-windows-gnu"
188+
"""
189+
precompiled NIF is not available for this target: \"i686-unknown-linux-gnu\".
190+
The available targets are:
191+
- aarch64-apple-darwin
192+
- aarch64-unknown-linux-musl
193+
- x86_64-apple-darwin
194+
- x86_64-unknown-linux-gnu
195+
- x86_64-unknown-linux-musl
196+
- arm-unknown-linux-gnueabihf
197+
- aarch64-unknown-linux-gnu
198+
- x86_64-pc-windows-msvc
199+
- x86_64-pc-windows-gnu
200+
"""
201+
|> String.trim()
189202

190203
assert {:error, ^error_message} = RustlerPrecompiled.target(config, @available_targets)
191204
end

0 commit comments

Comments
 (0)