;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2013, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cups)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages image)
#:use-module (gnu packages perl)
(arguments
`(#:tests? #f ; none provided
#:phases
- (alist-replace
- 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
- (let ((perl (assoc-ref inputs "perl"))
- (out (assoc-ref outputs "out")))
- (copy-file "Makefile.unix" "Makefile")
- (substitute* "Makefile"
- (("/usr/local/bin/perl") (string-append perl "/bin/perl")))
- (substitute* "Makefile"
- (("/usr/local") out))
- ;; for the install phase
- (substitute* "Makefile"
- (("-mkdir") "mkdir -p"))
- ;; drop installation of non-free files
- (substitute* "Makefile"
- ((" install.include") ""))))
- %standard-phases)))
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
+ (let ((perl (assoc-ref inputs "perl"))
+ (out (assoc-ref outputs "out")))
+ (copy-file "Makefile.unix" "Makefile")
+ (substitute* "Makefile"
+ (("/usr/local/bin/perl") (string-append perl "/bin/perl")))
+ (substitute* "Makefile"
+ (("/usr/local") out))
+ ;; for the install phase
+ (substitute* "Makefile"
+ (("-mkdir") "mkdir -p"))
+ ;; drop installation of non-free files
+ (substitute* "Makefile"
+ ((" install.include") "")))
+ #t)))))
(synopsis "Collection of utilities for manipulating PostScript documents")
(description
"PSUtils is a collection of utilities for manipulating PostScript
(define-public ghostscript
(package
(name "ghostscript")
- (version "9.21")
+ (version "9.22")
(source
(origin
(method url-fetch)
"/ghostscript-" version ".tar.xz"))
(sha256
(base32
- "0lyhjcrkmd5fcmh8h56bs4xr9k4jasmikv5vsix1hd4ai0ad1q9b"))
+ "1fyi4yvdj39bjgs10klr31cda1fbx1ar7a7b7yz7v68gykk65y61"))
(patches (search-patches "ghostscript-runpath.patch"
- "ghostscript-CVE-2017-8291.patch"))
+ "ghostscript-no-header-creationdate.patch"
+ "ghostscript-no-header-id.patch"
+ "ghostscript-no-header-uuid.patch"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries. The bundled OpenJPEG is a patched fork so
"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
(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'
(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)
("libxt" ,libxt)
,@(package-inputs ghostscript)))))
+(define-public ghostscript/cups
+ (package/inherit ghostscript
+ (name "ghostscript-with-cups")
+ (inputs `(("cups" ,cups-minimal)
+ ,@(package-inputs ghostscript)))))
+
(define-public ijs
(package
(name "ijs")
(define-public libspectre
(package
(name "libspectre")
- (version "0.2.7")
+ (version "0.2.8")
(source (origin
(method url-fetch)
(uri (string-append "https://libspectre.freedesktop.org/releases/libspectre-"
version ".tar.gz"))
(sha256 (base32
- "1v63lqc6bhhxwkpa43qmz8phqs8ci4dhzizyy16d3vkb20m846z8"))))
+ "1a67iglsc3r05mzngyg9kb1gy8whq4fgsnyjwi7bqfw2i7rnl9b5"))))
(build-system gnu-build-system)
(inputs `(("ghostscript" ,ghostscript)))
(native-inputs `(("pkg-config" ,pkg-config)))