diff mbox

[2/2] gnu: Add newsbeuter.

Message ID 20161110082736.5825-3-efraim@flashner.co.il
State New
Headers show

Commit Message

Efraim Flashner Nov. 10, 2016, 8:27 a.m. UTC
* gnu/packages/rss.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk         |  1 +
 gnu/packages/rss.scm | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 76 insertions(+)
 create mode 100644 gnu/packages/rss.scm

Comments

Marius Bakke Nov. 10, 2016, 3:39 p.m. UTC | #1
Efraim Flashner <efraim@flashner.co.il> writes:

> * gnu/packages/rss.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
> ---
>  gnu/local.mk         |  1 +
>  gnu/packages/rss.scm | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 76 insertions(+)
>  create mode 100644 gnu/packages/rss.scm

Perhaps it could be called "syndication.scm" to be slightly more
generic. But no strong opinion either way.

> diff --git a/gnu/local.mk b/gnu/local.mk
> index b3a4cd5..3a2b7e1 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -315,6 +315,7 @@ GNU_SYSTEM_MODULES =				\
>    %D%/packages/readline.scm			\
>    %D%/packages/regex.scm				\
>    %D%/packages/rrdtool.scm			\
> +  %D%/packages/rss.scm				\
>    %D%/packages/rsync.scm			\
>    %D%/packages/ruby.scm				\
>    %D%/packages/rush.scm				\
> diff --git a/gnu/packages/rss.scm b/gnu/packages/rss.scm
> new file mode 100644
> index 0000000..d55672c
> --- /dev/null
> +++ b/gnu/packages/rss.scm
> @@ -0,0 +1,75 @@
> +;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
> +;;;
> +;;; GNU Guix is free software; you can redistribute it and/or modify it
> +;;; under the terms of the GNU General Public License as published by
> +;;; the Free Software Foundation; either version 3 of the License, or (at
> +;;; your option) any later version.
> +;;;
> +;;; GNU Guix is distributed in the hope that it will be useful, but
> +;;; WITHOUT ANY WARRANTY; without even the implied warranty of
> +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +;;; GNU General Public License for more details.
> +;;;
> +;;; You should have received a copy of the GNU General Public License
> +;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
> +
> +(define-module (gnu packages rss)
> +  #:use-module ((guix licenses) #:prefix license:)
> +  #:use-module (guix download)
> +  #:use-module (guix packages)
> +  #:use-module (guix build-system gnu)
> +  #:use-module (gnu packages curl)
> +  #:use-module (gnu packages databases)
> +  #:use-module (gnu packages gettext)
> +  #:use-module (gnu packages ncurses)
> +  #:use-module (gnu packages perl)
> +  #:use-module (gnu packages pkg-config)
> +  #:use-module (gnu packages ruby)
> +  #:use-module (gnu packages xml)
> +  #:use-module (gnu packages web))
> +
> +(define-public newsbeuter
> +  (package
> +    (name "newsbeuter")
> +    (version "2.9")
> +    (source
> +      (origin
> +        (method url-fetch)
> +        (uri (string-append "http://newsbeuter.org/downloads/newsbeuter-"
> +                            version ".tar.gz"))
> +        (sha256
> +         (base32
> +          "1j1x0hgwxz11dckk81ncalgylj5y5fgw5bcmp9qb5hq9kc0vza3l"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     '(#:phases
> +       (modify-phases %standard-phases
> +         (replace 'configure
> +           (lambda _
> +             (substitute* "config.sh"
> +               ;; ncurses5 was sooo last year
> +               (("ncursesw5") "ncursesw6"))
> +             (substitute* "Makefile"
> +               (("/usr/local") (assoc-ref %outputs "out")))

Would it work to set:

#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))

instead? That applies to the previous patch as well.

> +             #t)))
> +       #:test-target "test"))
> +    (native-inputs
> +     `(("gettext" ,gnu-gettext)
> +       ("perl" ,perl)
> +       ("pkg-config" ,pkg-config)
> +       ("ruby" ,ruby))) ; for tests
> +    (inputs
> +     `(("curl" ,curl)
> +       ("json-c" ,json-c)
> +       ("ncurses" ,ncurses)
> +       ("stfl" ,stfl)
> +       ("sqlite" ,sqlite)
> +       ("libxml2" ,libxml2)))
> +    (home-page "http://newsbeuter.org/")

https://www.newsbeuter.org/ seems to work.

> +    (synopsis "Text mode rss feed reader with podcast support")
> +    (description "Newsbeuter is an innovative RSS feed reader for the text
> +console.  It supports OPML import/exports, HTML rendering, podcast (podbeuter),
> +offline reading, searching and storing articles to your filesystem, and many
> +more features.  Its user interface is coherent, easy to use, and might look
> +common to users of mutt and slrn.")

*familiar to users of @command{mutt} and @command{slrn}.

> +    (license license:x11)))

Some files in filter/ are gpl2+. Otherwise LGTM!
diff mbox

Patch

diff --git a/gnu/local.mk b/gnu/local.mk
index b3a4cd5..3a2b7e1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -315,6 +315,7 @@  GNU_SYSTEM_MODULES =				\
   %D%/packages/readline.scm			\
   %D%/packages/regex.scm				\
   %D%/packages/rrdtool.scm			\
+  %D%/packages/rss.scm				\
   %D%/packages/rsync.scm			\
   %D%/packages/ruby.scm				\
   %D%/packages/rush.scm				\
diff --git a/gnu/packages/rss.scm b/gnu/packages/rss.scm
new file mode 100644
index 0000000..d55672c
--- /dev/null
+++ b/gnu/packages/rss.scm
@@ -0,0 +1,75 @@ 
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages rss)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix download)
+  #:use-module (guix packages)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages ruby)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages web))
+
+(define-public newsbeuter
+  (package
+    (name "newsbeuter")
+    (version "2.9")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "http://newsbeuter.org/downloads/newsbeuter-"
+                            version ".tar.gz"))
+        (sha256
+         (base32
+          "1j1x0hgwxz11dckk81ncalgylj5y5fgw5bcmp9qb5hq9kc0vza3l"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda _
+             (substitute* "config.sh"
+               ;; ncurses5 was sooo last year
+               (("ncursesw5") "ncursesw6"))
+             (substitute* "Makefile"
+               (("/usr/local") (assoc-ref %outputs "out")))
+             #t)))
+       #:test-target "test"))
+    (native-inputs
+     `(("gettext" ,gnu-gettext)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("ruby" ,ruby))) ; for tests
+    (inputs
+     `(("curl" ,curl)
+       ("json-c" ,json-c)
+       ("ncurses" ,ncurses)
+       ("stfl" ,stfl)
+       ("sqlite" ,sqlite)
+       ("libxml2" ,libxml2)))
+    (home-page "http://newsbeuter.org/")
+    (synopsis "Text mode rss feed reader with podcast support")
+    (description "Newsbeuter is an innovative RSS feed reader for the text
+console.  It supports OPML import/exports, HTML rendering, podcast (podbeuter),
+offline reading, searching and storing articles to your filesystem, and many
+more features.  Its user interface is coherent, easy to use, and might look
+common to users of mutt and slrn.")
+    (license license:x11)))