From: Jan Nieuwenhuizen <janneke@gnu.org>
To: 33038@debbugs.gnu.org
Subject: [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
Date: Sun, 14 Oct 2018 10:58:54 +0200 [thread overview]
Message-ID: <20181014085857.3863-3-janneke@gnu.org> (raw)
In-Reply-To: <20181014085857.3863-1-janneke@gnu.org>
* gnu/packages/make-bootstrap.scm (%mes-stripped): New variable.
(%mes-bootstrap-tarball): New variable.
* gnu/packages/bootstrap.scm (%bootstrap-mes): New variable.
---
gnu/packages/bootstrap.scm | 59 +++++++++++++++++++++++++++++++++
gnu/packages/make-bootstrap.scm | 35 +++++++++++++++++++
gnu/packages/mes.scm | 1 -
3 files changed, 94 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 82d229569..f33fc061e 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -49,6 +49,7 @@
%bootstrap-gcc
%bootstrap-glibc
%bootstrap-inputs
+ %bootstrap-mes
%mescc-tools-seed
%mes-seed
%srfi-43
@@ -610,6 +611,64 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
(home-page #f)
(license gpl3+)))
+(define %bootstrap-mes
+ ;; The initial Mes. Uses binaries from a tarball typically built by
+ ;; %MES-BOOTSTRAP-TARBALL.
+ (package
+ (name "bootstrap-mes")
+ (version "0")
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments
+ `(#:guile ,%bootstrap-guile
+ #:modules ((guix build utils))
+ #:builder
+ (let ((out (assoc-ref %outputs "out"))
+ (tar (assoc-ref %build-inputs "tar"))
+ (xz (assoc-ref %build-inputs "xz"))
+ (tarball (assoc-ref %build-inputs "tarball")))
+ (use-modules (guix build utils)
+ (ice-9 popen))
+
+ (mkdir out)
+ (copy-file tarball "binaries.tar.xz")
+ (invoke xz "-d" "binaries.tar.xz")
+ (let ((builddir (getcwd))
+ (bindir (string-append out "/bin")))
+ (with-directory-excursion out
+ (invoke tar "xvf"
+ (string-append builddir "/binaries.tar")))))))
+ (inputs
+ `(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
+ ("xz" ,(search-bootstrap-binary "xz" (%current-system)))
+ ("tarball" ,(bootstrap-origin
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://lilypond.org/janneke/mes/"
+ (match (%current-system)
+ ("x86_64-linux" "mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz")
+ ("i686-linux" "mes-stripped-0.18-0.08f04f5-i686-linux.tar.xz"))))
+ (sha256
+ (match (%current-system)
+ ("x86_64-linux"
+ (base32
+ "14sbcm79ml4rgygxvx1135827g3ggfx1c1vchk77z26yibbdw9nh"))
+ ("i686-linux"
+ (base32
+ "1p116ya9n52852bryh34n7db4mhvi98qifmmwygl7nbyc4dz92jy")))))))))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "C_INCLUDE_PATH")
+ (files '("share/mes/include")))
+ (search-path-specification
+ (variable "LIBRARY_PATH")
+ (files '("share/mes/lib")))))
+ (synopsis "Bootstrap binaries of Mes")
+ (description synopsis)
+ (home-page #f)
+ (license gpl3+)))
+
(define %mescc-tools-seed ; todo: add tarballs to alpha.gnu.org/pub/mes/bootstrap/
(let ((commit "dc4e20e74924a5c80a2b7a77b4d7b927234fa71c"))
(origin
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 3553737f1..7bfba3c14 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -38,6 +38,7 @@
#:use-module (gnu packages libunistring)
#:use-module (gnu packages linux)
#:use-module (gnu packages hurd)
+ #:use-module (gnu packages mes)
#:use-module (gnu packages multiprecision)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
@@ -47,6 +48,7 @@
%glibc-bootstrap-tarball
%gcc-bootstrap-tarball
%guile-bootstrap-tarball
+ %mes-bootstrap-tarball
%bootstrap-tarballs
%guile-static-stripped))
@@ -533,6 +535,35 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
#t))))
(inputs `(("gcc" ,%gcc-static)))))
+(define %mes-stripped
+ ;; The subset of Mes files needed for bootstrap.
+ (package
+ (inherit mes)
+ (name "mes-stripped")
+ (build-system trivial-build-system)
+ (source #f)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (srfi srfi-1)
+ (srfi srfi-26)
+ (guix build utils))
+
+ (setvbuf (current-output-port) _IOLBF)
+ (let* ((out (assoc-ref %outputs "out"))
+ (libdir (string-append out "/lib"))
+ (mes (assoc-ref %build-inputs "mes")))
+
+ (copy-recursively (string-append mes "/lib") libdir)
+ (copy-recursively (string-append mes "/share/mes/lib") libdir)
+ (for-each remove-store-references
+ (remove (lambda (file) (or (string-suffix? ".h" file)
+ (string-suffix? ".c" file)))
+ (find-files out ".*")))
+ #t))))
+ (inputs `(("mes" ,mes)))))
+
(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
@@ -700,6 +731,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
;; A tarball with the statically-linked, relocatable Guile.
(tarball-package %guile-static-stripped))
+(define %mes-bootstrap-tarball
+ ;; A tarball with Mes ASCII Seed and binary Mes C Library.
+ (tarball-package %mes-stripped))
+
(define %bootstrap-tarballs
;; A single derivation containing all the bootstrap tarballs, for
;; convenience.
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 4f98cd24f..c4cb118e3 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -21,7 +21,6 @@
(define-module (gnu packages mes)
#:use-module (gnu packages)
#:use-module (gnu packages base)
- #:use-module (gnu packages commencement)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages gcc)
#:use-module (gnu packages graphviz)
--
2.18.0
next prev parent reply other threads:[~2018-10-14 9:00 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-14 8:50 [bug#33038] bootstrap: Regeneration of Mes bootstrap seeds Jan Nieuwenhuizen
2018-10-14 8:58 ` [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping' Jan Nieuwenhuizen
2018-10-14 8:58 ` [bug#33038] [PATCH 2/6] gnu: mes: Update to 0.18.0-08f04f55 Jan Nieuwenhuizen
2018-10-19 21:23 ` Ludovic Courtès
2018-10-20 6:41 ` Jan Nieuwenhuizen
2018-10-14 8:58 ` Jan Nieuwenhuizen [this message]
2018-10-19 21:31 ` [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes Ludovic Courtès
2018-10-20 7:35 ` Jan Nieuwenhuizen
2018-10-20 18:31 ` Jan Nieuwenhuizen
2018-10-21 20:37 ` Marius Bakke
2018-10-21 21:04 ` Ludovic Courtès
2018-10-21 21:28 ` Jan Nieuwenhuizen
2018-10-21 21:09 ` Ludovic Courtès
2018-10-21 21:32 ` Jan Nieuwenhuizen
2018-10-23 21:00 ` bug#33038: " Jan Nieuwenhuizen
2018-10-24 16:18 ` [bug#33038] " Marius Bakke
2018-10-24 16:58 ` Jan Nieuwenhuizen
2018-10-14 8:58 ` [bug#33038] [PATCH 4/6] gnu: mescc-tools: Update to 0.5.2-0.bb062b0d Jan Nieuwenhuizen
2018-10-19 21:32 ` Ludovic Courtès
2018-10-20 7:41 ` Jan Nieuwenhuizen
2018-10-14 8:58 ` [bug#33038] [PATCH 5/6] bootstrap: Build with %bootstrap-mes Jan Nieuwenhuizen
2018-10-19 21:34 ` Ludovic Courtès
2018-10-14 8:58 ` [bug#33038] [PATCH 6/6] doc: Update Preparing to Use the Bootstrap Binaries Jan Nieuwenhuizen
2018-10-19 21:37 ` Ludovic Courtès
2018-10-20 8:23 ` Jan Nieuwenhuizen
2018-10-19 21:22 ` [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping' Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181014085857.3863-3-janneke@gnu.org \
--to=janneke@gnu.org \
--cc=33038@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).