pkgsrc/textproc/groff/Makefile
ryoon b766855432 Update to 1.22.4
Changelog:
VERSION 1.22.4
==============

Troff
-----

o The `hy' request has been extended.  Value 16 enables hyphenation before
  the last character, and value 32 enables hyphenation after the first
  character.


PDFPIC
------

o PDFPIC has been corrected so the behaviour is the same whether you use the
  PostScript or PDF drivers.  However, this means that any documents which
  were written using the old behaviour will not be rendered correctly if
  using the PDF driver with the new version.

  The change would mean that documents which relied on the previous
  behaviour are likely to have a gap underneath the image which was not
  there before.  If you see this effect there are three ways you can restore
  the previous behaviour:

  Add the line ".nr PDFPIC_NOSPACE 1" to the document before the first call
  to .PDFPIC.

  If it is just a single document which exhibits this behaviour you can run
  groff adding "-rPDFPIC_NOSPACE=1" to the command line.

  If you have many documents which rely on the previous behaviour you can
  set an environment variable "export GROFF_PDFPIC_NOSPACE=1" which will
  restore the previous behaviour for all runs.

  Note that this change has no effect if you were using .PDFPIC with the
  PostScript driver--only if you used it with the PDF driver.


Gropdf
------

o Type 1 font loading is fixed to handle newer Ghostscript versions.

o Handling of glyphs above position 255 is improved to allow many more
  glyphs to be used.

o New macros .pdftransition and .pdfpause are introduced to allow creation
  of presentation slides.  Partially backward-compatible with present.tmac,
  specifically the PAUSE, BLOCKS and BLOCKE commands.  Supports all the
  transition types introduced in PDF v1.5 (see the gropdf man page).


Miscellaneous
-------------

o A new 'configure' option --with-compatibility-wrappers controls how groff
  compatibility wrappers for vendor-provided non-GNU macro sets are
  installed (see ./configure --help).

o eqn2graph, grap2graph, and pic2graph now attempt to adapt to very old
  installed versions of the ImageMagick and GraphicsMagick programs
  "convert".  They search the output of convert's "-help" option, and use
  "-trim" if that string is found; otherwise, the old "-crop 0x0" method
  (which produces incompatible results on versions that _do_ support
  "-trim") is used.  The programs emit a warning to standard error if the
  search fails and the old method is used.

o eqn2graph no longer supports the "-unsafe" option.  It did nothing.

o groffer now supports the output of XHTML.  Use the "--xhtml" or
  "--mode=xhtml" command-line options to generate it.

o Much work has been done, and is ongoing, to make groff's man pages better
  examples for man page writers to follow.  groff_man(7) itself has been
  expanded and largely rewritten to more precisely document the macro
  package's behavior and to be more helpful and accessible to man page
  writers who may never read any other groff documentation.
2019-04-01 16:48:37 +00:00

117 lines
3.8 KiB
Makefile

# $NetBSD: Makefile,v 1.88 2019/04/01 16:48:37 ryoon Exp $
DISTNAME= groff-1.22.4
CATEGORIES= textproc
MASTER_SITES= ${MASTER_SITE_GNU:=groff/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.gnu.org/software/groff/groff.html
COMMENT= GNU roff text processing suite
LICENSE= gnu-gpl-v3
CHECK_PERMS= NO
MAKE_JOBS_SAFE= NO
OVERRIDE_DIRDEPTH= 4
DEPENDS+= urw-fonts-[0-9]*:../../fonts/urw-fonts
INSTALLATION_DIRS= share/groff/site-tmac
USE_LANGUAGES= c c++
GNU_CONFIGURE= YES
CONFIGURE_ENV+= PERLPATH=${PERL5:Q}
TEXINFO_REQD+= 4.8
USE_TOOLS+= perl sed:run awk:run gmake makeinfo
EXTRACT_USING= bsdtar
USE_FEATURES= getopt_long
CONFIGURE_ARGS+= --with-urw-fonts-dir=${PREFIX}/share/fonts/urw
INFO_FILES= YES
REPLACE_AWK+= font/devlj4/generate/special.awk
REPLACE_PERL+= contrib/*/*.pl
REPLACE_PERL+= src/roff/grog/grog.pl
REPLACE_PERL+= src/roff/grog/subs.pl
REPLACE_INTERPRETER+= sed
REPLACE.sed.old= .*/sed
REPLACE.sed.new= ${SED}
REPLACE_FILES.sed+= font/devps/generate/symbol.sed
.include "options.mk"
PLIST_SRC+= ${WRKDIR}/PLIST-local
PLIST_SRC+= PLIST
.include "../../mk/bsd.prefs.mk"
BUILD_DEFS+= PAPERSIZE
.if defined(PAPERSIZE)
CONFIGURE_ENV+= PAGE=${PAPERSIZE:Q}
.endif
post-extract:
${CP} -p ${FILESDIR}/*.c ${WRKSRC}
# Usually the mdoc.local "volume-operating-system" definition is for
# the operating system name often displayed on top of man pages. And
# "operating-system" is for the default .Os value (operating system
# and version/release) and is usually displayed at bottom of man page.
# XXX Use "pkgsrc" as default .Os value.
post-patch:
${SED} -e "s,@@VOLUME_OPERATING_SYSTEM@@,${OPSYS},g" \
-e "s,@@OPERATING_SYSTEM@@,pkgsrc,g" \
${FILESDIR}/mdoc.local > ${WRKDIR}/mdoc.local
# Groff installs its own man and ms macros as mgan and mgs if the
# configure script thinks replacing the system ones is not safe. Since
# this depends heavily on exactly what the system macros are, each
# vendor OS is likely to be different and possibly differ by version.
#
# It also installs wrappers around the system macros for a variety of
# other traditional macro packages, if those macros don't have an FSF
# copyright.
SYMLINK_FILES= chem diffmk eqn grn indxbib lookbib neqn nroff pic refer \
soelim tbl troff
SYMLINK_MANFILES= chem.1 eqn.1 grn.1 indxbib.1 lookbib.1 neqn.1 nroff.1 \
pic.1 refer.1 soelim.1 tbl.1 troff.1
INSTALLATION_DIRS= ${PKGGNUDIR}bin ${PKGGNUDIR}${PKGMANDIR}/man1
post-install:
${INSTALL_DATA} ${WRKDIR}/mdoc.local \
${DESTDIR}${PREFIX}/share/groff/site-tmac
${FIND} ${DESTDIR}${PREFIX}/lib/groff/site-tmac -type f -print | \
${SED} 's;${DESTDIR}${PREFIX}/;;g' > ${WRKDIR}/PLIST-local
${RUN}set -e; for f in an.tmac m.tmac mm.tmac mmse.tmac \
mse.tmac s.tmac; do \
for p in "" g; do \
line="share/groff/${PKGVERSION_NOREV}/tmac/$$p$$f"; \
if [ -e "${DESTDIR}${PREFIX}/$$line" ]; then \
break; \
fi; \
done; \
${ECHO} "$$line" >> ${WRKDIR}/PLIST-local; \
done
.for f in ${SYMLINK_FILES}
if [ -f ${DESTDIR}${PREFIX}/bin/g${f} ]; then \
${LN} -sf ${PREFIX}/bin/g${f} \
${DESTDIR}${PREFIX}/${PKGGNUDIR}bin/${f}; \
fi
.endfor
# fixup where necessary and symlink man pages
.for f in ${SYMLINK_MANFILES}
if [ -f ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/g${f} ]; then \
${LN} -sf ${PREFIX}/${PKGMANDIR}/man1/g${f} \
${DESTDIR}${PREFIX}/${PKGGNUDIR}${PKGMANDIR}/man1/${f}; \
elif [ -f ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/${f} ]; then \
${MV} -f ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/${f} \
${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/g${f}; \
${LN} -sf ${PREFIX}/${PKGMANDIR}/man1/g${f} \
${DESTDIR}${PREFIX}/${PKGGNUDIR}${PKGMANDIR}/man1/${f}; \
fi
.endfor
# we only want the charset.alias file, so no buildlinkery for libiconv
DEPENDS+= libiconv-[0-9]*:../../converters/libiconv
.include "../../mk/bsd.pkg.mk"