unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#48394] [PATCH] gnu: Add cawbird.
@ 2021-05-13  4:31 Raghav Gururajan via Guix-patches via
  2021-05-13 22:08 ` [bug#48394] [PATCH v2] " Raghav Gururajan via Guix-patches via
  0 siblings, 1 reply; 4+ messages in thread
From: Raghav Gururajan via Guix-patches via @ 2021-05-13  4:31 UTC (permalink / raw)
  To: 48394; +Cc: Raghav Gururajan

* 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





^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#48394] [PATCH v2] gnu: Add cawbird.
  2021-05-13  4:31 [bug#48394] [PATCH] gnu: Add cawbird Raghav Gururajan via Guix-patches via
@ 2021-05-13 22:08 ` Raghav Gururajan via Guix-patches via
  2021-05-14  3:40   ` [bug#48394] [PATCH] " Maxim Cournoyer
  0 siblings, 1 reply; 4+ messages in thread
From: Raghav Gururajan via Guix-patches via @ 2021-05-13 22:08 UTC (permalink / raw)
  To: 48394; +Cc: Raghav Gururajan

* 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





^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#48394] [PATCH] gnu: Add cawbird.
  2021-05-13 22:08 ` [bug#48394] [PATCH v2] " Raghav Gururajan via Guix-patches via
@ 2021-05-14  3:40   ` Maxim Cournoyer
  2021-05-14  4:21     ` bug#48394: " Raghav Gururajan via Guix-patches via
  0 siblings, 1 reply; 4+ messages in thread
From: Maxim Cournoyer @ 2021-05-14  3:40 UTC (permalink / raw)
  To: Raghav Gururajan; +Cc: 48394

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




^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#48394: [PATCH] gnu: Add cawbird.
  2021-05-14  3:40   ` [bug#48394] [PATCH] " Maxim Cournoyer
@ 2021-05-14  4:21     ` Raghav Gururajan via Guix-patches via
  0 siblings, 0 replies; 4+ messages in thread
From: Raghav Gururajan via Guix-patches via @ 2021-05-14  4:21 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 48394-done


[-- Attachment #1.1: Type: text/plain, Size: 987 bytes --]

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.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-05-14  4:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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   ` [bug#48394] [PATCH] " Maxim Cournoyer
2021-05-14  4:21     ` bug#48394: " Raghav Gururajan via Guix-patches via

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