diff options
Diffstat (limited to 'gnu/packages/photo.scm')
| -rw-r--r-- | gnu/packages/photo.scm | 135 | 
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 | 
