GNU bug report logs - #48394
[PATCH] gnu: Add cawbird.

Previous Next

Package: guix-patches;

Reported by: Raghav Gururajan <rg <at> raghavgururajan.name>

Date: Thu, 13 May 2021 04:33:02 UTC

Severity: normal

Tags: patch

Done: Raghav Gururajan <rg <at> raghavgururajan.name>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 48394 in the body.
You can then email your comments to 48394 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#48394; Package guix-patches. (Thu, 13 May 2021 04:33:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Raghav Gururajan <rg <at> raghavgururajan.name>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 13 May 2021 04:33:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Raghav Gururajan <rg <at> raghavgururajan.name>
To: guix-patches <at> gnu.org
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>
Subject: [PATCH] gnu: Add cawbird.
Date: Thu, 13 May 2021 00:31:53 -0400
* gnu/packages/syndication.scm (cawbird): New variable.
---
 gnu/packages/syndication.scm | 91 ++++++++++++++++++++++++++++++++++++
 1 file changed, 91 insertions(+)

diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm
index 3d0b9c39c8..64ffcf2046 100644
--- a/gnu/packages/syndication.scm
+++ b/gnu/packages/syndication.scm
@@ -59,8 +59,99 @@
   #: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-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.  It supports all of
+the main twitter features.")
+    (home-page "https://ibboard.co.uk/cawbird/")
+    (license license:gpl3+)))
+
 (define-public giara
   (package
     (name "giara")
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#48394; Package guix-patches. (Thu, 13 May 2021 22:10:01 GMT) Full text and rfc822 format available.

Message #8 received at 48394 <at> debbugs.gnu.org (full text, mbox):

From: Raghav Gururajan <rg <at> raghavgururajan.name>
To: 48394 <at> debbugs.gnu.org
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>
Subject: [PATCH v2] gnu: Add cawbird.
Date: Thu, 13 May 2021 18:08:54 -0400
* 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=")
+       #: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.  It supports all of
+the main twitter features.")
+    (home-page "https://ibboard.co.uk/cawbird/")
+    (license license:gpl3+)))
+
 (define-public giara
   (package
     (name "giara")
-- 
2.31.1





Information forwarded to guix-patches <at> gnu.org:
bug#48394; Package guix-patches. (Fri, 14 May 2021 03:41:01 GMT) Full text and rfc822 format available.

Message #11 received at 48394 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Raghav Gururajan <rg <at> raghavgururajan.name>
Cc: 48394 <at> debbugs.gnu.org
Subject: Re: bug#48394: [PATCH] gnu: Add cawbird.
Date: Thu, 13 May 2021 23:40:15 -0400
Hello Raghav,

Raghav Gururajan <rg <at> 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




Reply sent to Raghav Gururajan <rg <at> raghavgururajan.name>:
You have taken responsibility. (Fri, 14 May 2021 04:22:02 GMT) Full text and rfc822 format available.

Notification sent to Raghav Gururajan <rg <at> raghavgururajan.name>:
bug acknowledged by developer. (Fri, 14 May 2021 04:22:02 GMT) Full text and rfc822 format available.

Message #16 received at 48394-done <at> debbugs.gnu.org (full text, mbox):

From: Raghav Gururajan <rg <at> raghavgururajan.name>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 48394-done <at> debbugs.gnu.org
Subject: Re: bug#48394: [PATCH] gnu: Add cawbird.
Date: Fri, 14 May 2021 00:21:16 -0400
[Message part 1 (text/plain, inline)]
Hi Maxim,

> 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.

ikr. There is an alternative option for per-user key and secret as 
mentioned here (https://github.com/IBBoard/cawbird#preparation), but 
that would uniquely identify each user.

> 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.

Made the suggested changes and pushed as 
100281dd200d0a59958fb17dc6de75d3913e2b7a.

Thanks!

Regards,
RG.

[OpenPGP_signature (application/pgp-signature, attachment)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 11 Jun 2021 11:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 3 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.