new file mode 100644
@@ -0,0 +1,24 @@
+From 8dfd7f2cba428f5eb232fbbe3427c64171bae0f4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ji=C5=99=C3=AD=20Techet?= <techet@gmail.com>
+Date: Tue, 5 Mar 2024 18:36:37 +0100
+Subject: [PATCH 1/3] projectorganizer: fix invalid string comparison
+
+Upstream-Status: Backport [https://github.com/geany/geany-plugins/commit/8dfd7f2cba428f5eb232fbbe3427c64171bae0f4]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ projectorganizer/src/prjorg-sidebar.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/projectorganizer/src/prjorg-sidebar.c b/projectorganizer/src/prjorg-sidebar.c
+index b6422f0..0139473 100644
+--- a/projectorganizer/src/prjorg-sidebar.c
++++ b/projectorganizer/src/prjorg-sidebar.c
+@@ -346,7 +346,7 @@ static gchar *get_fallback_dir_of_selection(void)
+ {
+ locale_path = g_path_get_dirname(doc->real_path);
+
+- if (locale_path && locale_path == '.')
++ if (locale_path && *locale_path == '.')
+ {
+ g_free(locale_path);
+ locale_path = NULL;
new file mode 100644
@@ -0,0 +1,45 @@
+From 58d47e60bdcec62fe74b4a38eaf39d16a9c80d42 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ji=C5=99=C3=AD=20Techet?= <techet@gmail.com>
+Date: Tue, 5 Mar 2024 18:40:10 +0100
+Subject: [PATCH 2/3] projectorganizer: fix various warnings
+
+Upstream-Status: Backport [https://github.com/geany/geany-plugins/commit/58d47e60bdcec62fe74b4a38eaf39d16a9c80d42]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ projectorganizer/src/prjorg-sidebar.c | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/projectorganizer/src/prjorg-sidebar.c b/projectorganizer/src/prjorg-sidebar.c
+index 0139473..e67cce2 100644
+--- a/projectorganizer/src/prjorg-sidebar.c
++++ b/projectorganizer/src/prjorg-sidebar.c
+@@ -382,7 +382,8 @@ void on_open_file_manager(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gp
+
+ if (locale_path)
+ {
+- gchar *command, *open_command;
++ const gchar *open_command;
++ gchar *command;
+
+ open_command = PRJORG_COMMAND_OPEN;
+ command = g_strconcat (open_command, " \"", locale_path, "\"", NULL);
+@@ -1562,7 +1563,7 @@ gchar **prjorg_sidebar_get_expanded_paths(void)
+ (GtkTreeViewMappingFunc)on_map_expanded, expanded_paths);
+ g_ptr_array_add(expanded_paths, NULL);
+
+- return g_ptr_array_free(expanded_paths, FALSE);
++ return (gchar **)g_ptr_array_free(expanded_paths, FALSE);
+ }
+
+
+@@ -1587,10 +1588,6 @@ void prjorg_sidebar_update_full(gboolean reload, gchar **expanded_paths)
+
+ if (reload)
+ {
+- GtkTreeSelection *treesel;
+- GtkTreeIter iter;
+- GtkTreeModel *model;
+-
+ expand_data->expanded_paths = expanded_paths != NULL ? expanded_paths : prjorg_sidebar_get_expanded_paths();
+ expand_data->selected_path = get_selected_path();
+
new file mode 100644
@@ -0,0 +1,89 @@
+From a4a7c4af7f62eb55c0bd100ed1d308e6512a66ce Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ji=C5=99=C3=AD=20Techet?= <techet@gmail.com>
+Date: Tue, 23 Apr 2024 18:43:51 +0200
+Subject: [PATCH 3/3] projectorganizer: Use g_pattern_spec_match_string() instead of g_pattern_match_string()
+
+Eliminates a warning on newer glib versions. Adds a fallback on older versions.
+
+Upstream-Status: Backport [https://github.com/geany/geany-plugins/commit/a4a7c4af7f62eb55c0bd100ed1d308e6512a66ce]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ projectorganizer/src/prjorg-project.c | 2 +-
+ projectorganizer/src/prjorg-sidebar.c | 4 ++--
+ projectorganizer/src/prjorg-utils.c | 4 ++--
+ projectorganizer/src/prjorg-utils.h | 5 +++++
+ 4 files changed, 10 insertions(+), 5 deletions(-)
+
+diff --git a/projectorganizer/src/prjorg-project.c b/projectorganizer/src/prjorg-project.c
+index a767ab8..71dc6e1 100644
+--- a/projectorganizer/src/prjorg-project.c
++++ b/projectorganizer/src/prjorg-project.c
+@@ -216,7 +216,7 @@ static gboolean match_basename(gconstpointer pft, gconstpointer user_data)
+ {
+ GPatternSpec *pattern = g_pattern_spec_new(ft->pattern[j]);
+
+- if (g_pattern_match_string(pattern, utf8_base_filename))
++ if (g_pattern_spec_match_string(pattern, utf8_base_filename))
+ {
+ ret = TRUE;
+ g_pattern_spec_free(pattern);
+diff --git a/projectorganizer/src/prjorg-sidebar.c b/projectorganizer/src/prjorg-sidebar.c
+index e67cce2..b7536ee 100644
+--- a/projectorganizer/src/prjorg-sidebar.c
++++ b/projectorganizer/src/prjorg-sidebar.c
+@@ -657,7 +657,7 @@ static void find_file_recursive(GtkTreeIter *iter, gboolean case_sensitive, gboo
+ if (!case_sensitive)
+ SETPTR(utf8_name, g_utf8_strdown(utf8_name, -1));
+
+- if (g_pattern_match_string(pattern, utf8_name))
++ if (g_pattern_spec_match_string(pattern, utf8_name))
+ {
+ gchar *utf8_base_path = get_project_base_path();
+ gchar *utf8_path, *rel_path;
+@@ -840,7 +840,7 @@ static gboolean match(TMTag *tag, const gchar *name, gboolean declaration, gbool
+ matches = g_strcmp0(name_case, name) == 0;
+ break;
+ case MATCH_PATTERN:
+- matches = g_pattern_match_string(pspec, name_case);
++ matches = g_pattern_spec_match_string(pspec, name_case);
+ break;
+ case MATCH_PREFIX:
+ matches = g_str_has_prefix(name_case, name);
+diff --git a/projectorganizer/src/prjorg-utils.c b/projectorganizer/src/prjorg-utils.c
+index 2a8847e..0b573e5 100644
+--- a/projectorganizer/src/prjorg-utils.c
++++ b/projectorganizer/src/prjorg-utils.c
+@@ -80,7 +80,7 @@ gboolean patterns_match(GSList *patterns, const gchar *str)
+ foreach_slist (elem, patterns)
+ {
+ GPatternSpec *pattern = elem->data;
+- if (g_pattern_match_string(pattern, str))
++ if (g_pattern_spec_match_string(pattern, str))
+ return TRUE;
+ }
+ return FALSE;
+@@ -269,7 +269,7 @@ gchar *try_find_header_source(gchar *utf8_file_name, gboolean is_header, GSList
+ full_name = elem->data;
+ gchar *base_name = g_path_get_basename(full_name);
+
+- if (g_pattern_match_string(pattern, base_name))
++ if (g_pattern_spec_match_string(pattern, base_name))
+ {
+ if ((is_header && patterns_match(source_patterns, base_name)) ||
+ (!is_header && patterns_match(header_patterns, base_name)))
+diff --git a/projectorganizer/src/prjorg-utils.h b/projectorganizer/src/prjorg-utils.h
+index c3719a9..50ed123 100644
+--- a/projectorganizer/src/prjorg-utils.h
++++ b/projectorganizer/src/prjorg-utils.h
+@@ -19,6 +19,11 @@
+ #ifndef __PRJORG_UTILS_H__
+ #define __PRJORG_UTILS_H__
+
++
++ #if ! GLIB_CHECK_VERSION(2, 70, 0)
++ # define g_pattern_spec_match_string g_pattern_match_string
++ #endif
++
+ gchar *get_relative_path(const gchar *utf8_parent, const gchar *utf8_descendant);
+
+ gboolean patterns_match(GSList *patterns, const gchar *str);
new file mode 100644
@@ -0,0 +1,30 @@
+Fix build with GCC-15
+
+Upstream-Status: Backport [https://github.com/geany/geany-plugins/pull/1389]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/git-changebar/src/gcb-plugin.c
++++ b/git-changebar/src/gcb-plugin.c
+@@ -1410,9 +1410,9 @@ read_setting_boolean (GKeyFile *kf,
+ const gchar *key,
+ gpointer value)
+ {
+- gboolean *bool = value;
++ gboolean *boolean = value;
+
+- *bool = utils_get_setting_boolean (kf, group, key, *bool);
++ *boolean = utils_get_setting_boolean (kf, group, key, *boolean);
+ }
+
+ static void
+@@ -1421,9 +1421,9 @@ write_setting_boolean (GKeyFile *kf,
+ const gchar *key,
+ gconstpointer value)
+ {
+- const gboolean *bool = value;
++ const gboolean *boolean = value;
+
+- g_key_file_set_boolean (kf, group, key, *bool);
++ g_key_file_set_boolean (kf, group, key, *boolean);
+ }
+
+ /* loads @filename in @kf and return %FALSE if failed, emitting a warning
similarity index 94%
rename from meta-oe/recipes-devtools/geany/geany-plugins_1.38.bb
rename to meta-oe/recipes-devtools/geany/geany-plugins_2.0.bb
@@ -30,12 +30,12 @@ REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = " \
https://plugins.geany.org/${BPN}/${BP}.tar.bz2 \
- file://0001-Use-pkg-config-to-find-gpgme.patch \
- file://0001-git-changebar-Adjust-structs-for-libgit2-1.4.x.patch \
- file://0001-geany.m4-Do-not-tinker-with-pkg-config-paths.patch \
- file://0001-scope-Use-0-instead-of-NULL-for-gboolean.patch \
+ file://geany-plugins-2.0-gcc15.patch \
+ file://0001-projectorganizer-fix-invalid-string-comparison.patch \
+ file://0002-projectorganizer-fix-various-warnings.patch \
+ file://0003-projectorganizer-Use-g_pattern_spec_match_string-ins.patch \
"
-SRC_URI[sha256sum] = "1c578a7ebb390aa8882f195acd3d8da3ceb73925d291b28dec90cd3e5fd20586"
+SRC_URI[sha256sum] = "9fc2ec5c99a74678fb9e8cdfbd245d3e2061a448d70fd110a6aefb62dd514705"
do_configure:prepend() {
rm -f ${S}/build/cache/glib-gettext.m4
@@ -75,8 +75,6 @@ PLUGINS += "${PN}-defineformat"
LIC_FILES_CHKSUM += "file://defineformat/COPYING;md5=751419260aa954499f7abaabaa882bbe"
FILES:${PN}-defineformat = "${libdir}/geany/defineformat.so"
-# no gnome devhelp in some common layer
-EXTRA_OECONF += "--disable-devhelp"
#PLUGINS += "${PN}-devhelp"
#LIC_FILES_CHKSUM += "file://devhelp/COPYING;md5=d32239bcb673463ab874e80d47fae504"
#LICENSE:${PN}-devhelp = "GPLv3"
@@ -165,8 +163,6 @@ EXTRA_OECONF += "--disable-peg-markdown"
#LIC_FILES_CHKSUM += "file://markdown/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
#FILES:${PN}-markdown = "${libdir}/geany/markdown.so"
-# | checking whether the GTK version in use is compatible with plugin multiterm... no
-EXTRA_OECONF += "--disable-multiterm"
#PLUGINS += "${PN}-multiterm"
#LIC_FILES_CHKSUM += "file://multiterm/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
#FILES:${PN}-multiterm = "${libdir}/geany/multiterm.so"
Backport build fixed for gcc-15 Signed-off-by: Khem Raj <raj.khem@gmail.com> --- ...anizer-fix-invalid-string-comparison.patch | 24 +++++ ...rojectorganizer-fix-various-warnings.patch | 45 ++++++++++ ...-Use-g_pattern_spec_match_string-ins.patch | 89 +++++++++++++++++++ .../geany-plugins-2.0-gcc15.patch | 30 +++++++ ...y-plugins_1.38.bb => geany-plugins_2.0.bb} | 14 ++- 5 files changed, 193 insertions(+), 9 deletions(-) create mode 100644 meta-oe/recipes-devtools/geany/geany-plugins/0001-projectorganizer-fix-invalid-string-comparison.patch create mode 100644 meta-oe/recipes-devtools/geany/geany-plugins/0002-projectorganizer-fix-various-warnings.patch create mode 100644 meta-oe/recipes-devtools/geany/geany-plugins/0003-projectorganizer-Use-g_pattern_spec_match_string-ins.patch create mode 100644 meta-oe/recipes-devtools/geany/geany-plugins/geany-plugins-2.0-gcc15.patch rename meta-oe/recipes-devtools/geany/{geany-plugins_1.38.bb => geany-plugins_2.0.bb} (94%)