import glob from lib import cpp from lib.make import * version("2.18.3") description("a library for configuring and customizing font access") maintainer("sisungo ") source_url("https://gitlab.freedesktop.org/fontconfig/fontconfig/-/archive/2.18.3/fontconfig-2.18.3.tar.gz") builddep("shortcut/c") builddep("shortcut/meson") builddep("gettext") builddep("pkgconf") builddep("gperf") builddep("libintl-dev @target") builddep("libfreetype-dev @target") builddep("libexpat-dev @target") builddep("libpng-dev @target") def build(): cpp.meson_setup([ "--prefix=/", f"--datadir={get_prefix('libfontconfig')}/share", "--sysconfdir=/var/config", "-Dnls=enabled", "-Dtools=enabled", "-Dcache-build=disabled", "-Dxml-backend=expat", "-Ddefault-fonts-dirs=/share/fonts", "-Dcache-dir=/var/cache/fontconfig", f"-Dbaseconfig-dir={get_prefix('libfontconfig')}/share/base-config", "-Dconfig-dir=/var/config/fontconfig", ]) cpp.meson_compile() cpp.meson_install() on_build(build) def pack_lib(composer): composer.makedir("lib") for i in glob.glob("lib/*.so*"): composer.add(i) composer.makedir("share") composer.add("share/base-config") composer.add("share/fontconfig") def pack_dev(composer): composer.makedir("lib") composer.add("include") composer.add("lib/pkgconfig") composer.makedir("share") composer.add("share/gettext") composer.add("share/xml") package("libfontconfig") dep("libexpat @same-arch") dep("libfreetype @same-arch") on_pack(pack_lib) package("fontconfig") dep("libfontconfig (same)") cpp.use_auto_pack(["bin"]) package("libfontconfig-dev") dep("libfontconfig (same)") dep("libexpat-dev @same-arch") dep("libfreetype-dev @same-arch") on_pack(pack_dev)