Skip to content

Commit

Permalink
x11-fonts/fontconfig: Use triggers to rebuild fc-cache
Browse files Browse the repository at this point in the history
Stop forcing the overwrite of the cache at each run it is not necessary
most of the time.

Reviewed by:	tcberner
Differencial Revision:	https://reviews.freebsd.org/D34602

While here rework USES=fonts to drop @fcfontsdir which is not nessary anymore
and convert the @fontsdir into lua which make it way simpler to read
  • Loading branch information
bapt committed Mar 22, 2022
1 parent 52598b8 commit 306567b
Show file tree
Hide file tree
Showing 7 changed files with 32 additions and 67 deletions.
27 changes: 0 additions & 27 deletions Keywords/fcfontsdir.ucl

This file was deleted.

34 changes: 14 additions & 20 deletions Keywords/fontsdir.ucl
Original file line number Diff line number Diff line change
@@ -1,25 +1,19 @@
# MAINTAINER: [email protected]

actions: [dir]
post-install: <<EOD
case "%@" in
/*) fontsdir="%@" ;;
*) fontsdir="%D/%@" ;;
esac
mkfontscale ${fontsdir} 2>/dev/null || true
mkfontdir ${fontsdir} 2>/dev/null || true
post-install-lua: <<EOD
fontdir = pkg.prefixed_path("%@")
pkg.exec({"mkfontscale", fontdir})
pkg.exec({"mkfontdir", fontdir})
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
post-deinstall-lua: <<EOD
fontdir = pkg.prefixed_path("%@")
pkg.exec({"mkfontscale", fontdir})
pkg.exec({"mkfontdir", fontdir})
for _, v in pairs {"/fonts.scale", "/fonts.dir" } do
local st = pkg.stat(fontdir .. v)
if st and st.type == "reg" and st.size == 2 then
os.remove(fontdir .. v)
end
end
EOD
10 changes: 5 additions & 5 deletions Mk/Uses/fonts.mk
Original file line number Diff line number Diff line change
Expand Up @@ -41,23 +41,23 @@
_INCLUDE_USES_FONTS_MK= yes

.if empty(fonts_ARGS)
fonts_ARGS= fcfontsdir
fonts_ARGS= fontsdir
.endif

.if !empty(fonts_ARGS:Nfc:Nfontsdir:Nfcfontsdir:Nnone)
.if !empty(fonts_ARGS:Nfc:Nfontsdir:Nnone)
IGNORE= USES=fonts - invalid ARGS (${fonts_ARGS})
.endif

.if !empty(fonts_ARGS:Mfc) || !empty(fonts_ARGS:Mfcfontsdir)
.if !empty(fonts_ARGS:Mfc) || !empty(fonts_ARGS:Mfontsdir)
RUN_DEPENDS+= fc-cache:x11-fonts/fontconfig
.endif
.if !empty(fonts_ARGS:Mfontsdir) || !empty(fonts_ARGS:Mfcfontsdir)
.if !empty(fonts_ARGS:Mfontsdir)
RUN_DEPENDS+= mkfontscale:x11-fonts/mkfontscale
.endif

FONTNAME?= ${PORTNAME}
FONTSDIR?= ${PREFIX}/share/fonts/${FONTNAME}
.if !empty(fonts_ARGS:Nnone)
.if !empty(fonts_ARGS:Mfontsdir)
PLIST_FILES+= "@${fonts_ARGS} ${FONTSDIR}"
.endif
.if defined(FONTPATHSPEC) && !empty(FONTPATHSPEC)
Expand Down
2 changes: 1 addition & 1 deletion x11-fonts/font-misc-ethiopic/pkg-plist
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@fcfontsdir share/fonts/OTF
@fontsdir share/fonts/OTF
share/fonts/OTF/GohaTibebZemen.otf
share/fonts/TTF/GohaTibebZemen.ttf
@comment share/fonts/OTF/fonts.dir
Expand Down
7 changes: 3 additions & 4 deletions x11-fonts/fontconfig/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

PORTNAME= fontconfig
DISTVERSION= 2.13.94
PORTREVISION= 1
PORTREVISION= 2
PORTEPOCH= 1
CATEGORIES= x11-fonts
MASTER_SITES= https://www.freedesktop.org/software/fontconfig/release/
Expand All @@ -16,7 +16,8 @@ LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libfreetype.so:print/freetype2 \
libexpat.so:textproc/expat2

USES= cpe gperf meson pkgconfig python:3.6+,build shebangfix tar:xz
USES= cpe gperf meson pkgconfig python:3.6+,build shebangfix tar:xz \
trigger
CPE_VENDOR= fontconfig_project
USE_LDCONFIG= yes

Expand All @@ -26,8 +27,6 @@ SHEBANG_FILES= conf.d/link_confs.py \
fc-lang/fc-lang.py

TEST_TARGET= test
SUB_FILES= pkg-install
SUB_LIST= PREFIX=${PREFIX}

# Custom configuration variables
FCDEFAULTFONTS= ${PREFIX}/share/fonts
Expand Down
9 changes: 9 additions & 0 deletions x11-fonts/fontconfig/files/fontconfig.ucl.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
path: [ "%%PREFIX%%/share/fonts", %%PREFIX%%/etc/fonts/conf.d ]
trigger: {
type: lua
sandbox: false
script: <<EOS
print("Running fc-cache to build fontconfig cache...")
pkg.exec({"%%PREFIX%%/bin/fc-cache", "-s" })
EOS
}
10 changes: 0 additions & 10 deletions x11-fonts/fontconfig/files/pkg-install.in

This file was deleted.

0 comments on commit 306567b

Please sign in to comment.