summaryrefslogtreecommitdiff
path: root/gnu/packages/photo.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/photo.scm')
-rw-r--r--gnu/packages/photo.scm135
1 files changed, 80 insertions, 55 deletions
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index a614d36db2..db087f9ee2 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -88,6 +88,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-web)
#:use-module (gnu packages qt)
@@ -109,18 +110,71 @@
(package
(name "rapid-photo-downloader")
(version "0.9.36")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://launchpad.net/rapid/pyqt/"
- version "/+download/" name "-"
- version ".tar.gz"))
- (sha256
- (base32
- "1r354y20rkjp034mjbmgk7zd39yxd89yqrbdlx5im4xvw8z3dp53"))))
- (build-system python-build-system)
- (native-inputs (list file gobject-introspection intltool))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/damonlynch/rapid-photo-downloader")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1x4hgsxyn6nf12whwmmaxh447n88diix5wazcwv4hqm6mip8hnbw"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list
+ ;; XXX: KeyError: Preference key 'Extension' is invalid.
+ "-k" (string-join (list "not testLargePrefList"
+ "testPrefImageList"
+ "testPrefVideoList"
+ "testSequencesList"
+ "testBadDTConversion")
+ " and not ")
+ ;; XXX: Test data is corrupted, and substitute* doesn't work
+ ;; for binary data: ModuleNotFoundError: No module named 'viewutils'
+ "--ignore=test_proximity.py"
+ ;; XXX: No tests are collected here.
+ "--ignore=test_thumbnail.py")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-libmediainfo
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "raphodo/metadata/metadatavideo.py"
+ (("libmediainfo.so.0" lib)
+ (search-input-file inputs (string-append "lib/" lib))))))
+ (add-before 'check 'configure-check
+ (lambda _
+ (setenv "XDG_DATA_HOME" (getcwd))
+ (chdir "raphodo/tests")
+ (substitute* "test_generatenameconfig.py"
+ (("generatename\\.convert")
+ "raphodo.generatename.convert")
+ (("([^.])(generatenameconfig\\.)" _ before module)
+ (string-append before "raphodo." module))
+ (("import (generatename|generatenameconfig)" _ module)
+ (string-append "import raphodo." module)))
+ (substitute* "test_thumbnail.py"
+ (("from (cache|interprocess|rpdfile|utilities)" _ module)
+ (string-append "from raphodo." module)))))
+ (add-after 'wrap 'wrap-more
+ (lambda* (#:key inputs #:allow-other-keys)
+ (wrap-program (string-append #$output
+ "/bin/rapid-photo-downloader")
+ `("PATH" ":" prefix
+ (,(dirname (search-input-file inputs "bin/exiftool"))))
+ `("GI_TYPELIB_PATH" ":" prefix
+ (,(getenv "GI_TYPELIB_PATH")))
+ `("GUIX_PYTHONPATH" ":" prefix
+ (,(getenv "GUIX_PYTHONPATH")))))))))
+ (native-inputs
+ (list file
+ intltool
+ gobject-introspection
+ python-pytest
+ python-setuptools))
(inputs
- (list bash-minimal ;for wrap-program
+ (list bash-minimal ;for wrap-program
gdk-pixbuf
gexiv2
gst-libav
@@ -128,58 +182,29 @@
gst-plugins-good
gstreamer
libgudev
- libmediainfo
libnotify
- perl-image-exiftool
- python-arrow
+ libmediainfo
+ udisks
python-babel
- python-colorlog
- python-colour
- python-dateutil
- python-easygui
+ python-show-in-file-manager
+ python-pyqt
+ python-pygobject
python-gphoto2
+ python-pyzmq
+ python-tornado
python-psutil
- python-pygobject
- python-pymediainfo
+ python-arrow
+ python-easygui
+ python-colour
python-pymediainfo
- python-pyprind
- python-pyqt
- python-pyxdg
- python-pyzmq
- python-rawkit
- python-requests
- python-show-in-file-manager
python-sortedcontainers
python-tenacity
- python-tornado
- udisks))
- (arguments
- (list
- #:tests? #f ;no test suite
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'install 'wrap
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((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")))
- (wrap-program (string-append #$output
- "/bin/rapid-photo-downloader")
- `("PATH" ":" prefix (,path))
- `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
- `("GUIX_PYTHONPATH" ":" prefix (,python-path))))))
- ;; The program fails to load in the build environment, with an
- ;; assertion error on 'Path(data_home).is_dir()'.
- (delete 'sanity-check))))
-
- (home-page "https://www.damonlynch.net/rapid/")
+ perl-image-exiftool))
+ (home-page "https://github.com/damonlynch/rapid-photo-downloader")
(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.")
+ (description
+ "This package provides tools to import photos and videos from cameras,
+phones and memory cards and generate meaningful file and folder names.")
(license license:gpl2+)))
(define-public libraw