Subject: [bug#63901] [PATCH 2/2] gnu: tootle: Deprecate in favor of tuba.

From: Efraim Flashner <[email-masked]>
Date: Mon, 5 Jun 2023 10:28:24 +0300

* gnu/packages/mastodon.scm (tootle): Deprecate for tuba.
* gnu/packages/patches/tootle-glib-object-renaming.patch,
gnu/packages/patches/tootle-reason-phrase.patch: Remove files.
* gnu/local.mk (dist_patch_DATA): Remove them.
---
 gnu/local.mk                                  |  2 -
 gnu/packages/mastodon.scm                     | 63 +-----------------
 .../patches/tootle-glib-object-naming.patch   | 66 -------------------
 .../patches/tootle-reason-phrase.patch        | 48 --------------
 4 files changed, 1 insertion(+), 178 deletions(-)
 delete mode 100644 gnu/packages/patches/tootle-glib-object-naming.patch
 delete mode 100644 gnu/packages/patches/tootle-reason-phrase.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 9adf593318..aeb7b6c65c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1970,8 +1970,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/tla2tools-build-xml.patch		\
   %D%/packages/patches/tlf-support-hamlib-4.2+.patch		\
   %D%/packages/patches/tofi-32bit-compat.patch			\
-  %D%/packages/patches/tootle-glib-object-naming.patch		\
-  %D%/packages/patches/tootle-reason-phrase.patch		\
   %D%/packages/patches/transcode-ffmpeg.patch	\
   %D%/packages/patches/transfig-gcc10-fno-common.patch		\
   %D%/packages/patches/trytond-add-egg-modules-to-path.patch	\
diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm
index 0d430391dc..39dd4d4533 100644
--- a/gnu/packages/mastodon.scm
+++ b/gnu/packages/mastodon.scm
@@ -128,68 +128,7 @@ (define-public tuba
     (license license:gpl3)))
 
 (define-public tootle
-  (package
-    (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"))
-       (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
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'skip-gtk-update-icon-cache
-           ;; Don't create 'icon-theme.cache'.
-           (lambda _
-             (substitute* "meson/post_install.py"
-               (("gtk-update-icon-cache") "true"))))
-         (add-after 'unpack 'patch-source
-           (lambda _
-             (substitute* "src/Dialogs/NewAccount.vala"
-               (("xdg-mime") (which "xdg-mime")))
-             ;; Patch for building on glib < 2.64
-             (substitute* "src/Build.vala"
-               (("(os_name = ).*" _ first) (string-append first "\"GNU\";\n"))
-               (("(os_ver = ).*" _ first) (string-append first "\"Guix\";\n"))
-               (("GLib.Environment.get_os_info.*") "\"unknown\";\n"))))
-         (add-after 'install 'symlink-package
-           (lambda* (#:key outputs #:allow-other-keys)
-             (symlink "com.github.bleakgrey.tootle"
-                      (string-append (assoc-ref outputs "out")
-                                     "/bin/tootle")))))))
-    (native-inputs
-     (list gettext-minimal
-           `(,glib "bin") ; for glib-compile-resources
-           gsettings-desktop-schemas pkg-config))
-    (inputs
-     (list glib-networking
-           gtk+
-           json-glib
-           libgee
-           libhandy
-           libsoup-minimal-2
-           vala
-           xdg-utils))
-    (home-page "https://github.com/bleakgrey/tootle")
-    (synopsis "GTK3 client for Mastodon")
-    (description "Tootle is a GTK client for Mastodon.  It provides a clean,
-native interface that allows you to integrate Mastodon's social experience
-seamlessly with your desktop environment.")
-    (license license:gpl3+)))
+  (deprecated-package "tootle" tuba))
 
 (define-public python-mastodon-py
   (package
diff --git a/gnu/packages/patches/tootle-glib-object-naming.patch b/gnu/packages/patches/tootle-glib-object-naming.patch
deleted file mode 100644
index 08ee23dd8f..0000000000
--- a/gnu/packages/patches/tootle-glib-object-naming.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 0816105028c26965e37c9afc7c598854f3fecde1 Mon Sep 17 00:00:00 2001
-From: Clayton Craft <[email-masked]>
-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 <[email-masked]>
----
- 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
deleted file mode 100644
index 72a1d1ecfa..0000000000
--- a/gnu/packages/patches/tootle-reason-phrase.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 858ee78fbebe161a4cdd707a469dc0f045211a51 Mon Sep 17 00:00:00 2001
-From: Max Harmathy <[email-masked]>
-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);
-- 
Efraim Flashner   <[email-masked]>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted