112 lines
2.9 KiB
Bash
112 lines
2.9 KiB
Bash
pkgname=fontconfig
|
|
pkgver=2.17.1
|
|
pkgdesc="Library for configuring and customizing font access"
|
|
homepage=https://www.freedesktop.org/wiki/Software/fontconfig/
|
|
arch=(x86_64)
|
|
license=('HPND AND Unicode-DFS-2016')
|
|
depends=(
|
|
bash
|
|
expat
|
|
freetype
|
|
glibc
|
|
)
|
|
makedepends=(
|
|
gperf
|
|
meson
|
|
)
|
|
_patches=("fontconfig-2.14.0-latin-update.patch"
|
|
"fontconfig-2.17.0-skip-bubblewrap-tests.patch"
|
|
"fontconfig-2.17.0-network-test.patch"
|
|
"fontconfig-2.17.0-macro-preprocess.patch"
|
|
)
|
|
_patch_sums=("92015fbfc95fae01a0ad6f346132d215"
|
|
"e23add7395db7d284c8557329058c694"
|
|
"897596e23b6c42d4b15911dc70df4542"
|
|
"886ae03ad92de457c3f3ac6aafe1fcf6"
|
|
)
|
|
sources=("${pkgname}-${pkgver}.tar.xz"
|
|
"40-fontconfig-config.HOOK"
|
|
${_patches[@]}
|
|
)
|
|
urls=("https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/${pkgver}/${sources[0]}"
|
|
"40-fontconfig-config.HOOK"
|
|
${_patches[@]}
|
|
)
|
|
md5sums=("f68f95052c7297b98eccb7709d817f6a"
|
|
"fafd8323134280f4da770f95037c9324"
|
|
${_patch_sums[@]}
|
|
)
|
|
|
|
src_prepare() {
|
|
tar -xf ${distdir}/${sources[0]} --strip-components=1
|
|
for _patch in ${_patchs[@]}; do
|
|
patch -p1 -i ${filedir}/${_patch}
|
|
done
|
|
}
|
|
|
|
src_build() {
|
|
local addfonts=(
|
|
/usr/local/share/fonts
|
|
)
|
|
local meson_options=(
|
|
--prefix=/usr
|
|
--buildtype=release
|
|
-D bitmap-conf=noinstall
|
|
-D default-sub-pixel-rendering=noinstall
|
|
-D doc=disabled
|
|
-D doc-html=disabled
|
|
-D doc-pdf=disabled
|
|
-D doc-man=disabled
|
|
-D doc-txt=disabled
|
|
-D nls=enabled
|
|
-D tests=disabled
|
|
|
|
-D cache-build=disabled
|
|
-D cache-dir=/var/cache/fontconfig
|
|
-D default-fonts-dirs=/usr/share/fonts
|
|
-D additional-fonts-dirs=$(IFS=, ; echo "${addfonts[*]}" )
|
|
-D template-dir=/etc/fonts/conf.avail
|
|
-D fontations=disabled
|
|
-D xml-backend=expat
|
|
)
|
|
meson setup build "${meson_options[@]}"
|
|
meson compile -C build
|
|
}
|
|
|
|
src_install() {
|
|
meson install -C build --destdir "$pkgdir"
|
|
|
|
install -Dvm644 build/fonts.conf "${pkgdir}/etc/fonts/"
|
|
|
|
install -Dvm644 fc-lang/*.orth -t "${pkgdir}/usr/share/fc-lang"
|
|
|
|
install -Dvm644 doc/fontconfig-user.{txt,pdf} -t "${pkgdir}/usr/share/doc/${pkgname}-${pkgver}"
|
|
|
|
leaf_install_hook "${filedir}/${sources[1]}"
|
|
}
|
|
|
|
src_preinstall() {
|
|
echo -e "${GREEN_COLOR}Syncing fontconfig configuration to system${CLEAR_COLOR}"
|
|
if [[ -e /etc/fonts/conf.d ]] ; then
|
|
local file f
|
|
for file in ""/etc/fonts/conf.avail/* ; do
|
|
f=${file##*/}
|
|
if [[ -L /etc/fonts/conf.d/${f} ]] ; then
|
|
[[ -f ${pkgdir}/etc/fonts/conf.avail/${f} ]] \
|
|
&& ln -sf ../conf.avail/"${f}" \
|
|
"${pkgdir}"/etc/fonts/conf.d/ &>/dev/null
|
|
else
|
|
[[ -f ${pkgdir}/etc/fonts/conf.avail/${f} ]] \
|
|
&& rm "${pkgdir}"/etc/fonts/conf.d/"${f}" &>/dev/null
|
|
fi
|
|
done
|
|
fi
|
|
}
|
|
|
|
src_postinstall() {
|
|
echo -e "${GREEN_COLOR}Cleaning broken symlinks in /etc/fonts/conf.d/${CLEAR_COLOR}"
|
|
find -L /etc/fonts/conf.d/ -type l -delete
|
|
}
|
|
|
|
# vim:ft=sh syn=sh et sw=2:
|