git: ce8e9999eb59 - main - net-im/dissent: update to 0.0.30

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Tue, 17 Sep 2024 14:31:58 UTC
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ce8e9999eb59e9d0f5c5063f95a089333835b276

commit ce8e9999eb59e9d0f5c5063f95a089333835b276
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2024-08-23 15:24:09 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2024-09-17 14:29:33 +0000

    net-im/dissent: update to 0.0.30
    
    Changes:        https://github.com/diamondburned/dissent/releases/tag/v0.0.28
    Changes:        https://github.com/diamondburned/dissent/releases/tag/v0.0.29
    Changes:        https://github.com/diamondburned/dissent/releases/tag/v0.0.30
---
 net-im/dissent/Makefile                      |  25 +-
 net-im/dissent/distinfo                      |  36 +--
 net-im/dissent/files/patch-gtksourceview-5.4 | 393 +++++++++++++++++++++++++++
 net-im/dissent/files/patch-vendor            |  28 ++
 4 files changed, 453 insertions(+), 29 deletions(-)

diff --git a/net-im/dissent/Makefile b/net-im/dissent/Makefile
index d334d850e209..239698935254 100644
--- a/net-im/dissent/Makefile
+++ b/net-im/dissent/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	dissent
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.0.27
-PORTREVISION=	1
+DISTVERSION=	0.0.30
 CATEGORIES=	net-im
 
 MAINTAINER=	ports@FreeBSD.org
@@ -11,25 +10,28 @@ WWW=		https://github.com/diamondburned/dissent
 LICENSE=	GPLv3
 LICENSE_FILE=	${WRKSRC}/LICENSE.md
 
-LIB_DEPENDS=	libgraphene-1.0.so:graphics/graphene
+LIB_DEPENDS=	libgraphene-1.0.so:graphics/graphene \
+		libspelling-1.so:x11-toolkits/libspelling
 
-USES=		gnome go:1.21,modules pkgconfig
+USES=		gnome go:1.22,modules pkgconfig
 USE_GITHUB=	yes
-USE_GNOME=	cairo gdkpixbuf2 gtk40 libadwaita
+USE_GNOME=	cairo gdkpixbuf2 gtk40 gtksourceview5 libadwaita
 GH_ACCOUNT=	diamondburned
 GH_TUPLE=	KarpelesLab:weak:v0.1.1:karpeleslab_weak/vendor/github.com/KarpelesLab/weak \
 		alecthomas:chroma:v0.10.0:alecthomas_chroma/vendor/github.com/alecthomas/chroma \
 		alessio:shellescape:v1.4.2:alessio_shellescape/vendor/github.com/alessio/shellescape \
 		danieljoos:wincred:v1.2.1:danieljoos_wincred/vendor/github.com/danieljoos/wincred \
 		diamondburned:adaptive:fa139be203a8:diamondburned_adaptive/vendor/github.com/diamondburned/adaptive \
-		diamondburned:arikawa:v3.3.6:diamondburned_arikawa_v3/vendor/github.com/diamondburned/arikawa/v3 \
+		diamondburned:arikawa:v3.4.0:diamondburned_arikawa_v3/vendor/github.com/diamondburned/arikawa/v3 \
 		diamondburned:chatkit:5788b19145bc:diamondburned_chatkit/vendor/github.com/diamondburned/chatkit \
 		diamondburned:ctxt:2db38a5d3c12:diamondburned_ctxt/vendor/libdb.so/ctxt \
 		diamondburned:go-emoji:39776eee41ac:diamondburned_go_emoji/vendor/libdb.so/go-emoji \
 		diamondburned:gotk4-adwaita:824c3ce8a5f4:diamondburned_gotk4_adwaita_pkg/vendor/github.com/diamondburned/gotk4-adwaita \
+		diamondburned:gotk4-sourceview:98263515a466:diamondburned_gotk4_sourceview/vendor/libdb.so/gotk4-sourceview/pkg \
+		diamondburned:gotk4-spelling:ee26db878626:diamondburned_gotk4_spelling/vendor/libdb.so/gotk4-spelling/pkg \
 		diamondburned:gotk4:v0.3.1:diamondburned_gotk4_pkg/vendor/github.com/diamondburned/gotk4 \
