lib/expat/ndmake.sh
$ cat ndmake.sh
#!/bin/sh -ue
NAME=expat
VERSION=2.6.2
RELEASE=1
SOURCE="https://github.com/libexpat/libexpat/releases/download/R_2_6_2/expat-${VERSION}.tar.xz"
BUILD_STYLE=hell
BUILD_OPT="-DCOND_WITH_EXAMPLES=0 -DCOND_WITH_TESTS=0 -DCOND_WITH_XMLWF=0 -DDEF_XML_CONTEXT_BYTES=1024 -DUNDEF_HAVE_ARC4RANDOM_BUF=1 -DUNDEF_HAVE_ARC4RANDOM=1"

build() {
    msg "build system: hell (with expat.pc fixup)"
    if [ -f configure.ac ] || [ -f configure.in ]; then
        has_cmd demiurge && demiurge . || msg "warning: demiurge not found"
    fi
    [ ! -f .satan ] && echo "LDFLAGS=${LDFLAGS}" > .satan
    satan gen ${BUILD_OPT} PREFIX="$PREFIX" DESTDIR="$PKG" . || die "satan gen failed"

    if has_cmd samu; then
        samu || die "samu build failed"
        if [ ! -f expat.pc ] && [ -f expat.pc.in ]; then
            msg "generating expat.pc from expat.pc.in"
            sed \
                -e "s|@prefix@|$PREFIX|g" \
                -e "s|@exec_prefix@|$PREFIX|g" \
                -e "s|@libdir@|$PREFIX/lib|g" \
                -e "s|@includedir@|$PREFIX/include|g" \
                -e "s|@PACKAGE_NAME@|expat|g" \
                -e "s|@PACKAGE_VERSION@|$VERSION|g" \
                -e "s|@LIBM@|-lm|g" \
                expat.pc.in > expat.pc || die "failed to write expat.pc"
        fi
        DESTDIR="$PKG" samu install || die "samu install failed"
    else
        die "samu not found"
    fi
}

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