Files
ports/README.md
T

1.6 KiB

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:

bmake check

On MOUSE, a port's public interface is:

bmake fetch
bmake checksum
bmake build
bmake stage
bmake package
bmake install
bmake deinstall
bmake clean