From 095c7a2683509d8a12e1febfd667fdf7d20127e3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 21 Oct 2012 15:57:04 +0200 Subject: distro: Add a bootstrap GCC tarball. * distro/packages/base.scm (%gcc-stripped, %gcc-bootstrap-tarball): New variables. --- distro/packages/base.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'distro') diff --git a/distro/packages/base.scm b/distro/packages/base.scm index e153077424..92c58e9d88 100644 --- a/distro/packages/base.scm +++ b/distro/packages/base.scm @@ -2169,6 +2169,35 @@ store.") #t)))) (inputs `(("libc" ,glibc-final))))) +(define %gcc-stripped + (package (inherit gcc-final) + (name "gcc-stripped") + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + + (setvbuf (current-output-port) _IOLBF) + (let* ((out (assoc-ref %outputs "out")) + (bindir (string-append out "/bin")) + (libdir (string-append out "/lib")) + (gcc (assoc-ref %build-inputs "gcc"))) + (copy-recursively (string-append gcc "/bin") bindir) + (for-each remove-store-references + (find-files bindir ".*")) + + (mkdir-p libdir) + (for-each (lambda (file) + (let ((target (string-append libdir "/" + (basename file)))) + (copy-file file target) + (remove-store-references target))) + (find-files (string-append gcc "/lib") "^libgcc_s.*")) + #t)))) + (inputs `(("gcc" ,gcc-final))))) + (define %guile-static ;; A statically-linked Guile that is relocatable--i.e., it can search ;; .scm and .go files relative to its installation directory, rather @@ -2283,6 +2312,10 @@ store.") ;; A tarball with GNU libc's shared libraries, dynamic linker, and headers. (tarball-package %glibc-stripped)) +(define %gcc-bootstrap-tarball + ;; A tarball with a dynamic-linked GCC and its headers. + (tarball-package %gcc-stripped)) + (define %guile-bootstrap-tarball ;; A tarball with the statically-linked, relocatable Guile. (tarball-package %guile-static-stripped)) -- cgit v1.2.3