2014-01-15 22:47:55 +01:00
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
2017-11-22 10:25:32 +01:00
|
|
|
;;; Copyright © 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
|
2015-09-01 21:36:32 +02:00
|
|
|
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
2017-05-28 20:08:15 +02:00
|
|
|
;;; Copyright © 2015, 2017 Andreas Enge <andreas@enge.fr>
|
2018-07-15 21:58:41 +02:00
|
|
|
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
2017-03-08 23:49:24 +01:00
|
|
|
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
|
2018-01-12 14:45:41 +01:00
|
|
|
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
2018-02-26 23:01:54 +01:00
|
|
|
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
|
2014-01-15 22:47:55 +01:00
|
|
|
;;;
|
|
|
|
;;; This file is part of GNU Guix.
|
|
|
|
;;;
|
|
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
|
|
|
;;; under the terms of the GNU General Public License as published by
|
|
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
|
|
;;; your option) any later version.
|
|
|
|
;;;
|
|
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
|
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
;;; GNU General Public License for more details.
|
|
|
|
;;;
|
|
|
|
;;; You should have received a copy of the GNU General Public License
|
|
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
(define-module (gnu packages photo)
|
2015-09-05 18:41:27 +02:00
|
|
|
#:use-module (guix build-system cmake)
|
2014-01-15 22:47:55 +01:00
|
|
|
#:use-module (guix build-system gnu)
|
2014-11-08 22:24:08 +01:00
|
|
|
#:use-module (guix build-system perl)
|
2015-09-04 19:28:26 +02:00
|
|
|
#:use-module (guix download)
|
|
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
|
|
#:use-module (guix packages)
|
2015-09-06 23:12:51 +02:00
|
|
|
#:use-module (guix utils)
|
2017-12-21 08:55:44 +01:00
|
|
|
#:use-module (gnu packages)
|
2017-05-28 20:08:15 +02:00
|
|
|
#:use-module (gnu packages algebra)
|
2014-01-15 22:47:55 +01:00
|
|
|
#:use-module (gnu packages autotools)
|
2015-09-04 19:28:26 +02:00
|
|
|
#:use-module (gnu packages base)
|
2015-09-06 23:12:51 +02:00
|
|
|
#:use-module (gnu packages boost)
|
2015-09-05 18:41:27 +02:00
|
|
|
#:use-module (gnu packages compression)
|
2017-05-10 19:46:55 +02:00
|
|
|
#:use-module (gnu packages curl)
|
|
|
|
#:use-module (gnu packages databases)
|
2017-05-28 20:08:15 +02:00
|
|
|
#:use-module (gnu packages gettext)
|
2015-09-06 23:12:51 +02:00
|
|
|
#:use-module (gnu packages ghostscript)
|
|
|
|
#:use-module (gnu packages gl)
|
2017-05-10 19:46:55 +02:00
|
|
|
#:use-module (gnu packages gnome)
|
2017-03-08 23:49:24 +01:00
|
|
|
#:use-module (gnu packages glib)
|
2015-09-06 23:12:51 +02:00
|
|
|
#:use-module (gnu packages graphics)
|
2017-05-10 19:46:55 +02:00
|
|
|
#:use-module (gnu packages gtk)
|
2015-09-05 18:41:27 +02:00
|
|
|
#:use-module (gnu packages image)
|
2015-09-06 23:12:51 +02:00
|
|
|
#:use-module (gnu packages imagemagick)
|
2018-02-26 23:01:54 +01:00
|
|
|
#:use-module (gnu packages libcanberra)
|
2015-09-04 19:28:26 +02:00
|
|
|
#:use-module (gnu packages libusb)
|
2017-05-10 19:46:55 +02:00
|
|
|
#:use-module (gnu packages llvm)
|
2016-05-24 07:47:59 +02:00
|
|
|
#:use-module (gnu packages man)
|
2015-09-06 23:12:51 +02:00
|
|
|
#:use-module (gnu packages maths)
|
2014-11-08 22:24:08 +01:00
|
|
|
#:use-module (gnu packages perl)
|
2015-09-04 19:28:26 +02:00
|
|
|
#:use-module (gnu packages pkg-config)
|
|
|
|
#:use-module (gnu packages popt)
|
2017-05-10 19:46:55 +02:00
|
|
|
#:use-module (gnu packages python)
|
2015-09-06 23:12:51 +02:00
|
|
|
#:use-module (gnu packages readline)
|
2016-05-24 21:18:53 +02:00
|
|
|
#:use-module (gnu packages tex)
|
2015-09-06 23:12:51 +02:00
|
|
|
#:use-module (gnu packages web)
|
2017-05-28 20:08:15 +02:00
|
|
|
#:use-module (gnu packages wxwidgets)
|
2015-09-06 23:12:51 +02:00
|
|
|
#:use-module (gnu packages xfig)
|
2017-05-28 20:08:15 +02:00
|
|
|
#:use-module (gnu packages xorg)
|
2017-06-15 08:15:25 +02:00
|
|
|
#:use-module (gnu packages xml)
|
2017-11-22 10:25:32 +01:00
|
|
|
#:use-module ((srfi srfi-1) #:hide (zip))
|
2017-06-15 08:15:25 +02:00
|
|
|
#:use-module (srfi srfi-26))
|
2014-01-15 22:47:55 +01:00
|
|
|
|
2015-09-01 21:36:32 +02:00
|
|
|
(define-public libraw
|
|
|
|
(package
|
|
|
|
(name "libraw")
|
2018-07-01 16:32:30 +02:00
|
|
|
(version "0.19.0")
|
2015-09-01 21:36:32 +02:00
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
2017-08-22 15:54:29 +02:00
|
|
|
(uri (string-append "https://www.libraw.org/data/LibRaw-"
|
2015-09-01 21:36:32 +02:00
|
|
|
version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
2018-07-01 16:32:30 +02:00
|
|
|
"0nfj7s7qmgfy1cl8s3ck7dxjvprfq5glfi6iidmvmy8r7gl52gz8"))))
|
2015-09-01 21:36:32 +02:00
|
|
|
(build-system gnu-build-system)
|
2018-07-01 16:51:36 +02:00
|
|
|
(native-inputs
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
|
|
|
(inputs
|
2018-07-15 21:58:41 +02:00
|
|
|
`(("libjpeg" ,libjpeg))) ;for lossy DNGs and old Kodak cameras
|
2018-07-01 16:51:36 +02:00
|
|
|
(propagated-inputs
|
|
|
|
`(("lcms" ,lcms))) ;for color profiles
|
2017-08-22 15:54:29 +02:00
|
|
|
(home-page "https://www.libraw.org")
|
2015-09-01 21:36:32 +02:00
|
|
|
(synopsis "Raw image decoder")
|
|
|
|
(description
|
|
|
|
"LibRaw is a library for reading RAW files obtained from digital photo
|
|
|
|
cameras (CRW/CR2, NEF, RAF, DNG, and others).")
|
2018-07-01 16:37:29 +02:00
|
|
|
;; LibRaw is distributed under both LGPL2.1 and CDDL 1.0. From the README:
|
|
|
|
;; "You may use one of these licensing modes and switch between them. If
|
|
|
|
;; you modify LibRaw source and made your changes public, you should accept
|
|
|
|
;; both two licensing modes for your changes/additions."
|
|
|
|
(license (list license:lgpl2.1 license:cddl1.0))))
|
2015-09-01 21:36:32 +02:00
|
|
|
|
2018-08-28 07:02:59 +02:00
|
|
|
(define-public libraw-0.18
|
|
|
|
(package (inherit libraw)
|
|
|
|
(name "libraw")
|
|
|
|
(version "0.18.12")
|
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "https://www.libraw.org/data/LibRaw-"
|
|
|
|
version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"1m2khr2cij8z6lawgbmdksjn14fpnjsy8ad4qahnpqapm1slsxap"))))))
|
|
|
|
|
2014-01-15 22:47:55 +01:00
|
|
|
(define-public libexif
|
|
|
|
(package
|
|
|
|
(name "libexif")
|
|
|
|
(version "0.6.21")
|
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
2016-07-21 08:35:30 +02:00
|
|
|
(uri (string-append "mirror://sourceforge/libexif/libexif/"
|
|
|
|
version "/libexif-" version ".tar.bz2"))
|
2018-01-20 02:49:02 +01:00
|
|
|
(patches (search-patches "libexif-CVE-2016-6328.patch"
|
|
|
|
"libexif-CVE-2017-7544.patch"))
|
2014-01-15 22:47:55 +01:00
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"06nlsibr3ylfwp28w8f5466l6drgrnydgxrm4jmxzrmk5svaxk8n"))))
|
|
|
|
(build-system gnu-build-system)
|
2018-08-27 22:57:37 +02:00
|
|
|
(home-page "https://libexif.github.io/")
|
2014-01-15 22:47:55 +01:00
|
|
|
(synopsis "Read and manipulate EXIF data in digital photographs")
|
|
|
|
(description
|
|
|
|
"The libexif C library allows applications to read, edit, and save EXIF
|
|
|
|
data as produced by digital cameras.")
|
2015-09-04 19:26:07 +02:00
|
|
|
(license license:lgpl2.1+)))
|
2014-01-15 22:47:55 +01:00
|
|
|
|
|
|
|
(define-public libgphoto2
|
|
|
|
(package
|
|
|
|
(name "libgphoto2")
|
2018-10-20 17:24:34 +02:00
|
|
|
(version "2.5.19")
|
2014-01-15 22:47:55 +01:00
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
2016-07-21 08:35:30 +02:00
|
|
|
(uri (string-append "mirror://sourceforge/gphoto/libgphoto/"
|
|
|
|
version "/libgphoto2-" version ".tar.bz2"))
|
2014-01-15 22:47:55 +01:00
|
|
|
(sha256
|
|
|
|
(base32
|
2018-10-20 17:24:34 +02:00
|
|
|
"0qrcc6kajbfb237paxrl904vvwl7hd8mnqvjw00j6m5qwd93wlk2"))))
|
2014-01-15 22:47:55 +01:00
|
|
|
(build-system gnu-build-system)
|
|
|
|
(native-inputs `(("pkg-config" ,pkg-config)))
|
|
|
|
(inputs
|
2016-11-26 19:14:23 +01:00
|
|
|
`(("libjpeg-turbo" ,libjpeg-turbo)
|
2015-01-07 09:44:10 +01:00
|
|
|
("libltdl" ,libltdl)
|
2016-11-27 01:25:24 +01:00
|
|
|
("libusb" ,libusb)
|
|
|
|
("libxml2" ,libxml2)))
|
2014-01-15 22:47:55 +01:00
|
|
|
(propagated-inputs
|
|
|
|
`(;; The .pc refers to libexif.
|
|
|
|
("libexif" ,libexif)))
|
|
|
|
(home-page "http://www.gphoto.org/proj/libgphoto2/")
|
|
|
|
(synopsis "Accessing digital cameras")
|
|
|
|
(description
|
|
|
|
"This is the library backend for gphoto2. It contains the code for PTP,
|
|
|
|
MTP, and other vendor specific protocols for controlling and transferring data
|
|
|
|
from digital cameras.")
|
|
|
|
|
|
|
|
;; 'COPYING' says LGPLv2.1+, but in practices files are under LGPLv2+.
|
2015-09-04 19:26:07 +02:00
|
|
|
(license license:lgpl2.1+)))
|
2014-01-15 22:47:55 +01:00
|
|
|
|
|
|
|
(define-public gphoto2
|
|
|
|
(package
|
|
|
|
(name "gphoto2")
|
2018-04-17 13:27:12 +02:00
|
|
|
(version "2.5.17")
|
2014-01-15 22:47:55 +01:00
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
2016-07-21 08:35:30 +02:00
|
|
|
(uri (string-append "mirror://sourceforge/gphoto/gphoto/" version
|
|
|
|
"/gphoto2-" version ".tar.bz2"))
|
2014-01-15 22:47:55 +01:00
|
|
|
(sha256
|
|
|
|
(base32
|
2018-04-17 13:27:12 +02:00
|
|
|
"0kslwclyyzvnxjw3gdzhlagj7l5f8lba833ipr9s0s0c4hwi0mxa"))))
|
2014-01-15 22:47:55 +01:00
|
|
|
(build-system gnu-build-system)
|
|
|
|
(native-inputs
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
|
|
|
(inputs
|
|
|
|
`(("readline" ,readline)
|
2016-11-26 19:14:23 +01:00
|
|
|
("libjpeg-turbo" ,libjpeg-turbo)
|
2014-01-15 22:47:55 +01:00
|
|
|
("popt" ,popt)
|
|
|
|
("libexif" ,libexif)
|
|
|
|
("libgphoto2" ,libgphoto2)))
|
|
|
|
(arguments
|
gnu: Use 'modify-phases' syntax.
* gnu/packages/admin.scm (mingetty, clusterssh, wpa-supplicant-minimal,
wpa-supplicant, wakelan, acpica, tree, direvent, dstat)[arguments]: Use
'modify-phases' syntax.
* gnu/packages/algebra.scm (arb)[arguments]: Likewise.
* gnu/packages/apr.scm (apr-util)[arguments]: Likewise.
* gnu/packages/audio.scm (clalsadrv, fluidsynth, faad2, lv2-mda-piano,
lv2-mda-epiano, timidity++, vamp, soundtouch, portaudio, rsound,
zita-convolver, zita-alsa-pcmi)[arguments]: Likewise.
* gnu/packages/backup.scm (rdup, btar)[arguments]: Likewise.
* gnu/packages/bioinformatics.scm (bedops, bwa, crossmap, express,
flexbar, grit, hisat, ngs-sdk, subread)[arguments]: Likewise.
* gnu/packages/bittorrent.scm (transmission)[arguments]: Likewise.
* gnu/packages/cdrom.scm (cd-discid)[arguments]: Likewise.
* gnu/packages/compression.scm (sharutils)[arguments]: Likewise.
* gnu/packages/conky.scm (conky)[arguments]: Likewise.
* gnu/packages/databases.scm (bdb, bdb-5.3)[arguments]: Likewise.
* gnu/packages/debug.scm (delta, c-reduce)[arguments]: Likewise.
* gnu/packages/display-managers.scm (slim)[arguments]: Likewise.
* gnu/packages/dns.scm (dnsmasq)[arguments]: Likewise.
* gnu/packages/emacs.scm (geiser, emacs-wget, bbdb)[arguments]: Likewise.
* gnu/packages/engineering.scm (pcb)[arguments]: Likewise.
* gnu/packages/firmware.scm (ath9k-htc-firmware)[arguments]: Likewise.
* gnu/packages/flashing-tools.scm (flashrom)[arguments]: Likewise.
* gnu/packages/fltk.scm (fltk)[arguments]: Likewise.
* gnu/packages/freedesktop.scm (python-pyxdg)[arguments]: Likewise.
* gnu/packages/gd.scm (perl-gd)[arguments]: Likewise.
* gnu/packages/gkrellm.scm (gkrellm)[arguments]: Likewise.
* gnu/packages/glib.scm (glibmm)[arguments]: Likewise.
* gnu/packages/gl.scm (glew)[arguments]: Likewise.
* gnu/packages/gnome.scm (icon-naming-utils, orbit2, libbonobo, gnome-vfs,
libgnome, libbonoboui, goffice-0.8, dconf)[arguments]: Likewise.
* gnu/packages/gprolog.scm (gprolog)[arguments]: Likewise.
* gnu/packages/gps.scm (gpscorrelate)[arguments]: Likewise.
* gnu/packages/graphics.scm (agg)[arguments]: Likewise.
* gnu/packages/gtk.scm (ganv, girara, gtksourceview-2, guile-present,
python2-pycairo)[arguments]: Likewise.
* gnu/packages/guile.scm (guile-1.8)[arguments]: Likewise.
* gnu/packages/guile-wm.scm (guile-wm)[arguments]: Likewise.
* gnu/packages/hugs.scm (hugs)[arguments]: Likewise.
* gnu/packages/hurd.scm (gnumach-headers, hurd-headers, hurd-minimal)
[arguments]: Likewise.
* gnu/packages/image-viewers.scm (feh, sxiv)[arguments]: Likewise.
* gnu/packages/libcanberra.scm (libcanberra)[arguments]: Likewise.
* gnu/packages/linux.scm (bridge-utils, iw, fuse, unionfs-fuse/static,
lm-sensors, i2c-tools, xsensors, perf, mdadm, libaio, module-init-tools)
[arguments]: Likewise.
* gnu/packages/lisp.scm (ccl)[arguments]: Likewise.
* gnu/packages/lout.scm (lout)[arguments]: Likewise.
* gnu/packages/lua.scm (luajit)[arguments]: Likewise.
* gnu/packages/machine-learning.scm (shogun)[arguments]: Likewise.
* gnu/packages/mail.scm (exim)[arguments]: Likewise.
* gnu/packages/man.scm (man-pages, txt2man)[arguments]: Likewise.
* gnu/packages/maths.scm (lapack, superlu-dist, openlibm, openspecfun)
[arguments]: Likewise.
* gnu/packages/messaging.scm (bitlbee)[arguments]: Likewise.
* gnu/packages/mp3.scm (libmad, id3lib, mp3info)[arguments]: Likewise.
* gnu/packages/music.scm (solfege)[arguments]: Likewise.
* gnu/packages/noweb.scm (noweb)[arguments]: Likewise.
* gnu/packages/patchutils.scm (patchutils, quilt, colordiff)[arguments]:
Likewise.
* gnu/packages/pdf.scm (xpdf, zathura-cb, zathura-ps, zathura-djvu,
zathura-pdf-poppler, zathura, podofo, fbida)[arguments]: Likewise.
* gnu/packages/perl.scm (perl-file-list, perl-test-harness)[arguments]:
Likewise.
* gnu/packages/photo.scm (gphoto2)[arguments]: Likewise.
* gnu/packages/popt.scm (popt)[arguments]: Likewise.
* gnu/packages/pretty-print.scm (source-highlight, astyle)[arguments]:
Likewise.
* gnu/packages/pumpio.scm (pumpa)[arguments]: Likewise.
* gnu/packages/python.scm (python-passlib, python-pycrypto, python2-empy,
python-sqlalchemy, python-docopt)[arguments]: Likewise.
* gnu/packages/rdf.scm (lrdf)[arguments]: Likewise.
* gnu/packages/regex.scm (tre)[arguments]: Likewise.
* gnu/packages/rrdtool.scm (rrdtool)[arguments]: Likewise.
* gnu/packages/ruby.scm (ruby-2.1, ruby-1.8)[arguments]: Likewise.
* gnu/packages/sawfish.scm (sawfish)[arguments]: Likewise.
* gnu/packages/scheme.scm (racket)[arguments]: Likewise.
* gnu/packages/sdl.scm (guile-sdl)[arguments]: Likewise.
* gnu/packages/serveez.scm (serveez)[arguments]: Likewise.
* gnu/packages/skribilo.scm (skribilo)[arguments]: Likewise.
* gnu/packages/smalltalk.scm (smalltalk)[arguments]: Likewise.
* gnu/packages/suckless.scm (dmenu, slock)[arguments]: Likewise.
* gnu/packages/tcl.scm (expect)[arguments]: Likewise.
* gnu/packages/telephony.scm (commoncpp)[arguments]: Likewise.
* gnu/packages/textutils.scm (recode, libgtextutils)[arguments]:
Likewise.
* gnu/packages/time.scm (time)[arguments]: Likewise.
* gnu/packages/tor.scm (privoxy)[arguments]: Likewise.
* gnu/packages/uucp.scm (uucp)[arguments]: Likewise.
* gnu/packages/video.scm (libdvdnav-4)[arguments]: Likewise.
* gnu/packages/web-browsers.scm (lynx)[arguments]: Likewise.
* gnu/packages/web.scm (tinyproxy)[arguments]: Likewise.
* gnu/packages/wicd.scm (wicd)[arguments]: Likewise.
* gnu/packages/wm.scm (bspwm)[arguments]: Likewise.
* gnu/packages/xdisorg.scm (sxhkd, xcape)[arguments]: Likewise.
* gnu/packages/xfce.scm (xfconf)[arguments]: Likewise.
* gnu/packages/xfig.scm (transfig)[arguments]: Likewise.
* gnu/packages/xorg.scm (imake)[arguments]: Likewise.
2017-07-29 17:28:42 +02:00
|
|
|
'(#:phases
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
(add-before 'check 'pre-check
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
(substitute* (find-files "tests/data" "\\.param$")
|
|
|
|
(("/usr/bin/env")
|
|
|
|
(which "env")))
|
|
|
|
#t)))
|
2014-01-15 22:47:55 +01:00
|
|
|
|
2018-01-12 15:03:33 +01:00
|
|
|
;; FIXME: There is 1 test failure, most likely related to the build
|
2014-01-15 22:47:55 +01:00
|
|
|
;; environment.
|
|
|
|
#:tests? #f))
|
|
|
|
|
|
|
|
(home-page "http://www.gphoto.org/")
|
|
|
|
(synopsis "Command-line tools to access digital cameras")
|
|
|
|
(description
|
|
|
|
"Gphoto2 is a set of command line utilities for manipulating a large
|
|
|
|
number of different digital cameras. Through libgphoto2, it supports PTP,
|
|
|
|
MTP, and much more.")
|
|
|
|
|
|
|
|
;; Files are typically under LGPLv2+, but 'COPYING' says GPLv2+.
|
2015-09-04 19:26:07 +02:00
|
|
|
(license license:gpl2+)))
|
2014-11-08 22:24:08 +01:00
|
|
|
|
|
|
|
(define-public perl-image-exiftool
|
|
|
|
(package
|
|
|
|
(name "perl-image-exiftool")
|
2018-06-28 20:43:15 +02:00
|
|
|
(version "11.01")
|
2014-11-08 22:24:08 +01:00
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append
|
|
|
|
"mirror://cpan/authors/id/E/EX/EXIFTOOL/Image-ExifTool-"
|
|
|
|
version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
2018-06-28 20:43:15 +02:00
|
|
|
"175w34n73mypdpbaqj2vgqsfp59yvfrn8k7zmx4cawnp895bypvh"))))
|
2014-11-08 22:24:08 +01:00
|
|
|
(build-system perl-build-system)
|
|
|
|
(arguments
|
2017-06-25 06:00:41 +02:00
|
|
|
'(#:phases
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
(add-after 'install 'post-install
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
;; Make sure the 'exiftool' commands finds the library.
|
|
|
|
;; XXX: Shouldn't it be handled by PERL-BUILD-SYSTEM?
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
(pm (find-files out "^ExifTool\\.pm$"))
|
|
|
|
(lib (dirname (dirname (car pm)))))
|
|
|
|
(wrap-program (string-append out "/bin/exiftool")
|
|
|
|
`("PERL5LIB" prefix (,lib)))))))))
|
2018-08-11 15:53:20 +02:00
|
|
|
(home-page "https://metacpan.org/release/Image-ExifTool")
|
2017-01-17 09:45:37 +01:00
|
|
|
(synopsis "Program and Perl library to manipulate EXIF and other metadata")
|
|
|
|
(description "This package provides the @code{exiftool} command and the
|
|
|
|
@code{Image::ExifTool} Perl library to manipulate EXIF tags of digital images
|
|
|
|
and a wide variety of other metadata.")
|
2017-05-02 16:57:52 +02:00
|
|
|
(license license:perl-license)))
|
2015-09-05 18:41:27 +02:00
|
|
|
|
|
|
|
(define-public libpano13
|
|
|
|
(package
|
|
|
|
(name "libpano13")
|
|
|
|
(version "2.9.19")
|
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "mirror://sourceforge/panotools/libpano13/"
|
|
|
|
"libpano13-" version "/"
|
|
|
|
"libpano13-" version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"1a4m3plmfcrrplqs9zfzhc5apibn10m5sajpizm1sd3q74w5fwq3"))))
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
(inputs
|
|
|
|
`(("libjpeg" ,libjpeg)
|
|
|
|
("libpng" ,libpng)
|
|
|
|
("libtiff" ,libtiff)
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
(home-page "http://panotools.sourceforge.net/")
|
|
|
|
(synopsis "Library for panoramic images")
|
|
|
|
(description
|
|
|
|
"The libpano13 package contains the backend library written by the
|
|
|
|
Panorama Tools project for building panoramic images from a set of
|
|
|
|
overlapping images, as well as some command line tools.")
|
|
|
|
(license license:gpl2+)))
|
2015-09-06 23:12:51 +02:00
|
|
|
|
|
|
|
(define-public enblend-enfuse
|
|
|
|
(package
|
|
|
|
(name "enblend-enfuse")
|
2016-05-24 07:47:59 +02:00
|
|
|
(version "4.2")
|
2015-09-06 23:12:51 +02:00
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "mirror://sourceforge/enblend/"
|
|
|
|
name "/"
|
|
|
|
name "-" (version-major+minor version) "/"
|
|
|
|
name "-" version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
2016-05-24 07:47:59 +02:00
|
|
|
"0j5x011ilalb47ssah50ag0a4phgh1b0wdgxdbbp1gcyjcjf60w7"))))
|
2015-09-06 23:12:51 +02:00
|
|
|
(build-system gnu-build-system)
|
|
|
|
(native-inputs
|
|
|
|
`(("pkg-config" ,pkg-config)
|
|
|
|
("perl" ,perl)
|
|
|
|
("perl-timedate" ,perl-timedate)
|
|
|
|
;; for building the documentation
|
|
|
|
("gnuplot" ,gnuplot)
|
2016-05-24 07:47:59 +02:00
|
|
|
("help2man" ,help2man)
|
2015-09-06 23:12:51 +02:00
|
|
|
("imagemagick" ,imagemagick)
|
|
|
|
("libxml2" ,libxml2)
|
2017-07-10 07:15:58 +02:00
|
|
|
("texlive-minimal" ,texlive-tiny)
|
2015-09-06 23:12:51 +02:00
|
|
|
("tidy" ,tidy)
|
|
|
|
("transfig" ,transfig)))
|
|
|
|
(inputs
|
|
|
|
`(("boost" ,boost)
|
|
|
|
("gsl" ,gsl)
|
|
|
|
("lcms" ,lcms)
|
|
|
|
("libjpeg" ,libjpeg)
|
|
|
|
("libpng" ,libpng)
|
|
|
|
("libtiff" ,libtiff)
|
|
|
|
("openexr" ,openexr)
|
|
|
|
("vigra" ,vigra)
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
(arguments
|
|
|
|
`(#:configure-flags `("--enable-openmp")))
|
|
|
|
(home-page "http://enblend.sourceforge.net/")
|
|
|
|
(synopsis "Tools for combining and blending images")
|
|
|
|
(description
|
|
|
|
"Enblend blends away the seams in a panoramic image mosaic using a
|
|
|
|
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+)))
|
2017-03-08 23:49:24 +01:00
|
|
|
|
|
|
|
(define-public lensfun
|
|
|
|
(package
|
|
|
|
(name "lensfun")
|
|
|
|
(version "0.3.2")
|
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append
|
|
|
|
"mirror://sourceforge/lensfun/"
|
|
|
|
version "/lensfun-" version ".tar.gz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"0cfk8jjhs9nbfjfdy98plrj9ayi59aph0nx6ppslgjhlcvacm2xf"))))
|
|
|
|
(build-system cmake-build-system)
|
2017-06-15 08:15:25 +02:00
|
|
|
(arguments
|
|
|
|
`(,@(if (any (cute string-prefix? <> (or (%current-system)
|
|
|
|
(%current-target-system)))
|
|
|
|
'("x86_64" "i686"))
|
|
|
|
;; SSE and SSE2 are supported only on Intel processors.
|
|
|
|
'()
|
|
|
|
'(#:configure-flags '("-DBUILD_FOR_SSE=OFF" "-DBUILD_FOR_SSE2=OFF")))
|
|
|
|
#:tests? #f)) ; There are no tests to run.
|
2017-03-08 23:49:24 +01:00
|
|
|
(native-inputs
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
|
|
|
(inputs
|
|
|
|
`(("glib" ,glib)))
|
|
|
|
(home-page "https://sourceforge.net/projects/lensfun/")
|
|
|
|
(synopsis "Library to correct optical lens defects with a lens database")
|
|
|
|
(description "Digital photographs are not ideal. Of course, the better is
|
|
|
|
your camera, the better the results will be, but in any case if you look
|
|
|
|
carefully at shots taken even by the most expensive cameras equipped with the
|
|
|
|
most expensive lenses you will see various artifacts. It is very hard to make
|
|
|
|
ideal cameras, because there are a lot of factors that affect the final image
|
|
|
|
quality, and at some point camera and lens designers have to trade one factor
|
|
|
|
for another to achieve the optimal image quality, within the given design
|
|
|
|
restrictions and budget. But we all want ideal shots, don't we? So that's
|
|
|
|
what's Lensfun is all about: rectifying the defects introduced by your
|
|
|
|
photographic equipment.")
|
|
|
|
;; The libraries are licensed under the LGPL3, the programs are
|
|
|
|
;; licensed GPL3, and the database is license CC-BY-SA 3.0. See the
|
|
|
|
;; README.md file for this clarification.
|
|
|
|
(license (list license:lgpl3 license:gpl3 license:cc-by-sa3.0))))
|
2017-05-10 19:46:55 +02:00
|
|
|
|
|
|
|
(define-public darktable
|
|
|
|
(package
|
|
|
|
(name "darktable")
|
2018-06-06 06:05:28 +02:00
|
|
|
(version "2.4.4")
|
2017-05-10 19:46:55 +02:00
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append
|
|
|
|
"https://github.com/darktable-org/darktable/releases/"
|
|
|
|
"download/release-"
|
|
|
|
version "/darktable-" version ".tar.xz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
2018-06-06 06:05:28 +02:00
|
|
|
"0kdhmiw4wxk2w9v2hms9yk8nl4ymdshnqyj0l07nivzzr6w20hwn"))))
|
2017-05-10 19:46:55 +02:00
|
|
|
(build-system cmake-build-system)
|
|
|
|
(arguments
|
|
|
|
`(#:tests? #f ; There are no tests.
|
2017-12-19 15:25:12 +01:00
|
|
|
#:configure-flags '("-DBINARY_PACKAGE_BUILD=On")
|
2017-05-10 19:46:55 +02:00
|
|
|
#:make-flags
|
|
|
|
(list
|
|
|
|
(string-append "CPATH=" (assoc-ref %build-inputs "ilmbase")
|
|
|
|
"/include/OpenEXR:" (or (getenv "CPATH") "")))
|
|
|
|
#:phases
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
(add-before 'configure 'set-ldflags
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
(setenv "LDFLAGS"
|
|
|
|
(string-append
|
|
|
|
"-Wl,-rpath="
|
|
|
|
(assoc-ref outputs "out") "/lib/darktable"))
|
|
|
|
#t)))))
|
|
|
|
(native-inputs
|
|
|
|
`(("llvm" ,llvm-3.9.1)
|
|
|
|
("clang" ,clang-3.9.1)))
|
|
|
|
(inputs
|
|
|
|
`(("libxslt" ,libxslt)
|
|
|
|
("libxml2" ,libxml2)
|
|
|
|
("pugixml" ,pugixml)
|
|
|
|
("gtk+" ,gtk+)
|
|
|
|
("sqlite" ,sqlite)
|
|
|
|
("libjpeg" ,libjpeg)
|
|
|
|
("libpng" ,libpng)
|
|
|
|
("cairo" ,cairo)
|
|
|
|
("lcms" ,lcms)
|
|
|
|
("exiv2" ,exiv2)
|
|
|
|
("libtiff" ,libtiff)
|
|
|
|
("curl" ,curl)
|
|
|
|
("libgphoto2" ,libgphoto2)
|
|
|
|
("dbus-glib" ,dbus-glib)
|
|
|
|
("openexr" ,openexr)
|
|
|
|
("ilmbase" ,ilmbase)
|
|
|
|
("libsoup" ,libsoup)
|
|
|
|
("python-jsonschema" ,python-jsonschema)
|
|
|
|
("intltool" ,intltool)
|
|
|
|
("perl" ,perl)
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
("libwebp" ,libwebp)
|
|
|
|
("lensfun" ,lensfun)
|
|
|
|
("librsvg" ,librsvg)
|
|
|
|
("json-glib" ,json-glib)
|
|
|
|
("freeimage" ,freeimage)))
|
|
|
|
(home-page "https://www.darktable.org")
|
|
|
|
(synopsis "Virtual lighttable and darkroom for photographers")
|
|
|
|
(description "Darktable is a photography workflow application and RAW
|
|
|
|
developer. It manages your digital negatives in a database, lets you view
|
|
|
|
them through a zoomable lighttable and enables you to develop raw images
|
|
|
|
and enhance them.")
|
2017-06-28 14:36:15 +02:00
|
|
|
;; see src/is_supported_platform.h for supported platforms
|
|
|
|
(supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"))
|
2017-05-10 19:46:55 +02:00
|
|
|
(license license:gpl3+)))
|
2017-05-28 20:08:15 +02:00
|
|
|
|
|
|
|
(define-public hugin
|
|
|
|
(package
|
|
|
|
(name "hugin")
|
|
|
|
(version "2016.2.0")
|
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "mirror://sourceforge/hugin/hugin/hugin-"
|
|
|
|
(version-major+minor version)
|
|
|
|
"/hugin-" version ".tar.bz2"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
|
|
|
"058zd63vx29yrx2pphbbll7kzcxkai22q26lpw13rn4lvp41pasl"))))
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
(native-inputs
|
|
|
|
`(("gettext" ,gnu-gettext)
|
|
|
|
("pkg-config" ,pkg-config)))
|
|
|
|
(inputs
|
|
|
|
`(("boost" ,boost)
|
|
|
|
("enblend-enfuse" ,enblend-enfuse)
|
|
|
|
("exiv2" ,exiv2)
|
|
|
|
("fftw" ,fftw)
|
|
|
|
("flann" ,flann)
|
|
|
|
("freeglut" ,freeglut)
|
|
|
|
("glew" ,glew)
|
|
|
|
("lcms" ,lcms)
|
|
|
|
("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 (propagated by openexr) 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")
|
|
|
|
#:phases
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
(add-before 'configure 'substitute
|
|
|
|
(lambda _
|
|
|
|
(substitute* "src/hugin1/base_wx/StitchingExecutor.cpp"
|
|
|
|
(("wxT\\(\"enblend\"\\)")
|
|
|
|
(string-append "wxT(\"" (which "enblend") "\")"))
|
|
|
|
(("wxT\\(\"enfuse\"\\)")
|
|
|
|
(string-append "wxT(\"" (which "enfuse") "\")")))
|
|
|
|
#t)))))
|
|
|
|
(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+)))
|
|
|
|
|
2018-02-26 23:01:54 +01:00
|
|
|
(define-public rawtherapee
|
|
|
|
(package
|
|
|
|
(name "rawtherapee")
|
2018-03-21 16:43:00 +01:00
|
|
|
(version "5.4")
|
2018-02-26 23:01:54 +01:00
|
|
|
(source (origin
|
|
|
|
(method url-fetch)
|
|
|
|
(uri (string-append "http://rawtherapee.com/shared/source/"
|
|
|
|
"rawtherapee-" version ".tar.xz"))
|
|
|
|
(sha256
|
|
|
|
(base32
|
2018-03-21 16:43:00 +01:00
|
|
|
"1229hxqq824hcqg1hy2cfglsp7kjbhhis9m33ss39pgmrb1w227d"))))
|
2018-02-26 23:01:54 +01:00
|
|
|
(build-system cmake-build-system)
|
|
|
|
(arguments
|
|
|
|
'(#:tests? #f ; no test suite
|
2018-03-17 12:23:59 +01:00
|
|
|
#:build-type "release"
|
2018-02-26 23:01:54 +01:00
|
|
|
#:configure-flags
|
|
|
|
(list (string-append "-DLENSFUNDBDIR="
|
|
|
|
(assoc-ref %build-inputs "lensfun")
|
|
|
|
"/share/lensfun")
|
|
|
|
; Don't optimize the build for the host machine. See the file
|
|
|
|
; 'ProcessorTargets.cmake' in the source distribution for more
|
|
|
|
; information.
|
|
|
|
"-DPROC_TARGET_NUMBER=1"
|
|
|
|
; These flags are recommended by upstream for distributed packages.
|
|
|
|
; See the file 'RELEASE_NOTES.txt' in the source distribution.
|
|
|
|
"-O3"
|
|
|
|
"-DCACHE_NAME_SUFFIX=\"\"")))
|
|
|
|
(native-inputs
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
|
|
|
(inputs
|
|
|
|
`(("expat" ,expat)
|
|
|
|
("fftw" ,fftwf)
|
|
|
|
("glib" ,glib)
|
|
|
|
("glibmm" ,glibmm)
|
|
|
|
("gtk+" ,gtk+)
|
|
|
|
("gtkmm" ,gtkmm)
|
|
|
|
("lcms" ,lcms)
|
|
|
|
("lensfun" ,lensfun)
|
|
|
|
("libcanberra" ,libcanberra)
|
|
|
|
("libiptcdata" ,libiptcdata)
|
|
|
|
("libjpeg" ,libjpeg)
|
|
|
|
("libpng" ,libpng)
|
|
|
|
("libsigc++" ,libsigc++)
|
|
|
|
("libtiff" ,libtiff)
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
(home-page "http://rawtherapee.com")
|
|
|
|
(synopsis "Raw image developing and processing")
|
|
|
|
(description "RawTherapee is a raw image processing suite. It comprises a
|
|
|
|
subset of image editing operations specifically aimed at non-destructive raw
|
|
|
|
photo post-production and is primarily focused on improving a photographer's
|
|
|
|
workflow by facilitating the handling of large numbers of images. Most raw
|
|
|
|
formats are supported, including Pentax Pixel Shift, Canon Dual-Pixel, and those
|
|
|
|
from Foveon and X-Trans sensors.")
|
|
|
|
(license license:gpl3+)))
|