Hello Anthony, Anthony J. Bentley wrote on Tue, May 20, 2025 at 06:04:01AM -0600:
> devel/srecord sets USE_GROFF=Yes. The build uses groff(1) in three ways: > > 1. Runs soelim(1) on the manpages, then installs them to man1/3/5. > 2. Runs groff -Tascii on the manpages, then installs them to cat1/3/5. > 3. Runs groff -Tps on additional documentation, then installs to share/doc. > > None of these really need USE_GROFF. In particular, the manpages > installed in step 1 format fine with mandoc(1); I diffed the output > and found nothing problematic. Some of the section 5 manuals use .br requests inside tbl(7) code, which mandoc(1) does not support. But that only results in ugly formatting (excessively wide tables), not in unreadable output. Besides, several of the manuals use the .lf request which mandoc(1) intentionally does not support - but that does not result in incorrect output at all, only in error messages. So i agree mandoc(1) is good enough for these manuals. The "additional documentation" from step 3 actually conists of more manual pages, specifically these source files: etc/BUILDING.man etc/README.man etc/change_log.man etc/reference.man These documents are all written in the man(7) language, so installing them as PDF does not really make any sense to me. * BUILDING.man "How to build SRecord" Installing that one at all makes little sense to me. When users install a package, they no longer need to build. If you want install it anyway, it should probably be /usr/local/man/man1/srecord_BUILDING.1 or something like that. * README.man "SRecord - manipulate EPROM load files" That file is a horrible mess. It contains - A marketing blurb of dubious value - A list of supported file formats, potentially useful? But such a list also seems to appear in srec_input(1). - An (incomplete?) list of srec_* section 1 utility programs - A list of input filters, potentially useful? But such a list also seems to appear in srec_input(1). - Download and build instructions, likely not useful. - Copyright, license, and authors information - Old release notes (misplaced in a manual page) Maybe this should be dropped outright? If it is somehow useful, it should maybe have a name similar to /usr/local/man/man7/srecord.7 to indicate that it contains disorganized miscellaneous content. * change_log.man This looks like a copy of the last part of README.man. Likely not needed at all, in particular not two copies of it. * reference.man "SRecord Reference Manual" Looks like a concatenation of README.man, BUILDING.man, and various other manual pages that are also installed separately, maybe all of them. Hard to say whether there is anything in there that is *not* duplicate. I think this really needs attention from somebody who is actively using this software. Someone needs to figure out which parts are useful documentation and what is merely duplication, and then install every useful part *once* with a useful name. If nobody cares about making the documentation for this port useful, i'm OK with your general direction, but i think you should install the four PDF files in man(7) format even in that case and not produce any PDFs. If even that feels like too much work for you, i'm also OK with your diff as-is. It builds, packages, installs, and deinstalls cleanly for me on amd64. I did not try running the program. Yours, Ingo > So we can replace USE_GROFF with a build dependency on groff. > > This means the items in step 2 are useless. But we don't have to remove > them, since update-plist apparently ignores them anyway. > > ok? > > --- devel/srecord/Makefile > +++ devel/srecord/Makefile > @@ -3,7 +3,7 @@ BROKEN-arm= SIGBUS in ps2pdf > COMMENT= collection of tools for manipulating EPROM load files > > DISTNAME= srecord-1.64 > -REVISION = 4 > +REVISION = 5 > CATEGORIES= devel > > SHARED_LIBS += srecord 0.0 # 0.0 > @@ -20,11 +20,10 @@ WANTLIB += c gcrypt gpg-error iconv intl m ${COMPILER_ > COMPILER = base-clang ports-gcc base-gcc > > BUILD_DEPENDS= devel/boost \ > - print/ghostscript/gnu > + print/ghostscript/gnu \ > + textproc/groff > LIB_DEPENDS= security/libgcrypt > > -USE_GROFF= Yes > - > CONFIGURE_STYLE= gnu > CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ > LDFLAGS="-L${LOCALBASE}/lib" > blob - 0bdbd343667948b4e8a7a889d374485559647938 > blob + 494e5249ac7fb96aae86ba8ec4269d9fd8e4699f > --- devel/srecord/pkg/PLIST > +++ devel/srecord/pkg/PLIST > @@ -153,7 +153,7 @@ include/srecord/quit/prefix.h > include/srecord/record.h > include/srecord/srecord.h > include/srecord/string.h > -lib/libsrecord.a > +@static-lib lib/libsrecord.a > lib/libsrecord.la > @lib lib/libsrecord.so.${LIBsrecord_VERSION} > lib/pkgconfig/srecord.pc