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