# yaml-language-server: $schema=/usr/share/ypkg/schema/schema.json
name       : fontconfig
version    : 2.18.3
release    : 57
source     :
    - https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/2.18.3/fontconfig-2.18.3.tar.xz : 4f7b554a38cdf78c033f666c8871f3749e14a094f65a07f630c91ed0b43d35e3
homepage   : https://www.freedesktop.org/wiki/Software/fontconfig/
license    :
    - MIT
    - HPND
summary    : Font configuration utilities
component  : desktop.library
description: |
    The Fontconfig package contains a library and support programs used for configuring and customizing font access
emul32     : true
clang      : true
optimize   :
    - lto
    - speed
builddeps  :
    - pkgconfig32(freetype2)
    - pkgconfig32(libxml-2.0)
    - pkgconfig32(uuid)
    - gperf
rundeps    :
    - 32bit : harfbuzz-32bit
    - harfbuzz
setup      : |
    %patch -p1 -i ${pkgfiles}/0003-Support-local-configs-too-for-stateless-implementati.patch
    %patch -p1 -i ${pkgfiles}/fontconfig-2.17.1-prefer-hack.patch

    %meson_configure \
        -Dbaseconfig-dir=/etc/fonts \
        -Dbitmap-conf=noinstall \
        -Dconfig-dir=/etc/fonts/conf.d \
        -Ddefault-hinting=slight \
        -Ddefault-sub-pixel-rendering=noinstall \
        -Ddoc=disabled \
        -Dxml-backend=libxml2
build      : |
    %ninja_build
install    : |
    %ninja_install
    %install_license COPYING

    if [[ ! -z "${EMUL32BUILD}" ]]; then
        # Prevent these from conflicting with the 64-bit build
        rm -rfv ${installdir}/etc \
                ${installdir}/usr/bin \
                ${installdir}/usr/include \
                ${installdir}/usr/share
        exit 0
    fi

    # Stateless
    %install_exe -d ${installdir}/usr/share/fontconfig/conf.default
    mv ${installdir}/etc/fonts/fonts.conf ${installdir}/usr/share/fontconfig/fonts.conf
    for _f in ${installdir}/etc/fonts/conf.d/*.conf; do
        ln -srvf "${installdir}"/usr/share/fontconfig/conf.{avail,default}/"${_f##*/}"
    done
    rm -vrf ${installdir}/etc/

    # This config file will serve as the entry point for all fontconfig configuration
    %install_file ${pkgfiles}/fonts.conf ${installdir}/usr/share/fontconfig/fonts.conf.link

    # Install docs manually
    %install_dir ${installdir}/usr/share/man/man1
    %install_dir ${installdir}/usr/share/man/man3
    %install_dir ${installdir}/usr/share/man/man5

    for _f in doc/*.1; do
        %install_file ${_f} ${installdir}/usr/share/man/man1
    done
    for _f in doc/*.3; do
        %install_file ${_f} ${installdir}/usr/share/man/man3
    done
    for _f in doc/*.5; do
        %install_file ${_f} ${installdir}/usr/share/man/man5
    done

    # Tmpfiles
    %install_file ${pkgfiles}/fontconfig.tmpfiles ${installdir}/%libdir%/tmpfiles.d/fontconfig.conf

    rm -vrf ${installdir}/var
check      : |
    %ninja_check
