lib/freetype/ndmake.sh
$ cat ndmake.sh
#!/bin/sh -ue
NAME=freetype
VERSION=2.13.3
RELEASE=1
SOURCE="https://download.savannah.gnu.org/releases/freetype/freetype-2.13.3.tar.gz"

build() {
	_ftdir="$PWD"

	msg "building freetype (without harfbuzz)..."
	muon setup \
		-Dprefix="$PREFIX" \
		-Ddefault_library=static \
		-Dharfbuzz=disabled \
		-Dbzip2=disabled \
		-Dzlib=enabled \
		build || die "muon setup failed"
	samu -C build || die "samu failed"
	DESTDIR="$PKG" muon -C build install || die "muon install failed"

	msg "fetching harfbuzz..."
	_hb_url="https://github.com/harfbuzz/harfbuzz/releases/download/12.2.0/harfbuzz-12.2.0.tar.xz"
	_hb_file="$DISTDIR/harfbuzz-12.2.0.tar.xz"
	if [ ! -f "$_hb_file" ]; then
		_download_file "$_hb_file" "$_hb_url" 0 || die "failed to fetch harfbuzz"
	fi

	msg "extracting harfbuzz..."
	cd "$SRC/.."
	tar -xJf "$_hb_file" || die "harfbuzz extraction failed"
	cd "harfbuzz-12.2.0" || die "failed to cd to harfbuzz"

	msg "building harfbuzz..."
	export PKG_CONFIG_PATH="$PKG/$PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH"
	export CPPFLAGS="${CPPFLAGS} -I$PKG/$PREFIX/include/freetype2"
	export CFLAGS="${CFLAGS} -I$PKG/$PREFIX/include/freetype2"
	export CXXFLAGS="${CXXFLAGS} -I$PKG/$PREFIX/include/freetype2"
	muon setup \
		-Dprefix="$PREFIX" \
		-Ddefault_library=static \
		-Dglib=disabled \
		-Dfreetype=enabled \
		-Dgobject=disabled \
		-Dcairo=disabled \
		-Dicu=disabled \
		-Dbenchmark=disabled \
		-Dtests=disabled \
		build || die "harfbuzz muon setup failed"
	samu -C build || die "harfbuzz samu failed"
	DESTDIR="$PKG" muon -C build install || die "harfbuzz install failed"

	msg "rebuilding freetype (with harfbuzz)..."
	cd "$_ftdir" || die "failed to cd to freetype source"
	rm -fr build || die "failed to remove build dir"
	export PKG_CONFIG_PATH="$PKG/$PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH"
	export CFLAGS="${CFLAGS} -I$PKG/$PREFIX/include/harfbuzz"
	export LDFLAGS="${LDFLAGS} -L$PKG/$PREFIX/lib"
	muon setup \
		-Dprefix="$PREFIX" \
		-Ddefault_library=static \
		-Dwrap_mode=nofallback \
		-Dharfbuzz=enabled \
		-Dbzip2=disabled \
		-Dzlib=enabled \
		build || die "freetype muon setup failed"
	samu -C build || die "freetype samu failed"
	DESTDIR="$PKG" muon -C build install || die "freetype install failed"
}

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