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") | |
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, | |
114 | MTP, and other vendor specific protocols for controlling and transferring data | |
115 | from 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 | |
157 | number of different digital cameras. Through libgphoto2, it supports PTP, | |
158 | MTP, 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 | |
192 | and 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 | |
217 | Panorama Tools project for building panoramic images from a set of | |
218 | overlapping 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 | |
263 | multi-resolution spline. Enfuse merges different exposures of the same | |
264 | scene to produce an image that looks much like a tone-mapped image.") | |
265 | (license license:gpl2+))) |