<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/baff38efc93a4cdc1c7769c715d717258141b6f8">https://github.com/macports/macports-ports/commit/baff38efc93a4cdc1c7769c715d717258141b6f8</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit baff38efc93a4cdc1c7769c715d717258141b6f8
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Thu Mar 16 23:09:50 2023 -0500

<span style='display:block; white-space:pre;color:#404040;'>    stklos: Update to 1.70
</span>---
 lang/stklos/Portfile                   | 95 ++++++++++++++++++++++------------
 lang/stklos/files/dynamic_lookup.patch | 12 +++++
 lang/stklos/files/implicit.patch       | 16 ++++++
 lang/stklos/files/no-gtklos.patch      | 19 +++++++
 lang/stklos/files/tmpcomp.patch        | 22 ++++++++
 5 files changed, 130 insertions(+), 34 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/stklos/Portfile b/lang/stklos/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 460a0893f6f..ccc82278b82 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/stklos/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/stklos/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,43 +1,70 @@
</span> PortSystem 1.0
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Please keep the stklos and stklos-devel ports as similar as possible.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> name                      stklos
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version                 1.10
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision           3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version                 1.70
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums               rmd160  55e82367cc6fdcc4bdd1f9c9b99d746ea7c0aa19 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  15a1251a0e72d66051011bb95ba9122b22f7acd8a5a0d0e4f8737cc9fcbb83c7 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    8767615
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> categories                lang
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms               darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers                nomaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license                    GPL-2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description                free Scheme system supporting most language features from R5RS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers             {ryandesign @ryandesign} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license                 GPL-2+ GPL-3+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts               ${subport}-devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description             free Scheme system supporting most R7RS language features
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> long_description  STklos is a free Scheme system supporting most of the \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                                languages features defined in R5RS. The aim of this \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        language features defined in R7RS. The aim of this \
</span>                           implementation is to be fast as well as light. The \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                                implementation is based on an ad-hoc Virtual Machine. STklos \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           can also be compiled as a library and embedded in an \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           application.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage           http://www.stklos.net/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites               ${homepage}/download/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ftp://kaolin.essi.fr/pub/STklos/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           md5     55b709bf56d2e6b16fe5e1a10c1a9013 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha1    113551b6bee26fbe5c835ef0db292b9276cccaa0 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160  517cad0a8cf99416887788f2454b55fc70f56f90
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib                port:gmp port:pcre port:boehmgc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args     --mandir=${prefix}/share/man \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           --disable-gtk \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           --disable-gnome \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           --libdir=${prefix}/lib/${name}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.run           yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   # remove doc files etc.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   delete ${destroot}${prefix}/share/info
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   delete ${destroot}${prefix}/share/man/man3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        implementation is based on an ad-hoc Virtual Machine.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage                https://stklos.net
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites            ${homepage}/download/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build           port:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles              dynamic_lookup.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        implicit.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        no-gtklos.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        tmpcomp.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} eq ${name}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:boehmgc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:gmp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:libffi \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:pcre
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # The repl dlopens libreadline or libedit at runtime but in 1.70 it can't
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # find them. After 1.70 it seems to work; revisit adding a dependency on one
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # of those then and see if the code can be forced to use the one we pick.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.run            yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # The install target depends on install-sources which I assume we don't
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # need. The install-base target normally strips the executable which will
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # make it not work with extensions because the symbols the extensions want
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # to use have been stripped out:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://github.com/egallesio/STklos/issues/353#issuecomment-1028125323
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://github.com/egallesio/STklos/issues/440#issuecomment-1473044496
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # There is an install-base-no-strip target which sets STRIP=no before
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # calling install-base, however install-doc depends on install-base, so if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # we use "install-base-no-strip install-doc" then the executable will be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # installed unstripped, and then will be reinstalled stripped. It's simpler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # to use install-base and set STRIP=no ourselves.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.target     install-base install-doc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.args       STRIP=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.url       ${homepage}/download.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.dir           ${worksrcpath}/[string map [list stklos- extensions/] ${subport}]/src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.env           COMP=${prefix}/bin/stklos-compile
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin 9 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   configure.cflags-append -D_NONSTD_SOURCE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type      none
</span> }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/stklos/files/dynamic_lookup.patch b/lang/stklos/files/dynamic_lookup.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..9afd91abb7e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/stklos/files/dynamic_lookup.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/egallesio/STklos/pull/512
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- utils/shlib-options.orig       2021-05-03 05:02:46.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ utils/shlib-options    2023-03-15 18:02:56.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -151,7 +151,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   Darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       OS=DARWIN;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           SH_COMP_FLAGS="-fPIC -fno-common"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      SH_LOAD_FLAGS='-bundle -flat_namespace -undefined suppress -o'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      SH_LOAD_FLAGS='-bundle -undefined dynamic_lookup -o'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           SH_LOADER="$CC"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           SH_SUFFIX='so'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           SH_LIB_SUFFIX='dylib'
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/stklos/files/implicit.patch b/lang/stklos/files/implicit.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..13a3bf10384
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/stklos/files/implicit.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/egallesio/STklos/commit/9fb3d90d171190a06feb79695b2ad3664a231ee6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.orig 2021-11-24 07:45:28.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure      2023-03-12 11:14:33.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7222,8 +7222,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else $as_nop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* end confdefs.h.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- void inner (char *foo) { char bar; exit (!(foo >= &bar)); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-             void main () { char foo; inner (&foo); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int inner (char *foo) { char bar; return !(foo >= &bar); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++             int main (void) { char foo; return inner (&foo); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _ACEOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ac_fn_c_try_run "$LINENO"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ then :
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/stklos/files/no-gtklos.patch b/lang/stklos/files/no-gtklos.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..0678680dc1c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/stklos/files/no-gtklos.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Don't search for libraries that are only used by the gtklos extension.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.orig 2023-03-11 07:47:23.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure      2023-03-11 07:50:14.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7249,6 +7249,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ HAVE_CANVAS=0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GOOCANV=absent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GOOVERS=""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if false; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Do we have GTK+?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ${PKGCONFIG} --exists gtk+-3.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7276,6 +7277,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    GOOCANV=present
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ###
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ### Finishing ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ###
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/stklos/files/tmpcomp.patch b/lang/stklos/files/tmpcomp.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..89012b129e3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/stklos/files/tmpcomp.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix parallel build.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/egallesio/STklos/issues/493
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- utils/tmpcomp.orig     2021-11-24 04:56:09.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ utils/tmpcomp  2023-03-11 07:41:41.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -81,7 +81,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${prefix}/src/stklos -c -q -b ${prefix}/src/boot.img \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      -f ${prefix}/utils/stklos-compile.stk -- \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     --no-time $Copt --output=$out $in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     --no-time $Copt --output="$out.$$" "$in"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++status=$?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test $status -gt 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    rm -f "$out.$$"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    exit $status
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++test -e "$out.$$" && mv "$out.$$" "$out"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test X$Copt = X -a -e $out
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ then
</span></pre><pre style='margin:0'>

</pre>