at 23.11-beta 59 lines 1.5 kB view raw
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 13}: 14 15stdenv.mkDerivation rec { 16 pname = "libfido2"; 17 version = "1.13.0"; 18 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-UdQ3J+KhxFRMf9DuR3hvRD458TiK2nNaUJrUrwokWco="; 23 }; 24 25 nativeBuildInputs = [ cmake pkg-config ]; 26 27 buildInputs = [ libcbor zlib ] 28 ++ lib.optionals stdenv.isDarwin [ hidapi ] 29 ++ lib.optionals stdenv.isLinux [ udev ] 30 ++ lib.optionals (stdenv.isLinux && withPcsclite) [ pcsclite ]; 31 32 propagatedBuildInputs = [ openssl ]; 33 34 outputs = [ "out" "dev" "man" ]; 35 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 ]; 46 47 # causes possible redefinition of _FORTIFY_SOURCE? 48 hardeningDisable = [ "fortify3" ]; 49 50 meta = with lib; { 51 description = '' 52 Provides library functionality for FIDO 2.0, including communication with a device over USB. 53 ''; 54 homepage = "https://github.com/Yubico/libfido2"; 55 license = licenses.bsd2; 56 maintainers = with maintainers; [ dtzWill prusnak ]; 57 platforms = platforms.unix; 58 }; 59}