svn commit: r396872 - in head: Keywords Mk/Uses
Hiroki Sato
hrs at FreeBSD.org
Sun Sep 13 23:30:23 UTC 2015
Author: hrs
Date: Sun Sep 13 23:30:21 2015
New Revision: 396872
URL: https://svnweb.freebsd.org/changeset/ports/396872
Log:
Add "fc", "fcfontsdir", "fontsdir", and "none" arguments to USES=fonts.
They controls whether fc-cache and/or mkfontdir run in
post-{,de}install targets.
japanese/font-* use manually generates fonts.dir entries to utilize
special modifiers which are useful for CJK fonts. Because mkfontdir
does not understand and silently remove them from fonts.dir,
options like fonts:fc or fonts:none is required.
Approved by: portmgr (bapt)
Added:
head/Keywords/fc.ucl (contents, props changed)
head/Keywords/fontsdir.ucl (contents, props changed)
Modified:
head/Mk/Uses/fonts.mk
Added: head/Keywords/fc.ucl
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/Keywords/fc.ucl Sun Sep 13 23:30:21 2015 (r396872)
@@ -0,0 +1,19 @@
+# $FreeBSD$
+#
+# MAINTAINER: x11 at FreeBSD.org
+
+actions: [dir]
+post-install: <<EOD
+ case "%@" in
+ /*) fontsdir="%@" ;;
+ *) fontsdir="%D/%@" ;;
+ esac
+ fc-cache -fs ${fontsdir} 2>/dev/null || true
+EOD
+post-deinstall: <<EOD
+ case "%@" in
+ /*) fontsdir="%@" ;;
+ *) fontsdir="%D/%@" ;;
+ esac
+ fc-cache -fs ${fontsdir} 2>/dev/null || true
+EOD
Added: head/Keywords/fontsdir.ucl
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/Keywords/fontsdir.ucl Sun Sep 13 23:30:21 2015 (r396872)
@@ -0,0 +1,27 @@
+# $FreeBSD$
+#
+# MAINTAINER: x11 at FreeBSD.org
+
+actions: [dir]
+post-install: <<EOD
+ case "%@" in
+ /*) fontsdir="%@" ;;
+ *) fontsdir="%D/%@" ;;
+ esac
+ mkfontscale ${fontsdir} 2>/dev/null || true
+ mkfontdir ${fontsdir} 2>/dev/null || true
+EOD
+post-deinstall: <<EOD
+ case "%@" in
+ /*) fontsdir="%@" ;;
+ *) fontsdir="%D/%@" ;;
+ esac
+ mkfontscale ${fontsdir} 2>/dev/null || true
+ if [ -e ${fontsdir}/fonts.scale -a "`stat -f '%%z' ${fontsdir}/fonts.scale 2>/dev/null`" = '2' ]; then
+ rm ${fontsdir}/fonts.scale
+ fi
+ mkfontdir ${fontsdir} 2>/dev/null || true
+ if [ -e ${fontsdir}/fonts.dir -a "`stat -f '%%z' ${fontsdir}/fonts.dir 2>/dev/null`" = '2' ]; then
+ rm ${fontsdir}/fonts.dir
+ fi
+EOD
Modified: head/Mk/Uses/fonts.mk
==============================================================================
--- head/Mk/Uses/fonts.mk Sun Sep 13 22:16:09 2015 (r396871)
+++ head/Mk/Uses/fonts.mk Sun Sep 13 23:30:21 2015 (r396872)
@@ -3,21 +3,37 @@
# handle fonts
# Feature: fonts
# Usage: USES=fonts
+# Valid ARGS: fc, fontsdir, fcfontsdir, none (empty means fcfontsdir)
+
+# fc Add @fc ${FONTSDIR} to PLIST_FILES
+# fontsdir Add @fontsdir ${FONTSDIR} to PLIST_FILES
+# fcfontsdir Add @fcfontsdir ${FONTSDIR} to PLIST_FILES
+# none No special handling of ${FONTSDIR} in PLIST_FILES
.if !defined(_INCLUDE_USES_FONTS_MK)
_INCLUDE_USES_FONTS_MK= yes
-.if !empty(fonts_ARGS)
-IGNORE= USES=fonts - expecting no arguments
+.if empty(fonts_ARGS)
+fonts_ARGS= fcfontsdir
+.endif
+
+.if !empty(fonts_ARGS:Nfc:Nfontsdir:Nfcfontsdir:Nnone)
+IGNORE= USES=fonts - invalid ARGS (${fonts_ARGS)
.endif
-RUN_DEPENDS+= fc-cache:${PORTSDIR}/x11-fonts/fontconfig \
- mkfontdir:${PORTSDIR}/x11-fonts/mkfontdir \
+.if !empty(fonts_ARGS:Mfc) || !empty(fonts_ARGS:Mfcfontsdir)
+RUN_DEPENDS+= fc-cache:${PORTSDIR}/x11-fonts/fontconfig
+.endif
+.if !empty(fonts_ARGS:Mfontsdir) || !empty(fonts_ARGS:Mfcfontsdir)
+RUN_DEPENDS+= mkfontdir:${PORTSDIR}/x11-fonts/mkfontdir \
mkfontscale:${PORTSDIR}/x11-fonts/mkfontscale
+.endif
FONTNAME?= ${PORTNAME}
FONTSDIR?= ${PREFIX}/share/fonts/${FONTNAME}
-PLIST_FILES+= "@fcfontsdir ${FONTSDIR}"
+.if !empty(fonts_ARGS:Nnone)
+PLIST_FILES+= "@${fonts_ARGS} ${FONTSDIR}"
+.endif
SUB_LIST+= FONTSDIR="${FONTSDIR}"
PLIST_SUB+= FONTSDIR="${FONTSDIR}"
.endif
More information about the svn-ports-all
mailing list