BSD-licensed Text-Processing Tools
Merge the latest version of mdocml (ISC licensed) from the ports into the FreeBSD system base, and configure it as a replacement for the GNU roff (groff) tool set (this would aditionally involve a rewrite of man). There are FreeBSD replacements for sort and diff in ports (also from a GSoC project), but they are lacking features from their GNU counterparts. I will pick up and complete these, possibly borrowing/porting from one of the other BSD projects when possible. Benchmarking the new tools and ensuring they scale appropriately when compared to their GNU counterparts is highly desired, and I would like to try to confirm the mdocml author's assertion that it should be noticeably faster than groff.
A feature-complete (including wide character support) BSD-licensed replacement for:
http://people.freebsd.org/~gordon/man.sh (broken link) man replacement
==Status Report==
| Item | Status | Notes |
|---|---|---|
| Missing –speed-large-files | INCOMPLETE | Argument is accepted, but makes no functional change |
| Missing –ignore-file-name-case | COMPLETED | |
| Missing –no-ignore-file-name-case | COMPLETED | |
| Missing –strip-trailing-cr | COMPLETED | |
| Missing –normal | COMPLETED | |
| Missing –tabsize | INCOMPLETE | |
| Missing –unidirectional-new-file | COMPLETED | |
| Missing –from-file | COMPLETED | |
| Missing –to-file | COMPLETED | |
| Missing –help | COMPLETED | |
| Missing –ignore-blank-lines | INCOMPLETE | |
| Missing –ignore-tab-expansion | INCOMPLETE | |
| Missing -v / –version | COMPLETED | |
| Eliminate warnings | COMPLETED | |
| Comment the code | INCOMPLETE | |
| Check GNU compatibility | INCOMPLETE | |
| Check POSIX conformance | COMPLETED | |
| Missing –line-format options | INCOMPLETE | regex support is available |
| Missing –group-format options | INCOMPLETE | |
| Missing –group-format |
Base version ported from OpenBSD
| Item | Status | Notes |
|---|---|---|
| Fix -c99 build warnings/errors | COMPLETE | |
| Combine diff-specific args and pipe to diff process | INCOMPLETE |
Base version ported from OpenBSD
| Item | Status | Notes |
|---|---|---|
| Replaced ksh script with sh | COMPLETED | |
| -i flag | COMPLETED | |
| -T flag | COMPLETED | |
| -a flag | COMPLETED | |
| –show-all option | INCOMPLETE | |
| –easy-only | INCOMPLETE | |
| –merge | INCOMPLETE | |
| –label | INCOMPLETE | |
| –strip-trailing-cr | INCOMPLETE | |
| –diff-program | INCOMPLETE | |
| –version | INCOMPLETE | |
| –help | INCOMPLETE |
Complemented Ulrich Spoerlein's progress: system makefiles have been modified to build mandoc instead of groff and use Gordon Tetlow's modified man.sh when WITH_MANDOC specified in /etc/make.conf .