Merge branch 'staging' into core-updates
[jackhill/guix/guix.git] / gnu / packages / inkscape.scm
index eae8ac9..0bd8b94 100644 (file)
@@ -2,7 +2,7 @@
 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2014, 2016 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 (define-public inkscape
   (package
     (name "inkscape")
-    (version "0.92.3")
+    (version "0.92.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://media.inkscape.org/dl/"
                                   "resources/file/"
                                   "inkscape-" version ".tar.bz2"))
+              (patches (search-patches "inkscape-poppler-0.76.patch"))
               (sha256
                (base32
-                "1chng2yw8dsjxc9gf92aqv7plj11cav8ax321wmakmv5bb09cch6"))
-              (patches
-               (list (origin
-                       (method url-fetch)
-                       (uri (string-append "https://gitlab.com/inkscape/inkscape/commit/"
-                                           "a600c6438fef2f4c06f9a4a7d933d99fb054a973.diff"))
-                       (file-name "inkscape-poppler-compat.patch")
-                       (sha256
-                        (base32
-                         "19dam5vsy571xszgjddl5g0958dmcsv0wvgxidp4bhj2lban222i")))
-                     (origin
-                       (method url-fetch)
-                       (uri (string-append "https://gitlab.com/inkscape/inkscape/commit/"
-                                           "fa1c469aa8c005e07bb8676d72af9f7c16fae3e0.diff"))
-                       (file-name "inkscape-poppler-compat2.patch")
-                       (sha256
-                        (base32
-                         "14k9yrfjz4nx3bz9dk91q74mc0i7rvl2qzkwhcy1br71yqjvngn5")))
-                     (search-patch "inkscape-poppler-compat3.patch")
-                     (origin
-                       (method url-fetch)
-                       (uri (string-append "https://gitlab.com/inkscape/inkscape/commit/"
-                                           "d047859d90cef3784e2d13e40887a70d8d517897.diff"))
-                       (file-name "inkscape-poppler-compat4.patch")
-                       (sha256
-                        (base32
-                         "0xdfg3q4g4m15z7wna4brjn5j4kr15qiqc2f25vcw2nnr6x54qcp")))
-                     (origin
-                       (method url-fetch)
-                       (uri (string-append "https://gitlab.com/inkscape/inkscape/commit/"
-                                           "b3d59cc8106da3bf6020a6c47eeb3b8a7bbae1a9.diff"))
-                       (file-name "inkscape-poppler-compat5.patch")
-                       (sha256
-                        (base32
-                         "0haviy66q9szizmvb82msfj80bb3wgi1fnq3ml8fyfp8l90a1217")))))))
+                "0pjinhjibfsz1aywdpgpj3k23xrsszpj4a1ya5562dkv2yl2vv2p"))))
     (build-system cmake-build-system)
     (inputs
      `(("aspell" ,aspell)
            (lambda _
              (substitute* "share/icons/application/CMakeLists.txt"
               (("gtk-update-icon-cache") "true"))
+             #t))
+         (add-after 'unpack 'adjust-for-new-poppler
+           (lambda _
+             (substitute* (find-files "src/extension/internal/pdfinput")
+               ;; Needed for Poppler 0.82.
+               (("Unicode \\*u") "Unicode const *u")
+               ;; Needed for Poppler 0.83.
+               (("\\(GfxPath") "(const GfxPath")
+               (("GfxSubpath") "const GfxSubpath")
+               (("new GlobalParams\\(\\)")
+                "std::unique_ptr<GlobalParams>(new GlobalParams())")
+               (("new GlobalParams\\(poppler_datadir\\)")
+                "std::unique_ptr<GlobalParams>(new GlobalParams(poppler_datadir))"))
+             #t))
+         (add-before 'configure 'dont-use-system-includes
+           (lambda _
+             ;; Don't add redundant -isystem includes which confuses GCC7.
+             (substitute* "CMakeScripts/DefineDependsandFlags.cmake"
+               (("include_directories\\(SYSTEM")
+                "include_directories("))
              #t)))))
     (home-page "https://inkscape.org/")
     (synopsis "Vector graphics editor")