summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-01-26 15:16:54 +0100
committerLudovic Courtès <ludo@gnu.org>2023-01-26 15:16:54 +0100
commit0e480ca7b60428a62fc4681d7aca6c7c067add42 (patch)
tree146c8f2449e1f75a4fb0091b21e57528fe583461 /gnu
parent230de2e94b0041c5b6212449334f7c2d6254768a (diff)
gnu: guile: Update to 3.0.9.
* gnu/packages/guile.scm (guile-3.0-latest): Update to 3.0.9. * gnu/packages/package-management.scm (guix-for-cuirass): Remove. * gnu/packages/ci.scm (cuirass)[inputs]: Replace 'guix-for-cuirass' with 'guix'. * gnu/packages/patches/guile-continuation-stack-leak.patch, gnu/packages/patches/guile-cross-compilation.patch: Remove. * gnu/local.mk (dist_patch_DATA): Remove them.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/ci.scm8
-rw-r--r--gnu/packages/guile.scm8
-rw-r--r--gnu/packages/package-management.scm24
-rw-r--r--gnu/packages/patches/guile-continuation-stack-leak.patch27
-rw-r--r--gnu/packages/patches/guile-cross-compilation.patch55
6 files changed, 4 insertions, 120 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 7fd658abac..29237b1138 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1279,8 +1279,6 @@ dist_patch_DATA = \
%D%/packages/patches/guile-linux-syscalls.patch \
%D%/packages/patches/guile-3.0-linux-syscalls.patch \
%D%/packages/patches/guile-ac-d-bus-fix-tests.patch \
- %D%/packages/patches/guile-continuation-stack-leak.patch \
- %D%/packages/patches/guile-cross-compilation.patch \
%D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \
%D%/packages/patches/guile-fibers-epoll-instance-is-dead.patch \
%D%/packages/patches/guile-fibers-fd-finalizer-leak.patch \
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index b78e8b739b..4380f327be 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -166,13 +166,7 @@
;; the inputs to add it to GUILE_LOAD_PATH.
guile-bytestructures
- ;; FIXME: The 'cuirass evaluate' command is multithreaded, but it
- ;; uses 'open-inferior', which calls 'primitive-fork', thus
- ;; potentially creating child processes that deadlock. To work
- ;; around that, use the last revision of Guix where
- ;; 'open-inferior' was using 'open-pipe*' rather than
- ;; 'primitive-fork'. See <https://issues.guix.gnu.org/55441>.
- guix-for-cuirass))
+ guix))
(native-inputs
(list autoconf automake pkg-config texinfo ephemeralpg))
(native-search-paths
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 5c0065279d..edf289e574 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -391,19 +391,17 @@ without requiring the source code to be rewritten.")
(define-public guile-3.0-latest
(package
(inherit guile-3.0)
- (version "3.0.8")
+ (version "3.0.9")
(source (origin
(inherit (package-source guile-3.0))
(uri (string-append "mirror://gnu/guile/guile-"
version ".tar.xz"))
(sha256
(base32
- "04wagg0zr0sib0w9ly5jm91jplgfigzfgmy8fjdlx07jaq50d9ys"))
- (patches (search-patches "guile-cross-compilation.patch"
- "guile-continuation-stack-leak.patch"))))
+ "03bm1mnfc9kkg2ls942a0js7bxrdzmcffgrgg6anwdmjfan2a9hs"))))
(arguments
(substitute-keyword-arguments (package-arguments guile-3.0)
- ;; Guile 3.0.8 is bit-reproducible when built in parallel, thanks to
+ ;; Guile 3.0.9 is bit-reproducible when built in parallel, thanks to
;; its multi-stage build process for cross-module inlining, except when
;; cross-compiling.
((#:parallel-build? _ #f)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 091febe6ac..6ae6f58b6b 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -510,30 +510,6 @@ the Nix package manager.")
(export channel-source->package)
-(define-public guix-for-cuirass
- ;; Known-good revision before commit
- ;; bd86bbd300474204878e927f6cd3f0defa1662a5, which introduced
- ;; 'primitive-fork' in 'open-inferior'.
- (let ((version "1.3.0")
- (commit "a27e47f9d1e22dc32bb250cfeef88cfacb930e23")
- (revision 23))
- (package
- (inherit guix)
- (version (string-append version "-"
- (number->string revision)
- "." (string-take commit 7)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.savannah.gnu.org/git/guix.git")
- (commit commit)))
- (sha256
- (base32
- "12jmvagbw05hmmlrb82i0qazhlv7mcfnl4dmknwx3a9hd760g9y1"))
- (file-name (string-append "guix-" version "-checkout"))))
- (properties `((hidden? . #t)
- ,@(package-properties guix))))))
-
(define-public guix-daemon
;; This package is for internal consumption: it allows us to quickly build
;; the 'guix-daemon' program and use that in (guix self), used by 'guix
diff --git a/gnu/packages/patches/guile-continuation-stack-leak.patch b/gnu/packages/patches/guile-continuation-stack-leak.patch
deleted file mode 100644
index 0e57b7bb4e..0000000000
--- a/gnu/packages/patches/guile-continuation-stack-leak.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-This patch fixes a memory leak when capturing and resuming delimited
-continuations intensively, as is the case with the Shepherd 0.9+:
-
- https://issues.guix.gnu.org/59021
-
-diff --git a/libguile/vm.c b/libguile/vm.c
-index 6fd5c554f..516bae773 100644
---- a/libguile/vm.c
-+++ b/libguile/vm.c
-@@ -165,11 +165,13 @@ capture_stack (union scm_vm_stack_element *stack_top,
- scm_t_dynstack *dynstack, uint32_t flags)
- {
- struct scm_vm_cont *p;
-+ size_t stack_size;
-
-- p = scm_gc_malloc (sizeof (*p), "capture_vm_cont");
-- p->stack_size = stack_top - sp;
-- p->stack_bottom = scm_gc_malloc (p->stack_size * sizeof (*p->stack_bottom),
-- "capture_vm_cont");
-+ stack_size = stack_top - sp;
-+ p = scm_gc_malloc (sizeof (*p) + stack_size * sizeof (*p->stack_bottom),
-+ "capture_vm_cont");
-+ p->stack_size = stack_size;
-+ p->stack_bottom = (void *) ((char *) p + sizeof (*p));
- p->vra = vra;
- p->mra = mra;
- p->fp_offset = stack_top - fp;
diff --git a/gnu/packages/patches/guile-cross-compilation.patch b/gnu/packages/patches/guile-cross-compilation.patch
deleted file mode 100644
index a594cb9421..0000000000
--- a/gnu/packages/patches/guile-cross-compilation.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-When cross-compiling, get type sizes of the host system, not the build system.
-
-This is Guile commit 24b30130ca75653bdbacea84ce0443608379d630, which
-fixes <https://issues.guix.gnu.org/54198>, with one difference: it uses
-8 instead of SIZEOF_INTMAX_T, such that we do not need to modify
-'configure.ac' to check for the size of 'intmax_t' and to run 'autoreconf'
-(libguile/numbers.c expects SCM_SIZEOF_INTMAX_T = 8).
-
-diff --git a/libguile/gen-scmconfig.c b/libguile/gen-scmconfig.c
-index 01b14f14d..691ebd0af 100644
---- a/libguile/gen-scmconfig.c
-+++ b/libguile/gen-scmconfig.c
-@@ -1,4 +1,4 @@
--/* Copyright 2003-2013,2018,2020,2021
-+/* Copyright 2003-2013, 2018, 2020-2022
- Free Software Foundation, Inc.
-
- This file is part of Guile.
-@@ -238,21 +238,21 @@ main (int argc, char *argv[])
- pf ("\n");
- pf ("/* Standard types. */\n");
-
-- pf ("#define SCM_SIZEOF_CHAR %zu\n", sizeof (char));
-- pf ("#define SCM_SIZEOF_UNSIGNED_CHAR %zu\n", sizeof (unsigned char));
-- pf ("#define SCM_SIZEOF_SHORT %zu\n", sizeof (short));
-- pf ("#define SCM_SIZEOF_UNSIGNED_SHORT %zu\n", sizeof (unsigned short));
-- pf ("#define SCM_SIZEOF_LONG %zu\n", sizeof (long));
-- pf ("#define SCM_SIZEOF_UNSIGNED_LONG %zu\n", sizeof (unsigned long));
-- pf ("#define SCM_SIZEOF_INT %zu\n", sizeof (int));
-- pf ("#define SCM_SIZEOF_UNSIGNED_INT %zu\n", sizeof (unsigned int));
-- pf ("#define SCM_SIZEOF_SIZE_T %zu\n", sizeof (size_t));
-- pf ("#define SCM_SIZEOF_LONG_LONG %zu\n", sizeof (long long));
-- pf ("#define SCM_SIZEOF_UNSIGNED_LONG_LONG %zu\n", sizeof (unsigned long long));
-- pf ("#define SCM_SIZEOF_INTMAX %zu\n", sizeof (intmax_t));
-- pf ("#define SCM_SIZEOF_SCM_T_PTRDIFF %zu\n", sizeof (ptrdiff_t));
-- pf ("#define SCM_SIZEOF_INTPTR_T %zu\n", sizeof (intptr_t));
-- pf ("#define SCM_SIZEOF_UINTPTR_T %zu\n", sizeof (uintptr_t));
-+ pf ("#define SCM_SIZEOF_CHAR %d\n", SIZEOF_CHAR);
-+ pf ("#define SCM_SIZEOF_UNSIGNED_CHAR %d\n", SIZEOF_UNSIGNED_CHAR);
-+ pf ("#define SCM_SIZEOF_SHORT %d\n", SIZEOF_SHORT);
-+ pf ("#define SCM_SIZEOF_UNSIGNED_SHORT %d\n", SIZEOF_UNSIGNED_SHORT);
-+ pf ("#define SCM_SIZEOF_LONG %d\n", SIZEOF_LONG);
-+ pf ("#define SCM_SIZEOF_UNSIGNED_LONG %d\n", SIZEOF_UNSIGNED_LONG);
-+ pf ("#define SCM_SIZEOF_INT %d\n", SIZEOF_INT);
-+ pf ("#define SCM_SIZEOF_UNSIGNED_INT %d\n", SIZEOF_UNSIGNED_INT);
-+ pf ("#define SCM_SIZEOF_SIZE_T %d\n", SIZEOF_SIZE_T);
-+ pf ("#define SCM_SIZEOF_LONG_LONG %d\n", SIZEOF_LONG_LONG);
-+ pf ("#define SCM_SIZEOF_UNSIGNED_LONG_LONG %d\n", SIZEOF_UNSIGNED_LONG_LONG);
-+ pf ("#define SCM_SIZEOF_INTMAX %d\n", 8); /* like SIZEOF_INTMAX_T */
-+ pf ("#define SCM_SIZEOF_SCM_T_PTRDIFF %d\n", SIZEOF_PTRDIFF_T);
-+ pf ("#define SCM_SIZEOF_INTPTR_T %d\n", SIZEOF_INTPTR_T);
-+ pf ("#define SCM_SIZEOF_UINTPTR_T %d\n", SIZEOF_UINTPTR_T);
-
- pf ("\n");
- pf ("/* same as POSIX \"struct timespec\" -- always defined */\n");