summary refs log tree commit diff
path: root/gnu/packages/syndication.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/syndication.scm')
-rw-r--r--gnu/packages/syndication.scm245
1 files changed, 113 insertions, 132 deletions
diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm
index 2f3f191a47..421751bed2 100644
--- a/gnu/packages/syndication.scm
+++ b/gnu/packages/syndication.scm
@@ -1,7 +1,8 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -66,7 +67,7 @@
 (define-public cawbird
   (package
     (name "cawbird")
-    (version "1.4.1")
+    (version "1.4.2")
     (source
      (origin
        (method git-fetch)
@@ -75,7 +76,7 @@
              (commit (string-append "v"version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0lmrgcj1ky1vhzynl36k6ba3ws089x4qdrnkjk3lbr334kicx9na"))))
+        (base32 "17575cp5qcgsqf37y3xqg3vr6l2j8bbbkmy2c1l185rxghfacida"))))
     (build-system meson-build-system)
     (arguments
      `(#:glib-or-gtk? #t
@@ -109,8 +110,7 @@
                (setenv "XDG_DATA_DIRS"
                        (string-append (getenv "XDG_DATA_DIRS")
                                       ":" (assoc-ref outputs "out") "/share"))
-               (invoke "meson" "test"))
-             #t))
+               (invoke "meson" "test"))))
          (add-after 'glib-or-gtk-wrap 'wrap-paths
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -119,8 +119,7 @@
                     (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
                (wrap-program (string-append bin "cawbird")
                  `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
-                 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
-             #t)))))
+                 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
     (native-inputs
      `(("gettext" ,gettext-minimal)
        ("glib:bin" ,glib "bin")
@@ -147,7 +146,7 @@
        ("sqlite" ,sqlite)
        ("x11" ,libx11)))
     (propagated-inputs
-     `(("dconf" ,dconf)))
+     (list dconf))
     (synopsis "Client for Twitter")
     (description "Cawbird is a Twitter client built with GTK and Vala.
 It supports all features except non-mention notifications, polls, threads and
@@ -184,9 +183,8 @@ cards.")
                                           (package-version python))
                                         "/site-packages")))
                (wrap-program (string-append bin "giara")
-                 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH") ,lib))
-                 `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))))
-             #t)))))
+                 `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH") ,lib))
+                 `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))))))))))
     (native-inputs
      `(("gettext" ,gettext-minimal)
        ("glib:bin" ,glib "bin")
@@ -208,9 +206,9 @@ cards.")
        ("python-pycairo" ,python-pycairo)
        ("python-pygobject" ,python-pygobject)
        ("python-requests" ,python-requests)
-       ("webkitgtk" ,webkitgtk)))
+       ("webkitgtk" ,webkitgtk-with-libsoup2)))
     (propagated-inputs
-     `(("dconf" ,dconf)))
+     (list dconf))
     (synopsis "Client for Reddit")
     (description "Giara is a reddit app, built with Python, GTK and Handy.")
     (home-page "https://giara.gabmus.org/")
@@ -219,14 +217,14 @@ cards.")
 (define-public newsboat
   (package
     (name "newsboat")
-    (version "2.24")
+    (version "2.26")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://newsboat.org/releases/" version
                            "/newsboat-" version ".tar.xz"))
        (sha256
-        (base32 "1yvggkb29qykxlvrysb6yyf5piwsvzv0zla8jn2ihmm2rj40chk2"))))
+        (base32 "061w86jffyi49m4d9n974a3pd1svbw3azmh0qx8h2v7h0178791l"))))
     (build-system cargo-build-system)
     (native-inputs
      `(("gettext" ,gettext-minimal)
@@ -235,40 +233,40 @@ cards.")
        ;; For building documentation.
        ("asciidoctor" ,ruby-asciidoctor)))
     (inputs
-     `(("curl" ,curl)
-       ("json-c" ,json-c)
-       ("libxml2" ,libxml2)
-       ("ncurses" ,ncurses)
-       ("stfl" ,stfl)
-       ("sqlite" ,sqlite)))
+     (list curl
+           json-c
+           libxml2
+           ncurses
+           stfl
+           sqlite))
     (arguments
      `(#:modules ((guix build cargo-build-system)
                   (guix build utils)
                   ((guix build gnu-build-system) #:prefix gnu:))
        #:vendor-dir "vendor"
-       #:rust ,rust-1.48    ; or newer
        #:install-source? #f
        #:cargo-inputs
        (("rust-backtrace" ,rust-backtrace-0.3)
         ("rust-bitflags" ,rust-bitflags-1)
         ("rust-chrono" ,rust-chrono-0.4)
-        ("rust-clap" ,rust-clap-2)
         ("rust-curl-sys" ,rust-curl-sys-0.4)
         ("rust-cxx" ,rust-cxx-1)
+        ("rust-fastrand" ,rust-fastrand-1)
         ("rust-gettext-rs" ,rust-gettext-rs-0.7)
+        ("rust-lexopt" ,rust-lexopt-0.2)
         ("rust-libc" ,rust-libc-0.2)
+        ("rust-md5" ,rust-md5-0.7)
         ("rust-natord" ,rust-natord-1)
-        ("rust-nom" ,rust-nom-6)
+        ("rust-nom" ,rust-nom-7)
         ("rust-once-cell" ,rust-once-cell-1)
         ("rust-percent-encoding" ,rust-percent-encoding-2)
-        ("rust-rand" ,rust-rand-0.8)
         ("rust-url" ,rust-url-2)
         ("rust-unicode-width" ,rust-unicode-width-0.1)
         ("rust-xdg" ,rust-xdg-2))
        #:cargo-development-inputs
        (("rust-cxx-build" ,rust-cxx-build-1)
         ("rust-tempfile" ,rust-tempfile-3)
-        ("rust-proptest" ,rust-proptest-0.9)
+        ("rust-proptest" ,rust-proptest-1)
         ("rust-section-testing" ,rust-section-testing-0.0))
        #:phases
        (modify-phases %standard-phases
@@ -276,29 +274,21 @@ cards.")
            (lambda* (#:key vendor-dir #:allow-other-keys)
              ;; Don't keep the whole tarball in the vendor directory
              (delete-file-recursively
-               (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))
-             #t))
+               (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))))
          (add-after 'unpack 'patch-source
-           (lambda _
+           (lambda* (#:key outputs #:allow-other-keys)
              (substitute* "Makefile"
-               (("Cargo.lock") ""))
-             #t))
+               (("Cargo.lock") "")
+               ;; Replace the prefix in the Makefile.
+               (("/usr/local") (assoc-ref outputs "out")))))
          (replace 'build
-           (lambda* args
-             ((assoc-ref gnu:%standard-phases 'build)
-              #:make-flags
-              (list (string-append "prefix=" (assoc-ref %outputs "out"))))))
+           (assoc-ref gnu:%standard-phases 'build))
          (replace 'check
-           (lambda* args
+           (lambda args
              ((assoc-ref gnu:%standard-phases 'check)
-              #:test-target "test"
-              #:make-flags
-              (list (string-append "prefix=" (assoc-ref %outputs "out"))))))
+              #:test-target "test")))
          (replace 'install
-           (lambda* args
-             ((assoc-ref gnu:%standard-phases 'install)
-              #:make-flags
-              (list (string-append "prefix=" (assoc-ref %outputs "out")))))))))
+           (assoc-ref gnu:%standard-phases 'install)))))
     (native-search-paths
      ;; Newsboat respects CURL_CA_BUNDLE.
      (package-native-search-paths curl))
@@ -312,6 +302,7 @@ interface that might look familiar to @command{mutt} or @command{slrn} users.
 Newsboat supports OPML import/exports, HTML rendering, podcasts (with
 @command{podboat}), off-line reading, searching and storing articles to your
 file system, and many more features.")
+    (properties '((release-monitoring-url . "https://newsboat.org/news.atom")))
     (license (list license:gpl2+        ; filter/*
                    license:expat))))    ; everything else
 
@@ -334,8 +325,8 @@ file system, and many more features.")
        ;; For building documentation.
        ("asciidoc" ,asciidoc)))
     (inputs
-     `(("json-c" ,json-c-0.13)
-       ,@(alist-delete "json-c" (package-inputs newsboat))))
+     (modify-inputs (package-inputs newsboat)
+       (replace "json-c" json-c-0.13)))
     (arguments
      '(#:phases
        (modify-phases %standard-phases
@@ -375,40 +366,40 @@ file system, and many more features.")
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let ((out               (assoc-ref outputs "out"))
                    (gi-typelib-path   (getenv "GI_TYPELIB_PATH"))
-                   (python-path       (getenv "PYTHONPATH")))
+                   (python-path       (getenv "GUIX_PYTHONPATH")))
                (wrap-program (string-append out "/bin/liferea")
                  `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
-                 `("PYTHONPATH" ":" prefix (,python-path))))
+                 `("GUIX_PYTHONPATH" ":" prefix (,python-path))))
              #t)))))
     (native-inputs
-     `(("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection)
-       ("intltool" ,intltool)
-       ("libtool" ,libtool)
-       ("pkg-config" ,pkg-config)
-       ("which" ,which)))
+     (list autoconf
+           automake
+           gettext-minimal
+           `(,glib "bin")
+           gobject-introspection
+           intltool
+           libtool
+           pkg-config
+           which))
     (inputs
-     `(("glib" ,glib)
-       ("glib-networking" ,glib-networking)
-       ("gnome-keyring" ,gnome-keyring)
-       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
-       ("gstreamer" ,gstreamer)
-       ("json-glib" ,json-glib)
-       ("libnotify" ,libnotify)
-       ("libpeas" ,libpeas)
-       ("libsecret" ,libsecret)
-       ("libsoup" ,libsoup)
-       ("libxml2" ,libxml2)
-       ("libxslt" ,libxslt)
-       ("pango" ,pango)
-       ("python" ,python)
-       ("python-pycairo" ,python-pycairo)
-       ("python-pygobject" ,python-pygobject)
-       ("sqlite" ,sqlite)
-       ("webkitgtk" ,webkitgtk)))
+     (list glib
+           glib-networking
+           gnome-keyring
+           gsettings-desktop-schemas
+           gstreamer
+           json-glib
+           libnotify
+           libpeas
+           libsecret
+           libsoup-minimal-2
+           libxml2
+           libxslt
+           pango
+           python
+           python-pycairo
+           python-pygobject
+           sqlite
+           webkitgtk-with-libsoup2))
     (home-page "https://lzone.de/liferea/")
     (synopsis "News reader for GTK/GNOME")
     (description "Liferea is a desktop feed reader/news aggregator that
@@ -434,24 +425,22 @@ a simple interface that makes it easy to organize and browse feeds.")
            (lambda* (#:key inputs #:allow-other-keys)
              (setenv "HOME" (getcwd))
              (setenv "TERM" "linux")
-             (setenv "TERMINFO" (string-append (assoc-ref inputs "ncurses")
-                                               "/share/terminfo"))
-             #t)))
+             (setenv "TERMINFO"
+                     (search-input-directory inputs "share/terminfo"))))
+         ;; Loading this as a library requires a controlling terminal, etc.
+         (delete 'sanity-check))
        #:tests? #f)) ; tests fail: _curses.error: nocbreak() returned ERR
     (propagated-inputs
-     `(("python-beautifulsoup4" ,python-beautifulsoup4)
-       ("python-decorator" ,python-decorator)
-       ("python-kitchen" ,python-kitchen)
-       ("python-requests" ,python-requests)
-       ("python-six" ,python-six)))
+     (list python-beautifulsoup4 python-decorator python-kitchen
+           python-requests python-six))
     (native-inputs
-     `(("ncurses" ,ncurses)
-       ("python-coveralls" ,python-coveralls)
-       ("python-coverage" ,python-coverage)
-       ("python-mock" ,python-mock)
-       ("python-pylint" ,python-pylint)
-       ("python-pytest" ,python-pytest)
-       ("python-vcrpy" ,python-vcrpy)))
+     (list ncurses
+           python-coveralls
+           python-coverage
+           python-mock
+           python-pylint
+           python-pytest
+           python-vcrpy))
     (home-page "https://github.com/michael-lazar/rtv")
     (synopsis "Terminal viewer for Reddit (Reddit Terminal Viewer)")
     (description
@@ -474,24 +463,22 @@ a simple interface that makes it easy to organize and browse feeds.")
     (arguments
      `(#:phases
        (modify-phases %standard-phases
+         (delete 'sanity-check)         ; Tries to read environment variables.
          (replace 'check
            (lambda* (#:key tests? inputs outputs #:allow-other-keys)
              (add-installed-pythonpath inputs outputs)
              (when tests?
                (invoke "pytest")))))))
     (inputs
-     `(("python-beautifulsoup4" ,python-beautifulsoup4)
-       ("python-decorator" ,python-decorator)
-       ("python-kitchen" ,python-kitchen)
-       ("python-requests" ,python-requests)
-       ("python-six" ,python-six)))
+     (list python-beautifulsoup4 python-decorator python-kitchen
+           python-requests python-six))
     (native-inputs
-     `(("python-coverage" ,python-coverage)
-       ("python-coveralls" ,python-coveralls)
-       ("python-mock" ,python-mock)
-       ("python-pylint" ,python-pylint)
-       ("python-pytest" ,python-pytest)
-       ("python-vcrpy" ,python-vcrpy)))
+     (list python-coverage
+           python-coveralls
+           python-mock
+           python-pylint
+           python-pytest
+           python-vcrpy))
     (home-page "https://gitlab.com/ajak/tuir")
     (synopsis "Terminal viewer for Reddit (Terminal UI for Reddit)")
     (description
@@ -515,8 +502,7 @@ a simple interface that makes it easy to organize and browse feeds.")
     (arguments
      `(#:python ,python-2.7))
     (inputs
-     `(("python2-feedparser" ,python2-feedparser)
-       ("python2-pytidylib" ,python2-pytidylib)))
+     (list python2-feedparser python2-pytidylib))
     (home-page "https://offog.org/code/rawdog/")
     (synopsis "RSS Aggregator Without Delusions Of Grandeur")
     (description
@@ -566,14 +552,9 @@ formats, including all versions of RSS and Atom.")
                                     (assoc-ref inputs "qttools")
                                     "/bin/lrelease")))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("qttools" ,qttools)))
+     (list pkg-config qttools))
     (inputs
-     `(("qtwebkit" ,qtwebkit)
-       ("qtbase" ,qtbase-5)
-       ("qtmultimedia" ,qtmultimedia)
-       ("phonon" ,phonon)
-       ("sqlite" ,sqlite)))
+     (list qtwebkit qtbase-5 qtmultimedia phonon sqlite))
     (home-page "https://quiterss.org/")
     (synopsis "RSS/Atom news feeds reader written on Qt/C++")
     (description "QuiteRSS is an RSS/Atom news feeds reader written on Qt/C++
@@ -600,13 +581,13 @@ that aims to be quite fast and comfortable to its user.")
          (add-after 'unpack 'patch-mpv-path
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "gfeeds/confManager.py"
-               (("mpv") (string-append (assoc-ref inputs "mpv") "/bin/mpv")))
+               (("mpv") (search-input-file inputs "/bin/mpv")))
              #t))
          (add-after 'install 'wrap-gfeeds
            (lambda* (#:key outputs #:allow-other-keys)
              (wrap-program (string-append
                             (assoc-ref outputs "out") "/bin/gfeeds")
-               `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
+               `("PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
                `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))
                `("XDG_DATA_DIRS" ":" prefix (,(getenv "XDG_DATA_DIRS"))))
              #t)))))
@@ -616,26 +597,26 @@ that aims to be quite fast and comfortable to its user.")
        ("gtk+:bin" ,gtk+ "bin")
        ("pkg-config" ,pkg-config)))
     (inputs
-     `(("glib" ,glib)
-       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
-       ("gtk+" ,gtk+)
-       ("hicolor-icon-theme" ,hicolor-icon-theme)
-       ("libhandy" ,libhandy)
-       ("mpv" ,mpv)
-       ("python" ,python)
-       ("python-beautifulsoup4" ,python-beautifulsoup4)
-       ("python-dateutil" ,python-dateutil)
-       ("python-feedparser" ,python-feedparser)
-       ("python-html5lib" ,python-html5lib)
-       ("python-listparser" ,python-listparser)
-       ("python-lxml" ,python-lxml)
-       ("python-pillow" ,python-pillow)
-       ("python-pygments" ,python-pygments)
-       ("python-pytz" ,python-pytz)
-       ("python-readability" ,python-readability)
-       ("python-requests" ,python-requests)
-       ("webkitgtk" ,webkitgtk)
-       ("python-pygobject" ,python-pygobject)))
+     (list glib
+           gsettings-desktop-schemas
+           gtk+
+           hicolor-icon-theme
+           libhandy
+           mpv
+           python
+           python-beautifulsoup4
+           python-dateutil
+           python-feedparser
+           python-html5lib
+           python-listparser
+           python-lxml
+           python-pillow
+           python-pygments
+           python-pytz
+           python-readability
+           python-requests
+           webkitgtk
+           python-pygobject))
     (home-page "https://gfeeds.gabmus.org/")
     (synopsis "Easy-to-use GTK+ RSS/Atom feed reader")
     (description "Feeds is an RSS/Atom feed reader made with GTK+