From 1d093724b1b58698e066ec983e1e766c144719ef Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 28 May 2017 20:08:15 +0200 Subject: [PATCH] gnu: Add hugin. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/photo.scm (hugin): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/photo.scm | 77 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 92513822ce..062f4b9d45 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Ludovic Courtès ;;; Copyright © 2015 Ricardo Wurmus -;;; Copyright © 2015 Andreas Enge +;;; Copyright © 2015, 2017 Andreas Enge ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2017 Roel Janssen ;;; @@ -28,12 +28,14 @@ (define-module (gnu packages photo) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) + #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages databases) + #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages gnome) @@ -53,7 +55,9 @@ (define-module (gnu packages photo) #:use-module (gnu packages readline) #:use-module (gnu packages tex) #:use-module (gnu packages web) + #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xfig) + #:use-module (gnu packages xorg) #:use-module (gnu packages xml) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26)) @@ -383,3 +387,74 @@ (define-public darktable them through a zoomable lighttable and enables you to develop raw images and enhance them.") (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+))) +