* [bug#33131] [PATCH 0/4] Add hangups.
@ 2018-10-23 19:07 Tobias Geerinckx-Rice
2018-10-23 19:10 ` [bug#33131] [PATCH 1/4] gnu: Add python-readlike Tobias Geerinckx-Rice
2018-10-24 14:20 ` [bug#33131] [PATCH 0/4] " Leo Famulari
0 siblings, 2 replies; 7+ messages in thread
From: Tobias Geerinckx-Rice @ 2018-10-23 19:07 UTC (permalink / raw)
To: 33131
Guix,
Hangups is an ncurses client for Google's Hangouts IM thing. It's
orders of magnitude more pleasant to use than the Web interface,
and a lot more libre. The platform itself is proprietary rubbish,
but better than dying alone.
So there's that,
T G-R
^ permalink raw reply [flat|nested] 7+ messages in thread
* [bug#33131] [PATCH 1/4] gnu: Add python-readlike.
2018-10-23 19:07 [bug#33131] [PATCH 0/4] Add hangups Tobias Geerinckx-Rice
@ 2018-10-23 19:10 ` Tobias Geerinckx-Rice
2018-10-23 19:10 ` [bug#33131] [PATCH 2/4] gnu: Add python-reparser Tobias Geerinckx-Rice
` (2 more replies)
2018-10-24 14:20 ` [bug#33131] [PATCH 0/4] " Leo Famulari
1 sibling, 3 replies; 7+ messages in thread
From: Tobias Geerinckx-Rice @ 2018-10-23 19:10 UTC (permalink / raw)
To: 33131
* gnu/packages/python.scm (python-readlike, python2-readlike):
New public variables.
---
gnu/packages/python.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index dee7d9a06..d9f3ebfc5 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14524,3 +14524,30 @@ can be retrieved in constant time. Some of the terminology is inspired by
LISP. It is possible to create an improper list by creating a @code{Pair}
with a non-list @code{cdr}.")
(license license:gpl3+)))
+
+(define-public python-readlike
+ (package
+ (name "python-readlike")
+ (version "0.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "readlike" version))
+ (sha256
+ (base32 "027w8fvi50ksl57q0a7kb5zvmq8jxaawnviib1jdqw0p3igvm1j4"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/jangler/readlike")
+ (synopsis "GNU Readline-like line editing module")
+ (description
+ "This Python module provides line editing functions similar to the default
+Emacs-style ones of GNU Readline. Unlike the Python standard library's
+@code{readline} package, this one allows access to those capabilties in settings
+outside of a standard command-line interface. It is especially well-suited to
+interfacing with Urwid, due to a shared syntax for describing key inputs.
+
+Currently, all stateless Readline commands are implemented. Yanking and history
+are not supported.")
+ (license license:expat)))
+
+(define-public python2-readlike
+ (package-with-python2 python-readlike))
--
2.18.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#33131] [PATCH 2/4] gnu: Add python-reparser.
2018-10-23 19:10 ` [bug#33131] [PATCH 1/4] gnu: Add python-readlike Tobias Geerinckx-Rice
@ 2018-10-23 19:10 ` Tobias Geerinckx-Rice
2018-10-23 19:10 ` [bug#33131] [PATCH 3/4] gnu: Add python-mechanicalsoup Tobias Geerinckx-Rice
2018-10-23 19:10 ` [bug#33131] [PATCH 4/4] gnu: Add hangups Tobias Geerinckx-Rice
2 siblings, 0 replies; 7+ messages in thread
From: Tobias Geerinckx-Rice @ 2018-10-23 19:10 UTC (permalink / raw)
To: 33131
* gnu/packages/python.scm (python-reparser, python2-reparser):
New public variable.
---
gnu/packages/python.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index d9f3ebfc5..fbb280224 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14551,3 +14551,29 @@ are not supported.")
(define-public python2-readlike
(package-with-python2 python-readlike))
+
+(define-public python-reparser
+ (package
+ (name "python-reparser")
+ (version "1.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ReParser" version))
+ (sha256
+ (base32 "0nniqb69xr0fv7ydlmrr877wyyjb61nlayka7xr08vlxl9caz776"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/xmikos/reparser")
+ (synopsis "Simple lexer/parser for inline markup based on regular expressions")
+ (description
+ "This Python library provides a simple lexer/parser for inline markup based
+on regular expressions.")
+ (license license:expat)))
+
+(define-public python2-reparser
+ (let ((reparser (package-with-python2
+ (strip-python2-variant python-reparser))))
+ (package (inherit reparser)
+ (propagated-inputs
+ `(("python2-enum34" ,python2-enum34)
+ ,@(package-propagated-inputs reparser))))))
--
2.18.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#33131] [PATCH 3/4] gnu: Add python-mechanicalsoup.
2018-10-23 19:10 ` [bug#33131] [PATCH 1/4] gnu: Add python-readlike Tobias Geerinckx-Rice
2018-10-23 19:10 ` [bug#33131] [PATCH 2/4] gnu: Add python-reparser Tobias Geerinckx-Rice
@ 2018-10-23 19:10 ` Tobias Geerinckx-Rice
2018-10-23 19:10 ` [bug#33131] [PATCH 4/4] gnu: Add hangups Tobias Geerinckx-Rice
2 siblings, 0 replies; 7+ messages in thread
From: Tobias Geerinckx-Rice @ 2018-10-23 19:10 UTC (permalink / raw)
To: 33131
* gnu/packages/python-web.scm (python-mechanicalsoup)
(python2-mechanicalsoup): New public variable.
---
gnu/packages/python-web.scm | 38 +++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index f8052458a..eda796e01 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -60,6 +60,7 @@
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages tls)
#:use-module (gnu packages time)
+ #:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (srfi srfi-1))
@@ -255,6 +256,43 @@ other HTTP libraries.")
(define-public python2-httplib2
(package-with-python2 python-httplib2))
+(define-public python-mechanicalsoup
+ (package
+ (name "python-mechanicalsoup")
+ (version "0.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "MechanicalSoup" version))
+ (sha256
+ (base32 "0k59wwk75q7nz6i6gynvzhagy02ql0bv7py3qqcwgjw7607yq4i7"))))
+ (build-system python-build-system)
+ (arguments
+ ;; TODO: Enable tests when python-flake8@3.5 hits master.
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("python-beautifulsoup4" ,python-beautifulsoup4)
+ ("python-lxml" ,python-lxml)
+ ("python-requests" ,python-requests)
+ ("python-six" ,python-six)))
+ ;; (native-inputs
+ ;; ;; For tests.
+ ;; `(("python-pytest-flake8" ,python-pytest-flake8)
+ ;; ("python-pytest-httpbin" ,python-pytest-httpbin)
+ ;; ("python-pytest-mock" ,python-pytest-mock)
+ ;; ("python-pytest-runner" ,python-pytest-runner)
+ ;; ("python-requests-mock" ,python-requests-mock)))
+ (home-page "https://mechanicalsoup.readthedocs.io/")
+ (synopsis "Python library for automating website interaction")
+ (description
+ "MechanicalSoup is a Python library for automating interaction with
+websites. It automatically stores and sends cookies, follows redirects, and can
+follow links and submit forms. It doesn’t do JavaScript.")
+ (license license:expat)))
+
+(define-public python2-mechanicalsoup
+ (package-with-python2 python-mechanicalsoup))
+
(define-public python-sockjs-tornado
(package
(name "python-sockjs-tornado")
--
2.18.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#33131] [PATCH 4/4] gnu: Add hangups.
2018-10-23 19:10 ` [bug#33131] [PATCH 1/4] gnu: Add python-readlike Tobias Geerinckx-Rice
2018-10-23 19:10 ` [bug#33131] [PATCH 2/4] gnu: Add python-reparser Tobias Geerinckx-Rice
2018-10-23 19:10 ` [bug#33131] [PATCH 3/4] gnu: Add python-mechanicalsoup Tobias Geerinckx-Rice
@ 2018-10-23 19:10 ` Tobias Geerinckx-Rice
2 siblings, 0 replies; 7+ messages in thread
From: Tobias Geerinckx-Rice @ 2018-10-23 19:10 UTC (permalink / raw)
To: 33131
* gnu/packages/messaging.scm (hangups): New public variable.
---
gnu/packages/messaging.scm | 44 ++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 3f050391b..711b7d0fa 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -71,8 +71,10 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
+ #:use-module (gnu packages python-web)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages tcl)
@@ -1719,4 +1721,46 @@ QMatrixClient project.")
(license (list license:gpl3+ ; all source code
license:lgpl3+)))) ; icons/breeze
+(define-public hangups
+ (package
+ (name "hangups")
+ (version "0.4.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "hangups" version))
+ (sha256
+ (base32 "0mvpfd5dc3zgcvwfidcd2qyn59xl5biv728mxifw0ls5rzkc9chs"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'relax-dependencies
+ ;; Relax overly strict package version specifications.
+ (lambda _
+ (substitute* "setup.py"
+ (("==") ">="))
+ #t)))))
+ (propagated-inputs
+ `(("python-aiohttp" ,python-aiohttp)
+ ("python-appdirs" ,python-appdirs)
+ ("python-async-timeout" ,python-async-timeout)
+ ("python-configargparse" ,python-configargparse)
+ ("python-mechanicalsoup" ,python-mechanicalsoup)
+ ("python-protobuf" ,python-protobuf)
+ ("python-readlike" ,python-readlike)
+ ("python-reparser" ,python-reparser)
+ ("python-requests" ,python-requests)
+ ("python-urwid" ,python-urwid)))
+ (home-page "https://hangups.readthedocs.io/")
+ (synopsis "Instant messaging client for Google Hangouts")
+ (description
+ "Hangups is an instant messaging client for Google Hangouts. It includes
+both a Python library and a reference client with a text-based user interface.
+
+Hangups is implements a reverse-engineered version of Hangouts' proprietary,
+non-interoperable protocol, which allows it to support features like group
+ messaging that aren’t available to clients that connect over XMPP.")
+ (license license:expat)))
+
;;; messaging.scm ends here
--
2.18.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#33131] [PATCH 0/4] Add hangups.
2018-10-23 19:07 [bug#33131] [PATCH 0/4] Add hangups Tobias Geerinckx-Rice
2018-10-23 19:10 ` [bug#33131] [PATCH 1/4] gnu: Add python-readlike Tobias Geerinckx-Rice
@ 2018-10-24 14:20 ` Leo Famulari
2018-10-24 21:14 ` bug#33131: " Tobias Geerinckx-Rice
1 sibling, 1 reply; 7+ messages in thread
From: Leo Famulari @ 2018-10-24 14:20 UTC (permalink / raw)
To: Tobias Geerinckx-Rice; +Cc: 33131
[-- Attachment #1: Type: text/plain, Size: 261 bytes --]
On Tue, Oct 23, 2018 at 09:07:13PM +0200, Tobias Geerinckx-Rice wrote:
> Guix,
>
> Hangups is an ncurses client for Google's Hangouts IM thing. It's orders of
> magnitude more pleasant to use than the Web interface, and a lot more libre.
Thanks, LGTM!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#33131: [PATCH 0/4] Add hangups.
2018-10-24 14:20 ` [bug#33131] [PATCH 0/4] " Leo Famulari
@ 2018-10-24 21:14 ` Tobias Geerinckx-Rice
0 siblings, 0 replies; 7+ messages in thread
From: Tobias Geerinckx-Rice @ 2018-10-24 21:14 UTC (permalink / raw)
To: Leo Famulari; +Cc: 33131-done
Leo Famulari wrote:
> On Tue, Oct 23, 2018 at 09:07:13PM +0200, Tobias Geerinckx-Rice
> wrote:
>> Guix,
>>
>> Hangups is an ncurses client for Google's Hangouts IM
>> thing. It's orders of
>> magnitude more pleasant to use than the Web interface, and a
>> lot more libre.
>
> Thanks, LGTM!
Thank you!
Pushed as f65fdd95df71f829cbb21542a1bb2cb1de68554c with a small
tweak (to a leading space in hangups' description which I
pinky-promise wasn't a test).
Kind regards,
T G-R
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-10-24 21:15 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-23 19:07 [bug#33131] [PATCH 0/4] Add hangups Tobias Geerinckx-Rice
2018-10-23 19:10 ` [bug#33131] [PATCH 1/4] gnu: Add python-readlike Tobias Geerinckx-Rice
2018-10-23 19:10 ` [bug#33131] [PATCH 2/4] gnu: Add python-reparser Tobias Geerinckx-Rice
2018-10-23 19:10 ` [bug#33131] [PATCH 3/4] gnu: Add python-mechanicalsoup Tobias Geerinckx-Rice
2018-10-23 19:10 ` [bug#33131] [PATCH 4/4] gnu: Add hangups Tobias Geerinckx-Rice
2018-10-24 14:20 ` [bug#33131] [PATCH 0/4] " Leo Famulari
2018-10-24 21:14 ` bug#33131: " Tobias Geerinckx-Rice
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).