Packages

Signal Protocol cryptographic primitives NIF implementation

Current section

Files

Jump to
Raw

rebar.config

{erl_opts, [debug_info]}.
{deps, []}.
{plugins, [rebar3_format, rebar3_hex]}.
{auto_plugins, [rebar3_auto]}.
{hex,
[{name, "libsignal_protocol_nif"},
{description,
"High-performance Erlang NIF implementing Signal Protocol cryptographic primitives with libsodium. Provides Curve25519, Ed25519, AES-GCM, SHA-256/512, and HMAC-SHA256 operations."},
{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"]},
{maintainers, ["hydepwns"]},
{keywords,
["signal",
"protocol",
"cryptography",
"encryption",
"security",
"nif",
"libsodium",
"curve25519",
"ed25519",
"aes-gcm",
"sha256",
"sha512",
"hmac"]}]}.
{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, "./scripts/copy_nifs.sh"}]}.
{edoc_opts,
[{preprocess, true},
{macros, [{d, 'EDOC'}]},
{private, true},
{todo, true},
{dir, "tmp/doc"}]}.
{dialyzer,
[{warnings, [error_handling]},
{plt_apps, top_level_deps},
{plt_extra_apps, [crypto]},
{plt_location, local},
{plt_prefix, "rebar3"},
{base_plt_apps, [stdlib, kernel, crypto]},
{base_plt_location, global}]}.
{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, "./scripts/copy_nifs.sh"}]}]},
{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, "./scripts/copy_nifs.sh"}]}]},
{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, "./scripts/copy_nifs.sh"}]}]},
{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, "./scripts/copy_nifs.sh"}]}]},
{docs,
[{edoc_opts,
[{preprocess, true},
{macros, [{d, 'EDOC'}]},
{private, true},
{todo, true},
{dir, "tmp/doc"}]}]}]}.