One of the more important projects I work on is the ports tree for
9front, Plan 9, and 9atom. This group of mkfiles lets Plan 9 users
more easily download, install, and manage the programs on their
machines. It's based heavily on the FreeBSD ports tree, but uses mk
and is much less complicated and featureful. By default the ports
installer sets you up with the "stable" branch which is less
frequently updated on the functionality end, but it kept pretty close
to the "default" branch where development takes place. All new ports
that can be added to "stable" are.
If you want to add a port to the ports tree, it must work with the
"stable" branch unless there is a very serious reason that it has to
be developed against "default". Once you have the port ready, submit
a bug with a zip file of the files needed for the port and a README.
You can also submit a pull
request with basically the same stuff. Once submitted, the port will
be reviewed and (probably) added to the "default" branch. If no
issues are found then it will get backported to "stable".
Currently the ports tree requires hg (and by extension, python), mk,
and rc. Ports themselves have everything they need also inside the
ports tree so dependencies shouldn't be an issue.
Ports installer (install-ports.rc)
List of ports in tree