wl/wayland/ndmake.sh
$ cat ndmake.sh
#!/bin/sh -ue
NAME=wayland
VERSION=1.25.0
RELEASE=1
SOURCE="https://gitlab.freedesktop.org/wayland/wayland/-/releases/1.25.0/downloads/wayland-1.25.0.tar.xz
    0001-cursor-privsymbols.patch"
BUILD_OPT="-Ddocumentation=false -Dtests=false -Ddtd_validation=false -Ddefault_library=static"

build() {
    msg "configuring wayland with muon..."
    export PKG_CONFIG="pkg-config --static"
    muon setup \
        -Dprefix="$PREFIX" \
        -Ddocumentation=false \
        -Dtests=false \
        -Ddtd_validation=false \
        -Ddefault_library=static \
        build || die "muon setup failed"

    msg "building wayland..."
    samu -C build || die "samu failed"

    msg "installing wayland..."
    mkdir -p "$PKG/$PREFIX/bin" "$PKG/$PREFIX/lib" "$PKG/$PREFIX/lib/pkgconfig" "$PKG/$PREFIX/include" "$PKG/$PREFIX/share/wayland"

    # install wayland-scanner binary
    install -m 755 build/src/wayland-scanner "$PKG/$PREFIX/bin/" || die "failed to install wayland-scanner"

    # install static libraries
    install -m 644 build/src/libwayland-client.a "$PKG/$PREFIX/lib/" || die "failed to install libwayland-client.a"
    install -m 644 build/src/libwayland-server.a "$PKG/$PREFIX/lib/" || die "failed to install libwayland-server.a"
    install -m 644 build/src/libwayland-private.a "$PKG/$PREFIX/lib/" || die "failed to install libwayland-private.a"
    install -m 644 build/src/libwayland-util.a "$PKG/$PREFIX/lib/" || die "failed to install libwayland-util.a"
    install -m 644 build/cursor/libwayland-cursor.a "$PKG/$PREFIX/lib/" || die "failed to install libwayland-cursor.a"
    install -m 644 build/egl/libwayland-egl.a "$PKG/$PREFIX/lib/" || die "failed to install libwayland-egl.a"

    # install pkg-config files
    install -m 644 build/.muon/wayland-client.pc "$PKG/$PREFIX/lib/pkgconfig/" || die "failed to install wayland-client.pc"
    install -m 644 build/.muon/wayland-server.pc "$PKG/$PREFIX/lib/pkgconfig/" || die "failed to install wayland-server.pc"
    install -m 644 build/.muon/wayland-cursor.pc "$PKG/$PREFIX/lib/pkgconfig/" || die "failed to install wayland-cursor.pc"
    install -m 644 build/.muon/wayland-egl.pc "$PKG/$PREFIX/lib/pkgconfig/" || die "failed to install wayland-egl.pc"
    install -m 644 build/.muon/wayland-egl-backend.pc "$PKG/$PREFIX/lib/pkgconfig/" || die "failed to install wayland-egl-backend.pc"
    install -m 644 build/.muon/wayland-scanner.pc "$PKG/$PREFIX/lib/pkgconfig/" || die "failed to install wayland-scanner.pc"

    # update .pc files to include internal libraries
    sed -i 's/-lwayland-client/-lwayland-client -lwayland-private -lwayland-util/' "$PKG/$PREFIX/lib/pkgconfig/wayland-client.pc"
    sed -i 's/-lwayland-server/-lwayland-server -lwayland-private -lwayland-util/' "$PKG/$PREFIX/lib/pkgconfig/wayland-server.pc"

    # install headers
    install -m 644 src/wayland-client-core.h "$PKG/$PREFIX/include/" || die "failed to install wayland-client-core.h"
    install -m 644 src/wayland-client.h "$PKG/$PREFIX/include/" || die "failed to install wayland-client.h"
    install -m 644 src/wayland-server-core.h "$PKG/$PREFIX/include/" || die "failed to install wayland-server-core.h"
    install -m 644 src/wayland-server.h "$PKG/$PREFIX/include/" || die "failed to install wayland-server.h"
    install -m 644 src/wayland-util.h "$PKG/$PREFIX/include/" || die "failed to install wayland-util.h"
    install -m 644 cursor/wayland-cursor.h "$PKG/$PREFIX/include/" || die "failed to install wayland-cursor.h"
    install -m 644 egl/wayland-egl.h "$PKG/$PREFIX/include/" || die "failed to install wayland-egl.h"
    install -m 644 egl/wayland-egl-core.h "$PKG/$PREFIX/include/" || die "failed to install wayland-egl-core.h"
    install -m 644 egl/wayland-egl-backend.h "$PKG/$PREFIX/include/" || die "failed to install wayland-egl-backend.h"

    # generated headers
    install -m 644 build/src/wayland-version.h "$PKG/$PREFIX/include/" || die "failed to install wayland-version.h"
    install -m 644 build/src/wayland-client-protocol.h "$PKG/$PREFIX/include/" || die "failed to install wayland-client-protocol.h"
    install -m 644 build/src/wayland-client-protocol-core.h "$PKG/$PREFIX/include/" || die "failed to install wayland-client-protocol-core.h"
    install -m 644 build/src/wayland-server-protocol.h "$PKG/$PREFIX/include/" || die "failed to install wayland-server-protocol.h"
    install -m 644 build/src/wayland-server-protocol-core.h "$PKG/$PREFIX/include/" || die "failed to install wayland-server-protocol-core.h"

    # install protocol xml
    install -m 644 protocol/wayland.xml "$PKG/$PREFIX/share/wayland/" || die "failed to install wayland.xml"
    install -m 644 protocol/wayland.dtd "$PKG/$PREFIX/share/wayland/" || die "failed to install wayland.dtd"
}

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