summary refs log tree commit diff
path: root/gnu/packages/photo.scm
diff options
context:
space:
mode:
authorSebastian Schott <sschott@mailbox.org>2020-03-07 16:11:46 +0100
committerChristopher Baines <mail@cbaines.net>2020-03-15 16:41:44 +0000
commit39af91db7943700b723c96ce1fc100f110aa88d1 (patch)
treec5aba0ee672529c8eb25410157e2681f890c1067 /gnu/packages/photo.scm
parent2f12e6608b8dd071e37264c63ea86dcdfb8aaa84 (diff)
downloadguix-39af91db7943700b723c96ce1fc100f110aa88d1.tar.gz
gnu: Add rapid-photo-downloader
* gnu/packages/photo.scm (rapid-photo-downloader): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
Diffstat (limited to 'gnu/packages/photo.scm')
-rw-r--r--gnu/packages/photo.scm94
1 files changed, 94 insertions, 0 deletions
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 069767e414..585289daf1 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2020 Sebastian Schott <sschott@mailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -26,6 +27,7 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
+  #:use-module (guix build-system python)
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -37,12 +39,15 @@
   #:use-module (gnu packages boost)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages file)
+  #:use-module (gnu packages freedesktop)
   #: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 gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
@@ -56,9 +61,13 @@
   #: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 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 xfig)
@@ -67,6 +76,91 @@
   #: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
+     `(("file" ,file)
+       ("intltool" ,intltool)
+       ("gobject-introspection" ,gobject-introspection)))
+    (inputs
+     `(("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 "PYTHONPATH")))
+               (for-each
+                (lambda (program)
+                  (wrap-program program
+                    `("PATH" ":" prefix (,path))
+                    `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
+                    `("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")