mirror of
git://git.savannah.gnu.org/guix.git
synced 2023-12-14 03:33:07 +01:00
gnu: Remove guile@2.2.6.
* gnu/packages/patches/guile-finalization-crash.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/guile.scm (guile-2.2)[source](patches): Remove 'guile-finalization-crash.patch'. (guile-2.2.7): Remove variable. (guile-2.2/bug-fix): Point to GUILE-2.2. * gnu/packages/admin.scm (shepherd)[native-inputs, inputs]: Use GUILE-2.2 instead of GUILE-2.2.7.
This commit is contained in:
parent
50b99c90c8
commit
edc8fd2e2d
4 changed files with 5 additions and 82 deletions
|
@ -992,7 +992,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/guile-3.0-crash.patch \
|
%D%/packages/patches/guile-3.0-crash.patch \
|
||||||
%D%/packages/patches/guile-default-utf8.patch \
|
%D%/packages/patches/guile-default-utf8.patch \
|
||||||
%D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \
|
%D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \
|
||||||
%D%/packages/patches/guile-finalization-crash.patch \
|
|
||||||
%D%/packages/patches/guile-linux-syscalls.patch \
|
%D%/packages/patches/guile-linux-syscalls.patch \
|
||||||
%D%/packages/patches/guile-present-coding.patch \
|
%D%/packages/patches/guile-present-coding.patch \
|
||||||
%D%/packages/patches/guile-relocatable.patch \
|
%D%/packages/patches/guile-relocatable.patch \
|
||||||
|
|
|
@ -211,10 +211,10 @@ and provides a \"top-like\" mode (monitoring).")
|
||||||
`(("pkg-config" ,pkg-config)
|
`(("pkg-config" ,pkg-config)
|
||||||
|
|
||||||
;; This is the Guile we use as a cross-compiler...
|
;; This is the Guile we use as a cross-compiler...
|
||||||
("guile" ,guile-2.2.7)))
|
("guile" ,guile-2.2)))
|
||||||
(inputs
|
(inputs
|
||||||
;; ... and this is the one that appears in shebangs when cross-compiling.
|
;; ... and this is the one that appears in shebangs when cross-compiling.
|
||||||
`(("guile" ,guile-2.2.7) ;for <https://bugs.gnu.org/37757>
|
`(("guile" ,guile-2.2)
|
||||||
|
|
||||||
;; The 'shepherd' command uses Readline when used interactively. It's
|
;; The 'shepherd' command uses Readline when used interactively. It's
|
||||||
;; an unusual use case though, so we don't propagate it.
|
;; an unusual use case though, so we don't propagate it.
|
||||||
|
|
|
@ -217,7 +217,7 @@ without requiring the source code to be rewritten.")
|
||||||
(define-public guile-2.2
|
(define-public guile-2.2
|
||||||
(package (inherit guile-2.0)
|
(package (inherit guile-2.0)
|
||||||
(name "guile")
|
(name "guile")
|
||||||
(version "2.2.6")
|
(version "2.2.7")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
|
||||||
|
@ -227,10 +227,9 @@ without requiring the source code to be rewritten.")
|
||||||
".tar.xz"))
|
".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1269ymxm56j1z1lvq1y42rm961f2n7rinm3k6l00p9k52hrpcddk"))
|
"013mydzhfswqci6xmyc1ajzd59pfbdak15i0b090nhr9bzm7dxyd"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(patches (search-patches
|
(patches (search-patches
|
||||||
"guile-finalization-crash.patch"
|
|
||||||
"guile-2.2-skip-oom-test.patch"))
|
"guile-2.2-skip-oom-test.patch"))
|
||||||
|
|
||||||
;; Remove the pre-built object files. Instead, build everything
|
;; Remove the pre-built object files. Instead, build everything
|
||||||
|
@ -251,21 +250,7 @@ without requiring the source code to be rewritten.")
|
||||||
(variable "GUILE_LOAD_COMPILED_PATH")
|
(variable "GUILE_LOAD_COMPILED_PATH")
|
||||||
(files '("lib/guile/2.2/site-ccache")))))))
|
(files '("lib/guile/2.2/site-ccache")))))))
|
||||||
|
|
||||||
(define-public guile-2.2.7
|
(define-deprecated guile-2.2/bug-fix guile-2.2)
|
||||||
;; This version contains a bug fix for a relatively rare crash that could
|
|
||||||
;; affect shepherd as PID 1: <https://bugs.gnu.org/37757>.
|
|
||||||
(package
|
|
||||||
(inherit guile-2.2)
|
|
||||||
(version "2.2.7")
|
|
||||||
(source (origin
|
|
||||||
(inherit (package-source guile-2.2))
|
|
||||||
(uri (string-append "mirror://gnu/guile/guile-" version
|
|
||||||
".tar.xz"))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"013mydzhfswqci6xmyc1ajzd59pfbdak15i0b090nhr9bzm7dxyd"))))))
|
|
||||||
|
|
||||||
(define-deprecated guile-2.2/bug-fix guile-2.2.7)
|
|
||||||
|
|
||||||
(define-public guile-2.2/fixed
|
(define-public guile-2.2/fixed
|
||||||
;; A package of Guile 2.2 that's rarely changed. It is the one used
|
;; A package of Guile 2.2 that's rarely changed. It is the one used
|
||||||
|
|
|
@ -1,61 +0,0 @@
|
||||||
commit edf5aea7ac852db2356ef36cba4a119eb0c81ea9
|
|
||||||
Author: Ludovic Courtès <ludo@gnu.org>
|
|
||||||
Date: Mon Dec 9 14:44:59 2019 +0100
|
|
||||||
|
|
||||||
Fix non-deterministic crash in 'finalization_thread_proc'.
|
|
||||||
|
|
||||||
Fixes <https://bugs.gnu.org/37757>.
|
|
||||||
Reported by Jesse Gibbons <jgibbons2357@gmail.com>.
|
|
||||||
|
|
||||||
* libguile/finalizers.c (finalization_thread_proc): Do not enter the
|
|
||||||
"switch (data.byte)" condition when data.n <= 0.
|
|
||||||
|
|
||||||
diff --git a/libguile/finalizers.c b/libguile/finalizers.c
|
|
||||||
index c5d69e8e3..94a6e6b0a 100644
|
|
||||||
--- a/libguile/finalizers.c
|
|
||||||
+++ b/libguile/finalizers.c
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
-/* Copyright (C) 2012, 2013, 2014 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 2012, 2013, 2014, 2019 Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -211,21 +211,26 @@ finalization_thread_proc (void *unused)
|
|
||||||
|
|
||||||
scm_without_guile (read_finalization_pipe_data, &data);
|
|
||||||
|
|
||||||
- if (data.n <= 0 && data.err != EINTR)
|
|
||||||
+ if (data.n <= 0)
|
|
||||||
{
|
|
||||||
- perror ("error in finalization thread");
|
|
||||||
- return NULL;
|
|
||||||
+ if (data.err != EINTR)
|
|
||||||
+ {
|
|
||||||
+ perror ("error in finalization thread");
|
|
||||||
+ return NULL;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
-
|
|
||||||
- switch (data.byte)
|
|
||||||
+ else
|
|
||||||
{
|
|
||||||
- case 0:
|
|
||||||
- scm_run_finalizers ();
|
|
||||||
- break;
|
|
||||||
- case 1:
|
|
||||||
- return NULL;
|
|
||||||
- default:
|
|
||||||
- abort ();
|
|
||||||
+ switch (data.byte)
|
|
||||||
+ {
|
|
||||||
+ case 0:
|
|
||||||
+ scm_run_finalizers ();
|
|
||||||
+ break;
|
|
||||||
+ case 1:
|
|
||||||
+ return NULL;
|
|
||||||
+ default:
|
|
||||||
+ abort ();
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue