lib/fontconfig/ndmake.sh
$ cat ndmake.sh
#!/bin/sh -ue
NAME=fontconfig
VERSION=2.15.0
RELEASE=1
SOURCE="https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.15.0.tar.gz"

build() {
	msg "configuring fontconfig with muon..."
	muon setup \
		-Dprefix="$PREFIX" \
		-Dsysconfdir=/etc \
		-Ddatadir=/usr/share \
		-Ddefault_library=static \
		-Ddoc=disabled \
		-Dtests=disabled \
		-Dtools=enabled \
		build || die "muon setup failed"

	msg "building fontconfig..."
	samu -C build || die "samu failed"
}

postbuild() {
	msg "installing fontconfig manually..."
	mkdir -p \
		"$PKG$PREFIX/bin" \
		"$PKG$PREFIX/include/fontconfig" \
		"$PKG$PREFIX/lib/pkgconfig" \
		"$PKG$PREFIX/share/fontconfig/conf.avail" \
		"$PKG$PREFIX/share/man/man1" \
		"$PKG$PREFIX/share/man/man3" \
		"$PKG/etc/fonts/conf.d" || die "mkdir failed"

	install -m 644 build/src/libfontconfig.a "$PKG$PREFIX/lib/" || die "failed to install libfontconfig.a"
	install -m 644 build/.muon/fontconfig.pc "$PKG$PREFIX/lib/pkgconfig/" || die "failed to install fontconfig.pc"

	for bin in fc-cache fc-cat fc-conflist fc-list fc-match fc-pattern fc-query fc-scan fc-validate; do
		[ -f "build/$bin/$bin" ] && install -m 755 "build/$bin/$bin" "$PKG$PREFIX/bin/" || true
	done

	cp fontconfig/*.h "$PKG$PREFIX/include/fontconfig/" || die "failed to install headers"
	cp conf.d/*.conf "$PKG$PREFIX/share/fontconfig/conf.avail/" || die "failed to install conf.d templates"
	[ -f build/conf.d/35-lang-normalize.conf ] && cp build/conf.d/35-lang-normalize.conf "$PKG$PREFIX/share/fontconfig/conf.avail/" || true

	[ -f build/fontconfig.3 ] && install -m 644 build/fontconfig.3 "$PKG$PREFIX/share/man/man3/" || true
	find fc-* -maxdepth 1 -name '*.1' -type f -exec install -m 644 {} "$PKG$PREFIX/share/man/man1/" \; 2>/dev/null || true

	cp build/fonts.conf "$PKG/etc/fonts/" || die "failed to install fonts.conf"
	cp fonts.dtd "$PKG/etc/fonts/" || die "failed to install fonts.dtd"

	msg "creating default config symlinks..."
	for conf in 10-hinting-slight 10-scale-bitmap-fonts 10-sub-pixel-none 10-yes-antialias \
	            11-lcdfilter-default 20-unhint-small-vera 30-metric-aliases 35-lang-normalize \
	            40-nonlatin 45-generic 45-latin 48-spacing 49-sansserif 50-user 51-local \
	            60-generic 60-latin 65-fonts-persian 65-nonlatin 69-unifont 80-delicious 90-synthetic; do
		ln -sf "$PREFIX/share/fontconfig/conf.avail/${conf}.conf" "$PKG/etc/fonts/conf.d/" || die "failed to create symlink for $conf"
	done
}

. ${0%/*}/../../libsh/libdmake.sh