package curve448
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=324dde8adda6e07adee445041319fe81
sha512=bb664f36f14c6a6947ec3b54d5c5f0f9b97ddb8520fdcd1d8ea093e19a1737f024e8766ad47f9b6abb20949dee19309768f7c1f17cac7372c7a775f891d08fd0
doc/CONTRIBUTING.html
Contributing
Set up
Use a 64-bit OCaml 4.14 or newer switch. To make a local switch:
opam switch create . 4.14.2 --no-install
opam install . --deps-only --with-test --with-docIf you already have a suitable switch, just run the dependency installation command. Use opam exec -- so commands use that switch's compiler and tools. The installed package only needs mirage-crypto-rng at runtime; the other dependencies support tests and documentation.
Everyday checks
opam exec -- dune build @all @doc
opam exec -- dune runtest
opam lint --strict curve448.opam
python3 tools/check_doc_links.pyThe normal test run covers both backends, the C bytecode bindings, the examples, RFC and Wycheproof vectors, properties and an independent reference model. OCaml 5 also runs the domain tests. See testing for fuzzing, generated sources, sanitizers and the slower security checks.
Format and generated files
opam install ocamlformat.0.29.0
opam exec -- dune fmtopam exec -- dune build @fmt checks formatting without promoting changes. Edit dune-project and curve448.opam.template, then run opam exec -- dune build curve448.opam to regenerate package metadata. Do not edit curve448.opam directly. It is committed so opam can read it before building Dune.
Generated arithmetic and tables are excluded from ocamlformat. Edit their generators and run the regeneration checks. When changing dependencies, update and run the lower-bound test.
Changes and reports
Keep API changes documented in lib/curve448.mli and CHANGES.md. Add tests for changed behaviour, and preserve the shared tests across both backends. Use the issue tracker for bugs; follow SECURITY.md for suspected vulnerabilities.
The release guide covers package checks and submission to opam-repository.