gnu: tootle: Fix build.

  • Done
  • quality assurance status badge
Details
2 participants
  • Taiju HIGASHI
  • Ludovic Courtès
Owner
unassigned
Submitted by
Taiju HIGASHI
Severity
normal

Debbugs page

Taiju HIGASHI wrote 3 years ago
(address . guix-patches@gnu.org)
871r1xcoi4.fsf@taiju.info
Hi,

When I installed tootle, it failed to build, so I wrote a patch for it.
This patch is implemented based on the build process of Arch Linux and Alpine
Linux.

Reference:
Arch:
Alpine:

----------------------------------------------------------------
Taiju HIGASHI (1):
gnu: tootle: Fix build.

gnu/packages/mastodon.scm | 28 +++++----
...-Adhere-to-GLib.Object-naming-conventions.patch | 66 ++++++++++++++++++++++
...e-Use-reason_phrase-instead-of-get_phrase.patch | 48 ++++++++++++++++
3 files changed, 132 insertions(+), 10 deletions(-)
create mode 100644 gnu/packages/patches/tootle-Adhere-to-GLib.Object-naming-conventions.patch
create mode 100644 gnu/packages/patches/tootle-Use-reason_phrase-instead-of-get_phrase.patch
Taiju HIGASHI wrote 3 years ago
(address . 52842@debbugs.gnu.org)(name . Taiju HIGASHI)(address . higashi@taiju.info)
20211228050317.7482-1-higashi@taiju.info
---
gnu/packages/mastodon.scm | 28 +++++---
...re-to-GLib.Object-naming-conventions.patch | 66 +++++++++++++++++++
...-reason_phrase-instead-of-get_phrase.patch | 48 ++++++++++++++
3 files changed, 132 insertions(+), 10 deletions(-)
create mode 100644 gnu/packages/patches/tootle-Adhere-to-GLib.Object-naming-conventions.patch
create mode 100644 gnu/packages/patches/tootle-Use-reason_phrase-instead-of-get_phrase.patch

