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.scm124
1 files changed, 124 insertions, 0 deletions
diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm
index 3e848b9f9c..5f0aa1bd8b 100644
--- a/gnu/packages/syndication.scm
+++ b/gnu/packages/syndication.scm
@@ -26,7 +26,9 @@
   #:use-module (guix build-system cargo)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
@@ -39,15 +41,19 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages python-web)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages video)
   #:use-module (gnu packages web)
   #:use-module (gnu packages webkit)
   #:use-module (gnu packages xml)
@@ -84,6 +90,7 @@
                   (guix build utils)
                   ((guix build gnu-build-system) #:prefix gnu:))
        #:vendor-dir "vendor"
+       #:install-source? #f
        #:cargo-inputs
        (("rust-backtrace" ,rust-backtrace-0.3)
         ("rust-bitflags" ,rust-bitflags-1)
@@ -357,3 +364,120 @@ a simple interface that makes it easy to organize and browse feeds.")
 \"river of news\" or a public \"planet\" page.  It supports all common feed
 formats, including all versions of RSS and Atom.")
     (license license:gpl2+)))
+
+(define-public quiterss
+  (package
+    (name "quiterss")
+    (version "0.19.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/QuiteRSS/quiterss")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1cgvl67vhn5y7bj5gbjbgk26bhb0196bgrgsp3r5fmrislarj8s6"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  (substitute* (find-files "." "\\.cpp$")
+                    ;; Disable Google Analytics spyware by default,
+                    ;; removing completely is not trivial.
+                    (("settings\\.value\\(\"Settings/statisticsEnabled2\", true\\)")
+                     "settings.value(\"Settings/statisticsEnabled2\", false)")
+                    ;; Disable update check spyware by default, otherwise runs
+                    ;; at every startup, nasty. Not needed on GNU Guix as a
+                    ;; feature either way.
+                    (("settings\\.value\\(\"Settings/updateCheckEnabled\", true\\)")
+                     "settings.value(\"Settings/updateCheckEnabled\", false)"))
+                  #t))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f ;; no test suite
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (invoke "qmake" "CONFIG+=release"
+                     (string-append "PREFIX="
+                                    (assoc-ref outputs "out"))
+                     (string-append "QMAKE_LRELEASE="
+                                    (assoc-ref inputs "qttools")
+                                    "/bin/lrelease")))))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("qtwebkit" ,qtwebkit)
+       ("qtbase" ,qtbase)
+       ("qtmultimedia" ,qtmultimedia)
+       ("phonon" ,phonon)
+       ("sqlite" ,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++
+that aims to be quite fast and comfortable to it's user.")
+    (license license:gpl3+)))
+
+(define-public gfeeds
+  (package
+    (name "gfeeds")
+    (version "0.16.2")
+    (source (origin
+              (method url-fetch)
+              (uri
+               (string-append
+                "https://gitlab.gnome.org/World/gfeeds/-/archive/" version
+                "/gfeeds-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "05gwwzqfz29m477imd5vh84jfla1wnklwpc2sdxnqli72wg08fli"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (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")))
+             #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")))
+               `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))
+               `("XDG_DATA_DIRS" ":" prefix (,(getenv "XDG_DATA_DIRS"))))
+             #t)))))
+    (native-inputs
+     `(("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("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)))
+    (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+
+and it has an easy-to-use graphical user interface.")
+    (license license:gpl3+)))