[PATCH] gnu: mu: Update to 1.8.7.

DoneSubmitted by muradm.
Details
4 participants
  • muradm
  • Maxime Devos
  • (
  • Ricardo Wurmus
Owner
unassigned
Severity
normal
M
M
muradm wrote on 1 Aug 15:11 +0200
(address . guix-patches@gnu.org)
20220801131159.20007-1-mail@muradm.net
since 1.8:
* mu is built with meson build system.
* guile support is deprecated.

* gnu/packages/mail.scm (mu): Update to 1.8.7.
[source]: Changing from release tarball to checkout.
[build-system]: Changing to meson-build-system.
[native-inputs]: Removed glib:bin and tzdata, added gnupg amd texinfo.
[inputs]: Removed guile added coreutils (for /bin/rm command).
[arguments]: Removed obsolete 'patch-configure, 'fix-ffi and
'check-tz-setup phases. Added 'patch-bin-in-sources for
introduced /bin/rm command. Renamed and updated 'patch-bin-sh-in-tests
to 'patch-bin-in-tests.
---
gnu/packages/mail.scm | 68 ++++++++++++++++++-------------------------
1 file changed, 28 insertions(+), 40 deletions(-)

Toggle diff (92 lines)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 556c5b4305..b57099de4d 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1161,57 +1161,45 @@ (define-public emacs-mew
 (define-public mu
   (package
     (name "mu")
-    (version "1.6.11")
+    (version "1.8.7")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/djcb/mu/releases/"
-                                  "download/" version "/"
-                                  "mu-" version ".tar.xz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/djcb/mu")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "13gchks9znyw0axw1wlks7f7h4442rfagmj7kx0jm3qhvi0b5sk0"))))
-    (build-system gnu-build-system)
+                "0yfbw234yqnqfnsn5bj1hqwpy78pkxn05vl18z8nvsqdmpzal4gx"))))
+    (build-system meson-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("glib" ,glib "bin")             ; for gtester
-       ("emacs" ,emacs-minimal)
-       ("tzdata" ,tzdata-for-tests)))   ; for mu/test/test-mu-query.c
+     (list pkg-config
+           emacs-minimal
+           gnupg                              ; for tests
+           texinfo))
     (inputs
-     (list xapian guile-3.0 glib gmime))
+     (list coreutils glib gmime xapian))
     (arguments
-     `(#:modules ((guix build gnu-build-system)
-                  (guix build utils)
-                  (guix build emacs-utils))
-       #:imported-modules (,@%gnu-build-system-modules
+     `(#:modules ((guix build meson-build-system)
+                  (guix build emacs-utils)
+                  (guix build utils))
+       #:imported-modules (,@%meson-build-system-modules
                            (guix build emacs-utils))
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch-configure
-           ;; By default, elisp code goes to "share/emacs/site-lisp/mu4e",
-           ;; so our Emacs package can't find it.  Setting "--with-lispdir"
-           ;; configure flag doesn't help because "mu4e" will be added to
-           ;; the lispdir anyway, so we have to modify "configure.ac".
-           (lambda _
-             (substitute* "configure"
-               (("^ +lispdir=\"\\$\\{lispdir\\}/mu4e/\".*") ""))))
-         (add-after 'unpack 'patch-bin-sh-in-tests
+         (add-after 'unpack 'patch-bin-in-sources
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "lib/utils/mu-utils.cc"
+               (("/bin/rm") (search-input-file inputs "/bin/rm")))))
+         (add-after 'patch-bin-in-sources 'patch-bin-in-tests
            (lambda _
              (substitute* '("guile/tests/test-mu-guile.cc"
-                            "mu/test-mu-cmd.cc"
-                            "mu/test-mu-cmd-cfind.cc"
-                            "mu/test-mu-query.cc")
-               (("/bin/sh") (which "sh")))))
-         (add-before 'install 'fix-ffi
-           (lambda* (#:key outputs #:allow-other-keys)
-             (substitute* "guile/mu.scm"
-               (("\"libguile-mu\"")
-                (format #f "\"~a/lib/libguile-mu\""
-                        (assoc-ref outputs "out"))))))
-         (add-before 'check 'check-tz-setup
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; For mu/test/test-mu-query.c
-             (setenv "TZDIR"
-                     (search-input-directory inputs "share/zoneinfo"))))
+                            "mu/tests/test-mu-cmd.cc"
+                            "mu/tests/test-mu-cmd-cfind.cc"
+                            "mu/tests/test-mu-query.cc")
+               (("/bin/sh") (which "sh")))
+             (substitute* '("lib/tests/bench-indexer.cc")
+               (("/bin/rm") (which "rm")))))
          (add-after 'install 'install-emacs-autoloads
            (lambda* (#:key outputs #:allow-other-keys)
              (emacs-generate-autoloads
-- 
2.37.1
M
M
muradm wrote on 1 Aug 15:41 +0200
[PATCH v2] gnu: mu: Update to 1.8.7.
(address . 56872@debbugs.gnu.org)
20220801134101.26024-1-mail@muradm.net
since 1.8:
* mu is built with meson build system.
* guile support is deprecated.

* gnu/packages/mail.scm (mu): Update to 1.8.7.
[source]: Changing from release tarball to checkout.
[build-system]: Changing to meson-build-system.
[native-inputs]: Removed glib:bin and tzdata, added gnupg amd texinfo.
[inputs]: Removed guile added coreutils (for /bin/rm command).
[arguments]: Removed obsolete 'patch-configure, 'fix-ffi and
'check-tz-setup phases. Added 'patch-bin-in-sources for
introduced /bin/rm command. Renamed and updated 'patch-bin-sh-in-tests
to 'patch-bin-in-tests.
---
gnu/packages/mail.scm | 66 +++++++++++++++++--------------------------
1 file changed, 26 insertions(+), 40 deletions(-)

Toggle diff (97 lines)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 556c5b4305..2c06a1a9ba 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -48,6 +48,7 @@
 ;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li>
 ;;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com>
 ;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2022 muradm <mail@muradm.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1161,57 +1162,42 @@ (define-public emacs-mew
 (define-public mu
   (package
     (name "mu")
-    (version "1.6.11")
+    (version "1.8.7")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/djcb/mu/releases/"
-                                  "download/" version "/"
-                                  "mu-" version ".tar.xz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/djcb/mu")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "13gchks9znyw0axw1wlks7f7h4442rfagmj7kx0jm3qhvi0b5sk0"))))
-    (build-system gnu-build-system)
+                "0yfbw234yqnqfnsn5bj1hqwpy78pkxn05vl18z8nvsqdmpzal4gx"))))
+    (build-system meson-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("glib" ,glib "bin")             ; for gtester
-       ("emacs" ,emacs-minimal)
-       ("tzdata" ,tzdata-for-tests)))   ; for mu/test/test-mu-query.c
+     (list emacs-minimal
+           gnupg                              ; for tests
+           pkg-config
+           texinfo))
     (inputs
-     (list xapian guile-3.0 glib gmime))
+     (list glib gmime xapian))
     (arguments
-     `(#:modules ((guix build gnu-build-system)
-                  (guix build utils)
-                  (guix build emacs-utils))
-       #:imported-modules (,@%gnu-build-system-modules
+     `(#:modules ((guix build meson-build-system)
+                  (guix build emacs-utils)
+                  (guix build utils))
+       #:imported-modules (,@%meson-build-system-modules
                            (guix build emacs-utils))
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch-configure
-           ;; By default, elisp code goes to "share/emacs/site-lisp/mu4e",
-           ;; so our Emacs package can't find it.  Setting "--with-lispdir"
-           ;; configure flag doesn't help because "mu4e" will be added to
-           ;; the lispdir anyway, so we have to modify "configure.ac".
-           (lambda _
-             (substitute* "configure"
-               (("^ +lispdir=\"\\$\\{lispdir\\}/mu4e/\".*") ""))))
-         (add-after 'unpack 'patch-bin-sh-in-tests
+         (add-after 'unpack 'patch-bin-in-tests
            (lambda _
              (substitute* '("guile/tests/test-mu-guile.cc"
-                            "mu/test-mu-cmd.cc"
-                            "mu/test-mu-cmd-cfind.cc"
-                            "mu/test-mu-query.cc")
-               (("/bin/sh") (which "sh")))))
-         (add-before 'install 'fix-ffi
-           (lambda* (#:key outputs #:allow-other-keys)
-             (substitute* "guile/mu.scm"
-               (("\"libguile-mu\"")
-                (format #f "\"~a/lib/libguile-mu\""
-                        (assoc-ref outputs "out"))))))
-         (add-before 'check 'check-tz-setup
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; For mu/test/test-mu-query.c
-             (setenv "TZDIR"
-                     (search-input-directory inputs "share/zoneinfo"))))
+                            "mu/tests/test-mu-cmd.cc"
+                            "mu/tests/test-mu-cmd-cfind.cc"
+                            "mu/tests/test-mu-query.cc")
+               (("/bin/sh") (which "sh")))
+             (substitute* '("lib/utils/mu-utils.cc"
+                            "lib/tests/bench-indexer.cc")
+               (("/bin/rm") (which "rm")))))
          (add-after 'install 'install-emacs-autoloads
            (lambda* (#:key outputs #:allow-other-keys)
              (emacs-generate-autoloads
-- 
2.37.1
M
M
muradm wrote on 1 Aug 15:44 +0200
[PATCH v3] gnu: mu: Update to 1.8.7.
(address . 56872@debbugs.gnu.org)
20220801134454.26158-1-mail@muradm.net
since 1.8:
* mu is built with meson build system.
* guile support is deprecated.

* gnu/packages/mail.scm (mu): Update to 1.8.7.
[source]: Changing from release tarball to checkout.
[build-system]: Changing to meson-build-system.
[native-inputs]: Removed glib:bin and tzdata, added gnupg amd texinfo.
[inputs]: Removed guile added coreutils (for /bin/rm command).
[arguments]: Removed obsolete 'patch-configure, 'fix-ffi and
'check-tz-setup phases. Added 'patch-bin-in-sources for
introduced /bin/rm command. Renamed and updated 'patch-bin-sh-in-tests
to 'patch-bin-in-tests.
---
gnu/packages/mail.scm | 66 +++++++++++++++++--------------------------
1 file changed, 26 insertions(+), 40 deletions(-)

Toggle diff (97 lines)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 556c5b4305..2c06a1a9ba 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -48,6 +48,7 @@
 ;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li>
 ;;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com>
 ;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2022 muradm <mail@muradm.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1161,57 +1162,42 @@ (define-public emacs-mew
 (define-public mu
   (package
     (name "mu")
-    (version "1.6.11")
+    (version "1.8.7")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/djcb/mu/releases/"
-                                  "download/" version "/"
-                                  "mu-" version ".tar.xz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/djcb/mu")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "13gchks9znyw0axw1wlks7f7h4442rfagmj7kx0jm3qhvi0b5sk0"))))
-    (build-system gnu-build-system)
+                "0yfbw234yqnqfnsn5bj1hqwpy78pkxn05vl18z8nvsqdmpzal4gx"))))
+    (build-system meson-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("glib" ,glib "bin")             ; for gtester
-       ("emacs" ,emacs-minimal)
-       ("tzdata" ,tzdata-for-tests)))   ; for mu/test/test-mu-query.c
+     (list emacs-minimal
+           gnupg                              ; for tests
+           pkg-config
+           texinfo))
     (inputs
-     (list xapian guile-3.0 glib gmime))
+     (list glib gmime xapian))
     (arguments
-     `(#:modules ((guix build gnu-build-system)
-                  (guix build utils)
-                  (guix build emacs-utils))
-       #:imported-modules (,@%gnu-build-system-modules
+     `(#:modules ((guix build meson-build-system)
+                  (guix build emacs-utils)
+                  (guix build utils))
+       #:imported-modules (,@%meson-build-system-modules
                            (guix build emacs-utils))
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch-configure
-           ;; By default, elisp code goes to "share/emacs/site-lisp/mu4e",
-           ;; so our Emacs package can't find it.  Setting "--with-lispdir"
-           ;; configure flag doesn't help because "mu4e" will be added to
-           ;; the lispdir anyway, so we have to modify "configure.ac".
-           (lambda _
-             (substitute* "configure"
-               (("^ +lispdir=\"\\$\\{lispdir\\}/mu4e/\".*") ""))))
-         (add-after 'unpack 'patch-bin-sh-in-tests
+         (add-after 'unpack 'patch-bin-in-tests
            (lambda _
              (substitute* '("guile/tests/test-mu-guile.cc"
-                            "mu/test-mu-cmd.cc"
-                            "mu/test-mu-cmd-cfind.cc"
-                            "mu/test-mu-query.cc")
-               (("/bin/sh") (which "sh")))))
-         (add-before 'install 'fix-ffi
-           (lambda* (#:key outputs #:allow-other-keys)
-             (substitute* "guile/mu.scm"
-               (("\"libguile-mu\"")
-                (format #f "\"~a/lib/libguile-mu\""
-                        (assoc-ref outputs "out"))))))
-         (add-before 'check 'check-tz-setup
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; For mu/test/test-mu-query.c
-             (setenv "TZDIR"
-                     (search-input-directory inputs "share/zoneinfo"))))
+                            "mu/tests/test-mu-cmd.cc"
+                            "mu/tests/test-mu-cmd-cfind.cc"
+                            "mu/tests/test-mu-query.cc")
+               (("/bin/sh") (which "sh")))
+             (substitute* '("lib/utils/mu-utils.cc"
+                            "lib/tests/bench-indexer.cc")
+               (("/bin/rm") (which "rm")))))
          (add-after 'install 'install-emacs-autoloads
            (lambda* (#:key outputs #:allow-other-keys)
              (emacs-generate-autoloads
-- 
2.37.1
R
R
Ricardo Wurmus wrote on 1 Aug 16:05 +0200
[PATCH] gnu: mu: Update to 1.8.7.
(address . 56872-done@debbugs.gnu.org)
87o7x4njnh.fsf@elephly.net
Applied with commit 7e3234cb709076c8f4514f8b9320a0585dd9c958.

I made a few changes while you were worknig on v2 and v3, so the result
is an amalgamation of these patches.

--
Ricardo
Closed
M
M
Maxime Devos wrote on 2 Aug 18:25 +0200
Re: [bug#56872] [PATCH v2] gnu: mu: Update to 1.8.7.
2e5423f0-62b8-7a78-0f4c-bc12d81035d3@telenet.be
On 01-08-2022 15:41, muradm wrote:
Toggle quote (3 lines)
> + (substitute* '("lib/utils/mu-utils.cc"
> + "lib/tests/bench-indexer.cc")
> + (("/bin/rm") (which "rm")))))
The lib/utils/mu-utils.cc + 'which' looks wrong when cross-compiling --
try using search-input-file on 'inputs' instead (which looks in
native-inputs (which happens to be merged with inputs when compiling
natively))).
(If it does not end up in the binary, then 'which' should be fine)
Toggle quote (1 lines)
> [inputs]: Removed guile added coreutils (for /bin/rm command).
I'm not seeing coreutils in there.
Greetings,
Maxime
Attachment: OpenPGP_signature
M
M
muradm wrote on 2 Aug 21:03 +0200
87o7x2mplu.fsf@muradm.net
Hi,

This patch worked for me in my host.
I don't have any environment to see if working when
actually cross-compiling.

For the comment on coreutils, yeah missed update when removed.
From b688acbb5b9d6d65606edf2164cad09c9cf06225 Mon Sep 17 00:00:00 2001
From: muradm <mail@muradm.net>
Date: Tue, 2 Aug 2022 21:57:57 +0300
Subject: [PATCH] gnu: mu: Fix cross-compiling.
To: Maxime Devos <maximedevos@telenet.be>,
56872@debbugs.gnu.org

* gnu/packages/mail.scm (mu)[arguments]: Use search-input-file
to find /bin/sh and /bin/rm from inputs.
---
gnu/packages/mail.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index ca4b3e819e..3776157c0b 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1189,15 +1189,15 @@ (define-public mu
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-bin-references
-           (lambda _
+           (lambda* (#:key inputs #:allow-other-keys)
              (substitute* '("guile/tests/test-mu-guile.cc"
                             "mu/tests/test-mu-cmd.cc"
                             "mu/tests/test-mu-cmd-cfind.cc"
                             "mu/tests/test-mu-query.cc")
-               (("/bin/sh") (which "sh")))
+               (("/bin/sh") (search-input-file inputs "/bin/sh")))
              (substitute* '("lib/tests/bench-indexer.cc"
                             "lib/utils/mu-utils.cc")
-               (("/bin/rm") (which "rm")))))
+               (("/bin/rm") (search-input-file inputs "/bin/rm")))))
          (add-after 'install 'install-emacs-autoloads
            (lambda* (#:key outputs #:allow-other-keys)
              (emacs-generate-autoloads
-- 
2.37.1
Maxime Devos <maximedevos@telenet.be> writes:

Toggle quote (28 lines)
> [[PGP Signed Part:Undecided]]
>
> On 01-08-2022 15:41, muradm wrote:
>> + (substitute* '("lib/utils/mu-utils.cc"
>> + "lib/tests/bench-indexer.cc")
>> + (("/bin/rm") (which "rm")))))
>
> The lib/utils/mu-utils.cc + 'which' looks wrong when
> cross-compiling
> -- try using search-input-file on 'inputs' instead (which looks
> in
> native-inputs (which happens to be merged with inputs when
> compiling
> natively))).
>
> (If it does not end up in the binary, then 'which' should be
> fine)
>
>> [inputs]: Removed guile added coreutils (for /bin/rm command).
> I'm not seeing coreutils in there.
>
> Greetings,
> Maxime
>
> [2. OpenPGP public key --- application/pgp-keys;
> OpenPGP_0x49E3EE22191725EE.asc]...
>
> [[End of PGP Signed Part]]
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEESPY5lma9A9l5HGLP6M7O0mLOBeIFAmLpdd0ACgkQ6M7O0mLO
BeKnhA/8DBBJPLQuukpCwfNP0qqg9zVLf6PpLKsiSa/+sx/2l65Q7GvmAIzU5fE5
9kzJ2FU48q35V2pQm+88wVyxPxF+IPNFZe7aYG8Sl6tRY3bUYmElvUAy93sjHl4/
ejkcEPBdvMXIwMt926NwMzN3a4NPZSXpgGWbmL7Gkt+gRWJoM0IGvMRr3XgYiMjL
BsdyL9jHABJB0h6RUUlc+jrvFMIQORfXIoN1Xy3WI4o6l943VjnxAx0ht3TT6AQd
nNRPX7+HE2tIcJUZGuRtqxKPtTRMwI7L51YPBof6tWobgM5XqOPkN+lgDxAc8hyq
F2M3O7t23hTJY/SzjtYq9Sp2zqE1fGTCODwYaVb1L0HMJlcmCQ0fwUMdUDFOEZxE
78ojdTiH+Hr0nBQV4hIFaNmPoS12KbqFwcKPHybzN+319ZYQHTBJyT8N604gzGGK
OIRM7hnse29xwGoe/S3c3HJ7erB07PfZStkP6DYOCCn1shxmCpZGHz5jzv1Pkqjv
WowmAGMhuyFmINGiApAAArBvrswh7b9QUPl8E+1ux+iQCMVurzdSx1/8vHOe71pk
dvdZVNet53YmayNI24J+Z6KIHWQkkaoF4YNJcEZf9HvEvc/WMwKqJ8rYKf2wQvol
BlwbRUEjDpAf8FZRa0RT59uuthcN7eXMPNDMzCx0jzuTPG8V+0s=
=La7M
-----END PGP SIGNATURE-----

