python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / libraries / libfido2 / default.nix
blob92e907024f224f955511b7a7104a2c1ae2711e6c
1 { lib
2 , stdenv
3 , fetchurl
4 , cmake
5 , pkg-config
6 , hidapi
7 , libcbor
8 , openssl
9 , udev
10 , zlib
11 , withPcsclite ? true
12 , pcsclite
15 stdenv.mkDerivation rec {
16   pname = "libfido2";
17   version = "1.12.0";
19   # releases on https://developers.yubico.com/libfido2/Releases/ are signed
20   src = fetchurl {
21     url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz";
22     sha256 = "sha256-gT1tJRFhQ9FtLpZ5FxinSCXaFrd0qNCT2W8Grhcw2cU=";
23   };
25   nativeBuildInputs = [ cmake pkg-config ];
27   buildInputs = [ libcbor zlib ]
28     ++ lib.optionals stdenv.isDarwin [ hidapi ]
29     ++ lib.optionals stdenv.isLinux [ udev ]
30     ++ lib.optionals (stdenv.isLinux && withPcsclite) [ pcsclite ];
32   propagatedBuildInputs = [ openssl ];
34   outputs = [ "out" "dev" "man" ];
36   cmakeFlags = [
37     "-DUDEV_RULES_DIR=${placeholder "out"}/etc/udev/rules.d"
38     "-DCMAKE_INSTALL_LIBDIR=lib"
39   ] ++ lib.optionals stdenv.isDarwin [
40     "-DUSE_HIDAPI=1"
41   ] ++ lib.optionals stdenv.isLinux [
42     "-DNFC_LINUX=1"
43   ] ++ lib.optionals (stdenv.isLinux && withPcsclite) [
44     "-DUSE_PCSC=1"
45   ];
47   meta = with lib; {
48     description = ''
49       Provides library functionality for FIDO 2.0, including communication with a device over USB.
50     '';
51     homepage = "https://github.com/Yubico/libfido2";
52     license = licenses.bsd2;
53     maintainers = with maintainers; [ dtzWill prusnak ];
54     platforms = platforms.unix;
55   };