# Template file for 'helvum'
pkgname=helvum
version=0.4.1
revision=1
_pwrs_version="0.7.2"
build_style=cargo
hostmakedepends="pkg-config clang libclang"
makedepends="gtk4-devel pipewire-devel glib-devel"
depends="pipewire"
short_desc="GTK patchbay for pipewire"
maintainer="0x5c <dev@0x5c.io>"
license="GPL-3.0-only"
homepage="https://gitlab.freedesktop.org/pipewire/helvum"
distfiles="https://gitlab.freedesktop.org/pipewire/helvum/-/archive/${version}/helvum-${version}.tar.gz
 https://gitlab.freedesktop.org/pipewire/pipewire-rs/-/archive/v${_pwrs_version}/pipewire-rs-v${_pwrs_version}.tar.gz"
checksum="510fbe472c1d9de546f298b8fb954c493e2e3ad1df80e730558972bbee1d692c
 fa1efaa854b84cdafe1526932f20be638ce28324acb0d62d9f6d1f73809f1548"
build_wrksrc="helvum-${version}"
patch_args="-Np1 -d pipewire-rs-v${_pwrs_version}"

post_patch() {
	cat <<-EOF >> "Cargo.toml"
	[patch.crates-io]
	pipewire = { path = "../pipewire-rs-v${_pwrs_version}/pipewire" }
	EOF
	cargo update --package pipewire@0.7.0 --precise 0.7.2
}

post_install() {
	# Normally, meson would do this, but it's simpler to use the cargo build style and do this manually
	# This also avoids the need for makedeps/build steps that are made unnecessary by xbps' hooks
	# On update, all meson.build files should be checked for changes
	_app_id='org.pipewire.Helvum'
	vinstall data/icons/$_app_id.svg 644 usr/share/icons/hicolor/scalable/apps/
	vinstall data/icons/$_app_id-symbolic.svg 644 usr/share/icons/hicolor/symbolic/apps/

	vsed -i data/$_app_id.desktop.in -e "s/@icon@/$_app_id/"
	vinstall data/$_app_id.desktop.in 644 usr/share/applications/ $_app_id.desktop

	vsed -i data/$_app_id.metainfo.xml.in -e "s/@app-id@/$_app_id/"
	vinstall data/$_app_id.metainfo.xml.in 644 usr/share/metainfo/ $_app_id.metainfo.xml
}
