Puffy 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.5+ 2010 Apr 2 2010 Apr 3 2014 Apr 18 2014 Dec 14 2014 July 12
Alpine Linux 1.14.5 2011 July 12 2010 July 6 2014 Dec 29 2014 Dec 29 2014 Dec 29
Void Linux 1.14.5 2010 Feb 20 2014 Sep 23 2015 Mar 14 2015 Mar 14 man-db + groff ca. 2018
Termux 1.14.5 2015 June 13 2015 June 13 2015 June 13 2015 June 13
Unleashed 1.14.5 2017 Feb 15 2017 Feb 15 2017 Feb 15 2017 Feb 15
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.5 2014 July 21 2014 July 21 Solaris man Solaris man
Fedora 1.14.5 2019 Feb 7 groff man-db man-db 2020 Feb 24
DragonFly BSD 1.14.5 2009 Oct 29 groff FreeBSD man FreeBSD man
Debian 1.14.5 2016 July 3 groff man-db man-db 2017 Jan 18
Ubuntu 1.14.4 2016 July 7
NixOS 1.14.5 2016 Sep 15
Gentoo 1.14.5 2017 Jan 28
Arch Linux 1.14.5 2010 Oct 3 2021 Jan 14
Slackware Linux 1.14.5 2014 Jan 7
openSUSE 1.14.5 2018 Nov 28
MacOS X 1.14.5 2015 Jan 13
IRIX 1.14.5 2020 June 2
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.5 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/mdocml Natanael Copa (ncopa@)
Void Linux srcpkgs/mdocml Leah Neukirchen
Termux packages/man Fredrick Fornwall (fornwall@)
Unleashed bin/mandoc Lauri Tirkkonen
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 Yuri Pankov, Garrett D'Amore
Fedora rpms/mandoc David Cantrell (dcantrell@), David Shea (dshea@)
DragonFly BSD contrib/mdocml, lib/libmandoc, usr.bin/mandoc Sascha Wildner, Franco Fichtner
Debian mdocml Michael Stapelberg (stapelberg@), Bdale Garbee (bdale@)
Ubuntu mdocml
NixOS pkgs/tools/misc/mandoc
Gentoo packages/app-text/mandoc Lars Wendler (polynomial-c@), Mike Frysinger (vapier@)
Arch Linux AUR/packages/mandoc Jakub Klinkovsk√Ĺ
Slackware Linux slackbuilds/system/mandoc Daniel Levai
openSUSE mandoc Matej Cepl (mcepl@)
MacOS X homebrew/mandoc
MacOS X macports/mandoc
IRIX Xenopatches/mandoc (work in progress) Kazuo Kuroi, Nekoware II
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:

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 both ports have long been abandoned:

Cygwin (since December 5, 2012)
mdocml (1.12.2 port)
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.

Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ingo Schwarze, $Date: 2021/01/27 01:59:59 $