Toggle diff (188 lines)
diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm
index 8a8e2e7786..7ac02c3cf0 100644
--- a/gnu/packages/mastodon.scm
+++ b/gnu/packages/mastodon.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2021 Taiju HIGASHI <higashi@taiju.info>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,6 +25,7 @@ (define-module (gnu packages mastodon)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
@@ -79,15 +81,21 @@ (define-public tootle
(name "tootle")
(version "1.0")
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/bleakgrey/tootle")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1nm57239mhdq462an6bnhdlijpijxmjs9mqbyirwxwa048d3n4rm"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bleakgrey/tootle")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1nm57239mhdq462an6bnhdlijpijxmjs9mqbyirwxwa048d3n4rm"))
+ (patches
+ (search-patches
+ ;; https://github.com/bleakgrey/tootle/pull/339
+ "tootle-Adhere-to-GLib.Object-naming-conventions.patch"
+ ;; https://github.com/bleakgrey/tootle/pull/322
+ "tootle-Use-reason_phrase-instead-of-get_phrase.patch"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
@@ -125,7 +133,7 @@ (define-public tootle
json-glib
libgee
libhandy
- libsoup
+ libsoup-minimal-2
vala
xdg-utils))
(home-page "https://github.com/bleakgrey/tootle")
diff --git a/gnu/packages/patches/tootle-Adhere-to-GLib.Object-naming-conventions.patch b/gnu/packages/patches/tootle-Adhere-to-GLib.Object-naming-conventions.patch
new file mode 100644
index 0000000000..08ee23dd8f
--- /dev/null
+++ b/gnu/packages/patches/tootle-Adhere-to-GLib.Object-naming-conventions.patch
@@ -0,0 +1,66 @@
+From 0816105028c26965e37c9afc7c598854f3fecde1 Mon Sep 17 00:00:00 2001
+From: Clayton Craft <clayton@craftyguy.net>
+Date: Tue, 26 Oct 2021 15:03:25 -0700
+Subject: [PATCH] Adhere to GLib.Object naming conventions for properties
+
+Vala now validates property names against GLib.Object conventions, this
+fixes a compilation error as a result of this enforcement:
+
+../src/API/Status.vala:27.5-27.23: error: Name `_url' is not valid for a GLib.Object property
+ public string? _url { get; set; }
+ ^^^^^^^^^^^^^^^^^^^
+
+Relevant Vala change:
+https://gitlab.gnome.org/GNOME/vala/-/commit/38d61fbff037687ea4772e6df85c7e22a74b335e
+
+fixes #337
+
+Signed-off-by: Clayton Craft <clayton@craftyguy.net>
+---
+ src/API/Attachment.vala | 6 +++---
+ src/API/Status.vala | 8 ++++----
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/API/Attachment.vala b/src/API/Attachment.vala
+index 88bc5bb..35c4018 100644
+--- a/src/API/Attachment.vala
++++ b/src/API/Attachment.vala
+@@ -4,10 +4,10 @@ public class Tootle.API.Attachment : Entity, Widgetizable {
+ public string kind { get; set; default = "unknown"; }
+ public string url { get; set; }
+ public string? description { get; set; }
+- public string? _preview_url { get; set; }
++ private string? t_preview_url { get; set; }
+ public string? preview_url {
+- set { this._preview_url = value; }
+- get { return (this._preview_url == null || this._preview_url == "") ? url : _preview_url; }
++ set { this.t_preview_url = value; }
++ get { return (this.t_preview_url == null || this.t_preview_url == "") ? url : t_preview_url; }
+ }
+
+ public File? source_file { get; set; }
+diff --git a/src/API/Status.vala b/src/API/Status.vala
+index 4f92cdb..00e8a9f 100644
+--- a/src/API/Status.vala
++++ b/src/API/Status.vala
+@@ -28,16 +28,16 @@ public class Tootle.API.Status : Entity, Widgetizable {
+ public ArrayList<API.Mention>? mentions { get; set; default = null; }
+ public ArrayList<API.Attachment>? media_attachments { get; set; default = null; }
+
+- public string? _url { get; set; }
++ private string? t_url { get; set; }
+ public string url {
+ owned get { return this.get_modified_url (); }
+- set { this._url = value; }
++ set { this.t_url = value; }
+ }
+ string get_modified_url () {
+- if (this._url == null) {
++ if (this.t_url == null) {
+ return this.uri.replace ("/activity", "");
+ }
+- return this._url;
++ return this.t_url;
+ }
+
+ public Status formal {
diff --git a/gnu/packages/patches/tootle-Use-reason_phrase-instead-of-get_phrase.patch b/gnu/packages/patches/tootle-Use-reason_phrase-instead-of-get_phrase.patch
new file mode 100644
index 0000000000..72a1d1ecfa
--- /dev/null
+++ b/gnu/packages/patches/tootle-Use-reason_phrase-instead-of-get_phrase.patch
@@ -0,0 +1,48 @@
+From 858ee78fbebe161a4cdd707a469dc0f045211a51 Mon Sep 17 00:00:00 2001
+From: Max Harmathy <harmathy@mailbox.org>
+Date: Wed, 25 Aug 2021 13:05:58 +0200
+Subject: [PATCH] Use reason_phrase instead of get_phrase
+
+---
+ src/Services/Cache.vala | 2 +-
+ src/Services/Network.vala | 7 +------
+ 2 files changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/src/Services/Cache.vala b/src/Services/Cache.vala
+index 2251697..2ed314e 100644
+--- a/src/Services/Cache.vala
++++ b/src/Services/Cache.vala
+@@ -88,7 +88,7 @@ public class Tootle.Cache : GLib.Object {
+ try {
+ var code = msg.status_code;
+ if (code != Soup.Status.OK) {
+- var error = network.describe_error (code);
++ var error = msg.reason_phrase;
+ throw new Oopsie.INSTANCE (@"Server returned $error");
+ }
+
+diff --git a/src/Services/Network.vala b/src/Services/Network.vala
+index fa2839c..d0143b0 100644
+--- a/src/Services/Network.vala
++++ b/src/Services/Network.vala
+@@ -56,7 +56,7 @@ public class Tootle.Network : GLib.Object {
+ else if (status == Soup.Status.CANCELLED)
+ debug ("Message is cancelled. Ignoring callback invocation.");
+ else
+- ecb ((int32) status, describe_error ((int32) status));
++ ecb ((int32) status, msg.reason_phrase);
+ });
+ }
+ catch (Error e) {
+@@ -65,11 +65,6 @@ public class Tootle.Network : GLib.Object {
+ }
+ }
+
+- public string describe_error (uint code) {
+- var reason = Soup.Status.get_phrase (code);
+- return @"$code: $reason";
+- }
+-
+ public void on_error (int32 code, string message) {
+ warning (message);
+ app.toast (message);
--
2.34.0
Ludovic Courtès wrote 3 years ago
Re: bug#52842: gnu: tootle: Fix build.
(name . Taiju HIGASHI)(address . higashi@taiju.info)(address . 52842-done@debbugs.gnu.org)
87fsq1j0pz.fsf_-_@gnu.org
Hi,

Taiju HIGASHI <higashi@taiju.info> skribis:

Toggle quote (8 lines)
> ---
> gnu/packages/mastodon.scm | 28 +++++---
> ...re-to-GLib.Object-naming-conventions.patch | 66 +++++++++++++++++++
> ...-reason_phrase-instead-of-get_phrase.patch | 48 ++++++++++++++
> 3 files changed, 132 insertions(+), 10 deletions(-)
> create mode 100644 gnu/packages/patches/tootle-Adhere-to-GLib.Object-naming-conventions.patch
> create mode 100644 gnu/packages/patches/tootle-Use-reason_phrase-instead-of-get_phrase.patch

I shortened the patch file names, added a commit log, and committed.

Thanks!

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 52842@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 52842
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help