mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
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.
This commit is contained in:
parent
230de2e94b
commit
0e480ca7b6
6 changed files with 4 additions and 120 deletions
|
@ -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 \
|
||||
|
|
|
@ -166,13 +166,7 @@ (define-public cuirass
|
|||
;; 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
|
||||
|
|
|
@ -391,19 +391,17 @@ (define-public guile-3.0
|
|||
(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)
|
||||
|
|
|
@ -510,30 +510,6 @@ (define* (channel-source->package source #:key commit)
|
|||
|
||||
(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
|
||||
|
|
|
@ -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;
|
|
@ -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");
|
Loading…
Reference in a new issue