[bug#34673] gnu: Add toot.

Message ID 20190227071650.5367-1-efraim@flashner.co.il
State Accepted
Headers show
Series [bug#34673] gnu: Add toot. | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied

Commit Message

Efraim Flashner Feb. 27, 2019, 7:16 a.m. UTC
* gnu/packages/syndication.scm (toot): New variable.
---
 gnu/packages/syndication.scm | 45 +++++++++++++++++++++++++++++++++++-
 1 file changed, 44 insertions(+), 1 deletion(-)

Comments

Leo Famulari Feb. 27, 2019, 7:54 p.m. UTC | #1
On Wed, Feb 27, 2019 at 09:16:50AM +0200, Efraim Flashner wrote:
> * gnu/packages/syndication.scm (toot): New variable.

Thanks, LGTM!

>  gnu/packages/syndication.scm | 45 +++++++++++++++++++++++++++++++++++-

Maybe we should have a (gnu packages social-media)? Or (gnu packages
mastodon)?
Efraim Flashner Feb. 28, 2019, 7:08 a.m. UTC | #2
On Wed, Feb 27, 2019 at 02:54:12PM -0500, Leo Famulari wrote:
> On Wed, Feb 27, 2019 at 09:16:50AM +0200, Efraim Flashner wrote:
> > * gnu/packages/syndication.scm (toot): New variable.
> 
> Thanks, LGTM!
> 
> >  gnu/packages/syndication.scm | 45 +++++++++++++++++++++++++++++++++++-
> 
> Maybe we should have a (gnu packages social-media)? Or (gnu packages
> mastodon)?

We currently have a gnu/packages/pumpio.scm so I created on for
mastodon. Perhaps we should join them into a social-media one, but I
really don't like that term :).

Patch

diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm
index a9ccfcd274..d2132ecdf8 100644
--- a/gnu/packages/syndication.scm
+++ b/gnu/packages/syndication.scm
@@ -1,5 +1,5 @@ 
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -22,12 +22,16 @@ 
   #:use-module (guix download)
   #:use-module (guix packages)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python)
   #:use-module (gnu packages)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages python-web)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml))
@@ -88,3 +92,42 @@  It started life as a fork of the currently unmaintained Newsbeuter.")
 (define-public newsbeuter
   ;; Newsbeuter is unmaintained with multiple CVEs, and was forked as Newsboat.
   (deprecated-package "newsbeuter" newsboat))
+
+(define-public toot
+  (package
+    (name "toot")
+    (version "0.21.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "toot" version))
+        (sha256
+         (base32
+          "1dqv5jckaw3r7dnfns3iygwbfnf27x513qrw2rryzl5y79xrzs1x"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (delete 'check)
+         (add-after 'install 'check
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (add-installed-pythonpath inputs outputs)
+             (invoke "py.test"))))))
+    (native-inputs
+     `(("python-pytest" ,python-pytest)))
+    (propagated-inputs
+     `(("python-beautifulsoup4" ,python-beautifulsoup4)
+       ("python-requests" ,python-requests)
+       ("python-wcwidth" ,python-wcwidth)))
+    (home-page "https://github.com/ihabunek/toot/")
+    (synopsis "Mastodon CLI client")
+    (description "Interact with Mastodon social network from the command line.
+Features include:
+@itemize
+@item Posting, replying, deleting statuses
+@item Support for media uploads, spoiler text, sensitive content
+@item Search by account or hash tag
+@item Following, muting and blocking accounts
+@item Simple switching between authenticated in Mastodon accounts
+@end itemize")
+    (license license:gpl3)))