-		diamondburned:gotkit:b0d58ff2b308:diamondburned_gotkit/vendor/github.com/diamondburned/gotkit \
-		diamondburned:ningen:b1a39a908e52:diamondburned_ningen_v3/vendor/github.com/diamondburned/ningen/v3 \
+		diamondburned:gotkit:aa2fb5bc486d:diamondburned_gotkit/vendor/github.com/diamondburned/gotkit \
+		diamondburned:ningen:f1a24c0da3d8:diamondburned_ningen_v3/vendor/github.com/diamondburned/ningen/v3 \
 		dlclark:regexp2:v1.11.0:dlclark_regexp2/vendor/github.com/dlclark/regexp2 \
 		dustin:go-humanize:v1.0.1:dustin_go_humanize/vendor/github.com/dustin/go-humanize \
 		enescakir:emoji:v1.0.0:enescakir_emoji/vendor/github.com/enescakir/emoji \
@@ -37,14 +39,13 @@ GH_TUPLE=	KarpelesLab:weak:v0.1.1:karpeleslab_weak/vendor/github.com/KarpelesLab
 		go4org:unsafe-assume-no-moving-gc:b99613f794b6:go4org_unsafe_assume_no_moving_gc/vendor/go4.org/unsafe/assume-no-moving-gc \
 		godbus:dbus:v5.1.0:godbus_dbus_v5/vendor/github.com/godbus/dbus/v5 \
 		gofrs:flock:v0.12.1:gofrs_flock/vendor/github.com/gofrs/flock \
-		golang:crypto:v0.22.0:golang_crypto/vendor/golang.org/x/crypto \
-		golang:net:v0.24.0:golang_net/vendor/golang.org/x/net \
+		golang:crypto:v0.25.0:golang_crypto/vendor/golang.org/x/crypto \
 		golang:sync:v0.7.0:golang_sync/vendor/golang.org/x/sync \
 		golang:sys:v0.22.0:golang_sys/vendor/golang.org/x/sys \
 		golang:text:v0.16.0:golang_text/vendor/golang.org/x/text \
-		golang:time:v0.5.0:golang_time/vendor/golang.org/x/time \
+		golang:time:v0.6.0:golang_time/vendor/golang.org/x/time \
 		gorilla:schema:v1.4.1:gorilla_schema/vendor/github.com/gorilla/schema \
-		gorilla:websocket:v1.5.1:gorilla_websocket/vendor/github.com/gorilla/websocket \
+		gorilla:websocket:v1.5.3:gorilla_websocket/vendor/github.com/gorilla/websocket \
 		ianlancetaylor:cgosymbolizer:581a3f7c677f:ianlancetaylor_cgosymbolizer/vendor/github.com/ianlancetaylor/cgosymbolizer \
 		leonelquinteros:gotext:v1.6.0:leonelquinteros_gotext/vendor/github.com/leonelquinteros/gotext \
 		lmittmann:tint:v1.0.4:lmittmann_tint/vendor/github.com/lmittmann/tint \
diff --git a/net-im/dissent/distinfo b/net-im/dissent/distinfo
index 2bc99d0d2b66..ef784b07293a 100644
--- a/net-im/dissent/distinfo
+++ b/net-im/dissent/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1722705520
-SHA256 (diamondburned-dissent-v0.0.27_GH0.tar.gz) = c2680b6722be898a7293ef67b99da611b15e104eadc0f2e412a92b7ad3db12c3
-SIZE (diamondburned-dissent-v0.0.27_GH0.tar.gz) = 4038725
+TIMESTAMP = 1724751353
+SHA256 (diamondburned-dissent-v0.0.30_GH0.tar.gz) = 63994e46b01e135c36902b67a8495eef71d4a4b09204c712629edadfc8398dc6
+SIZE (diamondburned-dissent-v0.0.30_GH0.tar.gz) = 4041825
 SHA256 (KarpelesLab-weak-v0.1.1_GH0.tar.gz) = a8b6b241e8b72c95132497864c59a559fb35f6ae4b296c299e563a12a3a16fbe
 SIZE (KarpelesLab-weak-v0.1.1_GH0.tar.gz) = 3484
 SHA256 (alecthomas-chroma-v0.10.0_GH0.tar.gz) = 98a517ae99f48e3b54d5c8cd7473d5c544f51bee7a4be17f5175736fce37da56
@@ -11,8 +11,8 @@ SHA256 (danieljoos-wincred-v1.2.1_GH0.tar.gz) = 572e2318744c658b520c7c676c7638a9
 SIZE (danieljoos-wincred-v1.2.1_GH0.tar.gz) = 10253
 SHA256 (diamondburned-adaptive-fa139be203a8_GH0.tar.gz) = 72fb26ba28d2ee4528f626a9e496f676dce7f452204f81f04768eece441bba3f
 SIZE (diamondburned-adaptive-fa139be203a8_GH0.tar.gz) = 18557
