summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorTaiju HIGASHI <higashi@taiju.info>2021-12-28 14:03:17 +0900
committerLudovic Courtès <ludo@gnu.org>2022-01-05 23:44:18 +0100
commitb0d25a711816d039ba9ec0febc956e7bdf270178 (patch)
treec99634b80d9086409ddfb03af00bc98937b74cb4 /gnu
parentbfdeba11f86b18172194b416c6eb59b7cc7ef355 (diff)
downloadguix-patches-b0d25a711816d039ba9ec0febc956e7bdf270178.tar
guix-patches-b0d25a711816d039ba9ec0febc956e7bdf270178.tar.gz
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>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages/mastodon.scm28
-rw-r--r--gnu/packages/patches/tootle-glib-object-naming.patch66
-rw-r--r--gnu/packages/patches/tootle-reason-phrase.patch48
4 files changed, 135 insertions, 11 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index be185a0abf..9238069f1c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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 \
diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm
index 8a8e2e7786..d1efc55c9f 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 @@
#: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")
diff --git a/gnu/packages/patches/tootle-glib-object-naming.patch b/gnu/packages/patches/tootle-glib-object-naming.patch
new file mode 100644
index 0000000000..08ee23dd8f
--- /dev/null
+++ b/gnu/packages/patches/tootle-glib-object-naming.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-reason-phrase.patch b/gnu/packages/patches/tootle-reason-phrase.patch
new file mode 100644
index 0000000000..72a1d1ecfa
--- /dev/null
+++ b/gnu/packages/patches/tootle-reason-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);