<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>