Merge branch 'staging' into 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.4")
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 "0pjinhjibfsz1aywdpgpj3k23xrsszpj4a1ya5562dkv2yl2vv2p"))))
58 (build-system cmake-build-system)
59 (inputs
60 `(("aspell" ,aspell)
61 ("gtkmm" ,gtkmm-2)
62 ("gtk" ,gtk+-2)
63 ("gsl" ,gsl)
64 ("poppler" ,poppler)
65 ("libpng" ,libpng)
66 ("libxml2" ,libxml2)
67 ("libxslt" ,libxslt)
68 ("libgc" ,libgc)
69 ("freetype" ,freetype)
70 ("popt" ,popt)
71 ("potrace" ,potrace)
72 ("python" ,python-2)
73 ("lcms" ,lcms)
74 ("boost" ,boost)))
75 (native-inputs
76 `(("intltool" ,intltool)
77 ("glib" ,glib "bin")
78 ("perl" ,perl)
79 ("pkg-config" ,pkg-config)))
80 ;; FIXME: tests require gmock
81 (arguments
82 `(#:tests? #f
83 #:phases
84 (modify-phases %standard-phases
85 (add-after 'unpack 'patch-icon-cache-generator
86 (lambda _
87 (substitute* "share/icons/application/CMakeLists.txt"
88 (("gtk-update-icon-cache") "true"))
89 #t))
90 (add-before 'configure 'dont-use-system-includes
91 (lambda _
92 ;; Don't add redundant -isystem includes which confuses GCC7.
93 (substitute* "CMakeScripts/DefineDependsandFlags.cmake"
94 (("include_directories\\(SYSTEM")
95 "include_directories("))
96 #t)))))
97 (home-page "https://inkscape.org/")
98 (synopsis "Vector graphics editor")
99 (description "Inkscape is a vector graphics editor. What sets Inkscape
100 apart is its use of Scalable Vector Graphics (SVG), an XML-based W3C standard,
101 as the native format.")
102 (license license:gpl2+)))