From 19be1dc65b99449703741e5e5b37436540ca0894 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 21 Sep 2019 13:34:42 +0200 Subject: [PATCH] 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. --- gnu/packages/commencement.scm | 107 +++++++++++++++++++--------------- 1 file 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)