* [bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader [not found] <87sgjtgtju.fsf@cbaines.net> @ 2020-02-23 10:40 ` Sebastian Schott 2020-02-23 16:55 ` Christopher Baines 0 siblings, 1 reply; 8+ messages in thread From: Sebastian Schott @ 2020-02-23 10:40 UTC (permalink / raw) To: 39292@debbugs.gnu.org; +Cc: Christopher Baines Hi Chris, you are right, some libraries I added in native-inputs of rapid-photo-downloader cause trouble, e.g., I got "ValueError: Namespace Notify not available", when I try to start the program. This is a bit confusing, because before committing, I successfully tested this, but maybe I manually installed these libraries and therefore had no "clean" testing environment. Now, I experimented a bit with native-inputs, inputs and propagated-inputs and managed to start the program, when I install it with the code at the end of this mail (./pre-inst-env guix install rapid-photo-downloader). When I just build the program and cd into the store folder to run it, I still got the "notify error" (./pre-inst-env guix build rapid-photo-downloader --> cd /gnu/store/.../bin --> ./rapid-photo-downloader). This makes sense, because without installing the program, also the propagated-inputs are not installed. What is the recommended way to test a program without interfering with the current user profile, but still considering propagated-inputs? You mentioned inputs are used for libraries required at runtime. Now I wonder, why I need to put libnotify, libgudev, usdisks and gexiv2 into the propagated-inputs to avoid errors like "ValueError: Namespace Notify not available"? Best, Sebastian (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) )) (inputs `(("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) )) (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) ("perl-image-exiftool" ,perl-image-exiftool) ("libnotify" ,libnotify) ("libgudev" ,libgudev) ("usdisks" ,udisks) ("gexiv2" ,gexiv2) )) (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)) ))) (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+))) ^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader 2020-02-23 10:40 ` [bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader Sebastian Schott @ 2020-02-23 16:55 ` Christopher Baines 2020-03-07 15:09 ` Sebastian Schott 0 siblings, 1 reply; 8+ messages in thread From: Christopher Baines @ 2020-02-23 16:55 UTC (permalink / raw) To: Sebastian Schott; +Cc: 39292@debbugs.gnu.org [-- Attachment #1: Type: text/plain, Size: 2789 bytes --] Sebastian Schott <s.schott@mailbox.org> writes: > Hi Chris, > > you are right, some libraries I added in native-inputs of > rapid-photo-downloader cause trouble, e.g., I got "ValueError: > Namespace Notify not available", when I try to start the program. This > is a bit confusing, because before committing, I successfully tested > this, but maybe I manually installed these libraries and therefore had > no "clean" testing environment. > > Now, I experimented a bit with native-inputs, inputs and > propagated-inputs and managed to start the program, when I install it > with the code at the end of this mail (./pre-inst-env guix install > rapid-photo-downloader). When I just build the program and cd into the > store folder to run it, I still got the "notify error" (./pre-inst-env > guix build rapid-photo-downloader --> cd /gnu/store/.../bin --> > ./rapid-photo-downloader). This makes sense, because without > installing the program, also the propagated-inputs are not installed. > > What is the recommended way to test a program without interfering with > the current user profile, but still considering propagated-inputs? Probably using guix environment --ad-hoc, although to set up the right search paths, you'll need to also include some other packages in the environment. Propagated inputs with search paths are great for things like plugins, and programming language libraries, but for improved reliability and compatibility, they should be avoided for applications like Rapid Photo Downloader. > You mentioned inputs are used for libraries required at runtime. Now I > wonder, why I need to put libnotify, libgudev, usdisks and gexiv2 into > the propagated-inputs to avoid errors like "ValueError: Namespace > Notify not available"? Probably because of a search path like GI_TYPELIB_PATH. I've taken an earlier version of your patch, and tweaked it [1] so that I can start the application directly from the store (running [2]). 1: https://git.cbaines.net/guix/commit/?h=series-2725-tweaked&id=85613884ac9c4122460923aaf1e28ef13aab49df 2: /gnu/store/6ssz223fy59cpz3582jd3xqva49m9w8n-rapid-photo-downloader-0.9.18/bin/rapid-photo-downloader If you take a look at that file [2], you'll see it's a bash script, which sets a number of environment variables. This comes from the wrap-program call in the patch [1]. Now using wrap-program is not an ideal technique, but what I think this approach does provide is that it reduces the chance of other things in your profile breaking rapid-photo-downloader, and it also means that you can install another application that also uses a common dependency, but has a different version of it, or a patched version, without running in to difficulties combining both packages in to one profile. Does that make sense? Thanks, Chris [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 962 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader 2020-02-23 16:55 ` Christopher Baines @ 2020-03-07 15:09 ` Sebastian Schott 2020-03-15 16:59 ` bug#39292: " Christopher Baines 0 siblings, 1 reply; 8+ messages in thread From: Sebastian Schott @ 2020-03-07 15:09 UTC (permalink / raw) To: Christopher Baines; +Cc: 39292@debbugs.gnu.org Hi Chris, thank you for the "guix environment --ad-hoc" hint and for implementing the wrapping technique. I revised all commits regarding to your suggestions and will upload the new patches soon. Best, Sebastian ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#39292: [PATCH 10/10] gnu: Add rapid-photo-downloader 2020-03-07 15:09 ` Sebastian Schott @ 2020-03-15 16:59 ` Christopher Baines 0 siblings, 0 replies; 8+ messages in thread From: Christopher Baines @ 2020-03-15 16:59 UTC (permalink / raw) To: Sebastian Schott; +Cc: 39292-done [-- Attachment #1: Type: text/plain, Size: 496 bytes --] Sebastian Schott <s.schott@mailbox.org> writes: > Hi Chris, > > thank you for the "guix environment --ad-hoc" hint and for > implementing the wrapping technique. I revised all commits regarding > to your suggestions and will upload the new patches soon. Thanks Sebastian, I've finally got around to looking at the updated patches, and they're pretty much perfect. I've pushed them to the master branch as 39af91db7943700b723c96ce1fc100f110aa88d1. Thanks for your work and persistence! Chris [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 962 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#39292] [PATCH 01/10] gnu: Add python-pymediainfo @ 2020-03-07 15:11 Sebastian Schott 2020-03-07 15:11 ` [bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader Sebastian Schott 0 siblings, 1 reply; 8+ messages in thread From: Sebastian Schott @ 2020-03-07 15:11 UTC (permalink / raw) To: 39292; +Cc: Sebastian Schott * gnu/packages/python-xyz.scm (python-pymediainfo): New variable. --- gnu/packages/python-xyz.scm | 46 +++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index bd107f9648..c1f1c7fa0e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -70,6 +70,7 @@ ;;; Copyright © 2019 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 sirgazil <sirgazil@zoho.com> +;;; Copyright © 2020 Sebastian Schott <sschott@mailbox.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -170,6 +171,51 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-26)) +(define-public python-pymediainfo + (package + (name "python-pymediainfo") + (version "4.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pymediainfo" version)) + (sha256 + (base32 + "0mhpxs7vlqx8w75z93dy7nnvx89kwfdjkla03l19an15rlyqyspd")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm) + ("python-pytest" ,python-pytest))) + (inputs + `(("libmediainfo" ,libmediainfo))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-libmediainfo + (lambda _ + (substitute* "pymediainfo/__init__.py" + (("libmediainfo.so.0") + (string-append (assoc-ref %build-inputs "libmediainfo") + "/lib/libmediainfo.so.0"))) + #t)) + (replace 'check + (lambda _ + ;; Extend PYTHONPATH so the built package will be found. + (setenv "PYTHONPATH" + (string-append (getcwd) "/build/lib:" + (getenv "PYTHONPATH"))) + ;; Skip the only failing test "test_parse_url" + (invoke "pytest" "-vv" "-k" "not test_parse_url") + #t))))) + (home-page + "https://github.com/sbraz/pymediainfo") + (synopsis + "Python wrapper for the mediainfo library") + (description + "Python wrapper for the mediainfo library to access the technical and tag +data for video and audio files.") + (license license:expat))) + (define-public python-psutil (package (name "python-psutil") -- 2.24.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader 2020-03-07 15:11 [bug#39292] [PATCH 01/10] gnu: Add python-pymediainfo Sebastian Schott @ 2020-03-07 15:11 ` Sebastian Schott 0 siblings, 0 replies; 8+ messages in thread From: Sebastian Schott @ 2020-03-07 15:11 UTC (permalink / raw) To: 39292; +Cc: Sebastian Schott * gnu/packages/photo.scm (rapid-photo-downloader): New variable. --- gnu/packages/photo.scm | 94 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) 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") -- 2.24.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#39292] Re: [bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader @ 2020-02-02 9:36 Sebastian Schott 2020-02-02 10:11 ` Christopher Baines 0 siblings, 1 reply; 8+ messages in thread From: Sebastian Schott @ 2020-02-02 9:36 UTC (permalink / raw) To: 39292@debbugs.gnu.org; +Cc: mail@cbaines.net [-- Attachment #1: Type: text/html, Size: 841 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader 2020-02-02 9:36 [bug#39292] " Sebastian Schott @ 2020-02-02 10:11 ` Christopher Baines 0 siblings, 0 replies; 8+ messages in thread From: Christopher Baines @ 2020-02-02 10:11 UTC (permalink / raw) To: Sebastian Schott; +Cc: 39292@debbugs.gnu.org [-- Attachment #1: Type: text/plain, Size: 988 bytes --] Sebastian Schott <s.schott@mailbox.org> writes: > Hi Chris, > > thank you very much for your suggestions and explanations (somehow > your messages did not reach my mail inbox). Now I got some work to do, > but I am not quite sure on how to proceed. Should I step back in my > local git history, apply the corrections and resend the patches or can > I just go on and patch my patches? I guess everything should go to the > initial bug tracking number? Hi Sebastian, Sorry for the email issues, I had an issue with my mailserver, but it should be fixed now. The way you've split your changes across commits is good, so ideally just tweak the commits. If you're familiar with interactive rebasing in Git, you can use that to make the changes. Don't worry too much about it though, it's the end result that's the most important. Once you've had a go at iterating the patches, just send them again to the bug email address. Just let me know if you have any questions :) Thanks, Chris [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 962 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#39292] [PATCH 01/10] gnu: Add python-pymediainfo @ 2020-01-26 17:24 Sebastian Schott 2020-01-26 17:24 ` [bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader Sebastian Schott 0 siblings, 1 reply; 8+ messages in thread From: Sebastian Schott @ 2020-01-26 17:24 UTC (permalink / raw) To: 39292; +Cc: Sebastian Schott * gnu/packages/python-xyz.scm (python-pymediainfo): New variable. --- gnu/packages/python-xyz.scm | 41 +++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 2c308796e7..9f5cb20095 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -166,6 +166,47 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-26)) +(define-public python-pymediainfo + (package + (name "python-pymediainfo") + (version "4.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pymediainfo" version)) + (sha256 + (base32 + "0mhpxs7vlqx8w75z93dy7nnvx89kwfdjkla03l19an15rlyqyspd")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm) + ("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner))) + (inputs + `(("libmediainfo" ,libmediainfo))) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-libmediainfo + (lambda _ + (substitute* "pymediainfo/__init__.py" + (("libmediainfo.so.0") + (string-append (assoc-ref %build-inputs "libmediainfo") + "/lib/libmediainfo.so.0"))))) + (replace 'check + (lambda _ + ;; Extend PYTHONPATH so the built package will be found. + (setenv "PYTHONPATH" + (string-append (getcwd) "/build/lib:" + (getenv "PYTHONPATH"))) + (invoke "pytest" "-vv" "-k" "not test_parse_url")))))) + (home-page + "https://github.com/sbraz/pymediainfo") + (synopsis + "Python wrapper for the mediainfo library") + (description + "Python wrapper for the mediainfo library to access the technical and tag data for video and audio files.") + (license license:expat))) + (define-public python-psutil (package (name "python-psutil") -- 2.24.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader 2020-01-26 17:24 [bug#39292] [PATCH 01/10] gnu: Add python-pymediainfo Sebastian Schott @ 2020-01-26 17:24 ` Sebastian Schott 2020-01-27 8:49 ` Christopher Baines 0 siblings, 1 reply; 8+ messages in thread From: Sebastian Schott @ 2020-01-26 17:24 UTC (permalink / raw) To: 39292; +Cc: Sebastian Schott * gnu/packages/photo.scm (rapid-photo-downloader): New variable. --- gnu/packages/photo.scm | 69 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 0867433245..91c0d0e6a4 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) @@ -55,10 +60,14 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) #:use-module (gnu packages python) + #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) + #: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,66 @@ #: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) + ("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))) + (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))) + (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") -- 2.24.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader 2020-01-26 17:24 ` [bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader Sebastian Schott @ 2020-01-27 8:49 ` Christopher Baines 0 siblings, 0 replies; 8+ messages in thread From: Christopher Baines @ 2020-01-27 8:49 UTC (permalink / raw) To: 39292; +Cc: Sebastian Schott [-- Attachment #1: Type: text/plain, Size: 3806 bytes --] Sebastian Schott <sschott@mailbox.org> 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 #2: signature.asc --] [-- Type: application/pgp-signature, Size: 962 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-03-15 17:00 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <87sgjtgtju.fsf@cbaines.net> 2020-02-23 10:40 ` [bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader Sebastian Schott 2020-02-23 16:55 ` Christopher Baines 2020-03-07 15:09 ` Sebastian Schott 2020-03-15 16:59 ` bug#39292: " Christopher Baines 2020-03-07 15:11 [bug#39292] [PATCH 01/10] gnu: Add python-pymediainfo Sebastian Schott 2020-03-07 15:11 ` [bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader Sebastian Schott -- strict thread matches above, loose matches on Subject: below -- 2020-02-02 9:36 [bug#39292] " Sebastian Schott 2020-02-02 10:11 ` Christopher Baines 2020-01-26 17:24 [bug#39292] [PATCH 01/10] gnu: Add python-pymediainfo Sebastian Schott 2020-01-26 17:24 ` [bug#39292] [PATCH 10/10] gnu: Add rapid-photo-downloader Sebastian Schott 2020-01-27 8:49 ` Christopher Baines
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).