aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/libfido2/fix_cmakelists.patch48
-rw-r--r--ports/libfido2/portfile.cmake29
-rw-r--r--ports/libfido2/vcpkg.json16
-rw-r--r--versions/baseline.json4
-rw-r--r--versions/l-/libfido2.json9
5 files changed, 106 insertions, 0 deletions
diff --git a/ports/libfido2/fix_cmakelists.patch b/ports/libfido2/fix_cmakelists.patch
new file mode 100644
index 000000000..d5c363706
--- /dev/null
+++ b/ports/libfido2/fix_cmakelists.patch
@@ -0,0 +1,48 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1eb8726..b308597 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -161,16 +161,20 @@ if(UNIX)
+ endif()
+
+ if(MSVC)
+- if((NOT CBOR_INCLUDE_DIRS) OR (NOT CBOR_LIBRARY_DIRS) OR
+- (NOT CRYPTO_INCLUDE_DIRS) OR (NOT CRYPTO_LIBRARY_DIRS) OR
+- (NOT ZLIB_INCLUDE_DIRS) OR (NOT ZLIB_LIBRARY_DIRS))
+- message(FATAL_ERROR "please provide definitions for "
+- "{CBOR,CRYPTO,ZLIB}_{INCLUDE,LIBRARY}_DIRS when building "
+- "under msvc")
+- endif()
+- set(CBOR_LIBRARIES cbor)
+- set(ZLIB_LIBRARIES zlib)
+- set(CRYPTO_LIBRARIES crypto-46)
++ include(FindPkgConfig)
++
++ find_package(LIBCBOR REQUIRED)
++ find_package(OpenSSL REQUIRED)
++ find_package(ZLIB REQUIRED)
++
++ # Handling of different Packagenames in VCPKG
++ set(CBOR_INCLUDE_DIRS ${LIBCBOR_INCLUDE_DIR})
++ set(CRYPTO_INCLUDE_DIRS ${OPENSSL_INCLUDE_DIRS})
++ set(CBOR_LIBRARY_DIRS ${LIBCBOR_LIBRARY_DIRS})
++ set(CRYPTO_LIBRARY_DIRS ${OPENSSL_LIBRARY_DIRS})
++ set(CBOR_LIBRARIES ${LIBCBOR_LIBRARIES})
++ set(CRYPTO_LIBRARIES ${OPENSSL_LIBRARIES})
++ add_definitions("-D_CRT_SECURE_NO_WARNINGS" "-D_CRT_NONSTDC_NO_DEPRECATE")
+ set(MSVC_DISABLED_WARNINGS_LIST
+ "C4200" # nonstandard extension used: zero-sized array in
+ # struct/union;
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 11b0bb5..d820ff3 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -120,7 +120,7 @@ if(BUILD_SHARED_LIBS)
+ install(TARGETS fido2_shared
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+- RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+ endif()
+
+ install(FILES fido.h DESTINATION include)
diff --git a/ports/libfido2/portfile.cmake b/ports/libfido2/portfile.cmake
new file mode 100644
index 000000000..9cc2b4cd2
--- /dev/null
+++ b/ports/libfido2/portfile.cmake
@@ -0,0 +1,29 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO Yubico/libfido2
+ REF 1.7.0
+ SHA512 f40d394883d909e9e3ea3308b32f7ca31a882c709e11b3b143ed5734d16b0c244d4932effe06965d566776b03d152b1fc280e73cdfeeb81b65d8414042af19fe
+ HEAD_REF master
+ PATCHES
+ "fix_cmakelists.patch"
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LIBFIDO2_BUILD_STATIC)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBFIDO2_BUILD_SHARED)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_MANPAGES=OFF
+ -DBUILD_STATIC_LIBS=${LIBFIDO2_BUILD_STATIC}
+ -DBUILD_SHARED_LIBS=${LIBFIDO2_BUILD_SHARED}
+ -DBUILD_TOOLS=OFF
+ )
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
diff --git a/ports/libfido2/vcpkg.json b/ports/libfido2/vcpkg.json
new file mode 100644
index 000000000..5604af16f
--- /dev/null
+++ b/ports/libfido2/vcpkg.json
@@ -0,0 +1,16 @@
+{
+ "name": "libfido2",
+ "version": "1.7.0",
+ "description": "Provides library functionality to communicate with a FIDO device over USB, and to verify attestation and assertion signatures.",
+ "homepage": "https://developers.yubico.com/libfido2/",
+ "supports": "!uwp & (x86 | x64) & windows",
+ "dependencies": [
+ "libcbor",
+ "openssl",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ "zlib"
+ ]
+}
diff --git a/versions/baseline.json b/versions/baseline.json
index 0b1d076ae..420d19a44 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -3080,6 +3080,10 @@
"baseline": "3.3",
"port-version": 8
},
+ "libfido2": {
+ "baseline": "1.7.0",
+ "port-version": 0
+ },
"libflac": {
"baseline": "1.3.3",
"port-version": 5
diff --git a/versions/l-/libfido2.json b/versions/l-/libfido2.json
new file mode 100644
index 000000000..df4a488ab
--- /dev/null
+++ b/versions/l-/libfido2.json
@@ -0,0 +1,9 @@
+{
+ "versions": [
+ {
+ "git-tree": "170a0bcbc2f58e140205858db504ecfe7ade1a9f",
+ "version": "1.7.0",
+ "port-version": 0
+ }
+ ]
+}