;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages tcl)
+ #:use-module (gnu packages xorg)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
(sha256
(base32
"0q4jj41p0qbr4mgcc9q78f5zs8cm1g57wgryhsm2yq4lfslm3ib1"))
- (patches (list (search-patch "ghostscript-runpath.patch")))))
+ (patches (map search-patch '("ghostscript-CVE-2015-3228.patch"
+ "ghostscript-runpath.patch")))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Honor --docdir.
+ '(substitute* "Makefile.in"
+ (("^docdir=.*$") "docdir = @docdir@\n")
+ (("^exdir=.*$") "exdir = $(docdir)/examples\n")))))
(build-system gnu-build-system)
+ (outputs '("out" "doc")) ;16 MiB of HTML/PS doc + examples
(inputs `(("freetype" ,freetype)
("lcms" ,lcms)
("libjpeg-8" ,libjpeg-8)
(("/bin/sh") (which "bash")))
(substitute* "base/unixhead.mak"
(("/bin/sh") (which "bash")))))
+ (add-after 'configure 'remove-doc-reference
+ (lambda _
+ ;; Don't retain a reference to the 'doc' output in 'gs'.
+ ;; The only use of this definition is in the output of
+ ;; 'gs --help', so this change is fine.
+ (substitute* "base/gscdef.c"
+ (("GS_DOCDIR")
+ "\"~/.guix-profile/share/doc/ghostscript\""))))
(add-after 'build 'build-so
(lambda _
(zero? (system* "make" "so"))))
(license license:agpl3+)
(home-page "http://www.gnu.org/software/ghostscript/")))
+(define-public ghostscript/x
+ (package (inherit ghostscript)
+ (name (string-append (package-name ghostscript) "-with-x"))
+ (inputs `(("libxext" ,libxext)
+ ("libxt" ,libxt)
+ ,@(package-inputs ghostscript)))))
+
(define-public ijs
(package
(name "ijs")