# Template file for 'dbeaver'
pkgname=dbeaver
version=26.1.0
revision=1
_version=${version//./_}
# the build downloads binaries linked to glibc
archs="x86_64 aarch64"
build_wrksrc="dbeaver"
hostmakedepends="apache-maven openjdk21"
depends="openjdk21"
short_desc="Free Universal Database Tool"
maintainer="Orphaned <orphan@voidlinux.org>"
license="Apache-2.0"
homepage="https://dbeaver.io"
changelog="https://dbeaver.io/news/"
distfiles="https://github.com/dbeaver/dbeaver/archive/${version}.tar.gz
 https://github.com/dbeaver/dbeaver-common/archive/refs/heads/release_${_version}.tar.gz>dbeaver-common-${version}.tar.gz
 https://github.com/dbeaver/dbeaver-jdbc-libsql/archive/refs/heads/release_${_version}.tar.gz>dbeaver-jdbc-libsql-${version}.tar.gz"
checksum="44bd31ac58a21b82d897e81d3bef5ef542558c460dd8f31863079be759c5f1da
 356cdf56c2768b4e22e78892d37f912466fcc0b2b5b74382d401af154ccc0ab9
 087ecdaf417948f5f1291cc77940abf8abf00c8580bf8b489480b485bc8e4a34"
nopie=true

post_extract() {
	mv ${wrksrc}/dbeaver-${version} ${wrksrc}/dbeaver
	mv ${wrksrc}/dbeaver-common-release_${_version} ${wrksrc}/dbeaver-common
	mv ${wrksrc}/dbeaver-jdbc-libsql-release_${_version} ${wrksrc}/dbeaver-jdbc-libsql
}

do_build() {
	. /etc/profile.d/jdk.sh
	mvn package -Pproduct-dbeaver-ce,product-dbeaver-eclipse-ce,appstore -T 1C -f "product/aggregate"
}

do_install() {
	vmkdir /usr/lib
	vcopy "product/community/target/products/org.jkiss.dbeaver.core.product/linux/gtk/${XBPS_TARGET_MACHINE}/dbeaver" /usr/lib/

	# Delete folders with Java Native Access .so's for different architectures
	jna_dir="${DESTDIR}/usr/lib/dbeaver/plugins/com.sun.jna_5.18.1.v20251001-0800/com/sun/jna"
	jna_arch="linux-${XBPS_TARGET_MACHINE//_/-}"
	find "$jna_dir" -depth -mindepth 1 -type d -not -name $jna_arch -exec rm -rf {} \;

	vmkdir /usr/bin
	ln -s /usr/lib/dbeaver/dbeaver ${DESTDIR}/usr/bin/dbeaver

	vinstall product/community/icons/dbeaver.png 644 usr/share/pixmaps
	vinstall product/community/icons/dbeaver.xpm 644 usr/share/pixmaps
	vinstall ${FILESDIR}/dbeaver.desktop 0644 usr/share/applications
}
