Loading pkgs/development/beam-modules/build-rebar3.nix +6 −7 Original line number Diff line number Diff line { stdenv, writeText, erlang, rebar3, openssl, libyaml, { stdenv, writeText, erlang, rebar3WithPlugins, openssl, libyaml, pc, lib }: { name, version Loading @@ -19,7 +19,10 @@ with lib; let debugInfoFlag = lib.optionalString (enableDebugInfo || erlang.debugInfo) "debug-info"; ownPlugins = buildPlugins ++ (if compilePorts then [pc] else []); rebar3 = rebar3WithPlugins { plugins = buildPlugins; globalPlugins = (if compilePorts then [pc] else []); }; shell = drv: stdenv.mkDerivation { name = "interactive-shell-${drv.name}"; Loading @@ -36,13 +39,9 @@ let inherit version; buildInputs = buildInputs ++ [ erlang rebar3 openssl libyaml ]; propagatedBuildInputs = unique (beamDeps ++ ownPlugins); propagatedBuildInputs = unique beamDeps; dontStrip = true; # The following are used by rebar3-nix-bootstrap inherit compilePorts; buildPlugins = ownPlugins; inherit src; setupHook = writeText "setupHook.sh" '' Loading pkgs/development/tools/build-managers/rebar3/default.nix +1 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ let version = "3.15.1"; owner = "erlang"; deps = import ./rebar-deps.nix { inherit fetchHex fetchFromGitHub; }; deps = import ./rebar-deps.nix { inherit fetchHex; }; rebar3 = stdenv.mkDerivation rec { pname = "rebar3"; inherit version erlang; Loading pkgs/development/tools/build-managers/rebar3/rebar3-nix-bootstrap +1 −40 Original line number Diff line number Diff line Loading @@ -26,9 +26,7 @@ -record(data, {version , debug_info = false , compile_ports , erl_libs , plugins , root , name}). Loading @@ -42,7 +40,6 @@ main(Args) -> -spec do_the_bootstrap(#data{}) -> ok. do_the_bootstrap(RequiredData) -> ok = bootstrap_configs(RequiredData), ok = bootstrap_plugins(RequiredData), ok = bootstrap_libs(RequiredData). %% @doc Loading @@ -68,22 +65,8 @@ parse_args(Args0) -> bootstrap_configs(RequiredData)-> io:format("Boostrapping app and rebar configurations~n"), ok = if_single_app_project_update_app_src_version(RequiredData), ok = if_compile_ports_add_pc_plugin(RequiredData), ok = if_debug_info_add(RequiredData). -spec bootstrap_plugins(#data{}) -> ok. bootstrap_plugins(#data{plugins = Plugins}) -> io:format("Bootstrapping rebar3 plugins~n"), Target = "_build/default/plugins/", Paths = string:tokens(Plugins, " "), CopiableFiles = lists:foldl(fun(Path, Acc) -> gather_dependency(Path) ++ Acc end, [], Paths), lists:foreach(fun (Path) -> ok = link_app(Path, Target) end, CopiableFiles). -spec bootstrap_libs(#data{}) -> ok. bootstrap_libs(#data{erl_libs = ErlLibs}) -> io:format("Bootstrapping dependent libraries~n"), Loading Loading @@ -152,10 +135,9 @@ fixup_app_name(FileName) -> gather_required_data_from_the_environment(ArgData) -> {ok, ArgData#data{ version = guard_env("version") , erl_libs = get_env("ERL_LIBS", []) , plugins = get_env("buildPlugins", []) , root = code:root_dir() , name = guard_env("name") , compile_ports = nix2bool(get_env("compilePorts", ""))}}. }}. -spec nix2bool(any()) -> boolean(). nix2bool("1") -> Loading Loading @@ -209,27 +191,6 @@ add_debug_info(Config) -> {erl_opts, [debug_info | ExistingOpts]}) end. %% @doc %% If the compile ports flag is set, rewrite the rebar config to %% include the 'pc' plugin. -spec if_compile_ports_add_pc_plugin(#data{}) -> ok. if_compile_ports_add_pc_plugin(#data{compile_ports = true}) -> ConfigTerms = add_pc_to_plugins(read_rebar_config()), Text = lists:map(fun(Term) -> io_lib:format("~tp.~n", [Term]) end, ConfigTerms), file:write_file("rebar.config", Text); if_compile_ports_add_pc_plugin(_) -> ok. -spec add_pc_to_plugins([term()]) -> [term()]. add_pc_to_plugins(Config) -> PluginList = case lists:keysearch(plugins, 1, Config) of {value, {plugins, ExistingPluginList}} -> ExistingPluginList; _ -> [] end, lists:keystore(plugins, 1, Config, {plugins, [pc | PluginList]}). -spec read_rebar_config() -> [term()]. read_rebar_config() -> case file:consult("rebar.config") of Loading Loading
pkgs/development/beam-modules/build-rebar3.nix +6 −7 Original line number Diff line number Diff line { stdenv, writeText, erlang, rebar3, openssl, libyaml, { stdenv, writeText, erlang, rebar3WithPlugins, openssl, libyaml, pc, lib }: { name, version Loading @@ -19,7 +19,10 @@ with lib; let debugInfoFlag = lib.optionalString (enableDebugInfo || erlang.debugInfo) "debug-info"; ownPlugins = buildPlugins ++ (if compilePorts then [pc] else []); rebar3 = rebar3WithPlugins { plugins = buildPlugins; globalPlugins = (if compilePorts then [pc] else []); }; shell = drv: stdenv.mkDerivation { name = "interactive-shell-${drv.name}"; Loading @@ -36,13 +39,9 @@ let inherit version; buildInputs = buildInputs ++ [ erlang rebar3 openssl libyaml ]; propagatedBuildInputs = unique (beamDeps ++ ownPlugins); propagatedBuildInputs = unique beamDeps; dontStrip = true; # The following are used by rebar3-nix-bootstrap inherit compilePorts; buildPlugins = ownPlugins; inherit src; setupHook = writeText "setupHook.sh" '' Loading
pkgs/development/tools/build-managers/rebar3/default.nix +1 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ let version = "3.15.1"; owner = "erlang"; deps = import ./rebar-deps.nix { inherit fetchHex fetchFromGitHub; }; deps = import ./rebar-deps.nix { inherit fetchHex; }; rebar3 = stdenv.mkDerivation rec { pname = "rebar3"; inherit version erlang; Loading
pkgs/development/tools/build-managers/rebar3/rebar3-nix-bootstrap +1 −40 Original line number Diff line number Diff line Loading @@ -26,9 +26,7 @@ -record(data, {version , debug_info = false , compile_ports , erl_libs , plugins , root , name}). Loading @@ -42,7 +40,6 @@ main(Args) -> -spec do_the_bootstrap(#data{}) -> ok. do_the_bootstrap(RequiredData) -> ok = bootstrap_configs(RequiredData), ok = bootstrap_plugins(RequiredData), ok = bootstrap_libs(RequiredData). %% @doc Loading @@ -68,22 +65,8 @@ parse_args(Args0) -> bootstrap_configs(RequiredData)-> io:format("Boostrapping app and rebar configurations~n"), ok = if_single_app_project_update_app_src_version(RequiredData), ok = if_compile_ports_add_pc_plugin(RequiredData), ok = if_debug_info_add(RequiredData). -spec bootstrap_plugins(#data{}) -> ok. bootstrap_plugins(#data{plugins = Plugins}) -> io:format("Bootstrapping rebar3 plugins~n"), Target = "_build/default/plugins/", Paths = string:tokens(Plugins, " "), CopiableFiles = lists:foldl(fun(Path, Acc) -> gather_dependency(Path) ++ Acc end, [], Paths), lists:foreach(fun (Path) -> ok = link_app(Path, Target) end, CopiableFiles). -spec bootstrap_libs(#data{}) -> ok. bootstrap_libs(#data{erl_libs = ErlLibs}) -> io:format("Bootstrapping dependent libraries~n"), Loading Loading @@ -152,10 +135,9 @@ fixup_app_name(FileName) -> gather_required_data_from_the_environment(ArgData) -> {ok, ArgData#data{ version = guard_env("version") , erl_libs = get_env("ERL_LIBS", []) , plugins = get_env("buildPlugins", []) , root = code:root_dir() , name = guard_env("name") , compile_ports = nix2bool(get_env("compilePorts", ""))}}. }}. -spec nix2bool(any()) -> boolean(). nix2bool("1") -> Loading Loading @@ -209,27 +191,6 @@ add_debug_info(Config) -> {erl_opts, [debug_info | ExistingOpts]}) end. %% @doc %% If the compile ports flag is set, rewrite the rebar config to %% include the 'pc' plugin. -spec if_compile_ports_add_pc_plugin(#data{}) -> ok. if_compile_ports_add_pc_plugin(#data{compile_ports = true}) -> ConfigTerms = add_pc_to_plugins(read_rebar_config()), Text = lists:map(fun(Term) -> io_lib:format("~tp.~n", [Term]) end, ConfigTerms), file:write_file("rebar.config", Text); if_compile_ports_add_pc_plugin(_) -> ok. -spec add_pc_to_plugins([term()]) -> [term()]. add_pc_to_plugins(Config) -> PluginList = case lists:keysearch(plugins, 1, Config) of {value, {plugins, ExistingPluginList}} -> ExistingPluginList; _ -> [] end, lists:keystore(plugins, 1, Config, {plugins, [pc | PluginList]}). -spec read_rebar_config() -> [term()]. read_rebar_config() -> case file:consult("rebar.config") of Loading