From bf4018fb15b26f5a69a87dd23ca3f28fc30e643c Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 19 Jan 2013 13:44:42 +0100 Subject: [PATCH] gnu: Add GNU Ghostscript and its dependencies libpaper and lcms. * gnu/packages/ghostscrip.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + gnu/packages/ghostscript.scm | 119 +++++++++++++++++++++++++++++++++++ 2 files changed, 120 insertions(+) create mode 100644 gnu/packages/ghostscript.scm diff --git a/Makefile.am b/Makefile.am index 3e9cae44fb..4df699aa64 100644 --- a/Makefile.am +++ b/Makefile.am @@ -71,6 +71,7 @@ MODULES = \ gnu/packages/gdb.scm \ gnu/packages/gdbm.scm \ gnu/packages/gettext.scm \ + gnu/packages/ghostscript.scm \ gnu/packages/global.scm \ gnu/packages/gnupg.scm \ gnu/packages/gnutls.scm \ diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm new file mode 100644 index 0000000000..a37567506d --- /dev/null +++ b/gnu/packages/ghostscript.scm @@ -0,0 +1,119 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Andreas Enge +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages ghostscript) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages freetype) + #:use-module (gnu packages libjpeg) + #:use-module (gnu packages libpng) + #:use-module (gnu packages libtiff) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages tcl) + #:use-module ((guix licenses) #:renamer (symbol-prefix-proc 'license:)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu)) + +(define-public lcms + (package + (name "lcms") + (version "2.4") + (source (origin + (method url-fetch) + (uri (string-append + "http://downloads.sourceforge.net/project/lcms/lcms/" + version "/lcms2-" version ".tar.gz")) + (sha256 (base32 + "1s1ppvqaydf2yqc72mw6zfviwxccb311a6hrbi802sgjxw84sl9a")))) + (build-system gnu-build-system) + (inputs `(("libjpeg-8" ,libjpeg-8) + ("libtiff" ,libtiff) + ("zlib" ,zlib))) + (synopsis "Little CMS, a small-footprint colour management engine") + (description + "Little CMS is a small-footprint colour management engine, with special +focus on accuracy and performance. It uses the International Color +Consortium standard (ICC), approved as ISO 15076-1.") + (license license:x11) + (home-page "http://www.littlecms.com/"))) + +(define-public libpaper + (package + (name "libpaper") + (version "1.1.24") + (source (origin + (method url-fetch) + (uri (string-append + "http://ftp.de.debian.org/debian/pool/main/libp/libpaper/libpaper_" + version ".tar.gz")) + (sha256 (base32 + "0zhcx67afb6b5r936w5jmaydj3ks8zh83n9rm5sv3m3k8q8jib1q")))) + (build-system gnu-build-system) + (synopsis "libpaper, a library for handling paper sizes") + (description + "The paper library and accompanying files are intended to provide a simple +way for applications to take actions based on a system- or user-specified +paper size.") + (license license:gpl2) + (home-page "http://packages.qa.debian.org/libp/libpaper.html"))) + +(define-public ghostscript + (package + (name "ghostscript") + (version "9.06.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/ghostscript/gnu-ghostscript-" + version ".tar.xz")) + (sha256 (base32 + "0bcg2203p7cm0f53f3s883xhj2c91xnaxakj2cy7kcdknfxplvs4")))) + (build-system gnu-build-system) + (inputs `(("freetype" ,freetype) + ("lcms" ,lcms) + ("libjpeg-8" ,libjpeg-8) + ("libpng" ,libpng) + ("libpaper" ,libpaper) + ("libtiff" ,libtiff) + ("perl" ,perl) + ("pkg-config" ,pkg-config) ; needed to find libtiff + ("python" ,python) + ("tcl" ,tcl) + ("zlib" ,zlib))) + (arguments + `(#:phases + (alist-replace + 'configure + (lambda* (#:key #:allow-other-keys #:rest args) + (let ((configure (assoc-ref %standard-phases 'configure))) + (apply configure args) + (substitute* "base/all-arch.mak" + (("/bin/sh") (which "bash"))) + (substitute* "base/unixhead.mak" + (("/bin/sh") (which "bash"))))) + %standard-phases))) + (synopsis "GNU Ghostscript, an interpreter for the PostScript language and for PDF") + (description + "GNU Ghostscript is an interpreter for PostScript and Portable Document +Format (PDF) files. +It consists of a PostScript interpreter layer, and a graphics +library.") + (license license:gpl3+) + (home-page "http://www.gnu.org/software/ghostscript/")))