<pre style='margin:0'>
Herby Gillot (herbygillot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/ee0129e6a8166a7601a76e2691419d032c84d27d">https://github.com/macports/macports-ports/commit/ee0129e6a8166a7601a76e2691419d032c84d27d</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new ee0129e6a81 cl-cffi: add missed dependency, fix arm64, respect `${prefix}`
</span>ee0129e6a81 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit ee0129e6a8166a7601a76e2691419d032c84d27d
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Wed May 31 16:17:33 2023 +0200

<span style='display:block; white-space:pre;color:#404040;'>    cl-cffi: add missed dependency, fix arm64, respect `${prefix}`
</span>---
 lisp/cl-cffi/Portfile                              | 20 ++++-
 ...t-variadic-functions-on-SBCL-Darwin-arm64.patch | 87 ++++++++++++++++++++++
 .../0002-fix-tests-on-SBCL-Darwin-arm64.patch      | 24 ++++++
 3 files changed, 129 insertions(+), 2 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lisp/cl-cffi/Portfile b/lisp/cl-cffi/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 147d25d046a..8c60d253591 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lisp/cl-cffi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lisp/cl-cffi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,7 +6,7 @@ PortGroup           common_lisp 1.0
</span> 
 github.setup        cffi cffi 0.24.1 v
 name                cl-cffi
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> 
 checksums           rmd160  efbe4f1c7577943db8bdd6fc5a7c9672737d5551 \
                     sha256  4025586fc921b2a1ebbe3c8ebec90ae5afc5aba142d97ea22f3951e155449993 \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -20,8 +20,24 @@ description         The Common Foreign Function Interface
</span> 
 long_description    {*}${description}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   0001-Support-variadic-functions-on-SBCL-Darwin-arm64.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    0002-fix-tests-on-SBCL-Darwin-arm64.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_lib-append  port:cl-alexandria \
                     port:cl-babel \
                     port:cl-bordeaux-threads \
                     port:cl-rt \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:cl-trivial-features
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:cl-trivial-features \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libffi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${prefix} ne "/opt/local"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|/opt/local|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/libffi/libffi-types.lisp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/src/libraries.lisp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/toolchain/c-toolchain.lisp \
</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;color:#808080;'>diff --git a/lisp/cl-cffi/files/0001-Support-variadic-functions-on-SBCL-Darwin-arm64.patch b/lisp/cl-cffi/files/0001-Support-variadic-functions-on-SBCL-Darwin-arm64.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..917d95f3802
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lisp/cl-cffi/files/0001-Support-variadic-functions-on-SBCL-Darwin-arm64.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,87 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 8b35635b302f72c0b339bdc42cb0c54c4c59eacb Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Stas Boukarev <stassats@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 1 Feb 2022 01:18:35 +0300
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Support variadic functions on SBCL-Darwin-arm64.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Where variadic arguments are not just passed normally.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Closes #297
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/cffi-sbcl.lisp | 47 ++++++++++++++++++++++++++++++++++++++++------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 41 insertions(+), 6 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/cffi-sbcl.lisp src/cffi-sbcl.lisp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 906738a..ef939ad 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/cffi-sbcl.lisp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/cffi-sbcl.lisp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -46,6 +46,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #:with-foreign-pointer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #:%foreign-funcall
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #:%foreign-funcall-pointer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   #:%foreign-funcall-varargs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   #:%foreign-funcall-pointer-varargs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #:%foreign-type-alignment
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #:%foreign-type-size
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #:%load-foreign-library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -286,12 +288,21 @@ WITH-POINTER-TO-VECTOR-DATA."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (defun foreign-funcall-type-and-args (args)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "Return an SB-ALIEN function type for ARGS."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  (let ((return-type 'void))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    (loop for (type arg) on args by #'cddr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          if arg collect (convert-foreign-type type) into types
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          and collect arg into fargs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          else do (setf return-type (convert-foreign-type type))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          finally (return (values types fargs return-type)))))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  (let ((return-type 'void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        types
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        fargs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    (loop while args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          do (let ((type (pop args)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++               (cond ((eq type '&optional)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      (push type types))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                     ((not args)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      (setf return-type (convert-foreign-type type)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                     (t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      (push (convert-foreign-type type) types)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      (push (pop args) fargs)))))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    (values (nreverse types)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            (nreverse fargs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return-type)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (defmacro %%foreign-funcall (name types fargs rettype)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "Internal guts of %FOREIGN-FUNCALL."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -315,6 +326,30 @@ WITH-POINTER-TO-VECTOR-DATA."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       `(with-alien ((,function (* (function ,rettype ,@types)) ,ptr))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          (alien-funcall ,function ,@fargs)))))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++(defmacro %foreign-funcall-varargs (name fixed-args varargs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                    &rest args &key convention library)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  (declare (ignore convention library))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  `(%foreign-funcall ,name ,(append fixed-args (and varargs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                    ;; All SBCL platforms would understand this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                    ;; but this is the only one where it's required.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                    ;; Omitting elsewhere makes it work on older
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                    ;; versions of SBCL.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                    (append #+(and darwin arm64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                            '(&optional)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                            varargs)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                     ,@args))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++(defmacro %foreign-funcall-pointer-varargs (pointer fixed-args varargs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                            &rest args &key convention)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  (declare (ignore convention))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  `(%foreign-funcall-pointer ,pointer ,(append fixed-args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                               (and varargs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                    (append #+(and darwin arm64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                            '(&optional)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                            varargs)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                             ,@args))
</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;'>+ ;;;# Callbacks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;; The *CALLBACKS* hash table contains a direct mapping of CFFI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lisp/cl-cffi/files/0002-fix-tests-on-SBCL-Darwin-arm64.patch b/lisp/cl-cffi/files/0002-fix-tests-on-SBCL-Darwin-arm64.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b0dbe50c182
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lisp/cl-cffi/files/0002-fix-tests-on-SBCL-Darwin-arm64.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,24 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From bf4777e5dc00e030ff2015e4d5419079dd79b7d4 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: "Kirill A. Korinsky" <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 31 May 2023 16:15:41 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] fix tests on SBCL-Darwin-arm64
</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;'>+ libffi/libffi-types.lisp | 1 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libffi/libffi-types.lisp libffi/libffi-types.lisp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b2ec1dd..b8374fe 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libffi/libffi-types.lisp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libffi/libffi-types.lisp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -73,6 +73,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  ((:default-abi "FFI_DEFAULT_ABI"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  #-x86-64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  ((:sysv "FFI_SYSV"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #-arm64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  ((:unix64 "FFI_UNIX64")))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (ctype ffi-abi "ffi_abi")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.40.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>

</pre>