(
CLVS79A4Z3F9.2LZFBATARE65S@guix-aspire
On Tue Aug 2, 2022 at 8:03 PM BST, muradm wrote:
Toggle quote (2 lines)
> I don't have any environment to see if working when
> actually cross-compiling.
You can cross-compile to any architecture you want if you add
`qemu-binfmt-service-type` to your system config and specify
the architectures you want. Then you just need to do something
like:

ʃ guix build --system=aarch64-linux mu
ʃ guix build --system=riscv64-linux mu

Also, on x86-64, you can cross-compile to x86-32 without any
emulation:

ʃ guix build --system=i686-linux mu

-- (
M
M
muradm wrote on 2 Aug 21:27 +0200
(name . ()(address . paren@disroot.org)
87k07qmom7.fsf@muradm.net
Thanks, I know.
My laptop won't survive, to be correct.
That what I ment :)

"(" <paren@disroot.org> writes:

Toggle quote (17 lines)
> On Tue Aug 2, 2022 at 8:03 PM BST, muradm wrote:
>> I don't have any environment to see if working when
>> actually cross-compiling.
> You can cross-compile to any architecture you want if you add
> `qemu-binfmt-service-type` to your system config and specify
> the architectures you want. Then you just need to do something
> like:
>
> ʃ guix build --system=aarch64-linux mu
> ʃ guix build --system=riscv64-linux mu
>
> Also, on x86-64, you can cross-compile to x86-32 without any
> emulation:
>
> ʃ guix build --system=i686-linux mu
>
> -- (
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEESPY5lma9A9l5HGLP6M7O0mLOBeIFAmLpeuAACgkQ6M7O0mLO
BeJ1oxAArZYxs2L+AT7vqSEgnjIic6Sgz/OuUN0dJaSJ76mA4UT1IWtzQ2R6MDNt
gkL0wuvgr32oNw0V6IW2RApkJxdpG3VUAg9AuJ8GIq5Zm5M3o6CaZQaPR1mF2Azm
PeE8TS3fjTcyiq6Mirw1D/taGnsoI53lkG6RL8NL8fSmL9PKlM/exBaEVJFYIhn4
MTf3D8z2b+HSkA+YvBhBgtbi0Bj1DFz7RSv17DHD1DrqoUsSis3yHAvpQ2/+CSFc
Z6WgFUQnRB10yqvKCGAEhMxdmcHjynMqdKj8IdTDK4LTtB2sxtYnKOouBGr+PKrz
MO+0BZkmWQrzvg6qQCtPwhwGqMn6WzcuABIsM6q9p0Irm9y4vvTOBAV1ch6UcJ3K
Zg1zHTzt/dspDjpb8BMqxV55auqMjux5UUUdMbfRfklV0bZEvsf1fMKNKYw87scH
AaI2m2mZcn7zq6X0cM9iFhpc448doqwiFLNUWWZ5ycLTEVkZkNF+65ARi+3eC6It
lP/N3Gb12WMUtCFQ+52g4JtA+Ybn8efl2kDJjTmVcogq7aveVJjPMywc4JNAn04k
NOLYtERhET+w819wnbndQtegEjMcvnCjDP6CtOOHe1RRgqb5bP+0PHhbiXPa7BRv
N5CvSbqit1yhIzFJwC/jo/KDACA97CvMpkvd3c+/tRzCEw/6l1g=
=ltVB
-----END PGP SIGNATURE-----

M
M
Maxime Devos wrote on 2 Aug 21:53 +0200
0b41f6fa-eab6-21cb-938f-5225deebdd92@telenet.be
On 02-08-2022 21:14, ( wrote:
Toggle quote (17 lines)
> On Tue Aug 2, 2022 at 8:03 PM BST, muradm wrote:
>> I don't have any environment to see if working when
>> actually cross-compiling.
> You can cross-compile to any architecture you want if you add
> `qemu-binfmt-service-type` to your system config and specify
> the architectures you want. Then you just need to do something
> like:
>
> ʃ guix build --system=aarch64-linux mu
> ʃ guix build --system=riscv64-linux mu
>
> Also, on x86-64, you can cross-compile to x86-32 without any
> emulation:
>
> ʃ guix build --system=i686-linux mu
>
> -- (
This is 'QEMU transparent emulation' -- from Guix' perspective, this is
not cross-compilation (see: transparent), but rather it is as-if you
were compiling natively on a aarch64 or riscv64 instead of
cross-compiling from a <insert your CPU type> to aarch64 or riscv64.
Instead, try:
$ guix build --target=aarch64-linux-gnu mu
$ guix build --target=aarch64-linux-gnu mu
, which exercises Guix' cross-compilation codepaths.
--system: system to run the compilation process on (possibly emulated)
--target: system to cross-compile _to_/system on which the _result_ of
compilation will be run.
Also, you don't need a aarch64 or riscv64 to check the references (try
"guix graph --type=references $(./pre-inst-env guix build mu
--target=..." or "guix gc --references $(./pre-inst-env guix build mu
--target=...)") and check that the 'mu' doesn't point to coreutils).
Greetings,
Maxime.
Attachment: OpenPGP_signature
M
M
Maxime Devos wrote on 2 Aug 21:59 +0200
(address . 56872@debbugs.gnu.org)
944acb36-aeab-2c42-9d3f-0e2a28de78f4@telenet.be
On 02-08-2022 21:27, muradm wrote:
Toggle quote (4 lines)
>
> Thanks, I know.
> My laptop won't survive, to be correct.
> That what I ment :)
The build farm has substitutes for the cross-compiler and the
cross-compiled glib (at least if you are cross-compiling from
x86_64-linux), so except for downloading some additional substitutes,
cross-compiling mu should not take much longer than compiling natively
(assuming the substitute server is authorised).
In fact, for me it finished after a few seconds because of dependency
pth fails to cross-compile:
Toggle quote (14 lines)
> checking size of short... grep: /usr/include/features.h: No such file
> or directory
> [...]
>
> ./libtool --mode=compile --quiet aarch64-linux-gnu-gcc -c -I. -O2
> -pipe pth_mctx.c
> pth_mctx.c: In function '__pth_mctx_set':
> pth_mctx.c:480:2: error: #error "Unsupported Linux (g)libc version
> and/or platform"
>   480 | #error "Unsupported Linux (g)libc version and/or platform"
>       |  ^~~~~
> make: *** [Makefile:155: pth_mctx.lo] Error 1
> error: in phase 'build': uncaught exception:
>
Greetings,
Maxime.
Attachment: OpenPGP_signature
M
M
muradm wrote on 2 Aug 22:13 +0200
(name . Maxime Devos)(address . maximedevos@telenet.be)
87fsiemmf9.fsf@muradm.net
From below error I see that it is pth package failing to build.
Most likely there are others that are not getting built.
Does it mean that it was never built before mu-1.8.7?
Does it mean that we sould restrict mu-1.8.7 by platform?

Maxime Devos <maximedevos@telenet.be> writes:

Toggle quote (45 lines)
> [[PGP Signed Part:Undecided]]
>
> On 02-08-2022 21:27, muradm wrote:
>>
>> Thanks, I know.
>> My laptop won't survive, to be correct.
>> That what I ment :)
>
> The build farm has substitutes for the cross-compiler and the
> cross-compiled glib (at least if you are cross-compiling from
> x86_64-linux), so except for downloading some additional
> substitutes,
> cross-compiling mu should not take much longer than compiling
> natively
> (assuming the substitute server is authorised).
>
> In fact, for me it finished after a few seconds because of
> dependency
> pth fails to cross-compile:
>
>> checking size of short... grep: /usr/include/features.h: No
>> such
>> file or directory
>> [...]
>>
>> ./libtool --mode=compile --quiet aarch64-linux-gnu-gcc -c -I.
>> -O2
>> -pipe pth_mctx.c
>> pth_mctx.c: In function '__pth_mctx_set':
>> pth_mctx.c:480:2: error: #error "Unsupported Linux (g)libc
>> version
>> and/or platform"
>>   480 | #error "Unsupported Linux (g)libc version and/or
>> platform"
>>       |  ^~~~~
>> make: *** [Makefile:155: pth_mctx.lo] Error 1
>> error: in phase 'build': uncaught exception:
>>
> Greetings,
> Maxime.
>
> [2. OpenPGP public key --- application/pgp-keys;
> OpenPGP_0x49E3EE22191725EE.asc]...
>
> [[End of PGP Signed Part]]
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEESPY5lma9A9l5HGLP6M7O0mLOBeIFAmLphfoACgkQ6M7O0mLO
BeKdnxAA2t1b6abWj2Ca2Miz7ZYPcqNlK0vTWYVc38RQ7Ce5dxvTorAWxhll9IAd
mNbwK2lfl5N7wr6nxyeKGxUR2IyOgVufYdLNzlLygZKjhgP76ebZEUidZkerbWD/
xF16mBcPoenbGKZF4UiivZXG8vQd9W63QA//XmZ9wBvkrq1o+/cWPeG8z67yf35S
69siYilwlrs5D3umf2UqgKItKrrl7OCyuQJcsTBknjVtNXoMdK9pD+G8wn4WAp/Q
8uyJJ8DGveSq1sJT21CICfWNi2VpMg0cjkaREoakS6ArwNDYDh6+/RiKBKdKQr01
6M7zdRImAXlaTWKhGkq2E+zCE0Oo5lpHwXf2oSNZou57/4vRefFkghn+IQFWvlzc
//YRbJTMpq7xV3eVzgf5bkvSJnb3wMr/wxiJGDaRCG3WWVm+PA/+COEOqPduh1Yv
OpIo0poWKGFeQ1SGVXz3HMNqp2lUyBZAKx3JvmHf9WL5obaqyoWTt33lQ9OxwHif
09wS1RJHzz5gGHyAbU9m8CY4X0Cv3S1e6MSKMPocC5vp9pkeBKbid4RBKm9j9sOw
d3ASsETBF3SZOQWc/FjYHgHOUmWVGilOO7r2YYZFrhR+e0UtjkbfKwna+Q41vqP6
RufMIq4MGwh847fyIccoOvuTcicfXLWKrIopCbnpxSOwJEhfmtY=
=k4iF
-----END PGP SIGNATURE-----

M
M
Maxime Devos wrote on 2 Aug 22:19 +0200
(name . muradm)(address . mail@muradm.net)
c13a46ee-5aeb-bee2-75c4-fb7a05de3f78@telenet.be
On 02-08-2022 22:13, muradm wrote:
Toggle quote (5 lines)
> From below error I see that it is pth package failing to build.
> Most likely there are others that are not getting built.
> Does it mean that it was never built before mu-1.8.7?
> Does it mean that we sould restrict mu-1.8.7 by platform?
>
It fails to cross-compile to aarch64-linux (--target), but it compiles
fine natively (--system without --target), so I don't think adjusting
'supported-systems' is necessary.  Rather, it seems to me that pth'
configure script should eventually be tweaked to support
aarch64-linux-gnu not only when compiling natively, but also when
cross-compiling.
Greetings,
Maxime.
Attachment: OpenPGP_signature
?
Your comment

This issue is archived.

To comment on this conversation send email to 56872@debbugs.gnu.org