aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/admin.scm4
-rw-r--r--gnu/packages/guile.scm21
-rw-r--r--gnu/packages/patches/guile-finalization-crash.patch61
4 files changed, 5 insertions, 82 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index cc219b42df..f2e323c345 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -992,7 +992,6 @@ dist_patch_DATA = \
%D%/packages/patches/guile-3.0-crash.patch \
%D%/packages/patches/guile-default-utf8.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-present-coding.patch \
%D%/packages/patches/guile-relocatable.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index af29dc30fe..350cd541b7 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -211,10 +211,10 @@ and provides a \"top-like\" mode (monitoring).")
`(("pkg-config" ,pkg-config)
;; This is the Guile we use as a cross-compiler...
- ("guile" ,guile-2.2.7)))
+ ("guile" ,guile-2.2)))
(inputs
;; ... 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
;; an unusual use case though, so we don't propagate it.
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 0ce5d71cfd..b97f149391 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -217,7 +217,7 @@ without requiring the source code to be rewritten.")
(define-public guile-2.2
(package (inherit guile-2.0)
(name "guile")
- (version "2.2.6")
+ (version "2.2.7")
(source (origin
(method url-fetch)
@@ -227,10 +227,9 @@ without requiring the source code to be rewritten.")
".tar.xz"))
(sha256
(base32
- "1269ymxm56j1z1lvq1y42rm961f2n7rinm3k6l00p9k52hrpcddk"))
+ "013mydzhfswqci6xmyc1ajzd59pfbdak15i0b090nhr9bzm7dxyd"))
(modules '((guix build utils)))
(patches (search-patches
- "guile-finalization-crash.patch"
"guile-2.2-skip-oom-test.patch"))
;; 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")
(files '("lib/guile/2.2/site-ccache")))))))
-(define-public guile-2.2.7
- ;; 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-deprecated guile-2.2/bug-fix guile-2.2)
(define-public guile-2.2/fixed
;; A package of Guile 2.2 that's rarely changed. It is the one used
diff --git a/gnu/packages/patches/guile-finalization-crash.patch b/gnu/packages/patches/guile-finalization-crash.patch
deleted file mode 100644
index 098249e49f..0000000000
--- a/gnu/packages/patches/guile-finalization-crash.patch
+++ /dev/null
@@ -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 ();
-+ }
- }
- }
- }