guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: gnu: ghostscript: Support cross-compilation.


From: Ludovic Courtès
Subject: 01/02: gnu: ghostscript: Support cross-compilation.
Date: Wed, 12 Jul 2017 18:28:16 -0400 (EDT)

civodul pushed a commit to branch core-updates
in repository guix.

commit 49d035ff96c626df6145064efb0c044d74e39e03
Author: Ludovic Courtès <address@hidden>
Date:   Tue Jul 11 15:28:51 2017 +0200

    gnu: ghostscript: Support cross-compilation.
    
    * gnu/packages/ghostscript.scm (ghostscript)[arguments]: Pass "CCAUX"
    and "--enable-save_confaux" to #:configure-flags.  Add 'add-native-lz'
    phase when cross-compiling.
    [native-inputs]: Add ZLIB, LIBJPEG, and LCMS when cross-compiling.
---
 gnu/packages/ghostscript.scm | 34 +++++++++++++++++++++++++++++++---
 1 file changed, 31 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index b15b032..d5d5aa2 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2013 Andreas Enge <address@hidden>
 ;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <address@hidden>
 ;;; Copyright © 2015 Ricardo Wurmus <address@hidden>
-;;; Copyright © 2013, 2015, 2016 Ludovic Courtès <address@hidden>
+;;; Copyright © 2013, 2015, 2016, 2017 Ludovic Courtès <address@hidden>
 ;;; Copyright © 2017 Alex Vong <address@hidden>
 ;;; Copyright © 2017 Efraim Flashner <address@hidden>
 ;;; Copyright © 2017 Leo Famulari <address@hidden>
@@ -165,7 +165,18 @@ printing, and psresize, for adjusting page sizes.")
              "LIBS=-lz"
              (string-append "ZLIBDIR="
                             (assoc-ref %build-inputs "zlib") "/include")
-             "--enable-dynamic")
+             "--enable-dynamic"
+
+             ,@(if (%current-target-system)
+                   '(;; Specify the native compiler, which is used to build 
'echogs'
+                     ;; and other intermediary tools when cross-compiling; see
+                     ;; <https://ghostscript.com/FAQ.html>.
+                     "CCAUX=gcc"
+
+                     ;; Save 'config.log' etc. of the native build under
+                     ;; auxtmp/, useful for debugging.
+                     "--enable-save_confaux")
+                   '()))
        #:phases
        (modify-phases %standard-phases
         (add-after 'unpack 'fix-doc-dir
@@ -189,6 +200,15 @@ printing, and psresize, for adjusting page sizes.")
              (substitute* "base/unixhead.mak"
                (("/bin/sh") (which "sh")))
              #t))
+         ,@(if (%current-target-system)
+               `((add-after 'configure 'add-native-lz
+                   (lambda _
+                     ;; Add missing '-lz' for native tools such as 'mkromfs'.
+                     (substitute* "Makefile"
+                       (("^AUXEXTRALIBS=(.*)$" _ value)
+                        (string-append "AUXEXTRALIBS = -lz " value "\n")))
+                     #t)))
+               '())
          (replace 'build
            (lambda _
              ;; Build 'libgs.so', but don't build the statically-linked 'gs'
@@ -207,7 +227,15 @@ printing, and psresize, for adjusting page sizes.")
     (native-inputs
      `(("perl" ,perl)
        ("python" ,python-wrapper)
-       ("tcl" ,tcl)))
+       ("tcl" ,tcl)
+
+       ;; When cross-compiling, some of the natively-built tools require all
+       ;; these libraries.
+       ,@(if (%current-target-system)
+             `(("zlib/native" ,zlib)
+               ("libjpeg/native" ,libjpeg)
+               ("lcms2/native" ,lcms))
+             '())))
     (inputs
      `(("freetype" ,freetype)
        ("jbig2dec" ,jbig2dec)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]