[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#36477] [PATCH 16/31] gnu: groff: Fix cross compilation.
From: |
Mathieu Othacehe |
Subject: |
[bug#36477] [PATCH 16/31] gnu: groff: Fix cross compilation. |
Date: |
Mon, 8 Jul 2019 11:58:58 +0200 |
* 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 cf392f5468..27f796eb98 100644
--- a/gnu/packages/groff.scm
+++ b/gnu/packages/groff.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2014 Mark H Weaver <address@hidden>
;;; Copyright © 2016 Ricardo Wurmus <address@hidden>
;;; Copyright © 2017 Ludovic Courtès <address@hidden>
+;;; Copyright © 2019 Mathieu Othacehe <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -54,7 +55,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)))
@@ -65,7 +72,33 @@
(add-after 'unpack 'setenv
(lambda _
(setenv "GS_GENERATE_UUIDS" "0")
- #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
@@ -86,7 +119,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)
--
2.17.1
- [bug#36477] [PATCH 12/31] gnu: cmake: Extend CMAKE_PREFIX_PATH to non-native inputs., (continued)
- [bug#36477] [PATCH 07/31] gnu: libgpg-error: Fix cross compilation., Mathieu Othacehe, 2019/07/08
- [bug#36477] [PATCH 04/31] gnu: tk: Fix cross-compilation., Mathieu Othacehe, 2019/07/08
- [bug#36477] [PATCH 11/31] gnu: texinfo: Fix cross-compilation., Mathieu Othacehe, 2019/07/08
- [bug#36477] [PATCH 08/31] gnu: python: Fix cross-compilation., Mathieu Othacehe, 2019/07/08
- [bug#36477] [PATCH 16/31] gnu: groff: Fix cross compilation.,
Mathieu Othacehe <=
- [bug#36477] [PATCH 23/31] gnu: help2man: Fix cross-compilation., Mathieu Othacehe, 2019/07/08
[bug#36477] [PATCH 19/31] gnu: indent: Fix aarch64 cross-compilation., Mathieu Othacehe, 2019/07/08
[bug#36477] [PATCH 13/31] gnu: libgit2: Fix cross compilation., Mathieu Othacehe, 2019/07/08
[bug#36477] [PATCH 15/31] gnu: libpaper: Fix aarch64 cross-compilation., Mathieu Othacehe, 2019/07/08
[bug#36477] [PATCH 22/31] gnu: cyrus-sasl: Fix cross-compilation., Mathieu Othacehe, 2019/07/08