Skip to content

Add mcrypto recipe - #380

Merged
alisterburt merged 3 commits into
modular:mainfrom
aelxtpt:add-mcrypto
Sep 30, 2026
Merged

alisterburt merged 3 commits into
modular:mainfrom
aelxtpt:add-mcrypto

Conversation

@aelxtpt

@aelxtpt aelxtpt commented Sep 29, 2026 •

Copy link
Copy Markdown

Adds a recipe for mcrypto, a source-layout Mojo cryptography library: fixed hashes and XOFs, stream and block ciphers, AEAD, MACs, KDFs, public-key encryption, KEM, signatures, and secure-memory helpers.

Checklist

  • My recipe.yaml file specifies which version(s) of MAX is compatible with my project — mojo_version: ">=1.0.0,<1.1.0" in context, applied to mojo-compiler in build/host/run. That range resolves to 1.0.0 today and mirrors the library's own pixi.toml pin (mojo ==1.0.0). The source imports only std, so no max runtime dependency is required.
  • License file is packaged — license_file: LICENSE, shipped as info/licenses/LICENSE.
  • Set the build number to 0 (new package).
  • Bumped the build number — n/a, this is the first submission.

Verification
Built locally with:

rattler-build build --recipe conda.recipe/recipe.yaml \
  -c conda-forge \
  -c https://conda.modular.com/max \
  -c https://repo.prefix.dev/modular-community

Result: mcrypto-0.1.0-h60d57d3_0.conda, with ✔ all tests passed!. The artifact ships lib/mojo/mcrypto.mojoc, and the recipe's smoke test runs against the installed package (not the source tree), exercising SHA-256, SHAKE128, XChaCha20-Poly1305 (round trip plus tamper detection), CMAC, and HKDF-SHA256.

Also checked: the recipe validates against the official recipe-format JSON schema, and mojo-compiler 1.0.0 is available on all three CI platforms (linux-64, linux-aarch64, osx-arm64).

@alisterburt

Copy link
Copy Markdown
Collaborator

thank you @aelxtpt !

@alisterburt
alisterburt merged commit 9227a1b into modular:main Sep 30, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants