Commit | Line | Data |
---|---|---|
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 | |
67 | cameras (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 | |
86 | data as produced by digital cameras.") | |
341f4965 | 87 | (license license:lgpl2.1+))) |
9208d0c1 LC |
88 | |
89 | (define-public libgphoto2 | |
90 | (package | |
91 | (name "libgphoto2") | |
35c0ad44 | 92 | (version "2.5.10") |
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 | |
35c0ad44 | 99 | "1wjf79ipqwb5phfjjwf15rwgigakylnfqaj4crs5qnds6ba6i1ld")))) |
9208d0c1 LC |
100 | (build-system gnu-build-system) |
101 | (native-inputs `(("pkg-config" ,pkg-config))) | |
102 | (inputs | |
103 | `(;; ("libjpeg-turbo" ,libjpeg-turbo) | |
3246cc91 | 104 | ("libltdl" ,libltdl) |
9208d0c1 LC |
105 | ("libusb" ,libusb))) |
106 | (propagated-inputs | |
107 | `(;; The .pc refers to libexif. | |
108 | ("libexif" ,libexif))) | |
109 | (home-page "http://www.gphoto.org/proj/libgphoto2/") | |
110 | (synopsis "Accessing digital cameras") | |
111 | (description | |
112 | "This is the library backend for gphoto2. It contains the code for PTP, | |
113 | MTP, and other vendor specific protocols for controlling and transferring data | |
114 | from digital cameras.") | |
115 | ||
116 | ;; 'COPYING' says LGPLv2.1+, but in practices files are under LGPLv2+. | |
341f4965 | 117 | (license license:lgpl2.1+))) |
9208d0c1 LC |
118 | |
119 | (define-public gphoto2 | |
120 | (package | |
121 | (name "gphoto2") | |
9dcc9bbf | 122 | (version "2.5.10") |
9208d0c1 LC |
123 | (source (origin |
124 | (method url-fetch) | |
de67e922 LF |
125 | (uri (string-append "mirror://sourceforge/gphoto/gphoto/" version |
126 | "/gphoto2-" version ".tar.bz2")) | |
9208d0c1 LC |
127 | (sha256 |
128 | (base32 | |
9dcc9bbf | 129 | "1436i2chc1xzq1bng48yx52kgqjqbaashij52sifbdslbm9jzk36")))) |
9208d0c1 LC |
130 | (build-system gnu-build-system) |
131 | (native-inputs | |
132 | `(("pkg-config" ,pkg-config))) | |
133 | (inputs | |
134 | `(("readline" ,readline) | |
135 | ;; ("libjpeg-turbo" ,libjpeg-turbo) | |
136 | ("popt" ,popt) | |
137 | ("libexif" ,libexif) | |
138 | ("libgphoto2" ,libgphoto2))) | |
139 | (arguments | |
140 | '(#:phases (alist-cons-before | |
141 | 'check 'pre-check | |
142 | (lambda* (#:key inputs #:allow-other-keys) | |
143 | (substitute* (find-files "tests/data" "\\.param$") | |
144 | (("/usr/bin/env") | |
145 | (which "env")))) | |
146 | %standard-phases) | |
147 | ||
148 | ;; FIXME: There are 2 test failures, most likely related to the build | |
149 | ;; environment. | |
150 | #:tests? #f)) | |
151 | ||
152 | (home-page "http://www.gphoto.org/") | |
153 | (synopsis "Command-line tools to access digital cameras") | |
154 | (description | |
155 | "Gphoto2 is a set of command line utilities for manipulating a large | |
156 | number of different digital cameras. Through libgphoto2, it supports PTP, | |
157 | MTP, and much more.") | |
158 | ||
159 | ;; Files are typically under LGPLv2+, but 'COPYING' says GPLv2+. | |
341f4965 | 160 | (license license:gpl2+))) |
b138ec94 LC |
161 | |
162 | (define-public perl-image-exiftool | |
163 | (package | |
164 | (name "perl-image-exiftool") | |
67abcc05 | 165 | (version "10.20") |
b138ec94 LC |
166 | (source (origin |
167 | (method url-fetch) | |
168 | (uri (string-append | |
169 | "mirror://cpan/authors/id/E/EX/EXIFTOOL/Image-ExifTool-" | |
170 | version ".tar.gz")) | |
171 | (sha256 | |
172 | (base32 | |
67abcc05 | 173 | "0akdnxvb23ibcwa63ncibaj5m5k56cb34x8gy90z9lqcjl0f4sph")))) |
b138ec94 LC |
174 | (build-system perl-build-system) |
175 | (arguments | |
176 | '(#:phases (alist-cons-after | |
177 | 'install 'post-install | |
178 | (lambda* (#:key outputs #:allow-other-keys) | |
179 | ;; Make sure the 'exiftool' commands finds the library. | |
180 | ;; XXX: Shouldn't it be handled by PERL-BUILD-SYSTEM? | |
181 | (let* ((out (assoc-ref outputs "out")) | |
182 | (pm (find-files out "^ExifTool\\.pm$")) | |
183 | (lib (dirname (dirname (car pm))))) | |
184 | (wrap-program (string-append out "/bin/exiftool") | |
185 | `("PERL5LIB" prefix (,lib))))) | |
186 | %standard-phases))) | |
67abcc05 | 187 | (home-page "http://search.cpan.org/dist/Image-ExifTool") |
b138ec94 LC |
188 | (synopsis "Program and Perl library to manipulate EXIF tags") |
189 | (description | |
190 | "This package provides the 'exiftool' command and the 'Image::ExifTool' | |
191 | Perl library to manipulate EXIF tags of digital images.") | |
192 | (license (package-license perl)))) | |
0e6412c1 AE |
193 | |
194 | (define-public libpano13 | |
195 | (package | |
196 | (name "libpano13") | |
197 | (version "2.9.19") | |
198 | (source (origin | |
199 | (method url-fetch) | |
200 | (uri (string-append "mirror://sourceforge/panotools/libpano13/" | |
201 | "libpano13-" version "/" | |
202 | "libpano13-" version ".tar.gz")) | |
203 | (sha256 | |
204 | (base32 | |
205 | "1a4m3plmfcrrplqs9zfzhc5apibn10m5sajpizm1sd3q74w5fwq3")))) | |
206 | (build-system cmake-build-system) | |
207 | (inputs | |
208 | `(("libjpeg" ,libjpeg) | |
209 | ("libpng" ,libpng) | |
210 | ("libtiff" ,libtiff) | |
211 | ("zlib" ,zlib))) | |
212 | (home-page "http://panotools.sourceforge.net/") | |
213 | (synopsis "Library for panoramic images") | |
214 | (description | |
215 | "The libpano13 package contains the backend library written by the | |
216 | Panorama Tools project for building panoramic images from a set of | |
217 | overlapping images, as well as some command line tools.") | |
218 | (license license:gpl2+))) | |
8957241d AE |
219 | |
220 | (define-public enblend-enfuse | |
221 | (package | |
222 | (name "enblend-enfuse") | |
d16479c5 | 223 | (version "4.2") |
8957241d AE |
224 | (source (origin |
225 | (method url-fetch) | |
226 | (uri (string-append "mirror://sourceforge/enblend/" | |
227 | name "/" | |
228 | name "-" (version-major+minor version) "/" | |
229 | name "-" version ".tar.gz")) | |
230 | (sha256 | |
231 | (base32 | |
d16479c5 | 232 | "0j5x011ilalb47ssah50ag0a4phgh1b0wdgxdbbp1gcyjcjf60w7")))) |
8957241d AE |
233 | (build-system gnu-build-system) |
234 | (native-inputs | |
235 | `(("pkg-config" ,pkg-config) | |
236 | ("perl" ,perl) | |
237 | ("perl-timedate" ,perl-timedate) | |
238 | ;; for building the documentation | |
239 | ("gnuplot" ,gnuplot) | |
d16479c5 | 240 | ("help2man" ,help2man) |
8957241d AE |
241 | ("imagemagick" ,imagemagick) |
242 | ("libxml2" ,libxml2) | |
d16479c5 | 243 | ("texlive-minimal" ,texlive-minimal) |
8957241d AE |
244 | ("tidy" ,tidy) |
245 | ("transfig" ,transfig))) | |
246 | (inputs | |
247 | `(("boost" ,boost) | |
248 | ("gsl" ,gsl) | |
249 | ("lcms" ,lcms) | |
250 | ("libjpeg" ,libjpeg) | |
251 | ("libpng" ,libpng) | |
252 | ("libtiff" ,libtiff) | |
253 | ("openexr" ,openexr) | |
254 | ("vigra" ,vigra) | |
255 | ("zlib" ,zlib))) | |
256 | (arguments | |
257 | `(#:configure-flags `("--enable-openmp"))) | |
258 | (home-page "http://enblend.sourceforge.net/") | |
259 | (synopsis "Tools for combining and blending images") | |
260 | (description | |
261 | "Enblend blends away the seams in a panoramic image mosaic using a | |
262 | multi-resolution spline. Enfuse merges different exposures of the same | |
263 | scene to produce an image that looks much like a tone-mapped image.") | |
264 | (license license:gpl2+))) |