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