Download raw body.
font module: add MODFONT_DOCFILES
The majority of font ports don't use the font module. One reason why
is that in a lot of cases, doing so doesn't make the makefile any
simpler.
One area where this can be easily improved is with font documentation.
It's very common for fonts to come with doc files like readmes, font
showcases, and licenses. Several dozen of our font ports install these
to /usr/local/share/doc. Since the module doesn't help with this, the
ports all define custom do-install or post-install targets.
This diff adds the variables MODFONT_DOCDIR (which defaults to
${PREFIX}/share/doc/${MODFONT_FAMILY}) and MODFONT_DOCFILES (a user-
specified list of files relative to WRKSRC).
This allows ports that use the font module and install docs to replace
their custom install targets with a single variable assignment. In this
diff I've gone ahead and eliminated most of the post-install targets in
ports using the font module. (I didn't start converting non-module fonts
yet; that will come after I've made further changes to the module.)
ok?
Index: infrastructure/mk/font.port.mk
===================================================================
RCS file: /cvs/ports/infrastructure/mk/font.port.mk,v
diff -u -p -r1.7 font.port.mk
--- infrastructure/mk/font.port.mk 15 Apr 2024 16:08:14 -0000 1.7
+++ infrastructure/mk/font.port.mk 15 Apr 2024 20:22:23 -0000
@@ -12,8 +12,10 @@ PKGNAME ?= ${MODFONT_FAMILY}-${MODFONT_V
. endif
MODFONT_DIR ?= ${PREFIX}/share/fonts/${MODFONT_FAMILY}
+MODFONT_DOCDIR ?= ${PREFIX}/share/doc/${MODFONT_FAMILY}
MODFONT_TYPES ?=
+MODFONT_DOCFILES ?=
MODFONT_do-install = ${INSTALL_DATA_DIR} ${MODFONT_DIR};
@@ -23,6 +25,11 @@ MODFONT_do-install = ${INSTALL_DATA_DIR}
MODFONT_do-install += for t in otf ttf; do ${INSTALL_DATA} ${WRKSRC}/*.$$t ${MODFONT_DIR} && break; done
.else
MODFONT_do-install += for t in ${MODFONT_TYPES}; do ${INSTALL_DATA} ${WRKSRC}/*.$$t ${MODFONT_DIR}; done
+.endif
+
+.if !empty(MODFONT_DOCFILES)
+MODFONT_do-install += ; ${INSTALL_DATA_DIR} ${MODFONT_DOCDIR}
+MODFONT_do-install += ; for t in ${MODFONT_DOCFILES}; do ${INSTALL_DATA} ${WRKSRC}/$$t ${MODFONT_DOCDIR}; done
.endif
. if !target(do-install)
Index: fonts/abyssinica/Makefile
===================================================================
RCS file: /cvs/ports/fonts/abyssinica/Makefile,v
diff -u -p -r1.14 Makefile
--- fonts/abyssinica/Makefile 15 Apr 2024 16:08:15 -0000 1.14
+++ fonts/abyssinica/Makefile 15 Apr 2024 20:22:23 -0000
@@ -19,10 +19,6 @@ SITES = https://software.sil.org/downl
NO_BUILD = Yes
NO_TEST = Yes
-DOCDIR = ${PREFIX}/share/doc/abyssinica
-
-post-install:
- ${INSTALL_DATA_DIR} ${DOCDIR}
- ${INSTALL_DATA} ${WRKDIST}/{README.txt,OFL.txt} ${DOCDIR}
+MODFONT_DOCFILES = README.txt OFL.txt
.include <bsd.port.mk>
Index: fonts/alkalami/Makefile
===================================================================
RCS file: /cvs/ports/fonts/alkalami/Makefile,v
diff -u -p -r1.10 Makefile
--- fonts/alkalami/Makefile 21 Sep 2023 15:28:01 -0000 1.10
+++ fonts/alkalami/Makefile 15 Apr 2024 20:22:23 -0000
@@ -1,5 +1,6 @@
COMMENT = Unicode font for African Arabic script
V = 2.000
+MODFONT_FAMILY = alkalami
DISTNAME = Alkalami-${V}
PKGNAME = alkalami-${V}
CATEGORIES = fonts
@@ -18,12 +19,7 @@ MODULES = font
NO_BUILD = Yes
NO_TEST = Yes
-FONTDIR = ${PREFIX}/share/fonts/alkalami
-DOCDIR = ${PREFIX}/share/doc/alkalami
-
-do-install:
- ${INSTALL_DATA_DIR} ${FONTDIR} ${DOCDIR}
- ${INSTALL_DATA} ${WRKDIST}/*.ttf ${FONTDIR}
- ${INSTALL_DATA} ${WRKDIST}/{FONTLOG.txt,README.txt} ${DOCDIR}
+MODFONT_TYPES = ttf
+MODFONT_DOCFILES = FONTLOG.txt README.txt
.include <bsd.port.mk>
Index: fonts/andika/Makefile
===================================================================
RCS file: /cvs/ports/fonts/andika/Makefile,v
diff -u -p -r1.12 Makefile
--- fonts/andika/Makefile 15 Apr 2024 16:08:15 -0000 1.12
+++ fonts/andika/Makefile 15 Apr 2024 20:22:23 -0000
@@ -18,10 +18,6 @@ MODULES += font
NO_BUILD = Yes
NO_TEST = Yes
-DOCDIR = ${PREFIX}/share/doc/andika
-
-post-install:
- ${INSTALL_DATA_DIR} ${DOCDIR}
- ${INSTALL_DATA} ${WRKDIST}/*.txt ${DOCDIR}
+MODFONT_DOCFILES = *.txt
.include <bsd.port.mk>
Index: fonts/atkinson-hyperlegible/Makefile
===================================================================
RCS file: /cvs/ports/fonts/atkinson-hyperlegible/Makefile,v
diff -u -p -r1.5 Makefile
--- fonts/atkinson-hyperlegible/Makefile 15 Apr 2024 16:08:15 -0000 1.5
+++ fonts/atkinson-hyperlegible/Makefile 15 Apr 2024 20:22:24 -0000
@@ -25,11 +25,10 @@ NO_BUILD = Yes
NO_TEST = Yes
WRKSRC = ${WRKDIST}/Print\ Fonts
-DOCDIR = ${PREFIX}/share/doc/${MODFONT_FAMILY}
post-install:
- ${INSTALL_DATA_DIR} ${DOCDIR}
+ ${INSTALL_DATA_DIR} ${MODFONT_DOCDIR}
${INSTALL_DATA} ${FULLDISTDIR}/${DISTFILES.doc} \
- ${DOCDIR}/Atkinson-Hyperlegible-Font-License.pdf
+ ${MODFONT_DOCDIR}/Atkinson-Hyperlegible-Font-License.pdf
.include <bsd.port.mk>
Index: fonts/charis/Makefile
===================================================================
RCS file: /cvs/ports/fonts/charis/Makefile,v
diff -u -p -r1.11 Makefile
--- fonts/charis/Makefile 15 Apr 2024 16:08:15 -0000 1.11
+++ fonts/charis/Makefile 15 Apr 2024 20:22:24 -0000
@@ -19,10 +19,6 @@ MODULES = font
NO_BUILD = Yes
NO_TEST = Yes
-DOCDIR = ${PREFIX}/share/doc/charis
-
-post-install:
- ${INSTALL_DATA_DIR} ${DOCDIR}
- ${INSTALL_DATA} ${WRKDIST}/*.txt ${DOCDIR}
+MODFONT_DOCFILES = *.txt
.include <bsd.port.mk>
Index: fonts/clearsans/Makefile
===================================================================
RCS file: /cvs/ports/fonts/clearsans/Makefile,v
diff -u -p -r1.7 Makefile
--- fonts/clearsans/Makefile 15 Apr 2024 16:08:16 -0000 1.7
+++ fonts/clearsans/Makefile 15 Apr 2024 20:22:24 -0000
@@ -20,10 +20,7 @@ NO_TEST = Yes
WRKDIST = ${WRKDIR}
WRKSRC = ${WRKDIST}/TTF
-DOCDIR = ${PREFIX}/share/doc/clearsans
-post-install:
- ${INSTALL_DATA_DIR} ${DOCDIR}
- ${INSTALL_DATA} ${WRKDIST}/*.txt ${DOCDIR}
+MODFONT_DOCFILES = ../*.txt
.include <bsd.port.mk>
Index: fonts/doulos/Makefile
===================================================================
RCS file: /cvs/ports/fonts/doulos/Makefile,v
diff -u -p -r1.12 Makefile
--- fonts/doulos/Makefile 15 Apr 2024 16:08:16 -0000 1.12
+++ fonts/doulos/Makefile 15 Apr 2024 20:22:24 -0000
@@ -20,10 +20,7 @@ NO_BUILD = Yes
NO_TEST = Yes
WRKDIST = ${WRKDIR}/${DISTNAME}
-DOCDIR = ${PREFIX}/share/doc/doulos
-post-install:
- ${INSTALL_DATA_DIR} ${DOCDIR}
- ${INSTALL_DATA} ${WRKDIST}/*.txt ${DOCDIR}
+MODFONT_DOCFILES = *.txt
.include <bsd.port.mk>
Index: fonts/gentium/Makefile
===================================================================
RCS file: /cvs/ports/fonts/gentium/Makefile,v
diff -u -p -r1.12 Makefile
--- fonts/gentium/Makefile 15 Apr 2024 16:08:16 -0000 1.12
+++ fonts/gentium/Makefile 15 Apr 2024 20:22:24 -0000
@@ -19,10 +19,7 @@ NO_BUILD = Yes
NO_TEST = Yes
WRKDIST = ${WRKDIR}/${DISTNAME}
-DOCDIR = ${PREFIX}/share/doc/gentium
-post-install:
- ${INSTALL_DATA_DIR} ${DOCDIR}
- ${INSTALL_DATA} ${WRKDIST}/*.txt ${DOCDIR}
+MODFONT_DOCFILES = *.txt
.include <bsd.port.mk>
Index: fonts/ibm-plex/Makefile
===================================================================
RCS file: /cvs/ports/fonts/ibm-plex/Makefile,v
diff -u -p -r1.20 Makefile
--- fonts/ibm-plex/Makefile 13 Apr 2024 14:15:44 -0000 1.20
+++ fonts/ibm-plex/Makefile 15 Apr 2024 20:22:24 -0000
@@ -1,5 +1,7 @@
COMMENT = IBM's corporate type family
+MODFONT_FAMILY = ibm-plex
+
CATEGORIES = fonts
V = 6.4.0
PKGNAME = ibm-plex-$V
@@ -22,7 +24,6 @@ NO_BUILD = Yes
NO_TEST = Yes
FONTDIR = ${PREFIX}/share/fonts/ibm-plex
-DOCDIR = ${PREFIX}/share/doc/ibm-plex
do-install:
${INSTALL_DATA_DIR} ${FONTDIR}
@@ -32,9 +33,7 @@ do-install:
# this package use hinted font following Noto fonts.
${INSTALL_DATA} ${WRKDIST}/OpenType/IBM-Plex-Sans-JP/hinted/*.otf ${FONTDIR}
${INSTALL_DATA} ${WRKDIST}/TrueType/IBM-Plex-Sans-JP/hinted/*.ttf ${FONTDIR}
-
-post-install:
- ${INSTALL_DATA_DIR} ${DOCDIR}
- ${INSTALL_DATA} ${WRKDIST}/OpenType/IBM-Plex-Sans/license.txt ${DOCDIR}
+ ${INSTALL_DATA_DIR} ${MODFONT_DOCDIR}
+ ${INSTALL_DATA} ${WRKDIST}/OpenType/IBM-Plex-Sans/license.txt ${MODFONT_DOCDIR}
.include <bsd.port.mk>
Index: fonts/sunscreen/Makefile
===================================================================
RCS file: /cvs/ports/fonts/sunscreen/Makefile,v
diff -u -p -r1.6 Makefile
--- fonts/sunscreen/Makefile 15 Apr 2024 16:08:18 -0000 1.6
+++ fonts/sunscreen/Makefile 15 Apr 2024 20:22:24 -0000
@@ -20,10 +20,7 @@ NO_BUILD = Yes
NO_TEST = Yes
WRKDIST = ${WRKDIR}/${DISTNAME}
-DOCDIR = ${PREFIX}/share/doc/sunscreen
-post-install:
- ${INSTALL_DATA_DIR} ${DOCDIR}
- ${INSTALL_DATA} ${WRKDIST}/*.txt ${DOCDIR}
+MODFONT_DOCFILES = *.txt
.include <bsd.port.mk>
font module: add MODFONT_DOCFILES