lib/libxkbcommon/ndmake.sh
$ cat ndmake.sh
#!/bin/sh -ue
NAME=libxkbcommon
VERSION=git:4db1784
RELEASE=1
SOURCE="https://github.com/xkbcommon/libxkbcommon.git"

build() {
	msg "applying byacc compatibility patch..."
	patch -p1 < "$PORTDIR/files/byacc.patch" || die "patch failed"

	patch -p1 < "$PORTDIR/files/meson-fix.patch" || die "patch failed"

	msg "fuck gnu"
	awk '
	BEGIN { skip = 0 }
	!skip && /^%destructor[[:space:]]/ { skip = 1; next }
	skip {
		if ($0 == "%%") {
			skip = 0
			print
		}
		next
	}
	{ print }
	' src/xkbcomp/parser.y > src/xkbcomp/parser.y.tmp || die "awk failed"
	mv src/xkbcomp/parser.y.tmp src/xkbcomp/parser.y || die "failed to update parser.y"

	msg "configuring libxkbcommon with muon..."
	export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig:$PREFIX/share/pkgconfig"
	muon setup \
		-Dprefix="$PREFIX" \
		-Dbuildtype=release \
		-Ddefault_library=static \
		-Denable-tools=false \
		-Denable-x11=false \
		-Denable-docs=false \
		-Denable-wayland=false \
		-Denable-xkbregistry=false \
		-Denable-bash-completion=false \
		build || die "muon setup failed"

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

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