Commit | Line | Data |
---|---|---|
1779aaa0 | 1 | ;;; GNU Guix --- Functional package management for GNU |
835dada6 | 2 | ;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> |
f2c119a1 | 3 | ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> |
15abcabe | 4 | ;;; |
1779aaa0 TGR |
5 | ;;; This file is part of GNU Guix. |
6 | ;;; | |
15abcabe EF |
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 syndication) | |
21 | #:use-module ((guix licenses) #:prefix license:) | |
22 | #:use-module (guix download) | |
23 | #:use-module (guix packages) | |
24 | #:use-module (guix build-system gnu) | |
835dada6 | 25 | #:use-module (guix build-system python) |
d9f15d7e | 26 | #:use-module (gnu packages) |
835dada6 | 27 | #:use-module (gnu packages check) |
15abcabe | 28 | #:use-module (gnu packages curl) |
0c6f4bec | 29 | #:use-module (gnu packages documentation) |
15abcabe EF |
30 | #:use-module (gnu packages gettext) |
31 | #:use-module (gnu packages ncurses) | |
15abcabe | 32 | #:use-module (gnu packages pkg-config) |
835dada6 EF |
33 | #:use-module (gnu packages python-check) |
34 | #:use-module (gnu packages python-xyz) | |
35 | #:use-module (gnu packages python-web) | |
cd0322a3 | 36 | #:use-module (gnu packages sqlite) |
f26fa354 TGR |
37 | #:use-module (gnu packages web) |
38 | #:use-module (gnu packages xml)) | |
0c6f4bec EF |
39 | |
40 | (define-public newsboat | |
41 | (package | |
0c6f4bec | 42 | (name "newsboat") |
87c39618 | 43 | (version "2.13") |
0c6f4bec | 44 | (source |
9d8fb0e3 TGR |
45 | (origin |
46 | (method url-fetch) | |
47 | (uri (string-append "https://newsboat.org/releases/" version | |
48 | "/newsboat-" version ".tar.xz")) | |
49 | (sha256 | |
50 | (base32 | |
87c39618 | 51 | "0pik1d98ydzqi6055vdbkjg5krwifbk2hy2f5jp5p1wcy2s16dn7")))) |
9d8fb0e3 TGR |
52 | (build-system gnu-build-system) |
53 | (native-inputs | |
54 | `(("gettext" ,gettext-minimal) | |
55 | ("pkg-config" ,pkg-config) | |
56 | ;; For building documentation. | |
57 | ("asciidoc" ,asciidoc))) | |
58 | (inputs | |
59 | `(("curl" ,curl) | |
7240b4a9 | 60 | ("json-c" ,json-c) |
9d8fb0e3 TGR |
61 | ("libxml2" ,libxml2) |
62 | ("ncurses" ,ncurses) | |
63 | ("stfl" ,stfl) | |
64 | ("sqlite" ,sqlite))) | |
0c6f4bec | 65 | (arguments |
9d8fb0e3 TGR |
66 | '(#:phases |
67 | (modify-phases %standard-phases | |
68 | (delete 'configure) ; no configure script | |
69 | (add-after 'build 'build-documentation | |
70 | (lambda _ | |
8cd14622 | 71 | (invoke "make" "doc")))) |
9d8fb0e3 TGR |
72 | #:make-flags |
73 | (list (string-append "prefix=" (assoc-ref %outputs "out"))) | |
0c6f4bec | 74 | #:test-target "test")) |
7240b4a9 MB |
75 | (native-search-paths |
76 | ;; Newsboat respects CURL_CA_BUNDLE. | |
77 | (package-native-search-paths curl)) | |
0c6f4bec | 78 | (home-page "https://newsboat.org/") |
9d8fb0e3 TGR |
79 | (synopsis "Text-mode RSS and Atom feed reader with podcast support") |
80 | (description "Newsboat is a feed reader for @dfn{RSS} and @dfn{Atom}, XML | |
81 | formats widely used to transmit, publish, and syndicate news or blog articles. | |
82 | It's designed for use on text terminals, and to have a coherent and easy-to-use | |
83 | interface that might look familiar to @command{mutt} or @command{slrn} users. | |
84 | ||
85 | Newsboat supports OPML import/exports, HTML rendering, podcasts (with | |
86 | @command{podboat}), off-line reading, searching and storing articles to your | |
87 | file system, and many more features. | |
88 | ||
89 | It started life as a fork of the currently unmaintained Newsbeuter.") | |
90 | (license (list license:gpl2+ ; filter/* | |
91 | license:expat)))) ; everything else | |
f26fa354 TGR |
92 | |
93 | (define-public newsbeuter | |
94 | ;; Newsbeuter is unmaintained with multiple CVEs, and was forked as Newsboat. | |
95 | (deprecated-package "newsbeuter" newsboat)) | |
835dada6 EF |
96 | |
97 | (define-public rtv | |
98 | (package | |
99 | (name "rtv") | |
f2c119a1 | 100 | (version "1.27.0") |
835dada6 EF |
101 | (source |
102 | (origin | |
103 | (method url-fetch) | |
104 | (uri (pypi-uri "rtv" version)) | |
105 | (sha256 | |
f2c119a1 | 106 | (base32 "0hvw426y09l3yzwv2zkb9hifpfbg9wd1gg0y3z3pxcli6n3ii2wl")))) |
835dada6 EF |
107 | (build-system python-build-system) |
108 | (arguments | |
109 | '(#:phases | |
110 | (modify-phases %standard-phases | |
111 | (add-before 'check 'set-environment-variables | |
112 | (lambda* (#:key inputs #:allow-other-keys) | |
113 | (setenv "HOME" (getcwd)) | |
114 | (setenv "TERM" "linux") | |
115 | (setenv "TERMINFO" (string-append (assoc-ref inputs "ncurses") | |
116 | "/share/terminfo")) | |
117 | #t))) | |
118 | #:tests? #f)) ; tests fail: _curses.error: nocbreak() returned ERR | |
119 | (propagated-inputs | |
120 | `(("python-beautifulsoup4" ,python-beautifulsoup4) | |
121 | ("python-decorator" ,python-decorator) | |
122 | ("python-kitchen" ,python-kitchen) | |
123 | ("python-requests" ,python-requests) | |
124 | ("python-six" ,python-six))) | |
125 | (native-inputs | |
126 | `(("ncurses" ,ncurses) | |
127 | ("python-coveralls" ,python-coveralls) | |
128 | ("python-coverage" ,python-coverage) | |
129 | ("python-mock" ,python-mock) | |
130 | ("python-pylint" ,python-pylint) | |
131 | ("python-pytest" ,python-pytest) | |
132 | ("python-vcrpy" ,python-vcrpy))) | |
133 | (home-page "https://github.com/michael-lazar/rtv") | |
134 | (synopsis "Terminal viewer for Reddit (Reddit Terminal Viewer)") | |
135 | (description | |
136 | "RTV provides a text-based interface to view and interact with Reddit.") | |
137 | (license (list license:expat | |
138 | license:gpl3+)))) ; rtv/packages/praw |