aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/image-processing.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/image-processing.scm')
-rw-r--r--gnu/packages/image-processing.scm140
1 files changed, 103 insertions, 37 deletions
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index c3ea8491d9..2795eaf130 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -1,18 +1,20 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2018 Lprndn <guix@lprndn.info>
;;; Copyright © 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
-;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 Oleh Malyi <astroclubzp@gmail.com>
+;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021 Andy Tai <atai@atai.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -58,6 +60,7 @@
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages maths)
@@ -84,7 +87,7 @@
(define-public dcmtk
(package
(name "dcmtk")
- (version "3.6.5")
+ (version "3.6.6")
(source
(origin
(method url-fetch)
@@ -93,11 +96,10 @@
"dcmtk" (string-join (string-split version #\.) "")
"/dcmtk-" version ".tar.gz"))
(sha256
- (base32 "1fdyz5wwjp4grys61mxb2ia9fi6i3ax6s43l16xnv291bxk7hld0"))))
+ (base32 "13j5yf3p6qj3mr17d77r3kcqchf055hgvk1w15vmdr8f54mwcnb8"))))
(build-system cmake-build-system)
(inputs
- `(;; Our ICU is too recent: “error: ‘UChar’ does not name a type“.
- ;; ("icu4c" ,icu4c)
+ `(("icu4c" ,icu4c)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libtiff" ,libtiff)
@@ -245,7 +247,7 @@ many popular formats.")
(define-public vtk
(package
(name "vtk")
- (version "8.2.0")
+ (version "9.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://vtk.org/files/release/"
@@ -253,7 +255,9 @@ many popular formats.")
"/VTK-" version ".tar.gz"))
(sha256
(base32
- "1fspgp8k0myr6p2a6wkc21ldcswb4bvmb484m12mxgk1a9vxrhrl"))
+ "1ir2lq9i45ls374lcmjzw0nrm5l5hnm1w47lg8g8d0n2j7hsaf8v"))
+ (patches
+ (search-patches "vtk-fix-freetypetools-build-failure.patch"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -261,35 +265,47 @@ many popular formats.")
(lambda (dir)
(delete-file-recursively
(string-append "ThirdParty/" dir "/vtk" dir)))
- ;; ogg, pugixml depended upon unconditionally
+ ;; pugixml depended upon unconditionally
'("doubleconversion" "eigen" "expat" "freetype" "gl2ps"
"glew" "hdf5" "jpeg" "jsoncpp" "libproj" "libxml2" "lz4"
- "netcdf" "png" "sqlite" "theora" "tiff" "zlib"))
+ "netcdf" "ogg" "png" "sqlite" "theora" "tiff" "zlib"))
#t))))
+ (properties `((release-monitoring-url . "https://vtk.org/download/")))
(build-system cmake-build-system)
(arguments
'(#:build-type "Release" ;Build without '-g' to save space.
#:configure-flags '(;"-DBUILD_TESTING:BOOL=TRUE"
- ;"-DVTK_MODULE_USE_EXTERNAL_vtkogg:BOOL=TRUE" ; not honored
- "-DVTK_USE_SYSTEM_DOUBLECONVERSION:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_EIGEN:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_EXPAT:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_FREETYPE:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_GL2PS:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_GLEW:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_HDF5:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_JPEG:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_JSONCPP:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_LIBPROJ:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_LIBXML2:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_LZ4:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_NETCDF:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_PNG:BOOL=TRUE"
- ;"-DVTK_USE_SYSTEM_PUGIXML:BOOL=TRUE" ; breaks IO/CityGML
- "-DVTK_USE_SYSTEM_SQLITE:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_THEORA:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_TIFF:BOOL=TRUE"
- "-DVTK_USE_SYSTEM_ZLIB:BOOL=TRUE")
+ ; ; not honored
+ "-DVTK_USE_EXTERNAL=OFF" ;; default
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_eigen=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_expat=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_freetype=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_glew=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_jsoncpp=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_libproj=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_lz4=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_ogg=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_png=ON"
+ ;"-DVTK_MODULE_USE_EXTERNAL_VTK_pugixml=ON" ; breaks IO/CityGML
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_sqlite=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_theora=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_tiff=ON"
+ "-DVTK_MODULE_USE_EXTERNAL_VTK_zlib=ON"
+ )
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-sources
+ (lambda _
+ (substitute* "Common/Core/vtkFloatingPointExceptions.cxx"
+ (("<fenv.h>") "<cfenv>"))
+ (substitute* "Common/Core/CMakeLists.txt"
+ (("fenv.h") "cfenv")))))
#:tests? #f)) ;XXX: test data not included
(inputs
`(("double-conversion" ,double-conversion)
@@ -302,7 +318,6 @@ many popular formats.")
("hdf5" ,hdf5)
("jpeg" ,libjpeg-turbo)
("jsoncpp" ,jsoncpp)
- ;("libogg" ,libogg)
("libtheora" ,libtheora)
("libX11" ,libx11)
("libxml2" ,libxml2)
@@ -317,6 +332,10 @@ many popular formats.")
("tiff" ,libtiff)
("xorgproto" ,xorgproto)
("zlib" ,zlib)))
+ (propagated-inputs
+ ;; VTK's 'VTK-vtk-module-find-packages.cmake' calls
+ ;; 'find_package(THEORA)', which in turns looks for libogg.
+ `(("libogg" ,libogg)))
(home-page "https://vtk.org/")
(synopsis "Libraries for 3D computer graphics")
(description
@@ -553,7 +572,7 @@ vision algorithms. It can be used to do things like:
(define-public vips
(package
(name "vips")
- (version "8.10.5")
+ (version "8.10.6")
(source
(origin
(method url-fetch)
@@ -561,7 +580,7 @@ vision algorithms. It can be used to do things like:
"https://github.com/libvips/libvips/releases/download/v"
version "/vips-" version ".tar.gz"))
(sha256
- (base32 "1n6gw7cw66rfn1wdb92ydpkv7gfmjiinsg6d6gqxpdja6gsz5vm4"))))
+ (base32 "0vjsh3i0861f6h9as3bch956cidz824zz499pvhjs3lfjn6hhs14"))))
(build-system gnu-build-system)
(native-inputs
`(("gobject-introspection" ,gobject-introspection)
@@ -603,17 +622,28 @@ due to its architecture which automatically parallelises the image workflows.")
(define-public gmic
(package
(name "gmic")
- (version "2.9.2")
+ (version "2.9.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://gmic.eu/files/source/gmic_"
version ".tar.gz"))
(sha256
- (base32 "14acph914a8lp6qqfmp319ggqjg3i3hmalmnpk3mp07m7vpv2p9q"))))
+ (base32 "06n1dcskky7aqg3a0cp7biwz8agc4xqvr8091l2wsvgib98yhbyj"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f)) ;there are no tests
+ `(#:tests? #f ;there are no tests
+ #:configure-flags '("-DBUILD_LIB_STATIC=OFF"
+ "-DENABLE_DYNAMIC_LINKING=ON"
+ "-DENABLE_LTO=ON")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'set-LDFLAGS
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (setenv "LDFLAGS"
+ (string-append
+ "-Wl,-rpath="
+ (assoc-ref outputs "out") "/lib")))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
@@ -637,6 +667,42 @@ including 2D color images.")
;; Dual-licensed, either license applies.
(license (list license:cecill license:cecill-c))))
+(define-public gmic-qt
+ (package
+ (inherit gmic)
+ (name "gmic-qt")
+ (arguments
+ (substitute-keyword-arguments (package-arguments gmic)
+ ((#:configure-flags _)
+ `(list "-DGMIC_QT_HOST=none" "-DENABLE_DYNAMIC_LINKING=ON"
+ (string-append "-DGMIC_LIB_PATH="
+ (assoc-ref %build-inputs "gmic") "/lib")))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'qt-chdir
+ (lambda _ (chdir "gmic-qt") #t))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("qttools" ,qttools)))
+ (inputs
+ `(("gmic" ,gmic)
+ ("qtbase" ,qtbase)
+ ,@(package-inputs gmic)))
+ (synopsis "Qt frontend for the G'MIC image processing framework")
+ (license license:gpl3+)))
+
+(define-public gmic-qt-krita
+ (package
+ (inherit gmic-qt)
+ (name "gmic-qt-krita")
+ (arguments
+ (substitute-keyword-arguments (package-arguments gmic-qt)
+ ((#:configure-flags flags)
+ '(list "-DGMIC_QT_HOST=krita" "-DENABLE_DYNAMIC_LINKING=ON"
+ (string-append "-DGMIC_LIB_PATH="
+ (assoc-ref %build-inputs "gmic") "/lib")))))
+ (synopsis "Krita plugin for the G'MIC image processing framework")))
+
(define-public nip2
(package
(name "nip2")