Commit | Line | Data |
---|---|---|
c643b492 | 1 | ;;; GNU Guix --- Functional package management for GNU |
b7417f3d | 2 | ;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> |
11a05344 | 3 | ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> |
c643b492 EF |
4 | ;;; |
5 | ;;; This file is part of GNU Guix. | |
6 | ;;; | |
7 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
8 | ;;; under the terms of the GNU General Public License as published by | |
9 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
10 | ;;; your option) any later version. | |
11 | ;;; | |
12 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
13 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | ;;; GNU General Public License for more details. | |
16 | ;;; | |
17 | ;;; You should have received a copy of the GNU General Public License | |
18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
19 | ||
20 | (define-module (gnu packages mastodon) | |
21 | #:use-module (guix packages) | |
22 | #:use-module (guix download) | |
23 | #:use-module (guix build-system python) | |
24 | #:use-module ((guix licenses) #:prefix license:) | |
25 | #:use-module (gnu packages check) | |
069da243 EF |
26 | #:use-module (gnu packages time) |
27 | #:use-module (gnu packages python-check) | |
28 | #:use-module (gnu packages python-crypto) | |
c643b492 | 29 | #:use-module (gnu packages python-web) |
11a05344 | 30 | #:use-module (gnu packages python-xyz)) |
c643b492 EF |
31 | |
32 | (define-public toot | |
33 | (package | |
34 | (name "toot") | |
a9ff5b72 | 35 | (version "0.27.0") |
c643b492 EF |
36 | (source |
37 | (origin | |
38 | (method url-fetch) | |
39 | (uri (pypi-uri "toot" version)) | |
40 | (sha256 | |
a9ff5b72 | 41 | (base32 "1mfbqmgna7046d134pc5qx1vyfd60vwcn0xr9lxzlmc5rjdbmz8x")))) |
c643b492 EF |
42 | (build-system python-build-system) |
43 | (arguments | |
44 | '(#:phases | |
45 | (modify-phases %standard-phases | |
fba0fea4 | 46 | (replace 'check |
c643b492 EF |
47 | (lambda* (#:key inputs outputs #:allow-other-keys) |
48 | (add-installed-pythonpath inputs outputs) | |
49 | (invoke "py.test")))))) | |
50 | (native-inputs | |
51 | `(("python-pytest" ,python-pytest))) | |
d507ec09 | 52 | (inputs |
c643b492 EF |
53 | `(("python-beautifulsoup4" ,python-beautifulsoup4) |
54 | ("python-requests" ,python-requests) | |
324db471 | 55 | ("python-urwid" ,python-urwid) |
c643b492 EF |
56 | ("python-wcwidth" ,python-wcwidth))) |
57 | (home-page "https://github.com/ihabunek/toot/") | |
58 | (synopsis "Mastodon CLI client") | |
59 | (description "Interact with Mastodon social network from the command line. | |
60 | Features include: | |
61 | @itemize | |
62 | @item Posting, replying, deleting statuses | |
63 | @item Support for media uploads, spoiler text, sensitive content | |
64 | @item Search by account or hash tag | |
65 | @item Following, muting and blocking accounts | |
66 | @item Simple switching between authenticated in Mastodon accounts | |
67 | @end itemize") | |
68 | (license license:gpl3))) | |
069da243 EF |
69 | |
70 | (define-public python-mastodon-py | |
71 | (package | |
72 | (name "python-mastodon-py") | |
73 | (version "1.5.1") | |
74 | (source | |
75 | (origin | |
76 | (method url-fetch) | |
77 | (uri (pypi-uri "Mastodon.py" version)) | |
78 | (sha256 | |
79 | (base32 | |
80 | "1vikvkzcij2gd730cssigxi38vlmzqmwdy58r3y2cwsxifnxpz9a")))) | |
81 | (build-system python-build-system) | |
82 | (propagated-inputs | |
83 | `(("python-blurhash" ,python-blurhash) | |
84 | ("python-dateutil" ,python-dateutil) | |
85 | ("python-decorator" ,python-decorator) | |
86 | ("python-magic" ,python-magic) | |
87 | ("python-pytz" ,python-pytz) | |
88 | ("python-requests" ,python-requests) | |
89 | ("python-six" ,python-six))) | |
90 | (native-inputs | |
91 | `(("python-blurhash" ,python-blurhash) | |
92 | ("python-cryptography" ,python-cryptography) | |
93 | ("python-http-ece" ,python-http-ece) | |
94 | ("python-pytest" ,python-pytest) | |
95 | ("python-pytest-cov" ,python-pytest-cov) | |
96 | ("python-pytest-mock" ,python-pytest-mock) | |
97 | ("python-pytest-runner" ,python-pytest-runner) | |
98 | ("python-pytest-vcr" ,python-pytest-vcr) | |
99 | ("python-requests-mock" ,python-requests-mock) | |
100 | ("python-vcrpy" ,python-vcrpy))) | |
101 | (home-page "https://github.com/halcy/Mastodon.py") | |
102 | (synopsis "Python wrapper for the Mastodon API") | |
103 | (description | |
104 | "This package provides a python wrapper for the Mastodon API.") | |
105 | (license license:expat))) |