git: 0d0b4f36e056 - main - lang/guile3: Update version 3.0.9=>3.0.10

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Sun, 28 Jul 2024 13:15:38 UTC
The branch main has been updated by bofh:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0d0b4f36e05679ca0b316b61447b8050e5424f6e

commit 0d0b4f36e05679ca0b316b61447b8050e5424f6e
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2024-07-27 16:57:26 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2024-07-28 13:15:08 +0000

    lang/guile3: Update version 3.0.9=>3.0.10
    
    Changelog: https://lists.gnu.org/archive/html/guile-devel/2024-06/msg00039.html
---
 lang/guile3/Makefile                               |   5 +-
 lang/guile3/distinfo                               |   6 +-
 lang/guile3/files/extra-patch-upstream-fixes.patch | 789 ---------------------
 lang/guile3/files/patch-configure                  |   4 +-
 lang/guile3/files/patch-libguile_Makefile.in       |  14 +-
 lang/guile3/pkg-plist                              |  26 +-
 6 files changed, 34 insertions(+), 810 deletions(-)

diff --git a/lang/guile3/Makefile b/lang/guile3/Makefile
index f5cfffca2dfa..e1c0a8ccb7b3 100644
--- a/lang/guile3/Makefile
+++ b/lang/guile3/Makefile
@@ -1,6 +1,5 @@
 PORTNAME?=	guile
-PORTVERSION=	3.0.9
-PORTREVISION=	2
+DISTVERSION=	3.0.10
 CATEGORIES=	lang scheme
 MASTER_SITES=	GNU
 PKGNAMESUFFIX?=	3
@@ -78,7 +77,7 @@ THREADS_CONFIGURE_WITH=	threads
 # has a broken (spawn*) function, which breaks guile-config, which
 # breaks builds of some dependent ports.
 
-EXTRA_PATCHES=	${PATCHDIR}/extra-patch-upstream-fixes.patch
+# EXTRA_PATCHES=	${PATCHDIR}/extra-patch-upstream-fixes.patch
 
 # The prebuilt bytecode files are reported not to work on powerpc.
 
