diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2023-01-26 15:16:54 +0100 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2023-01-26 15:16:54 +0100 |
| commit | 0e480ca7b60428a62fc4681d7aca6c7c067add42 (patch) | |
| tree | 146c8f2449e1f75a4fb0091b21e57528fe583461 | |
| parent | 230de2e94b0041c5b6212449334f7c2d6254768a (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.
| -rw-r--r-- | gnu/local.mk | 2 | ||||
| -rw-r--r-- | gnu/packages/ci.scm | 8 | ||||
| -rw-r--r-- | gnu/packages/guile.scm | 8 | ||||
| -rw-r--r-- | gnu/packages/package-management.scm | 24 | ||||
| -rw-r--r-- | gnu/packages/patches/guile-continuation-stack-leak.patch | 27 | ||||
| -rw-r--r-- | gnu/packages/patches/guile-cross-compilation.patch | 55 |
6 files changed, 4 insertions, 120 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 7fd658abace..29237b11387 100644 --- a/gnu/local.mk +++ b/gnu/local.mk | |||
| @@ -1279,8 +1279,6 @@ dist_patch_DATA = \ | |||
| 1279 | %D%/packages/patches/guile-linux-syscalls.patch \ | 1279 | %D%/packages/patches/guile-linux-syscalls.patch \ |
| 1280 | %D%/packages/patches/guile-3.0-linux-syscalls.patch \ | 1280 | %D%/packages/patches/guile-3.0-linux-syscalls.patch \ |
| 1281 | %D%/packages/patches/guile-ac-d-bus-fix-tests.patch \ | 1281 | %D%/packages/patches/guile-ac-d-bus-fix-tests.patch \ |
| 1282 | %D%/packages/patches/guile-continuation-stack-leak.patch \ | ||
| 1283 | %D%/packages/patches/guile-cross-compilation.patch \ | ||
| 1284 | %D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \ | 1282 | %D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \ |
| 1285 | %D%/packages/patches/guile-fibers-epoll-instance-is-dead.patch \ | 1283 | %D%/packages/patches/guile-fibers-epoll-instance-is-dead.patch \ |
| 1286 | %D%/packages/patches/guile-fibers-fd-finalizer-leak.patch \ | 1284 | %D%/packages/patches/guile-fibers-fd-finalizer-leak.patch \ |
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index b78e8b739b3..4380f327be0 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm | |||
| @@ -166,13 +166,7 @@ | |||
| 166 | ;; the inputs to add it to GUILE_LOAD_PATH. | 166 | ;; the inputs to add it to GUILE_LOAD_PATH. |
| 167 | guile-bytestructures | 167 | guile-bytestructures |
| 168 | 168 | ||
| 169 | ;; FIXME: The 'cuirass evaluate' command is multithreaded, but it | 169 | guix)) |
| 170 | ;; uses 'open-inferior', which calls 'primitive-fork', thus | ||
| 171 | ;; potentially creating child processes that deadlock. To work | ||
| 172 | ;; around that, use the last revision of Guix where | ||
| 173 | ;; 'open-inferior' was using 'open-pipe*' rather than | ||
| 174 | ;; 'primitive-fork'. See <https://issues.guix.gnu.org/55441>. | ||
| 175 | guix-for-cuirass)) | ||
| 176 | (native-inputs | 170 | (native-inputs |
| 177 | (list autoconf automake pkg-config texinfo ephemeralpg)) | 171 | (list autoconf automake pkg-config texinfo ephemeralpg)) |
| 178 | (native-search-paths | 172 | (native-search-paths |
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 5c0065279da..edf289e5743 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm | |||
| @@ -391,19 +391,17 @@ without requiring the source code to be rewritten.") | |||
| 391 | (define-public guile-3.0-latest | 391 | (define-public guile-3.0-latest |
| 392 | (package | 392 | (package |
| 393 | (inherit guile-3.0) | 393 | (inherit guile-3.0) |
| 394 | (version "3.0.8") | 394 | (version "3.0.9") |
| 395 | (source (origin | 395 | (source (origin |
| 396 | (inherit (package-source guile-3.0)) | 396 | (inherit (package-source guile-3.0)) |
| 397 | (uri (string-append "mirror://gnu/guile/guile-" | 397 | (uri (string-append "mirror://gnu/guile/guile-" |
| 398 | version ".tar.xz")) | 398 | version ".tar.xz")) |
| 399 | (sha256 | 399 | (sha256 |
| 400 | (base32 | 400 | (base32 |
| 401 | "04wagg0zr0sib0w9ly5jm91jplgfigzfgmy8fjdlx07jaq50d9ys")) | 401 | "03bm1mnfc9kkg2ls942a0js7bxrdzmcffgrgg6anwdmjfan2a9hs")))) |
| 402 | (patches (search-patches "guile-cross-compilation.patch" | ||
| 403 | "guile-continuation-stack-leak.patch")))) | ||
| 404 | (arguments | 402 | (arguments |
| 405 | (substitute-keyword-arguments (package-arguments guile-3.0) | 403 | (substitute-keyword-arguments (package-arguments guile-3.0) |
| 406 | ;; Guile 3.0.8 is bit-reproducible when built in parallel, thanks to | 404 | ;; Guile 3.0.9 is bit-reproducible when built in parallel, thanks to |
| 407 | ;; its multi-stage build process for cross-module inlining, except when | 405 | ;; its multi-stage build process for cross-module inlining, except when |
| 408 | ;; cross-compiling. | 406 | ;; cross-compiling. |
| 409 | ((#:parallel-build? _ #f) | 407 | ((#:parallel-build? _ #f) |
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 091febe6ac3..6ae6f58b6ba 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm | |||
| @@ -510,30 +510,6 @@ the Nix package manager.") | |||
| 510 | 510 | ||
| 511 | (export channel-source->package) | 511 | (export channel-source->package) |
| 512 | 512 | ||
| 513 | (define-public guix-for-cuirass | ||
| 514 | ;; Known-good revision before commit | ||
| 515 | ;; bd86bbd300474204878e927f6cd3f0defa1662a5, which introduced | ||
| 516 | ;; 'primitive-fork' in 'open-inferior'. | ||
| 517 | (let ((version "1.3.0") | ||
| 518 | (commit "a27e47f9d1e22dc32bb250cfeef88cfacb930e23") | ||
| 519 | (revision 23)) | ||
| 520 | (package | ||
| 521 | (inherit guix) | ||
| 522 | (version (string-append version "-" | ||
| 523 | (number->string revision) | ||
| 524 | "." (string-take commit 7))) | ||
| 525 | (source (origin | ||
| 526 | (method git-fetch) | ||
| 527 | (uri (git-reference | ||
| 528 | (url "https://git.savannah.gnu.org/git/guix.git") | ||
| 529 | (commit commit))) | ||
| 530 | (sha256 | ||
| 531 | (base32 | ||
| 532 | "12jmvagbw05hmmlrb82i0qazhlv7mcfnl4dmknwx3a9hd760g9y1")) | ||
| 533 | (file-name (string-append "guix-" version "-checkout")))) | ||
| 534 | (properties `((hidden? . #t) | ||
| 535 | ,@(package-properties guix)))))) | ||
| 536 | |||
| 537 | (define-public guix-daemon | 513 | (define-public guix-daemon |
| 538 | ;; This package is for internal consumption: it allows us to quickly build | 514 | ;; This package is for internal consumption: it allows us to quickly build |
| 539 | ;; the 'guix-daemon' program and use that in (guix self), used by 'guix | 515 | ;; 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 0e57b7bb4e3..00000000000 --- a/gnu/packages/patches/guile-continuation-stack-leak.patch +++ /dev/null | |||
| @@ -1,27 +0,0 @@ | |||
| 1 | This patch fixes a memory leak when capturing and resuming delimited | ||
| 2 | continuations intensively, as is the case with the Shepherd 0.9+: | ||
| 3 | |||
| 4 | https://issues.guix.gnu.org/59021 | ||
| 5 | |||
| 6 | diff --git a/libguile/vm.c b/libguile/vm.c | ||
| 7 | index 6fd5c554f..516bae773 100644 | ||
| 8 | --- a/libguile/vm.c | ||
| 9 | +++ b/libguile/vm.c | ||
| 10 | @@ -165,11 +165,13 @@ capture_stack (union scm_vm_stack_element *stack_top, | ||
| 11 | scm_t_dynstack *dynstack, uint32_t flags) | ||
| 12 | { | ||
| 13 | struct scm_vm_cont *p; | ||
| 14 | + size_t stack_size; | ||
| 15 | |||
| 16 | - p = scm_gc_malloc (sizeof (*p), "capture_vm_cont"); | ||
| 17 | - p->stack_size = stack_top - sp; | ||
| 18 | - p->stack_bottom = scm_gc_malloc (p->stack_size * sizeof (*p->stack_bottom), | ||
| 19 | - "capture_vm_cont"); | ||
| 20 | + stack_size = stack_top - sp; | ||
| 21 | + p = scm_gc_malloc (sizeof (*p) + stack_size * sizeof (*p->stack_bottom), | ||
| 22 | + "capture_vm_cont"); | ||
| 23 | + p->stack_size = stack_size; | ||
| 24 | + p->stack_bottom = (void *) ((char *) p + sizeof (*p)); | ||
| 25 | p->vra = vra; | ||
| 26 | p->mra = mra; | ||
| 27 | 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 a594cb9421e..00000000000 --- a/gnu/packages/patches/guile-cross-compilation.patch +++ /dev/null | |||
| @@ -1,55 +0,0 @@ | |||
| 1 | When cross-compiling, get type sizes of the host system, not the build system. | ||
| 2 | |||
| 3 | This is Guile commit 24b30130ca75653bdbacea84ce0443608379d630, which | ||
| 4 | fixes <https://issues.guix.gnu.org/54198>, with one difference: it uses | ||
| 5 | 8 instead of SIZEOF_INTMAX_T, such that we do not need to modify | ||
| 6 | 'configure.ac' to check for the size of 'intmax_t' and to run 'autoreconf' | ||
| 7 | (libguile/numbers.c expects SCM_SIZEOF_INTMAX_T = 8). | ||
| 8 | |||
| 9 | diff --git a/libguile/gen-scmconfig.c b/libguile/gen-scmconfig.c | ||
| 10 | index 01b14f14d..691ebd0af 100644 | ||
| 11 | --- a/libguile/gen-scmconfig.c | ||
| 12 | +++ b/libguile/gen-scmconfig.c | ||
| 13 | @@ -1,4 +1,4 @@ | ||
| 14 | -/* Copyright 2003-2013,2018,2020,2021 | ||
| 15 | +/* Copyright 2003-2013, 2018, 2020-2022 | ||
| 16 | Free Software Foundation, Inc. | ||
| 17 | |||
| 18 | This file is part of Guile. | ||
| 19 | @@ -238,21 +238,21 @@ main (int argc, char *argv[]) | ||
| 20 | pf ("\n"); | ||
| 21 | pf ("/* Standard types. */\n"); | ||
| 22 | |||
| 23 | - pf ("#define SCM_SIZEOF_CHAR %zu\n", sizeof (char)); | ||
| 24 | - pf ("#define SCM_SIZEOF_UNSIGNED_CHAR %zu\n", sizeof (unsigned char)); | ||
| 25 | - pf ("#define SCM_SIZEOF_SHORT %zu\n", sizeof (short)); | ||
| 26 | - pf ("#define SCM_SIZEOF_UNSIGNED_SHORT %zu\n", sizeof (unsigned short)); | ||
| 27 | - pf ("#define SCM_SIZEOF_LONG %zu\n", sizeof (long)); | ||
| 28 | - pf ("#define SCM_SIZEOF_UNSIGNED_LONG %zu\n", sizeof (unsigned long)); | ||
| 29 | - pf ("#define SCM_SIZEOF_INT %zu\n", sizeof (int)); | ||
| 30 | - pf ("#define SCM_SIZEOF_UNSIGNED_INT %zu\n", sizeof (unsigned int)); | ||
| 31 | - pf ("#define SCM_SIZEOF_SIZE_T %zu\n", sizeof (size_t)); | ||
| 32 | - pf ("#define SCM_SIZEOF_LONG_LONG %zu\n", sizeof (long long)); | ||
| 33 | - pf ("#define SCM_SIZEOF_UNSIGNED_LONG_LONG %zu\n", sizeof (unsigned long long)); | ||
| 34 | - pf ("#define SCM_SIZEOF_INTMAX %zu\n", sizeof (intmax_t)); | ||
| 35 | - pf ("#define SCM_SIZEOF_SCM_T_PTRDIFF %zu\n", sizeof (ptrdiff_t)); | ||
| 36 | - pf ("#define SCM_SIZEOF_INTPTR_T %zu\n", sizeof (intptr_t)); | ||
| 37 | - pf ("#define SCM_SIZEOF_UINTPTR_T %zu\n", sizeof (uintptr_t)); | ||
| 38 | + pf ("#define SCM_SIZEOF_CHAR %d\n", SIZEOF_CHAR); | ||
| 39 | + pf ("#define SCM_SIZEOF_UNSIGNED_CHAR %d\n", SIZEOF_UNSIGNED_CHAR); | ||
| 40 | + pf ("#define SCM_SIZEOF_SHORT %d\n", SIZEOF_SHORT); | ||
| 41 | + pf ("#define SCM_SIZEOF_UNSIGNED_SHORT %d\n", SIZEOF_UNSIGNED_SHORT); | ||
| 42 | + pf ("#define SCM_SIZEOF_LONG %d\n", SIZEOF_LONG); | ||
| 43 | + pf ("#define SCM_SIZEOF_UNSIGNED_LONG %d\n", SIZEOF_UNSIGNED_LONG); | ||
| 44 | + pf ("#define SCM_SIZEOF_INT %d\n", SIZEOF_INT); | ||
| 45 | + pf ("#define SCM_SIZEOF_UNSIGNED_INT %d\n", SIZEOF_UNSIGNED_INT); | ||
| 46 | + pf ("#define SCM_SIZEOF_SIZE_T %d\n", SIZEOF_SIZE_T); | ||
| 47 | + pf ("#define SCM_SIZEOF_LONG_LONG %d\n", SIZEOF_LONG_LONG); | ||
| 48 | + pf ("#define SCM_SIZEOF_UNSIGNED_LONG_LONG %d\n", SIZEOF_UNSIGNED_LONG_LONG); | ||
| 49 | + pf ("#define SCM_SIZEOF_INTMAX %d\n", 8); /* like SIZEOF_INTMAX_T */ | ||
| 50 | + pf ("#define SCM_SIZEOF_SCM_T_PTRDIFF %d\n", SIZEOF_PTRDIFF_T); | ||
| 51 | + pf ("#define SCM_SIZEOF_INTPTR_T %d\n", SIZEOF_INTPTR_T); | ||
| 52 | + pf ("#define SCM_SIZEOF_UINTPTR_T %d\n", SIZEOF_UINTPTR_T); | ||
| 53 | |||
| 54 | pf ("\n"); | ||
| 55 | pf ("/* same as POSIX \"struct timespec\" -- always defined */\n"); | ||
