[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
16/61: gnu: groff: Fix cross compilation.
From: |
guix-commits |
Subject: |
16/61: gnu: groff: Fix cross compilation. |
Date: |
Wed, 21 Aug 2019 04:24:50 -0400 (EDT) |
mothacehe pushed a commit to branch wip-cross-system
in repository guix.
commit b773f4933bbd096ac9f89ec46862d4323db94e20
Author: Mathieu Othacehe <address@hidden>
Date: Wed Mar 6 10:33:29 2019 +0100
gnu: groff: Fix cross compilation.
* gnu/packages/groff.scm (groff)[arguments]: Replace build phase to pass
GROFF_BIN_PATH and GROFFBIN variables when cross-compiling.
Also add native groff as a native-input when cross-compiling.
---
gnu/packages/groff.scm | 40 +++++++++++++++++++++++++++++++++++++---
1 file changed, 37 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm
index 98f1791..65b661c 100644
--- a/gnu/packages/groff.scm
+++ b/gnu/packages/groff.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2017 Ludovic Courtès <address@hidden>
;;; Copyright © 2019 Efraim Flashner <address@hidden>
;;; Copyright © 2019 Eric Bavier <address@hidden>
+;;; Copyright © 2019 Mathieu Othacehe <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -55,7 +56,13 @@
;; from 'inputs'.
(inputs `(("ghostscript" ,ghostscript)))
- (native-inputs `(("bison" ,bison)
+
+ ;; When cross-compiling, this package depends upon a native install of
+ ;; itself.
+ (native-inputs `(,@(if (%current-target-system)
+ `(("self" ,this-package))
+ '())
+ ("bison" ,bison)
("perl" ,perl)
("psutils" ,psutils)
("texinfo" ,texinfo)))
@@ -94,7 +101,33 @@
(lambda _ ;see https://savannah.gnu.org/bugs/index.php?55461
(substitute* "Makefile.in"
(("^docdir =.*") "docdir = @docdir@\n"))
- #t)))))
+ #t))
+ ,@(if (%current-target-system)
+ '((replace 'build
+ (lambda* (#:key
+ make-flags parallel-build?
+ native-inputs target #:allow-other-keys)
+ ;; When cross-compiling, native groff is needed, see:
+ ;; http://www.mail-archive.com/address@hidden/msg01335.html
+ (let ((parallel
+ (if parallel-build?
+ `("-j" ,(number->string (parallel-job-count)))
+ '()))
+ (flags
+ (if target
+ (let ((groff (or
+ (assoc-ref native-inputs "groff")
+ (assoc-ref native-inputs "self"))))
+ (append
+ make-flags
+ (list
+ (string-append "GROFF_BIN_PATH=" groff)
+ (string-append "GROFFBIN=" groff
+ "/bin/groff"))))
+ make-flags)))
+ (apply invoke `("make" ,@parallel ,@flags)))
+ #t)))
+ '()))))
(synopsis "Typesetting from plain text mixed with formatting commands")
(description
"Groff is a typesetting package that reads plain text and produces
@@ -115,7 +148,8 @@ is usually the formatter of \"man\" documentation pages.")
;; Omit the DVI, PS, PDF, and HTML backends.
(inputs '())
(native-inputs `(("bison" ,bison)
- ("perl" ,perl)))
+ ("perl" ,perl)
+ ("groff" ,groff)))
(arguments
`(#:disallowed-references (,perl)
- 17/61: gnu: texinfo-5: Fix cross-compilation., (continued)
- 17/61: gnu: texinfo-5: Fix cross-compilation., guix-commits, 2019/08/21
- 22/61: gnu: cyrus-sasl: Fix cross-compilation., guix-commits, 2019/08/21
- 05/61: gnu: libxslt: Fix cross-compilation., guix-commits, 2019/08/21
- 34/61: gnu: lvm2: Fix cross-compilation., guix-commits, 2019/08/21
- 19/61: gnu: indent: Fix aarch64 cross-compilation., guix-commits, 2019/08/21
- 27/61: gnu: pkg-config: Fix cross-compilation., guix-commits, 2019/08/21
- 28/61: gnu: mkfontdir: Fix aarch64 cross-compilation., guix-commits, 2019/08/21
- 31/61: gnu: glibc-utf8-locales: Fix cross-compilation., guix-commits, 2019/08/21
- 40/61: gnu: procps: Fix cross-compilation., guix-commits, 2019/08/21
- 39/61: gnu: make-linux-libre: Fix cross-compilation., guix-commits, 2019/08/21
- 16/61: gnu: groff: Fix cross compilation.,
guix-commits <=
- 24/61: gnu: xmlto: Fix cross-compilation., guix-commits, 2019/08/21
- 26/61: gnu: tcsh: Fix cross-compilation., guix-commits, 2019/08/21
- 32/61: gnu: boost: Fix cross-compilation., guix-commits, 2019/08/21
- 30/61: gnu: icu4c: Fix cross-compilation., guix-commits, 2019/08/21
- 41/61: gnu: doxygen: Fix cross-compilation., guix-commits, 2019/08/21
- 42/61: gnu: guile-sqlite3: Fix cross-compilation., guix-commits, 2019/08/21
- 48/61: gnu: guile-xcb: Fix cross-compilation., guix-commits, 2019/08/21
- 51/61: gnu: console-setup: Fix cross-compilation., guix-commits, 2019/08/21
- 53/61: gnu: grub: Fix cross-compilation., guix-commits, 2019/08/21
- 43/61: gnu: guile-gcrypt: Fix cross-compilation., guix-commits, 2019/08/21