Packages

High-performance Elixir wrapper for Signal Protocol cryptographic primitives with libsodium. Provides idiomatic APIs for key generation, digital signatures, encryption, and session management.

Current section

Files

Jump to
Raw

mix.exs

defmodule LibsignalProtocol.MixProject do
use Mix.Project
def project do
[
app: :libsignal_protocol,
version: "0.2.0",
elixir: "~> 1.15",
start_permanent: Mix.env() == :prod,
deps: deps(),
test_coverage: [tool: ExCoveralls, output: "tmp/cover"],
preferred_cli_env: [
coveralls: :test,
"coveralls.detail": :test,
"coveralls.post": :test,
"coveralls.html": :test,
"coveralls.github": :test
],
docs: [output: "tmp/doc"],
aliases: aliases(),
description:
"High-performance Elixir wrapper for Signal Protocol cryptographic primitives with libsodium. Provides idiomatic APIs for key generation, digital signatures, encryption, and session management.",
package: package(),
source_url: "https://github.com/hydepwns/libsignal-protocol-nif",
homepage_url: "https://hex.pm/packages/libsignal_protocol"
]
end
defp package do
[
name: "libsignal_protocol",
licenses: ["Apache-2.0"],
links: %{"GitHub" => "https://github.com/hydepwns/libsignal-protocol-nif"},
files: ~w(lib mix.exs README.md LICENSE),
maintainers: ["hydepwns"],
keywords: [
"signal",
"protocol",
"cryptography",
"encryption",
"security",
"nif",
"libsodium",
"curve25519",
"ed25519",
"aes-gcm"
]
]
end
def application do
[
extra_applications: [:logger]
]
end
defp deps do
[
{:castore, "~> 1.0"},
{:ex_doc, "~> 0.31", only: :dev, runtime: false},
{:excoveralls, "~> 0.18", only: :test},
{:credo, "~> 1.7", only: [:dev, :test], runtime: false},
{:dialyxir, "~> 1.3", only: [:dev], runtime: false}
]
end
# NIF is expected to be built separately by CI
defp aliases do
[
compile: ["compile"],
clean: ["clean"]
]
end
end