mandoc —
UNIX manpage compiler — base system, ports and packages
Availability of the mandoc toolset
When looking for mandoc on your system,
be aware that many downstream distributions
still use the historical namemdocml for mandoc.
Overview
The following table shows which operating systems provide
mandoc, in which way, for how long,
and what they use it for.
The table is ordered according to how much these systems rely on
mandoc, and in case of ties, for how long they have been relying
on it.
The columns of the above table have the following meanings:
Base system
The date mandoc was first bundled
as part of the base system.
On these systems, no installation of mandoc
is required, you can use it out of the box.
All of these projects have helped to make
mandoc better,
by providing feedback and advice, bug reports, and patches.
Official package
The date mandoc was first officially
packaged.
To use mandoc, you do not need to build and install it manually.
If it isn't installed by default, the easiest way probably is
to install a precompiled package distributed from the official
servers of the operating system project.
In case that isn't available, you can build the package yourself,
using the ports framework or an equivalent mechanism.
Please refer to your operation system documentation for instructions
how to install packages and/or how to use the ports system.
Unofficial package
The date mandoc was first packaged
by a third party, not by the maintainers of the operating system
itself.
In the past, these third-party maintainers did decent jobs,
so it should not be a problem that these ports are unofficial.
The last few are however seriously outdated and should be updated
before use.
Default formatter
The date mandoc was first used by default
to format manual pages.
If mandoc is not the default formatter,
for some systems, the default formatter is mentioned.
Default searcher
The date mandoc was first used as the default
implementation of apropos(1).
Default viewer
The date mandoc was first used as the default
implementation of man(1).
Optional viewer
The date an option was first provided for
update-alternatives(8) to use the mandoc
implementations of man(1) and
apropos(1).
For systems using mandoc by default,
an alternative may be mentioned that is officially provided.
On many other operating systems, for example other Linux distributions,
AIX, HP-UX, IRIX, and Solaris, you can use the
pkgsrc
portable package build system, see the list of
supported platforms.
Additional information about mandoc
packaging may be available from
Repology.
Building mandoc directly from the
distribution tarball as described in the
INSTALL
file and running it has been tested on the following platforms,
but a port or package is not currently available and there is no
maintainer for these platforms:
Oracle Solaris
Sun OS 5.11.2 (last tested: version 1.14.5
on sun4u sparc by Ingo Schwarze on OpenCSW)
Sun OS 5.10 (last tested: version 1.14.5
on sun4v sparc by Ingo Schwarze on OpenCSW)
Sun OS 5.9 (last tested: version 1.14.5
on sun4u sparc by Ingo Schwarze on OpenCSW)
IBM AIX (last tested: version 1.13.4 by Sevan Janiyan)
Updating the packages for Microsoft Windows is more difficult
because newer mandoc requires the
mmap(2)
function, which is reasonable given that mmap(2) is a POSIX
function. Consequently, anybody trying to port mandoc to
Windows will have to implement mmap(2) for Windows first.
I don't know whether simple code snippets like this one will or will not work.
Before mandoc required mmap(2),
it was twice ported to Microsoft Windows, but this
port has long been abandoned:
mandoc
(1.13.1 port and pre-built binaries for Microsoft Windows provided by
Embedeo Ltd.)
Add or improve mandoc support
If you are interested in building or maintaining another port
or consider integrating mandoc
into the base system of another operating system, please
contact
us, such that we can provide help
and keep you updated regarding new releases.