diff options
Diffstat (limited to 'gnu/packages/syndication.scm')
-rw-r--r-- | gnu/packages/syndication.scm | 179 |
1 files changed, 112 insertions, 67 deletions
diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index 9c066bb4e4c..506245fd175 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2022 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com> +;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix utils) + #:use-module (guix gexp) #:use-module (guix build-system cargo) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) @@ -35,7 +37,10 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages crates-io) #:use-module (gnu packages curl) #:use-module (gnu packages documentation) @@ -48,6 +53,7 @@ #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pretty-print) #:use-module (gnu packages python) #:use-module (gnu packages python-check) #:use-module (gnu packages python-xyz) @@ -158,7 +164,7 @@ cards.") (define-public giara (package (name "giara") - (version "0.3") + (version "1.0.1") (source (origin (method git-fetch) @@ -166,15 +172,17 @@ cards.") (url "https://gitlab.gnome.org/World/giara") (commit version))) (file-name (git-file-name name version)) - ;; To fix authentication while adding accounts. - (patches (search-patches "giara-fix-login.patch")) (sha256 - (base32 "004qmkfrgd37axv0b6hfh6v7nx4pvy987k5yv4bmlmkj9sbqm6f9")))) + (base32 "00vmfghp9g8yzn2d1xjawz5a8bdwn1jl1k24mjaf4vlvdy4sg9l4")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t #:phases (modify-phases %standard-phases + (add-after 'unpack 'skip-icon-cache + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")))) (add-after 'glib-or-gtk-wrap 'wrap-paths (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -187,52 +195,53 @@ cards.") `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH") ,lib)) `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))))))))) (native-inputs - `(("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") - ("gobject-introspection" ,gobject-introspection) - ("gtk+:bin" ,gtk+ "bin") - ("pkg-config" ,pkg-config) - ("xmllint" ,libxml2))) + (list gettext-minimal + (list glib "bin") + gobject-introspection + (list gtk "bin") + pkg-config)) (inputs - `(("glib" ,glib) - ("gtk+" ,gtk+) - ("gtksourceview" ,gtksourceview-4) - ("libhandy" ,libhandy) - ("python" ,python) - ("python-beautifulsoup" ,python-beautifulsoup4) - ("python-dateutil" ,python-dateutil) - ("python-mistune" ,python-mistune) - ("python-pillow" ,python-pillow) - ("python-praw" ,python-praw) - ("python-pycairo" ,python-pycairo) - ("python-pygobject" ,python-pygobject) - ("python-requests" ,python-requests) - ("webkitgtk" ,webkitgtk-with-libsoup2))) + (list blueprint-compiler + glib + gtk + gtksourceview + libadwaita + python + python-beautifulsoup4 + python-dateutil + python-mistune-next + python-pillow + python-praw + python-pygobject + python-requests)) (propagated-inputs (list dconf)) (synopsis "Client for Reddit") - (description "Giara is a reddit app, built with Python, GTK and Handy.") + (description "Giara is a reddit app, built with Python, GTK4 and libadwaita.") (home-page "https://giara.gabmus.org/") (license license:gpl3+))) (define-public newsboat (package (name "newsboat") - (version "2.26") + (version "2.29") (source (origin (method url-fetch) (uri (string-append "https://newsboat.org/releases/" version "/newsboat-" version ".tar.xz")) (sha256 - (base32 "061w86jffyi49m4d9n974a3pd1svbw3azmh0qx8h2v7h0178791l")))) + (base32 "0szx4pivkaja8v399m6v7ycp1xprm4cz7n5z929g4j191hg81f8q")))) (build-system cargo-build-system) (native-inputs `(("gettext" ,gettext-minimal) ("openssl" ,openssl) ("pkg-config" ,pkg-config) ;; For building documentation. - ("asciidoctor" ,ruby-asciidoctor))) + ,@(if (member (%current-system) + (package-transitive-supported-systems ruby-asciidoctor)) + `(("asciidoctor" ,ruby-asciidoctor)) + `()))) (inputs (list curl json-c @@ -252,6 +261,7 @@ cards.") ("rust-chrono" ,rust-chrono-0.4) ("rust-curl-sys" ,rust-curl-sys-0.4) ("rust-cxx" ,rust-cxx-1) + ("rust-cxx-build" ,rust-cxx-build-1) ("rust-fastrand" ,rust-fastrand-1) ("rust-gettext-rs" ,rust-gettext-rs-0.7) ("rust-lexopt" ,rust-lexopt-0.2) @@ -265,12 +275,20 @@ cards.") ("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-tempfile" ,rust-tempfile-3) ("rust-proptest" ,rust-proptest-1) ("rust-section-testing" ,rust-section-testing-0.0)) #:phases (modify-phases %standard-phases + ,@(if (not (assoc-ref inputs "asciidoctor")) + `((add-after 'unpack 'dont-use-asciidoctor + (lambda _ + (substitute* "config.sh" + ((".*asciidoctor.*") "")) + (substitute* "Makefile" + (("^doc:.*") "doc:\n") + (("install-podboat install-docs") "install-podboat"))))) + '()) (add-after 'configure 'dont-vendor-self (lambda* (#:key vendor-dir #:allow-other-keys) ;; Don't keep the whole tarball in the vendor directory @@ -491,67 +509,94 @@ a simple interface that makes it easy to organize and browse feeds.") (license (list license:expat license:gpl3+)))) ; tuir/packages/praw +(define-public syndication-domination + (let ((revision "1") + (commit "f64caabd6f46be14fdb92085971a7f2d6fa5e61e")) + (package + (name "syndication-domination") + (version (git-version "0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/gabmus/syndication-domination") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1i0llzzm3lc2kw7rjhb46c7wlknsb6r9bdrf61chi2pk6hpjyscv")))) + (build-system meson-build-system) + (arguments + (list #:meson meson-0.63)) + (inputs (list fmt tidy-html pybind11 python pugixml)) + (native-inputs (list cmake pkg-config)) ; need cmake to find pybind11 + (home-page "https://gitlab.com/gabmus/syndication-domination") + (synopsis "RSS/Atom feed parser") + (description "This package provides an experimental RSS/Atom feed +parser. It is \"not fit for use at this point\", but gfeeds uses it anyway.") + (license license:agpl3)))) + (define-public gfeeds (package (name "gfeeds") - (version "0.16.2") + (version "1.0.3") (source (origin - (method url-fetch) - (uri - (string-append - "https://gitlab.gnome.org/World/gfeeds/-/archive/" version - "/gfeeds-" version ".tar.bz2")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/World/gfeeds") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "05gwwzqfz29m477imd5vh84jfla1wnklwpc2sdxnqli72wg08fli")))) + "1lkvhff7pl1y4brqsix6sar5yl8flyhfp3w96fx0klhk3586bvhg")))) (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") (search-input-file inputs "/bin/mpv"))) - #t)) - (add-after 'unpack 'patch-webkit2-version - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "bin/gfeeds.in" - (("gi\\.require_version\\('WebKit2', '4\\.0'\\)") - "gi.require_version('WebKit2', '4.1')")))) - (add-after 'install 'wrap-gfeeds - (lambda* (#:key outputs #:allow-other-keys) - (wrap-program (string-append - (assoc-ref outputs "out") "/bin/gfeeds") - `("PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))) - `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))) - `("XDG_DATA_DIRS" ":" prefix (,(getenv "XDG_DATA_DIRS")))) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-mpv-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "gfeeds/confManager.py" + (("mpv") (search-input-file inputs "/bin/mpv"))))) + (add-after 'unpack 'skip-icon-cache + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")))) + (add-after 'install 'wrap-gfeeds + (lambda* (#:key outputs #:allow-other-keys) + (wrap-program (string-append + (assoc-ref outputs "out") "/bin/gfeeds") + `("PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))) + `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))) + `("XDG_DATA_DIRS" ":" prefix (,(getenv "XDG_DATA_DIRS"))))))))) (native-inputs - `(("glib:bin" ,glib "bin") - ("gobject-introspection" ,gobject-introspection) - ("gtk+:bin" ,gtk+ "bin") - ("pkg-config" ,pkg-config))) + (list `(,glib "bin") + blueprint-compiler + gobject-introspection + pkg-config)) (inputs - (list glib + (list bash-minimal + glib gsettings-desktop-schemas - gtk+ + gtk hicolor-icon-theme - libhandy + libadwaita mpv python python-beautifulsoup4 python-dateutil python-feedparser python-html5lib + python-humanize python-listparser python-lxml + python-magic python-pillow python-pygments + python-pygobject python-pytz - python-readability + python-readability-lxml python-requests - webkitgtk - python-pygobject)) + syndication-domination + webkitgtk-next)) (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+ |