summaryrefslogtreecommitdiff
blob: 2d9f4944f401f8c3b62018612a2c4ae347871c67 (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
68
69
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit toolchain-funcs udev

DESCRIPTION="CCID free software driver"
HOMEPAGE="https://ccid.apdu.fr https://github.com/LudovicRousseau/CCID"
SRC_URI="https://ccid.apdu.fr/files/${P}.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc ~x86"
IUSE="twinserial kobil-midentity +usb"

RDEPEND=">=sys-apps/pcsc-lite-1.8.3
	usb? ( virtual/libusb:1 )"
DEPEND="${RDEPEND}"
BDEPEND="kernel_linux? ( virtual/pkgconfig )"

DOCS=( README.md AUTHORS )

src_configure() {
	econf \
		LEX=: \
		$(use_enable twinserial) \
		$(use_enable usb libusb)
}

src_compile() {
	default
	use kobil-midentity && emake -C contrib/Kobil_mIDentity_switch
}

src_install() {
	default

	if use kobil-midentity; then
		dosbin contrib/Kobil_mIDentity_switch/Kobil_mIDentity_switch
		doman contrib/Kobil_mIDentity_switch/Kobil_mIDentity_switch.8
	fi

	if use kernel_linux; then
		# note: for eudev support, rules probably will always need to be
		# installed to /usr

		# ccid >=1.4.11 version changed the rules drastically in a minor
		# release to no longer use the pcscd group. Using the old ones in
		# the mean time.
		udev_newrules "${FILESDIR}"/92_pcscd_ccid-2.rules 92-pcsc-ccid.rules

		# disable Kobil_mIDentity_switch udev rule with USE=-kobil-midentity
		if ! use kobil-midentity; then
			sed \
				-e '/Kobil_mIDentity_switch/s/^/#/' \
				-i "${D}/$(get_udevdir)"/rules.d/92-pcsc-ccid.rules || die
		fi

	fi
}

pkg_postrm() {
	udev_reload
}

pkg_postinst() {
	udev_reload
}