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