diff options
Diffstat (limited to 'guix')
-rw-r--r-- | guix/build-system/cmake.scm | 3 | ||||
-rw-r--r-- | guix/build-system/gnu.scm | 6 | ||||
-rw-r--r-- | guix/build-system/python.scm | 5 | ||||
-rw-r--r-- | guix/build/gnu-build-system.scm | 10 | ||||
-rw-r--r-- | guix/build/utils.scm | 2 | ||||
-rw-r--r-- | guix/packages.scm | 26 |
6 files changed, 20 insertions, 32 deletions
diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm index 38f11cb3c3..e09f165b97 100644 --- a/guix/build-system/cmake.scm +++ b/guix/build-system/cmake.scm @@ -47,7 +47,6 @@ (outputs '("out")) (configure-flags ''()) (search-paths '()) (make-flags ''()) - (patches ''()) (patch-flags ''("--batch" "-p1")) (cmake (default-cmake)) (out-of-source? #f) (tests? #t) @@ -80,8 +79,6 @@ provides a 'CMakeLists.txt' file as its build system." #:search-paths ',(map search-path-specification->sexp (append search-paths (standard-search-paths))) - #:patches ,patches - #:patch-flags ,patch-flags #:phases ,phases #:configure-flags ,configure-flags #:make-flags ,make-flags diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index 5f13f8ee29..7725b8b67a 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -252,7 +252,6 @@ System: GCC, GNU Make, Bash, Coreutils, etc." (search-paths '()) (configure-flags ''()) (make-flags ''()) - (patches ''()) (patch-flags ''("--batch" "-p1")) (out-of-source? #f) (tests? #t) (test-target "check") @@ -300,8 +299,6 @@ which could lead to gratuitous input divergence." #:search-paths ',(map search-path-specification->sexp (append implicit-search-paths search-paths)) - #:patches ,patches - #:patch-flags ,patch-flags #:phases ,phases #:configure-flags ,configure-flags #:make-flags ,make-flags @@ -390,7 +387,6 @@ inputs." (configure-flags ''()) (make-flags ''()) - (patches ''()) (patch-flags ''("--batch" "-p1")) (out-of-source? #f) (tests? #f) ; nothing can be done (test-target "check") @@ -473,8 +469,6 @@ platform." search-path-specification->sexp (append implicit-host-search-paths native-search-paths)) - #:patches ,patches - #:patch-flags ,patch-flags #:phases ,phases #:configure-flags ,configure-flags #:make-flags ,make-flags diff --git a/guix/build-system/python.scm b/guix/build-system/python.scm index cf7ca7d3e1..32b1f36a94 100644 --- a/guix/build-system/python.scm +++ b/guix/build-system/python.scm @@ -58,9 +58,8 @@ prepended to the name." (let* ((build-system (package-build-system p)) (rewrite-if-package (lambda (content) - ;; CONTENT may be a string (e.g., for patches), in which case it - ;; is returned, or a package, which is rewritten with the new - ;; PYTHON and NEW-PREFIX. + ;; CONTENT may be a file name, in which case it is returned, or a + ;; package, which is rewritten with the new PYTHON and NEW-PREFIX. (if (package? content) (package-with-explicit-python content python old-prefix new-prefix) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index ebcb185e13..65c9fcd1bd 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -115,14 +115,6 @@ makefiles." ;; Patch `SHELL' in generated makefiles. (for-each patch-makefile-SHELL (find-files "." "^(GNU)?[mM]akefile$"))) -(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 "--input" p))))) - patches)) - (define* (configure #:key target native-inputs inputs outputs (configure-flags '()) out-of-source? #:allow-other-keys) @@ -344,7 +336,7 @@ makefiles." ;; Standard build phases, as a list of symbol/procedure pairs. (let-syntax ((phases (syntax-rules () ((_ p ...) `((p . ,p) ...))))) - (phases set-paths unpack patch + (phases set-paths unpack patch-source-shebangs configure patch-generated-file-shebangs build check install patch-shebangs strip))) diff --git a/guix/build/utils.scm b/guix/build/utils.scm index 8cc9c1ee1f..a37ace31af 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -207,7 +207,7 @@ matches REGEXP." (lambda (file stat errno result) (format (current-error-port) "find-files: ~a: ~a~%" file (strerror errno)) - #f) + result) '() dir) string<?)) diff --git a/guix/packages.scm b/guix/packages.scm index 44f683f776..157013a496 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -109,9 +109,12 @@ (patches origin-patches (default '())) ; list of file names (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)) - (patch-guile origin-patch-guile ; derivation or #f + (patch-guile origin-patch-guile ; package or #f (default #f))) (define-syntax base32 @@ -264,11 +267,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 inputs #:key @@ -363,13 +365,17 @@ using the tools listed in INPUTS." inputs guile-for-build) ;; One or more patches. (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 #:flags flags #:system system - #:guile-for-build (or guile-for-build - (%guile-for-build) - (default-guile store system))))) + #:guile-for-build guile))) ((and (? string?) (? store-path?) file) file) ((? string? file) |