bootstrap: Add mes-minimal-stripped-tarball.
* gnu/packages/make-bootstrap.scm (%mes-minimal, %mes-minimal-stripped, %mes-bootstrap-tarball): New variable. Modified-By: Mark H Weaver <mhw@netris.org>
This commit is contained in:
parent
fb925c7257
commit
ed050b1cf5
|
@ -49,6 +49,7 @@
|
||||||
%gcc-bootstrap-tarball
|
%gcc-bootstrap-tarball
|
||||||
%guile-bootstrap-tarball
|
%guile-bootstrap-tarball
|
||||||
%mescc-tools-bootstrap-tarball
|
%mescc-tools-bootstrap-tarball
|
||||||
|
%mes-bootstrap-tarball
|
||||||
%bootstrap-tarballs
|
%bootstrap-tarballs
|
||||||
|
|
||||||
%guile-static-stripped))
|
%guile-static-stripped))
|
||||||
|
@ -598,6 +599,93 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||||
'( "M1" "blood-elf" "hex2"))
|
'( "M1" "blood-elf" "hex2"))
|
||||||
#t))))
|
#t))))
|
||||||
(inputs `(("mescc-tools" ,%mescc-tools-static)))))
|
(inputs `(("mescc-tools" ,%mescc-tools-static)))))
|
||||||
|
|
||||||
|
;; (define-public %mes-minimal-stripped
|
||||||
|
;; ;; A minimal Mes without documentation dependencies, for bootstrap.
|
||||||
|
;; (let ((triplet "i686-unknown-linux-gnu"))
|
||||||
|
;; (package
|
||||||
|
;; (inherit mes)
|
||||||
|
;; (name "mes-minimal-stripped")
|
||||||
|
;; (native-inputs
|
||||||
|
;; `(("guile" ,guile-2.2)))
|
||||||
|
;; (arguments
|
||||||
|
;; `(#:system "i686-linux"
|
||||||
|
;; #:strip-binaries? #f
|
||||||
|
;; #:configure-flags '("--mes")
|
||||||
|
;; #:phases
|
||||||
|
;; (modify-phases %standard-phases
|
||||||
|
;; (delete 'patch-shebangs)
|
||||||
|
;; (add-after 'install 'strip-install
|
||||||
|
;; (lambda _
|
||||||
|
;; (let* ((out (assoc-ref %outputs "out"))
|
||||||
|
;; (share (string-append out "/share")))
|
||||||
|
;; (delete-file-recursively (string-append out "/lib/guile"))
|
||||||
|
;; (delete-file-recursively (string-append share "/guile"))
|
||||||
|
;; (delete-file-recursively (string-append share "/mes/scaffold"))
|
||||||
|
|
||||||
|
;; (for-each delete-file
|
||||||
|
;; (find-files
|
||||||
|
;; (string-append share "/mes/lib") "\\.(h|c)"))
|
||||||
|
|
||||||
|
;; (for-each (lambda (dir)
|
||||||
|
;; (for-each remove-store-references
|
||||||
|
;; (find-files (string-append out "/" dir)
|
||||||
|
;; ".*")))
|
||||||
|
;; '("bin" "share/mes")))))))))))
|
||||||
|
|
||||||
|
;; Two packages: first build static, bare minimum content.
|
||||||
|
(define-public %mes-minimal
|
||||||
|
;; A minimal Mes without documentation.
|
||||||
|
(let ((triplet "i686-unknown-linux-gnu"))
|
||||||
|
(package
|
||||||
|
(inherit mes)
|
||||||
|
(name "mes-minimal")
|
||||||
|
(native-inputs
|
||||||
|
`(("guile" ,guile-2.2)))
|
||||||
|
(arguments
|
||||||
|
`(#:system "i686-linux"
|
||||||
|
#:strip-binaries? #f
|
||||||
|
#:configure-flags '("--mes")
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(delete 'patch-shebangs)
|
||||||
|
(add-after 'install 'strip-install
|
||||||
|
(lambda _
|
||||||
|
(let* ((out (assoc-ref %outputs "out"))
|
||||||
|
(share (string-append out "/share")))
|
||||||
|
(delete-file-recursively (string-append out "/lib/guile"))
|
||||||
|
(delete-file-recursively (string-append share "/guile"))
|
||||||
|
(delete-file-recursively (string-append share "/mes/scaffold"))
|
||||||
|
|
||||||
|
(for-each delete-file
|
||||||
|
(find-files
|
||||||
|
(string-append share "/mes/lib")
|
||||||
|
"\\.(h|c)")))))))))))
|
||||||
|
|
||||||
|
;; next remove store references.
|
||||||
|
(define %mes-minimal-stripped
|
||||||
|
;; A minimal Mes with store references removed, for bootstrap.
|
||||||
|
(package
|
||||||
|
(inherit %mes-minimal)
|
||||||
|
(name (string-append (package-name %mes-minimal) "-stripped"))
|
||||||
|
(build-system trivial-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:modules ((guix build utils))
|
||||||
|
#:builder
|
||||||
|
(begin
|
||||||
|
(use-modules (guix build utils))
|
||||||
|
(let ((in (assoc-ref %build-inputs "mes"))
|
||||||
|
(out (assoc-ref %outputs "out")))
|
||||||
|
|
||||||
|
(copy-recursively in out)
|
||||||
|
(for-each (lambda (dir)
|
||||||
|
(for-each remove-store-references
|
||||||
|
(find-files (string-append out "/" dir)
|
||||||
|
".*")))
|
||||||
|
'("bin" "share/mes"))
|
||||||
|
#t))))
|
||||||
|
(inputs `(("mes" ,%mes-minimal)))))
|
||||||
|
|
||||||
(define %guile-static
|
(define %guile-static
|
||||||
;; A statically-linked Guile that is relocatable--i.e., it can search
|
;; A statically-linked Guile that is relocatable--i.e., it can search
|
||||||
;; .scm and .go files relative to its installation directory, rather
|
;; .scm and .go files relative to its installation directory, rather
|
||||||
|
@ -769,6 +857,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||||
;; A tarball with statically-linked MesCC binary seed.
|
;; A tarball with statically-linked MesCC binary seed.
|
||||||
(tarball-package %mescc-tools-static-stripped))
|
(tarball-package %mescc-tools-static-stripped))
|
||||||
|
|
||||||
|
(define %mes-bootstrap-tarball
|
||||||
|
;; A tarball with Mes binary seed.
|
||||||
|
(tarball-package %mes-minimal-stripped))
|
||||||
|
|
||||||
(define %bootstrap-tarballs
|
(define %bootstrap-tarballs
|
||||||
;; A single derivation containing all the bootstrap tarballs, for
|
;; A single derivation containing all the bootstrap tarballs, for
|
||||||
;; convenience.
|
;; convenience.
|
||||||
|
|
Loading…
Reference in New Issue