<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/6549d6421635643efc217dcbb58e41f154a67860">https://github.com/macports/macports-ports/commit/6549d6421635643efc217dcbb58e41f154a67860</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 6549d6421635643efc217dcbb58e41f154a67860
</span>Author: Jordan Ellis Coppard <jc+git@wz.ht>
AuthorDate: Sat Jun 11 17:20:37 2022 +1000

<span style='display:block; white-space:pre;color:#404040;'>    janet: update to 1.22.0
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    * update to version 1.22.0
</span><span style='display:block; white-space:pre;color:#404040;'>    * removes patch for janet issue: https://github.com/janet-lang/janet/pull/688/files
</span><span style='display:block; white-space:pre;color:#404040;'>      as the solution was merged
</span><span style='display:block; white-space:pre;color:#404040;'>    * adds notes for installation of janet's package manager jpm as
</span><span style='display:block; white-space:pre;color:#404040;'>      well as macports managed jpm packages
</span><span style='display:block; white-space:pre;color:#404040;'>    * add post destroot hook to keep libjanet.a which is required
</span><span style='display:block; white-space:pre;color:#404040;'>      for full jpm functionality
</span>---
 lang/janet/Portfile                                | 70 ++++++++++++++++++----
 .../files/fix-janet_boot-link-legacysupport.diff   |  1 +
 lang/janet/files/patch-jpm-location.diff           | 11 ++++
 lang/janet/files/use-nsgetenviron-on-apple.diff    | 19 ------
 4 files changed, 71 insertions(+), 30 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/janet/Portfile b/lang/janet/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index fbce917cb5e..855ec725587 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/janet/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/janet/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,8 +5,8 @@ PortGroup           github 1.0
</span> PortGroup           legacysupport 1.1
 PortGroup           makefile 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        janet-lang janet 1.15.5 v
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        janet-lang janet 1.22.0 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> 
 categories          lang
 platforms           darwin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,21 +23,69 @@ long_description    Janet is a functional and imperative programming \
</span> 
 homepage            https://janet-lang.org/
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  1d77318cc48b524ee50a398c9e0a36bedac03cda \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  b65a83f27ec80b1db8e046aed6ac3eb5ed92d843bdbdc5f4d279f10664862de6 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    601152
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  7e02e3db9be2b43252339eef553a9a52d586e341 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  ce07c705aea3ec751ba7db3385f8dc0ddfad75a6ff1f86dc525476e977a8e4e1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    494150
</span> 
 # Fixes passing correct link flags to boot_strap janet
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# and incorrect use of environ on MacOS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   and incorrect use of environ on macOS.
</span> patch.pre_args      -p1
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Fixes linking of boot strap binary on older systems
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append   fix-janet_boot-link-legacysupport.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# We're using a seperate directory for jpm so we need to patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   the Makefile such that Janet resolves jpm packages
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#   installed there (either globally or via MacPorts).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-jpm-location.diff
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Correct use of NSGetEnviron() on Apple systems
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/janet-lang/janet/pull/688
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append   use-nsgetenviron-on-apple.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Fixes linking of boot strap binary on older systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   fix-janet_boot-link-legacysupport.diff
</span> 
 destroot.keepdirs   ${destroot}${prefix}/lib/${name}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d -m 0755 ${destroot}${prefix}/lib/${name}
</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;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Need libjanet.a for all possible jpm behaviour.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file copy ${destroot}${prefix}/lib/libjanet.a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/lib/janet
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> test.run            yes
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+notes "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Janet has a package ecosystem (similar to how Nodejs does) and\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+these packages are managed by the package manager jpm. However\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+jpm is not installed by default. You have a few options which\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+are not mutually exclusive.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+In both cases MacPorts will install jpm itself but you can then\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+choose whether or not to use globally installed jpm packages as\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+in (1) and/or you can install local versions of jpm\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+packages as in (2) using the --local flag of jpm.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(1) Use jpm packages managed by MacPorts. These are available\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    with prefix 'janet-' so the package 'joy' is on MacPorts\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    as 'janet-joy' etc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    e.g.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        \$ port install janet-joy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(2) Use jpm packages via jpm itself. It is _not_ recommended\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    to install packages globally as they would be unmanaged by\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    MacPorts meaning if you uninstall jpm these files would\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    remain on disk and not be cleaned up as you might expect.\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Luckily jpm has functionality to install packages into\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    a custom directory (e.g. local to your janet project).\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    This is toggled via the --local flag when invoking jpm\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    See the installation notes for jpm for more information\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    beyond the basic example below.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    e.g.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        \$ port install jpm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        \$ cd ~/projects/foo && jpm install --local joy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Note: use of sudo in the above commands depends on whether your\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MacPorts is installed to a directory owned by the root user.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/janet/files/fix-janet_boot-link-legacysupport.diff b/lang/janet/files/fix-janet_boot-link-legacysupport.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index f7bb139e571..ef0e366b2e9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/janet/files/fix-janet_boot-link-legacysupport.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/janet/files/fix-janet_boot-link-legacysupport.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11,3 +11,4 @@ index da5e1260..d94c13f8 100644
</span>  
  # Now the reason we bootstrap in the first place
  build/c/janet.c: build/janet_boot src/boot/boot.janet
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/janet/files/patch-jpm-location.diff b/lang/janet/files/patch-jpm-location.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..33fce93b7b0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/janet/files/patch-jpm-location.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/Makefile     2022-06-14 00:20:47.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/Makefile     2022-06-14 00:22:11.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -32,7 +32,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JANET_TARGET=build/janet
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JANET_LIBRARY=build/libjanet.so
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JANET_STATIC_LIBRARY=build/libjanet.a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-JANET_PATH?=$(LIBDIR)/janet
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++JANET_PATH?=$(LIBDIR)/jpm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JANET_MANPATH?=$(PREFIX)/share/man/man1/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JANET_PKG_CONFIG_PATH?=$(LIBDIR)/pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ JANET_DIST_DIR?=janet-dist
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/janet/files/use-nsgetenviron-on-apple.diff b/lang/janet/files/use-nsgetenviron-on-apple.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 87a9326f5b4..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/janet/files/use-nsgetenviron-on-apple.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,19 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/core/os.c b/src/core/os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 64cc1b34..886d9bf9 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/src/core/os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/src/core/os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -56,7 +56,13 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <dirent.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <sys/types.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <sys/wait.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--extern char **environ;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#  include <crt_externs.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#  define environ (*_NSGetEnviron())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   extern char **environ;
</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;'>- #ifdef JANET_THREADS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <pthread.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span></pre><pre style='margin:0'>

</pre>