Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#56313 closed enhancement (fixed)

Please consider removing the conflict between groff and mandoc

Reported by: teoric Owned by: grimreaper (Eitan Adler)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: janstary (Jan Starý)
Port: groff mandoc

Description (last modified by ryandesign (Ryan Schmidt))

Macports currently declares a conflict between groff and mandoc. For manpage viewing, this conflict may exist (in the sense that you can only use one program at a time for a given command), but can be avoided renaming commands. For typesetting, mandoc is evidently not an alternative. Even the current mandoc maintainer agrees it can be useful to install both groff and mandoc, see https://aur.archlinux.org/packages/mandoc/ (quote below):

Mandoc is neither a full replacement for groff nor intended as such. It is not even aiming to be a real typesetting system.

In addition to that, and to the aspect [that] mandoc does not support many important macro sets nor all of the low-level roff(7) language[], there are two more reasons why i need both installed in parallel all the time: (1) A small number of manual pages - about 0.25% in the wild - still require groff and do not work with mandoc. (2) Having both installed in parallel is required for routine output comparisons - mandoc even provides a convenience script to do such comparisons.

Besides, the mandoc build system provides support for renaming several of the installed files precisely to allow installation in parallel with other man(1) implementations (even though i believe that mandoc is a full replacement for man-db and similar packages - but conflicts are always a pain and can easily be avoided in this case).

Change History (7)

comment:1 Changed 2 years ago by raimue (Rainer Müller)

Cc: janstary added
Owner: set to grimreaper
Port: mandoc added
Status: newassigned

comment:2 Changed 2 years ago by mf2k (Frank Schima)

Port: groff added
Type: requestenhancement

Note that a "request" ticket type is only for requesting a new port.

comment:3 Changed 2 years ago by ryandesign (Ryan Schmidt)

Description: modified (diff)

comment:4 Changed 2 years ago by janstary (Jan Starý)

Yes, the mandoc build system provides ways to rename its binaries to mman etc, to not be in a name-conflict with other man viewers. See also #53902

That being said, I have explicitly removed this renaming in https://github.com/macports/macports-ports/pull/1183 and declared a conflict instead. While the coexistence is possible, I don't think there's much demand for it. The typical use case for having mandoc installed is to view manpages with it, calling the obvious man.

Indeed, mandoc is a manpage viewer, not a typesetter; it's also a neat little standalone application, as opposed to groff.

I believe there's more good in (mandoc's) man being called man than there is in the coexistence with groff. That might change if people need/want to have both - for compatibility comparison when writing manpages, possibly? Currently, groff does not even have a maintainer. That gives me the opposite impression.

Last edited 2 years ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:5 Changed 2 years ago by janstary (Jan Starý)

Hm, the actual conflict is in these files:

  • /opt/local/bin/soelim
  • /opt/local/share/man/man1/soelim.1.gz
  • /opt/local/share/man/man7/roff.7.gz

comment:7 Changed 2 years ago by neverpanic (Clemens Lang)

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.