[PATCH] Add hugin.

  • Done
  • quality assurance status badge
Details
2 participants
  • Andreas Enge
  • Ludovic Courtès
Owner
unassigned
Submitted by
Andreas Enge
Severity
normal

Debbugs page

Andreas Enge wrote 8 years ago
(address . guix-patches@gnu.org)
20170528181913.GA9008@jurong
Hello,

the attached patch adds hugin, a tool for combining several photos into a
panorama. It works on an example.

Comments are welcome.

Andreas
From fb114699c4c8058f12614524144ef0a03467669c Mon Sep 17 00:00:00 2001
From: Andreas Enge <andreas@enge.fr>
Date: Sun, 28 May 2017 20:08:15 +0200
Subject: [PATCH] gnu: Add hugin.

* gnu/packages/photo.scm (hugin): New variable.
---
gnu/packages/photo.scm | 77 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 76 insertions(+), 1 deletion(-)

Toggle diff (115 lines)
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index b68aea9d7..cb6ce7ad6 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 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))
(define-public libraw
@@ -374,3 +378,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") "\")"))))))
+ ))
+ (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+)))
+
--
2.13.0
Ludovic Courtès wrote 8 years ago
(name . Andreas Enge)(address . andreas@enge.fr)(address . 27118@debbugs.gnu.org)
87h9037h5j.fsf@gnu.org
Andreas Enge <andreas@enge.fr> skribis:

Toggle quote (7 lines)
> From fb114699c4c8058f12614524144ef0a03467669c Mon Sep 17 00:00:00 2001
> From: Andreas Enge <andreas@enge.fr>
> Date: Sun, 28 May 2017 20:08:15 +0200
> Subject: [PATCH] gnu: Add hugin.
>
> * gnu/packages/photo.scm (hugin): New variable.

[...]

Toggle quote (10 lines)
> + (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") "\")"))))))
> + ))

‘guix lint’ should complain about these hanging parentheses. :-)

Apart from that it LGTM. Thank you!

Ludo’.
Ludovic Courtès wrote 8 years ago
(name . Andreas Enge)(address . andreas@enge.fr)(address . 27118-done@debbugs.gnu.org)
878tkh9iqw.fsf@gnu.org
Hi!

Since I needed it I thought I’d commit it myself. Done! :-)

Thanks,
Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 27118@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 27118
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help