if ab_match_arch loongarch64; then
    abinfo "Building onnxruntime-node for loongarch64 ..."
    cd "$SRCDIR"/onnxruntime
    ./build.sh \
        --config Release \
        --parallel \
        --compile_no_warning_as_error \
        --skip_submodule_sync \
        --build_nodejs \
        --allow_running_as_root \
        --cmake_extra_defines onnxruntime_BUILD_UNIT_TESTS=OFF \
        --cmake_extra_defines FETCHCONTENT_TRY_FIND_PACKAGE_MODE=NEVER
	# Fix `Targets not yet definod: absl::random_internal_pool_urbg, absl::bad_any_cast_impl, absl::if_constexpr`
        
    # Fix a symlink problem
    cd "$SRCDIR"/onnxruntime/js/node/bin/napi-v3/linux/loong64
    rm -v libonnxruntime.so libonnxruntime.so.1
    cp -v libonnxruntime.so.1.21.0 libonnxruntime.so.1

    cd "$SRCDIR"/onnxruntime/js/node
    npm pack
fi


abinfo "Building eSearch ..."
cd "$SRCDIR"/esearch

if ab_match_arch loongarch64; then
    abinfo "Overriding Electron mirror for loongarch64 ..."
    export ELECTRON_MIRROR="https://github.com/darkyzhou/electron-loong64/releases/download/"
    export electron_use_remote_checksums=1

    export ONNXRUNTIME_NODE_INSTALL_CUDA=skip
fi

abinfo "Installing npm dependencies ..."
pnpm install

abinfo "Building eSearch ..."
pnpm run pack

abinfo "Installing built package to /usr/lib ..."
mkdir -pv "$PKGDIR"/usr/lib/esearch
cp -rv "$SRCDIR"/esearch/build/linux*-unpacked/* \
    "$PKGDIR"/usr/lib/esearch/
chmod +x "$PKGDIR"/usr/lib/esearch/resources/app/node_modules/onnxruntime-node/bin/napi-v3/linux/*/libonnxruntime.so.1 \
    "$PKGDIR"/usr/lib/esearch/resources/app/node_modules/onnxruntime-node/bin/napi-v3/linux/*/libonnxruntime.so.1.21.0

abinfo "Soft-linking main program to /usr/bin ..."
mkdir -pv "$PKGDIR"/usr/bin
ln -sv ../lib/esearch/e-search "$PKGDIR"/usr/bin/e-search
ln -sv ../lib/esearch/e-search "$PKGDIR"/usr/bin/esearch

abinfo "Installing application icon ..."
for i in 16 32 48 64 128 256 512 1024; do
    install -Dvm644 "$SRCDIR"/esearch/assets/logo/${i}x${i}.png \
        "$PKGDIR"/usr/share/icons/hicolor/${i}x${i}/apps/esearch.png
done
