gnu: r-maldiquant: Move to (gnu packages cran).
[jackhill/guix/guix.git] / gnu / packages / scribus.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
3 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
4 ;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
5 ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
6 ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
7 ;;;
8 ;;; This file is part of GNU Guix.
9 ;;;
10 ;;; GNU Guix is free software; you can redistribute it and/or modify it
11 ;;; under the terms of the GNU General Public License as published by
12 ;;; the Free Software Foundation; either version 3 of the License, or (at
13 ;;; your option) any later version.
14 ;;;
15 ;;; GNU Guix is distributed in the hope that it will be useful, but
16 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ;;; GNU General Public License for more details.
19 ;;;
20 ;;; You should have received a copy of the GNU General Public License
21 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22
23 (define-module (gnu packages scribus)
24 #:use-module (guix packages)
25 #:use-module (guix download)
26 #:use-module (guix utils)
27 #:use-module ((guix licenses) #:prefix license:)
28 #:use-module (guix build-system cmake)
29 #:use-module (gnu packages)
30 #:use-module (gnu packages boost)
31 #:use-module (gnu packages compression)
32 #:use-module (gnu packages cups)
33 #:use-module (gnu packages fontutils)
34 #:use-module (gnu packages ghostscript)
35 #:use-module (gnu packages gtk)
36 #:use-module (gnu packages icu4c)
37 #:use-module (gnu packages image)
38 #:use-module (gnu packages imagemagick)
39 #:use-module (gnu packages libreoffice)
40 #:use-module (gnu packages linux)
41 #:use-module (gnu packages pdf)
42 #:use-module (gnu packages pkg-config)
43 #:use-module (gnu packages python)
44 #:use-module (gnu packages qt)
45 #:use-module (gnu packages tls)
46 #:use-module (gnu packages xml))
47
48 (define-public scribus
49 (package
50 (name "scribus")
51 (version "1.5.5")
52 (source
53 (origin
54 (method url-fetch)
55 (uri (string-append "mirror://sourceforge/scribus/scribus-devel/"
56 version "/scribus-" version ".tar.xz"))
57 (patches (search-patches "scribus-1.5.5-poppler-0.86-build-fix.patch"))
58 (sha256
59 (base32
60 "0w9zzsiaq3f7vpxybk01c9z2b4qqg67mzpyfb2gjchz8dhdb423r"))))
61 (build-system cmake-build-system)
62 (arguments
63 `(#:tests? #f ;no test target
64 #:configure-flags
65 '("-DWANT_GRAPHICSMAGICK=1")
66 #:phases
67 (modify-phases %standard-phases
68 (add-after 'install 'wrap-program
69 (lambda* (#:key inputs outputs #:allow-other-keys)
70 ;; Fix "ImportError: No module named _sysconfigdata_nd"
71 ;; runtime error where Scribus checks PATH and eventually
72 ;; runs system's Python instead of package's.
73 (let* ((out (assoc-ref outputs "out"))
74 (py2 (assoc-ref inputs "python")))
75 (wrap-program (string-append out "/bin/scribus")
76 `("PATH" ":" prefix (,(string-append py2 "/bin")))))
77 #t)))))
78 (inputs
79 `(("boost" ,boost)
80 ("cairo" ,cairo)
81 ("cups" ,cups)
82 ("fontconfig" ,fontconfig)
83 ("freetype" ,freetype)
84 ("graphicsmagick" ,graphicsmagick)
85 ("harfbuzz" ,harfbuzz)
86 ("hunspell" ,hunspell)
87 ("icu4c" ,icu4c)
88 ("lcms" ,lcms)
89 ("libcdr" ,libcdr)
90 ("libfreehand" ,libfreehand)
91 ("libjpeg" ,libjpeg-turbo)
92 ("libmspub" ,libmspub)
93 ("libpagemaker" ,libpagemaker)
94 ("librevenge" ,librevenge)
95 ("libtiff" ,libtiff)
96 ("libvisio" ,libvisio)
97 ("libxml2" ,libxml2)
98 ("libzmf" ,libzmf)
99 ("openssl" ,openssl)
100 ("podofo" ,podofo)
101 ("poppler" ,poppler)
102 ("python" ,python-2) ;need Python library
103 ("qtbase" ,qtbase)
104 ("qtdeclarative" ,qtdeclarative)
105 ("zlib" ,zlib)))
106 (native-inputs
107 `(("pkg-config" ,pkg-config)
108 ("qttools" ,qttools)
109 ("util-linux" ,util-linux)))
110 (home-page "https://www.scribus.net")
111 (synopsis "Desktop publishing and page layout program")
112 (description
113 "Scribus is a @dfn{desktop publishing} (DTP) application and can
114 be used for many tasks; from brochure design to newspapers, magazines,
115 newsletters and posters to technical documentation. Scribus supports
116 professional DTP features, such as CMYK color and a color management
117 system to soft proof images for high quality color printing, flexible
118 PDF creation options, Encapsulated PostScript import/export and
119 creation of four color separations, import of EPS/PS and SVG as native
120 vector graphics, Unicode text including right to left scripts such as
121 Arabic and Hebrew via FreeType.")
122 (license license:gpl2+)))