# Template file for 'virtuoso'
pkgname=virtuoso
version=7.2.10
revision=3
archs="x86_64* aarch64* ppc64le*"
build_style=gnu-configure
configure_args="--without-internal-zlib --with-readline --with-layout=debian"
hostmakedepends="automake libtool flex gperf net-tools which"
makedepends="openssl-devel libldap-devel readline-devel libxml2-devel mit-krb5-devel"
checkdepends="procps-ng unzip curl wget"
short_desc="Scalable cross-platform server of virtuoso"
maintainer="Orphaned <orphan@voidlinux.org>"
license="GPL-2.0-only"
homepage="https://vos.openlinksw.com/owiki/wiki/VOS/"
distfiles="https://github.com/openlink/virtuoso-opensource/archive/v${version}.tar.gz"
checksum=0379c60cb2ea4fed70ee3ac3f808e5cc9298e48ddcd8d0f4d8cd92711a43e7e5
# cannot execute binary file: Exec format error
nocross="https://build.voidlinux.org/builders/armv6l_builder/builds/29187/steps/shell_3/logs/stdio"

case "$XBPS_TARGET_MACHINE" in
	*-musl) makedepends+=" libexecinfo-devel"; LDFLAGS+=" -lexecinfo";;
esac

# Reduce amount of warnings spamming the log
CFLAGS="-Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable"
CFLAGS+=" -Wno-incompatible-pointer-types -Wno-maybe-uninitialized"
CFLAGS+=" -Wno-pointer-sign -Wno-pointer-compare -Wno-format-truncation"
CFLAGS+=" -Wno-format-overflow -Wno-stringop-truncation -Wno-misleading-indentation"

pre_configure() {
	NOCONFIGURE=1 autoreconf -fi
}

do_configure() {
	./configure ${configure_args} --program-transform-name='s/isql$$/isql-vt/;s/isqlw/isqlw-vt/'
}

post_install() {
	# remove conflicts with virtuoso-base
	rm ${DESTDIR}/usr/bin/isql{,w-vt}
	rm ${DESTDIR}/usr/bin/virtuoso-t
	rm ${DESTDIR}/usr/lib/libvirtuoso-t.a
	rm ${DESTDIR}/usr/lib/virtodbc.{a,so}
	rm ${DESTDIR}/usr/lib/virtodbc_r.{a,so}
	rm ${DESTDIR}/usr/lib/virtodbcu.{a,so}
	rm ${DESTDIR}/usr/lib/virtodbcu_r.{a,so}
}

virtuoso-base_package() {
	short_desc+=" (very minimal installation)"
	pkg_install() {
		cd ${wrksrc}/binsrc/virtuoso
		make DESTDIR=$PKGDESTDIR install
		cd ${wrksrc}/binsrc/driver
		make DESTDIR=$PKGDESTDIR install
		# Install some useful tools; rename to avoid conflicts with unixodbc
		for bin in isql isqlw; do
			install -Dm755 ${wrksrc}/binsrc/tests/$bin \
				${PKGDESTDIR}/usr/bin/${bin}-vt
		done
		# Remove libtool archives
		rm -f ${PKGDESTDIR}/usr/lib/*.la
	}
}
