Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial pqcp release #302

Open
franziskuskiefer opened this issue Jun 10, 2024 · 4 comments
Open

Initial pqcp release #302

franziskuskiefer opened this issue Jun 10, 2024 · 4 comments
Assignees

Comments

@franziskuskiefer
Copy link
Member

This issue tracks the pqcp packaging and release policies.

@franziskuskiefer
Copy link
Member Author

  • APIs (pqcp feature?)
  • Update script

@jschneider-bensch
Copy link

  • libcrux-ml-kem's Cargo.toml should be made independent from the workspace
  • should the PQCP repo contain the necessary dependency crates (libcrux-intrinsics, libcrux-sha3, libcrux-platform) as well?

@jschneider-bensch
Copy link

The following Cargo.toml e.g. has the package metadata and release profile settings pulled down from the workspace, as well as replacing local path dependencies by the libcrux repo link. (This works as a first step, but in the code package there probably shouldn't be a dependency on libcrux-dev, right?)

[package]
name = "libcrux-ml-kem"
version = "0.0.2-pre.2"
authors = ["Cryspen"]
license = "Apache-2.0"
homepage = "https://github.com/cryspen/libcrux"
edition = "2021"
repository = "https://github.com/cryspen/libcrux"
readme = "Readme.md"
exclude = ["/tests", "/implementation_notes.pdf"]

[dependencies]
rand_core = { version = "0.6" }
libcrux-platform = { git = "https://github.com/cryspen/libcrux", version = "0.0.2-pre.2", branch = "dev" }
libcrux-sha3 = { git = "https://github.com/cryspen/libcrux", version = "0.0.2-pre.2", branch = "dev" }
libcrux-intrinsics = { git = "https://github.com/cryspen/libcrux", version = "0.0.2-pre.2", branch = "dev" }

# This is only required for verification.
# The hax config is set by the hax toolchain.
[target.'cfg(hax)'.dependencies]
hax-lib = { git = "https://github.com/hacspec/hax/" }

[features]
default = ["std"]
simd128 = ["libcrux-sha3/simd128"]
simd256 = ["libcrux-sha3/simd256"]
tests = []                         # Test utilities. DO NOT USE.
std = []

[dev-dependencies]
rand = { version = "0.8" }
serde_json = { version = "1.0" }
serde = { version = "1.0", features = ["derive"] }
hex = { version = "0.4.3", features = ["serde"] }
criterion = "0.5"
libcrux-ml-kem = { path = ".", features = ["tests"] }

[[bench]]
name = "ml-kem"
harness = false

[profile.release]
lto = "fat"
codegen-units = 1
panic = "abort"

@jschneider-bensch
Copy link

I have a PR for an update script at #323, just waiting for #324 to get merged so I can address any changes from that.

@franziskuskiefer franziskuskiefer changed the title Plan pqcp Initial pqcp release Jun 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🆕 New
Development

No branches or pull requests

2 participants