abinfo "Setting QMake features directory ..."
export QMAKEFEATURES="$SRCDIR/src/features/"

(
    cd "$SRCDIR"/src
    QSCI_PRO="qscintilla.pro"

    abinfo "Running QMake for main QScintilla components ..."
    qmake-qt5 ${QSCI_PRO}

    abinfo "Building main QScintilla components ..."
    make

    abinfo "Installing main QScintilla components ..."
    make install \
        DESTDIR="$PKGDIR" \
        INSTALL_ROOT="$PKGDIR"
)

(
    cd "$SRCDIR"/designer

    abinfo "Running CMake for QScintilla Qt Designer plugins ..."
    qmake-qt5 \
        INCLUDEPATH+="$SRCDIR"/src \
        QMAKE_LIBDIR+="$SRCDIR"/src \
        ${QSCI_PRO}

    abinfo "Building QScintilla Qt Designer plugins ..."
    make

    abinfo "Installing QScintilla Qt Designer plugins ..."
    make install \
        DESTDIR="$PKGDIR" \
        INSTALL_ROOT="$PKGDIR"
)

(
    cd "$SRCDIR"/Python

    abinfo "Symlinking pyproject.toml => pyproject-qt5.toml ..."
    ln -sv pyproject-qt5.toml \
        pyproject.toml

    abinfo "Stashing compiler and linker flags to renamed variables to prevent recursion in Makefile ..."
    export ABCFLAGS="${CPPFLAGS} ${CFLAGS}"
    export ABCXXFLAGS="${CPPFLAGS} ${CXXFLAGS}"
    export ABLDFLAGS="${LDFLAGS}"

    abinfo "Generating build rules with sip-build ..."
    LD_LIBRARY_PATH="$SRCDIR"/src \
        sip-build \
            --no-make \
            --qmake=/usr/bin/qmake \
            --api-dir=/usr/share/qt5/qsci/api/python \
            --verbose \
            --qsci-include-dir=../src \
            --qsci-library-dir=../src/ \
            --qsci-features-dir=../src/features \
            --qmake-setting 'QMAKE_CFLAGS += "${ABCFLAGS}"' \
            --qmake-setting 'QMAKE_CXXFLAGS += "${ABCXXFLAGS}"' \
            --qmake-setting 'QMAKE_LFLAGS += "${ABLDFLAGS}"'

    abinfo "Building Python bindings for QScintilla ..."
    make \
        -C build

    abinfo "Installing Python bindings for QScintilla ..."
    make install \
        -C build \
        DESTDIR="$PKGDIR" \
        INSTALL_ROOT="$PKGDIR"
)
