[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/07: quirks: Add patch for <https://bugs.gnu.org/41214>.
From: |
guix-commits |
Subject: |
02/07: quirks: Add patch for <https://bugs.gnu.org/41214>. |
Date: |
Fri, 15 May 2020 06:29:04 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit 01611d141e966d7f1183106626bf96abf338c771
Author: Ludovic Courtès <address@hidden>
AuthorDate: Fri May 15 10:04:39 2020 +0200
quirks: Add patch for <https://bugs.gnu.org/41214>.
Fixes <https://bugs.gnu.org/41214>.
* guix/quirks.scm (%bug-41214-patch): New variable.
(%patches): Add it.
---
guix/quirks.scm | 37 ++++++++++++++++++++++++++++++++++++-
1 file changed, 36 insertions(+), 1 deletion(-)
diff --git a/guix/quirks.scm b/guix/quirks.scm
index 483169e..d180bd2 100644
--- a/guix/quirks.scm
+++ b/guix/quirks.scm
@@ -19,6 +19,7 @@
(define-module (guix quirks)
#:use-module ((guix build utils) #:select (substitute*))
#:use-module (srfi srfi-9)
+ #:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
#:export (%quirks
@@ -117,8 +118,42 @@ corresponds to the given Guix COMMIT, a SHA1 hexadecimal
string."
(patch missing-ice-9-threads-import? add-missing-ice-9-threads-import)))
+(define %bug-41214-patch
+ ;; Patch for <https://bugs.gnu.org/41214>. Around v1.0.0, (guix build
+ ;; compile) would use Guile 2.2 procedures to access the set of available
+ ;; compilation options. These procedures no longer exist in 3.0.
+ (let ()
+ (define (accesses-guile-2.2-optimization-options? source commit)
+ (catch 'system-error
+ (lambda ()
+ (match (call-with-input-file
+ (string-append source "/guix/build/compile.scm")
+ read)
+ (('define-module ('guix 'build 'compile)
+ _ ...
+ #:use-module ('language 'tree-il 'optimize)
+ #:use-module ('language 'cps 'optimize)
+ #:export ('%default-optimizations
+ '%lightweight-optimizations
+ 'compile-files))
+ #t)
+ (_ #f)))
+ (const #f)))
+
+ (define (build-with-guile-2.2 source)
+ (substitute* (string-append source "/" %self-build-file)
+ (("\\(default-guile\\)")
+ (object->string '(car (find-best-packages-by-name "guile" "2.2"))))
+ (("\\(find-best-packages-by-name \"guile-gcrypt\" #f\\)")
+ (object->string '(find-best-packages-by-name "guile2.2-gcrypt" #f))))
+ #t)
+
+ (patch accesses-guile-2.2-optimization-options?
+ build-with-guile-2.2)))
+
(define %patches
;; Bits of past Guix revisions can become incompatible with newer Guix and
;; Guile. This variable lists <patch> records for the Guix source tree that
;; apply to the Guix source.
- (list %bug-41028-patch))
+ (list %bug-41028-patch
+ %bug-41214-patch))
- branch master updated (0419198 -> 1130e8c), guix-commits, 2020/05/15
- 02/07: quirks: Add patch for <https://bugs.gnu.org/41214>.,
guix-commits <=
- 03/07: gnu: Add openctm., guix-commits, 2020/05/15
- 07/07: gnu: Add python-selenium., guix-commits, 2020/05/15
- 01/07: channels: 'build-from-source' restores '%guile-for-build'., guix-commits, 2020/05/15
- 04/07: licenses: Update Zlib license URL., guix-commits, 2020/05/15
- 06/07: gnu: quaternion: Update to 0.0.9.4e., guix-commits, 2020/05/15
- 05/07: gnu: libqmatrixclient: Update to 0.5.3.2., guix-commits, 2020/05/15