me
/
guix
Archived
1
0
Fork 0

gnu: base, commencement: Remove trailing #t from build phases.

* gnu/packages/base.scm (grep, tar, findutils)
(coreutils, coreutils-8.30, gnu-make, gnu-make-4.2)
(binutils-gold, glibc, make-glibc-locales):
(glibc/hurd-headers, tzdata): Remove trailing #t in build phases.
* gnu/packages/commencement.scm (bootar)
(gash-boot, gash-utils-boot, mes-boot):
(gzip-mesboot, gnu-make-mesboot0, bzip2-mesboot)
(bash-mesboot0, tcc-boot, diffutils-mesboot)
(patch-mesboot, sed-mesboot0, binutils-mesboot0)
(gcc-core-mesboot0, mesboot-headers, gawk-mesboot0)
(glibc-mesboot0, gcc-mesboot0, tar-mesboot)
(grep-mesboot, binutils-mesboot1, gnu-make-mesboot)
(gawk-mesboot, sed-mesboot, bash-mesboot)
(gcc-core-mesboot1, gcc-mesboot1, binutils-mesboot)
(glibc-headers-mesboot, glibc-mesboot, gcc-mesboot1-wrapper)
(gcc-mesboot, gnu-make-boot0, binutils-boot0)
(libstdc++-boot0, gcc-boot0, perl-boot0, python-boot0)
(glibc-final-with-bootstrap-bash)
(cross-gcc-wrapper, gettext-boot0, gcc-final): Remove trailing #t in
build phases.
master
Ludovic Courtès 2020-11-24 23:08:26 +01:00
parent 04baa011e9
commit 112982526f
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
2 changed files with 92 additions and 176 deletions

View File

