Unix Software from Plan 9
These are ports of Plan 9's UTF-8, formatted print, buffered I/O, and regular expression libraries, along with mk, a simple replacement for make.
supported systems
| Digital Unix OSF1 (Alpha), Linux (x86 and PowerPC), FreeBSD (x86), NetBSD (x86), Mac OS X (Power PC), OpenBSD (x86), SunOS (Sparc)
installation
| Links to source tgzs are below. On supported systems, extract and `make install`. The default installation target is `/usr/local`. To install elsewhere, `make PREFIX=/usr/elsewhere install`.
On unsupported systems, you will need to create `Make.YourOS-YourArch`. See the existing ones for examples. If you write one for a new system, please send it to us for inclusion in the tar files.
libutf
| Libutf is a port of Plan 9's support library for UTF-8 and Unicode.
manual: isalpharune(3), rune(3), runestrcat(3), utf(7)
download: libutf.tgz (checksums)
license: original Bell Labs MIT-like or Lucent Public License
libfmt
| Libfmt is a port of Plan 9's formatted print library. As a base it provides all the syntax of ANSI C's printf but adds the ability for client programs to install new print verbs. One such print verb (installed by default) is `%r`, which prints the system error string. Instead of `perror("foo")`, you can write `fprint(2, "foo: %r\n");`. This is especially nice when you write verbs to format the data structures used by your particular programs. Needs libutf.
manual: print(3), fmtinstall(3), quote(3), fmtstrtod(3)
download: libfmt.tgz (checksums)
License: original Bell Labs MIT-like or Lucent Public License
libbio
| Libbio is a port of Plan 9's buffered I/O library. It provides most of the same functionality as stdio or sfio, but with a simpler interface and smaller footprint. Needs libutf and libfmt.
manual: bio(3)
download: libbio.tgz (checksums)
License: Vita Nuova MIT-like or Lucent Public License
libregexp9
| Libregexp9 is a port of Plan 9's Unicode-capable regular expression library. It is small and simple and provides the traditional extended regular expressions (without modern complications like `{}` and various `\x` character classes). It supports Unicode via wide character or UTF-8 encoding. Needs libutf and libfmt.
manual: regexp9(3), regexp9(7)
download: libregexp9.tgz (checksums)
License: original Bell Labs MIT-like or Lucent Public License
mk
| Mk is a simple replacement for make. Needs libutf, libfmt, libbio, and libregexp9.
manual: mk(1)
download: mk.tgz (checksums)
License: Vita Nuova MIT-like or Lucent Public License
one with everything
| Includes mk and all the libraries.
download: mk-with-libs.tgz (checksums)
contact
| Russ Cox (rsc@swtch.com)