# MOUSE ports This repository is the independently versioned source-port collection for MOUSE. Each port is a BSD make project, while shared phase and quality-control machinery lives under `ports/Mk`. Each port lives below `ports/category/name` and contains a `Makefile`, `distinfo`, and `pkg-plist`, plus optional patches and service definitions under `files`. Build-only and runtime dependencies remain distinct, so tools such as GNU make do not become installed dependencies of the software they compile. A MOUSE release pins one tested commit from this repository, while installed systems may move to later compatible ports revisions without replacing the base system. The collection is driven by BSD make (`bmake`) at every framework and recursive dependency boundary. A recipe invokes GNU make only when its upstream build requires it. Rust recipes use checksum-locked crate archives and an offline Cargo source replacement, so Cargo never becomes an undeclared fetcher during the build. Packing lists name individual payload files. A list may use `@tree path` for a large data-only directory; the framework verifies that tree in staging and expands it into concrete file ownership records in the resulting package. The shared framework uses the base system's ChimeraUtils `fetch` and `sha256` commands. TLS trust comes from MOUSE's pinned CA bundle; the ports tree does not carry private download or cryptographic implementations. Run the collection checks with: ```sh bmake check ``` On MOUSE, a port's public interface is: ```sh bmake fetch bmake checksum bmake build bmake stage bmake package bmake install bmake deinstall bmake clean ```