-SHA256 (diamondburned-arikawa-v3.3.6_GH0.tar.gz) = d72b6bd479a45d9fd18572dba48297dd6022e5ccd9f39ee8f997c743708a1058
-SIZE (diamondburned-arikawa-v3.3.6_GH0.tar.gz) = 264294
+SHA256 (diamondburned-arikawa-v3.4.0_GH0.tar.gz) = 455b18a0d0586bad90f7bf32f870d4ca583227a3843606d35f079e28aa0aa24c
+SIZE (diamondburned-arikawa-v3.4.0_GH0.tar.gz) = 266125
 SHA256 (diamondburned-chatkit-5788b19145bc_GH0.tar.gz) = 92f6c0bbb61537cd72014f30e4f1751604d617405ddbce4040ccd45cf75ebf20
 SIZE (diamondburned-chatkit-5788b19145bc_GH0.tar.gz) = 61420
 SHA256 (diamondburned-ctxt-2db38a5d3c12_GH0.tar.gz) = e326eae196ce8f25bf12e45d57c08011c3c3673a2e5da805235ee423f105e2b1
@@ -21,12 +21,16 @@ SHA256 (diamondburned-go-emoji-39776eee41ac_GH0.tar.gz) = 3159ca9f8a77340f1f4605
 SIZE (diamondburned-go-emoji-39776eee41ac_GH0.tar.gz) = 374906
 SHA256 (diamondburned-gotk4-adwaita-824c3ce8a5f4_GH0.tar.gz) = 118e06eb3e8be8838caebd9525e0d3c2b6297912e5fb34b6335e2ca56714ced8
 SIZE (diamondburned-gotk4-adwaita-824c3ce8a5f4_GH0.tar.gz) = 177839
+SHA256 (diamondburned-gotk4-sourceview-98263515a466_GH0.tar.gz) = 7e8c5500784fde5e6f3322b4326352ff1e4f900976b8a0af86807acbee30451b
+SIZE (diamondburned-gotk4-sourceview-98263515a466_GH0.tar.gz) = 246143
+SHA256 (diamondburned-gotk4-spelling-ee26db878626_GH0.tar.gz) = 2d36302292cbd494c68e4bd53626ab2a3b4b2393a28eeb1b8c9dc9a99aef43de
+SIZE (diamondburned-gotk4-spelling-ee26db878626_GH0.tar.gz) = 25338
 SHA256 (diamondburned-gotk4-v0.3.1_GH0.tar.gz) = 1aea32fc2026aa0d3b2ad429eff2900d826a7a1dddceb2649d4d4114fe86feca
 SIZE (diamondburned-gotk4-v0.3.1_GH0.tar.gz) = 3311686
-SHA256 (diamondburned-gotkit-b0d58ff2b308_GH0.tar.gz) = f2d3f8ec9b2325ed7e8e137ce1e4a2a0f69f2915ca9539e0795b207f2a977a8a
-SIZE (diamondburned-gotkit-b0d58ff2b308_GH0.tar.gz) = 75542
-SHA256 (diamondburned-ningen-b1a39a908e52_GH0.tar.gz) = e91d13bb5905bd629b80a678a184724cb159dd63e7afbebd2c00f6c5725a3a6b
-SIZE (diamondburned-ningen-b1a39a908e52_GH0.tar.gz) = 46615
+SHA256 (diamondburned-gotkit-aa2fb5bc486d_GH0.tar.gz) = 9a01653ae12e1d2c4b5978f90ee64296572dc6a270d611c59c5ce29932bbfae4
+SIZE (diamondburned-gotkit-aa2fb5bc486d_GH0.tar.gz) = 75705
+SHA256 (diamondburned-ningen-f1a24c0da3d8_GH0.tar.gz) = 88814c8bef1f44d397205bc001c3a118fe3fca6e1acc18c77218074a85c3ba07
+SIZE (diamondburned-ningen-f1a24c0da3d8_GH0.tar.gz) = 46994
 SHA256 (dlclark-regexp2-v1.11.0_GH0.tar.gz) = c380209bd67b67859014f9bfd155aec4bfc4beb65f4a6aec37683b80186b18f7
 SIZE (dlclark-regexp2-v1.11.0_GH0.tar.gz) = 212532
 SHA256 (dustin-go-humanize-v1.0.1_GH0.tar.gz) = ac3a0d8d0eef07c75d12eddce775a8e8306dfb9783a45312597c34ff643793d8
