# Template file for 'tinysparql'
pkgname=tinysparql
version=3.8.2
revision=1
build_style=meson
build_helper="gir qemu"
configure_args="-Ddocs=false -Dman=true -Dstemmer=disabled
 -Dsystemd_user_services=false"
hostmakedepends="gettext pkg-config glib-devel vala asciidoc dbus
 python3-gobject"
makedepends="dbus-devel libglib-devel icu-devel json-glib-devel
 libsoup3-devel libxml2-devel sqlite-devel bash-completion"
checkdepends="dbus tar python3-gobject"
short_desc="Low-footprint RDF triple store library with SPARQL 1.1 interface"
maintainer="oreo639 <oreo6391@gmail.com>"
license="GPL-2.0-or-later, LGPL-2.1-or-later"
homepage="https://gitlab.gnome.org/GNOME/tinysparql"
#changelog="https://gitlab.gnome.org/GNOME/tinysparql/-/raw/master/NEWS"
changelog="https://gitlab.gnome.org/GNOME/tinysparql/-/raw/tinysparql-3.8/NEWS"
distfiles="${GNOME_SITE}/tinysparql/${version%.*}/tinysparql-${version}.tar.xz"
checksum=bb8643386c8edc591a03205d4a0eda661dcdd2094473bffb9bbdb94e93589cb2
make_check_pre="dbus-run-session"

if [ "$CROSS_BUILD" ]; then
	configure_args+=" --cross-file=${XBPS_WRAPPERDIR}/meson/xbps_sqlite.cross"
fi

if [ "${XBPS_TARGET_WORDSIZE}" = "32" ]; then
	make_check=ci-skip # Test float comparison and time issues on 32-bit
fi

post_patch() {
	if [ "$CROSS_BUILD" ]; then
		# Tell the build system that we have internal fts5 in sqlite3
		cat > "${XBPS_WRAPPERDIR}/meson/xbps_sqlite.cross" <<-EOF
			[properties]
			sqlite3_has_fts5 = 'true'
			EOF
	fi

	# Patch out error due to y2k38 on musl
	if [ "$XBPS_TARGET_LIBC" = "musl" ] && [ "$XBPS_TARGET_WORDSIZE" = "32" ]; then
		vsed -e "s/error('Libc implementation has broken 4-digit years implementation.')/year_modifier = '%2C%y'/" -i meson.build
	fi
	# Increase timeout for github actions
	vsed -e 's/timeout: 30/timeout: 60/g' -i tests/functional-tests/meson.build
}

tinysparql-devel_package() {
	depends="libtinysparql>=${version}_${revision} libglib-devel
	 json-glib-devel libxml2-devel sqlite-devel"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove usr/share/gir-1.0
		vmove usr/share/vala
		vmove usr/lib/pkgconfig
		vmove "usr/lib/*.so"
	}
}

libtinysparql_package() {
	short_desc+=" - shared libraries"
	pkg_install() {
		vmove "usr/lib/*.so.*"
		vmove usr/lib/girepository-1.0
	}
}

tracker_package() {
	lib32mode=full
	depends="tinysparql>=${version}_${revision}"
	short_desc+=" - transitional dummy package"
	build_style=meta
}

tracker-devel_package() {
	depends="tinysparql-devel>=${version}_${revision}"
	short_desc+=" - transitional dummy package"
	build_style=meta
}

libtracker_package() {
	lib32mode=full
	depends="libtinysparql>=${version}_${revision}"
	short_desc+=" - transitional dummy package"
	build_style=meta
}

tracker3_package() {
	depends="tracker>=${version}_${revision}"
	short_desc+=" - transitional dummy package"
	build_style=meta
}

tracker3-devel_package() {
	depends="tracker-devel>=${version}_${revision}"
	short_desc+=" - transitional dummy package"
	build_style=meta
}

libtracker3_package() {
	depends="libtracker>=${version}_${revision}"
	short_desc+=" - transitional dummy package"
	build_style=meta
}
