summary refs log tree commit diff
path: root/gnu/packages/make-bootstrap.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/make-bootstrap.scm')
-rw-r--r--gnu/packages/make-bootstrap.scm49
1 files changed, 20 insertions, 29 deletions
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index ce270bd5c1..5dc7387e92 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -54,19 +54,17 @@
   "Return a libc deriving from BASE whose `system' and `popen' functions looks
 for `sh' in $PATH, and without nscd, and with static NSS modules."
   (package (inherit base)
+    (source (origin (inherit (package-source base))
+              (patches (cons (search-patch "glibc-bootstrap-system.patch")
+                             (origin-patches (package-source base))))))
     (arguments
      (substitute-keyword-arguments (package-arguments base)
-       ((#:patches patches)
-        `(cons (assoc-ref %build-inputs "patch/system") ,patches))
        ((#:configure-flags flags)
         ;; Arrange so that getaddrinfo & co. do not contact the nscd,
         ;; and can use statically-linked NSS modules.
         `(cons* "--disable-nscd" "--disable-build-nscd"
                 "--enable-static-nss"
-                ,flags))))
-    (inputs
-     `(("patch/system" ,(search-patch "glibc-bootstrap-system.patch"))
-       ,@(package-inputs base)))))
+                ,flags))))))
 
 (define (package-with-relocatable-glibc p)
   "Return a variant of P that uses the libc as defined by
@@ -154,10 +152,12 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                                 "xz_LDADD = -all-static")))
                            %standard-phases)))))
         (gawk (package (inherit gawk)
+                (source (origin (inherit (package-source gawk))
+                          (patches (cons (search-patch "gawk-shell.patch")
+                                         (origin-patches
+                                          (package-source gawk))))))
                 (arguments
-                 `(#:patches (list (assoc-ref %build-inputs "patch/sh"))
-
-                   ;; Starting from gawk 4.1.0, some of the tests for the
+                 `(;; Starting from gawk 4.1.0, some of the tests for the
                    ;; plug-in mechanism just fail on static builds:
                    ;;
                    ;; ./fts.awk:1: error: can't open shared library `filefuncs' for reading (No such file or directory)
@@ -173,10 +173,9 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                             (substitute* "configure"
                               (("-export-dynamic") "")))
                           ,phases)))))
-                (inputs `(("patch/sh" ,(search-patch "gawk-shell.patch"))
-                          ,@(if (%current-target-system)
-                                `(("bash" ,%bash-static))
-                                '())))))
+                (inputs (if (%current-target-system)
+                            `(("bash" ,%bash-static))
+                            '()))))
         (finalize (compose static-package
                            package-with-relocatable-glibc)))
     `(,@(map (match-lambda
@@ -452,17 +451,16 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
   ;; A statically-linked Guile that is relocatable--i.e., it can search
   ;; .scm and .go files relative to its installation directory, rather
   ;; than in hard-coded configure-time paths.
-  (let* ((guile (package (inherit guile-2.0)
+  (let* ((patches* (cons* (search-patch "guile-relocatable.patch")
+                          (search-patch "guile-default-utf8.patch")
+                          (search-patch "guile-linux-syscalls.patch")
+                          (origin-patches (package-source guile-2.0))))
+         (source*  (origin (inherit (package-source guile-2.0))
+                     (patches patches*)))
+         (guile (package (inherit guile-2.0)
                   (name (string-append (package-name guile-2.0) "-static"))
+                  (source source*)
                   (synopsis "Statically-linked and relocatable Guile")
-                  (inputs
-                   `(("patch/relocatable"
-                      ,(search-patch "guile-relocatable.patch"))
-                     ("patch/utf8"
-                      ,(search-patch "guile-default-utf8.patch"))
-                     ("patch/syscalls"
-                      ,(search-patch "guile-linux-syscalls.patch"))
-                     ,@(package-inputs guile-2.0)))
                   (propagated-inputs
                    `(("bdw-gc" ,libgc)
                      ,@(alist-delete "bdw-gc"
@@ -492,13 +490,6 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                                                    " -ldl\n"))))
                                %standard-phases)
 
-                     ;; Allow Guile to be relocated, as is needed during
-                     ;; bootstrap.
-                     #:patches
-                     (list (assoc-ref %build-inputs "patch/relocatable")
-                           (assoc-ref %build-inputs "patch/utf8")
-                           (assoc-ref %build-inputs "patch/syscalls"))
-
                      ;; There are uses of `dynamic-link' in
                      ;; {foreign,coverage}.test that don't fly here.
                      #:tests? #f)))))