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

EAPI=8

PYTHON_COMPAT=( python3_{12..14} )
DISTUTILS_USE_PEP517=setuptools
DISTUTILS_SINGLE_IMPL=1
DISTUTILS_EXT=1
PLOCALES="
af ar ast bn bg ca cs cy da de el en_CA en_GB en eo es et fa fi fo fr_CA fr fy gl
he hi hr hu id is it ja ka kn ko lt mr ms nb nb_NO nds ne nl oc pa pl pt_BR pt ro ru sco sk
sl sr sv ta te tok tr uk vi zh_CN zh_TW de_CH en_AU es_419 ga ms_MY nl_BE pt_PT sq
zh zh_Hans zh_Hant
"
inherit distutils-r1 plocale xdg
if [[ -z ${PV%%*9999} ]]; then
	inherit git-r3
	EGIT_REPO_URI="https://github.com/metabrainz/${PN}.git"
else
	MY_PV=$(ver_cut 4)
	case ${MY_PV} in
		alpha|beta)
			MY_PV=${MY_PV:0:1}
			;;
	esac
	MY_PV="release-$(ver_cut 0-3)${MY_PV}$(ver_cut 5)"
	SRC_URI="
		mirror://githubcl/metabrainz/${PN}/tar.gz/${MY_PV} -> ${P}.tar.gz
	"
	KEYWORDS="~amd64"
	RESTRICT="primaryuri"
	S="${WORKDIR}/${PN}-${MY_PV}"
fi

DESCRIPTION="Cross-platform music tagger"
HOMEPAGE="https://picard.musicbrainz.org"

LICENSE="GPL-2+"
SLOT="0"
IUSE="discid +fingerprints markdown multimedia nls"

RDEPEND="
	$(python_gen_cond_dep '
		dev-python/charset-normalizer[${PYTHON_USEDEP}]
		dev-python/fasteners[${PYTHON_USEDEP}]
		dev-python/pyjwt[${PYTHON_USEDEP}]
		dev-python/pyqt6[gui,multimedia?,network,qml,widgets,${PYTHON_USEDEP}]
		dev-python/pyyaml[${PYTHON_USEDEP}]
		media-libs/mutagen[${PYTHON_USEDEP}]
		discid? ( dev-python/discid[${PYTHON_USEDEP}] )
		markdown? ( dev-python/markdown[${PYTHON_USEDEP}] )
	')
	fingerprints? ( media-libs/chromaprint[tools] )
"
DEPEND="test? ( $(python_gen_cond_dep 'dev-python/pyqt6[testlib,${PYTHON_USEDEP}]') )"
BDEPEND="nls? ( dev-qt/qttools:6[linguist] )"
distutils_enable_tests pytest

python_prepare_all() {
	myloc() {
		rm -f po/{.,appstream,attributes,constants,countries}/${1}.po
	}
	plocale_for_each_disabled_locale myloc

	distutils-r1_python_prepare_all
}

python_compile() {
	local build_args=(
		--disable-autoupdate
	)
	use nls || install_args+=( --disable-locales )
	distutils-r1_python_compile ${build_args[@]}
}

python_install() {
	local install_args=(
		--disable-autoupdate
		--skip-build
	)
	use nls || install_args+=( --disable-locales )
	distutils-r1_python_install ${install_args[@]}
}