guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader


From: Christopher Baines
Subject: [bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader
Date: Mon, 27 Jan 2020 08:49:11 +0000
User-agent: mu4e 1.2.0; emacs 26.3

Sebastian Schott <address@hidden> writes:

> * gnu/packages/photo.scm (rapid-photo-downloader): New variable.
> ---
>  gnu/packages/photo.scm | 69 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 69 insertions(+)

...

So I've managed to build this package on my system, which is a good
start :)

> +(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)
> +       ("gdk-pixbuf" ,gdk-pixbuf)
> +       ("gexiv2" ,gexiv2)
> +       ("gobject-introspection" ,gobject-introspection)
> +       ("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)))

If any of these packages above are used at runtime, move them to the
inputs section.

> +    (propagated-inputs
> +     `(("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)))

So I'm guessing this works, but one alternative to making all these
packages propagated inputs, is to wrap the relevant executables in the
package with specific environment variables.

This has some advantages, as it doesn't require pushing all these
packages in to the users profile, and often it means you can run the
package directly from the store, without having to install it in to a
profile.

Take a look at the package for Rhythmbox as an example [1].

1: http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/gnome.scm#n5035

> +    (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'"))))))))
> +    (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")

Thanks for sending these patches :)

Chris

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]