# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=ada
# NOTE: The primary use of this library is for main/nodejs and community/nodejs-current.
pkgver=2.9.2
pkgrel=4
pkgdesc="WHATWG-compliant and fast URL parser written in modern C++"
url="https://ada-url.github.io/ada"
arch="all"
license="( Apache-2.0 OR MIT ) AND MPL-2.0"
depends_dev="$pkgname=$pkgver-r$pkgrel"
makedepends="
	cmake
	cxxopts-dev
	fmt-dev
	gtest-dev
	samurai
	"
checkdepends="simdjson-dev"
subpackages="$pkgname-static $pkgname-dev $pkgname-libs"
source="https://github.com/ada-url/ada/archive/v$pkgver/ada-$pkgver.tar.gz
	use-system-deps.patch
	ada.pc.in
	"

build() {
	local crossopts=
	[ "$CBUILD" != "$CHOST" ] && crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"

	local shared; for shared in OFF ON; do
		cmake -G Ninja -B build -Wno-dev \
			-DCMAKE_BUILD_TYPE=MinSizeRel \
			-DCMAKE_INSTALL_PREFIX=/usr \
			-DCMAKE_INSTALL_LIBDIR=lib \
			-DBUILD_SHARED_LIBS=$shared \
			-DBUILD_TESTING="$(want_check && echo ON || echo OFF)" \
			-DADA_BENCHMARKS=OFF \
			$crossopts
		cmake --build build
	done

	sed "s/@VERSION@/$pkgver/" "$srcdir"/ada.pc.in > build/ada.pc
}

check() {
	cd build
	ctest
}

package() {
	DESTDIR="$pkgdir" cmake --install build

	install -m644 build/src/libada.a -t "$pkgdir"/usr/lib/
	install -D -m644 build/ada.pc -t "$pkgdir"/usr/lib/pkgconfig/
}

tools() {
	pkgdesc="$pkgdesc (cli tools)"
	amove usr/bin
}

sha512sums="
bc876db537153d6b0599215ca8be8261bceca6d213fcc63af5fda13c1b32876496cb8d4e98c787f17317cf8ffd1940431551513807f1a18f9ce993fad35f5ec6  ada-2.9.2.tar.gz
9ae74614f5f628fe108fa0b157f3cdd8a049cad245bde9d7b5247c4a99b304b2dc3d93dbbc2436ebcbfc9058de8c05dd1220dedfd08fd26012b067303286646f  use-system-deps.patch
3fc43305ca84108b0a0bb72f4ebefee04accb4998ed3f19f8c0fa37a732e9e8439231cd35d6dffc09a3ccc8a4de9027c8003dc0fb0aa2cf14bf6bd730360e1f7  ada.pc.in
"
