<
aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2017, 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2017 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016-2019, 2021, 2023, 2024 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2020 Sebastian Schott <sschott@mailbox.org> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020, 2024. 2021, 2022, 2024 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2022 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; ;;; 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) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages boost) #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages cups) #:use-module (gnu packages curl) #:use-module (gnu packages file) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages geo) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages gnome) #:use-module (gnu packages glib) #:use-module (gnu packages graphics) #:use-module (gnu packages graphviz) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages image-processing) #:use-module (gnu packages imagemagick) #:use-module (gnu packages iso-codes) #:use-module (gnu packages libcanberra) #:use-module (gnu packages libusb) #:use-module (gnu packages llvm) #:use-module (gnu packages lua) #:use-module (gnu packages m4) #:use-module (gnu packages man) #:use-module (gnu packages maths) #:use-module (gnu packages music) #:use-module (gnu packages ocaml) #:use-module (gnu packages opencl) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages python-web) #:use-module (gnu packages qt) #:use-module (gnu packages readline) #:use-module (gnu packages ruby) #:use-module (gnu packages sdl) #:use-module (gnu packages sqlite) #:use-module (gnu packages tex) #:use-module (gnu packages time) #:use-module (gnu packages video) #:use-module (gnu packages web) #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xorg) #:use-module (gnu packages xml) #:use-module ((srfi srfi-1) #:hide (zip)) #:use-module (srfi srfi-26)) (define-public rapid-photo-downloader (package (name "rapid-photo-downloader") (version "0.9.18") (source (origin (method url-fetch) (uri (string-append "https://launchpad.net/rapid/pyqt/" version "/+download/" name "-" version ".tar.gz")) (sha256 (base32 "15p7sssg6vmqbm5xnc4j5dr89d7gl7y5qyq44a240yl5aqkjnybw")))) (build-system python-build-system) (native-inputs (list file intltool gobject-introspection)) (inputs `(("bash" ,bash-minimal) ; for wrap-program ("gdk-pixbuf" ,gdk-pixbuf) ("gexiv2" ,gexiv2) ("gst-libav" ,gst-libav) ("gst-plugins-base" ,gst-plugins-base) ("gst-plugins-good" ,gst-plugins-good) ("gstreamer" ,gstreamer) ("libgudev" ,libgudev) ("libnotify" ,libnotify) ("libmediainfo" ,libmediainfo) ("usdisks" ,udisks) ("python-pyqt" ,python-pyqt) ("python-pygobject" ,python-pygobject) ("python-gphoto2" ,python-gphoto2) ("python-pyzmq" ,python-pyzmq) ("python-tornado" ,python-tornado) ("python-psutil" ,python-psutil) ("python-pyxdg" ,python-pyxdg) ("python-arrow" ,python-arrow) ("python-dateutil" ,python-dateutil) ("python-easygui" ,python-easygui) ("python-colour" ,python-colour) ("python-pymediainfo" ,python-pymediainfo) ("python-sortedcontainers" ,python-sortedcontainers) ("python-rawkit" ,python-rawkit) ("python-requests" ,python-requests) ("python-colorlog" ,python-colorlog) ("python-pyprind" ,python-pyprind) ("python-tenacity" ,python-tenacity) ("perl-image-exiftool" ,perl-image-exiftool))) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'patch-libmediainfo (lambda _ (substitute* "raphodo/metadatavideo.py" (("pymedia_library_file = 'libmediainfo.so.0'") (string-append "pymedia_library_file = '" (assoc-ref %build-inputs "libmediainfo") "/lib/libmediainfo.so.0'"))) #t)) (add-after 'install 'wrap (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (path (string-join (list (string-append (assoc-ref inputs "perl-image-exiftool") "/bin")) ":")) (gi-typelib-path (getenv "GI_TYPELIB_PATH")) (python-path (getenv "GUIX_PYTHONPATH"))) (for-each (lambda (program) (wrap-program program `("PATH" ":" prefix (,path)) `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) `("GUIX_PYTHONPATH" ":" prefix (,python-path)))) (map (lambda (name) (string-append out "/bin/" name)) '("analyze-pv-structure" "rapid-photo-downloader")))) #t))))) (home-page "https://www.damonlynch.net/rapid/") (synopsis "Import photos and videos from cameras, phones and memory cards") (description "Import photos and videos from cameras, phones and memory cards and generate meaningful file and folder names.") (license license:gpl2+))) (define-public libraw (package (name "libraw") (version "0.21.2") (source (origin (method url-fetch) (uri (string-append "https://www.libraw.org/data/LibRaw-" version ".tar.gz")) (sha256 (base32