# Template file for 'vala'
pkgname=vala
version=0.42.6
revision=1
build_style=gnu-configure
configure_args="--disable-graphviz"
hostmakedepends="flex libxslt pkg-config automake libtool"
makedepends="libfl-devel libglib-devel"
checkdepends="dbus libgirepository-devel"
short_desc="Compiler for the GObject type system"
maintainer="Enno Boland <gottox@voidlinux.org>"
license="LGPL-2.1-or-later"
homepage="https://wiki.gnome.org/Projects/Vala"
changelog="https://gitlab.gnome.org/GNOME/vala/raw/0.42/NEWS"
distfiles="${GNOME_SITE}/vala/${version%.*}/vala-${version}.tar.xz"
checksum=3774f46fed70f528d069beaa2de5eaeafa2851c3509856dd10030fa1f7230290
shlib_provides="libvalaccodegen.so"
patch_args="-Np1"

# for valadoc
if [ "$CROSS_BUILD" ]; then
	hostmakedepends+=" vala"
else
	make_build_args="VALAC="${XBPS_BUILDDIR}/${pkgname}-${version}/compiler/valac""
fi

pre_configure() {
	autoreconf -fi
}

post_install() {
	# remove the /usr/bin prefix from the vapigen variable
	# so the package that use it fall into our wrapper.
	# keep the binary versioned, we don't know the potential
	# fallout from using the unversioned one
	vsed -e 's|^vapigen=.*|vapigen=vapigen-0.42|g' \
		 -i ${DESTDIR}/usr/lib/pkgconfig/vapigen-0.42.pc
}

libvala_package() {
	short_desc+=" - vala shared library"
	pkg_install() {
		vmove "usr/lib/libvala-*.so.*"
	}
}

valadoc_package() {
	short_desc+=" - valadoc shared library"
	pkg_install() {
		vmove usr/bin/valadoc
		vmove "usr/bin/valadoc-*"
		vmove "usr/lib/libvaladoc-*.so.*"
		vmove usr/lib/valadoc
		vmove usr/share/valadoc
		vmove usr/share/man/man1/valadoc.1
		vmove "usr/share/man/man1/valadoc-*.1"
	}
}

valadoc-devel_package() {
	depends="valadoc-${version}_${revision}
	 vala-devel-${version}_${revision}"
	short_desc+=" - valadoc development files"
	pkg_install() {
		vmove "usr/include/valadoc-*"
		vmove "usr/lib/libvaladoc-*.so"
		vmove "usr/lib/pkgconfig/valadoc-*.pc"
		vmove "usr/share/vala/vapi/valadoc-*.deps"
		vmove "usr/share/vala/vapi/valadoc-*.vapi"
	}
}

vala-devel_package() {
	depends="libglib-devel vala-${version}_${revision}"
	short_desc+=" - vala development files"
	pkg_install() {
		vmove "usr/lib/libvala-*.so"
		vmove "usr/lib/pkgconfig/libvala*.pc"
		vmove "usr/include/vala-*"
		vmove "usr/share/vala/vapi/libvala-*.*"
		vmove usr/share/aclocal
	}
}

vala-doc_package() {
	archs=noarch
	depends="vala-${version}_${revision}"
	short_desc+=" - devhelp documentation"
	pkg_install() {
		vmove usr/share/devhelp
	}
}
