summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-12-22 22:01:25 +0100
committerLudovic Courtès <ludo@gnu.org>2021-12-22 23:23:16 +0100
commite89f767ce8990f4959616031e3c98fbfe92a008b (patch)
tree945b91b3d12fc0720609161ae8443d93c213f1a1
parent4c2af58b0f75e270798332189120f0aeb8158535 (diff)
downloadguix-e89f767ce8990f4959616031e3c98fbfe92a008b.tar.gz
packages: Avoid #:re-export-and-replace to allow upgrades from 1.2.0.
Fixes <https://issues.guix.gnu.org/52694>.
Reported by Carl Dong <contact@carldong.me>.

Use of #:re-export-and-replace would prevent upgrades from 1.2.0, whose
'source-module-closure' procedure did not recognize #:re-export-and-replace.

* guix/packages.scm: Remove #:re-export-and-replace and add top-level
call to 'module-re-export!'
-rw-r--r--guix/packages.scm6
1 files changed, 5 insertions, 1 deletions
diff --git a/guix/packages.scm b/guix/packages.scm
index b00fa2f702..da8b66dfa6 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -56,7 +56,6 @@
   #:re-export (%current-system
                %current-target-system
                search-path-specification)         ;for convenience
-  #:re-export-and-replace (delete)                ;used as syntactic keyword
   #:replace ((define-public* . define-public))
   #:export (content-hash
             content-hash?
@@ -181,6 +180,11 @@
             package->cross-derivation
             origin->derivation))
 
+;; The 'source-module-closure' procedure ca. 1.2.0 did not recognize
+;; #:re-export-and-replace: <https://issues.guix.gnu.org/52694>.
+;; Work around it.
+(module-re-export! (current-module) '(delete) #:replace? #t)
+
 ;;; Commentary:
 ;;;
 ;;; This module provides a high-level mechanism to define packages in a