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 name
mdocml 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.
| Operating system |
Version |
Base system |
Official package |
Unofficial package |
Default formatter |
Default searcher |
Default viewer |
Optional viewer |
Web viewer |
| OpenBSD |
1.14.6 |
2010 Apr 2 |
— |
— |
2010 Apr 3 |
2014 Apr 18 |
2014 Dec 14 |
— |
2014 July 12 |
| Alpine Linux
| 1.14.6 |
— |
2011 July 12 |
2010 July 6 |
2014 Dec 29 |
2014 Dec 29 |
2014 Dec 29 |
— |
— |
| Void Linux |
1.14.6 |
— |
2010 Feb 20 |
— |
2014 Sep 23 |
2015 Mar 14 |
2015 Mar 14 |
man-db + groff |
ca. 2018 |
| Termux |
1.14.6 |
— |
2015 June 13 |
— |
2015 June 13 |
2015 June 13 |
2015 June 13 |
— |
— |
| Unleashed
OS |
1.14.5 |
2017 Feb 15 |
— |
— |
2017 Feb 15 |
2017 Feb 15 |
2017 Feb 15 |
— |
— |
| Chimera Linux |
1.14.6 |
2021 Oct 30 |
— |
— |
2021 Oct 30 |
2021 Oct 30 |
2021 Oct 30 |
— |
— |
| FreeBSD |
1.14.5 |
2012 Oct 19 |
2009 Mar 25 |
— |
2014 Nov 23 |
2015 May 30 |
FreeBSD man |
— |
— |
| NetBSD |
1.14.5 |
2009 Oct 26 |
2009 Mar 1 |
— |
2012 Feb 7 |
NetBSD apropos |
4.4BSD man |
— |
— |
| illumos |
1.14.6 |
2014 July 21 |
— |
— |
2014 July 21 |
Solaris man |
Solaris man |
— |
— |
| macOS |
1.14.6 |
2022 Oct 24 |
— |
2015 Jan 13 |
2022 Oct 24 |
— |
FreeBSD man |
— |
— |
| Arch Linux |
1.14.6 |
— |
2020 Nov 26 |
2010 Oct 3 |
groff |
man-db |
man-db |
2020 Nov 26 |
2021 Jan 14 |
| openSUSE |
1.14.6 |
— |
2020 Jan 19 |
2018 Nov 28 |
groff |
man-db |
man-db |
2020 Jan 19 |
— |
| Fedora |
1.14.6 |
— |
2019 Feb 7 |
— |
groff |
man-db |
man-db |
2020 Feb 24 |
— |
| Gentoo |
1.14.6 |
— |
2017 Jan 28 |
— |
groff |
man-db |
man-db |
2020 Dec 11 |
— |
| NixOS |
1.14.6 |
— |
2016 Sep 15 |
— |
groff |
man-db |
man-db |
2021 Dec 31 |
— |
| DragonFly BSD |
1.14.6 |
2009 Oct 29 |
— |
— |
groff |
FreeBSD man |
FreeBSD man |
— |
— |
| Debian
| 1.14.6 |
— |
2016 July 3 |
— |
groff |
man-db |
man-db |
— |
2017 Jan 18 |
| Ubuntu
| 1.14.6 |
— |
2016 July 7 |
— |
— |
— |
— |
— |
— |
| Cygwin |
1.14.6 |
— |
— |
2012 Dec 5 |
— |
— |
— |
— |
— |
| Slackware Linux |
1.14.4 |
— |
— |
2014 Jan 7 |
— |
— |
— |
— |
— |
| IRIX |
1.14.5 |
— |
— |
2020 June 2 |
— |
— |
— |
— |
— |
| Adélie Linux |
1.14.6 |
— |
— |
2020 June 5 |
— |
— |
— |
— |
— |
| Guix
System |
1.14.6 |
— |
— |
2021 Mar 27 |
— |
— |
— |
— |
— |
| Crux Linux |
1.14.3 |
— |
— |
2014 June 10 |
— |
— |
— |
— |
— |
| Minix 3
| 1.12.3 |
2010 June 26 |
— |
— |
— |
— |
— |
— |
— |
| IBM AIX |
1.12.0 |
— |
— |
2011 Feb 4 |
— |
— |
— |
— |
— |
| pkgsrc |
1.14.6 |
— |
2009 Mar 1 |
— |
— |
— |
— |
— |
— |
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.
Links to packages
Maintenance information
| Operating system |
Sources |
Maintainers |
| OpenBSD |
src/usr.bin/mandoc
| Ingo Schwarze (schwarze@) |
| Alpine Linux
| aports/main/mandoc |
Natanael Copa (ncopa@),
Sören Tempel |
| Void Linux |
srcpkgs/mdocml
| Leah Neukirchen |
| Termux |
packages/man |
Fredrick Fornwall (fornwall@) |
| Unleashed
OS |
bin/mandoc |
operating system project no longer maintained |
| Chimera Linux |
main/mandoc |
Daniel Kolesa
(q66@) |
| FreeBSD |
contrib/mandoc and
usr.bin/mandoc |
Baptiste Daroussin (bapt@) |
| FreeBSD 9 port |
ports/textproc/mdocml |
Ulrich Spoerlein (uqs@) |
| NetBSD |
src/external/bsd/mdocml |
Christos Zoulas (christos@),
formerly Joerg Sonnenberger (joerg@) |
| illumos |
src/cmd/mandoc |
Robert Mustacchi, Yuri Pankov, Garrett D'Amore |
| macOS |
man;
mandoc source not available |
since macOS 13.0, likely copied from FreeBSD |
| macOS |
homebrew/mandoc and mandoc.rb |
— |
| macOS |
macports/mandoc and textproc/mandoc |
Eitan Adler (grimreaper@) |
| Arch Linux |
packages/mandoc |
Eli Schwartz, Jakub Klinkovský |
| openSUSE |
mandoc |
Matej Cepl
(mcepl@) |
| Fedora |
rpms/mandoc |
David Shea (dshea@), David Cantrell
(dcantrell@) |
| Gentoo |
packages/app-text/mandoc |
Lars Wendler (polynomial-c@), Mike Frysinger (vapier@) |
| NixOS |
mandoc and misc/mandoc |
— |
| DragonFly BSD |
contrib/mdocml and
usr.bin/mandoc |
Sascha Wildner,
Franco Fichtner |
| Debian |
mdocml |
Michael Stapelberg
(stapelberg@),
Bdale Garbee (bdale@) |
| Ubuntu |
mdocml |
Andrea Pappacoda |
| Cygwin |
mdocml (outdated) |
Christian Franke |
| Slackware Linux |
slackbuilds/system/mandoc |
Daniel Levai |
| IRIX |
Xenopatches/mandoc (work in progress) |
Kazuo Kuroi, Nekoware II |
| Adélie Linux |
system/mandoc |
Max Rees |
| Guix
System |
man.scm |
— |
| Crux Linux |
juef/mandoc |
Svyatoslav Mishyn, no longer maintained |
| Minix 3
| external/bsd/mdocml |
Lionel Sambuc, no longer maintained |
| IBM AIX |
perzl/Main/mdocml |
Michael Perzl, no longer maintained |
| pkgsrc |
textproc/mandoc |
Thomas Klausner (wiz@) |
The porting history is also available.
Other platforms
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:
- MinGW
(since October 11, 2014)
- 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.