[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
16/64: gnu: groff: Fix cross compilation.
From: |
guix-commits |
Subject: |
16/64: gnu: groff: Fix cross compilation. |
Date: |
Fri, 23 Aug 2019 04:10:16 -0400 (EDT) |
mothacehe pushed a commit to branch wip-cross-system
in repository guix.
commit c0c9ce0a5f5a99064beb5a18158765f29719660e
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)
- 13/64: gnu: libgit2: Fix cross compilation., (continued)
- 13/64: gnu: libgit2: Fix cross compilation., guix-commits, 2019/08/23
- 11/64: gnu: texinfo: Fix cross-compilation., guix-commits, 2019/08/23
- 27/64: gnu: pkg-config: Fix cross-compilation., guix-commits, 2019/08/23
- 24/64: gnu: xmlto: Fix cross-compilation., guix-commits, 2019/08/23
- 28/64: gnu: mkfontdir: Fix aarch64 cross-compilation., guix-commits, 2019/08/23
- 35/64: gnu: nghttp2: Fix cross-compilation., guix-commits, 2019/08/23
- 38/64: gnu: swig: Fix cross-compilation., guix-commits, 2019/08/23
- 37/64: gnu: openldap: Fix cross-compilation., guix-commits, 2019/08/23
- 57/64: gnu: linux-libre: Enable built-in ext4 support., guix-commits, 2019/08/23
- 61/64: build: vm: Fix arm32 support., guix-commits, 2019/08/23
- 16/64: gnu: groff: Fix cross compilation.,
guix-commits <=
- 34/64: gnu: lvm2: Fix cross-compilation., guix-commits, 2019/08/23
- 36/64: gnu: bdb: Fix cross-compilation., guix-commits, 2019/08/23
- 40/64: gnu: make-linux-libre: Fix cross-compilation., guix-commits, 2019/08/23
- 62/64: system: vm: Add arm64 support., guix-commits, 2019/08/23
- 15/64: gnu: libpaper: Fix aarch64 cross-compilation., guix-commits, 2019/08/23
- 14/64: gnu: ath9k-htc-firmware: Fix cross compilation., guix-commits, 2019/08/23
- 12/64: gnu: cmake: Fix cross-compilation., guix-commits, 2019/08/23
- 32/64: gnu: boost: Fix cross-compilation., guix-commits, 2019/08/23
- 39/64: gnu: git: Fix cross-compilation., guix-commits, 2019/08/23
- 50/64: gnu: guile-xcb: Fix cross-compilation., guix-commits, 2019/08/23