summaryrefslogtreecommitdiff
blob: f0208fe47002156fb918dec11cced44f3a776a21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit desktop toolchain-funcs xdg-utils

DESCRIPTION="PC/SC Architecture smartcard tools"
HOMEPAGE="https://pcsc-tools.apdu.fr/ https://github.com/LudovicRousseau/pcsc-tools"
SRC_URI="https://pcsc-tools.apdu.fr/${P}.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 x86"
IUSE="gui network-cron nls"

DEPEND=">=sys-apps/pcsc-lite-1.4.14"
RDEPEND="
	${DEPEND}
	dev-perl/pcsc-perl
	gui? ( dev-perl/Gtk3 )
"
BDEPEND="
	virtual/pkgconfig
	nls? ( sys-devel/gettext )
"

src_configure() {
	econf $(use_enable nls gettext)
}

src_compile() {
	# explicitly only build the pcsc_scan application, or the man
	# pages will be gzipped first, and then unpacked.
	emake pcsc_scan CC="$(tc-getCC)"
}

src_install() {
	einstalldocs

	# install manually, makes it much easier since the Makefile
	# requires fiddling with
	dobin ATR_analysis scriptor pcsc_scan
	doman pcsc_scan.1 scriptor.1p ATR_analysis.1p

	if use gui; then
		domenu gscriptor.desktop
		dobin gscriptor
		doman gscriptor.1p
	fi

	if use network-cron ; then
		exeinto /etc/cron.monthly
		newexe "${FILESDIR}"/smartcard.cron update-smartcard_list
	fi

	insinto /usr/share/pcsc
	doins smartcard_list.txt
}

pkg_postinst() {
	use gui && xdg_desktop_database_update
}

pkg_postrm() {
	xdg_desktop_database_update
}