From 100281dd200d0a59958fb17dc6de75d3913e2b7a Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 13 May 2021 00:19:02 -0400 Subject: gnu: Add cawbird. * gnu/packages/syndication.scm (cawbird): New variable. --- gnu/packages/syndication.scm | 93 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index 3d0b9c39c8..65ff2cc341 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -59,8 +59,101 @@ #:use-module (gnu packages web) #:use-module (gnu packages webkit) #:use-module (gnu packages xml) + #:use-module (gnu packages xorg) #:use-module (srfi srfi-1)) +(define-public cawbird + (package + (name "cawbird") + (version "1.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/IBBoard/cawbird") + (commit (string-append "v"version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0lmrgcj1ky1vhzynl36k6ba3ws089x4qdrnkjk3lbr334kicx9na")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:configure-flags + ;; Cawbirds's default key and secret for OAuth process with twitter. + (list + "-Dconsumer_key_base64=VmY5dG9yRFcyWk93MzJEZmhVdEk5Y3NMOA==" + "-Dconsumer_secret_base64=MThCRXIxbWRESDQ2Y0podzVtVU13SGUyVGlCRXhPb3BFRHhGYlB6ZkpybG5GdXZaSjI=") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + ;; These tests require networking. + (substitute* "tests/meson.build" + (("[ \t]*.*avatardownload.*$") "") + (("[ \t]*.*filters.*$") "") + (("[ \t]*.*friends.*$") "") + (("[ \t]*.*inlinemediadownloader.*$") "") + (("[ \t]*.*tweetparsing.*$") "") + (("[ \t]*.*usercounter.*$") "")))) + (delete 'check) + (add-after 'install 'custom-check + (lambda* (#:key outputs tests? #:allow-other-keys) + (when tests? + ;; Tests require a running X server. + (system "Xvfb :1 +extension GLX &") + (setenv "DISPLAY" ":1") + ;; Tests write to $HOME. + (setenv "HOME" (getcwd)) + ;; Tests look for gsettings-schemas installed by the package. + (setenv "XDG_DATA_DIRS" + (string-append (getenv "XDG_DATA_DIRS") + ":" (assoc-ref outputs "out") "/share")) + (invoke "meson" "test")) + #t)) + (add-after 'glib-or-gtk-wrap 'wrap-paths + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin/")) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")) + (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))))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk+:bin" ,gtk+ "bin") + ("pkg-config" ,pkg-config) + ("vala" ,vala) + ("xmllint" ,libxml2) + ("xorg-server" ,xorg-server-for-tests))) + (inputs + `(("glib" ,glib) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gspell" ,gspell) + ("gstreamer" ,gstreamer) + ("gst-libav" ,gst-libav) + ("gst-plugins-bad" ,gst-plugins-bad) + ("gst-plugins-base" ,gst-plugins-base) + ("gst-plugins-good" ,gst-plugins-good) + ("gtk+" ,gtk+) + ("json-glib" ,json-glib) + ("liboauth" ,liboauth) + ("libsoup" ,libsoup) + ("rest" ,rest) + ("sqlite" ,sqlite) + ("x11" ,libx11))) + (propagated-inputs + `(("dconf" ,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 +cards.") + (home-page "https://ibboard.co.uk/cawbird/") + (license license:gpl3+))) + (define-public giara (package (name "giara") -- cgit v1.2.3