@ -119,8 +119,7 @@ command-line arguments, multiple languages, and so on.")
(substitute* (list (string-append bin "/egrep") (substitute* (list (string-append bin "/egrep")
(string-append bin "/fgrep")) (string-append bin "/fgrep"))
(("^exec grep") (("^exec grep")
(string-append "exec " bin "/grep"))) (string-append "exec " bin "/grep")))))))))
#t))))))
(synopsis "Print lines matching a pattern") (synopsis "Print lines matching a pattern")
(description (description
"grep is a tool for finding text inside files. Text is found by "grep is a tool for finding text inside files. Text is found by
@ -207,8 +206,7 @@ implementation offers several extensions over the standard utility.")
(let ((bash (assoc-ref inputs "bash"))) (let ((bash (assoc-ref inputs "bash")))
(substitute* "src/system.c" (substitute* "src/system.c"
(("/bin/sh") (("/bin/sh")
(string-append bash "/bin/sh"))) (string-append bash "/bin/sh")))))))))
#t))))))
;; When cross-compiling, the 'set-shell-file-name' phase needs to be able ;; When cross-compiling, the 'set-shell-file-name' phase needs to be able
;; to refer to the target Bash. ;; to refer to the target Bash.
@ -304,8 +302,7 @@ interactive means to merge two files.")
(substitute* '("tests/xargs/verbose-quote.sh" (substitute* '("tests/xargs/verbose-quote.sh"
"tests/find/exec-plus-last-file.sh") "tests/find/exec-plus-last-file.sh")
(("#!/bin/sh") (("#!/bin/sh")
(string-append "#!" (which "sh")))) (string-append "#!" (which "sh")))))))))
#t)))))
(synopsis "Operating on files matching given criteria") (synopsis "Operating on files matching given criteria")
(description (description
"Findutils supplies the basic file directory searching utilities of the "Findutils supplies the basic file directory searching utilities of the
@ -377,15 +374,13 @@ used to apply commands with arbitrarily long arguments.")
(substitute* (find-files "gnulib-tests" "\\.c$") (substitute* (find-files "gnulib-tests" "\\.c$")
(("/bin/sh") (which "sh"))) (("/bin/sh") (which "sh")))
(substitute* (find-files "tests" "\\.sh$") (substitute* (find-files "tests" "\\.sh$")
(("#!/bin/sh") (string-append "#!" (which "sh")))) (("#!/bin/sh") (string-append "#!" (which "sh"))))))
#t))
,@(if (hurd-target?) ,@(if (hurd-target?)
`((add-after 'unpack 'remove-tests `((add-after 'unpack 'remove-tests
(lambda _ (lambda _
(substitute* "Makefile.in" (substitute* "Makefile.in"
;; this test hangs ;; this test hangs
(("^ *tests/misc/timeout-group.sh.*") "")) (("^ *tests/misc/timeout-group.sh.*") "")))))
#t)))
'())))) '()))))
(synopsis "Core GNU utilities (file, text, shell)") (synopsis "Core GNU utilities (file, text, shell)")
(description (description
@ -430,8 +425,7 @@ standard.")
;; specific issue, but "env-S.pl" is not adjusted for build ;; specific issue, but "env-S.pl" is not adjusted for build
;; environments with long prefixes (/tmp/guix-build-...). ;; environments with long prefixes (/tmp/guix-build-...).
(substitute* "Makefile" (substitute* "Makefile"
(("^.*tests/misc/env-S.pl.*$") "")) (("^.*tests/misc/env-S.pl.*$") "")))))))))))
#t)))))))))
(define-public gnu-make (define-public gnu-make
(package (package
@ -463,8 +457,7 @@ standard.")
(substitute* "src/job.c" (substitute* "src/job.c"
(("default_shell =.*$") (("default_shell =.*$")
(format #f "default_shell = \"~a/bin/sh\";\n" (format #f "default_shell = \"~a/bin/sh\";\n"
bash))) bash)))))))))
#t))))))
(synopsis "Remake files automatically") (synopsis "Remake files automatically")
(description (description
"Make is a program that is used to control the production of "Make is a program that is used to control the production of
@ -498,8 +491,7 @@ change. GNU make offers many powerful extensions over the standard utility.")
(substitute* "job.c" (substitute* "job.c"
(("default_shell =.*$") (("default_shell =.*$")
(format #f "default_shell = \"~a/bin/sh\";\n" (format #f "default_shell = \"~a/bin/sh\";\n"
bash))) bash)))))))))))
#t))))))))
(define-public binutils (define-public binutils
(package (package
@ -577,8 +569,7 @@ included.")
(add-after 'patch-source-shebangs 'patch-more-shebangs (add-after 'patch-source-shebangs 'patch-more-shebangs
(lambda _ (lambda _
(substitute* "gold/Makefile.in" (substitute* "gold/Makefile.in"
(("/bin/sh") (which "sh"))) (("/bin/sh") (which "sh"))))))
#t)))
,@(substitute-keyword-arguments (package-arguments binutils) ,@(substitute-keyword-arguments (package-arguments binutils)
; Upstream is aware of unrelocatable test failures on arm*. ; Upstream is aware of unrelocatable test failures on arm*.
((#:tests? _ #f) ((#:tests? _ #f)
@ -844,9 +835,7 @@ the store.")
;; "bilingual" eval/exec magic at the top of the file. ;; "bilingual" eval/exec magic at the top of the file.
"") "")
(("exec @PERL@") (("exec @PERL@")
"exec perl")) "exec perl")))))
#t)))
(add-after 'install 'move-static-libs (add-after 'install 'move-static-libs
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
@ -884,8 +873,7 @@ the store.")
((out) static))) ((out) static)))
(filter linker-script? (filter linker-script?
(map (cut string-append slib "/" <>) (map (cut string-append slib "/" <>)
files))) files))))))
#t)))
,@(if (hurd-target?) ,@(if (hurd-target?)
'((add-after 'install 'augment-libc.so '((add-after 'install 'augment-libc.so
@ -894,8 +882,7 @@ the store.")
(substitute* (string-append out "/lib/libc.so") (substitute* (string-append out "/lib/libc.so")
(("/[^ ]+/lib/libc.so.0.3") (("/[^ ]+/lib/libc.so.0.3")
(string-append out "/lib/libc.so.0.3" (string-append out "/lib/libc.so.0.3"
" libmachuser.so libhurduser.so")))) " libmachuser.so libhurduser.so")))))))
#t)))
'())))) '()))))
(inputs `(("static-bash" ,static-bash))) (inputs `(("static-bash" ,static-bash)))
@ -1104,8 +1091,7 @@ to the @code{share/locale} sub-directory of this package.")
(string-append (dirname directory) (string-append (dirname directory)
"/" name "." "/" name "."
normalized))))) normalized)))))
locales) locales))))
#t)))
(delete 'install) (delete 'install)
(delete 'move-static-libs))) (delete 'move-static-libs)))
((#:configure-flags flags) ((#:configure-flags flags)
@ -1233,8 +1219,7 @@ command.")
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
(close-port (close-port
(open-output-file (open-output-file
(string-append out "/include/gnu/stubs.h")))) (string-append out "/include/gnu/stubs.h"))))))
#t))
(delete 'build))))))) ; nothing to build (delete 'build))))))) ; nothing to build
(define-public tzdata (define-public tzdata
@ -1288,8 +1273,7 @@ command.")
(copy-recursively (string-append out "/share/zoneinfo-leaps") (copy-recursively (string-append out "/share/zoneinfo-leaps")
(string-append out "/share/zoneinfo/right")) (string-append out "/share/zoneinfo/right"))
(delete-file-recursively (delete-file-recursively
(string-append out "/share/zoneinfo-leaps")) (string-append out "/share/zoneinfo-leaps")))))
#t)))
(delete 'configure)))) (delete 'configure))))
(inputs `(("tzcode" ,(origin (inputs `(("tzcode" ,(origin
(method url-fetch) (method url-fetch)

View File

@ -115,8 +115,7 @@
(guile-dir (assoc-ref inputs "guile")) (guile-dir (assoc-ref inputs "guile"))
(guile (string-append guile-dir "/bin/guile"))) (guile (string-append guile-dir "/bin/guile")))
(invoke guile "--no-auto-compile" source) (invoke guile "--no-auto-compile" source)
(chdir "bootar") (chdir "bootar"))))
#t)))
(replace 'configure (bootstrap-configure ,version "." "scripts")) (replace 'configure (bootstrap-configure ,version "." "scripts"))
(replace 'build (bootstrap-build ".")) (replace 'build (bootstrap-build "."))
(replace 'install (bootstrap-install "." "scripts")))))) (replace 'install (bootstrap-install "." "scripts"))))))
@ -162,8 +161,7 @@ pure Scheme to Tar and decompression in one easy step.")
(symlink (string-append out "/bin/gash") (symlink (string-append out "/bin/gash")
(string-append out "/bin/sh")) (string-append out "/bin/sh"))
(symlink (string-append out "/bin/gash") (symlink (string-append out "/bin/gash")
(string-append out "/bin/bash")) (string-append out "/bin/bash")))))))))
#t)))))))
(inputs `(("guile" ,%bootstrap-guile))) (inputs `(("guile" ,%bootstrap-guile)))
(native-inputs `(("bootar" ,bootar))))) (native-inputs `(("bootar" ,bootar)))))
@ -189,8 +187,7 @@ pure Scheme to Tar and decompression in one easy step.")
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((gash (assoc-ref inputs "gash"))) (let ((gash (assoc-ref inputs "gash")))
(add-to-load-path (string-append gash "/share/guile/site/" (add-to-load-path (string-append gash "/share/guile/site/"
(effective-version)))) (effective-version))))))
#t))
(add-before 'configure 'pre-configure (add-before 'configure 'pre-configure
(lambda _ (lambda _
(format #t "Creating gash/commands/testb.scm~%") (format #t "Creating gash/commands/testb.scm~%")
@ -216,8 +213,7 @@ pure Scheme to Tar and decompression in one easy step.")
(copy-file "scripts/template.in" "scripts/[.in") (copy-file "scripts/template.in" "scripts/[.in")
(substitute* "scripts/[.in" (substitute* "scripts/[.in"
(("@UTILITY@") "testb")) (("@UTILITY@") "testb"))
(delete-file "scripts/template.in") (delete-file "scripts/template.in")))
#t))
(replace 'configure (replace 'configure
(bootstrap-configure ,(package-version gash-utils) (bootstrap-configure ,(package-version gash-utils)
"gash" "scripts")) "gash" "scripts"))
@ -246,8 +242,7 @@ pure Scheme to Tar and decompression in one easy step.")
(copy-file (string-append gash-godir "/gash/compat.go") (copy-file (string-append gash-godir "/gash/compat.go")
(string-append godir "/gash/compat.go")) (string-append godir "/gash/compat.go"))
(copy-recursively (string-append gash-godir "/gash/compat") (copy-recursively (string-append gash-godir "/gash/compat")
(string-append godir "/gash/compat")) (string-append godir "/gash/compat")))))))))
#t)))))))
(inputs `(("gash" ,gash-boot) (inputs `(("gash" ,gash-boot)
("guile" ,%bootstrap-guile))) ("guile" ,%bootstrap-guile)))
(native-inputs `(("bootar" ,bootar))))) (native-inputs `(("bootar" ,bootar)))))
@ -437,8 +432,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(string-suffix? ".s" name)))))) (string-suffix? ".s" name))))))
(for-each (lambda (x) (install-file x cache)) (for-each (lambda (x) (install-file x cache))
(append (objects-in-dir ".") (append (objects-in-dir ".")
(objects-in-dir "mescc-lib")))) (objects-in-dir "mescc-lib")))))))))
#t)))))
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification
(variable "C_INCLUDE_PATH") (variable "C_INCLUDE_PATH")
@ -572,8 +566,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(add-after 'unpack 'scripted-patch (add-after 'unpack 'scripted-patch
(lambda _ (lambda _
(substitute* "util.c" (substitute* "util.c"
(("^char [*]strlwr" all) (string-append all "_tcc_cannot_handle_dupe"))) (("^char [*]strlwr" all) (string-append all "_tcc_cannot_handle_dupe")))))
#t))
(replace 'build (replace 'build
(lambda _ (lambda _
(let ((files '("bits" "crypt" "deflate" "getopt" "gzip" (let ((files '("bits" "crypt" "deflate" "getopt" "gzip"
@ -635,13 +628,11 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(lambda _ (lambda _
(substitute* "build.sh.in" (substitute* "build.sh.in"
(("@LIBOBJS@") "getloadavg.o") (("@LIBOBJS@") "getloadavg.o")
(("@REMOTE@") "stub")) (("@REMOTE@") "stub"))))
#t))
(add-after 'configure 'configure-fixup (add-after 'configure 'configure-fixup
(lambda _ (lambda _
(substitute* "make.h" (substitute* "make.h"
(("^extern long int lseek.*" all) (string-append "// " all))) (("^extern long int lseek.*" all) (string-append "// " all)))))
#t))
(replace 'build (replace 'build
(lambda _ (lambda _
(invoke "sh" "./build.sh"))) (invoke "sh" "./build.sh")))
@ -693,16 +684,14 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(("uTimBuf[.]" all) (("uTimBuf[.]" all)
(string-append "// " all)) (string-append "// " all))
(("retVal = utime [(] dstName, &uTimBuf [)];" all) (("retVal = utime [(] dstName, &uTimBuf [)];" all)
(string-append "retVal = 0; // " all))) (string-append "retVal = 0; // " all)))))
#t))
(replace 'configure (replace 'configure
(lambda _ (lambda _
(with-output-to-file "utime.h" (with-output-to-file "utime.h"
(lambda _ (display " (lambda _ (display "
#define fchown(filedes, owner, group) 0 #define fchown(filedes, owner, group) 0
#define fchmod(filedes, mode) 0 #define fchmod(filedes, mode) 0
"))) ")))))
#t))
(replace 'check (replace 'check
(lambda _ (lambda _
(invoke "./bzip2" "--help"))) (invoke "./bzip2" "--help")))
@ -758,8 +747,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(setenv "CC" "tcc") (setenv "CC" "tcc")
(setenv "LD" "tcc") (setenv "LD" "tcc")
(setenv "AR" "tcc -ar") (setenv "AR" "tcc -ar")
(setenv "CFLAGS" "-D _POSIX_VERSION=1") (setenv "CFLAGS" "-D _POSIX_VERSION=1"))))
#t)))
(add-after 'unpack 'scripted-patch (add-after 'unpack 'scripted-patch
(lambda _ (lambda _
(substitute* "Makefile.in" (substitute* "Makefile.in"
@ -772,8 +760,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(substitute* "lib/sh/snprintf.c" (substitute* "lib/sh/snprintf.c"
(("^#if (defined [(]HAVE_LOCALE_H[)])" all define) (string-append "#if 0 //" define))) (("^#if (defined [(]HAVE_LOCALE_H[)])" all define) (string-append "#if 0 //" define)))
(substitute* "configure" (substitute* "configure"
((" egrep") " grep")) ((" egrep") " grep"))))
#t))
(replace 'configure (replace 'configure
(lambda* (#:key configure-flags #:allow-other-keys) (lambda* (#:key configure-flags #:allow-other-keys)
(let ((configure-flags (filter (lambda (x) (let ((configure-flags (filter (lambda (x)
@ -797,8 +784,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
#define endpwent(x) 0 #define endpwent(x) 0
" "
config.h) config.h)
(close config.h)) (close config.h))))
#t))
(replace 'check (replace 'check
(lambda _ (lambda _
(invoke "./bash" "--version"))) (invoke "./bash" "--version")))
@ -808,8 +794,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(mkdir-p bin) (mkdir-p bin)
(copy-file "bash" (string-append bin "/bash")) (copy-file "bash" (string-append bin "/bash"))
(copy-file "bash" (string-append bin "/sh")) (copy-file "bash" (string-append bin "/sh"))))))))))
#t))))))))
(define tcc-boot (define tcc-boot
;; The final tcc. ;; The final tcc.
@ -842,8 +827,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(copy-file source "tarball.tar.bz2") (copy-file source "tarball.tar.bz2")
(invoke "bzip2" "-d" "tarball.tar.bz2") (invoke "bzip2" "-d" "tarball.tar.bz2")
(invoke "tar" "xvf" "tarball.tar") (invoke "tar" "xvf" "tarball.tar")
(chdir (string-append "tcc-" ,version)) (chdir (string-append "tcc-" ,version))))
#t))
;; no patch yet ;; no patch yet
;; (add-after 'unpack 'apply-boot-patch ;; (add-after 'unpack 'apply-boot-patch
;; (lambda* (#:key inputs #:allow-other-keys) ;; (lambda* (#:key inputs #:allow-other-keys)
@ -854,8 +838,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(substitute* "libtcc.c" (substitute* "libtcc.c"
(("s->alacarte_link = 1;" all) (("s->alacarte_link = 1;" all)
(string-append all " (string-append all "
s->static_link = 1;"))) s->static_link = 1;")))))
#t))
(replace 'configure (replace 'configure
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref %outputs "out")) (let* ((out (assoc-ref %outputs "out"))
@ -915,8 +898,8 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(invoke "tcc" "-ar" "rc" "libtcc1.a" "libtcc1.o") (invoke "tcc" "-ar" "rc" "libtcc1.a" "libtcc1.o")
(copy-file "libtcc1.a" (string-append out "/lib/libtcc1.a")) (copy-file "libtcc1.a" (string-append out "/lib/libtcc1.a"))
(delete-file (string-append out "/lib/tcc/libtcc1.a")) (delete-file (string-append out "/lib/tcc/libtcc1.a"))
(copy-file "libtcc1.a" (string-append out "/lib/tcc/libtcc1.a")) (copy-file "libtcc1.a"
#t))))))))) (string-append out "/lib/tcc/libtcc1.a")))))))))))
(define diffutils-mesboot (define diffutils-mesboot
;; The initial diffutils. ;; The initial diffutils.
@ -964,8 +947,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(mkdir-p bin) (mkdir-p bin)
(install-file "cmp" bin) (install-file "cmp" bin)
(install-file "diff" bin) (install-file "diff" bin)))))))))
#t))))))))
(define patch-mesboot (define patch-mesboot
;; The initial patch. ;; The initial patch.
@ -998,8 +980,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
;; avoid another segfault ;; avoid another segfault
(substitute* "pch.c" (substitute* "pch.c"
(("while [(]p_end >= 0[)]" all) (("while [(]p_end >= 0[)]" all)
"p_end = -1;\nwhile (0)")) "p_end = -1;\nwhile (0)"))))
#t))
;; FIXME: no compressing gzip yet ;; FIXME: no compressing gzip yet
(delete 'compress-documentation)))))) (delete 'compress-documentation))))))
@ -1035,8 +1016,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(bash (assoc-ref %build-inputs "bash")) (bash (assoc-ref %build-inputs "bash"))
(shell (string-append bash "/bin/bash"))) (shell (string-append bash "/bin/bash")))
(substitute* "configure" (substitute* "configure"
(("/bin/sh") shell)) (("/bin/sh") shell)))))
#t)))
(replace 'check (replace 'check
(lambda _ (lambda _
(invoke "./sed" "--version"))) (invoke "./sed" "--version")))
@ -1044,8 +1024,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(lambda _ (lambda _
(let* ((out (assoc-ref %outputs "out")) (let* ((out (assoc-ref %outputs "out"))
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(install-file "sed" bin) (install-file "sed" bin)))))))))
#t))))))))
(define (%boot-tcc-inputs) (define (%boot-tcc-inputs)
`(("bash" ,bash-mesboot0) `(("bash" ,bash-mesboot0)
@ -1101,14 +1080,12 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(setenv "SHELL" shell) (setenv "SHELL" shell)
(setenv "AR" "tcc -ar") (setenv "AR" "tcc -ar")
(setenv "RANLIB" "true") (setenv "RANLIB" "true")
(setenv "CC" "tcc -D __GLIBC_MINOR__=6") (setenv "CC" "tcc -D __GLIBC_MINOR__=6"))))
#t)))
(add-after 'unpack 'scripted-patch (add-after 'unpack 'scripted-patch
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* "bfd/configure" (substitute* "bfd/configure"
(("^sed -e '/SRC-POTFILES.*" all) (("^sed -e '/SRC-POTFILES.*" all)
"echo -e 'all:\\n\\ttrue\\n\\ninstall:\\n\\ttrue\\n' > po/Makefile\n")) "echo -e 'all:\\n\\ttrue\\n\\ninstall:\\n\\ttrue\\n' > po/Makefile\n"))))
#t))
(replace 'configure ; needs classic invocation of configure (replace 'configure ; needs classic invocation of configure
(lambda* (#:key configure-flags #:allow-other-keys) (lambda* (#:key configure-flags #:allow-other-keys)
(format (current-error-port) (format (current-error-port)
@ -1180,8 +1157,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(add-after 'unpack 'apply-boot-patch (add-after 'unpack 'apply-boot-patch
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((patch-file (assoc-ref inputs "boot-patch"))) (let ((patch-file (assoc-ref inputs "boot-patch")))
(system* "patch" "--force" "-p1" "-i" patch-file) (system* "patch" "--force" "-p1" "-i" patch-file))))
#t)))
(add-before 'configure 'setenv (add-before 'configure 'setenv
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -1229,8 +1205,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(invoke "ar" "x" (string-append tcc "/lib/libtcc1.a")) (invoke "ar" "x" (string-append tcc "/lib/libtcc1.a"))
(invoke "ar" "x" (string-append tcc "/lib/libc.a")) (invoke "ar" "x" (string-append tcc "/lib/libc.a"))
(invoke "ar" "r" (string-append gcc-dir "/libc.a") (invoke "ar" "r" (string-append gcc-dir "/libc.a")
"libc.o" "libtcc1.o") "libc.o" "libtcc1.o")))))))
#t))))))
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification
(variable "C_INCLUDE_PATH") (variable "C_INCLUDE_PATH")
@ -1273,8 +1248,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(headers (assoc-ref %build-inputs "kernel-headers"))) (headers (assoc-ref %build-inputs "kernel-headers")))
(mkdir-p include) (mkdir-p include)
(copy-recursively "include" out) (copy-recursively "include" out)
(copy-recursively headers out) (copy-recursively headers out)))))))))
#t))))))))
(define gawk-mesboot0 (define gawk-mesboot0
;; The initial Gawk. ;; The initial Gawk.
@ -1325,8 +1299,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(setenv "CPP" "tcc -E") (setenv "CPP" "tcc -E")
(setenv "LD" "tcc") (setenv "LD" "tcc")
(setenv "ac_cv_func_getpgrp_void" "yes") (setenv "ac_cv_func_getpgrp_void" "yes")
(setenv "ac_cv_func_tzset" "yes")) (setenv "ac_cv_func_tzset" "yes"))))
#t))
(replace 'configure ; needs classic invocation of configure (replace 'configure ; needs classic invocation of configure
(lambda* (#:key configure-flags #:allow-other-keys) (lambda* (#:key configure-flags #:allow-other-keys)
(let* ((out (assoc-ref %outputs "out")) (let* ((out (assoc-ref %outputs "out"))
@ -1341,8 +1314,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(install-file "gawk" bin) (install-file "gawk" bin)
(symlink "gawk" (string-append bin "/awk")) (symlink "gawk" (string-append bin "/awk"))))))))))
#t))))))))
(define glibc-mesboot0 (define glibc-mesboot0
;; GNU C Library 2.2.5 is the most recent glibc that we managed to build ;; GNU C Library 2.2.5 is the most recent glibc that we managed to build
@ -1419,8 +1391,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(setenv "CONFIG_SHELL" shell) (setenv "CONFIG_SHELL" shell)
(setenv "SHELL" shell) (setenv "SHELL" shell)
(setenv "CPP" (string-append gcc "/bin/gcc -E " cppflags)) (setenv "CPP" (string-append gcc "/bin/gcc -E " cppflags))
(setenv "CC" (string-append gcc "/bin/gcc " cppflags cflags)) (setenv "CC" (string-append gcc "/bin/gcc " cppflags cflags)))))
#t)))
(replace 'configure ; needs classic invocation of configure (replace 'configure ; needs classic invocation of configure
(lambda* (#:key configure-flags #:allow-other-keys) (lambda* (#:key configure-flags #:allow-other-keys)
(format (current-error-port) (format (current-error-port)
@ -1437,8 +1408,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(("INSTALL = scripts/") "INSTALL = $(..)./scripts/") (("INSTALL = scripts/") "INSTALL = $(..)./scripts/")
(("BASH = ") (string-append (("BASH = ") (string-append
"SHELL = " shell " "SHELL = " shell "
BASH = "))) BASH = ")))))))))))
#t))))))))
(define gcc-mesboot0 (define gcc-mesboot0
(package (package
@ -1461,8 +1431,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(lambda _ (lambda _
(display " (display "
ac_cv_c_float_format='IEEE (little-endian)' ac_cv_c_float_format='IEEE (little-endian)'
"))) ")))))
#t))
(replace 'install2 (replace 'install2
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -1539,14 +1508,12 @@ ac_cv_c_float_format='IEEE (little-endian)'
(substitute* "configure" (substitute* "configure"
((" /bin/sh") shell))) ((" /bin/sh") shell)))
(substitute* "Makefile.in" (substitute* "Makefile.in"
(("^SUBDIRS = doc") "SUBDIRS =")) (("^SUBDIRS = doc") "SUBDIRS ="))))
#t))
(replace 'install (replace 'install
(lambda _ (lambda _
(let* ((out (assoc-ref %outputs "out")) (let* ((out (assoc-ref %outputs "out"))
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(install-file "src/tar" bin) (install-file "src/tar" bin)))))))))
#t))))))))
(define grep-mesboot (define grep-mesboot
;; The initial grep. ;; The initial grep.
@ -1583,8 +1550,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(install-file "grep" bin) (install-file "grep" bin)
(symlink "grep" (string-append bin "/egrep")) (symlink "grep" (string-append bin "/egrep"))
(symlink "grep" (string-append bin "/fgrep")) (symlink "grep" (string-append bin "/fgrep"))))))))))
#t))))))))
(define binutils-mesboot1 (define binutils-mesboot1
(package (package
@ -1609,8 +1575,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(let* ((out (assoc-ref %outputs "out")) (let* ((out (assoc-ref %outputs "out"))
(bash (assoc-ref %build-inputs "bash")) (bash (assoc-ref %build-inputs "bash"))
(shell (string-append bash "/bin/bash"))) (shell (string-append bash "/bin/bash")))
(setenv "CONFIG_SHELL" shell) (setenv "CONFIG_SHELL" shell))))))))))
#t)))))))))
(define coreutils-mesboot0 (define coreutils-mesboot0
(package (package
@ -1673,8 +1638,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(install-file "make" bin) (install-file "make" bin)))))))))
#t))))))))
(define gawk-mesboot (define gawk-mesboot
(package (package
@ -1709,8 +1673,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(install-file "gawk" bin) (install-file "gawk" bin)
(symlink "gawk" (string-append bin "/awk")) (symlink "gawk" (string-append bin "/awk"))))))))))
#t))))))))
(define sed-mesboot (define sed-mesboot
(package (package
@ -1741,8 +1704,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(shell (string-append bash "/bin/bash"))) (shell (string-append bash "/bin/bash")))
(substitute* "testsuite/Makefile.tests" (substitute* "testsuite/Makefile.tests"
(("^SHELL = /bin/sh") (("^SHELL = /bin/sh")
(string-append "SHELL = " shell))) (string-append "SHELL = " shell)))))))))))
#t))))))))
(define bash-mesboot (define bash-mesboot
(package (package
@ -1785,14 +1747,12 @@ ac_cv_c_float_format='IEEE (little-endian)'
(add-after 'unpack 'scripted-patch (add-after 'unpack 'scripted-patch
(lambda _ (lambda _
(substitute* "shell.c" (substitute* "shell.c"
((";;") ";")) ((";;") ";"))))
#t))
(add-before 'configure 'setenv (add-before 'configure 'setenv
(lambda _ (lambda _
(setenv "AWK" "gawk") (setenv "AWK" "gawk")
(setenv "LIBS" "-lc -lnss_files -lnss_dns -lresolv") (setenv "LIBS" "-lc -lnss_files -lnss_dns -lresolv")
(setenv "gl_cv_func_rename_dest_works" "yes") (setenv "gl_cv_func_rename_dest_works" "yes")))
#t))
(add-after 'configure 'configure-fixups (add-after 'configure 'configure-fixups
(lambda _ (lambda _
(let ((config.h (open-file "config.h" "a"))) (let ((config.h (open-file "config.h" "a")))
@ -1800,8 +1760,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
#define enable_hostname_completion(on_or_off) 0 #define enable_hostname_completion(on_or_off) 0
") ")
config.h) config.h)
(close config.h)) (close config.h))))
#t))
(replace 'check (replace 'check
(lambda _ (lambda _
(invoke "./bash" "--version"))) (invoke "./bash" "--version")))
@ -1811,8 +1770,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(mkdir-p bin) (mkdir-p bin)
(copy-file "bash" (string-append bin "/bash")) (copy-file "bash" (string-append bin "/bash"))
(copy-file "bash" (string-append bin "/sh")) (copy-file "bash" (string-append bin "/sh"))))))))))
#t))))))))
(define (%boot-mesboot1-inputs) (define (%boot-mesboot1-inputs)
`(("bash" ,bash-mesboot) `(("bash" ,bash-mesboot)
@ -1938,8 +1896,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((patch-file (assoc-ref inputs "boot-patch"))) (let ((patch-file (assoc-ref inputs "boot-patch")))
(format (current-error-port) "patch file=~s\n" patch-file) (format (current-error-port) "patch file=~s\n" patch-file)
(system* "patch" "--force" "-p1" "-i" patch-file)) (system* "patch" "--force" "-p1" "-i" patch-file))))
#t))
;; c&p from commencement.scm:gcc-boot0 ;; c&p from commencement.scm:gcc-boot0
(add-after 'unpack 'unpack-gmp&co (add-after 'unpack 'unpack-gmp&co
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
@ -1963,8 +1920,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(package-full-name lib "-") (package-full-name lib "-")
char-set:letter) char-set:letter)
,(package-name lib))) ,(package-name lib)))
(list gmp-boot mpfr-boot mpc-boot)) (list gmp-boot mpfr-boot mpc-boot)))))
#t)))
(add-before 'configure 'setenv (add-before 'configure 'setenv
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -1982,8 +1938,8 @@ ac_cv_c_float_format='IEEE (little-endian)'
(setenv "LIBRARY_PATH" (string-append glibc "/lib" (setenv "LIBRARY_PATH" (string-append glibc "/lib"
":" gcc "/lib")) ":" gcc "/lib"))
(format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH")) (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH"))
(format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH")) (format (current-error-port) "LIBRARY_PATH=~a\n"
#t)))))))) (getenv "LIBRARY_PATH"))))))))))
(define gcc-mesboot1 (define gcc-mesboot1
(package (package
@ -2013,8 +1969,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(add-before 'unpack 'unpack-g++ (add-before 'unpack 'unpack-g++
(lambda _ (lambda _
(let ((source-g++ (assoc-ref %build-inputs "gcc-g++"))) (let ((source-g++ (assoc-ref %build-inputs "gcc-g++")))
(invoke "tar" "xvf" source-g++)) (invoke "tar" "xvf" source-g++))))
#t))
(replace 'setenv (replace 'setenv
(lambda _ (lambda _
(setenv "CONFIG_SHELL" (which "sh")) (setenv "CONFIG_SHELL" (which "sh"))
@ -2026,8 +1981,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
;; Set the C++ search path so that C headers can be found as ;; Set the C++ search path so that C headers can be found as
;; libstdc++ is being compiled. ;; libstdc++ is being compiled.
(setenv "CPLUS_INCLUDE_PATH" (getenv "C_INCLUDE_PATH")) (setenv "CPLUS_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))))))))))
#t))))))))
(define (%boot-mesboot2-inputs) (define (%boot-mesboot2-inputs)
`(("gcc" ,gcc-mesboot1) `(("gcc" ,gcc-mesboot1)
@ -2168,8 +2122,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(substitute* "gprof/Makefile.in" (substitute* "gprof/Makefile.in"
(("^SUBDIRS = po") "SUBDIRS =")) (("^SUBDIRS = po") "SUBDIRS ="))
(substitute* "ld/Makefile.in" (substitute* "ld/Makefile.in"
(("^SUBDIRS = po") "SUBDIRS =")) (("^SUBDIRS = po") "SUBDIRS =")))))))))
#t)))))))
(define (%boot-mesboot3-inputs) (define (%boot-mesboot3-inputs)
`(("binutils" ,binutils-mesboot) `(("binutils" ,binutils-mesboot)
@ -2221,8 +2174,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(replace 'unpack (replace 'unpack
(lambda* (#:key source #:allow-other-keys) (lambda* (#:key source #:allow-other-keys)
(invoke "tar" "xvf" source) (invoke "tar" "xvf" source)
(chdir (string-append "glibc-" ,version)) (chdir (string-append "glibc-" ,version))))
#t))
(replace 'setenv (replace 'setenv
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let* ((headers (assoc-ref inputs "headers")) (let* ((headers (assoc-ref inputs "headers"))
@ -2244,15 +2196,13 @@ ac_cv_c_float_format='IEEE (little-endian)'
;; avoid -fstack-protector ;; avoid -fstack-protector
(setenv "libc_cv_ssp" "false") (setenv "libc_cv_ssp" "false")
(substitute* "configure" (substitute* "configure"
(("/bin/pwd") "pwd")) (("/bin/pwd") "pwd")))))
#t)))
(replace 'install (replace 'install
(lambda* (#:key outputs make-flags #:allow-other-keys) (lambda* (#:key outputs make-flags #:allow-other-keys)
(let ((kernel-headers (assoc-ref %build-inputs "kernel-headers")) (let ((kernel-headers (assoc-ref %build-inputs "kernel-headers"))
(out (assoc-ref outputs "out"))) (out (assoc-ref outputs "out")))
(and (apply invoke "make" make-flags) (apply invoke "make" make-flags)
(copy-recursively kernel-headers out) (copy-recursively kernel-headers out))))
#t))))
(replace 'configure (replace 'configure
(lambda* (#:key configure-flags #:allow-other-keys) (lambda* (#:key configure-flags #:allow-other-keys)
(format (current-error-port) "running ../configure ~a\n" (string-join configure-flags)) (format (current-error-port) "running ../configure ~a\n" (string-join configure-flags))
@ -2281,8 +2231,7 @@ SHELL := " shell "
(invoke "make" (string-append (getcwd) "/sysd-sorted" )) (invoke "make" (string-append (getcwd) "/sysd-sorted" ))
(substitute* "sysd-sorted" (substitute* "sysd-sorted"
((" sunrpc") " ") ((" sunrpc") " ")
((" nis") " ")) ((" nis") " ")))))))))))
#t)))))))))
(define glibc-mesboot (define glibc-mesboot
(package (package
@ -2303,9 +2252,8 @@ SHELL := " shell "
(let* ((kernel-headers (assoc-ref %build-inputs "kernel-headers")) (let* ((kernel-headers (assoc-ref %build-inputs "kernel-headers"))
(out (assoc-ref outputs "out")) (out (assoc-ref outputs "out"))
(install-flags (cons "install" make-flags))) (install-flags (cons "install" make-flags)))
(and (apply invoke "make" install-flags) (apply invoke "make" install-flags)
(copy-recursively kernel-headers out) (copy-recursively kernel-headers out)))))))))))
#t)))))))))))
(define (%boot-mesboot4-inputs) (define (%boot-mesboot4-inputs)
`(("libc" ,glibc-mesboot) `(("libc" ,glibc-mesboot)
@ -2360,8 +2308,7 @@ exec " gcc "/bin/" program
"g++" "g++"
"i686-unknown-linux-gnu-cpp" "i686-unknown-linux-gnu-cpp"
"i686-unknown-linux-gnu-gcc" "i686-unknown-linux-gnu-gcc"
"i686-unknown-linux-gnu-g++")) "i686-unknown-linux-gnu-g++")))))
#t)))
(replace 'check (replace 'check
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -2448,8 +2395,8 @@ exec " gcc "/bin/" program
":" gcc "/lib")) ":" gcc "/lib"))
(format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH")) (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH"))
(format (current-error-port) "CPLUS_INCLUDE_PATH=~a\n" (getenv "CPLUS_INCLUDE_PATH")) (format (current-error-port) "CPLUS_INCLUDE_PATH=~a\n" (getenv "CPLUS_INCLUDE_PATH"))
(format (current-error-port) "LIBRARY_PATH=~a\n" (getenv "LIBRARY_PATH")) (format (current-error-port) "LIBRARY_PATH=~a\n"
#t)))))))))) (getenv "LIBRARY_PATH"))))))))))))
(define gcc-mesboot-wrapper (define gcc-mesboot-wrapper
;; We need this so gcc-mesboot can be used to create shared binaries that ;; We need this so gcc-mesboot can be used to create shared binaries that
@ -2522,8 +2469,7 @@ exec " gcc "/bin/" program
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(install-file "make" bin) (install-file "make" bin)))))))))
#t))))))))
(native-inputs '()) ; no need for 'pkg-config' (native-inputs '()) ; no need for 'pkg-config'
(inputs (%bootstrap-inputs+toolchain)))) (inputs (%bootstrap-inputs+toolchain))))
@ -2748,8 +2694,7 @@ exec " gcc "/bin/" program
(with-directory-excursion (string-append out "/bin") (with-directory-excursion (string-append out "/bin")
(for-each (lambda (name) (for-each (lambda (name)
(symlink name (remove-triplet-prefix name))) (symlink name (remove-triplet-prefix name)))
(scandir "." has-triplet-prefix?))) (scandir "." has-triplet-prefix?)))))))
#t))))
,@(substitute-keyword-arguments (package-arguments binutils) ,@(substitute-keyword-arguments (package-arguments binutils)
((#:configure-flags cf) ((#:configure-flags cf)
@ -2784,8 +2729,7 @@ exec " gcc "/bin/" program
;; fail, which in turn confuses the configure script. ;; fail, which in turn confuses the configure script.
(lambda _ (lambda _
(substitute* "libstdc++-v3/configure" (substitute* "libstdc++-v3/configure"
(("g\\+\\+ -v") "true")) (("g\\+\\+ -v") "true"))))))))
#t))))))
(_ (package-arguments lib))))) (_ (package-arguments lib)))))
(inputs (%boot0-inputs)) (inputs (%boot0-inputs))
(native-inputs '())))) (native-inputs '()))))
@ -2867,8 +2811,7 @@ exec " gcc "/bin/" program
(package-full-name lib "-") (package-full-name lib "-")
char-set:letter) char-set:letter)
,(package-name lib))) ,(package-name lib)))
(list gmp-6.0 mpfr mpc)) (list gmp-6.0 mpfr mpc)))))
#t)))
,(match (%current-system) ,(match (%current-system)
((or "i686-linux" "x86_64-linux") ((or "i686-linux" "x86_64-linux")
'(add-before 'configure 'fix-libcc1 '(add-before 'configure 'fix-libcc1
@ -2881,8 +2824,7 @@ exec " gcc "/bin/" program
(assoc-ref inputs "gcc") "/lib"))) (assoc-ref inputs "gcc") "/lib")))
;; XXX: "g++ -v" is broken (see also libstdc++ above). ;; XXX: "g++ -v" is broken (see also libstdc++ above).
(substitute* "libcc1/configure" (substitute* "libcc1/configure"
(("g\\+\\+ -v") "true")) (("g\\+\\+ -v") "true")))))
#t)))
(_ '(add-before 'configure 'return-true (_ '(add-before 'configure 'return-true
(lambda _ #t)))) (lambda _ #t))))
(add-after 'install 'symlink-libgcc_eh (add-after 'install 'symlink-libgcc_eh
@ -2894,8 +2836,7 @@ exec " gcc "/bin/" program
(string-append out "/lib/gcc/" (string-append out "/lib/gcc/"
,(boot-triplet) ,(boot-triplet)
"/" ,(package-version gcc)) "/" ,(package-version gcc))
(symlink "libgcc.a" "libgcc_eh.a")) (symlink "libgcc.a" "libgcc_eh.a"))))))))))
#t))))))))
(inputs `(("gmp-source" ,(bootstrap-origin (package-source gmp-6.0))) (inputs `(("gmp-source" ,(bootstrap-origin (package-source gmp-6.0)))
("mpfr-source" ,(bootstrap-origin (package-source mpfr))) ("mpfr-source" ,(bootstrap-origin (package-source mpfr)))
@ -2936,8 +2877,7 @@ exec " gcc "/bin/" program
(lambda _ (lambda _
(substitute* "Configure" (substitute* "Configure"
(("^libswanted=(.*)pthread" _ before) (("^libswanted=(.*)pthread" _ before)
(string-append "libswanted=" before))) (string-append "libswanted=" before)))))))
#t))))
;; Do not configure with '-Dusethreads' since pthread ;; Do not configure with '-Dusethreads' since pthread
;; support is missing. ;; support is missing.
((#:configure-flags configure-flags) ((#:configure-flags configure-flags)
@ -3182,8 +3122,7 @@ memoized as a function of '%current-system'."
(delete-file-recursively "Modules/expat") (delete-file-recursively "Modules/expat")
(substitute* "Modules/Setup.dist" (substitute* "Modules/Setup.dist"
;; Link Expat instead of embedding the bundled one. ;; Link Expat instead of embedding the bundled one.
(("^#pyexpat.*") "pyexpat pyexpat.c -lexpat\n")) (("^#pyexpat.*") "pyexpat pyexpat.c -lexpat\n")))))))
#t)))))
(inputs (inputs
`(,@(%boot0-inputs) `(,@(%boot0-inputs)
("expat" ,expat-sans-tests))) ;remove OpenSSL, zlib, etc. ("expat" ,expat-sans-tests))) ;remove OpenSSL, zlib, etc.
@ -3219,16 +3158,15 @@ memoized as a function of '%current-system'."
(("extensions\\.append\\(ctypes\\)") "") (("extensions\\.append\\(ctypes\\)") "")
;; Prevent the 'ossaudiodev' extension from being ;; Prevent the 'ossaudiodev' extension from being
;; built, since it requires Linux headers. ;; built, since it requires Linux headers.
(("'linux', ") "")) (("'linux', ") ""))))
#t))
(delete 'set-TZDIR) (delete 'set-TZDIR)
,@(if (hurd-system?) ,@(if (hurd-system?)
`((add-before 'build 'fix-regen `((add-before 'build 'fix-regen
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((libc (assoc-ref inputs "libc"))) (let ((libc (assoc-ref inputs "libc")))
(substitute* "Lib/plat-generic/regen" (substitute* "Lib/plat-generic/regen"
(("/usr/include/") (string-append libc "/include/"))) (("/usr/include/")
#t)))) (string-append libc "/include/")))))))
'()))) '())))
((#:tests? _ #f) #f)))))) ((#:tests? _ #f) #f))))))
@ -3289,8 +3227,7 @@ memoized as a function of '%current-system'."
(string-append "LDLIBS-pthread.so = " (string-append "LDLIBS-pthread.so = "
(assoc-ref %build-inputs "kernel-headers") (assoc-ref %build-inputs "kernel-headers")
"/lib/libihash.a\n")))) "/lib/libihash.a\n"))))
'()) '()))))))))
#t)))))))
(propagated-inputs `(("kernel-headers" ,(kernel-headers-boot0)))) (propagated-inputs `(("kernel-headers" ,(kernel-headers-boot0))))
(native-inputs (native-inputs
`(("bison" ,bison-boot0) `(("bison" ,bison-boot0)
@ -3354,9 +3291,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
triplet "-" tool) triplet "-" tool)
tool)) tool))
'("ar" "ranlib")) '("ar" "ranlib"))
(for-each wrap-program '("gcc" "g++"))) (for-each wrap-program '("gcc" "g++")))))))
#t))))
(native-inputs (native-inputs
`(("binutils" ,binutils) `(("binutils" ,binutils)
("gcc" ,gcc) ("gcc" ,gcc)
@ -3419,16 +3354,14 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; Build only the tools. ;; Build only the tools.
(add-after 'unpack 'chdir (add-after 'unpack 'chdir
(lambda _ (lambda _
(chdir "gettext-tools") (chdir "gettext-tools")))
#t))
;; Some test programs require pthreads, which we don't have. ;; Some test programs require pthreads, which we don't have.
(add-before 'configure 'no-test-programs (add-before 'configure 'no-test-programs
(lambda _ (lambda _
(substitute* "tests/Makefile.in" (substitute* "tests/Makefile.in"
(("^PROGRAMS =.*$") (("^PROGRAMS =.*$")
"PROGRAMS =\n")) "PROGRAMS =\n")))))))))
#t)))))))
(define glibc-final (define glibc-final
;; The final glibc, which embeds the statically-linked Bash built above. ;; The final glibc, which embeds the statically-linked Bash built above.
@ -3595,8 +3528,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(package-full-name lib "-") (package-full-name lib "-")
char-set:letter) char-set:letter)
,(package-name lib))) ,(package-name lib)))
(list gmp-6.0 mpfr mpc)) (list gmp-6.0 mpfr mpc))))))))))
#t))))))))
;; This time we want Texinfo, so we get the manual. Add ;; This time we want Texinfo, so we get the manual. Add
;; STATIC-BASH-FOR-GLIBC so that it's used in the final shebangs of ;; STATIC-BASH-FOR-GLIBC so that it's used in the final shebangs of