gnu: tootle: Fix build.

* gnu/packages/patches/tootle-glib-object-naming.patch,
gnu/packages/patches/tootle-reason-phrase.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/mastodon.scm (tootle)[source]: Use them.
[inputs]: Use LIBSOUP-MINIMAL-2 instead of LIBSOUP.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Taiju HIGASHI 2021-12-28 14:03:17 +09:00 committed by Ludovic Courtès
parent bfdeba11f8
commit b0d25a7118
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
4 changed files with 135 additions and 11 deletions

View File

@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2021 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2012-2021, 2021-2022 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Mark H Weaver <mhw@netris.org>
@ -1850,6 +1850,8 @@ dist_patch_DATA = \
%D%/packages/patches/tk-find-library.patch \
%D%/packages/patches/tla2tools-build-xml.patch \
%D%/packages/patches/tlf-support-hamlib-4.2+.patch \
gnu/packages/patches/tootle-glib-object-naming.patch \
gnu/packages/patches/tootle-reason-phrase.patch \
%D%/packages/patches/tor-sandbox-i686.patch \
%D%/packages/patches/transcode-ffmpeg.patch \
%D%/packages/patches/transmission-honor-localedir.patch \

View File

@ -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 @@
#: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 @@ Features include:
(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-glib-object-naming.patch"
;; https://github.com/bleakgrey/tootle/pull/322
"tootle-reason-phrase.patch"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
@ -125,7 +133,7 @@ Features include:
json-glib
libgee
libhandy
libsoup
libsoup-minimal-2
vala
xdg-utils))
(home-page "https://github.com/bleakgrey/tootle")

View File

@ -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 {

View File

@ -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);