From 74cd03b1a08a73c349818312cf2e0be9f54e0d4e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 1 Jul 2012 17:32:03 +0200 Subject: build-system/gnu: Add a `patch' phase. * guix/build/gnu-build-system.scm (patch): New procedure. (%standard-phases): Add `patch'. * guix/build-system/gnu.scm (gnu-build): Add `patches' and `patch-flags' parameters. Pass them on. --- guix/build/gnu-build-system.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'guix/build/gnu-build-system.scm') diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 6ee9afc845..566903ed73 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -56,6 +56,14 @@ (define* (unpack #:key source #:allow-other-keys) (and (zero? (system* "tar" "xvf" source)) (chdir (first-subdirectory ".")))) +(define* (patch #:key (patches '()) (patch-flags '("--batch" "-p1")) + #:allow-other-keys) + (every (lambda (p) + (format #t "applying patch `~a'~%" p) + (zero? (apply system* "patch" + (append patch-flags (list p))))) + patches)) + (define* (configure #:key outputs (configure-flags '()) #:allow-other-keys) (let* ((prefix (assoc-ref outputs "out")) (libdir (assoc-ref outputs "lib")) @@ -94,7 +102,7 @@ (define %standard-phases ;; Standard build phases, as a list of symbol/procedure pairs. (let-syntax ((phases (syntax-rules () ((_ p ...) `((p . ,p) ...))))) - (phases set-paths unpack configure build check install))) + (phases set-paths unpack patch configure build check install))) (define* (gnu-build #:key (source #f) (outputs #f) (inputs #f) -- cgit v1.2.3