summaryrefslogtreecommitdiff
path: root/gnu/packages/photo.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/photo.scm')
-rw-r--r--gnu/packages/photo.scm133
1 files changed, 111 insertions, 22 deletions
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 4904fa1db1..09767f464e 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Sebastian Schott <sschott@mailbox.org>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,6 +31,7 @@
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
@@ -39,9 +41,11 @@
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cups)
#:use-module (gnu packages curl)
#:use-module (gnu packages file)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages geo)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
@@ -51,12 +55,16 @@
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
+ #:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages iso-codes)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libusb)
#:use-module (gnu packages llvm)
+ #:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages opencl)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
@@ -457,7 +465,7 @@ photographic equipment.")
(define-public darktable
(package
(name "darktable")
- (version "2.6.3")
+ (version "3.0.2")
(source
(origin
(method url-fetch)
@@ -465,13 +473,22 @@ photographic equipment.")
"https://github.com/darktable-org/darktable/releases/"
"download/release-" version "/darktable-" version ".tar.xz"))
(sha256
- (base32 "1w3q3dhcxa0bs590zbsj61ap8z84wmn04xs5q3gjwisqhjf9j655"))))
+ (base32 "1yrnkw8c47kmy2x6m1xp69hwyk02xyc8pd9kvcmyj54lzrhzdfka"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are no tests
#:configure-flags '("-DBINARY_PACKAGE_BUILD=On")
#:phases
(modify-phases %standard-phases
+ (add-before 'configure 'prepare-build-environment
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CC" "clang") (setenv "CXX" "clang++")
+ ;; Darktable looks for opencl-c.h in the LLVM dir. Guix installs
+ ;; it to the Clang dir. We fix this by patching CMakeLists.txt.
+ (substitute* "CMakeLists.txt"
+ (("\\$\\{LLVM_INSTALL_PREFIX\\}")
+ (assoc-ref %build-inputs "clang")))
+ #t))
(add-before 'configure 'set-LDFLAGS-and-CPATH
(lambda* (#:key inputs outputs #:allow-other-keys)
(setenv "LDFLAGS"
@@ -483,35 +500,62 @@ photographic equipment.")
(setenv "CPATH"
(string-append (assoc-ref inputs "ilmbase")
"/include/OpenEXR:" (or (getenv "CPATH") "")))
- #t)))))
+ #t))
+ (add-after 'install 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (wrap-program (string-append (assoc-ref outputs "out")
+ "/bin/darktable")
+ ;; For GtkFileChooserDialog.
+ `("GSETTINGS_SCHEMA_DIR" =
+ (,(string-append (assoc-ref inputs "gtk+")
+ "/share/glib-2.0/schemas"))))
+ #t)))))
(native-inputs
- `(("intltool" ,intltool)
+ `(("clang" ,clang-9)
+ ("desktop-file-utils" ,desktop-file-utils)
+ ("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("intltool" ,intltool)
+ ("llvm" ,llvm-9) ;should match the Clang version
+ ("opencl-headers" ,opencl-headers)
("perl" ,perl)
- ("pkg-config" ,pkg-config)))
+ ("pkg-config" ,pkg-config)
+ ("po4a" ,po4a)))
(inputs
- `(("libxslt" ,libxslt)
- ("libxml2" ,libxml2)
- ("pugixml" ,pugixml)
+ `(("cairo" ,cairo)
+ ("colord-gtk" ,colord-gtk)
+ ("cups" ,cups)
+ ("curl" ,curl)
+ ("dbus-glib" ,dbus-glib)
+ ("exiv2" ,exiv2)
+ ("freeimage" ,freeimage)
+ ("gmic" ,gmic)
+ ("graphicsmagick" ,graphicsmagick)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtk+" ,gtk+)
- ("sqlite" ,sqlite)
+ ("ilmbase" ,ilmbase)
+ ("iso-codes" ,iso-codes)
+ ("json-glib" ,json-glib)
+ ("lcms" ,lcms)
+ ("lensfun" ,lensfun)
+ ("libgphoto2" ,libgphoto2)
("libjpeg" ,libjpeg-turbo)
+ ("libomp" ,libomp)
("libpng" ,libpng)
- ("cairo" ,cairo)
- ("lcms" ,lcms)
- ("exiv2" ,exiv2)
+ ("librsvg" ,librsvg)
+ ("libsecret" ,libsecret)
+ ("libsoup" ,libsoup)
("libtiff" ,libtiff)
- ("curl" ,curl)
- ("libgphoto2" ,libgphoto2)
- ("dbus-glib" ,dbus-glib)
+ ("libwebp" ,libwebp)
+ ("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)
+ ("lua" ,lua) ;for plugins
("openexr" ,openexr)
- ("ilmbase" ,ilmbase)
- ("libsoup" ,libsoup)
+ ("openjpeg" ,openjpeg)
+ ("osm-gps-map" ,osm-gps-map)
+ ("pugixml" ,pugixml)
("python-jsonschema" ,python-jsonschema)
- ("libwebp" ,libwebp)
- ("lensfun" ,lensfun)
- ("librsvg" ,librsvg)
- ("json-glib" ,json-glib)
- ("freeimage" ,freeimage)))
+ ("sqlite" ,sqlite)))
(home-page "https://www.darktable.org")
(synopsis "Virtual lighttable and darkroom for photographers")
(description "Darktable is a photography workflow application and RAW
@@ -520,6 +564,51 @@ them through a zoomable lighttable and enables you to develop raw images
and enhance them.")
;; See src/is_supported_platform.h for supported platforms.
(supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"))
+ (license (list license:gpl3+ ;; Darktable itself.
+ license:lgpl2.1+)))) ;; Rawspeed library.
+
+(define-public photoflare
+ (package
+ (name "photoflare")
+ (version "1.6.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/photoflare/photoflare")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0a394324h7ds567z3i3pw6kkii78n4qwdn129kgkkm996yh03q89"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ;no tests
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((magickpp (assoc-ref inputs "graphicsmagick"))
+ (out (assoc-ref outputs "out")))
+ (invoke "qmake"
+ (string-append "INCLUDEPATH += " magickpp
+ "/include/GraphicsMagick")
+ (string-append "PREFIX=" out)
+ "Photoflare.pro")))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("qttools" ,qttools)))
+ (inputs
+ `(("graphicsmagick" ,graphicsmagick)
+ ("libomp" ,libomp)
+ ("qtbase" ,qtbase)))
+ (home-page "https://photoflare.io")
+ (synopsis "Quick, simple but powerful image editor")
+ (description "Photoflare is a cross-platform image editor with an aim
+to balance between powerful features and a very friendly graphical user
+interface. It suits a wide variety of different tasks and users who value a
+more nimble workflow. Features include basic image editing capabilities,
+paint brushes, image filters, colour adjustments and more advanced features
+such as Batch image processing.")
(license license:gpl3+)))
(define-public hugin