GNU bug report logs -
#67021
[PATCH] gnu: ruby: Fix cross-compilation.
Previous Next
Reported by: Zheng Junjie <zhengjunjie <at> iscas.ac.cn>
Date: Thu, 9 Nov 2023 17:40:01 UTC
Severity: normal
Tags: patch
Done: Christopher Baines <mail <at> cbaines.net>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Sun, 12 Nov 2023 14:34:29 +0000
with message-id <877cmnghrc.fsf <at> cbaines.net>
and subject line Re: [bug#67021] [PATCH] gnu: ruby: Fix cross-compilation.
has caused the debbugs.gnu.org bug report #67021,
regarding [PATCH] gnu: ruby: Fix cross-compilation.
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
67021: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67021
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
* gnu/packages/ruby.scm (ruby-2.6,ruby-2.7): Fix cross-compilation.
[native-inputs]: when cross-compilation, add this-package.
[arguments]<#:configure-flags>: when cross-compilation, add LDFLAGS.
Change-Id: Iba6665ba3b1b3d5b3a9b6830a01f0f3284e35efb
---
gnu/packages/ruby.scm | 25 ++++++++++++++++++++++---
1 file changed, 22 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ff6829082c..1490c783fa 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2023 Yovan Naumovski <yovan <at> gorski.stream>
;;; Copyright © 2023 gemmaro <gemmaro.dev <at> gmail.com>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org>
+;;; Copyright © 2023 Zheng Junjie <873216071 <at> qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -129,7 +130,13 @@ (define-public ruby-2.6
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
- #:configure-flags '("--enable-shared") ; dynamic linking
+ #:configure-flags
+ ,(if (%current-target-system)
+ '(list (string-append
+ "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib")
+ "--enable-shared")
+ ''("--enable-shared")) ; dynamic linking
#:phases
(modify-phases %standard-phases
(add-before 'configure 'replace-bin-sh-and-remove-libffi
@@ -147,6 +154,9 @@ (define-public ruby-2.6
"tool/rbinstall.rb")
(("/bin/sh") (which "sh")))
#t)))))
+ (native-inputs (if (%current-target-system)
+ (list this-package)
+ '()))
(inputs
(list readline openssl-1.1 libffi gdbm))
(propagated-inputs
@@ -177,7 +187,13 @@ (define-public ruby-2.7
"042xrdk7hsv4072bayz3f8ffqh61i8zlhvck10nfshllq063n877"))))
(arguments
`(#:test-target "test"
- #:configure-flags '("--enable-shared") ; dynamic linking
+ #:configure-flags
+ ,(if (%current-target-system)
+ '(list (string-append
+ "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib")
+ "--enable-shared")
+ ''("--enable-shared")) ; dynamic linking
#:phases
(modify-phases %standard-phases
(add-before 'configure 'replace-bin-sh-and-remove-libffi
@@ -204,7 +220,10 @@ (define-public ruby-2.7
(delete-file "test/ruby/test_io.rb"))))
'()))))
(native-inputs
- (list autoconf))))
+ (append (if (%current-target-system)
+ (list this-package)
+ '())
+ (list autoconf)))))
(define ruby-2.7-fixed
(package
base-commit: 42bec70a91d2205371c96287bcf565dcc5f5dd74
--
2.41.0
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
Zheng Junjie <zhengjunjie <at> iscas.ac.cn> writes:
> * gnu/packages/ruby.scm (ruby-2.6,ruby-2.7): Fix cross-compilation.
> [native-inputs]: when cross-compilation, add this-package.
> [arguments]<#:configure-flags>: when cross-compilation, add LDFLAGS.
>
> Change-Id: Iba6665ba3b1b3d5b3a9b6830a01f0f3284e35efb
> ---
> gnu/packages/ruby.scm | 25 ++++++++++++++++++++++---
> 1 file changed, 22 insertions(+), 3 deletions(-)
Thanks for the patch, I tried building ruby for aarch64 with this change
and it seems to work for me. I've pushed it to master as
e35b7c5386c1bfacf47ed31bac9b503373dd26fc.
Chris
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 1 year and 242 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.