Giara - A free-software client for Reddit

OpenSubmitted by Raghav Gururajan.
Details
2 participants
  • Efraim Flashner
  • Raghav Gururajan
Owner
unassigned
Severity
normal
R
R
Raghav Gururajan wrote on 1 Mar 22:44 +0100
(address . guix-patches@gnu.org)
cf444fe8-746c-a72b-99d7-d3ebe9a06ecd@raghavgururajan.name
From 20c12e445cdca94ca8277b89d16c69ad5cd1af79 Mon Sep 17 00:00:00 2001From: Raghav Gururajan <rg@raghavgururajan.name>Date: Mon, 1 Mar 2021 15:10:06 -0500Subject: [PATCH 1/5] gnu: Add python-betamax-serializers.
* gnu/packages/python-check.scm (python-betamax-serializers): New variable.--- gnu/packages/python-check.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
Toggle diff (34 lines)diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scmindex c23741825b..ac96310cd0 100644--- a/gnu/packages/python-check.scm+++ b/gnu/packages/python-check.scm@@ -40,6 +40,27 @@ #:use-module (guix download) #:use-module (guix build-system python)) +(define-public python-betamax-serializers+ (package+ (name "python-betamax-serializers")+ (version "0.2.1")+ (source+ (origin+ (method url-fetch)+ (uri+ (pypi-uri "betamax-serializers" version))+ (sha256+ (base32 "0ja9isbjmzzhxdj69s0kdsvw8nkp073w6an6a4liy5vk3fdl2p1l"))))+ (build-system python-build-system)+ (propagated-inputs+ `(("python-betamax" ,python-betamax)+ ("python-pyyaml" ,python-pyyaml)))+ (synopsis "Set of third-party serializers for Betamax")+ (description "Betamax-Serializers are an experimental set of Serializers for+Betamax that may possibly end up in the main package.")+ (home-page "https://gitlab.com/betamax/serializers")+ (license license:asl2.0)))+ (define-public python-coveralls (package (name "python-coveralls")-- 2.30.1
From 2bc948be9324add1b6b15795c5d65dda2d956d6e Mon Sep 17 00:00:00 2001From: Raghav Gururajan <rg@raghavgururajan.name>Date: Mon, 1 Mar 2021 15:33:33 -0500Subject: [PATCH 2/5] gnu: Add python-testfixtures.
* gnu/packages/python-check.scm (python-testfixtures): New variable.--- gnu/packages/python-check.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+)
Toggle diff (49 lines)diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scmindex ac96310cd0..10b35846f5 100644--- a/gnu/packages/python-check.scm+++ b/gnu/packages/python-check.scm@@ -28,7 +28,9 @@ (define-module (gnu packages python-check) #:use-module (gnu packages) #:use-module (gnu packages check)+ #:use-module (gnu packages django) #:use-module (gnu packages openstack)+ #:use-module (gnu packages python-build) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages web)@@ -40,6 +42,32 @@ #:use-module (guix download) #:use-module (guix build-system python)) +(define-public python-testfixtures+ (package+ (name "python-testfixtures")+ (version "6.17.1")+ (source+ (origin+ (method url-fetch)+ (uri+ (pypi-uri "testfixtures" version))+ (sha256+ (base32 "1nlv2hz20czjp4a811ichl5kwg99rh84l0mw9wq4rk3idzfs1hsy"))))+ (build-system python-build-system)+ (arguments+ `(#:tests? #f)) ; PyTest-Django fails to build in master+ (native-inputs+ `(("python-pytest" ,python-pytest)+ ("python-pytest-cov" ,python-pytest-cov)+ ;;("python-pytest-django" ,python-pytest-django)+ ("python-twine" ,python-twine)+ ("python-wheel" ,python-wheel)))+ (synopsis "Tests components for Python")+ (description "Testfixtures is a collection of helpers and mock objects that+are useful when writing automated tests in Python.")+ (home-page "https://testfixtures.readthedocs.io/en/latest/")+ (license license:expat)))+ (define-public python-betamax-serializers (package (name "python-betamax-serializers")-- 2.30.1
From 8ff9766b7228d5772c5b7f5449031163e8e7ecd1 Mon Sep 17 00:00:00 2001From: Raghav Gururajan <rg@raghavgururajan.name>Date: Mon, 1 Mar 2021 15:37:23 -0500Subject: [PATCH 3/5] gnu: Add python-prawcore.
* gnu/packages/python-web.scm (python-prawcore): New variable.--- gnu/packages/python-web.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)
Toggle diff (39 lines)diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scmindex ab3769b360..27b31143ea 100644--- a/gnu/packages/python-web.scm+++ b/gnu/packages/python-web.scm@@ -91,6 +91,32 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (srfi srfi-1)) +(define-public python-prawcore+ (package+ (name "python-prawcore")+ (version "2.0.0")+ (source+ (origin+ (method url-fetch)+ (uri+ (pypi-uri "prawcore" version))+ (sha256+ (base32 "1l9nrn4s03xl8fvkyybdk86bm9cyyk43alkxf9g014a9ynvdk65l"))))+ (build-system python-build-system)+ (native-inputs+ `(("python-betamax" ,python-betamax)+ ("python-betamax-matchers" ,python-betamax-matchers)+ ("python-betamax-serializers" ,python-betamax-serializers)+ ("python-mock" ,python-mock)+ ("python-pytest" ,python-pytest)+ ("python-testfixtures" ,python-testfixtures)))+ (propagated-inputs+ `(("python-requests" ,python-requests)))+ (synopsis "Core component of PRAW")+ (description "PRAWcore is a low-level communication layer used by PRAW.")+ (home-page "https://praw.readthedocs.io/en/latest/")+ (license license:bsd-2)))+ (define-public python-aiohttp (package (name "python-aiohttp")-- 2.30.1
From a5e10670128fb2a7fcffa4a03e979231cc403a6d Mon Sep 17 00:00:00 2001From: Raghav Gururajan <rg@raghavgururajan.name>Date: Mon, 1 Mar 2021 16:01:21 -0500Subject: [PATCH 4/5] gnu: Add python-praw.
* gnu/packages/python-web.scm (python-raw): New variable.--- gnu/packages/python-web.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+)
Toggle diff (41 lines)diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scmindex 27b31143ea..9acafd14e3 100644--- a/gnu/packages/python-web.scm+++ b/gnu/packages/python-web.scm@@ -117,6 +117,34 @@ (home-page "https://praw.readthedocs.io/en/latest/") (license license:bsd-2))) +(define-public python-praw+ (package+ (name "python-praw")+ (version "7.2.0")+ (source+ (origin+ (method url-fetch)+ (uri+ (pypi-uri "praw" version))+ (sha256+ (base32 "0ll1a0n8xs8gykizdsfrw63jp6bc39ab0pk3yzwcak96fyxh0ij3"))))+ (build-system python-build-system)+ (arguments+ `(#:tests? #f)) ; https://github.com/praw-dev/praw/issues/1699+ (native-inputs+ `(("python-betamax" ,python-betamax)+ ("python-betamax-matchers" ,python-betamax-matchers)+ ("python-pytest" ,python-pytest)))+ (propagated-inputs+ `(("python-prawcore" ,python-prawcore)+ ("python-websocket-client" ,python-websocket-client)))+ (synopsis "Python Reddit API Wrapper")+ (description "PRAW is a Python package that allows for simple access to+Reddit’s API. It aims to be easy to use and internally follows all of Reddit’s+API rules.")+ (home-page "https://praw.readthedocs.io/en/latest/")+ (license license:bsd-2)))+ (define-public python-aiohttp (package (name "python-aiohttp")-- 2.30.1
From d7a3665d04a70e1d0a09da805a3d3974e8c9ce5c Mon Sep 17 00:00:00 2001From: Raghav Gururajan <rg@raghavgururajan.name>Date: Mon, 1 Mar 2021 16:40:12 -0500Subject: [PATCH 5/5] gnu: Add giara.
* gnu/packages/web.scm (giara): New variable.--- gnu/packages/web.scm | 67 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+)
Toggle diff (87 lines)diff --git a/gnu/packages/web.scm b/gnu/packages/web.scmindex 3e9fdbb7f6..cbceb36dea 100644--- a/gnu/packages/web.scm+++ b/gnu/packages/web.scm@@ -164,13 +164,80 @@ #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils)+ #:use-module (gnu packages time) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) #:use-module (gnu packages version-control) #:use-module (gnu packages vim)+ #:use-module (gnu packages webkit) #:use-module (gnu packages xml) #:use-module ((srfi srfi-1) #:select (delete-duplicates))) +(define-public giara+ (package+ (name "giara")+ (version "0.3")+ (source+ (origin+ (method git-fetch)+ (uri+ (git-reference+ (url "https://gitlab.gnome.org/World/giara")+ (commit version)))+ (file-name+ (git-file-name name version))+ (sha256+ (base32 "004qmkfrgd37axv0b6hfh6v7nx4pvy987k5yv4bmlmkj9sbqm6f9"))))+ (build-system meson-build-system)+ (arguments+ `(#:glib-or-gtk? #t+ #:phases+ (modify-phases %standard-phases+ (add-after 'install 'wrap-programs+ (lambda* (#:key outputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (bin (string-append out "/bin/"))+ (lib (string-append out "/lib/python"+ ,(version-major+minor+ (package-version python))+ "/site-packages")))+ (for-each+ (lambda (program)+ (wrap-program program+ `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,lib))+ `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))+ (append+ (map (lambda (prog) (string-append bin prog))+ '("giara"))))+ #t))))))+ (native-inputs+ `(("gettext" ,gettext-minimal)+ ("glib:bin" ,glib "bin")+ ("gobject-introspection" ,gobject-introspection)+ ("gtk+:bin" ,gtk+ "bin")+ ("pkg-config" ,pkg-config)+ ("xmllint" ,libxml2)))+ (inputs+ `( ;; ("appstream-cli" ,appstream-cli)+ ("glib" ,glib)+ ("gtk+" ,gtk+)+ ("gtksourceview" ,gtksourceview)+ ("libhandy" ,libhandy)+ ("python" ,python)+ ("python-beautifulsoup" ,python-beautifulsoup4)+ ("python-dateutil" ,python-dateutil)+ ("python-mistune" ,python-mistune)+ ("python-pillow" ,python-pillow)+ ("python-praw" ,python-praw)+ ("python-pycairo" ,python-pycairo)+ ("python-pygobject" ,python-pygobject)+ ("python-requests" ,python-requests)+ ("webkitgtk" ,webkitgtk)))+ (synopsis "Client for Reddit")+ (description "Giara is a reddit app, built with Python, GTK and Handy.")+ (home-page "https://giara.gabmus.org/")+ (license license:gpl3+)))+ (define-public qhttp (package (name "qhttp")-- 2.30.1
Attachment: OpenPGP_signature
E
E
Efraim Flashner wrote on 9 Mar 08:59 +0100
(name . Raghav Gururajan)(address . rg@raghavgururajan.name)(address . 46862@debbugs.gnu.org)
YEcq0M6MIokud6S1@3900XT
It definitely launched much faster than on my pinephone. A couple of comments inlined.
Also, I wasn't able to login to giara. I got redirected to icecat andwas able to login and press authorize as expected, but nothing happenedwith the giara window and it stayed at 'waiting for authorization'. I'mnot sure if it's because I'm not running a GTK desktop, but I didn'tinvestigate too far.
On Mon, Mar 01, 2021 at 04:44:23PM -0500, Raghav Gururajan via Guix-patches via wrote:
Toggle quote (19 lines)> From 20c12e445cdca94ca8277b89d16c69ad5cd1af79 Mon Sep 17 00:00:00 2001> From: Raghav Gururajan <rg@raghavgururajan.name>> Date: Mon, 1 Mar 2021 15:10:06 -0500> Subject: [PATCH 1/5] gnu: Add python-betamax-serializers.> > * gnu/packages/python-check.scm (python-betamax-serializers): New variable.> ---> gnu/packages/python-check.scm | 21 +++++++++++++++++++++> 1 file changed, 21 insertions(+)> > diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm> index c23741825b..ac96310cd0 100644> --- a/gnu/packages/python-check.scm> +++ b/gnu/packages/python-check.scm> @@ -40,6 +40,27 @@> #:use-module (guix download)> #:use-module (guix build-system python))>
This package should be in python-web with the other python-betamaxpackages
Toggle quote (10 lines)> +(define-public python-betamax-serializers> + (package> + (name "python-betamax-serializers")> + (version "0.2.1")> + (source> + (origin> + (method url-fetch)> + (uri> + (pypi-uri "betamax-serializers" version))
This can be on one line
Toggle quote (57 lines)> + (sha256> + (base32 "0ja9isbjmzzhxdj69s0kdsvw8nkp073w6an6a4liy5vk3fdl2p1l"))))> + (build-system python-build-system)> + (propagated-inputs> + `(("python-betamax" ,python-betamax)> + ("python-pyyaml" ,python-pyyaml)))> + (synopsis "Set of third-party serializers for Betamax")> + (description "Betamax-Serializers are an experimental set of Serializers for> +Betamax that may possibly end up in the main package.")> + (home-page "https://gitlab.com/betamax/serializers")> + (license license:asl2.0)))> +> (define-public python-coveralls> (package> (name "python-coveralls")> -- > 2.30.1>
> From 2bc948be9324add1b6b15795c5d65dda2d956d6e Mon Sep 17 00:00:00 2001> From: Raghav Gururajan <rg@raghavgururajan.name>> Date: Mon, 1 Mar 2021 15:33:33 -0500> Subject: [PATCH 2/5] gnu: Add python-testfixtures.> > * gnu/packages/python-check.scm (python-testfixtures): New variable.> ---> gnu/packages/python-check.scm | 28 ++++++++++++++++++++++++++++> 1 file changed, 28 insertions(+)> > diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm> index ac96310cd0..10b35846f5 100644> --- a/gnu/packages/python-check.scm> +++ b/gnu/packages/python-check.scm> @@ -28,7 +28,9 @@> (define-module (gnu packages python-check)> #:use-module (gnu packages)> #:use-module (gnu packages check)> + #:use-module (gnu packages django)> #:use-module (gnu packages openstack)> + #:use-module (gnu packages python-build)> #:use-module (gnu packages python-web)> #:use-module (gnu packages python-xyz)> #:use-module (gnu packages web)> @@ -40,6 +42,32 @@> #:use-module (guix download)> #:use-module (guix build-system python))> > +(define-public python-testfixtures> + (package> + (name "python-testfixtures")> + (version "6.17.1")> + (source> + (origin> + (method url-fetch)> + (uri> + (pypi-uri "testfixtures" version))
This can be on one line
Toggle quote (52 lines)> + (sha256> + (base32 "1nlv2hz20czjp4a811ichl5kwg99rh84l0mw9wq4rk3idzfs1hsy"))))> + (build-system python-build-system)> + (arguments> + `(#:tests? #f)) ; PyTest-Django fails to build in master> + (native-inputs> + `(("python-pytest" ,python-pytest)> + ("python-pytest-cov" ,python-pytest-cov)> + ;;("python-pytest-django" ,python-pytest-django)> + ("python-twine" ,python-twine)> + ("python-wheel" ,python-wheel)))> + (synopsis "Tests components for Python")> + (description "Testfixtures is a collection of helpers and mock objects that> +are useful when writing automated tests in Python.")> + (home-page "https://testfixtures.readthedocs.io/en/latest/")> + (license license:expat)))> +> (define-public python-betamax-serializers> (package> (name "python-betamax-serializers")> -- > 2.30.1>
> From 8ff9766b7228d5772c5b7f5449031163e8e7ecd1 Mon Sep 17 00:00:00 2001> From: Raghav Gururajan <rg@raghavgururajan.name>> Date: Mon, 1 Mar 2021 15:37:23 -0500> Subject: [PATCH 3/5] gnu: Add python-prawcore.> > * gnu/packages/python-web.scm (python-prawcore): New variable.> ---> gnu/packages/python-web.scm | 26 ++++++++++++++++++++++++++> 1 file changed, 26 insertions(+)> > diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm> index ab3769b360..27b31143ea 100644> --- a/gnu/packages/python-web.scm> +++ b/gnu/packages/python-web.scm> @@ -91,6 +91,32 @@> #:use-module ((guix licenses) #:prefix license:)> #:use-module (srfi srfi-1))> > +(define-public python-prawcore> + (package> + (name "python-prawcore")> + (version "2.0.0")> + (source> + (origin> + (method url-fetch)> + (uri> + (pypi-uri "prawcore" version))
This can be on one line
Toggle quote (52 lines)> + (sha256> + (base32 "1l9nrn4s03xl8fvkyybdk86bm9cyyk43alkxf9g014a9ynvdk65l"))))> + (build-system python-build-system)> + (native-inputs> + `(("python-betamax" ,python-betamax)> + ("python-betamax-matchers" ,python-betamax-matchers)> + ("python-betamax-serializers" ,python-betamax-serializers)> + ("python-mock" ,python-mock)> + ("python-pytest" ,python-pytest)> + ("python-testfixtures" ,python-testfixtures)))> + (propagated-inputs> + `(("python-requests" ,python-requests)))> + (synopsis "Core component of PRAW")> + (description "PRAWcore is a low-level communication layer used by PRAW.")> + (home-page "https://praw.readthedocs.io/en/latest/")> + (license license:bsd-2)))> +> (define-public python-aiohttp> (package> (name "python-aiohttp")> -- > 2.30.1>
> From a5e10670128fb2a7fcffa4a03e979231cc403a6d Mon Sep 17 00:00:00 2001> From: Raghav Gururajan <rg@raghavgururajan.name>> Date: Mon, 1 Mar 2021 16:01:21 -0500> Subject: [PATCH 4/5] gnu: Add python-praw.> > * gnu/packages/python-web.scm (python-raw): New variable.> ---> gnu/packages/python-web.scm | 28 ++++++++++++++++++++++++++++> 1 file changed, 28 insertions(+)> > diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm> index 27b31143ea..9acafd14e3 100644> --- a/gnu/packages/python-web.scm> +++ b/gnu/packages/python-web.scm> @@ -117,6 +117,34 @@> (home-page "https://praw.readthedocs.io/en/latest/")> (license license:bsd-2)))> > +(define-public python-praw> + (package> + (name "python-praw")> + (version "7.2.0")> + (source> + (origin> + (method url-fetch)> + (uri> + (pypi-uri "praw" version))
This can be on one line
Toggle quote (6 lines)> + (sha256> + (base32 "0ll1a0n8xs8gykizdsfrw63jp6bc39ab0pk3yzwcak96fyxh0ij3"))))> + (build-system python-build-system)> + (arguments> + `(#:tests? #f)) ; https://github.com/praw-dev/praw/issues/1699
There were a couple of failing tests, but I was able to run the testsuite with the following code:
(arguments `(;#:tests? #f #:phases (modify-phases %standard-phases (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? (invoke "pytest")) #t)))))
Toggle quote (26 lines)> + (native-inputs> + `(("python-betamax" ,python-betamax)> + ("python-betamax-matchers" ,python-betamax-matchers)> + ("python-pytest" ,python-pytest)))> + (propagated-inputs> + `(("python-prawcore" ,python-prawcore)> + ("python-websocket-client" ,python-websocket-client)))> + (synopsis "Python Reddit API Wrapper")> + (description "PRAW is a Python package that allows for simple access to> +Reddit’s API. It aims to be easy to use and internally follows all of Reddit’s> +API rules.")> + (home-page "https://praw.readthedocs.io/en/latest/")> + (license license:bsd-2)))> +> (define-public python-aiohttp> (package> (name "python-aiohttp")> -- > 2.30.1>
> From d7a3665d04a70e1d0a09da805a3d3974e8c9ce5c Mon Sep 17 00:00:00 2001> From: Raghav Gururajan <rg@raghavgururajan.name>> Date: Mon, 1 Mar 2021 16:40:12 -0500> Subject: [PATCH 5/5] gnu: Add giara.
This should probably be in syndication.scm
Toggle quote (33 lines)> > * gnu/packages/web.scm (giara): New variable.> ---> gnu/packages/web.scm | 67 ++++++++++++++++++++++++++++++++++++++++++++> 1 file changed, 67 insertions(+)> > diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm> index 3e9fdbb7f6..cbceb36dea 100644> --- a/gnu/packages/web.scm> +++ b/gnu/packages/web.scm> @@ -164,13 +164,80 @@> #:use-module (gnu packages sphinx)> #:use-module (gnu packages texinfo)> #:use-module (gnu packages textutils)> + #:use-module (gnu packages time)> #:use-module (gnu packages tls)> #:use-module (gnu packages valgrind)> #:use-module (gnu packages version-control)> #:use-module (gnu packages vim)> + #:use-module (gnu packages webkit)> #:use-module (gnu packages xml)> #:use-module ((srfi srfi-1) #:select (delete-duplicates)))> > +(define-public giara> + (package> + (name "giara")> + (version "0.3")> + (source> + (origin> + (method git-fetch)> + (uri> + (git-reference
This can be on the previous line
Toggle quote (5 lines)> + (url "https://gitlab.gnome.org/World/giara")> + (commit version)))> + (file-name> + (git-file-name name version))
Ditto
Toggle quote (24 lines)> + (sha256> + (base32 "004qmkfrgd37axv0b6hfh6v7nx4pvy987k5yv4bmlmkj9sbqm6f9"))))> + (build-system meson-build-system)> + (arguments> + `(#:glib-or-gtk? #t> + #:phases> + (modify-phases %standard-phases> + (add-after 'install 'wrap-programs> + (lambda* (#:key outputs #:allow-other-keys)> + (let* ((out (assoc-ref outputs "out"))> + (bin (string-append out "/bin/"))> + (lib (string-append out "/lib/python"> + ,(version-major+minor> + (package-version python))> + "/site-packages")))> + (for-each> + (lambda (program)> + (wrap-program program> + `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,lib))> + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))> + (append> + (map (lambda (prog) (string-append bin prog))> + '("giara"))))
There's only one binary to wrap, so this can be shorter(wrap-program (string-append bin "giara") `("PYTHONPATH" ...
Also, should it be wrapped with prefix instead of an absolute value?Then other environment variables affecting those ones would be honored.
Toggle quote (40 lines)> + #t))))))> + (native-inputs> + `(("gettext" ,gettext-minimal)> + ("glib:bin" ,glib "bin")> + ("gobject-introspection" ,gobject-introspection)> + ("gtk+:bin" ,gtk+ "bin")> + ("pkg-config" ,pkg-config)> + ("xmllint" ,libxml2)))> + (inputs> + `( ;; ("appstream-cli" ,appstream-cli)> + ("glib" ,glib)> + ("gtk+" ,gtk+)> + ("gtksourceview" ,gtksourceview)> + ("libhandy" ,libhandy)> + ("python" ,python)> + ("python-beautifulsoup" ,python-beautifulsoup4)> + ("python-dateutil" ,python-dateutil)> + ("python-mistune" ,python-mistune)> + ("python-pillow" ,python-pillow)> + ("python-praw" ,python-praw)> + ("python-pycairo" ,python-pycairo)> + ("python-pygobject" ,python-pygobject)> + ("python-requests" ,python-requests)> + ("webkitgtk" ,webkitgtk)))> + (synopsis "Client for Reddit")> + (description "Giara is a reddit app, built with Python, GTK and Handy.")> + (home-page "https://giara.gabmus.org/")> + (license license:gpl3+)))> +> (define-public qhttp> (package> (name "qhttp")> -- > 2.30.1>




-- Efraim Flashner <efraim@flashner.co.il> אפרים פלשנרGPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmBHKs4ACgkQQarn3Mo9g1EEQg/8DuesgxMpp4U+ANsxZU8ZDQN8YZm27/rBU3TqZM038M8dEb9CqeXiVwqr7hdWJ1KaATq320cmXBO4t1bJcECg5m5mcyln/DoOvexELoN3+1osnkElcgpFWQLF1OB6Tu52fC/pyXI6meP3da9xQkOEvfCC93w5IWGEjyHMzfvW3GHEPofNLQDda5OdXhEPQyStfdiaCsvugUqLDLv4NBUMLQ8rBeYMSSdosit/PrkQs3T/wAgtXLq2jGsFEGE6IIA7up7VE2XA/V/9x1JPKlPZBsI+GlqMDBJ2pu70JFbTFs1shRplM7CSGhHRf53rt/gW139fs+ejJF6U9wgBmk2iOnowQ4nLt6iPmlb3RvZU/SE+JDjNploO+SeTomXmMlhMrzAKhk6YXaNKJbmq9jCfW4ag81e2AYfTUFstibOHvH7L48r39EXpOn7Kblm7ncAucf3q+5NF8UfLs0nREeNyUdjS836w1UsIM15q0DVZ9OQ8OQudwJqB57KoBODkWDDPJdug9CTMlDcyuFrYI/pRp9PMWxD4wq444xIZ08UplRdBEXQmnmRXErkBFNPoarCXip32BUISJZc4MxzCSDSybIPqmPFAqPNh5tWxLyxTLcwciHv8mjWUWz4a/6XUzfkBPw2RHuFKF+r97FlkRu+1z73GSjDQZbnI2jAQmUkICR8==+3ar-----END PGP SIGNATURE-----

R
R
Raghav Gururajan wrote on 10 Mar 14:02 +0100
Re: [bug#46862] Giara - A free-software client for Reddit (v2)
(name . Efraim Flashner)(address . efraim@flashner.co.il)(address . 46862@debbugs.gnu.org)
5aab6d48-b245-018c-65e7-aede1bc139e0@raghavgururajan.name
Hi Efraim!
Toggle quote (8 lines)> It definitely launched much faster than on my pinephone. A couple of comments inlined.> > Also, I wasn't able to login to giara. I got redirected to icecat and> was able to login and press authorize as expected, but nothing happened> with the giara window and it stayed at 'waiting for authorization'. I'm> not sure if it's because I'm not running a GTK desktop, but I didn't> investigate too far.
It appears to be an API issue. Probably reddit changed something in their back-end, like youtube. I'll contact Giara's author.
I have applied your suggested changes and attached v2 with this email.
Regards,RG.
From 44e3361a78bbcbe5c48b57fe584b23c1cd1dfda5 Mon Sep 17 00:00:00 2001From: Raghav Gururajan <rg@raghavgururajan.name>Date: Wed, 10 Mar 2021 06:43:09 -0500Subject: [PATCH 1/5] gnu: Add python-betamax-serializers.
* gnu/packages/python-web.scm (python-betamax-serializers): New variable.--- gnu/packages/python-web.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
Toggle diff (33 lines)diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scmindex b0268e5a31..b3a1d3ac67 100644--- a/gnu/packages/python-web.scm+++ b/gnu/packages/python-web.scm@@ -3228,6 +3228,26 @@ Betamax.") (define-public python2-betamax-matchers (package-with-python2 python-betamax-matchers)) +(define-public python-betamax-serializers+ (package+ (name "python-betamax-serializers")+ (version "0.2.1")+ (source+ (origin+ (method url-fetch)+ (uri (pypi-uri "betamax-serializers" version))+ (sha256+ (base32 "0ja9isbjmzzhxdj69s0kdsvw8nkp073w6an6a4liy5vk3fdl2p1l"))))+ (build-system python-build-system)+ (propagated-inputs+ `(("python-betamax" ,python-betamax)+ ("python-pyyaml" ,python-pyyaml)))+ (synopsis "Set of third-party serializers for Betamax")+ (description "Betamax-Serializers are an experimental set of Serializers for+Betamax that may possibly end up in the main package.")+ (home-page "https://gitlab.com/betamax/serializers")+ (license license:asl2.0)))+ (define-public python-s3transfer (package (name "python-s3transfer")-- 2.30.1
From a1507241c457b9ee3d1474b71849112637a3c6a2 Mon Sep 17 00:00:00 2001From: Raghav Gururajan <rg@raghavgururajan.name>Date: Wed, 10 Mar 2021 03:09:38 -0500Subject: [PATCH] gnu: qtsolutions: Enable examples.
* gnu/packages/qt.scm (qtsolutions) [arguments]: Modify phases'patch-source and 'install.--- gnu/packages/qt.scm | 62 ++++++++++++++++++++++++++++++++------------- 1 file changed, 44 insertions(+), 18 deletions(-)
Toggle diff (94 lines)diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scmindex d921aa87fe..8409fc1803 100644--- a/gnu/packages/qt.scm+++ b/gnu/packages/qt.scm@@ -2497,18 +2497,18 @@ securely. It will not store any data unencrypted unless explicitly requested.") (with-directory-excursion "qtsingleapplication/src" (for-each delete-file (find-files "." "qtlockedfile.*\\.(h|cpp)"))- (substitute* "qtsingleapplication.pri"- ;; Add include path of LockedFile.- (("INCLUDEPATH \\+=")- "INCLUDEPATH += ../../qtlockedfile/src")- ;; Link library of LockedFile.- (("LIBS \\+=")- "LIBS += -lQtSolutions_LockedFile"))- (substitute* '("qtlocalpeer.h" "qtlocalpeer.cpp")- (("#include \"qtlockedfile.*\\.cpp\"") "")- ;; Unwrap namespace added in the vendoring process.- (("QtLP_Private::QtLockedFile")- "QtLockedFile")))+ (substitute* "qtsingleapplication.pri"+ ;; Add include path of LockedFile.+ (("INCLUDEPATH \\+=")+ "INCLUDEPATH += ../../qtlockedfile/src")+ ;; Link library of LockedFile.+ (("LIBS \\+=")+ "LIBS += -lQtSolutions_LockedFile"))+ (substitute* '("qtlocalpeer.h" "qtlocalpeer.cpp")+ (("#include \"qtlockedfile.*\\.cpp\"") "")+ ;; Unwrap namespace added in the vendoring process.+ (("QtLP_Private::QtLockedFile")+ "QtLockedFile"))) #t)))) (build-system gnu-build-system) (arguments@@ -2524,16 +2524,32 @@ securely. It will not store any data unencrypted unless explicitly requested.") (modify-phases %standard-phases (add-after 'unpack 'patch-source (lambda* (#:key outputs #:allow-other-keys)+ ;; Rename example to examples, in qtlockedfile,+ ;; so that it gets picked up during install phase.+ (with-directory-excursion "qtlockedfile"+ (rename-file "example" "examples")+ (rename-file "examples/example.pro" "examples/examples.pro")+ (substitute* "qtlockedfile.pro"+ (("SUBDIRS\\+=example") "SUBDIRS+=examples"))) (substitute* (find-files "." "common.pri")+ ;; Patch run-path for binaries.+ (("QMAKE_RPATHDIR \\+= \\$\\$?.*_LIBDIR")+ (string-append "QMAKE_RPATHDIR += "+ (assoc-ref outputs "out") "/lib")) ;; Remove unnecessary prefixes/suffixes in library names. (("qt5") "qt") (("-head") ""))- ;; Disable building of examples.- (substitute* (find-files "." "\\.pro$")+ ;; Disable building of examples for QtSingleApplication.+ (substitute* "qtsingleapplication/qtsingleapplication.pro" (("SUBDIRS\\+=examples") ""))- ;; Fix deprecated functions.- (substitute* "qtsoap/src/qtsoap.cpp"- (("toAscii") "toUtf8"))+ (with-directory-excursion "qtsoap/src"+ ;; Patch Qt imports for QtSoap.+ (substitute* "qtsoap.pri"+ (("QT \\+= xml network")+ "QT += core gui widgets xml network"))+ ;; Fix deprecated functions.+ (substitute* "qtsoap.cpp"+ (("toAscii") "toUtf8"))) #t)) (replace 'configure (lambda _@@ -2560,7 +2576,17 @@ securely. It will not store any data unencrypted unless explicitly requested.") (assoc-ref copy:%standard-phases 'install) #:install-plan '(("src" "include" #:include-regexp ("\\.h$"))- ("lib" "lib"))+ ("lib" "lib")+ ("examples" "bin"+ #:include ("examples" "canvas_typed"+ "canvas_variant" "decoration"+ "demo" "extension"+ "object_controller" "simple"+ "controller" "interactive"+ "httpservice" "console"+ "loader" "trivial"+ "easter" "google"+ "population"))) args))) '("qtlockedfile" "qtpropertybrowser" "qtservice" "qtsingleapplication" "qtsoap")))))))-- 2.30.1
From da0e44fc2f610b20063471f2c40b4bd330d11507 Mon Sep 17 00:00:00 2001From: Raghav Gururajan <rg@raghavgururajan.name>Date: Wed, 10 Mar 2021 06:49:48 -0500Subject: [PATCH 2/5] gnu: Add python-testfixtures.
* gnu/packages/python-check.scm (python-testfixtures): New variable.--- gnu/packages/python-check.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
Toggle diff (48 lines)diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scmindex 15efdd3297..039fbaf554 100644--- a/gnu/packages/python-check.scm+++ b/gnu/packages/python-check.scm@@ -29,7 +29,9 @@ (define-module (gnu packages python-check) #:use-module (gnu packages) #:use-module (gnu packages check)+ #:use-module (gnu packages django) #:use-module (gnu packages openstack)+ #:use-module (gnu packages python-build) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages web)@@ -41,6 +43,31 @@ #:use-module (guix download) #:use-module (guix build-system python)) +(define-public python-testfixtures+ (package+ (name "python-testfixtures")+ (version "6.17.1")+ (source+ (origin+ (method url-fetch)+ (uri (pypi-uri "testfixtures" version))+ (sha256+ (base32 "1nlv2hz20czjp4a811ichl5kwg99rh84l0mw9wq4rk3idzfs1hsy"))))+ (build-system python-build-system)+ (arguments+ `(#:tests? #f)) ; PyTest-Django fails to build in master+ (native-inputs+ `(("python-pytest" ,python-pytest)+ ("python-pytest-cov" ,python-pytest-cov)+ ;;("python-pytest-django" ,python-pytest-django)+ ("python-twine" ,python-twine)+ ("python-wheel" ,python-wheel)))+ (synopsis "Tests components for Python")+ (description "Testfixtures is a collection of helpers and mock objects that+are useful when writing automated tests in Python.")+ (home-page "https://testfixtures.readthedocs.io/en/latest/")+ (license license:expat)))+ (define-public python-coveralls (package (name "python-coveralls")-- 2.30.1
From dc26c30cc35abfed45ad68beb7e93399947c7517 Mon Sep 17 00:00:00 2001From: Raghav Gururajan <rg@raghavgururajan.name>Date: Mon, 1 Mar 2021 15:37:23 -0500Subject: [PATCH 3/5] gnu: Add python-prawcore.
* gnu/packages/python-web.scm (python-prawcore): New variable.--- gnu/packages/python-web.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)
Toggle diff (38 lines)diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scmindex b3a1d3ac67..fa479ff7dd 100644--- a/gnu/packages/python-web.scm+++ b/gnu/packages/python-web.scm@@ -91,6 +91,31 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (srfi srfi-1)) +(define-public python-prawcore+ (package+ (name "python-prawcore")+ (version "2.0.0")+ (source+ (origin+ (method url-fetch)+ (uri (pypi-uri "prawcore" version))+ (sha256+ (base32 "1l9nrn4s03xl8fvkyybdk86bm9cyyk43alkxf9g014a9ynvdk65l"))))+ (build-system python-build-system)+ (native-inputs+ `(("python-betamax" ,python-betamax)+ ("python-betamax-matchers" ,python-betamax-matchers)+ ("python-betamax-serializers" ,python-betamax-serializers)+ ("python-mock" ,python-mock)+ ("python-pytest" ,python-pytest)+ ("python-testfixtures" ,python-testfixtures)))+ (propagated-inputs+ `(("python-requests" ,python-requests)))+ (synopsis "Core component of PRAW")+ (description "PRAWcore is a low-level communication layer used by PRAW.")+ (home-page "https://praw.readthedocs.io/en/latest/")+ (license license:bsd-2)))+ (define-public python-aiohttp (package (name "python-aiohttp")-- 2.30.1
From 60bc56b8473d3648e35d1a222fbd80cb5d0e6fb1 Mon Sep 17 00:00:00 2001From: Raghav Gururajan <rg@raghavgururajan.name>Date: Mon, 1 Mar 2021 16:01:21 -0500Subject: [PATCH 4/5] gnu: Add python-praw.
* gnu/packages/python-web.scm (python-raw): New variable.--- gnu/packages/python-web.scm | 43 +++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+)
Toggle diff (56 lines)diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scmindex fa479ff7dd..e4152e6463 100644--- a/gnu/packages/python-web.scm+++ b/gnu/packages/python-web.scm@@ -116,6 +116,49 @@ (home-page "https://praw.readthedocs.io/en/latest/") (license license:bsd-2))) +(define-public python-praw+ (package+ (name "python-praw")+ (version "7.2.0")+ (source+ (origin+ (method url-fetch)+ (uri (pypi-uri "praw" version))+ (sha256+ (base32 "0ll1a0n8xs8gykizdsfrw63jp6bc39ab0pk3yzwcak96fyxh0ij3"))))+ (build-system python-build-system)+ (arguments+ `(#:phases+ (modify-phases %standard-phases+ (add-after 'unpack 'disable-failing-tests+ (lambda _+ (with-directory-excursion "tests"+ ;; Require networking.+ (for-each delete-file-recursively+ '("integration/models" "unit/models"))+ ;; https://github.com/praw-dev/praw/issues/1699+ ;; #issuecomment-795336704+ (delete-file "unit/test_config.py"))+ #t))+ (replace 'check+ (lambda* (#:key tests? #:allow-other-keys)+ (when tests?+ (invoke "pytest"))+ #t)))))+ (native-inputs+ `(("python-betamax" ,python-betamax)+ ("python-betamax-matchers" ,python-betamax-matchers)+ ("python-pytest" ,python-pytest)))+ (propagated-inputs+ `(("python-prawcore" ,python-prawcore)+ ("python-websocket-client" ,python-websocket-client)))+ (synopsis "Python Reddit API Wrapper")+ (description "PRAW is a Python package that allows for simple access to+Reddit’s API. It aims to be easy to use and internally follows all of Reddit’s+API rules.")+ (home-page "https://praw.readthedocs.io/en/latest/")+ (license license:bsd-2)))+ (define-public python-aiohttp (package (name "python-aiohttp")-- 2.30.1
From 249a4ece2948a3ba2f9edb1f7db0f0f07d1831e7 Mon Sep 17 00:00:00 2001From: Raghav Gururajan <rg@raghavgururajan.name>Date: Wed, 10 Mar 2021 07:54:40 -0500Subject: [PATCH 5/5] gnu: Add giara.
* gnu/packages/syndication.scm (giara): New variable.--- gnu/packages/syndication.scm | 59 ++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+)
Toggle diff (86 lines)diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scmindex 79dbb77018..8e0b871e3d 100644--- a/gnu/packages/syndication.scm+++ b/gnu/packages/syndication.scm@@ -23,6 +23,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages)+ #:use-module (guix utils) #:use-module (guix build-system cargo) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu)@@ -36,6 +37,7 @@ #:use-module (gnu packages crates-io) #:use-module (gnu packages curl) #:use-module (gnu packages documentation)+ #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome)@@ -59,6 +61,63 @@ #:use-module (gnu packages xml) #:use-module (srfi srfi-1)) +(define-public giara+ (package+ (name "giara")+ (version "0.3")+ (source+ (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://gitlab.gnome.org/World/giara")+ (commit version)))+ (file-name (git-file-name name version))+ (sha256+ (base32 "004qmkfrgd37axv0b6hfh6v7nx4pvy987k5yv4bmlmkj9sbqm6f9"))))+ (build-system meson-build-system)+ (arguments+ `(#:glib-or-gtk? #t+ #:phases+ (modify-phases %standard-phases+ (add-after 'install 'wrap-programs+ (lambda* (#:key outputs #:allow-other-keys)+ (let* ((out (assoc-ref outputs "out"))+ (bin (string-append out "/bin/"))+ (lib (string-append out "/lib/python"+ ,(version-major+minor+ (package-version python))+ "/site-packages")))+ (wrap-program (string-append bin "giara")+ `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH") ,lib))+ `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))))+ #t)))))+ (native-inputs+ `(("gettext" ,gettext-minimal)+ ("glib:bin" ,glib "bin")+ ("gobject-introspection" ,gobject-introspection)+ ("gtk+:bin" ,gtk+ "bin")+ ("pkg-config" ,pkg-config)+ ("xmllint" ,libxml2)))+ (inputs+ `(("glib" ,glib)+ ("gtk+" ,gtk+)+ ("gtksourceview" ,gtksourceview)+ ("libhandy" ,libhandy)+ ("python" ,python)+ ("python-beautifulsoup" ,python-beautifulsoup4)+ ("python-dateutil" ,python-dateutil)+ ("python-mistune" ,python-mistune)+ ("python-pillow" ,python-pillow)+ ("python-praw" ,python-praw)+ ("python-pycairo" ,python-pycairo)+ ("python-pygobject" ,python-pygobject)+ ("python-requests" ,python-requests)+ ("webkitgtk" ,webkitgtk)))+ (synopsis "Client for Reddit")+ (description "Giara is a reddit app, built with Python, GTK and Handy.")+ (home-page "https://giara.gabmus.org/")+ (license license:gpl3+)))+ (define-public newsboat (package (name "newsboat")-- 2.30.1
Attachment: OpenPGP_signature
E
E
Efraim Flashner wrote on 11 Mar 20:00 +0100
(name . Raghav Gururajan)(address . rg@raghavgururajan.name)(address . 46862@debbugs.gnu.org)
YEpo3AsFuFqKVqB7@3900XT
On Wed, Mar 10, 2021 at 08:02:24AM -0500, Raghav Gururajan wrote:
Toggle quote (16 lines)> Hi Efraim!> > > It definitely launched much faster than on my pinephone. A couple of comments inlined.> > > > Also, I wasn't able to login to giara. I got redirected to icecat and> > was able to login and press authorize as expected, but nothing happened> > with the giara window and it stayed at 'waiting for authorization'. I'm> > not sure if it's because I'm not running a GTK desktop, but I didn't> > investigate too far.> > It appears to be an API issue. Probably reddit changed something in their> back-end, like youtube. I'll contact Giara's author.> > I have applied your suggested changes and attached v2 with this email.>
Everything looks good, but I'd feel better waiting until everything isresolved to actually commit giara. I'll go ahead and commit the otherpackages but I'd like to hold off on giara for a little bit.

-- Efraim Flashner <efraim@flashner.co.il> אפרים פלשנרGPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmBKaNwACgkQQarn3Mo9g1HCSw/8D9SAIdX7wsd9yWpDL5nGxpSbtYof6dOBOwOcxh1k1naXrcMLSs91uzA5lCm2NnCbKqLdFBbwK4T0rlG+vstNUtFSMNax+KO7AHEZqqMByeZsmPqtz/ubLQ37emm2/WeIQ5x5Jvmq8NVmjHRuh02+F8qMLSy1ur2Rg/ud0AIzhNAjssna5lHnGHRAzDACF5+WtrXI2zYk//syBaeHbqyBpRrbSAkhV5SEs2wh5rgEDDy3fawb82X03QcSl6D5B64QYAcczRN7zFcxAtmMkm3O+WNyw8+JR2Ur3KJxTng+EpvUYMi5MTNEhlF+Tn4EI5vFhLIXHW2oQbo1ZIwcYng8lDjaoh3GDjZZJvTiz1LUHTff/40B2ssaks3wIUcQipa40axyYqNiS+A6cGSUn8kyPDEblxPN8QP1LcrLql5Wef8jjdY9D/J4MFVT/GDTGcdz6PWlbvTjcmpDbJoKJTru8XtHn/o3f8OA003rcCUndQ/Hy9A1zDf55oL4CLJaC7lek3mYQRR1sTJxp8wwiHp3CIj0IwtB4oT9RwDequXUFJqYvIO1IfLaWys5iBIaLjc659Ii7YdjvjH0g/pMQ6xaaoRjBr58YbVV53hMCfclcxK0KQMzN28331cVluMtf686ZG53Vl16HUkAiDMwvhXVHhCRQoqaGhz4x5QwZ82ICxo==mFfC-----END PGP SIGNATURE-----

R
R
Raghav Gururajan wrote on 11 Mar 20:12 +0100
(name . Efraim Flashner)(address . efraim@flashner.co.il)(address . 46862@debbugs.gnu.org)
88b95d36-19ef-0274-44f9-99ef49cc7800@raghavgururajan.name
Hi Efraim!
Toggle quote (4 lines)> Everything looks good, but I'd feel better waiting until everything is> resolved to actually commit giara. I'll go ahead and commit the other> packages but I'd like to hold off on giara for a little bit.
Sounds good.
Thanks!
Regards,RG.
Attachment: OpenPGP_signature
?