# Maintainer: taotieren <admin@taotieren.com>

pkgbase=purc
pkgname=purc
pkgver=0.9.22
pkgrel=1
pkgdesc="The prime HVML interpreter for C/C++ Language."
arch=($CARCH)
url="https://github.com/HVML/PurC"
license=('LGPL-3.0-only')
groups=(
    hvml
    hybridos2
)
provides=(
    ${pkgname}
    csseng
    domruler
    purc-fetcher
    libcsseng.so
    libpurc-dvobj-PY.so
    libpurc-dvobj-FS.so
    libpurc-dvobj-MATH.so
    libpurc-fetcher.so
    libdomruler.so
    libpurc.so
)
conflicts=(${pkgname})
replaces=(
    domruler
    purc-fetcher
)
depends=(
    gcc-libs
    glib2
    glibc
    libgcrypt
    libsoup3
    libxml2
    ncurses
    sqlite
    openssl
    python
    zlib)
makedepends=(
    #     avahi
    #     nss-mdns
    bison
    cmake
    #     cython
    flex
    git
    ninja
    ccache
    curl
    #     gcc
    clang
    llvm
    gperf
    lua-lgi
    libjpeg-turbo
    libnotify
    libmanette
    libtasn1
    libsecret
    libseccomp
    libpsl
    libxslt
    linux-api-headers
    icu
    #     libmariadbclient
    systemd
    pkgconf
    xorgproto
)
checkdepends=(
    check
    gtest
    valgrind
)
optdepends=('python-numpy: Scientific tools for Python'
    'webkit2gtk-hvml: Web content engine for GTK (HVML)'
    'webkit2gtk: Web content engine for GTK'
    'xguipro: xGUI (the X Graphics User Interface) Pro is a modern, cross-platform, and advanced HVML renderer which is based on tailored WebKit.')
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/ver-${pkgver}.tar.gz")
sha256sums=('84669972172c244fe9d754ee5fff3a6f6eb535d3583f572e61b20f2c7a6d70e7')
options=()

build() {
    export LDFLAGS="-L/lib64"
    if test -n "$LD_LIBRARY_PATH"; then
        export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/lib64"
    else
        export LD_LIBRARY_PATH=/lib64
    fi
    cd "${srcdir}/PurC-ver-${pkgver}/"

    #     sed -i  's|0 9 13|0 9 14|g' CMakeLists.txt

    # see:https://wiki.archlinux.org/title/CMake_package_guidelines
    # gcc build
    #     cmake -DCMAKE_BUILD_TYPE=Release \
    #     cmake -DCMAKE_BUILD_TYPE=None \
    #         -DPORT=Linux \
    #         -DENABLE_CHINESE_NAMES=ON \
    #         -DCMAKE_INSTALL_PREFIX=/usr \
    #         -DCMAKE_INSTALL_LIBDIR=lib \
    #         -DCMAKE_INSTALL_LIBEXECDIR=lib \
    #         -B build \
    #         -G Ninja

    # clang build
    cmake -DCMAKE_BUILD_TYPE=None \
        -DPORT=Linux \
        -DENABLE_CHINESE_NAMES=ON \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_INSTALL_LIBDIR=lib \
        -DCMAKE_INSTALL_LIBEXECDIR=lib \
        -DCMAKE_CXX_COMPILER=clang++ \
        -DCMAKE_C_COMPILER=clang \
        -Wno-dev \
        -B build \
        -G Ninja

    ninja -C build
}

package() {
    DESTDIR="${pkgdir}" ninja -C "${srcdir}"/PurC-ver-${pkgver}/build install
}