summaryrefslogtreecommitdiff
path: root/guix/packages.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/packages.scm')
-rw-r--r--guix/packages.scm26
1 files changed, 16 insertions, 10 deletions
diff --git a/guix/packages.scm b/guix/packages.scm
index bb7d873973..c1247b71ac 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -113,13 +113,16 @@
(snippet origin-snippet (default #f)) ; sexp or #f
(patch-flags origin-patch-flags ; list of strings
(default '("-p1")))
+
+ ;; Patching requires Guile, GNU Patch, and a few more. These two fields are
+ ;; used to specify these dependencies when needed.
(patch-inputs origin-patch-inputs ; input list or #f
(default #f))
(modules origin-modules ; list of module names
(default '()))
(imported-modules origin-imported-modules ; list of module names
(default '()))
- (patch-guile origin-patch-guile ; derivation or #f
+ (patch-guile origin-patch-guile ; package or #f
(default #f)))
(define-syntax base32
@@ -274,11 +277,10 @@ corresponds to the arguments expected by `set-path-environment-variable'."
("lzip" ,(ref '(gnu packages compression) 'lzip))
("patch" ,(ref '(gnu packages base) 'patch)))))
-(define (default-guile store system)
- "Return a derivation of d the default Guile package for SYSTEM."
- (let* ((distro (resolve-interface '(gnu packages base)))
- (guile (module-ref distro 'guile-final)))
- (package-derivation store guile system)))
+(define (default-guile)
+ "Return the default Guile package for SYSTEM."
+ (let ((distro (resolve-interface '(gnu packages base))))
+ (module-ref distro 'guile-final)))
(define* (patch-and-repack store source patches
#:key
@@ -404,7 +406,13 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET."
guile-for-build)
;; Patches and/or a snippet.
(let ((source (method store uri 'sha256 sha256 name
- #:system system)))
+ #:system system))
+ (guile (match (or guile-for-build (%guile-for-build)
+ (default-guile))
+ ((? package? p)
+ (package-derivation store p system))
+ ((? derivation? drv)
+ drv))))
(patch-and-repack store source patches
#:inputs inputs
#:snippet snippet
@@ -412,9 +420,7 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET."
#:system system
#:modules modules
#:imported-modules modules
- #:guile-for-build (or guile-for-build
- (%guile-for-build)
- (default-guile store system)))))
+ #:guile-for-build guile)))
((and (? string?) (? direct-store-path?) file)
file)
((? string? file)