<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/a3cf7fd3e526e62a9437521c1b34228447249293">https://github.com/macports/macports-ports/commit/a3cf7fd3e526e62a9437521c1b34228447249293</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit a3cf7fd3e526e62a9437521c1b34228447249293
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Thu Jun 1 16:34:39 2023 +0200

<span style='display:block; white-space:pre;color:#404040;'>    sbcl: update to 2.3.5; pin for old macOS; add myself as co-maintainer
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    I also fixed build on old macOS
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/61717
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/65188
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/65484
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/66002
</span>---
 lang/sbcl/Portfile                                 | 197 +++++++++++++--------
 .../patch-missed-CLOCK_PROCESS_CPUTIME_ID.diff     |  15 ++
 lang/sbcl/files/patch-sbcl-realtime.diff           |  58 ------
 lang/sbcl/files/patch-use-right-gcc.diff           |  12 ++
 4 files changed, 146 insertions(+), 136 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/sbcl/Portfile b/lang/sbcl/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2592d875bf0..74cabe95d80 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/sbcl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/sbcl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,20 +2,21 @@
</span> 
 PortSystem      1.0
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup       legacysupport 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> name            sbcl
 
 # Note to maintainers:
 #
 # Please bump the revision of math/maxima (and when it exists
 # math/maxima-devel) and fricas when this port changes.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version         2.3.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version         2.3.5
</span> revision        0
 
 categories      lang
 license         BSD
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers     {easieste @easye} openmaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms       darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-supported_archs x86_64 arm64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers     {easieste @easye} {@catap korins.ky:kirill} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> description     The Steel Bank Common Lisp system
 
 long_description \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,84 +29,118 @@ long_description \
