Packages
nerves
1.7.14
1.15.0
1.14.3
1.14.2
1.14.1
1.14.0
1.13.2
1.13.1
1.13.0
1.12.0
1.11.3
1.11.2
1.11.1
1.11.0
1.10.5
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
1.9.3
1.9.2
retired
1.9.1
1.9.0
1.8.0
1.7.17
1.7.16
1.7.15
1.7.14
retired
1.7.13
1.7.12
1.7.11
1.7.10
1.7.9
1.7.8
1.7.7
1.7.6
1.7.5
1.7.4
1.7.3
1.7.2
retired
1.7.1
retired
1.7.0
retired
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.1
1.2.0
1.1.1
1.1.0
1.0.1
1.0.0
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
0.11.0
0.10.1
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.3
0.8.2
0.8.1
0.8.0
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.4.0-rc.0
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.0
Craft and deploy bulletproof embedded software
Retired package: Release invalid - Causes gcc compiler errors when using TARGET_GCC_FLAGS feature
Current section
Files
Jump to
Current section
Files
lib/nerves.ex
defmodule Nerves do
@elixir_version_req ">= 1.7.0"
@otp_version_req ">= 21.0.0"
def version, do: unquote(Mix.Project.config()[:version])
def elixir_version, do: unquote(System.version())
def otp_release, do: unquote(System.otp_release())
def system_requirements(elixir_version \\ nil, otp_release \\ nil) do
elixir_version = elixir_version || elixir_version()
otp_release = otp_release || otp_release()
with {:ok, otp_rel_version} <- Version.parse(otp_release <> ".0.0"),
true <- Version.match?(elixir_version, @elixir_version_req),
true <- Version.match?(otp_rel_version, @otp_version_req) do
:ok
else
_ ->
Nerves.Utils.Shell.warn("""
Nerves #{version()} requires at least Elixir #{@elixir_version_req} and Erlang/OTP #{@otp_version_req}.
Your system has Elixir #{elixir_version} and Erlang/OTP #{otp_release}.
Please resolve this by either:
1. Installing a compatible version of Elixir and Erlang/OTP
2. Pinning your nerves and nerves_bootstrap dependencies to
older versions.
""")
:error
end
end
end