[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
12/63: gnu: commencement: Add bash-mesboot0.
From: |
guix-commits |
Subject: |
12/63: gnu: commencement: Add bash-mesboot0. |
Date: |
Mon, 17 Feb 2020 16:00:53 -0500 (EST) |
janneke pushed a commit to branch wip-bootstrap
in repository guix.
commit ea24b38f90790d64a5e6e3707d18dbd92459502b
Author: Jan Nieuwenhuizen <address@hidden>
AuthorDate: Sun Sep 22 00:53:54 2019 +0200
gnu: commencement: Add bash-mesboot0.
* gnu/packages/commencement.scm (bash-mesboot0): New variable.
---
gnu/packages/commencement.scm | 102 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 102 insertions(+)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index b9f5e6f..80fff01 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -940,6 +940,108 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(copy-file "libtcc1.a" (string-append out "/lib/tcc/libtcc1.a"))
#t))))))))
+(define bash-mesboot0
+ ;; The initial Bash
+ (package
+ (inherit static-bash)
+ (name "bash-mesboot0")
+ (version "2.05b")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/bash/bash-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1r1z2qdw3rz668nxrzwa14vk2zcn00hw7mpjn384picck49d80xs"))))
+ (inputs '())
+ (propagated-inputs '())
+ (native-inputs (%boot-tcc0-inputs))
+ (outputs '("out"))
+ (arguments
+ `(#:implicit-inputs? #f
+ #:guile ,%bootstrap-guile
+ #:parallel-build? #f
+ #:strip-binaries? #f ; no strip yet
+ #:configure-flags
+ (list "--build=i686-unknown-linux-gnu"
+ "--host=i686-unknown-linux-gnu"
+
+ "--without-bash-malloc"
+ "--disable-readline"
+ "--disable-history"
+ "--disable-help-builtin"
+ "--disable-progcomp"
+ "--disable-net-redirections"
+ "--disable-nls"
+
+ ;; Pretend 'dlopen' is missing so we don't build loadable
+ ;; modules and related code.
+ "ac_cv_func_dlopen=no")
+ #:make-flags '("bash")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'setenv
+ (lambda _
+ (let* ((gash (assoc-ref %build-inputs "bash"))
+ (shell (string-append gash "/bin/gash")))
+ (setenv "CONFIG_SHELL" shell)
+ (setenv "SHELL" shell)
+ (setenv "CC" "tcc")
+ (setenv "LD" "tcc")
+ (setenv "AR" "tcc -ar")
+ (setenv "CFLAGS" "-D _POSIX_VERSION=1")
+ #t)))
+ (add-after 'unpack 'scripted-patch
+ (lambda _
+ (substitute* "Makefile.in"
+ (("mksyntax\\.c\n") "mksyntax.c -lgetopt\n")
+ (("buildversion[.]o\n") "buildversion.o -lgetopt\n")
+ ;; No size in Gash
+ (("\tsize ") "#\tsize"))
+ (substitute* "lib/sh/oslib.c"
+ (("int name, namelen;") "char *name; int namelen;"))
+ (substitute* "lib/sh/snprintf.c"
+ (("^#if (defined [(]HAVE_LOCALE_H[)])" all define)
(string-append "#if 0 //" define)))
+ (substitute* "configure"
+ ((" egrep") " grep"))
+ #t))
+ (replace 'configure
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ (let ((configure-flags (filter (lambda (x)
+ (and (not (string-prefix?
"CONFIG_SHELL=" x))
+ (not (string-prefix?
"SHELL=" x))))
+ configure-flags)))
+ (format (current-error-port)
+ "running ./configure ~a\n" (string-join
configure-flags)))
+ (apply invoke (cons "./configure" configure-flags))))
+ (add-after 'configure 'configure-fixups
+ (lambda _
+ (substitute* "config.h"
+ (("#define GETCWD_BROKEN 1") "#undef GETCWD_BROKEN"))
+ (let ((config.h (open-file "config.h" "a")))
+ (display (string-append "
+// tcc: error: undefined symbol 'enable_hostname_completion'
+#define enable_hostname_completion(on_or_off) 0
+
+//
/gnu/store/cq0cmv35s9dhilx14zaghlc08gpc0hwr-tcc-boot0-0.9.26-6.c004e9a/lib/libc.a:
error: 'sigprocmask' defined twice
+#define HAVE_POSIX_SIGNALS 1
+#define endpwent(x) 0
+")
+ config.h)
+ (close config.h))
+ #t))
+ (replace 'check
+ (lambda _
+ (invoke "./bash" "--version")))
+ (replace 'install
+ (lambda _
+ (let* ((out (assoc-ref %outputs "out"))
+ (bin (string-append out "/bin")))
+ (mkdir-p bin)
+ (copy-file "bash" (string-append bin "/bash"))
+ (copy-file "bash" (string-append bin "/sh"))
+ #t))))))))
+
(define diffutils-mesboot
(package
(inherit diffutils)
- branch wip-bootstrap created (now ef7e1b3), guix-commits, 2020/02/17
- 02/63: gnu: bootstrap: Add janneke's guix package url., guix-commits, 2020/02/17
- 01/63: gnu: Add gash-core-utils., guix-commits, 2020/02/17
- 03/63: gnu: commencement: Add %bootstrap-guile+guild., guix-commits, 2020/02/17
- 04/63: gnu: commencement: Add gash-boot., guix-commits, 2020/02/17
- 05/63: gnu: commencement: Add gash-core-utils-boot., guix-commits, 2020/02/17
- 08/63: gnu: commencement: tcc-boot0: Use Gash instead of coretutils&co., guix-commits, 2020/02/17
- 11/63: gnu: commencement: Add bzip2-mesboot., guix-commits, 2020/02/17
- 09/63: gnu: commencement: Add gzip-mesboot., guix-commits, 2020/02/17
- 10/63: gnu: commencement: make-mesboot0: Use Gash instead of coreutils&co., guix-commits, 2020/02/17
- 12/63: gnu: commencement: Add bash-mesboot0.,
guix-commits <=
- 19/63: gnu: commencement: Add gawk-mesboot0., guix-commits, 2020/02/17
- 24/63: gnu: commencement: Add grep-mesboot., guix-commits, 2020/02/17
- 06/63: gnu: commencement: Add %bootstrap-mes-rewired., guix-commits, 2020/02/17
- 07/63: gnu: commencement: mes-boot: Use Gash instead of coretutils&co., guix-commits, 2020/02/17
- 17/63: gnu: commencement: binutils-mesboot0: Use Gash instead of coretutils&co., guix-commits, 2020/02/17
- 14/63: gnu: commencement: diffutils-mesboot: Use Gash instead of coretutils&co., guix-commits, 2020/02/17
- 16/63: gnu: commencement: Add sed-mesboot0., guix-commits, 2020/02/17
- 21/63: gnu: commencement: glibc-mesboot0: Use Gash instead of coretutils&co., guix-commits, 2020/02/17
- 22/63: gnu: commencement: gcc-mesboot0: Use Gash instead of coretutils&co., guix-commits, 2020/02/17
- 23/63: gnu: commencement: Add tar-mesboot., guix-commits, 2020/02/17