Packages
Signal Protocol cryptographic primitives NIF implementation
Current section
Files
Jump to
Current section
Files
libsignal_protocol_nif
rebar.config
rebar.config
{erl_opts, [debug_info]}.
{deps, []}.
{plugins, [rebar3_format, rebar3_hex]}.
{auto_plugins, [rebar3_auto]}.
{hex, [
{name, "libsignal_protocol_nif"},
{description, "Signal Protocol cryptographic primitives NIF implementation with libsodium"},
{licenses, ["Apache-2.0"]},
{links, [{"GitHub", "https://github.com/Hydepwns/libsignal-protocol-nif"}]},
{build_tools, ["rebar3"]},
{files, [
"src/**/*",
"c_src/**/*",
"include/**/*",
"priv/**/*",
"rebar.config",
"README.md",
"LICENSE"
]}
]}.
{src_dirs, ["erl_src"]}.
{cover_enabled, true}.
{cover_opts, [verbose]}.
{cover_export_enabled, true}.
{cover_export_format, html}.
% Ensure NIFs are copied to the right locations during compilation
{post_hooks, [
{compile,
"mkdir -p _build/default/lib/nif/priv && cp -f priv/*.so _build/default/lib/nif/priv/ || true"},
{compile,
"mkdir -p _build/test/lib/nif/priv && cp -f priv/*.so _build/test/lib/nif/priv/ || true"}
]}.
{edoc_opts, [
{preprocess, true},
{macros, [{d, 'EDOC'}]},
{private, true},
{todo, true},
{dir, "tmp/doc"}
]}.
{profiles, [
{test, [
{deps, []},
{erl_opts, [debug_info]},
{src_dirs, ["erl_src"]},
{cover_opts, [verbose]},
{ct_opts, [{logdir, "tmp/ct_logs"}, {dir, "test/erl"}, {suite, signal_crypto_SUITE}]},
{extra_src_dirs, ["test/erl"]},
% Copy NIFs for test profile
{post_hooks, [
{compile,
"mkdir -p _build/test/lib/nif/priv && cp -f priv/*.so _build/test/lib/nif/priv/ || true"},
{compile,
"mkdir -p _build/test/extras/test/priv && cp -f priv/*.so _build/test/extras/test/priv/ || true"}
]}
]},
{unit, [
{deps, []},
{erl_opts, [debug_info]},
{src_dirs, ["erl_src"]},
{cover_opts, [verbose]},
{ct_opts, [
{logdir, "tmp/ct_logs_unit"},
{dir, "test/erl"},
{config, "test/erl/config/unit.config"},
{suite, signal_crypto_SUITE}
]},
{extra_src_dirs, ["test/erl"]},
% Copy NIFs for unit test profile
{post_hooks, [
{compile,
"mkdir -p _build/unit+test/lib/nif/priv && cp -f priv/*.so _build/unit+test/lib/nif/priv/ || true"},
{compile,
"mkdir -p _build/unit+test/extras/test/priv && cp -f priv/*.so _build/unit+test/extras/test/priv/ || true"},
{compile,
"mkdir -p _build/unit+test/extras/test/erl/unit/crypto/priv && cp -f priv/*.so _build/unit+test/extras/test/erl/unit/crypto/priv/ || true"}
]}
]},
{integration, [
{deps, []},
{erl_opts, [debug_info]},
{src_dirs, ["erl_src"]},
{cover_opts, [verbose]},
{ct_opts, [
{logdir, "tmp/ct_logs_integration"},
{dir, "test/erl"},
{config, "test/erl/config/integration.config"}
]},
{extra_src_dirs, ["test/erl"]},
% Copy NIFs for integration test profile
{post_hooks, [
{compile,
"mkdir -p _build/integration+test/lib/nif/priv && cp -f priv/*.so _build/integration+test/lib/nif/priv/ || true"},
{compile,
"mkdir -p _build/integration+test/extras/test/priv && cp -f priv/*.so _build/integration+test/extras/test/priv/ || true"}
]}
]},
{smoke, [
{deps, []},
{erl_opts, [debug_info]},
{src_dirs, ["erl_src"]},
{cover_opts, [verbose]},
{ct_opts, [
{logdir, "tmp/ct_logs_smoke"},
{dir, "test/erl"},
{config, "test/erl/config/unit.config"}
]},
{extra_src_dirs, ["test/erl"]},
% Copy NIFs for smoke test profile
{post_hooks, [
{compile,
"mkdir -p _build/smoke+test/lib/nif/priv && cp -f priv/*.so _build/smoke+test/lib/nif/priv/ || true"},
{compile,
"mkdir -p _build/smoke+test/extras/test/priv && cp -f priv/*.so _build/smoke+test/extras/test/priv/ || true"}
]}
]},
{docs, [
{edoc_opts, [
{preprocess, true},
{macros, [{d, 'EDOC'}]},
{private, true},
{todo, true},
{dir, "tmp/doc"}
]}
]}
]}.