diff --git a/lang/guile3/distinfo b/lang/guile3/distinfo
index 39f883dc7977..9dd44a27fae4 100644
--- a/lang/guile3/distinfo
+++ b/lang/guile3/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1684250510
-SHA256 (guile-3.0.9.tar.lz) = bc0ee0a360fb13919c14eb6e2453319adf1ec998288c993829bcf178fb48cc9a
-SIZE (guile-3.0.9.tar.lz) = 5435196
+TIMESTAMP = 1722080249
+SHA256 (guile-3.0.10.tar.lz) = f0d97cccf506e4b6104c51639bd1b7bf67400e0b3401f0b2f6b7136532040327
+SIZE (guile-3.0.10.tar.lz) = 5481132
diff --git a/lang/guile3/files/extra-patch-upstream-fixes.patch b/lang/guile3/files/extra-patch-upstream-fixes.patch
deleted file mode 100644
index 70f724e9c7aa..000000000000
--- a/lang/guile3/files/extra-patch-upstream-fixes.patch
+++ /dev/null
@@ -1,789 +0,0 @@
-diff --git libguile/hash.c libguile/hash.c
-index c192ac2e5..5abdfe397 100644
---- libguile/hash.c
-+++ libguile/hash.c
-@@ -185,7 +185,7 @@ scm_i_utf8_string_hash (const char *str, size_t len)
-     /* Invalid UTF-8; punt.  */
-     return scm_i_string_hash (scm_from_utf8_stringn (str, len));
- 
--  length = u8_strnlen (ustr, len);
-+  length = u8_mbsnlen (ustr, len);
- 
-   /* Set up the internal state.  */
-   a = b = c = 0xdeadbeef + ((uint32_t)(length<<2)) + 47;
-diff --git libguile/posix.c libguile/posix.c
-index 0b1fe2637..4cf4ef383 100644
---- libguile/posix.c
-+++ libguile/posix.c
-@@ -1322,41 +1322,38 @@ SCM_DEFINE (scm_fork, "primitive-fork", 0, 0, 0,
- #undef FUNC_NAME
- #endif /* HAVE_FORK */
- 
--static void
--close_inherited_fds_slow (posix_spawn_file_actions_t *actions, int max_fd)
--{
--  while (--max_fd > 2)
--    posix_spawn_file_actions_addclose (actions, max_fd);
--}
-+#ifdef HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSEFROM_NP
-+# define HAVE_ADDCLOSEFROM 1
-+#endif
-+
-+#ifndef HAVE_ADDCLOSEFROM
- 
- static void
- close_inherited_fds (posix_spawn_file_actions_t *actions, int max_fd)
- {
--  DIR *dirp;
--  struct dirent *d;
--  int fd;
--
--  /* Try to use the platform-specific list of open file descriptors, so
--     we don't need to use the brute force approach. */
--  dirp = opendir ("/proc/self/fd");
--
--  if (dirp == NULL)
--    return close_inherited_fds_slow (actions, max_fd);
--
--  while ((d = readdir (dirp)) != NULL)
-+  while (--max_fd > 2)
-     {
--      fd = atoi (d->d_name);
--
--      /* Skip "." and "..", garbage entries, stdin/stdout/stderr. */
--      if (fd <= 2)
--        continue;
--
--      posix_spawn_file_actions_addclose (actions, fd);
-+      /* Adding a 'close' action for a file descriptor that is not open
-+         causes 'posix_spawn' to fail on GNU/Hurd and on OpenBSD, but
-+         not on GNU/Linux: <https://bugs.gnu.org/61095>.  Hence this
-+         strategy:
-+
-+           - On GNU/Linux, close every FD, since that's the only
-+             race-free way to make sure the child doesn't inherit one.
-+           - On other systems, only close FDs currently open in the
-+             parent; it works, but it's racy (XXX).
-+
-+         The only reliable option is 'addclosefrom'.  */
-+#if ! (defined __GLIBC__ && defined __linux__)
-+      int flags = fcntl (max_fd, F_GETFD, NULL);
-+      if (flags >= 0)
-+#endif
-+        posix_spawn_file_actions_addclose (actions, max_fd);
-     }
--
--  closedir (dirp);
- }
- 
-+#endif
-+
- static pid_t
- do_spawn (char *exec_file, char **exec_argv, char **exec_env,
-           int in, int out, int err, int spawnp)
-@@ -1393,14 +1390,27 @@ do_spawn (char *exec_file, char **exec_argv, char **exec_env,
-   /* Move the fds out of the way, so that duplicate fds or fds equal
-      to 0, 1, 2 don't trample each other */
- 
--  posix_spawn_file_actions_adddup2 (&actions, in, fd_slot[0]);
--  posix_spawn_file_actions_adddup2 (&actions, out, fd_slot[1]);
--  posix_spawn_file_actions_adddup2 (&actions, err, fd_slot[2]);
--  posix_spawn_file_actions_adddup2 (&actions, fd_slot[0], 0);
--  posix_spawn_file_actions_adddup2 (&actions, fd_slot[1], 1);
--  posix_spawn_file_actions_adddup2 (&actions, fd_slot[2], 2);
-+  int dup2_action_from[] = {in, out, err,
-+                            fd_slot[0], fd_slot[1], fd_slot[2]};
-+  int dup2_action_to  [] = {fd_slot[0], fd_slot[1], fd_slot[2],
-+                            0, 1, 2};
- 
-+  errno = 0;
-+  for (int i = 0; i < sizeof (dup2_action_from) / sizeof (int); i++)
-+    {
-+      errno = posix_spawn_file_actions_adddup2 (&actions, dup2_action_from[i],
-+                                                dup2_action_to[i]);
-+      if (errno != 0)
-+        return -1;
-+    }
-+
-+#ifdef HAVE_ADDCLOSEFROM
-+  /* This function appears in glibc 2.34.  It's both free from race
-+     conditions and more efficient than the alternative.  */
-+  posix_spawn_file_actions_addclosefrom_np (&actions, 3);
-+#else
-   close_inherited_fds (&actions, max_fd);
-+#endif
- 
-   int res = -1;
-   if (spawnp)
-@@ -1486,12 +1496,20 @@ SCM_DEFINE (scm_spawn_process, "spawn", 2, 0, 1,
-   if (SCM_UNBNDP (err_scm))
-     err_scm = scm_current_error_port ();
- 
--#define FDES_FROM_PORT_OR_INTEGER(obj)                                  \
--  (scm_is_integer (obj) ? scm_to_int (obj) : SCM_FPORT_FDES (obj))
-+#define FDES_FROM_PORT_OR_INTEGER(fd, obj, pos) \
-+  {                                             \
-+    if (scm_is_integer (obj))                   \
-+      fd = scm_to_int (obj);                    \
-+    else                                        \
-+      {                                         \
-+        SCM_VALIDATE_OPFPORT (pos, obj);        \
-+        fd = SCM_FPORT_FDES (obj);              \
-+      }                                         \
-+  }
- 
--  in  = FDES_FROM_PORT_OR_INTEGER (in_scm);
--  out = FDES_FROM_PORT_OR_INTEGER (out_scm);
--  err = FDES_FROM_PORT_OR_INTEGER (err_scm);
-+  FDES_FROM_PORT_OR_INTEGER (in, in_scm, 3);
-+  FDES_FROM_PORT_OR_INTEGER (out, out_scm, 4);
-+  FDES_FROM_PORT_OR_INTEGER (err, err_scm, 5);
- 
- #undef FDES_FROM_PORT_OR_INTEGER
- 
-@@ -1544,10 +1562,22 @@ piped_process (pid_t *pid, SCM prog, SCM args, SCM from, SCM to)
- 
-     if (SCM_OPOUTFPORTP ((port = scm_current_error_port ())))
-       err = SCM_FPORT_FDES (port);
--    if (out == -1 && SCM_OPOUTFPORTP ((port = scm_current_output_port ())))
--      out = SCM_FPORT_FDES (port);
--    if (in == -1 && SCM_OPINFPORTP ((port = scm_current_input_port ())))
--      in = SCM_FPORT_FDES (port);
-+    else
-+      err = open ("/dev/null", O_WRONLY | O_CLOEXEC);
-+    if (out == -1)
-+      {
-+        if (SCM_OPOUTFPORTP ((port = scm_current_output_port ())))
-+          out = SCM_FPORT_FDES (port);
-+        else
-+          out = open ("/dev/null", O_WRONLY | O_CLOEXEC);
-+      }
-+    if (in == -1)
-+      {
-+        if (SCM_OPINFPORTP ((port = scm_current_input_port ())))
-+          in = SCM_FPORT_FDES (port);
-+        else
-+          in = open ("/dev/null", O_RDONLY | O_CLOEXEC);
-+      }
-   }
- 
-   *pid = do_spawn (exec_file, exec_argv, exec_env, in, out, err, 1);
-diff --git libguile/symbols.c libguile/symbols.c
-index 02be7c1c4..086abf585 100644
---- libguile/symbols.c
-+++ libguile/symbols.c
-@@ -239,7 +239,7 @@ static SCM
- scm_i_str2symbol (SCM str)
- {
-   SCM symbol;
--  size_t raw_hash = scm_i_string_hash (str);
-+  unsigned long raw_hash = scm_i_string_hash (str);
- 
-   symbol = lookup_interned_symbol (str, raw_hash);
-   if (scm_is_true (symbol))
-@@ -261,7 +261,7 @@ scm_i_str2symbol (SCM str)
- static SCM
- scm_i_str2uninterned_symbol (SCM str)
- {
--  size_t raw_hash = scm_i_string_hash (str);
-+  unsigned long raw_hash = scm_i_string_hash (str);
- 
-   return scm_i_make_symbol (str, SCM_I_F_SYMBOL_UNINTERNED, raw_hash);
- }
-diff --git libguile/vm.c libguile/vm.c
-index b565db970..36138f0d5 100644
---- libguile/vm.c
-+++ libguile/vm.c
-@@ -1,4 +1,4 @@
--/* Copyright 2001,2009-2015,2017-2020,2022
-+/* Copyright 2001,2009-2015,2017-2020,2022-2023
-      Free Software Foundation, Inc.
- 
-    This file is part of Guile.
-@@ -451,11 +451,12 @@ define_vm_builtins (void)
- 
-   const uint32_t call_with_values_code[] = {
-     SCM_PACK_OP_24 (assert_nargs_ee, 3),
--    SCM_PACK_OP_24 (alloc_frame, 8),
--    SCM_PACK_OP_12_12 (mov, 0, 6),
--    SCM_PACK_OP_24 (call, 7), SCM_PACK_OP_ARG_8_24 (0, 1),
--    SCM_PACK_OP_24 (long_fmov, 0), SCM_PACK_OP_ARG_8_24 (0, 2),
--    SCM_PACK_OP_12_12 (shuffle_down, 7, 1),
-+    SCM_PACK_OP_24 (alloc_frame, 6),
-+    SCM_PACK_OP_12_12 (mov, 0, 4),
-+    SCM_PACK_OP_12_12 (mov, 4, 3),
-+    SCM_PACK_OP_24 (call, 5), SCM_PACK_OP_ARG_8_24 (0, 1),
-+    SCM_PACK_OP_24 (long_fmov, 0), SCM_PACK_OP_ARG_8_24 (0, 1),
-+    SCM_PACK_OP_12_12 (shuffle_down, 5, 1),
-     SCM_PACK_OP_24 (tail_call, 0)
-   };
- 
-diff --git module/ice-9/copy-tree.scm module/ice-9/copy-tree.scm
-index e1d91ad9e..004167821 100644
---- module/ice-9/copy-tree.scm
-+++ module/ice-9/copy-tree.scm
-@@ -23,7 +23,6 @@
- 
- 
- (define-module (ice-9 copy-tree)
--  #:use-module (ice-9 match)
-   #:use-module (srfi srfi-11)
-   #:replace (copy-tree))
- 
-diff --git module/ice-9/eval-string.scm module/ice-9/eval-string.scm
-index 789980938..ea0f17777 100644
---- module/ice-9/eval-string.scm
-+++ module/ice-9/eval-string.scm
-@@ -21,7 +21,6 @@
- (define-module (ice-9 eval-string)
-   #:use-module (system base compile)
-   #:use-module (system base language)
--  #:use-module (system vm program)
-   #:use-module (system vm loader)
-   #:replace (eval-string))
- 
-diff --git module/ice-9/getopt-long.scm module/ice-9/getopt-long.scm
-index 14eaf8e23..18b235390 100644
---- module/ice-9/getopt-long.scm
-+++ module/ice-9/getopt-long.scm
-@@ -161,7 +161,6 @@
-   #:use-module (srfi srfi-9)
-   #:use-module (ice-9 match)
-   #:use-module (ice-9 regex)
--  #:use-module (ice-9 optargs)
-   #:export (getopt-long option-ref))
- 
- (define %program-name (make-fluid "guile"))
-diff --git module/ice-9/poll.scm module/ice-9/poll.scm
-index 57b5047ab..2688270ac 100644
---- module/ice-9/poll.scm
-+++ module/ice-9/poll.scm
-@@ -19,7 +19,6 @@
- 
- (define-module (ice-9 poll)
-   #:use-module (srfi srfi-9)
--  #:use-module (srfi srfi-9 gnu)
-   #:use-module (rnrs bytevectors)
-   #:export (make-empty-poll-set
-             poll-set?
-diff --git module/ice-9/popen.scm module/ice-9/popen.scm
-index e638726a4..957cde0aa 100644
---- module/ice-9/popen.scm
-+++ module/ice-9/popen.scm
-@@ -19,7 +19,6 @@
- ;;;; 
- 
- (define-module (ice-9 popen)
--  #:use-module (rnrs bytevectors)
-   #:use-module (ice-9 binary-ports)
-   #:use-module (ice-9 threads)
-   #:use-module (srfi srfi-1)
-diff --git module/ice-9/sandbox.scm module/ice-9/sandbox.scm
-index fcfc57365..601485cce 100644
---- module/ice-9/sandbox.scm
-+++ module/ice-9/sandbox.scm
-@@ -21,7 +21,6 @@
- ;;; Code:
- 
- (define-module (ice-9 sandbox)
--  #:use-module (ice-9 control)
-   #:use-module (ice-9 match)
-   #:use-module ((ice-9 threads) #:select (current-thread))
-   #:use-module (system vm vm)
-diff --git module/ice-9/suspendable-ports.scm module/ice-9/suspendable-ports.scm
-index a823f1d37..9fac1df62 100644
---- module/ice-9/suspendable-ports.scm
-+++ module/ice-9/suspendable-ports.scm
-@@ -419,7 +419,7 @@
-                (= (logand u8_2 #xc0) #x80)
-                (case u8_0
-                  ((#xe0) (>= u8_1 #xa0))
--                 ((#xed) (>= u8_1 #x9f))
-+                 ((#xed) (<= u8_1 #x9f))
-                  (else #t)))
-           (kt (integer->char
-                (logior (ash (logand u8_0 #x0f) 12)
-@@ -436,7 +436,7 @@
-                (= (logand u8_3 #xc0) #x80)
-                (case u8_0
-                  ((#xf0) (>= u8_1 #x90))
--                 ((#xf4) (>= u8_1 #x8f))
-+                 ((#xf4) (<= u8_1 #x8f))
-                  (else #t)))
-           (kt (integer->char
-                (logior (ash (logand u8_0 #x07) 18)
-@@ -462,7 +462,7 @@
-      ((< buffering 2) 1)
-      ((not (= (logand (ref 1) #xc0) #x80)) 1)
-      ((and (eq? first-byte #xe0) (< (ref 1) #xa0)) 1)
--     ((and (eq? first-byte #xed) (< (ref 1) #x9f)) 1)
-+     ((and (eq? first-byte #xed) (> (ref 1) #x9f)) 1)
-      ((< buffering 3) 2)
-      ((not (= (logand (ref 2) #xc0) #x80)) 2)
-      (else 0)))
-@@ -471,7 +471,7 @@
-      ((< buffering 2) 1)
-      ((not (= (logand (ref 1) #xc0) #x80)) 1)
-      ((and (eq? first-byte #xf0) (< (ref 1) #x90)) 1)
--     ((and (eq? first-byte #xf4) (< (ref 1) #x8f)) 1)
-+     ((and (eq? first-byte #xf4) (> (ref 1) #x8f)) 1)
-      ((< buffering 3) 2)
-      ((not (= (logand (ref 2) #xc0) #x80)) 2)
-      ((< buffering 4) 3)
-diff --git module/ice-9/threads.scm module/ice-9/threads.scm
-index c42bd266f..5a13cec1d 100644
---- module/ice-9/threads.scm
-+++ module/ice-9/threads.scm
-@@ -31,7 +31,6 @@
- 
- (define-module (ice-9 threads)
-   #:use-module (ice-9 match)
--  #:use-module (ice-9 control)
-   ;; These bindings are marked as #:replace because when deprecated code
-   ;; is enabled, (ice-9 deprecated) also exports these names.
-   ;; (Referencing one of the deprecated names prints a warning directing
-diff --git module/sxml/apply-templates.scm module/sxml/apply-templates.scm
-index 0ee27477c..dd2742397 100644
---- module/sxml/apply-templates.scm
-+++ module/sxml/apply-templates.scm
-@@ -49,9 +49,7 @@
- ;;; Code:
- 
- (define-module (sxml apply-templates)
--  #:use-module (sxml ssax)
-   #:use-module ((sxml xpath) :hide (filter))
--                         
-   #:export (apply-templates))
- 
- (define (apply-templates tree templates)
-diff --git module/sxml/simple.scm module/sxml/simple.scm
-index 703ad9137..57fccbc9c 100644
---- module/sxml/simple.scm
-+++ module/sxml/simple.scm
-@@ -30,7 +30,6 @@
-   #:use-module (sxml ssax)
-   #:use-module (sxml transform)
-   #:use-module (ice-9 match)
--  #:use-module (srfi srfi-13)
-   #:export (xml->sxml sxml->xml sxml->string))
- 
- ;; Helpers from upstream/SSAX.scm.
-diff --git module/system/base/types.scm module/system/base/types.scm
-index b63febff8..7ed038d3a 100644
---- module/system/base/types.scm
-+++ module/system/base/types.scm
-@@ -20,7 +20,6 @@
-   #:use-module (srfi srfi-1)
-   #:use-module (srfi srfi-9)
-   #:use-module (srfi srfi-9 gnu)
--  #:use-module (srfi srfi-11)
-   #:use-module (srfi srfi-26)
-   #:use-module (srfi srfi-60)
-   #:use-module (ice-9 match)
-diff --git module/system/repl/command.scm module/system/repl/command.scm
-index 0024fd165..74187270a 100644
---- module/system/repl/command.scm
-+++ module/system/repl/command.scm
-@@ -20,7 +20,6 @@
- ;;; Code:
- 
- (define-module (system repl command)
--  #:use-module (system base syntax)
-   #:use-module (system base pmatch)
-   #:autoload   (system base compile) (compile-file)
-   #:use-module (system repl common)
-@@ -31,14 +30,12 @@
-   #:use-module (system vm loader)
-   #:use-module (system vm program)
-   #:use-module (system vm trap-state)
--  #:use-module (system vm vm)
-   #:autoload (system base language) (lookup-language language-reader
-                                      language-title language-name)
-   #:autoload (system vm trace) (call-with-trace)
-   #:use-module (ice-9 format)
-   #:use-module (ice-9 session)
-   #:use-module (ice-9 documentation)
--  #:use-module (ice-9 and-let-star)
-   #:use-module (ice-9 rdelim)
-   #:use-module (ice-9 control)
-   #:use-module ((ice-9 pretty-print) #:select ((pretty-print . pp)))
-diff --git module/system/repl/common.scm module/system/repl/common.scm
-index 8c5426d37..59b5c494a 100644
---- module/system/repl/common.scm
-+++ module/system/repl/common.scm
-@@ -22,8 +22,6 @@
-   #:use-module (system base syntax)
-   #:use-module (system base compile)
-   #:use-module (system base language)
--  #:use-module (system base message)
--  #:use-module (system vm program)
-   #:use-module (system vm loader)
-   #:use-module (ice-9 control)
-   #:use-module (ice-9 copy-tree)
-diff --git module/system/repl/coop-server.scm module/system/repl/coop-server.scm
-index c29bbd645..aaab44f6e 100644
---- module/system/repl/coop-server.scm
-+++ module/system/repl/coop-server.scm
-@@ -21,7 +21,6 @@
- 
- (define-module (system repl coop-server)
-   #:use-module (ice-9 match)
--  #:use-module (ice-9 receive)
-   #:use-module (ice-9 threads)
-   #:use-module (ice-9 q)
-   #:use-module (srfi srfi-9)
-diff --git module/system/repl/debug.scm module/system/repl/debug.scm
-index 383d37921..c83241340 100644
---- module/system/repl/debug.scm
-+++ module/system/repl/debug.scm
-@@ -19,17 +19,11 @@
- ;;; Code:
- 
- (define-module (system repl debug)
--  #:use-module (system base pmatch)
-   #:use-module (system base syntax)
--  #:use-module (system base language)
--  #:use-module (system vm vm)
-   #:use-module (system vm frame)
-   #:use-module (system vm debug)
-   #:use-module (ice-9 format)
-   #:use-module (ice-9 match)
--  #:use-module (ice-9 rdelim)
--  #:use-module (ice-9 pretty-print)
--  #:use-module ((system vm inspect) #:select ((inspect . %inspect)))
-   #:use-module (system vm program)
-   #:export (<debug>
-             make-debug debug?
-diff --git module/system/repl/error-handling.scm module/system/repl/error-handling.scm
-index 8d5a8a5f0..c12ca6f4a 100644
---- module/system/repl/error-handling.scm
-+++ module/system/repl/error-handling.scm
-@@ -20,7 +20,6 @@
- ;;; Code:
- 
- (define-module (system repl error-handling)
--  #:use-module (system base pmatch)
-   #:use-module (system vm trap-state)
-   #:use-module (system repl debug)
-   #:use-module (ice-9 format)
-diff --git module/system/repl/repl.scm module/system/repl/repl.scm
-index 5b27125f1..d83d28759 100644
---- module/system/repl/repl.scm
-+++ module/system/repl/repl.scm
-@@ -21,11 +21,7 @@
- ;;; Code:
- 
- (define-module (system repl repl)
--  #:use-module (system base syntax)
--  #:use-module (system base pmatch)
--  #:use-module (system base compile)
-   #:use-module (system base language)
--  #:use-module (system vm vm)
-   #:use-module (system repl error-handling)
-   #:use-module (system repl common)
-   #:use-module (system repl command)
-diff --git module/system/repl/server.scm module/system/repl/server.scm
-index 7a04affe9..9a8f51c5b 100644
---- module/system/repl/server.scm
-+++ module/system/repl/server.scm
-@@ -27,7 +27,6 @@
-   #:use-module (ice-9 iconv)
-   #:use-module (rnrs bytevectors)
-   #:use-module (ice-9 binary-ports)
--  #:use-module (srfi srfi-1)
-   #:use-module (srfi srfi-26)           ; cut
-   #:export (make-tcp-server-socket
-             make-unix-domain-server-socket
-diff --git module/system/vm/assembler.scm module/system/vm/assembler.scm
-index 165976363..33f3018f6 100644
---- module/system/vm/assembler.scm
-+++ module/system/vm/assembler.scm
-@@ -51,12 +51,10 @@
-   #:use-module (system syntax internal)
-   #:use-module (language bytecode)
-   #:use-module (rnrs bytevectors)
--  #:use-module (rnrs bytevectors gnu)
-   #:use-module (ice-9 binary-ports)
-   #:use-module (ice-9 vlist)
-   #:use-module (ice-9 match)
-   #:use-module (srfi srfi-1)
--  #:use-module (srfi srfi-4)
-   #:use-module (srfi srfi-9)
-   #:use-module (srfi srfi-11)
-   #:export (make-assembler
-diff --git module/system/vm/disassembler.scm module/system/vm/disassembler.scm
-index 2c9755ab9..ac1d21639 100644
---- module/system/vm/disassembler.scm
-+++ module/system/vm/disassembler.scm
-@@ -29,9 +29,7 @@
-   #:use-module (rnrs bytevectors)
-   #:use-module (ice-9 format)
-   #:use-module (ice-9 match)
--  #:use-module (ice-9 vlist)
-   #:use-module (srfi srfi-1)
--  #:use-module (srfi srfi-4)
-   #:export (disassemble-program
-             fold-program-code
-             disassemble-image
-diff --git module/system/vm/dwarf.scm module/system/vm/dwarf.scm
-index f3e45c758..587906c9e 100644
---- module/system/vm/dwarf.scm
-+++ module/system/vm/dwarf.scm
-@@ -71,8 +71,6 @@
- 
- (define-module (system vm dwarf)
-   #:use-module (rnrs bytevectors)
--  #:use-module (system foreign)
--  #:use-module (system base target)
-   #:use-module (system vm elf)
-   #:use-module ((srfi srfi-1) #:select (fold))
-   #:use-module (srfi srfi-9)
-diff --git module/system/vm/elf.scm module/system/vm/elf.scm
-index 6ee62f129..8cd142bbe 100644
---- module/system/vm/elf.scm
-+++ module/system/vm/elf.scm
-@@ -36,8 +36,6 @@
-   #:use-module (system foreign)
-   #:use-module (system base target)
-   #:use-module (srfi srfi-9)
--  #:use-module (ice-9 receive)
--  #:use-module (ice-9 vlist)
-   #:export (has-elf-header?
- 
-             (make-elf* . make-elf)
-diff --git module/system/vm/frame.scm module/system/vm/frame.scm
-index 6b14fc62a..9218bf3b2 100644
---- module/system/vm/frame.scm
-+++ module/system/vm/frame.scm
-@@ -19,8 +19,6 @@
- ;;; Code:
- 
- (define-module (system vm frame)
--  #:use-module (system base pmatch)
--  #:use-module (system foreign)
-   #:use-module (system vm program)
-   #:use-module (system vm debug)
-   #:use-module (system vm disassembler)
-diff --git module/system/vm/inspect.scm module/system/vm/inspect.scm
-index 1f6d99d19..4825fa234 100644
---- module/system/vm/inspect.scm
-+++ module/system/vm/inspect.scm
-@@ -19,12 +19,7 @@
- ;;; Code:
- 
- (define-module (system vm inspect)
--  #:use-module (system base pmatch)
--  #:use-module (system base syntax)
--  #:use-module (system vm vm)
--  #:use-module (system vm frame)
-   #:use-module (system vm disassembler)
--  #:use-module (ice-9 rdelim)
-   #:use-module (ice-9 pretty-print)
-   #:use-module (ice-9 format)
-   #:use-module (system vm program)
-diff --git module/system/vm/linker.scm module/system/vm/linker.scm
-index e126cfb0d..cf213323e 100644
---- module/system/vm/linker.scm
-+++ module/system/vm/linker.scm
-@@ -67,9 +67,7 @@
- (define-module (system vm linker)
-   #:use-module (rnrs bytevectors)
-   #:use-module (rnrs bytevectors gnu)
--  #:use-module (system foreign)
-   #:use-module (system base target)
--  #:use-module ((srfi srfi-1) #:select (append-map))
-   #:use-module (srfi srfi-9)
-   #:use-module (ice-9 binary-ports)
-   #:use-module (ice-9 receive)
-diff --git module/system/vm/program.scm module/system/vm/program.scm
-index e5dbcc089..4858d5158 100644
---- module/system/vm/program.scm
-+++ module/system/vm/program.scm
-@@ -21,7 +21,6 @@
- (define-module (system vm program)
-   #:use-module (ice-9 match)
-   #:use-module (system vm debug)
--  #:use-module (rnrs bytevectors)
-   #:use-module (srfi srfi-1)
-   #:use-module (srfi srfi-26)
-   #:export (source:addr source:line source:column source:file
-diff --git module/system/vm/trace.scm module/system/vm/trace.scm
-index 54840d8fd..c1eaffa9c 100644
---- module/system/vm/trace.scm
-+++ module/system/vm/trace.scm
-@@ -19,12 +19,9 @@
- ;;; Code:
- 
- (define-module (system vm trace)
--  #:use-module (system base syntax)
-   #:use-module (system vm vm)
-   #:use-module (system vm frame)
--  #:use-module (system vm program)
-   #:use-module (system vm traps)
--  #:use-module (rnrs bytevectors)
-   #:use-module (ice-9 format)
-   #:export (trace-calls-in-procedure
-             trace-calls-to-procedure
-diff --git module/system/vm/trap-state.scm module/system/vm/trap-state.scm
-index 464740bcd..ba4cc6b31 100644
---- module/system/vm/trap-state.scm
-+++ module/system/vm/trap-state.scm
-@@ -26,7 +26,6 @@
-   #:use-module (system vm vm)
-   #:use-module (system vm traps)
-   #:use-module (system vm trace)
--  #:use-module (system vm frame)
-   #:use-module (system vm program)
-   #:export (add-trap!
-             list-traps
-diff --git module/system/vm/traps.scm module/system/vm/traps.scm
-index 76be8d7d3..cd0e13cc9 100644
---- module/system/vm/traps.scm
-+++ module/system/vm/traps.scm
-@@ -58,10 +58,8 @@
-   #:use-module (ice-9 match)
-   #:use-module (system vm vm)
-   #:use-module (system vm debug)
--  #:use-module (system vm frame)
-   #:use-module (system vm program)
-   #:use-module (system xref)
--  #:use-module (rnrs bytevectors)
-   #:export (trap-at-procedure-call
-             trap-in-procedure
-             trap-instructions-in-procedure
-diff --git module/system/xref.scm module/system/xref.scm
-index e335f9481..104bf3edf 100644
---- module/system/xref.scm
-+++ module/system/xref.scm
-@@ -17,7 +17,6 @@
- 
- 
- (define-module (system xref)
--  #:use-module (system base compile)
-   #:use-module (system vm program)
-   #:use-module (system vm disassembler)
-   #:use-module (ice-9 match)
-diff --git module/texinfo/indexing.scm module/texinfo/indexing.scm
-index d7d10cd69..c77013d7d 100644
---- module/texinfo/indexing.scm
-+++ module/texinfo/indexing.scm
-@@ -29,7 +29,6 @@
- 
- (define-module (texinfo indexing)
-   #:use-module (sxml simple)
--  #:use-module (srfi srfi-13)
-   #:export (stexi-extract-index))
- 
- (define defines
-diff --git module/texinfo/plain-text.scm module/texinfo/plain-text.scm
-index 5ea99c86b..666df74f5 100644
---- module/texinfo/plain-text.scm
-+++ module/texinfo/plain-text.scm
-@@ -26,11 +26,8 @@
- ;;; Code:
- 
- (define-module (texinfo plain-text)
--  #:use-module (texinfo)
-   #:use-module (texinfo string-utils)
--  #:use-module (sxml transform)
-   #:use-module (srfi srfi-1)
--  #:use-module (srfi srfi-13)
-   #:use-module (ice-9 match)
-   #:export (stexi->plain-text
-             *line-width*))
-diff --git module/texinfo/reflection.scm module/texinfo/reflection.scm
-index 50cb2ab05..4ff11995c 100644
---- module/texinfo/reflection.scm
-+++ module/texinfo/reflection.scm
-@@ -33,10 +33,8 @@
-   #:use-module (oop goops)
-   #:use-module (texinfo)
-   #:use-module (texinfo plain-text)
--  #:use-module (srfi srfi-13)
-   #:use-module (ice-9 session)
-   #:use-module (ice-9 documentation)
--  #:use-module (ice-9 optargs)
-   #:use-module ((sxml transform) #:select (pre-post-order))
-   #:export (module-stexi-documentation
-             script-stexi-documentation
-diff --git module/texinfo/string-utils.scm module/texinfo/string-utils.scm
-index 42074d334..0d2c994d7 100644
---- module/texinfo/string-utils.scm
-+++ module/texinfo/string-utils.scm
-@@ -24,8 +24,6 @@
- ;;; Code:
- 
- (define-module (texinfo string-utils)
--  #:use-module (srfi srfi-13)
--  #:use-module (srfi srfi-14)
-   #:export (escape-special-chars
-             transform-string
-             expand-tabs
-diff --git module/web/client.scm module/web/client.scm
-index a08c4203c..6c54c5021 100644
---- module/web/client.scm
-+++ module/web/client.scm
-@@ -36,7 +36,6 @@
-   #:use-module (ice-9 binary-ports)
-   #:use-module (ice-9 copy-tree)
-   #:use-module (ice-9 iconv)
--  #:use-module (ice-9 rdelim)
-   #:use-module (web request)
-   #:use-module (web response)
-   #:use-module (web uri)
-@@ -45,8 +44,6 @@
-   #:use-module (srfi srfi-9)
-   #:use-module (srfi srfi-9 gnu)
-   #:use-module (srfi srfi-26)
--  #:use-module ((rnrs io ports)
--                #:prefix rnrs-ports:)
-   #:use-module (ice-9 match)
-   #:autoload   (ice-9 ftw) (scandir)
-   #:export (current-http-proxy
-diff --git module/web/http.scm module/web/http.scm
-index 29736f2eb..94f9c7ea8 100644
---- module/web/http.scm
-+++ module/web/http.scm
-@@ -30,7 +30,6 @@
- ;;; Code:
- 
- (define-module (web http)
--  #:use-module ((srfi srfi-1) #:select (append-map! map!))
-   #:use-module (srfi srfi-9)
-   #:use-module (srfi srfi-19)
-   #:use-module (ice-9 rdelim)
-@@ -39,7 +38,6 @@
-   #:use-module (ice-9 binary-ports)
-   #:use-module (ice-9 textual-ports)
-   #:use-module (ice-9 exceptions)
--  #:use-module (rnrs bytevectors)
-   #:use-module (web uri)
-   #:export (string->header
-             header->string
-diff --git module/web/request.scm module/web/request.scm
-index eea32e9ce..ff4b94485 100644
---- module/web/request.scm
-+++ module/web/request.scm
-@@ -23,7 +23,6 @@
-   #:use-module (rnrs bytevectors)
-   #:use-module (ice-9 binary-ports)
-   #:use-module (ice-9 textual-ports)
--  #:use-module (ice-9 rdelim)
-   #:use-module (srfi srfi-9)
-   #:use-module (web uri)
-   #:use-module (web http)
-diff --git module/web/response.scm module/web/response.scm
-index 06e1c6dc1..4ac4d74ca 100644
---- module/web/response.scm
-+++ module/web/response.scm
-@@ -20,10 +20,8 @@
- ;;; Code:
- 
- (define-module (web response)
--  #:use-module (rnrs bytevectors)
-   #:use-module (ice-9 binary-ports)
-   #:use-module (ice-9 textual-ports)
--  #:use-module (ice-9 rdelim)
-   #:use-module (ice-9 match)
-   #:use-module (srfi srfi-9)
-   #:use-module (web http)
diff --git a/lang/guile3/files/patch-configure b/lang/guile3/files/patch-configure
index 9225b2f7a720..92cc19c29983 100644
--- a/lang/guile3/files/patch-configure
+++ b/lang/guile3/files/patch-configure
@@ -1,6 +1,6 @@
---- configure.orig	2023-05-25 12:23:46 UTC
+--- configure.orig	2024-06-23 21:38:45 UTC
 +++ configure
-@@ -60073,6 +60073,15 @@ then :
+@@ -60113,6 +60113,15 @@ fi
  
  fi
  
diff --git a/lang/guile3/files/patch-libguile_Makefile.in b/lang/guile3/files/patch-libguile_Makefile.in
index f47c1871ad0d..8010ea064d5e 100644
--- a/lang/guile3/files/patch-libguile_Makefile.in
+++ b/lang/guile3/files/patch-libguile_Makefile.in
@@ -1,15 +1,15 @@
---- libguile/Makefile.in.orig	2023-05-16 18:13:33 UTC
+--- libguile/Makefile.in.orig	2024-07-27 15:28:39 UTC
 +++ libguile/Makefile.in
-@@ -2535,7 +2535,7 @@ EXTRA_libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES = 
+@@ -2539,7 +2539,7 @@ INSTANTIATE = \
      mini-gmp.h
  
  INSTANTIATE = \
--  $(SED) -i -e 's,[@]pkgdatadir[@],$(pkgdatadir),g'				\
-+  $(SED) -i '' -e 's,[@]pkgdatadir[@],$(pkgdatadir),g'				\
-             -e 's,[@]pkglibdir[@],$(pkglibdir),g'				\
-             -e 's,[@]GUILE_EFFECTIVE_VERSION[@],$(GUILE_EFFECTIVE_VERSION),g'
+-  $(SED) -e 's,[@]pkgdatadir[@],$(pkgdatadir),g'				\
++  $(SED) -i '' -e 's,[@]pkgdatadir[@],$(pkgdatadir),g'			\
+          -e 's,[@]pkglibdir[@],$(pkglibdir),g'					\
+          -e 's,[@]GUILE_EFFECTIVE_VERSION[@],$(GUILE_EFFECTIVE_VERSION),g'
  
-@@ -4633,7 +4633,7 @@ uninstall-hook:
+@@ -4648,7 +4648,7 @@ uninstall-hook:
  @MINGW_LIBPATH_FALSE@	@echo '	{ "LIBS",	   "@GUILE_LIBS@" }, \' >> libpath.tmp
  @MINGW_LIBPATH_FALSE@	@echo '	{ "CFLAGS",	   "@GUILE_CFLAGS@" }, \' >> libpath.tmp
  @MINGW_LIBPATH_FALSE@	@BUILD_DATE="$${SOURCE_DATE_EPOCH:-`date '+%s'`}" ; \
diff --git a/lang/guile3/pkg-plist b/lang/guile3/pkg-plist
index e09e5e86400c..9d734cbe3ba8 100644
--- a/lang/guile3/pkg-plist
+++ b/lang/guile3/pkg-plist
@@ -147,6 +147,7 @@ lib/guile/%%GUILE_VER%%/ccache/ice-9/common-list.go
 lib/guile/%%GUILE_VER%%/ccache/ice-9/control.go
 lib/guile/%%GUILE_VER%%/ccache/ice-9/copy-tree.go
 lib/guile/%%GUILE_VER%%/ccache/ice-9/curried-definitions.go
+lib/guile/%%GUILE_VER%%/ccache/ice-9/custom-ports.go
 lib/guile/%%GUILE_VER%%/ccache/ice-9/deprecated.go
 lib/guile/%%GUILE_VER%%/ccache/ice-9/documentation.go
 lib/guile/%%GUILE_VER%%/ccache/ice-9/eval-string.go
@@ -202,6 +203,7 @@ lib/guile/%%GUILE_VER%%/ccache/ice-9/scm-style-repl.go
 lib/guile/%%GUILE_VER%%/ccache/ice-9/serialize.go
 lib/guile/%%GUILE_VER%%/ccache/ice-9/session.go
 lib/guile/%%GUILE_VER%%/ccache/ice-9/slib.go
+lib/guile/%%GUILE_VER%%/ccache/ice-9/soft-ports.go
 lib/guile/%%GUILE_VER%%/ccache/ice-9/stack-catch.go
 lib/guile/%%GUILE_VER%%/ccache/ice-9/streams.go
 lib/guile/%%GUILE_VER%%/ccache/ice-9/string-fun.go
@@ -230,14 +232,16 @@ lib/guile/%%GUILE_VER%%/ccache/language/cps/dump.go
 lib/guile/%%GUILE_VER%%/ccache/language/cps/effects-analysis.go
 lib/guile/%%GUILE_VER%%/ccache/language/cps/elide-arity-checks.go
 lib/guile/%%GUILE_VER%%/ccache/language/cps/graphs.go
+lib/guile/%%GUILE_VER%%/ccache/language/cps/guile-vm.go
+lib/guile/%%GUILE_VER%%/ccache/language/cps/guile-vm/loop-instrumentation.go
+lib/guile/%%GUILE_VER%%/ccache/language/cps/guile-vm/lower-primcalls.go
+lib/guile/%%GUILE_VER%%/ccache/language/cps/guile-vm/reify-primitives.go
 lib/guile/%%GUILE_VER%%/ccache/language/cps/intmap.go
 lib/guile/%%GUILE_VER%%/ccache/language/cps/intset.go
 lib/guile/%%GUILE_VER%%/ccache/language/cps/licm.go
-lib/guile/%%GUILE_VER%%/ccache/language/cps/loop-instrumentation.go
 lib/guile/%%GUILE_VER%%/ccache/language/cps/optimize.go
 lib/guile/%%GUILE_VER%%/ccache/language/cps/peel-loops.go
 lib/guile/%%GUILE_VER%%/ccache/language/cps/prune-top-level-scopes.go
-lib/guile/%%GUILE_VER%%/ccache/language/cps/reify-primitives.go
 lib/guile/%%GUILE_VER%%/ccache/language/cps/renumber.go
 lib/guile/%%GUILE_VER%%/ccache/language/cps/return-types.go
 lib/guile/%%GUILE_VER%%/ccache/language/cps/rotate-loops.go
@@ -282,6 +286,7 @@ lib/guile/%%GUILE_VER%%/ccache/language/tree-il/compile-bytecode.go
 lib/guile/%%GUILE_VER%%/ccache/language/tree-il/compile-cps.go
 lib/guile/%%GUILE_VER%%/ccache/language/tree-il/cps-primitives.go
 lib/guile/%%GUILE_VER%%/ccache/language/tree-il/debug.go
+lib/guile/%%GUILE_VER%%/ccache/language/tree-il/demux-lambda.go
 lib/guile/%%GUILE_VER%%/ccache/language/tree-il/effects.go
 lib/guile/%%GUILE_VER%%/ccache/language/tree-il/eta-expand.go
 lib/guile/%%GUILE_VER%%/ccache/language/tree-il/fix-letrec.go
@@ -293,6 +298,8 @@ lib/guile/%%GUILE_VER%%/ccache/language/tree-il/primitives.go
 lib/guile/%%GUILE_VER%%/ccache/language/tree-il/resolve-free-vars.go
 lib/guile/%%GUILE_VER%%/ccache/language/tree-il/spec.go
 lib/guile/%%GUILE_VER%%/ccache/language/value/spec.go
+lib/guile/%%GUILE_VER%%/ccache/language/wisp.go
+lib/guile/%%GUILE_VER%%/ccache/language/wisp/spec.go
 lib/guile/%%GUILE_VER%%/ccache/oop/goops.go
 lib/guile/%%GUILE_VER%%/ccache/oop/goops/accessors.go
 lib/guile/%%GUILE_VER%%/ccache/oop/goops/active-slot.go
@@ -474,8 +481,8 @@ lib/guile/%%GUILE_VER%%/extensions/guile-readline.so.0.0.0
 lib/libguile-%%GUILE_VER%%.a
 lib/libguile-%%GUILE_VER%%.so
 lib/libguile-%%GUILE_VER%%.so.1
-lib/libguile-%%GUILE_VER%%.so.1.6.0
-lib/libguile-%%GUILE_VER%%.so.1.6.0-gdb.scm
+lib/libguile-%%GUILE_VER%%.so.1.7.0
+lib/libguile-%%GUILE_VER%%.so.1.7.0-gdb.scm
 libdata/pkgconfig/guile-%%GUILE_VER%%.pc
 share/man/man1/guile%%GUILE_SFX%%.1.gz
 @comment share/aclocal/guile.m4
@@ -492,6 +499,7 @@ share/man/man1/guile%%GUILE_SFX%%.1.gz
 %%DATADIR%%/%%GUILE_VER%%/ice-9/control.scm
 %%DATADIR%%/%%GUILE_VER%%/ice-9/copy-tree.scm
 %%DATADIR%%/%%GUILE_VER%%/ice-9/curried-definitions.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/custom-ports.scm
 %%DATADIR%%/%%GUILE_VER%%/ice-9/deprecated.scm
 %%DATADIR%%/%%GUILE_VER%%/ice-9/documentation.scm
 %%DATADIR%%/%%GUILE_VER%%/ice-9/eval-string.scm
@@ -553,6 +561,7 @@ share/man/man1/guile%%GUILE_SFX%%.1.gz
 %%DATADIR%%/%%GUILE_VER%%/ice-9/serialize.scm
 %%DATADIR%%/%%GUILE_VER%%/ice-9/session.scm
 %%DATADIR%%/%%GUILE_VER%%/ice-9/slib.scm
+%%DATADIR%%/%%GUILE_VER%%/ice-9/soft-ports.scm
 %%DATADIR%%/%%GUILE_VER%%/ice-9/stack-catch.scm
 %%DATADIR%%/%%GUILE_VER%%/ice-9/streams.scm
 %%DATADIR%%/%%GUILE_VER%%/ice-9/string-fun.scm
@@ -581,14 +590,16 @@ share/man/man1/guile%%GUILE_SFX%%.1.gz
 %%DATADIR%%/%%GUILE_VER%%/language/cps/effects-analysis.scm
 %%DATADIR%%/%%GUILE_VER%%/language/cps/elide-arity-checks.scm
 %%DATADIR%%/%%GUILE_VER%%/language/cps/graphs.scm
+%%DATADIR%%/%%GUILE_VER%%/language/cps/guile-vm.scm
+%%DATADIR%%/%%GUILE_VER%%/language/cps/guile-vm/loop-instrumentation.scm
+%%DATADIR%%/%%GUILE_VER%%/language/cps/guile-vm/lower-primcalls.scm
+%%DATADIR%%/%%GUILE_VER%%/language/cps/guile-vm/reify-primitives.scm
 %%DATADIR%%/%%GUILE_VER%%/language/cps/intmap.scm
 %%DATADIR%%/%%GUILE_VER%%/language/cps/intset.scm
 %%DATADIR%%/%%GUILE_VER%%/language/cps/licm.scm
-%%DATADIR%%/%%GUILE_VER%%/language/cps/loop-instrumentation.scm
 %%DATADIR%%/%%GUILE_VER%%/language/cps/optimize.scm
 %%DATADIR%%/%%GUILE_VER%%/language/cps/peel-loops.scm
*** 22 LINES SKIPPED ***