Subject: [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.

From: [email-masked] (Ludovic Courtès)
Date: Fri, 19 Oct 2018 23:31:34 +0200

Jan Nieuwenhuizen <[email-masked]> skribis:

> * gnu/packages/make-bootstrap.scm (%mes-stripped): New variable.
> (%mes-bootstrap-tarball): New variable.
> * gnu/packages/bootstrap.scm (%bootstrap-mes): New variable.

[...]

> +(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))

Please move the ‘use-modules’ form to the top level (non-top-level
‘use-modules’ works pretty much by chance).

> +    (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")))))))))

So these two tarballs were made from this commit, minus the
bootstrap.scm changes?

It would be nice to maybe make this a separate commit (following the
make-bootstrap.scm changes) so that you can state in the commit log
which commit was used to build this binary.

Besides we can consider hosting these binaries on ftp.gnu.org, under
/mes or /guix.

> --- 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)

Indeed ‘commencement’ should never be used by other package modules, for
reasons having to do with circularity.

Otherwise LGTM!

Ludo’.