@@ -41,22 +45,20 @@ SHA256 (godbus-dbus-v5.1.0_GH0.tar.gz) = 2f4939ab13a20178584ef534293abc5b6744bb5
 SIZE (godbus-dbus-v5.1.0_GH0.tar.gz) = 74080
 SHA256 (gofrs-flock-v0.12.1_GH0.tar.gz) = 4782769ed6566f75e03da9157087337f03868ab3533c193bd5ccd276f0517146
 SIZE (gofrs-flock-v0.12.1_GH0.tar.gz) = 14942
-SHA256 (golang-crypto-v0.22.0_GH0.tar.gz) = be0f461ea3ce13349996dca48fbb27537fd738aa6498fb38cfbf87a2ce31e082
-SIZE (golang-crypto-v0.22.0_GH0.tar.gz) = 1813353
-SHA256 (golang-net-v0.24.0_GH0.tar.gz) = 6fbc9f6ddc538c67affd1248d68ca85f69e0abe916181b1cd81323093afa96b9
-SIZE (golang-net-v0.24.0_GH0.tar.gz) = 1509016
+SHA256 (golang-crypto-v0.25.0_GH0.tar.gz) = 44619ce0bc1901464e14925487f5152b850b50e214cc12021dbe177f22444749
+SIZE (golang-crypto-v0.25.0_GH0.tar.gz) = 1796762
 SHA256 (golang-sync-v0.7.0_GH0.tar.gz) = 39bf56d2dc04d16baabbf5eb5d847a2ad68762b5efde7ca3a8fdb24bdcdd9461
 SIZE (golang-sync-v0.7.0_GH0.tar.gz) = 18181
 SHA256 (golang-sys-v0.22.0_GH0.tar.gz) = b5a84a20ff327803ed47aefd837a3264d511b3f644017cb8e050ff1f5bd22471
 SIZE (golang-sys-v0.22.0_GH0.tar.gz) = 1498230
 SHA256 (golang-text-v0.16.0_GH0.tar.gz) = 6df270cb3d696f882857c8ce02233e7f08d5ff900986e1ac669b47e088b18779
 SIZE (golang-text-v0.16.0_GH0.tar.gz) = 8972326
-SHA256 (golang-time-v0.5.0_GH0.tar.gz) = bb876812abbce995ed8c8523b55c5c5518e594f0570cf372a5d1213a5423d95f
-SIZE (golang-time-v0.5.0_GH0.tar.gz) = 12219
+SHA256 (golang-time-v0.6.0_GH0.tar.gz) = ae14197c16c163312cda54facc15cbf36f2bd8cf09daefe1489b234335f162e3
+SIZE (golang-time-v0.6.0_GH0.tar.gz) = 12219
 SHA256 (gorilla-schema-v1.4.1_GH0.tar.gz) = 5ba1ae2586add03cbbe9ca0f4669c37fd257b196f6e3d2f41dc98cc99efb802b
 SIZE (gorilla-schema-v1.4.1_GH0.tar.gz) = 28615
-SHA256 (gorilla-websocket-v1.5.1_GH0.tar.gz) = b8c9f291d12c1b2fcbc64b4862bead21d709c2884fe4b3e35ae1e5485c039d8d
-SIZE (gorilla-websocket-v1.5.1_GH0.tar.gz) = 61416
+SHA256 (gorilla-websocket-v1.5.3_GH0.tar.gz) = 707f217e9a46c516c289b71c45a4e51b11b5e0fcec54c1fbfecde47b8a001799
+SIZE (gorilla-websocket-v1.5.3_GH0.tar.gz) = 54884
 SHA256 (ianlancetaylor-cgosymbolizer-581a3f7c677f_GH0.tar.gz) = ba359abe38f7cf2459aa9e37175e78927f8ab141c87b853d26baa580ec74aae5
 SIZE (ianlancetaylor-cgosymbolizer-581a3f7c677f_GH0.tar.gz) = 104214
 SHA256 (leonelquinteros-gotext-v1.6.0_GH0.tar.gz) = 6f612c6307f089526362a6b683eafa81385cc278f80024018217e3c90849dfee
