# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

GITHUB_PN="DSView"
PYTHON_COMPAT=( python3_{12..15} )

inherit cmake python-r1 udev xdg

DESCRIPTION="An open source multi-function instrument"
HOMEPAGE="
	https://www.dreamsourcelab.com
	https://github.com/DreamSourceLab/DSView
"

if [[ ${PV} == "9999" ]] ; then
	inherit git-r3
	EGIT_REPO_URI="https://github.com/DreamSourceLab/${GITHUB_PN}.git"
else
	SRC_URI="https://github.com/DreamSourceLab/${GITHUB_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
	KEYWORDS="~amd64 ~x86"
	S="${WORKDIR}/${GITHUB_PN}-${PV}"
fi

LICENSE="GPL-3"
SLOT="0"

REQUIRED_USE="${PYTHON_REQUIRED_USE}"

RDEPEND="${PYTHON_DEPS}
	dev-cpp/glibmm:2
	dev-libs/boost
	dev-libs/glib
	dev-libs/libzip
	dev-qt/qtbase:6[concurrent,gui,widgets]
	dev-qt/qtsvg:6
	sci-libs/fftw:3.0
	virtual/libusb:1
"

DEPEND="
	${RDEPEND}
"

BDEPEND="
	virtual/pkgconfig
"

PATCHES=(
	# bug 887877
	"${FILESDIR}/${PN}-1.3.0-gcc13.patch"
	# bug 887913
	"${FILESDIR}/${PN}-1.3.0-fix-flags.patch"
	# Upstream commit c428bd66: fix Qt6 nativeEvent override signature.
	"${FILESDIR}/${PN}-1.3.2-qt6.patch"
	# bug 975564
	"${FILESDIR}/${PN}-1.3.2-cmake4.patch"
)

src_configure() {
	# Upstream CMakeLists tries Qt5 first and only falls back to Qt6
	# when Qt5 is absent; block the Qt5 probe so the Qt6 path runs
	# even when Qt5 happens to still be installed.
	local mycmakeargs=(
		-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
		-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Core=ON
	)

	cmake_src_configure
}

pkg_postinst() {
	udev_reload
	xdg_pkg_postinst
}

pkg_postrm() {
	udev_reload
	xdg_pkg_postrm
}