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