diff --git a/net-im/dissent/files/patch-gtksourceview-5.4 b/net-im/dissent/files/patch-gtksourceview-5.4
new file mode 100644
index 000000000000..915c229df499
--- /dev/null
+++ b/net-im/dissent/files/patch-gtksourceview-5.4
@@ -0,0 +1,393 @@
+Drop after x11-toolkits/gtksourceview5 >= 5.6 update
+
+vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcebuffer.go:500:10: could not determine kind of name for C.gtk_source_buffer_get_loading
+vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcecompletioncontext.go:301:10: could not determine kind of name for C.gtk_source_completion_context_get_proposals_for_provider
+vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcecompletioncontext.go:376:10: could not determine kind of name for C.gtk_source_completion_context_list_providers
+vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcecompletionproposal.go:88:10: could not determine kind of name for C.gtk_source_completion_proposal_get_typed_text
+vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcegutterlines.go:341:10: could not determine kind of name for C.gtk_source_gutter_lines_has_any_class
+vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcesearchsettings.go:192:10: could not determine kind of name for C.gtk_source_search_settings_get_visible_only
+vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcesearchsettings.go:340:2: could not determine kind of name for C.gtk_source_search_settings_set_visible_only
+vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcesnippet.go:138:10: could not determine kind of name for C.gtk_source_snippet_new_parsed
+vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcesnippetmanager.go:178:10: could not determine kind of name for C.gtk_source_snippet_manager_list_all
+
+--- vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcebuffer.go.orig	2024-08-18 07:05:27 UTC
++++ vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcebuffer.go
+@@ -491,24 +491,6 @@ func (buffer *Buffer) Language() *Language {
+ 	return _language
+ }
+ 
+-func (buffer *Buffer) Loading() bool {
+-	var _arg0 *C.GtkSourceBuffer // out
+-	var _cret C.gboolean         // in
+-
+-	_arg0 = (*C.GtkSourceBuffer)(unsafe.Pointer(coreglib.InternObject(buffer).Native()))
+-
+-	_cret = C.gtk_source_buffer_get_loading(_arg0)
+-	runtime.KeepAlive(buffer)
+-
+-	var _ok bool // out
+-
+-	if _cret != 0 {
+-		_ok = true
+-	}
+-
+-	return _ok
+-}
+-
+ // SourceMarksAtIter returns the list of marks of the given category at iter.
+ //
+ // If category is NULL it returns all marks at iter.
+--- vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcecompletioncontext.go.orig	2024-08-18 07:05:27 UTC
++++ vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcecompletioncontext.go
+@@ -278,44 +278,6 @@ func (self *CompletionContext) Language() *Language {
+ 	return _language
+ }
+ 
+-// ProposalsForProvider gets the Model associated with the provider.
+-//
+-// You can connect to SourceCompletionContext::model-changed to receive
+-// notifications about when the model has been replaced by a new model.
+-//
+-// The function takes the following parameters:
+-//
+-//   - provider: SourceCompletionProvider.
+-//
+-// The function returns the following values:
+-//
+-//   - listModel (optional) or NULL.
+-func (self *CompletionContext) ProposalsForProvider(provider CompletionProviderer) *gio.ListModel {
+-	var _arg0 *C.GtkSourceCompletionContext  // out
+-	var _arg1 *C.GtkSourceCompletionProvider // out
+-	var _cret *C.GListModel                  // in
+-
+-	_arg0 = (*C.GtkSourceCompletionContext)(unsafe.Pointer(coreglib.InternObject(self).Native()))
+-	_arg1 = (*C.GtkSourceCompletionProvider)(unsafe.Pointer(coreglib.InternObject(provider).Native()))
+-
+-	_cret = C.gtk_source_completion_context_get_proposals_for_provider(_arg0, _arg1)
+-	runtime.KeepAlive(self)
+-	runtime.KeepAlive(provider)
+-
+-	var _listModel *gio.ListModel // out
+-
+-	if _cret != nil {
+-		{
+-			obj := coreglib.Take(unsafe.Pointer(_cret))
+-			_listModel = &gio.ListModel{
+-				Object: obj,
+-			}
+-		}
+-	}
+-
+-	return _listModel
+-}
+-
+ // View gets the text view for the context.
+ //
+ // The function returns the following values:
+@@ -360,32 +322,6 @@ func (self *CompletionContext) Word() string {
+ 	defer C.free(unsafe.Pointer(_cret))
+ 
+ 	return _utf8
+-}
+-
+-// ListProviders gets the providers that are associated with the context.
+-//
+-// The function returns the following values:
+-//
+-//   - listModel of SourceCompletionProvider.
+-func (self *CompletionContext) ListProviders() *gio.ListModel {
+-	var _arg0 *C.GtkSourceCompletionContext // out
+-	var _cret *C.GListModel                 // in
+-
+-	_arg0 = (*C.GtkSourceCompletionContext)(unsafe.Pointer(coreglib.InternObject(self).Native()))
+-
+-	_cret = C.gtk_source_completion_context_list_providers(_arg0)
+-	runtime.KeepAlive(self)
+-
+-	var _listModel *gio.ListModel // out
+-
+-	{
+-		obj := coreglib.AssumeOwnership(unsafe.Pointer(_cret))
+-		_listModel = &gio.ListModel{
+-			Object: obj,
+-		}
+-	}
+-
+-	return _listModel
+ }
+ 
+ // SetProposalsForProvider: this function allows providers to update their
+--- vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcecompletionproposal.go.orig	2024-08-18 07:05:27 UTC
++++ vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcecompletionproposal.go
+@@ -3,7 +3,6 @@ import (
+ package gtksource
+ 
+ import (
+-	"runtime"
+ 	"unsafe"
+ 
+ 	coreglib "github.com/diamondburned/gotk4/pkg/core/glib"
+@@ -58,8 +57,6 @@ type CompletionProposaller interface {
+ 	TypedText() string
+ }
+ 
+-var _ CompletionProposaller = (*CompletionProposal)(nil)
+-
+ func wrapCompletionProposal(obj *coreglib.Object) *CompletionProposal {
+ 	return &CompletionProposal{
+ 		Object: obj,
+@@ -68,65 +65,6 @@ func marshalCompletionProposal(p uintptr) (interface{}
+ 
+ func marshalCompletionProposal(p uintptr) (interface{}, error) {
+ 	return wrapCompletionProposal(coreglib.ValueFromNative(unsafe.Pointer(p)).Object()), nil
+-}
+-
+-// TypedText gets the typed-text for the proposal, if supported by the
+-// implementation.
+-//
+-// Implementing this virtual-function is optional, but can be useful to allow
+-// external tooling to compare results.
+-//
+-// The function returns the following values:
+-//
+-//   - utf8 (optional): newly allocated string, or NULL.
+-func (proposal *CompletionProposal) TypedText() string {
+-	var _arg0 *C.GtkSourceCompletionProposal // out
+-	var _cret *C.char                        // in
+-
+-	_arg0 = (*C.GtkSourceCompletionProposal)(unsafe.Pointer(coreglib.InternObject(proposal).Native()))
+-
+-	_cret = C.gtk_source_completion_proposal_get_typed_text(_arg0)
+-	runtime.KeepAlive(proposal)
+-
+-	var _utf8 string // out
+-
+-	if _cret != nil {
+-		_utf8 = C.GoString((*C.gchar)(unsafe.Pointer(_cret)))
+-		defer C.free(unsafe.Pointer(_cret))
+-	}
+-
+-	return _utf8
+-}
+-
+-// typedText gets the typed-text for the proposal, if supported by the
+-// implementation.
+-//
+-// Implementing this virtual-function is optional, but can be useful to allow
+-// external tooling to compare results.
+-//
+-// The function returns the following values:
+-//
+-//   - utf8 (optional): newly allocated string, or NULL.
+-func (proposal *CompletionProposal) typedText() string {
+-	gclass := (*C.GtkSourceCompletionProposalInterface)(coreglib.PeekParentClass(proposal))
+-	fnarg := gclass.get_typed_text
+-
+-	var _arg0 *C.GtkSourceCompletionProposal // out
+-	var _cret *C.char                        // in
+-
+-	_arg0 = (*C.GtkSourceCompletionProposal)(unsafe.Pointer(coreglib.InternObject(proposal).Native()))
+-
+-	_cret = C._gotk4_gtksource5_CompletionProposal_virtual_get_typed_text(unsafe.Pointer(fnarg), _arg0)
+-	runtime.KeepAlive(proposal)
+-
+-	var _utf8 string // out
+-
+-	if _cret != nil {
+-		_utf8 = C.GoString((*C.gchar)(unsafe.Pointer(_cret)))
+-		defer C.free(unsafe.Pointer(_cret))
+-	}
+-
+-	return _utf8
+ }
+ 
+ // CompletionProposalInterface: instance of this type is always passed by
+--- vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcegutterlines.go.orig	2024-08-18 07:05:27 UTC
++++ vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcegutterlines.go
+@@ -319,38 +319,6 @@ func (lines *GutterLines) View() *gtk.TextView {
+ 	return _textView
+ }
+ 
+-// HasAnyClass checks to see if the line has any GQuark classes set. This can be
+-// used to help renderer implementations avoid work if nothing has been set on
+-// the class.
+-//
+-// The function takes the following parameters:
+-//
+-//   - line contained within lines.
+-//
+-// The function returns the following values:
+-//
+-//   - ok: TRUE if any quark was set for the line.
+-func (lines *GutterLines) HasAnyClass(line uint) bool {
+-	var _arg0 *C.GtkSourceGutterLines // out
+-	var _arg1 C.guint                 // out
+-	var _cret C.gboolean              // in
+-
+-	_arg0 = (*C.GtkSourceGutterLines)(unsafe.Pointer(coreglib.InternObject(lines).Native()))
+-	_arg1 = C.guint(line)
+-
+-	_cret = C.gtk_source_gutter_lines_has_any_class(_arg0, _arg1)
+-	runtime.KeepAlive(lines)
+-	runtime.KeepAlive(line)
+-
+-	var _ok bool // out
+-
+-	if _cret != 0 {
+-		_ok = true
+-	}
+-
+-	return _ok
+-}
+-
+ // HasClass checks to see if gutterlines.AddClass was called with the name for
+ // line.
+ //
+--- vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcesearchsettings.go.orig	2024-08-18 07:05:27 UTC
++++ vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcesearchsettings.go
+@@ -182,27 +182,6 @@ func (settings *SearchSettings) SearchText() string {
+ 
+ // The function returns the following values:
+ //
+-//   - ok: whether to exclude invisible text from the search.
+-func (settings *SearchSettings) VisibleOnly() bool {
+-	var _arg0 *C.GtkSourceSearchSettings // out
+-	var _cret C.gboolean                 // in
+-
+-	_arg0 = (*C.GtkSourceSearchSettings)(unsafe.Pointer(coreglib.InternObject(settings).Native()))
+-
+-	_cret = C.gtk_source_search_settings_get_visible_only(_arg0)
+-	runtime.KeepAlive(settings)
+-
+-	var _ok bool // out
+-
+-	if _cret != 0 {
+-		_ok = true
+-	}
+-
+-	return _ok
+-}
+-
+-// The function returns the following values:
+-//
+ //   - ok: whether to wrap around the search.
+ func (settings *SearchSettings) WrapAround() bool {
+ 	var _arg0 *C.GtkSourceSearchSettings // out
+@@ -317,29 +296,6 @@ func (settings *SearchSettings) SetSearchText(searchTe
+ 	C.gtk_source_search_settings_set_search_text(_arg0, _arg1)
+ 	runtime.KeepAlive(settings)
+ 	runtime.KeepAlive(searchText)
+-}
+-
+-// SetVisibleOnly enables or disables whether to exclude invisible text from the
+-// search.
+-//
+-// If enabled, only visible text will be searched. A search match may have
+-// invisible text interspersed.
+-//
+-// The function takes the following parameters:
+-//
+-//   - visibleOnly: setting.
+-func (settings *SearchSettings) SetVisibleOnly(visibleOnly bool) {
+-	var _arg0 *C.GtkSourceSearchSettings // out
+-	var _arg1 C.gboolean                 // out
+-
+-	_arg0 = (*C.GtkSourceSearchSettings)(unsafe.Pointer(coreglib.InternObject(settings).Native()))
+-	if visibleOnly {
+-		_arg1 = C.TRUE
+-	}
+-
+-	C.gtk_source_search_settings_set_visible_only(_arg0, _arg1)
+-	runtime.KeepAlive(settings)
+-	runtime.KeepAlive(visibleOnly)
+ }
+ 
+ // SetWrapAround enables or disables the wrap around search.
+--- vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcesnippet.go.orig	2024-08-18 07:05:27 UTC
++++ vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcesnippet.go
+@@ -6,7 +6,6 @@ import (
+ 	"runtime"
+ 	"unsafe"
+ 
+-	"github.com/diamondburned/gotk4/pkg/core/gerror"
+ 	"github.com/diamondburned/gotk4/pkg/core/gextras"
+ 	coreglib "github.com/diamondburned/gotk4/pkg/core/glib"
+ )
+@@ -114,39 +113,6 @@ func NewSnippet(trigger, languageId string) *Snippet {
+ 	_snippet = wrapSnippet(coreglib.AssumeOwnership(unsafe.Pointer(_cret)))
+ 
+ 	return _snippet
+-}
+-
+-// NewSnippetParsed parses the snippet formatted text into a series of chunks
+-// and adds them to a new SourceSnippet.
+-//
+-// The function takes the following parameters:
+-//
+-//   - text: formatted snippet text to parse.
+-//
+-// The function returns the following values:
+-//
+-//   - snippet: newly parsed SourceSnippet, or NULL upon failure and error is
+-//     set.
+-func NewSnippetParsed(text string) (*Snippet, error) {
+-	var _arg1 *C.char             // out
+-	var _cret *C.GtkSourceSnippet // in
+-	var _cerr *C.GError           // in
+-
+-	_arg1 = (*C.char)(unsafe.Pointer(C.CString(text)))
+-	defer C.free(unsafe.Pointer(_arg1))
+-
+-	_cret = C.gtk_source_snippet_new_parsed(_arg1, &_cerr)
+-	runtime.KeepAlive(text)
+-
+-	var _snippet *Snippet // out
+-	var _goerr error      // out
+-
+-	_snippet = wrapSnippet(coreglib.AssumeOwnership(unsafe.Pointer(_cret)))
+-	if _cerr != nil {
+-		_goerr = gerror.Take(unsafe.Pointer(_cerr))
+-	}
+-
+-	return _snippet, _goerr
+ }
+ 
+ // AddChunk appends chunk to the snippet.
+--- vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcesnippetmanager.go.orig	2024-08-18 07:05:27 UTC
++++ vendor/libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5/gtksourcesnippetmanager.go
+@@ -161,35 +161,6 @@ func (self *SnippetManager) Snippet(group, languageId,
+ 	return _snippet
+ }
+ 
+-// ListAll gets a gio.ListModel of all snippets.
+-//
+-// This can be used to get an unfiltered list of all of the snippets known to
+-// the snippet manager.
+-//
+-// The function returns the following values:
+-//
+-//   - listModel: gio.ListModel of gtksource.Snippet.
+-func (self *SnippetManager) ListAll() *gio.ListModel {
+-	var _arg0 *C.GtkSourceSnippetManager // out
+-	var _cret *C.GListModel              // in
+-
+-	_arg0 = (*C.GtkSourceSnippetManager)(unsafe.Pointer(coreglib.InternObject(self).Native()))
+-
+-	_cret = C.gtk_source_snippet_manager_list_all(_arg0)
+-	runtime.KeepAlive(self)
+-
+-	var _listModel *gio.ListModel // out
+-
+-	{
+-		obj := coreglib.Take(unsafe.Pointer(_cret))
+-		_listModel = &gio.ListModel{
+-			Object: obj,
+-		}
+-	}
+-
+-	return _listModel
+-}
+-
+ // ListGroups: list all the known groups within the snippet manager.
+ //
+ // The result should be freed with g_free(), and the individual strings are
diff --git a/net-im/dissent/files/patch-vendor b/net-im/dissent/files/patch-vendor
new file mode 100644
index 000000000000..d6b5a47fd160
--- /dev/null
+++ b/net-im/dissent/files/patch-vendor
@@ -0,0 +1,28 @@
+internal/messages/composer/input_good_os.go:11:2: cannot find module providing package libdb.so/gotk4-sourceview/pkg/gtksource/v5: import lookup disabled by -mod=vendor
+internal/messages/composer/input_good_os.go:12:2: cannot find module providing package libdb.so/gotk4-spelling/pkg/spelling: import lookup disabled by -mod=vendor
+vendor/libdb.so/gotk4-spelling/pkg/pkg/spelling/spelling-text-buffer-adapter.go:13:2: cannot find module providing package libdb.so/gotk4-sourceview/pkg/gtksource/v5: import lookup disabled by -mod=vendor
+
+--- internal/messages/composer/input_good_os.go.orig	2024-08-27 09:35:53 UTC
++++ internal/messages/composer/input_good_os.go
+@@ -8,8 +8,8 @@ import (
+ 	"github.com/diamondburned/gotk4/pkg/gtk/v4"
+ 	"github.com/diamondburned/gotkit/app"
+ 	"github.com/diamondburned/gotkit/app/prefs"
+-	"libdb.so/gotk4-sourceview/pkg/gtksource/v5"
+-	"libdb.so/gotk4-spelling/pkg/spelling"
++	"libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5"
++	"libdb.so/gotk4-spelling/pkg/pkg/spelling"
+ )
+ 
+ var spellCheck = prefs.NewBool(true, prefs.PropMeta{
+--- vendor/libdb.so/gotk4-spelling/pkg/pkg/spelling/spelling-text-buffer-adapter.go.orig	2024-08-18 08:25:54 UTC
++++ vendor/libdb.so/gotk4-spelling/pkg/pkg/spelling/spelling-text-buffer-adapter.go
+@@ -10,7 +10,7 @@ import (
+ 	coreglib "github.com/diamondburned/gotk4/pkg/core/glib"
+ 	"github.com/diamondburned/gotk4/pkg/gio/v2"
+ 	"github.com/diamondburned/gotk4/pkg/gtk/v4"
+-	"libdb.so/gotk4-sourceview/pkg/gtksource/v5"
++	"libdb.so/gotk4-sourceview/pkg/pkg/gtksource/v5"
+ )
+ 
+ // #include <stdlib.h>