summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-03-10 20:54:52 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-03-10 20:54:52 +0100
commitedc8fd2e2d75ba7af9bf6403277ecb0dccd48dc3 (patch)
treeb9da9549c0df1b379536253ef80211138aa9a2d7
parent50b99c90c87642f664f9c9523a6e40fc8542ddcf (diff)
downloadguix-edc8fd2e2d75ba7af9bf6403277ecb0dccd48dc3.tar.gz
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.
-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 ();
-+            }
-         }
-     }
- }