From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: Raghav Gururajan <rg@raghavgururajan.name>
Cc: 48394@debbugs.gnu.org
Subject: [bug#48394] [PATCH] gnu: Add cawbird.
Date: Thu, 13 May 2021 23:40:15 -0400 [thread overview]
Message-ID: <87sg2q6l0g.fsf_-_@gmail.com> (raw)
In-Reply-To: <20210513220854.15499-1-rg@raghavgururajan.name> (Raghav Gururajan's message of "Thu, 13 May 2021 18:08:54 -0400")
Hello Raghav,
Raghav Gururajan <rg@raghavgururajan.name> writes:
> * gnu/packages/syndication.scm (cawbird): New variable.
> ---
> gnu/packages/syndication.scm | 92 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 92 insertions(+)
>
> diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm
> index 3d0b9c39c8..a6bd0c2ce5 100644
> --- a/gnu/packages/syndication.scm
> +++ b/gnu/packages/syndication.scm
> @@ -59,8 +59,100 @@
> #: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=")
I found that weird to put the secret key only base64-encoded here, but
that seems to be how it is intended for the "default key":
https://github.com/IBBoard/cawbird/commit/9f0f3201ce866a8ad06f8ec4642790182642bb72.
Weird also that it wants it at build time rather than at run time, but
hey.
> + #: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 app, built with GTK.
Perhaps: "Cawbird is a Twitter client that uses the GTK+ toolkit." ?
> +the main twitter features.")
^
Twitter
I'd expand a bit on what some of these main features might be (text
messages, sharing photos, ?).
I haven't tested, but after my above comments, if it passes 'guix lint',
builds and runs, LGTM.
Thank you!
Maxim
next prev parent reply other threads:[~2021-05-14 3:41 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-13 4:31 [bug#48394] [PATCH] gnu: Add cawbird Raghav Gururajan via Guix-patches via
2021-05-13 22:08 ` [bug#48394] [PATCH v2] " Raghav Gururajan via Guix-patches via
2021-05-14 3:40 ` Maxim Cournoyer [this message]
2021-05-14 4:21 ` bug#48394: [PATCH] " Raghav Gururajan via Guix-patches via
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sg2q6l0g.fsf_-_@gmail.com \
--to=maxim.cournoyer@gmail.com \
--cc=48394@debbugs.gnu.org \
--cc=rg@raghavgururajan.name \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).