gnu: python-pandas: Fix build on 32-bit.
[jackhill/guix/guix.git] / gnu / packages / photo.scm
CommitLineData
9208d0c1 1;;; GNU Guix --- Functional package management for GNU
3246cc91 2;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
d9cef612 3;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
341f4965 4;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
d16479c5 5;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
9208d0c1
LC
6;;;
7;;; This file is part of GNU Guix.
8;;;
9;;; GNU Guix is free software; you can redistribute it and/or modify it
10;;; under the terms of the GNU General Public License as published by
11;;; the Free Software Foundation; either version 3 of the License, or (at
12;;; your option) any later version.
13;;;
14;;; GNU Guix is distributed in the hope that it will be useful, but
15;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17;;; GNU General Public License for more details.
18;;;
19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21
22(define-module (gnu packages photo)
0e6412c1 23 #:use-module (guix build-system cmake)
9208d0c1 24 #:use-module (guix build-system gnu)
b138ec94 25 #:use-module (guix build-system perl)
f0644195
AE
26 #:use-module (guix download)
27 #:use-module ((guix licenses) #:prefix license:)
28 #:use-module (guix packages)
8957241d 29 #:use-module (guix utils)
9208d0c1 30 #:use-module (gnu packages autotools)
f0644195 31 #:use-module (gnu packages base)
8957241d 32 #:use-module (gnu packages boost)
0e6412c1 33 #:use-module (gnu packages compression)
8957241d
AE
34 #:use-module (gnu packages ghostscript)
35 #:use-module (gnu packages gl)
36 #:use-module (gnu packages graphics)
0e6412c1 37 #:use-module (gnu packages image)
8957241d 38 #:use-module (gnu packages imagemagick)
f0644195 39 #:use-module (gnu packages libusb)
d16479c5 40 #:use-module (gnu packages man)
8957241d 41 #:use-module (gnu packages maths)
b138ec94 42 #:use-module (gnu packages perl)
f0644195
AE
43 #:use-module (gnu packages pkg-config)
44 #:use-module (gnu packages popt)
8957241d 45 #:use-module (gnu packages readline)
8f9ac901 46 #:use-module (gnu packages tex)
8957241d
AE
47 #:use-module (gnu packages web)
48 #:use-module (gnu packages xfig)
49 #:use-module (gnu packages xml))
9208d0c1 50
d9cef612
RW
51(define-public libraw
52 (package
53 (name "libraw")
b280e67c 54 (version "0.17.2")
d9cef612
RW
55 (source (origin
56 (method url-fetch)
57 (uri (string-append "http://www.libraw.org/data/LibRaw-"
58 version ".tar.gz"))
59 (sha256
60 (base32
b280e67c 61 "0p6imxpsfn82i0i9w27fnzq6q6gwzvb9f7sygqqakv36fqnc9c4j"))))
d9cef612
RW
62 (build-system gnu-build-system)
63 (home-page "http://www.libraw.org")
64 (synopsis "Raw image decoder")
65 (description
66 "LibRaw is a library for reading RAW files obtained from digital photo
67cameras (CRW/CR2, NEF, RAF, DNG, and others).")
341f4965 68 (license license:lgpl2.1+)))
d9cef612 69
9208d0c1
LC
70(define-public libexif
71 (package
72 (name "libexif")
73 (version "0.6.21")
74 (source (origin
75 (method url-fetch)
de67e922
LF
76 (uri (string-append "mirror://sourceforge/libexif/libexif/"
77 version "/libexif-" version ".tar.bz2"))
9208d0c1
LC
78 (sha256
79 (base32
80 "06nlsibr3ylfwp28w8f5466l6drgrnydgxrm4jmxzrmk5svaxk8n"))))
81 (build-system gnu-build-system)
82 (home-page "http://libexif.sourceforge.net/")
83 (synopsis "Read and manipulate EXIF data in digital photographs")
84 (description
85 "The libexif C library allows applications to read, edit, and save EXIF
86data as produced by digital cameras.")
341f4965 87 (license license:lgpl2.1+)))
9208d0c1
LC
88
89(define-public libgphoto2
90 (package
91 (name "libgphoto2")
69874f5f 92 (version "2.5.11")
9208d0c1
LC
93 (source (origin
94 (method url-fetch)
de67e922
LF
95 (uri (string-append "mirror://sourceforge/gphoto/libgphoto/"
96 version "/libgphoto2-" version ".tar.bz2"))
9208d0c1
LC
97 (sha256
98 (base32
69874f5f 99 "1ap070zz6l4kn2mbyxb1yj4x5ar8hpdbmf2pvjxgnly1ss319dkz"))))
9208d0c1
LC
100 (build-system gnu-build-system)
101 (native-inputs `(("pkg-config" ,pkg-config)))
102 (inputs
7e49a851 103 `(("libjpeg-turbo" ,libjpeg-turbo)
3246cc91 104 ("libltdl" ,libltdl)
d32f4800
TGR
105 ("libusb" ,libusb)
106 ("libxml2" ,libxml2)))
9208d0c1
LC
107 (propagated-inputs
108 `(;; The .pc refers to libexif.
109 ("libexif" ,libexif)))
110 (home-page "http://www.gphoto.org/proj/libgphoto2/")
111 (synopsis "Accessing digital cameras")
112 (description
113 "This is the library backend for gphoto2. It contains the code for PTP,
114MTP, and other vendor specific protocols for controlling and transferring data
115from digital cameras.")
116
117 ;; 'COPYING' says LGPLv2.1+, but in practices files are under LGPLv2+.
341f4965 118 (license license:lgpl2.1+)))
9208d0c1
LC
119
120(define-public gphoto2
121 (package
122 (name "gphoto2")
f6c44a3f 123 (version "2.5.11")
9208d0c1
LC
124 (source (origin
125 (method url-fetch)
de67e922
LF
126 (uri (string-append "mirror://sourceforge/gphoto/gphoto/" version
127 "/gphoto2-" version ".tar.bz2"))
9208d0c1
LC
128 (sha256
129 (base32
f6c44a3f 130 "1sgr6rsvzzagcwhc8fxbnvz3k02wr2hab0vrbvcb04k5l3b48a1r"))))
9208d0c1
LC
131 (build-system gnu-build-system)
132 (native-inputs
133 `(("pkg-config" ,pkg-config)))
134 (inputs
135 `(("readline" ,readline)
7e49a851 136 ("libjpeg-turbo" ,libjpeg-turbo)
9208d0c1
LC
137 ("popt" ,popt)
138 ("libexif" ,libexif)
139 ("libgphoto2" ,libgphoto2)))
140 (arguments
141 '(#:phases (alist-cons-before
142 'check 'pre-check
143 (lambda* (#:key inputs #:allow-other-keys)
144 (substitute* (find-files "tests/data" "\\.param$")
145 (("/usr/bin/env")
146 (which "env"))))
147 %standard-phases)
148
149 ;; FIXME: There are 2 test failures, most likely related to the build
150 ;; environment.
151 #:tests? #f))
152
153 (home-page "http://www.gphoto.org/")
154 (synopsis "Command-line tools to access digital cameras")
155 (description
156 "Gphoto2 is a set of command line utilities for manipulating a large
157number of different digital cameras. Through libgphoto2, it supports PTP,
158MTP, and much more.")
159
160 ;; Files are typically under LGPLv2+, but 'COPYING' says GPLv2+.
341f4965 161 (license license:gpl2+)))
b138ec94
LC
162
163(define-public perl-image-exiftool
164 (package
165 (name "perl-image-exiftool")
ae6591ef 166 (version "10.40")
b138ec94
LC
167 (source (origin
168 (method url-fetch)
169 (uri (string-append
170 "mirror://cpan/authors/id/E/EX/EXIFTOOL/Image-ExifTool-"
171 version ".tar.gz"))
172 (sha256
173 (base32
ae6591ef 174 "1p05d9k94win8a24cr7lsllb6wjl3dagsmdbcxzv6f68z7i1jdly"))))
b138ec94
LC
175 (build-system perl-build-system)
176 (arguments
177 '(#:phases (alist-cons-after
178 'install 'post-install
179 (lambda* (#:key outputs #:allow-other-keys)
180 ;; Make sure the 'exiftool' commands finds the library.
181 ;; XXX: Shouldn't it be handled by PERL-BUILD-SYSTEM?
182 (let* ((out (assoc-ref outputs "out"))
183 (pm (find-files out "^ExifTool\\.pm$"))
184 (lib (dirname (dirname (car pm)))))
185 (wrap-program (string-append out "/bin/exiftool")
186 `("PERL5LIB" prefix (,lib)))))
187 %standard-phases)))
67abcc05 188 (home-page "http://search.cpan.org/dist/Image-ExifTool")
ae6591ef
LF
189 (synopsis "Program and Perl library to manipulate EXIF and other metadata")
190 (description "This package provides the @code{exiftool} command and the
191@code{Image::ExifTool} Perl library to manipulate EXIF tags of digital images
192and a wide variety of other metadata.")
b138ec94 193 (license (package-license perl))))
0e6412c1
AE
194
195(define-public libpano13
196 (package
197 (name "libpano13")
198 (version "2.9.19")
199 (source (origin
200 (method url-fetch)
201 (uri (string-append "mirror://sourceforge/panotools/libpano13/"
202 "libpano13-" version "/"
203 "libpano13-" version ".tar.gz"))
204 (sha256
205 (base32
206 "1a4m3plmfcrrplqs9zfzhc5apibn10m5sajpizm1sd3q74w5fwq3"))))
207 (build-system cmake-build-system)
208 (inputs
209 `(("libjpeg" ,libjpeg)
210 ("libpng" ,libpng)
211 ("libtiff" ,libtiff)
212 ("zlib" ,zlib)))
213 (home-page "http://panotools.sourceforge.net/")
214 (synopsis "Library for panoramic images")
215 (description
216 "The libpano13 package contains the backend library written by the
217Panorama Tools project for building panoramic images from a set of
218overlapping images, as well as some command line tools.")
219 (license license:gpl2+)))
8957241d
AE
220
221(define-public enblend-enfuse
222 (package
223 (name "enblend-enfuse")
d16479c5 224 (version "4.2")
8957241d
AE
225 (source (origin
226 (method url-fetch)
227 (uri (string-append "mirror://sourceforge/enblend/"
228 name "/"
229 name "-" (version-major+minor version) "/"
230 name "-" version ".tar.gz"))
231 (sha256
232 (base32
d16479c5 233 "0j5x011ilalb47ssah50ag0a4phgh1b0wdgxdbbp1gcyjcjf60w7"))))
8957241d
AE
234 (build-system gnu-build-system)
235 (native-inputs
236 `(("pkg-config" ,pkg-config)
237 ("perl" ,perl)
238 ("perl-timedate" ,perl-timedate)
239 ;; for building the documentation
240 ("gnuplot" ,gnuplot)
d16479c5 241 ("help2man" ,help2man)
8957241d
AE
242 ("imagemagick" ,imagemagick)
243 ("libxml2" ,libxml2)
d16479c5 244 ("texlive-minimal" ,texlive-minimal)
8957241d
AE
245 ("tidy" ,tidy)
246 ("transfig" ,transfig)))
247 (inputs
248 `(("boost" ,boost)
249 ("gsl" ,gsl)
250 ("lcms" ,lcms)
251 ("libjpeg" ,libjpeg)
252 ("libpng" ,libpng)
253 ("libtiff" ,libtiff)
254 ("openexr" ,openexr)
255 ("vigra" ,vigra)
256 ("zlib" ,zlib)))
257 (arguments
258 `(#:configure-flags `("--enable-openmp")))
259 (home-page "http://enblend.sourceforge.net/")
260 (synopsis "Tools for combining and blending images")
261 (description
262 "Enblend blends away the seams in a panoramic image mosaic using a
263multi-resolution spline. Enfuse merges different exposures of the same
264scene to produce an image that looks much like a tone-mapped image.")
265 (license license:gpl2+)))