git: 55bddb6f7c99 - main - textproc/stardict3: Fix build with newer glib20

From: Gleb Popov <arrowd_at_FreeBSD.org>
Date: Sat, 22 Mar 2025 08:33:37 UTC
The branch main has been updated by arrowd:

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

commit 55bddb6f7c9970ec548051981a9639fcdc64510b
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2025-03-22 08:15:41 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2025-03-22 08:33:34 +0000

    textproc/stardict3: Fix build with newer glib20
    
    PR:             281083
---
 textproc/stardict3/Makefile                        |  2 +-
 .../files/patch-dict__src__lib__stddict.cpp        | 40 ++++++++++++++++++++--
 2 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/textproc/stardict3/Makefile b/textproc/stardict3/Makefile
index 499c7df7d20e..ca7790e6538a 100644
--- a/textproc/stardict3/Makefile
+++ b/textproc/stardict3/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	stardict
 PORTVERSION=	3.0.6
-PORTREVISION=	7
+PORTREVISION=	8
 CATEGORIES=	textproc
 MASTER_SITES=	SF/stardict-4/${PORTVERSION}
 DIST_SUBDIR=	stardict
diff --git a/textproc/stardict3/files/patch-dict__src__lib__stddict.cpp b/textproc/stardict3/files/patch-dict__src__lib__stddict.cpp
index 8705daeefa1e..5579dcb04c15 100644
--- a/textproc/stardict3/files/patch-dict__src__lib__stddict.cpp
+++ b/textproc/stardict3/files/patch-dict__src__lib__stddict.cpp
@@ -1,5 +1,5 @@
---- ./dict/src/lib/stddict.cpp.orig	2012-02-17 08:58:47.000000000 +0000
-+++ ./dict/src/lib/stddict.cpp	2013-10-09 16:16:36.938640507 +0000
+--- dict/src/lib/stddict.cpp.orig	2014-06-23 01:27:19 UTC
++++ dict/src/lib/stddict.cpp
 @@ -32,6 +32,7 @@
  #include <glib.h>
  #include <glib/gi18n.h>
@@ -7,4 +7,38 @@
 +#include <stdlib.h>
  #include <algorithm>
  #include <memory>
- 
+
+@@ -2532,12 +2533,12 @@ bool Libs::LookupSynonymSimilarWord(const gchar* sWord
+ 		}
+ 		// Upper the first character and lower others.
+ 		if (!bFound) {
+-			gchar *nextchar = g_utf8_next_char(sWord);
++			const gchar *nextchar = g_utf8_next_char(sWord);
+ 			gchar *firstchar = g_utf8_strup(sWord, nextchar - sWord);
+-			nextchar = g_utf8_strdown(nextchar, -1);
+-			casestr = g_strdup_printf("%s%s", firstchar, nextchar);
++			gchar *nextDownchar = g_utf8_strdown(nextchar, -1);
++			casestr = g_strdup_printf("%s%s", firstchar, nextDownchar);
+ 			g_free(firstchar);
+-			g_free(nextchar);
++			g_free(nextDownchar);
+ 			if (strcmp(casestr, sWord)) {
+ 				bLookup = oLib[iLib]->LookupSynonym(casestr, iIndex, iIndex_suggest, CollationLevel, servercollatefunc);
+ 				if(bLookup)
+@@ -2642,12 +2643,12 @@ bool Libs::LookupSimilarWord(const gchar* sWord, glong
+ 		}
+ 		// Upper the first character and lower others.
+ 		if (!bFound) {
+-			gchar *nextchar = g_utf8_next_char(sWord);
++			const gchar *nextchar = g_utf8_next_char(sWord);
+ 			gchar *firstchar = g_utf8_strup(sWord, nextchar - sWord);
+-			nextchar = g_utf8_strdown(nextchar, -1);
+-			casestr = g_strdup_printf("%s%s", firstchar, nextchar);
++			gchar *nextDownchar = g_utf8_strdown(nextchar, -1);
++			casestr = g_strdup_printf("%s%s", firstchar, nextDownchar);
+ 			g_free(firstchar);
+-			g_free(nextchar);
++			g_free(nextDownchar);
+ 			if (strcmp(casestr, sWord)) {
+ 				if(LookupSimilarWordTryWord(casestr, sWord, servercollatefunc, iLib, iIndex, idx_suggest, best_match))
+ 					bFound=true;