diff options
author | Taiju HIGASHI <higashi@taiju.info> | 2021-12-28 14:03:17 +0900 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-01-05 23:44:18 +0100 |
commit | b0d25a711816d039ba9ec0febc956e7bdf270178 (patch) | |
tree | c99634b80d9086409ddfb03af00bc98937b74cb4 | |
parent | bfdeba11f86b18172194b416c6eb59b7cc7ef355 (diff) | |
download | guix-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>
-rw-r--r-- | gnu/local.mk | 4 | ||||
-rw-r--r-- | gnu/packages/mastodon.scm | 28 | ||||
-rw-r--r-- | gnu/packages/patches/tootle-glib-object-naming.patch | 66 | ||||
-rw-r--r-- | gnu/packages/patches/tootle-reason-phrase.patch | 48 |
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); |