[PATCH] gnu: Add %final-inputs-riscv64.

  • Done
  • quality assurance status badge
Details
One participant
  • Efraim Flashner
Owner
unassigned
Submitted by
Efraim Flashner
Severity
normal
E
E
Efraim Flashner wrote on 24 Jan 2022 16:19
(address . guix-patches@gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
684a9e686ef9d8d326fefb4de794bd661fab564f.1643037303.git.efraim@flashner.co.il
* gnu/packages/commencement.scm (%final-inputs-riscv64): New variable.
* guix/build-system/gnu.scm (standard-inputs): Use %final-inputs-riscv64
when targeting riscv64-linux.
---

This is the final piece needed to make hello (and most other packages)
build on riscv64-linux, when offloading from a non-riscv64 machine or
when built natively. Commit 94c70b5440334c7c844e20350351bd5565aff137
from the wip-riscv branch only worked when building natively on riscv64
since %final-inputs is sourced first, then the actual system it is going
to be built on. I believe this is due to the lazy resolving of
(gnu packages commencement) and %final inputs. Due to the above I was
unable to start from the commit on wip-riscv and use parameterize to
override %current-system, since by the time that part of the code was
reached %final-inputs was already evaluated.

gnu/packages/commencement.scm | 6 +++++-
guix/build-system/gnu.scm | 4 +++-
2 files changed, 8 insertions(+), 2 deletions(-)

Toggle diff (43 lines)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 26769d2626..96d914344d 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2017, 2018, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018, 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
@@ -3736,6 +3736,10 @@ (define-public %final-inputs
("libc:static" ,glibc-final "static")
("locales" ,glibc-utf8-locales-final))))
+(define-public %final-inputs-riscv64
+ `(("gcc:lib" ,gcc-final "lib")
+ ,@%final-inputs))
+
(define-public canonical-package
(let ((name->package (fold (lambda (input result)
(match input
diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm
index 651415098e..2f74000eef 100644
--- a/guix/build-system/gnu.scm
+++ b/guix/build-system/gnu.scm
@@ -273,7 +273,9 @@ (define (standard-packages)
;; Resolve (gnu packages commencement) lazily to hide circular dependency.
(let ((distro (resolve-module '(gnu packages commencement))))
- (module-ref distro '%final-inputs)))
+ (if (target-riscv64?)
+ (module-ref distro '%final-inputs-riscv64)
+ (module-ref distro '%final-inputs))))
(define* (lower name
#:key source inputs native-inputs outputs target

base-commit: 1bfd634e335702d0b9b0189d685d14ec79f1cbf6
--
2.34.0
E
E
Efraim Flashner wrote on 27 Jan 2022 08:55
Re: bug#53503: Acknowledgement ([PATCH] gnu: Add %final-inputs-riscv64.)
(address . 53503-done@debbugs.gnu.org)
YfJP3BymsAF8U8S3@3900XT
Patch pushed

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmHyT9gACgkQQarn3Mo9
g1Hdsw/+M9d9pmVTDa/t3TAGt3S+v+KX0UaL8anSzDsxFkRW3bf0g9byDw7EaPI3
44lwSGbjkuilJCMFtXPGDHKMhgaHE5yw7QmTrfXP/1dabQq+6qb+Ia/nzMisGFN4
/9obj+1ZQifCXtF6GierbZkMlyr/0x08IRU9r6wm9pq6PjWJ6wpeDQQ+8IS+HAa5
96aM798a5mzutoFlS8tx/ZS3pY8pGU1+bLwpGCiJ60MPJ/HxFTbNxi7jBwDsM8y4
l71/eFkFRvKi5bdi731dtRWKpd5IUYwt3iJ+mjtz8qMi+RQdPr7qVAZrMEa/kU/Z
11T0CxaknlanmVvabLfZakdgTz3VXfcLOj2vkULnX3Ge1jQj7xaWnU7MctoXegER
BG6D8mZVl2Po1hB9HZNsUYYjZq3vCqY5dPKoLxY3vQ3ziHdE2ExUcWJPuF2XR3qH
vc1Qt0ZagTvodfqc3h2cMjjWpPZGPwbhuu+4WOABvSov6GuGbnFV7C6mkcP+zMo/
TtWnmCxfvCb0oc2YipNc9l0UZSAbWf51Wy8ZrONQGIMBzOJwasHs9ZoiuMJ8Af3w
6eJkYWfoG7eUOBq1+dkmVaLCE7O6zDaqwUIEyitpE9kYlQ1enD+LKkkhPkLXw6aK
RWcZ4ibcI5Gv7/Rlszpj48e+gbaHh1z46xf6WEey95XTcRLJt8Y=
=0ACq
-----END PGP SIGNATURE-----


Closed
?