+
+(define-public darktable
+ (package
+ (name "darktable")
+ (version "2.4.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/darktable-org/darktable/releases/"
+ "download/release-"
+ version "/darktable-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0y0q7a7k09sbg05k5xl1lz8n2ak1v8yarfv222ksvmbrxs53hdwx"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; There are no tests.
+ #:configure-flags '("-DBINARY_PACKAGE_BUILD=On")
+ #:make-flags
+ (list
+ (string-append "CPATH=" (assoc-ref %build-inputs "ilmbase")
+ "/include/OpenEXR:" (or (getenv "CPATH") "")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'set-ldflags
+ (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "LDFLAGS"
+ (string-append
+ "-Wl,-rpath="
+ (assoc-ref outputs "out") "/lib/darktable"))
+ #t)))))
+ (native-inputs
+ `(("llvm" ,llvm-3.9.1)
+ ("clang" ,clang-3.9.1)))
+ (inputs
+ `(("libxslt" ,libxslt)
+ ("libxml2" ,libxml2)
+ ("pugixml" ,pugixml)
+ ("gtk+" ,gtk+)
+ ("sqlite" ,sqlite)
+ ("libjpeg" ,libjpeg)
+ ("libpng" ,libpng)
+ ("cairo" ,cairo)
+ ("lcms" ,lcms)
+ ("exiv2" ,exiv2)
+ ("libtiff" ,libtiff)
+ ("curl" ,curl)
+ ("libgphoto2" ,libgphoto2)
+ ("dbus-glib" ,dbus-glib)
+ ("openexr" ,openexr)
+ ("ilmbase" ,ilmbase)
+ ("libsoup" ,libsoup)
+ ("python-jsonschema" ,python-jsonschema)
+ ("intltool" ,intltool)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("libwebp" ,libwebp)
+ ("lensfun" ,lensfun)
+ ("librsvg" ,librsvg)
+ ("json-glib" ,json-glib)
+ ("freeimage" ,freeimage)))
+ (home-page "https://www.darktable.org")
+ (synopsis "Virtual lighttable and darkroom for photographers")
+ (description "Darktable is a photography workflow application and RAW
+developer. It manages your digital negatives in a database, lets you view
+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 license:gpl3+)))
+
+(define-public hugin
+ (package
+ (name "hugin")
+ (version "2016.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/hugin/hugin/hugin-"
+ (version-major+minor version)
+ "/hugin-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "058zd63vx29yrx2pphbbll7kzcxkai22q26lpw13rn4lvp41pasl"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("gettext" ,gnu-gettext)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("boost" ,boost)
+ ("enblend-enfuse" ,enblend-enfuse)
+ ("exiv2" ,exiv2)
+ ("fftw" ,fftw)
+ ("flann" ,flann)
+ ("freeglut" ,freeglut)
+ ("glew" ,glew)
+ ("lcms" ,lcms)
+ ("libjpeg" ,libjpeg)
+ ("libpano13" ,libpano13)
+ ("libpng" ,libpng)
+ ("libtiff" ,libtiff)
+ ("libxi" ,libxi)
+ ("libxmu" ,libxmu)
+ ("mesa" ,mesa)
+ ("openexr" ,openexr)
+ ("sqlite" ,sqlite)
+ ("vigra" ,vigra)
+ ("wxwidgets" ,wxwidgets)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:tests? #f ; no check target
+ #:configure-flags
+ (list
+ ;; The header files of ilmbase (propagated by openexr) are not found
+ ;; when included by the header files of openexr, and an explicit
+ ;; flag needs to be set.
+ (string-append "-DCMAKE_CXX_FLAGS=-I"
+ (assoc-ref %build-inputs "ilmbase")
+ "/include/OpenEXR")
+ ;; Disable installation of the Python scripting interface.
+ ;; It would require the additional inputs python and swig.
+ ;; Installation would need to be tweaked, as it tries to install
+ ;; into the python directory.
+ "-DBUILD_HSI=OFF")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'substitute
+ (lambda _
+ (substitute* "src/hugin1/base_wx/StitchingExecutor.cpp"
+ (("wxT\\(\"enblend\"\\)")
+ (string-append "wxT(\"" (which "enblend") "\")"))
+ (("wxT\\(\"enfuse\"\\)")
+ (string-append "wxT(\"" (which "enfuse") "\")")))
+ #t)))))
+ (home-page "http://hugin.sourceforge.net/")
+ (synopsis "Panorama photo stitcher")
+ (description
+ "Hugin is an easy to use panoramic imaging toolchain with a graphical
+user interface. It can be used to assemble a mosaic of photographs into
+a complete panorama and stitch any series of overlapping pictures.")
+ (license license:gpl2+)))
+
+(define-public rawtherapee
+ (package
+ (name "rawtherapee")
+ (version "5.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://rawtherapee.com/shared/source/"
+ "rawtherapee-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1y1ygxqmqfp4zg8rcgrlfdc1597cyr5zqgp5zjpldhvwdfa9r5cp"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:tests? #f ; no test suite
+ #:build-type "release"
+ #:configure-flags
+ (list (string-append "-DLENSFUNDBDIR="
+ (assoc-ref %build-inputs "lensfun")
+ "/share/lensfun")
+ ; Don't optimize the build for the host machine. See the file
+ ; 'ProcessorTargets.cmake' in the source distribution for more
+ ; information.
+ "-DPROC_TARGET_NUMBER=1"
+ ; These flags are recommended by upstream for distributed packages.
+ ; See the file 'RELEASE_NOTES.txt' in the source distribution.
+ "-O3"
+ "-DCACHE_NAME_SUFFIX=\"\"")))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("expat" ,expat)
+ ("fftw" ,fftwf)
+ ("glib" ,glib)
+ ("glibmm" ,glibmm)
+ ("gtk+" ,gtk+)
+ ("gtkmm" ,gtkmm)
+ ("lcms" ,lcms)
+ ("lensfun" ,lensfun)
+ ("libcanberra" ,libcanberra)
+ ("libiptcdata" ,libiptcdata)
+ ("libjpeg" ,libjpeg)
+ ("libpng" ,libpng)
+ ("libsigc++" ,libsigc++)
+ ("libtiff" ,libtiff)
+ ("zlib" ,zlib)))
+ (home-page "http://rawtherapee.com")
+ (synopsis "Raw image developing and processing")
+ (description "RawTherapee is a raw image processing suite. It comprises a
+subset of image editing operations specifically aimed at non-destructive raw
+photo post-production and is primarily focused on improving a photographer's
+workflow by facilitating the handling of large numbers of images. Most raw
+formats are supported, including Pentax Pixel Shift, Canon Dual-Pixel, and those
+from Foveon and X-Trans sensors.")
+ (license license:gpl3+)))