* [bug#54599] [PATCH] gnu: libdaemon: fix build for riscv64
@ 2022-03-27 19:24 fesoj000
[not found] ` <handler.54599.B.16484090674305.ack@debbugs.gnu.org>
2022-03-29 1:25 ` Thiago Jung Bauermann via Guix-patches via
0 siblings, 2 replies; 3+ messages in thread
From: fesoj000 @ 2022-03-27 19:24 UTC (permalink / raw)
To: 54599
* gnu/packages/libdaemon.scm: (native-inputs): Add check for riscv64 to
include config
* gnu/packages/libdaemon.scm: (arguments): Add check for riscv64 to add
update-config.sub build step
---
gnu/packages/libdaemon.scm | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/libdaemon.scm b/gnu/packages/libdaemon.scm
index 9dc851e823..e91b651e5a 100644
--- a/gnu/packages/libdaemon.scm
+++ b/gnu/packages/libdaemon.scm
@@ -49,7 +49,8 @@ (define-public libdaemon
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(native-inputs
- (if (and=> (%current-target-system) target-aarch64?)
+ (if (or (target-aarch64?)
+ (target-riscv64?))
`(("config" ,config)) ; for config.sub
'()))
(arguments
@@ -66,7 +67,8 @@ (define-public libdaemon
;; Hurd's console client.
"--localstatedir=/var"))
'())
- ,@(if (and=> (%current-target-system) target-aarch64?)
+ ,@(if (or (target-aarch64?)
+ (target-riscv64?))
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'update-config.sub
--
2.34.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [bug#54599] [PATCH] gnu: libdaemon: fix build for riscv64
[not found] ` <handler.54599.B.16484090674305.ack@debbugs.gnu.org>
@ 2022-03-28 19:35 ` fesoj000
0 siblings, 0 replies; 3+ messages in thread
From: fesoj000 @ 2022-03-28 19:35 UTC (permalink / raw)
To: 54599
Actually, this fixex cross compiling using --target=riscv64-linux-gnu,
on real hardware it works without the patch.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [bug#54599] [PATCH] gnu: libdaemon: fix build for riscv64
2022-03-27 19:24 [bug#54599] [PATCH] gnu: libdaemon: fix build for riscv64 fesoj000
[not found] ` <handler.54599.B.16484090674305.ack@debbugs.gnu.org>
@ 2022-03-29 1:25 ` Thiago Jung Bauermann via Guix-patches via
1 sibling, 0 replies; 3+ messages in thread
From: Thiago Jung Bauermann via Guix-patches via @ 2022-03-29 1:25 UTC (permalink / raw)
To: fesoj000; +Cc: 54599
Hello,
Thanks for this patch! Just a few comments:
fesoj000 <fesoj000@gmail.com> writes:
> * gnu/packages/libdaemon.scm: (native-inputs): Add check for riscv64 to
> include config
> * gnu/packages/libdaemon.scm: (arguments): Add check for riscv64 to add
> update-config.sub build step
In the changelog, the name of the package goes in the parentheses, and
the package attribute being changed in square brackets. For example:
* gnu/packages/libdaemon.scm (libdaemon)[native-inputs]: Add check for
riscv64 to include config.
Also the sentences should have a period at the end.
> ---
> gnu/packages/libdaemon.scm | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/libdaemon.scm b/gnu/packages/libdaemon.scm
> index 9dc851e823..e91b651e5a 100644
> --- a/gnu/packages/libdaemon.scm
> +++ b/gnu/packages/libdaemon.scm
> @@ -49,7 +49,8 @@ (define-public libdaemon
> (file-name (string-append name "-" version ".tar.gz"))))
> (build-system gnu-build-system)
> (native-inputs
> - (if (and=> (%current-target-system) target-aarch64?)
> + (if (or (target-aarch64?)
> + (target-riscv64?))
> `(("config" ,config)) ; for config.sub
> '()))
> (arguments
> @@ -66,7 +67,8 @@ (define-public libdaemon
> ;; Hurd's console client.
> "--localstatedir=/var"))
> '())
> - ,@(if (and=> (%current-target-system) target-aarch64?)
> + ,@(if (or (target-aarch64?)
> + (target-riscv64?))
> `(#:phases
> (modify-phases %standard-phases
> (add-before 'configure 'update-config.sub
Before the patch, ‘native-inputs’ and ‘arguments’ were only changed when
cross-compiling on aarch64. After your patch, they are changed even for
native builds.
Functionally, it's not a problem but this changes the package's
derivation. Since the package has many dependents, it causes a lot of
other packages to be rebuilt:
popigai: guix refresh --list-dependent libdaemon
Building the following 1496 packages would ensure 3175 dependent packages are rebuilt: …
Because of this, the patch can't be applied on the master branch. It
would have to go to core-updates.
So for the master branch, you need to keep the property of only making
changes to ‘native-inputs’ and ‘arguments’ when cross-compiling.
But I also suggest sending an additional patch for the core-updates
branch which unconditionally updates config.sub, regardless of the
architecture and regardless of whether it's a native compilation or a
cross one. This way, the next time Guix is ported to a new architecture
we won't need to update this package again.
--
Thanks
Thiago
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-03-29 1:41 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-27 19:24 [bug#54599] [PATCH] gnu: libdaemon: fix build for riscv64 fesoj000
[not found] ` <handler.54599.B.16484090674305.ack@debbugs.gnu.org>
2022-03-28 19:35 ` fesoj000
2022-03-29 1:25 ` Thiago Jung Bauermann via Guix-patches via
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.