summaryrefslogtreecommitdiff
blob: edcf94b91186742c03033438831e3bf19cb5c7da (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
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit linux-info udev user

DESCRIPTION="Yubico Universal 2nd Factor (U2F) Host C Library"
HOMEPAGE="https://developers.yubico.com/libu2f-host/"
SRC_URI="https://developers.yubico.com/${PN}/Releases/${P}.tar.xz"

LICENSE="LGPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="kernel_linux static-libs systemd"

DEPEND="dev-libs/hidapi
	dev-libs/json-c:="
RDEPEND="${DEPEND}
	systemd? ( sys-apps/systemd[acl] )"
BDEPEND="virtual/pkgconfig"

CONFIG_CHECK="~HIDRAW"

pkg_setup() {
	# The U2F device node will be owned by group 'plugdev'
	# in non-systemd configurations
	if ! use systemd; then
		enewgroup plugdev
	fi
}

src_prepare() {
	default
	sed -e 's:TAG+="uaccess":MODE="0664", GROUP="plugdev":g' \
		70-u2f.rules > 70-u2f-udev.rules || die
}

src_install() {
	default
	if use kernel_linux; then
		if use systemd; then
			udev_dorules 70-u2f.rules
		else
			udev_newrules 70-u2f-udev.rules 70-u2f.rules
		fi
	fi
}

pkg_postinst() {
	if ! use systemd; then
		elog "Users must be a member of the 'plugdev' group"
		elog "to be able to access U2F devices"
	fi
}