Hello,

the attached patch is not quite finished yet. The program starts, loads
pictures, and creates control points for combining them into a panorama,
but then crashes when starting the process.

A call to "strace -f" ends with the following lines:
3953  futex(0x7f2020e51b68, FUTEX_WAKE_PRIVATE, 2147483647 <unfinished ...>
3992  <... read resumed> "\1\0\0\0\0\0\0\0", 16) = 8
3953  <... futex resumed> )             = 0
4000  <... sendmsg resumed> )           = 128
3953  futex(0x7f2020e51b68, FUTEX_WAKE_PRIVATE, 2147483647 <unfinished ...>
3992  poll([{fd=13, events=POLLIN}], 1, 25000 <unfinished ...>
3953  <... futex resumed> )             = 0
4000  poll([{fd=11, events=POLLIN}, {fd=12, events=POLLIN}], 2, 4294967295 
<unfinished ...>
3953  futex(0x7f2020e51b68, FUTEX_WAKE_PRIVATE, 2147483647) = 0
3953  
open("/home/privat/.guix-profile/share/glib-2.0/schemas/gschemas.compiled", 
O_RDONLY) = -1 ENOENT (No such file or directory)
3953  futex(0x7f2020e51b68, FUTEX_WAKE_PRIVATE, 2147483647) = 0
3953  write(2, "\n(hugin:3953): GLib-GIO-ERROR **: No GSettings schemas are 
installed on the system\n", 83) = 83
3953  --- SIGTRAP {si_signo=SIGTRAP, si_code=SI_KERNEL} ---
3991  <... futex resumed> )             = ? <unavailable>
3999  +++ killed by SIGTRAP +++
3997  +++ killed by SIGTRAP +++
3996  +++ killed by SIGTRAP +++

And indeed, $HOME/.guix-profile/share/glib-2.0/ does not exist.

The package uses cmake-build-system. Do we need to add a phase from the
glib-or-gtk-build-system?

Andreas

>From d24e504db381327e843773e9e17b45f1363362d3 Mon Sep 17 00:00:00 2001
From: Andreas Enge <[email protected]>
Date: Sat, 3 Oct 2015 16:28:41 +0200
Subject: [PATCH] gnu: Add hugin.

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

diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 6af4e4a..9ca4e7d 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -26,10 +26,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 databases)
+  #:use-module (gnu packages geeqie)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages graphics)
@@ -42,8 +46,10 @@
   #:use-module (gnu packages popt)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages web)
+  #:use-module (gnu packages wxwidgets)
   #:use-module (gnu packages xfig)
-  #:use-module (gnu packages xml))
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg))
 
 (define-public libraw
   (package
@@ -258,3 +264,63 @@ overlapping images, as well as some command line tools.")
 multi-resolution spline.  Enfuse merges different exposures of the same
 scene to produce an image that looks much like a tone-mapped image.")
     (license license:gpl2+)))
+
+(define-public hugin
+  (package
+    (name "hugin")
+    (version "2015.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/hugin/hugin/hugin-"
+                                  (version-major+minor version)
+                                  "/hugin-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "1gfblax9rxay8xskz5r8bips4nfh70vkyrb8ksgl6pg91c8krn9c"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("gettext" ,gnu-gettext)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("boost" ,boost)
+       ("exiv2" ,exiv2)
+       ("fftw" ,fftw)
+       ("flann" ,flann)
+       ("freeglut" ,freeglut)
+       ("glew" ,glew)
+       ("ilmbase" ,ilmbase) ; propagated by openexr, but needed explicitly
+                            ; to create a configure-flag
+       ("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 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")))
+    (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.5.0

Reply via email to