<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/30fe73d349b62d0f257adfc893feb56bd10e9685">https://github.com/macports/macports-ports/commit/30fe73d349b62d0f257adfc893feb56bd10e9685</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 30fe73d349b62d0f257adfc893feb56bd10e9685
</span>Author: Sergey Fedorov <vital.had@gmail.com>
AuthorDate: Mon Sep 5 22:44:52 2022 +0700
<span style='display:block; white-space:pre;color:#404040;'> libfido2: update to 1.11.0, fix build with gcc and on older OS
</span>---
security/libfido2/Portfile | 31 +++++++++++----
security/libfido2/files/patch-apple-gcc.diff | 18 +++++++++
security/libfido2/files/patch-hid_osx.diff | 58 ++++++++++++++++++++++++++++
3 files changed, 99 insertions(+), 8 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/security/libfido2/Portfile b/security/libfido2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f9e7cf1cb02..27efdb6eace 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/security/libfido2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/security/libfido2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,29 +3,44 @@
</span> PortSystem 1.0
PortGroup github 1.0
PortGroup cmake 1.1
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup openssl 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup compiler_blacklist_versions 1.0
</span> PortGroup legacysupport 1.1
# clock_gettime
legacysupport.newest_darwin_requires_legacy 15
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup Yubico libfido2 1.9.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup Yubico libfido2 1.11.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span>
categories security crypto
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms darwin
</span> maintainers {@trodemaster netjibbing.com:blake} \
openmaintainer
license bsd
description library to communicate with a FIDO device over USB
long_description provides library functionality and command-line tools to communicate with a FIDO device over USB, and to verify attestation and assertion signatures.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums rmd160 e7972f1092cfcb1cb07dcdc5e0d28d6d4685e978 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 efab43a401a062d6c99ed1b5c6e528589738efcc08aaccdf921d1186640333f1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 576018
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 bc429cafebbe4bd9b6a66a60f892ffec2f14cb0d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 9ccbdb245d92830d0024d58e2f3dc50599e57a90e860fbff5a90f023896271c2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 624195
</span>
depends_build-append \
port:mandoc \
port:pkgconfig
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append port:libcbor \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- path:lib/libssl.dylib:openssl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append port:libcbor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.major} < 16} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-hid_osx.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[string match *gcc* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-apple-gcc.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# cc1: error: unrecognized command line option "-Wno-unused-result"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# cc1: error: unrecognized command line option "-Wsign-conversion"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append *gcc-4.* {clang < 421}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/security/libfido2/files/patch-apple-gcc.diff b/security/libfido2/files/patch-apple-gcc.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..23c6ea16b65
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/security/libfido2/files/patch-apple-gcc.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Despite: https://github.com/emersion/mrsh/issues/78
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Apparently -exported_symbols_list works with Apple ld:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://developer.apple.com/library/archive/documentation/Performance/Conceptual/CodeFootprint/Articles/ReducingExports.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- CMakeLists.txt.orig 2021-10-27 19:02:28.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ CMakeLists.txt 2022-09-05 22:14:55.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -297,9 +297,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ add_definitions(-DTLS=${TLS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # export list
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if(APPLE AND (CMAKE_C_COMPILER_ID STREQUAL "Clang" OR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- CMAKE_C_COMPILER_ID STREQUAL "AppleClang"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # clang + lld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if(APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # clang + lld or gcc + ld64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ string(CONCAT CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ " -exported_symbols_list ${CMAKE_CURRENT_SOURCE_DIR}/src/export.llvm")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ elseif(NOT MSVC)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/security/libfido2/files/patch-hid_osx.diff b/security/libfido2/files/patch-hid_osx.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..1861594793c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/security/libfido2/files/patch-hid_osx.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,58 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# See: https://developer.apple.com/documentation/iokit/1645245-anonymous/kiohidmanageroptionnone
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Can we do better than disable? https://github.com/wahern/cqueues/blob/master/src/lib/socket.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/hid_osx.c.orig 2021-10-27 19:02:28.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/hid_osx.c 2022-09-05 21:45:42.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23,6 +23,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define kIOMainPortDefault kIOMasterPortDefault
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define kIOHIDManagerOptionNone 0x0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct hid_osx {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ IOHIDDeviceRef ref;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CFStringRef loop_id;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -169,10 +173,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ io_service_t s;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ io_string_t path;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __MAC_OS_X_VERSION_MIN_REQUIRED > 1050
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ((s = IOHIDDeviceGetService(dev)) == MACH_PORT_NULL) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fido_log_debug("%s: IOHIDDeviceGetService", __func__);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return (NULL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (IORegistryEntryGetPath(s, kIOServicePlane, path) != KERN_SUCCESS) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fido_log_debug("%s: IORegistryEntryGetPath", __func__);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -352,6 +358,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return (0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __MAC_OS_X_VERSION_MIN_REQUIRED > 1060
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ disable_sigpipe(int fd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -364,6 +371,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return (0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fido_hid_open(const char *path)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -393,10 +401,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ goto fail;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __MAC_OS_X_VERSION_MIN_REQUIRED > 1060
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (disable_sigpipe(ctx->report_pipe[1]) < 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fido_log_debug("%s: disable_sigpipe", __func__);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ goto fail;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ((entry = IORegistryEntryFromPath(kIOMainPortDefault,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path)) == MACH_PORT_NULL) {
</span></pre><pre style='margin:0'>
</pre>