Install this version:
emerge -a =dev-libs/libfido2-1.17.0-r1
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-libs/libfido2-1.17.0-r1
Or alternatively:
emerge --autounmask-write -a =dev-libs/libfido2-1.17.0-r1
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 1.17.0-r1 | 8 | ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 | 0/1 |
# Copyright 2022-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake udev linux-info
DESCRIPTION="Provides library functionality for FIDO 2.0"
HOMEPAGE="https://github.com/Yubico/libfido2"
SRC_URI="https://github.com/Yubico/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0/1"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="hidapi nfc smartcard static-libs test -fuzz"
REQUIRED_USE="fuzz? ( nfc )"
RESTRICT="!test? ( test )"
DEPEND="
dev-libs/libcbor:=
dev-libs/openssl:=
virtual/zlib:=
virtual/libudev:=
hidapi? ( dev-libs/hidapi )
smartcard? ( sys-apps/pcsc-lite )
"
RDEPEND="
${DEPEND}
acct-group/plugdev
"
BDEPEND="
app-text/mandoc
fuzz? ( llvm-core/clang )
"
PATCHES=(
"${FILESDIR}"/${PN}-1.12.0-cmakelists.patch
"${FILESDIR}"/${PN}-1.17.0-fuzz-export-fido_dev_is_winhello.patch
)
pkg_pretend() {
CONFIG_CHECK="
~USB_HID
~HIDRAW
"
check_extra_config
}
src_configure() {
if use fuzz; then
# -fsanitize=fuzzer (libFuzzer) is a Clang/LLVM-only sanitizer; GCC's
# -fsanitize= family doesn't support it, so build with clang.
export AR=llvm-ar
export CC=clang
export CXX=clang++
export NM=llvm-nm
export RANLIB=llvm-ranlib
fi
local mycmakeargs=(
-DBUILD_EXAMPLES=OFF
-DBUILD_STATIC_LIBS=$(usex static-libs)
-DBUILD_TESTS=$(usex test)
-DNFC_LINUX=$(usex nfc)
-DUSE_PCSC=$(usex smartcard)
-DUSE_HIDAPI=$(usex hidapi)
)
if use fuzz; then
# enable fuzzer for testing yubico/pam-u2f
mycmakeargs+=(
-DFUZZ=1 -DFUZZ_LDFLAGS="-fsanitize=fuzzer"
)
fi
cmake_src_configure
}
src_install() {
cmake_src_install
udev_newrules udev/70-u2f.rules 70-libfido2-u2f.rules
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}
Manage flags for this package:
euse -i <flag> -p dev-libs/libfido2 |
euse -E <flag> -p dev-libs/libfido2 |
euse -D <flag> -p dev-libs/libfido2
dev-libs/libcbor:= dev-libs/openssl:= virtual/zlib:= virtual/libudev:= hidapi? ( dev-libs/hidapi ) smartcard? ( sys-apps/pcsc-lite )
dev-libs/libcbor:= dev-libs/openssl:= virtual/zlib:= virtual/libudev:= hidapi? ( dev-libs/hidapi ) smartcard? ( sys-apps/pcsc-lite ) acct-group/plugdev
app-text/mandoc fuzz? ( llvm-core/clang )