From e79bfa181a91f15e93d7de6bd8691e4b77fbe678 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 11 Apr 2017 15:37:48 +0200 Subject: [PATCH] gnu: Add Luminance HDR. * gnu/packages/image-viewers.scm (luminance-hdr): New variable. * gnu/packages/patches/luminance-hdr-qt-printer.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/image-viewers.scm | 74 ++++++++++++++++++- .../patches/luminance-hdr-qt-printer.patch | 28 +++++++ 3 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/luminance-hdr-qt-printer.patch diff --git a/gnu/local.mk b/gnu/local.mk index d755d8248e..f3a4e54afa 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -757,6 +757,7 @@ dist_patch_DATA = \ %D%/packages/patches/luajit-no_ldconfig.patch \ %D%/packages/patches/luajit-symlinks.patch \ %D%/packages/patches/luit-posix.patch \ + %D%/packages/patches/luminance-hdr-qt-printer.patch \ %D%/packages/patches/lvm2-static-link.patch \ %D%/packages/patches/lxsession-use-gapplication.patch \ %D%/packages/patches/lz4-fix-test-failures.patch \ diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index a7e108a292..830ce10ea6 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès +;;; Copyright © 2013, 2017 Ludovic Courtès ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2015, 2016 Alex Kost ;;; Copyright © 2016 Efraim Flashner @@ -29,17 +29,24 @@ (define-module (gnu packages image-viewers) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (gnu packages autotools) + #:use-module (gnu packages algebra) #:use-module (gnu packages base) + #:use-module (gnu packages boost) + #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages ghostscript) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) + #:use-module (gnu packages graphics) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages maths) #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages qt) + #:use-module (gnu packages xorg) + #:use-module (gnu packages)) (define-public feh (package @@ -290,3 +297,66 @@ (define-public catimg "Catimg is a little program that prints images in the terminal. It supports JPEG, PNG and GIF formats.") (license license:expat))) + +(define-public luminance-hdr + (package + (name "luminance-hdr") + (version "2.4.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/qtpfsgui/luminance/" + version "/luminance-hdr-" version ".tar.bz2")) + (sha256 + (base32 + "00fldbcizrx8jcnjgq74n3zmbm27dxzl96fxa7q49689mfnlw08l")) + (patches (search-patches "luminance-hdr-qt-printer.patch")))) + (build-system cmake-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools))) + (inputs + `(("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtwebkit" ,qtwebkit) + ("boost" ,boost) + ;; ("gtest" ,gtest) + ("libraw" ,libraw) + ("zlib" ,zlib) + ("exiv2" ,exiv2) + ("libpng" ,libpng) + ("libjpeg" ,libjpeg) + ("lcms" ,lcms) + ("openexr" ,openexr) + ("fftw" ,fftwf) + ("gsl" ,gsl) + ("libtiff" ,libtiff))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'set-paths 'add-ilmbase-include-path + (lambda* (#:key inputs #:allow-other-keys) + ;; 'OpenEXR.pc' has a -I for IlmBase but 'FindOpenEXR.cmake' does + ;; not use 'OpenEXR.pc'. Thus, we need to add + ;; "$ilmbase/include/OpenEXR/" to the CPATH. + (setenv "CPATH" + (string-append (assoc-ref inputs "ilmbase") + "/include/OpenEXR" + ":" (or (getenv "CPATH") ""))) + #t))))) + (home-page "http://qtpfsgui.sourceforge.net") + (synopsis "High dynamic range (HDR) imaging application") + (description + "Luminance HDR (formerly QtPFSGui) is a graphical user interface +application that aims to provide a workflow for high dynamic range (HDR) +imaging. It supports several HDR and LDR image formats, and it can: + +@itemize +@item Create an HDR file from a set of images (formats: JPEG, TIFF 8bit and +16bit, RAW) of the same scene taken at different exposure setting; +@item Save load HDR images; +@item Rotate, resize and crop HDR images; +@item Tone-map HDR images; +@item Copy EXIF data between sets of images. +@end itemize\n") + (license license:gpl2+))) diff --git a/gnu/packages/patches/luminance-hdr-qt-printer.patch b/gnu/packages/patches/luminance-hdr-qt-printer.patch new file mode 100644 index 0000000000..c65f9537cd --- /dev/null +++ b/gnu/packages/patches/luminance-hdr-qt-printer.patch @@ -0,0 +1,28 @@ +Allow the 'QtPrinter' header to be found, as described +at . + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fbad8a2..8379c8a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -29,6 +29,7 @@ find_package(Qt5Xml) + find_package(Qt5Sql) + find_package(Qt5Network) + find_package(Qt5LinguistTools) ++find_package(Qt5PrintSupport REQUIRED) + IF(WIN32) + find_package(Qt5WinExtras) + ENDIF() +diff --git a/src/HelpBrowser/CMakeLists.txt b/src/HelpBrowser/CMakeLists.txt +index 04319a8..5537dae 100644 +--- a/src/HelpBrowser/CMakeLists.txt ++++ b/src/HelpBrowser/CMakeLists.txt +@@ -29,7 +29,7 @@ QT5_WRAP_UI(FILES_UI_H ${FILES_UI}) + + + ADD_LIBRARY(helpbrowser ${FILES_H} ${FILES_CPP} ${FILES_MOC} ${FILES_UI_H} ${FILES_HXX}) +-qt5_use_modules(helpbrowser Core Concurrent Gui Widgets Xml WebKit WebKitWidgets) ++qt5_use_modules(helpbrowser Core Concurrent Gui Widgets Xml WebKit WebKitWidgets PrintSupport) + + SET(FILES_TO_TRANSLATE ${FILES_TO_TRANSLATE} ${FILES_CPP} ${FILES_H} ${FILES_UI} ${FILES_HXX} PARENT_SCOPE) + SET(LUMINANCE_MODULES_GUI ${LUMINANCE_MODULES_GUI} helpbrowser PARENT_SCOPE)