# Homebrew packaging
`brew install enprot` should work. The formula lives in a separate
Homebrew tap repository, not in this repo. Until that tap exists and a
`0.4.0` source archive is published on GitHub Releases, there is nothing
actionable in this repo. This document captures the recipe so the tap
PR is mechanical.
## The formula
Lives in `riboseinc/homebrew-enprot` as `Formula/enprot.rb`:
```ruby
class Enprot < Formula
desc "Engyon Protected Text (EPT) confidentiality processor"
homepage "https://github.com/engyon/enprot"
url "https://github.com/engyon/enprot/archive/refs/tags/0.4.0.tar.gz"
sha256 "<replace-with-sha256-of-the-archive>"
license "BSD-2-Clause"
head "https://github.com/engyon/enprot.git", branch: "main"
depends_on "rust" => :build
depends_on "botan"
def install
system "cargo", "install", *std_cargo_args
end
test do
assert_match "Engyon Protected Text", shell_output("#{bin}/enprot --help")
end
end
```
The formula uses Homebrew's Botan (3.x), which has the modules enprot
needs. AES-GCM-SIV comes from the RustCrypto crate (pure Rust, no
system dep), so the formula doesn't need to do anything special for it.
## User installation
```sh
brew tap riboseinc/enprot
brew install enprot
```
or:
```sh
brew install riboseinc/enprot/enprot
```
## Submission to homebrew-core
Possible but the notability bar (`brew tap-new` and acceptance review)
is higher than maintaining a tap. The tap path is reliable; defer
homebrew-core submission until usage grows.
## Prerequisites in this repo
- Tag `0.4.0` on `main` (the deploy workflow produces a source archive
automatically once the tag is pushed).
- Update `README.md` with the `brew install` instructions (this can
land in the same release commit).
## Why this isn't a PR against engyon/enprot
There's nothing to merge here. The formula is the tap repo's first PR.
This document is the design note that closes issue #34.