Merge branch 'core-updates'
[jackhill/guix/guix.git] / gnu / packages / inkscape.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
3 ;;; Copyright © 2014, 2016 Mark H Weaver <mhw@netris.org>
4 ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
5 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
6 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
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 inkscape)
24 #:use-module ((guix licenses) #:prefix license:)
25 #:use-module (guix packages)
26 #:use-module (guix download)
27 #:use-module (guix utils)
28 #:use-module (guix build-system cmake)
29 #:use-module (gnu packages)
30 #:use-module (gnu packages aspell)
31 #:use-module (gnu packages bdw-gc)
32 #:use-module (gnu packages boost)
33 #:use-module (gnu packages glib)
34 #:use-module (gnu packages gtk)
35 #:use-module (gnu packages maths)
36 #:use-module (gnu packages perl)
37 #:use-module (gnu packages pdf)
38 #:use-module (gnu packages popt)
39 #:use-module (gnu packages python)
40 #:use-module (gnu packages xml)
41 #:use-module (gnu packages ghostscript)
42 #:use-module (gnu packages fontutils)
43 #:use-module (gnu packages image)
44 #:use-module (gnu packages pkg-config))
45
46 (define-public inkscape
47 (package
48 (name "inkscape")
49 (version "0.92.3")
50 (source (origin
51 (method url-fetch)
52 (uri (string-append "https://media.inkscape.org/dl/"
53 "resources/file/"
54 "inkscape-" version ".tar.bz2"))
55 (sha256
56 (base32
57 "1chng2yw8dsjxc9gf92aqv7plj11cav8ax321wmakmv5bb09cch6"))
58 (patches
59 (list (origin
60 (method url-fetch)
61 (uri (string-append "https://gitlab.com/inkscape/inkscape/commit/"
62 "a600c6438fef2f4c06f9a4a7d933d99fb054a973.diff"))
63 (file-name "inkscape-poppler-compat.patch")
64 (sha256
65 (base32
66 "19dam5vsy571xszgjddl5g0958dmcsv0wvgxidp4bhj2lban222i")))
67 (origin
68 (method url-fetch)
69 (uri (string-append "https://gitlab.com/inkscape/inkscape/commit/"
70 "fa1c469aa8c005e07bb8676d72af9f7c16fae3e0.diff"))
71 (file-name "inkscape-poppler-compat2.patch")
72 (sha256
73 (base32
74 "14k9yrfjz4nx3bz9dk91q74mc0i7rvl2qzkwhcy1br71yqjvngn5")))))))
75 (build-system cmake-build-system)
76 (inputs
77 `(("aspell" ,aspell)
78 ("gtkmm" ,gtkmm-2)
79 ("gtk" ,gtk+-2)
80 ("gsl" ,gsl)
81 ("poppler" ,poppler)
82 ("libpng" ,libpng)
83 ("libxml2" ,libxml2)
84 ("libxslt" ,libxslt)
85 ("libgc" ,libgc)
86 ("freetype" ,freetype)
87 ("popt" ,popt)
88 ("potrace" ,potrace)
89 ("python" ,python-2)
90 ("lcms" ,lcms)
91 ("boost" ,boost)))
92 (native-inputs
93 `(("intltool" ,intltool)
94 ("glib" ,glib "bin")
95 ("perl" ,perl)
96 ("pkg-config" ,pkg-config)))
97 ;; FIXME: tests require gmock
98 (arguments
99 `(#:tests? #f
100 #:phases
101 (modify-phases %standard-phases
102 (add-after 'unpack 'patch-icon-cache-generator
103 (lambda _
104 (substitute* "share/icons/application/CMakeLists.txt"
105 (("gtk-update-icon-cache") "true"))
106 #t)))))
107 (home-page "https://inkscape.org/")
108 (synopsis "Vector graphics editor")
109 (description "Inkscape is a vector graphics editor. What sets Inkscape
110 apart is its use of Scalable Vector Graphics (SVG), an XML-based W3C standard,
111 as the native format.")
112 (license license:gpl2+)))