unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#69944] [PATCH] gnu: dmraid: Fix cross-compiling to riscv64-linux.
@ 2024-03-22 16:44 Zheng Junjie
  2024-03-27 12:44 ` Christopher Baines
  0 siblings, 1 reply; 4+ messages in thread
From: Zheng Junjie @ 2024-03-22 16:44 UTC (permalink / raw)
  To: 69944

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 2661 bytes --]

* gnu/packages/disk.scm (dmraid)
[native-inputs]: When cross compiling to riscv64-linux-gnu, add config.
[arguments]: When target riscv64-linux-gnu, add update-config phase.

Change-Id: I491c43a6ce2c3fc3aed43ecab9d4a2ab251038bb
---
 gnu/packages/disk.scm | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index b0117d77ce..5339f54d99 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -27,7 +27,7 @@
 ;;; Copyright © 2022 Disseminate Dissent <disseminatedissent@protonmail.com>
 ;;; Copyright © 2023 Timotej Lazar <timotej.lazar@araneo.si>
 ;;; Copyright © 2023 Morgan Smith <Morgan.J.Smith@outlook.com>
-;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1145,7 +1145,12 @@ (define-public dmraid
                 "1n7vsqvh7y6yvil682q129d21yhb0cmvd5fvsbkza7ypd78inhlk"))))
     (build-system gnu-build-system)
     (inputs (list lvm2))
-    (native-inputs (list which))
+    (native-inputs
+     (append (if (and (target-riscv64?)
+                      (%current-target-system))
+                 (list config)
+                 '())
+             (list which)))
     (arguments
      `(#:tests? #f                      ; No tests.
        ;; Prevent a race condition where some target would attempt to link
@@ -1158,7 +1163,18 @@ (define-public dmraid
                       (chdir (string-append ,version "/dmraid"))
                       (substitute* "make.tmpl.in"
                         (("/bin/sh") (which "sh")))
-                      #t)))
+                      #t))
+                  ,@(if (and (target-riscv64?)
+                             (%current-target-system))
+                        `((add-after 'unpack 'update-config
+                            (lambda* (#:key native-inputs inputs #:allow-other-keys)
+                              (for-each (lambda (file)
+                                          (install-file
+                                           (search-input-file
+                                            (or native-inputs inputs)
+                                            (string-append "/bin/" file)) "."))
+                                        '("config.guess" "config.sub")))))
+                        '()))
        #:configure-flags (list ;; Make sure programs such as 'dmevent_tool' can
                                ;; find libdmraid.so.
                                (string-append "LDFLAGS=-Wl,-rpath="

base-commit: 40f53e8fb5b867e3a1e8fa798328423718282aac
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#69944] [PATCH] gnu: dmraid: Fix cross-compiling to riscv64-linux.
  2024-03-22 16:44 [bug#69944] [PATCH] gnu: dmraid: Fix cross-compiling to riscv64-linux Zheng Junjie
@ 2024-03-27 12:44 ` Christopher Baines
  2024-03-27 13:40   ` Zheng Junjie
  0 siblings, 1 reply; 4+ messages in thread
From: Christopher Baines @ 2024-03-27 12:44 UTC (permalink / raw)
  To: Zheng Junjie; +Cc: 69944

[-- Attachment #1: Type: text/plain, Size: 1533 bytes --]


Zheng Junjie <zhengjunjie@iscas.ac.cn> writes:

> * gnu/packages/disk.scm (dmraid)
> [native-inputs]: When cross compiling to riscv64-linux-gnu, add config.
> [arguments]: When target riscv64-linux-gnu, add update-config phase.
>
> Change-Id: I491c43a6ce2c3fc3aed43ecab9d4a2ab251038bb
> ---
>  gnu/packages/disk.scm | 22 +++++++++++++++++++---
>  1 file changed, 19 insertions(+), 3 deletions(-)

Hi!

Thanks for the patch, this doesn't build for me though:

checking build system type... x86_64-unknown-linux-gnu
checking host system type... Invalid configuration `riscv64-linux-gnu': machine `riscv64' not recognized
configure: error: /gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash autoconf/config.sub riscv64-linux-gnu failed
error: in phase 'configure': uncaught exception:
%exception #<&invoke-error program: "/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash" arguments: ("./configure" "CC_FOR_BUILD=gcc" "CONFIG_SHELL=/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash" "SHELL=/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash" "--prefix=/gnu/store/gb6ij94hk33ivx193zq87m2vhlhzsm8j-dmraid-1.0.0.rc16-3" "--enable-fast-install" "--build=x86_64-unknown-linux-gnu" "--host=riscv64-linux-gnu" "LDFLAGS=-Wl,-rpath=/gnu/store/gb6ij94hk33ivx193zq87m2vhlhzsm8j-dmraid-1.0.0.rc16-3/lib") exit-status: 1 term-signal: #f stop-signal: #f> 


https://bordeaux.guix.gnu.org/build/47b7e0bf-b082-4d62-ac4c-8de5c28f5faf/log

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug#69944] [PATCH] gnu: dmraid: Fix cross-compiling to riscv64-linux.
  2024-03-27 12:44 ` Christopher Baines
@ 2024-03-27 13:40   ` Zheng Junjie
  2024-04-21 14:03     ` Christopher Baines
  0 siblings, 1 reply; 4+ messages in thread
From: Zheng Junjie @ 2024-03-27 13:40 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 69944


[-- Attachment #1.1: Type: text/plain, Size: 628 bytes --]


Christopher Baines <mail@cbaines.net> writes:

> [[PGP Signed Part:Undecided]]
>
> Zheng Junjie <zhengjunjie@iscas.ac.cn> writes:
>
>> * gnu/packages/disk.scm (dmraid)
>> [native-inputs]: When cross compiling to riscv64-linux-gnu, add config.
>> [arguments]: When target riscv64-linux-gnu, add update-config phase.
>>
>> Change-Id: I491c43a6ce2c3fc3aed43ecab9d4a2ab251038bb
>> ---
>>  gnu/packages/disk.scm | 22 +++++++++++++++++++---
>>  1 file changed, 19 insertions(+), 3 deletions(-)
>
> Hi!
>
> Thanks for the patch, this doesn't build for me though:

Sorry, this patch should build, and also build to aarch64-linux-gnu.


[-- Attachment #1.2: 0001-gnu-dmraid-Fix-cross-compiling.patch --]
[-- Type: text/x-patch, Size: 4101 bytes --]

From 61f56da975095071649e48a6e975ffcdd4dd8063 Mon Sep 17 00:00:00 2001
Message-ID: <61f56da975095071649e48a6e975ffcdd4dd8063.1711546964.git.zhengjunjie@iscas.ac.cn>
From: Zheng Junjie <zhengjunjie@iscas.ac.cn>
Date: Sat, 23 Mar 2024 00:17:47 +0800
Subject: [PATCH] gnu: dmraid: Fix cross-compiling

* gnu/packages/disk.scm (dmraid)
[native-inputs]: When cross compiling, add config, autoconf, automake.
[arguments]: When cross compiling, add update-config and fix-rpl_malloc phase.

Change-Id: I491c43a6ce2c3fc3aed43ecab9d4a2ab251038bb
---
 gnu/packages/disk.scm | 39 ++++++++++++++++++++++++++++++++++++---
 1 file changed, 36 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index b0117d77ce..35e75d89fe 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -27,7 +27,7 @@
 ;;; Copyright © 2022 Disseminate Dissent <disseminatedissent@protonmail.com>
 ;;; Copyright © 2023 Timotej Lazar <timotej.lazar@araneo.si>
 ;;; Copyright © 2023 Morgan Smith <Morgan.J.Smith@outlook.com>
-;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1145,7 +1145,13 @@ (define-public dmraid
                 "1n7vsqvh7y6yvil682q129d21yhb0cmvd5fvsbkza7ypd78inhlk"))))
     (build-system gnu-build-system)
     (inputs (list lvm2))
-    (native-inputs (list which))
+    (native-inputs
+     (append (if (%current-target-system)
+                 (list config
+                       autoconf
+                       automake)
+                 '())
+             (list which)))
     (arguments
      `(#:tests? #f                      ; No tests.
        ;; Prevent a race condition where some target would attempt to link
@@ -1158,7 +1164,34 @@ (define-public dmraid
                       (chdir (string-append ,version "/dmraid"))
                       (substitute* "make.tmpl.in"
                         (("/bin/sh") (which "sh")))
-                      #t)))
+                      #t))
+                  ,@(if (%current-target-system)
+                        `((add-after 'unpack 'update-config
+                            (lambda* (#:key native-inputs inputs
+                                      #:allow-other-keys)
+                              (with-directory-excursion
+                                  (string-append ,version "/dmraid/autoconf")
+                                (for-each (lambda (file)
+                                            (install-file
+                                             (search-input-file
+                                              (or native-inputs inputs)
+                                              (string-append "/bin/" file))
+                                             "."))
+                                          '("config.guess" "config.sub")))))
+                          (add-after 'unpack 'fix-rpl_malloc
+                            (lambda _
+                              ;; AC_FUNC_MALLOC and AC_FUNC_REALLOC usually
+                              ;; unneeded, see
+                              ;; https://lists.gnu.org/archive/html/autoconf/2003-02/msg00017.html
+                              (with-directory-excursion
+                                  (string-append ,version "/dmraid")
+                                (substitute* "configure.in"
+                                  (("AC_FUNC_MALLOC") "")
+                                  (("AC_FUNC_REALLOC") ""))
+                                (delete-file "./configure")
+                                (copy-file "configure.in" "configure.ac")
+                                (invoke "autoreconf" "-fiv")))))
+                        '()))
        #:configure-flags (list ;; Make sure programs such as 'dmevent_tool' can
                                ;; find libdmraid.so.
                                (string-append "LDFLAGS=-Wl,-rpath="

base-commit: 656baadf83f2812c0ff79f4f2f0b5f1e927ed8a5
-- 
2.41.0


[-- Attachment #1.3: Type: text/plain, Size: 1122 bytes --]



>
> checking build system type... x86_64-unknown-linux-gnu
> checking host system type... Invalid configuration
> `riscv64-linux-gnu': machine `riscv64' not recognized
> configure: error:
> /gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash
> autoconf/config.sub riscv64-linux-gnu failed
> error: in phase 'configure': uncaught exception:
> %exception #<&invoke-error program:
> "/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash"
> arguments: ("./configure" "CC_FOR_BUILD=gcc"
> "CONFIG_SHELL=/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash"
> "SHELL=/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash"
> "--prefix=/gnu/store/gb6ij94hk33ivx193zq87m2vhlhzsm8j-dmraid-1.0.0.rc16-3"
> "--enable-fast-install" "--build=x86_64-unknown-linux-gnu"
> "--host=riscv64-linux-gnu"
> "LDFLAGS=-Wl,-rpath=/gnu/store/gb6ij94hk33ivx193zq87m2vhlhzsm8j-dmraid-1.0.0.rc16-3/lib")
> exit-status: 1 term-signal: #f stop-signal: #f>
>
>
> https://bordeaux.guix.gnu.org/build/47b7e0bf-b082-4d62-ac4c-8de5c28f5faf/log
>
> [[End of PGP Signed Part]]


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#69944] [PATCH] gnu: dmraid: Fix cross-compiling to riscv64-linux.
  2024-03-27 13:40   ` Zheng Junjie
@ 2024-04-21 14:03     ` Christopher Baines
  0 siblings, 0 replies; 4+ messages in thread
From: Christopher Baines @ 2024-04-21 14:03 UTC (permalink / raw)
  To: Zheng Junjie; +Cc: 69944

[-- Attachment #1: Type: text/plain, Size: 815 bytes --]

Zheng Junjie <zhengjunjie@iscas.ac.cn> writes:

> Christopher Baines <mail@cbaines.net> writes:
>
>> [[PGP Signed Part:Undecided]]
>>
>> Zheng Junjie <zhengjunjie@iscas.ac.cn> writes:
>>
>>> * gnu/packages/disk.scm (dmraid)
>>> [native-inputs]: When cross compiling to riscv64-linux-gnu, add config.
>>> [arguments]: When target riscv64-linux-gnu, add update-config phase.
>>>
>>> Change-Id: I491c43a6ce2c3fc3aed43ecab9d4a2ab251038bb
>>> ---
>>>  gnu/packages/disk.scm | 22 +++++++++++++++++++---
>>>  1 file changed, 19 insertions(+), 3 deletions(-)
>>
>> Hi!
>>
>> Thanks for the patch, this doesn't build for me though:
>
> Sorry, this patch should build, and also build to aarch64-linux-gnu.

Thanks, would you be able to rebase this on master and resend, as I
don't think it applies currently?

Thanks,

Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-04-21 14:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-22 16:44 [bug#69944] [PATCH] gnu: dmraid: Fix cross-compiling to riscv64-linux Zheng Junjie
2024-03-27 12:44 ` Christopher Baines
2024-03-27 13:40   ` Zheng Junjie
2024-04-21 14:03     ` Christopher Baines

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