summaryrefslogtreecommitdiff
path: root/gnu/packages/ghostscript.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/ghostscript.scm')
-rw-r--r--gnu/packages/ghostscript.scm57
1 files changed, 48 insertions, 9 deletions
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index ff5a6a04f4..f013a734e5 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,7 +33,8 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial))
(define-public lcms
(package
@@ -156,7 +157,8 @@ printing, and psresize, for adjusting page sizes.")
("python" ,python-wrapper)
("tcl" ,tcl)))
(arguments
- `(#:phases
+ `(#:disallowed-references ("doc")
+ #:phases
(modify-phases %standard-phases
(add-after 'configure 'patch-config-files
(lambda _
@@ -172,12 +174,15 @@ printing, and psresize, for adjusting page sizes.")
(substitute* "base/gscdef.c"
(("GS_DOCDIR")
"\"~/.guix-profile/share/doc/ghostscript\""))))
- (add-after 'build 'build-so
- (lambda _
- (zero? (system* "make" "so"))))
- (add-after 'install 'install-so
- (lambda _
- (zero? (system* "make" "install-so")))))))
+ (replace 'build
+ (lambda _
+ ;; Build 'libgs.so', but don't build the statically-linked 'gs'
+ ;; binary (saves 18 MiB).
+ (zero? (system* "make" "so" "-j"
+ (number->string (parallel-job-count))))))
+ (replace 'install
+ (lambda _
+ (zero? (system* "make" "soinstall")))))))
(synopsis "PostScript and PDF interpreter")
(description
"Ghostscript is an interpreter for the PostScript language and the PDF
@@ -194,6 +199,40 @@ output file formats and printers.")
("libxt" ,libxt)
,@(package-inputs ghostscript)))))
+(define (ghostscript-wrapper name ghostscript)
+ ;; Return a GHOSTSCRIPT wrapper that provides the 'gs' command.
+ ;; See <https://lists.gnu.org/archive/html/guix-devel/2016-07/msg00987.html>.
+ (package
+ (name name)
+ (version (package-version ghostscript))
+ (source #f)
+ (build-system trivial-build-system)
+ (inputs `(("ghostscript" ,ghostscript)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils))
+
+ (let* ((out (assoc-ref %outputs "out"))
+ (bin (string-append out "/bin"))
+ (gs (assoc-ref %build-inputs "ghostscript")))
+ (mkdir-p bin)
+ (with-directory-excursion bin
+ (symlink (string-append gs "/bin/gsc") "gs")
+ #t)))))
+ (synopsis "Wrapper providing Ghostscript's 'gs' command")
+ (description
+ "This package provides the @command{gs} command, which used to be
+provided by Ghostscript itself and no longer is.")
+ (license (package-license ghostscript))
+ (home-page (package-home-page ghostscript))))
+
+(define-public ghostscript-gs
+ (ghostscript-wrapper "ghostscript-gs" ghostscript))
+
+(define-public ghostscript-gs/x
+ (ghostscript-wrapper "ghostscript-gs-with-x" ghostscript/x))
+
(define-public ijs
(package
(name "ijs")