summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorJan Nieuwenhuizen <janneke@gnu.org>2019-09-21 13:34:42 +0200
committerJan Nieuwenhuizen <janneke@gnu.org>2020-02-17 23:16:40 +0100
commit19be1dc65b99449703741e5e5b37436540ca0894 (patch)
treef4c8c5ccbf3464d065f487a8525b5fbb8fc3b8e9 /gnu/packages
parentb022827de5440d64bf1ee57915bafadbca3a3dbe (diff)
downloadguix-19be1dc65b99449703741e5e5b37436540ca0894.tar.gz
gnu: commencement: make-mesboot0: Use Gash instead of coreutils&co.
* gnu/packages/commencement.scm (make-mesboot0): Use Gash instead of
coreutils&co.
(%boot-tcc0-inputs): New variable.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/commencement.scm107
1 files changed, 60 insertions, 47 deletions
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 0f952286f2..8f7c95b976 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -729,6 +729,66 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
          ;; no gzip yet
          (delete 'compress-documentation))))))
 
+(define make-mesboot0
+  ;; The initial make
+  (package
+    (inherit gnu-make)
+    (name "make-mesboot0")
+    (version "3.80")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/make/make-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1pb7fb7fqf9wz9najm85qdma1xhxzf1rhj5gwrlzdsz2zm0hpcv4"))))
+    (supported-systems '("i686-linux" "x86_64-linux"))
+    (inputs '())
+    (propagated-inputs '())
+    (native-inputs `(("tcc" ,tcc-boot0)
+                     ,@(%boot-gash-inputs)))
+    (arguments
+     `(#:implicit-inputs? #f
+       #:guile ,%bootstrap-guile
+       #:configure-flags '("CC=tcc"
+                           "CPP=tcc -E"
+                           "LD=tcc"
+                           "--build=i686-unknown-linux-gnu"
+                           "--host=i686-unknown-linux-gnu"
+                           "--disable-nls")
+       #:modules ((guix build gnu-build-system)
+                  (guix build utils)
+                  (srfi srfi-1))
+       #:strip-binaries? #f             ; no strip yet
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'scripted-patch
+           (lambda _
+             (substitute* "build.sh.in"
+               (("@LIBOBJS@") "getloadavg.o")
+               (("@REMOTE@") "stub"))
+             #t))
+         (add-after 'configure 'configure-fixup
+           (lambda _
+             (substitute* "make.h"
+               (("^extern long int lseek.*" all) (string-append "// " all)))
+             #t))
+         (replace 'build
+           (lambda _
+             (invoke "sh" "./build.sh")))
+         (replace 'check                ; proper check needs awk
+           (lambda _
+             (invoke "./make" "--version")))
+         (replace 'install
+           (lambda _
+             (let* ((out (assoc-ref %outputs "out"))
+                    (bin (string-append out "/bin")))
+               (install-file "make" bin)))))))))
+
+(define (%boot-tcc0-inputs)
+  `(("make" ,make-mesboot0)
+    ("tcc" ,tcc-boot0)
+    ,@(%boot-gash-inputs)))
+
 (define tcc-boot
   (package
     (inherit tcc-boot0)
@@ -830,53 +890,6 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
                (copy-file "libtcc1.a" (string-append out "/lib/tcc/libtcc1.a"))
                #t))))))))
 
-(define make-mesboot0
-  (package
-    (inherit gnu-make)
-    (name "make-mesboot0")
-    (version "3.80")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnu/make/make-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "1pb7fb7fqf9wz9najm85qdma1xhxzf1rhj5gwrlzdsz2zm0hpcv4"))))
-    (supported-systems '("i686-linux" "x86_64-linux"))
-    (inputs '())
-    (propagated-inputs '())
-    (native-inputs `(("tcc" ,tcc-boot)
-
-                     ("bash" ,%bootstrap-coreutils&co)
-                     ("coreutils" ,%bootstrap-coreutils&co)))
-    (arguments
-     `(#:implicit-inputs? #f
-       #:tests? #f                                ; check depends on perl
-       #:guile ,%bootstrap-guile
-       #:configure-flags `("CC=tcc -DO_RDONLY=0"
-                           "LD=tcc"
-                           "--disable-nls")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'configure 'configure-fixup
-           (lambda _
-             (substitute* "build.sh"
-               (("^REMOTE=.*") "REMOTE=stub\n")
-               (("^extras=.*") "extras=getloadavg.c\n"))
-             (substitute* "make.h"
-               (("^extern long int lseek.*" all) (string-append "// " all)))
-             #t))
-         (delete 'patch-generated-file-shebangs)  ; no perl
-         (replace 'build
-           (lambda _
-             (invoke "sh" "./build.sh")))
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (bin (string-append out "/bin")))
-               (install-file "make" bin)
-               #t))))))))
-
 (define diffutils-mesboot
   (package
     (inherit diffutils)