Apocrypha

inpulse-to-talk-3.0anders-larsson

# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

CRATES="
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
"

inherit cargo

DESCRIPTION="Push-to-Talk with libinput"
HOMEPAGE="https://gitlab.com/somini/inpulse-to-talk"
SRC_URI="${CARGO_CRATE_URIS}"
SRC_URI+=" https://gitlab.com/somini/inpulse-to-talk/-/archive/v${PV}/inpulse-to-talk-v${PV}.tar.bz2"

S="${WORKDIR}/${PN}-v${PV}"

# License set may be more restrictive as OR is not respected
# use cargo-license for a more accurate license picture
LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT GPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE="policykit scripts"

DEPEND="dev-libs/libinput
	policykit? ( sys-auth/polkit )"
RDEPEND="${DEPEND}"

# rust does not use *FLAGS from make.conf, silence portage warning
# update with proper path to binaries this crate installs, omit leading /
QA_FLAGS_IGNORED="usr/bin/${PN}"

src_prepare() {
	if use policykit; then
		eapply polkit/polkit.patch
	fi

	eapply_user
}

src_install() {
	cargo_src_install

	if use policykit; then
		insinto /usr/share/polkit-1/actions
		doins polkit/xyz.somini.inpulse-to-talk.run.policy
	fi

	if use scripts; then
		exeinto /usr/bin
		for bin in inpulse-*; do
			doexe $script
		done
	fi
}

pkg_postinst() {
	if use policykit; then
		einfo ""
		einfo "USE flag policykit enabled. Installing policykit action."
		einfo "Policykit rule file is not installed. Create rule and add it to"
		einfo "/etc/polkit-1/rules.d. Example exists on project page."
		einfo ""
	fi
}