summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-02-11 11:24:57 +0100
committerLudovic Courtès <ludo@gnu.org>2022-02-11 17:28:01 +0100
commit2b57d6b6bb03a6047670e7f8dc143c2a010fefe1 (patch)
treeda0f75dddfc0718c04393718540534bf609aa7c3
parent076e825dc5d585943ce820a279fffe4af09757fb (diff)
downloadguix-patches-2b57d6b6bb03a6047670e7f8dc143c2a010fefe1.tar
guix-patches-2b57d6b6bb03a6047670e7f8dc143c2a010fefe1.tar.gz
gnu: lokke: Build with Guile 3.0.8.
* gnu/packages/guile.scm (guile-3.0-for-lokke): Remove. * gnu/packages/patches/guile-3.0.7-psyntax-nil.patch: Remove. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/guile-xyz.scm (lokke)[native-inputs]: Replace GUILE-3.0-FOR-LOKKE by GUILE-3.0-LATEST.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/guile-xyz.scm5
-rw-r--r--gnu/packages/guile.scm11
-rw-r--r--gnu/packages/patches/guile-3.0.7-psyntax-nil.patch63
4 files changed, 4 insertions, 76 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index e423732e35..a706409516 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1239,7 +1239,6 @@ dist_patch_DATA = \
%D%/packages/patches/guile-3.0-relocatable.patch \
%D%/packages/patches/guile-linux-syscalls.patch \
%D%/packages/patches/guile-3.0-linux-syscalls.patch \
- %D%/packages/patches/guile-3.0.7-psyntax-nil.patch \
%D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \
%D%/packages/patches/guile-fibers-wait-for-io-readiness.patch \
%D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 6e1bbb71e9..b75687cd3c 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -5011,7 +5011,10 @@ HTTP handler to implement a HTTP GraphQL endpoint.")
libtool
gnu-gettext
pkg-config
- guile-3.0-for-lokke))
+
+ ;; Use Guile >= 3.0.8 to work around
+ ;; <https://bugs.gnu.org/49305>.
+ guile-3.0-latest))
(inputs
(list pcre2))
(synopsis "Clojure implementation in Guile")
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index cad5b91b9e..f74a389da5 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -405,17 +405,6 @@ without requiring the source code to be rewritten.")
;; its multi-stage build process for cross-module inlining.
((#:parallel-build? _ #f) #t)))))
-(define-public guile-3.0-for-lokke
- ;; Work around a bug in 3.0.7 regarding #nil handling by psyntax:
- ;; <https://bugs.gnu.org/49305>. TODO: Replace by 3.0.8 when it's out.
- (hidden-package
- (package/inherit guile-3.0
- (version (string-append (package-version guile-3.0) ".1"))
- (source (origin
- (inherit (package-source guile-3.0))
- (patches (cons (search-patch "guile-3.0.7-psyntax-nil.patch")
- (origin-patches (package-source guile-3.0)))))))))
-
(define-public guile-3.0/fixed
;; A package of Guile that's rarely changed. It is the one used in the
;; `base' module, and thus changing it entails a full rebuild.
diff --git a/gnu/packages/patches/guile-3.0.7-psyntax-nil.patch b/gnu/packages/patches/guile-3.0.7-psyntax-nil.patch
deleted file mode 100644
index 7a24e6e9ef..0000000000
--- a/gnu/packages/patches/guile-3.0.7-psyntax-nil.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-commit d79a226359d28f4a1dc5df136e5544d699903a96
-Author: Rob Browning <rlb@defaultvalue.org>
-Date: Sat Jul 3 14:01:12 2021 -0500
-
- Fix crash on #nil in syntaxes
-
- In 3.0.7 (after 0cc799185576712d69f11fc794454f2f5447bef7 "Ensure
- that (syntax ()) results in ("), the use of #nil in syntax-rules
- expansions like this:
-
- (define-syntax foo
- (syntax-rules ()
- ((_ x) (eq? #nil x))))
-
- (foo #t)
-
- could cause a crash that looks like this:
-
- ice-9/psyntax.scm:2795:12: In procedure syntax-violation:
- Syntax error:
- unknown location: unexpected syntax in form ()
-
- To fix it, add another special case (the commit mentioned above
- special-cased the empty list) to preserve #nil
-
- * module/ice-9/psyntax.scm (gen-syntax): Preserve #nil.
- * test-suite/tests/syntax.test: Test #nil in syntax expansions.
-
- Closes: 49305
-
-diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
-index 663d9275a..bd4bd6723 100644
---- a/module/ice-9/psyntax.scm
-+++ b/module/ice-9/psyntax.scm
-@@ -2157,6 +2157,7 @@
- (lambda ()
- (gen-syntax src #'(e1 e2 ...) r maps ellipsis? mod))
- (lambda (e maps) (values (gen-vector e) maps))))
-+ (x (eq? (syntax->datum #'x) #nil) (values '(quote #nil) maps))
- (() (values '(quote ()) maps))
- (_ (values `(quote ,e) maps))))))
-
-diff --git a/test-suite/tests/syntax.test b/test-suite/tests/syntax.test
-index a2999ac43..510e7104d 100644
---- a/test-suite/tests/syntax.test
-+++ b/test-suite/tests/syntax.test
-@@ -1684,6 +1684,16 @@
- (hash interpreted most-positive-fixnum)
- (hash compiled most-positive-fixnum))))
-
-+(with-test-prefix "#nil in syntaxes"
-+ (pass-if-equal "does not crash"
-+ 42
-+ (let ()
-+ (define-syntax foo
-+ (syntax-rules ()
-+ ;; In 3.0.7 this would crash with
-+ ;; unknown location: unexpected syntax in form ()
-+ ((_ x) (when (eq? x #nil) 42))))
-+ (foo #nil))))
-
- ;;; Local Variables:
- ;;; eval: (put 'pass-if-syntax-error 'scheme-indent-function 1)