</span> 
 
 homepage        http://www.sbcl.org
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites    sourceforge:project/sbcl/sbcl/${version}:sbcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites    sourceforge
</span> 
 use_bzip2       yes
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patch-contrib-sb-posix-posix-tests.lisp.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patch-macports-xdg-data-dir.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patch-sbcl-realtime.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles      patch-contrib-sb-posix-posix-tests.lisp.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                patch-macports-xdg-data-dir.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                patch-missed-CLOCK_PROCESS_CPUTIME_ID.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums       rmd160  95a02d7a489137602ebba333b83bfc1d9eb794be \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sha256  89c90720cf9d05dbcd90d690e381a2514c0f1807159e0d7222220c5a8c2d5186 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                size    7474392
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.major} < 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # 1.3.9 is the last version of SBCL which can be build before 10.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version     1.3.9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision    0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    epoch       1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums   rmd160  d0da4fd941890372f3558bafb18433497c67c0ee \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sha256  af0f09d4379113dfd5aa255279cb3df9cb9cac0bcd65369cc43dd857ca51de6e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                size    5758174
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${build_arch} eq "ppc"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # 2.2.2 is the last version of SBCL with ppc-Darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version     2.2.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision    0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    epoch       1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums   rmd160  4960ccd562302f3223e2db7d32b9ecc50cf76536 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sha256  8790dbbe97711dce14bb823125ce5b185b0073cf2f3cbf37bdd1ad380e7950f6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                size    6716272
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # 2.2.4 is the last version of SBCL with i386-Darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version     2.2.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision    0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    epoch       1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums   rmd160  2df788b7b6ebe35bf37c3264aeb06aef4f3416c3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sha256  fcdd251cbc65f7f808ed0ad77246848d1be166aa69a17f7499600184b7a57202 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                size    7030086
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-distfiles       ${name}-${version}-source${extract.suffix}:sbcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin powerpc {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                patch-use-right-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;'>+distfiles       ${name}-${version}-source${extract.suffix}
</span> worksrcdir      ${name}-${version}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums       ${name}-${version}-source${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    rmd160  54ab2a1ece4a04259cf47762950134264016d879 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    sha256  f11b4764c6eabdb27e5a9c46b217204d11bcda534e73bf97073d57831d209c4e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    size    7322567
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Since SBCL is written in lisp, it requires a running lisp binary to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# bootstrap from.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# In theory, support for powerpc can be added by putting in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# an appropriate stanza here pointing at an appropriate binary for the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# architecture.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# In practice, no suitable binaries currently exist, and the port
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# maintainer does not have systems on which to test such things.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# However, if someone does come up with a way to support powerpc,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# duplicating the "if" here would be the way to do it.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${build_arch} eq "x86_64"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set bootversion 2.2.9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set conf_prefix x86-64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    master_sites-append sourceforge:project/sbcl/sbcl/${bootversion}:sbcl_amd64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    distfiles-append    ${name}-${bootversion}-x86-64-darwin-binary${extract.suffix}:sbcl_amd64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums-append    ${name}-${bootversion}-x86-64-darwin-binary${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        rmd160  3c7656d617269a0dd30f783e305f62b8d0da303f \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        sha256  6f504b9282c83842c0601600f5e0663209b53b133125ec3334ff7a0bd0037ca6 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        size    10944221
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    global host_lisp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set host_lisp "\"${workpath}/${name}-${bootversion}-x86-64-darwin/src/runtime/sbcl --core ${workpath}/${name}-${bootversion}-x86-64-darwin/output/sbcl.core --disable-debugger --sysinit /dev/null --userinit /dev/null\" "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${build_arch} eq "arm64"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set bootversion 2.1.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set conf_prefix arm64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    master_sites-append sourceforge:project/sbcl/sbcl/${bootversion}:sbcl_arm64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    distfiles-append    ${name}-${bootversion}-arm64-darwin-binary${extract.suffix}:sbcl_arm64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums-append    ${name}-${bootversion}-arm64-darwin-binary${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        rmd160  ce5856a0e1f0040e95c9d79ef0a6199a0f932ab3 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        sha256  1f400b8a05dc588ca9740f9f4dfee3111b1cc1b6fb40801f728c42b460e1d115 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        size    9204605
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    global host_lisp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set host_lisp "\"${workpath}/${name}-${bootversion}-arm64-darwin/src/runtime/sbcl --core ${workpath}/${name}-${bootversion}-arm64-darwin/output/sbcl.core --disable-debugger --sysinit /dev/null --userinit /dev/null\" "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                port:sbcl-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# clock_gettime
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+legacysupport.newest_darwin_requires_legacy 15
</span> 
 post-patch {
     reinplace "s|@@PREFIX@@|${prefix}|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${worksrcpath}/contrib/asdf/uiop.lisp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/contrib/asdf/uiop.lisp
</span> 
     reinplace "s|/usr/local/lib/${name}|${prefix}/lib/${name}|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${worksrcpath}/doc/sbcl.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # <https://trac.macports.org/attachment/ticket/51733/>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # This change is required as the Xcode 8 linker now defaults to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # PIE binaries regardless of the deployment target so an explicit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # '-Wl,-no_pie' is now required. The sbcl program is incompatible
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # with ASLR and the previous upstream hack of setting the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # deployment target to less than 10.7 doesn't prevent the PIE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # executables from being created against the Xcode 8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # linker. Tested on 10.11 with Xcode 8 beta.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[vercmp "8.0" ${xcodeversion}] >= 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s|0x100000|0x100000 -Wl,-no_pie|g" ${worksrcpath}/src/runtime/Config.x86-64-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset fancy]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -W ${worksrcpath} "s|@@PREFIX@@|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            src/runtime/Config.${conf_prefix}-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/doc/sbcl.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Enable legacy support when it required
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set legacy_support_cpp_flags [legacysupport::get_cpp_flags]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set legacy_support_link_flags [legacysupport::get_library_link_flags]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${legacy_support_cpp_flags} ne "" || ${legacy_support_link_flags} ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set config_path ${worksrcpath}/src/runtime
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach f [glob -tails -directory ${config_path} Config.*-darwin] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_debug "Adding LegacySupport into ${f}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set config [open ${config_path}/$f a]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${config} "CFLAGS += ${legacy_support_cpp_flags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${config} "DEPEND_FLAGS += ${legacy_support_cpp_flags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${config} "OS_LIBS += ${legacy_support_link_flags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            close ${config}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>     }
 }
 
 use_configure   no
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${worksrcpath} "SBCL_MACOSX_VERSION_MIN=${macosx_deployment_target} CC=${configure.cc} CXX=${configure.cxx} CPP=${configure.cpp} sh ./make.sh ${make_sh_options} --prefix=${prefix} --xc-host=${host_lisp}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # disable all warning
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set sbclrc [open $env(HOME)/.sbclrc w+]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    puts ${sbclrc} "(declaim (sb-ext:muffle-conditions cl:warning))"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    close ${sbclrc}
</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;'>+build.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                CXX=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                CPP=${configure.cpp} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                SBCL_MACOSX_VERSION_MIN=${macosx_deployment_target}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_parallel_build  no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.cmd       sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.target    make.sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                --prefix=${prefix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                --xc-host=${prefix}/libexec/sbcl-bootstrap/bin/sbcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                --arch=x86
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                --arch=x86-64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                --arch=${build_arch}
</span> }
 
 post-build {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -114,7 +149,7 @@ post-build {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset threads]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![variant_isset threads] && ${build_arch} ne "ppc"} {
</span>     default_variants +fancy
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -130,28 +165,34 @@ variant pdf conflicts html description {Installs documentation in PDF, HTML and
</span>     depends_build-append bin:makeinfo:texinfo
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-global make_sh_options
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set make_sh_options ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> variant threads description {Enable multi-threaded runtime using the Mach pthreads interface.} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set make_sh_options --with-sb-thread
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append   --with-sb-thread
</span> }
 
 variant fancy conflicts threads description {Configure SBCL compilation with all available compatible options (including threading).} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set make_sh_options --fancy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.args-append   --fancy
</span>     # As of version 2.2.6, zstd is used for core compression.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append  port:zstd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles-append   patch-config-darwin-${build_arch}.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[vercmp ${version} 2.2.6] >= 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append  port:zstd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append   patch-config-darwin-${build_arch}.diff
</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;'>+            reinplace -W ${worksrcpath} "s|@@PREFIX@@|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                {*}[glob ${worksrcpath}/src/runtime/Config.*-darwin]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
 test.run        yes
 test.dir        ${worksrcpath}/tests
<span style='display:block; white-space:pre;background:#ffe0e0;'>-test.cmd        CC=${configure.cc} CXX=${configure.cxx} CPP=${configure.cpp} sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.env        CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                CXX=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                CPP=${configure.cpp}
</span> test.target     run-tests.sh
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${worksrcpath} "INSTALL_ROOT=${destroot}${prefix} sh ${worksrcpath}/install.sh"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.env    INSTALL_ROOT=${destroot}${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.target install.sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.destdir
</span> 
 livecheck.url   http://sourceforge.net/api/file/index/project-id/1373/rss?path=%2F${name}
 livecheck.regex guid.*${name}-(\\d+(\\.\\d+)+)-source
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/sbcl/files/patch-missed-CLOCK_PROCESS_CPUTIME_ID.diff b/lang/sbcl/files/patch-missed-CLOCK_PROCESS_CPUTIME_ID.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4d533ab3996
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/sbcl/files/patch-missed-CLOCK_PROCESS_CPUTIME_ID.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Emulate https://github.com/macports/macports-legacy-support/pull/58
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/runtime/runtime.h src/runtime/runtime.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d18d68e4c..a3bd75c42 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/runtime/runtime.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/runtime/runtime.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -416,4 +416,8 @@ extern struct lisp_startup_options lisp_startup_options;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TINY_BOXED_NWORDS(obj) ((HeaderValue(obj) & 0xFF) | 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef CLOCK_PROCESS_CPUTIME_ID
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define CLOCK_PROCESS_CPUTIME_ID CLOCK_MONOTONIC
</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;'>+ #endif /* _SBCL_RUNTIME_H_ */
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/sbcl/files/patch-sbcl-realtime.diff b/lang/sbcl/files/patch-sbcl-realtime.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 7f83d79ab76..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/sbcl/files/patch-sbcl-realtime.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,58 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./src/runtime/runtime.c.orig   2020-11-22 16:30:31.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./src/runtime/runtime.c        2020-11-22 16:39:49.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -62,6 +62,37 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "genesis/static-symbols.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "genesis/symbol.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(__APPLE__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <sys/time.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <mach/mach_time.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int clock_gettime( clockid_t clk_id, struct timespec *ts )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  int ret = -1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if ( ts )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if      ( CLOCK_REALTIME == clk_id )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      struct timeval tv;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      ret = gettimeofday(&tv, NULL);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      ts->tv_sec  = tv.tv_sec;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      ts->tv_nsec = tv.tv_usec * 1000;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    else if ( CLOCK_MONOTONIC == clk_id )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      const uint64_t t = mach_absolute_time();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      mach_timebase_info_data_t timebase;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      mach_timebase_info(&timebase);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      const uint64_t tdiff = t * timebase.numer / timebase.denom;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      ts->tv_sec  = tdiff / 1000000000;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      ts->tv_nsec = tdiff % 1000000000;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      ret = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct timespec lisp_init_time;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static char libpath[] = "../lib/sbcl";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./src/runtime/runtime.h.orig   2020-11-22 16:30:42.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./src/runtime/runtime.h        2020-11-22 16:41:14.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -490,4 +490,15 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define TINY_BOXED_NWORDS(obj) ((HeaderValue(obj) & 0xFF) | 1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* One define types and methods if not already defined. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !defined(CLOCK_REALTIME) && !defined(CLOCK_MONOTONIC) && !defined(CLOCK_PROCESS_CPUTIME_ID)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define CLOCK_REALTIME  0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define CLOCK_MONOTONIC 6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define CLOCK_PROCESS_CPUTIME_ID 12
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef int clockid_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+extern int clock_gettime( clockid_t clk_id, struct timespec *ts );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif /* !defined(CLOCK_REALTIME) && !defined(CLOCK_MONOTONIC) && !defined(CLOCK_PROCESS_CPUTIME_ID) */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* _SBCL_RUNTIME_H_ */
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/sbcl/files/patch-use-right-gcc.diff b/lang/sbcl/files/patch-use-right-gcc.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..0de8aa1593b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/sbcl/files/patch-use-right-gcc.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# macports:lang/sbcl 'gcc' should "just work"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# so remove reference to compiler in source configuration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/runtime/Config.ppc-darwin.orig     2018-02-28 03:00:32.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/runtime/Config.ppc-darwin  2018-03-31 18:30:57.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,7 +19,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   OS_LIBS += -lz
</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;'>+-CC = gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ASSEM_SRC = ppc-assem.S ldso-stubs.S
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ARCH_SRC = ppc-arch.c
</span></pre><pre style='margin:0'>

</pre>