summary refs log tree commit diff
path: root/gnu/packages/photo.scm
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2017-05-28 20:08:15 +0200
committerLudovic Courtès <ludo@gnu.org>2017-06-24 23:28:23 +0200
commit1d093724b1b58698e066ec983e1e766c144719ef (patch)
tree97e724a3ef0692449e1e2e76be953d991783cc94 /gnu/packages/photo.scm
parent6e13e2bd01bb69b62abd8fa6b1de885132850c26 (diff)
downloadguix-1d093724b1b58698e066ec983e1e766c144719ef.tar.gz
gnu: Add hugin.
* gnu/packages/photo.scm (hugin): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/photo.scm')
-rw-r--r--gnu/packages/photo.scm77
1 files changed, 76 insertions, 1 deletions
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 <ludo@gnu.org>
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015, 2017 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
 ;;;
@@ -28,12 +28,14 @@
   #: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 @@
   #: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 @@ 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.")
     (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+)))
+