From 5484802fdbe30bbc3075c4d4861f97007a5177ed Mon Sep 17 00:00:00 2001 From: dimstar <> Date: Apr 25 2024 19:01:32 +0000 Subject: Update geany to version 2.0 / rev 43 via SR 1170052 https://build.opensuse.org/request/show/1170052 by user dimstar + anag+factory --- diff --git a/.files b/.files index af83a6c..29ad7ec 100644 Binary files a/.files and b/.files differ diff --git a/.rev b/.rev index 8710436..bd0f39d 100644 --- a/.rev +++ b/.rev @@ -513,4 +513,12 @@ - Rebased geany-appstream.patch. (forwarded request 1119159 from polslinux)</comment> <requestid>1119569</requestid> </revision> + <revision rev="43" vrev="2"> + <srcmd5>99d2e238e6976e74e56319b25a04c47a</srcmd5> + <version>2.0</version> + <time>1714070864</time> + <user>anag+factory</user> + <comment></comment> + <requestid>1170052</requestid> + </revision> </revisionlist> diff --git a/geany.changes b/geany.changes index cffe9ac..755234d 100644 --- a/geany.changes +++ b/geany.changes @@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Wed Apr 24 06:08:56 UTC 2024 - Bernhard Wiedemann <bwiedemann@suse.com> + +- Add reproducible.patch to make glfw build deterministic + +------------------------------------------------------------------- Fri Oct 20 05:48:50 UTC 2023 - Paolo Stivanin <info@paolostivanin.com> - Update to 2.0: diff --git a/geany.spec b/geany.spec index 25bd678..e9690bb 100644 --- a/geany.spec +++ b/geany.spec @@ -27,6 +27,7 @@ Source0: https://download.geany.org/%{name}-%{version}.tar.bz2 Source1: %{name}-rpmlintrc # PATCH-FIX-UPSTREAM geany-appstream.patch gh#geany/geany#1142 badshah400@gmail.com -- Downstream created appstream file, submitted upstream Patch1: geany-appstream.patch +Patch2: reproducible.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: docutils diff --git a/reproducible.patch b/reproducible.patch new file mode 100644 index 0000000..6b90730 --- /dev/null +++ b/reproducible.patch @@ -0,0 +1,159 @@ +https://github.com/geany/geany/pull/3785.patch +to make build of glfw deterministic + +From aa4e901807e8f0294f25d9f4ef3516b775ce0b8d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ji=C5=99=C3=AD=20Techet?= <techet@gmail.com> +Date: Wed, 6 Mar 2024 23:11:36 +0100 +Subject: [PATCH] Rename both scope and var_type of anonymous types + +In addition to scope, anonymous type can appear also inside var_type +which should be renamed as well. + +Thanks to Colomban Wendling for improving the original version of this +patch. + +Fixes #3717. +--- + src/tagmanager/tm_ctags.c | 59 ++++++++++++++++++++-------------- + tests/ctags/Makefile.am | 1 + + tests/ctags/nested_anon.c | 5 +++ + tests/ctags/nested_anon.c.tags | 6 ++++ + tests/meson.build | 1 + + 5 files changed, 47 insertions(+), 25 deletions(-) + create mode 100644 tests/ctags/nested_anon.c + create mode 100644 tests/ctags/nested_anon.c.tags + +diff --git a/src/tagmanager/tm_ctags.c b/src/tagmanager/tm_ctags.c +index 9a971b14fd..9cde83f317 100644 +--- a/src/tagmanager/tm_ctags.c ++++ b/src/tagmanager/tm_ctags.c +@@ -241,6 +241,33 @@ void tm_ctags_clear_ignore_symbols(void) + } + + ++static gboolean replace_str(gchar **where, const gchar *what, guint what_len, ++ const gchar *replacement, guint replacement_len) ++{ ++ if (where && *where) ++ { ++ gchar *pos = strstr(*where, what); ++ ++ if (pos) ++ { ++ gsize where_len = strlen(*where); ++ gchar *str = g_malloc(where_len + replacement_len - what_len + 1); ++ gsize prefix_len = (gsize) (pos - *where); ++ ++ strncpy(str, *where, prefix_len); ++ strcpy(str + prefix_len, replacement); ++ strcpy(str + prefix_len + replacement_len, pos + what_len); ++ g_free(*where); ++ *where = str; ++ ++ return TRUE; ++ } ++ } ++ ++ return FALSE; ++} ++ ++ + /* call after all tags have been collected so we don't have to handle reparses + * with the counter (which gets complicated when also subparsers are involved) */ + static void rename_anon_tags(TMSourceFile *source_file) +@@ -336,7 +363,6 @@ static void rename_anon_tags(TMSourceFile *source_file) + { + TMTag *nested_tag = TM_TAG(source_file->tags_array->pdata[j]); + guint nested_scope_len = nested_tag->scope ? strlen(nested_tag->scope) : 0; +- gchar *pos; + + /* Tags can be interleaved with scopeless macros - skip those */ + if (is_c && nested_tag->type & (tm_tag_macro_t | tm_tag_macro_with_arg_t)) +@@ -361,22 +387,14 @@ static void rename_anon_tags(TMSourceFile *source_file) + if (nested_scope_len <= scope_len) + break; + +- pos = strstr(nested_tag->scope, orig_name); + /* We found the parent name in the nested tag scope - replace it + * with the new name. Note: anonymous tag names generated by + * ctags are unique enough that we don't have to check for + * scope separators here. */ +- if (pos) +- { +- gchar *str = g_malloc(nested_scope_len + 50); +- guint prefix_len = pos - nested_tag->scope; +- +- strncpy(str, nested_tag->scope, prefix_len); +- strcpy(str + prefix_len, new_name); +- strcpy(str + prefix_len + new_name_len, pos + orig_name_len); +- g_free(nested_tag->scope); +- nested_tag->scope = str; +- } ++ replace_str(&nested_tag->scope, orig_name, orig_name_len, new_name, new_name_len); ++ ++ /* Do the same for var_type as well */ ++ replace_str(&nested_tag->var_type, orig_name, orig_name_len, new_name, new_name_len); + } + + /* We are out of the nesting - the next tags could be variables +@@ -385,22 +403,13 @@ static void rename_anon_tags(TMSourceFile *source_file) + { + TMTag *var_tag = TM_TAG(source_file->tags_array->pdata[j]); + guint var_scope_len = var_tag->scope ? strlen(var_tag->scope) : 0; +- gchar *pos; + + /* Should be at the same scope level as the anon tag */ +- if (var_scope_len == scope_len && +- var_tag->var_type && (pos = strstr(var_tag->var_type, orig_name))) ++ if (var_scope_len != scope_len || ! var_tag->var_type || ++ ! replace_str(&var_tag->var_type, orig_name, orig_name_len, new_name, new_name_len)) + { +- GString *str = g_string_new(var_tag->var_type); +- gssize p = pos - var_tag->var_type; +- g_string_erase(str, p, strlen(orig_name)); +- g_string_insert(str, p, new_name); +- g_free(var_tag->var_type); +- var_tag->var_type = str->str; +- g_string_free(str, FALSE); +- } +- else + break; ++ } + + j++; + } +diff --git a/tests/ctags/Makefile.am b/tests/ctags/Makefile.am +index a973eadd03..c30ac095fd 100644 +--- a/tests/ctags/Makefile.am ++++ b/tests/ctags/Makefile.am +@@ -252,6 +252,7 @@ test_sources = \ + namespace.cpp \ + namespaces2.php \ + namespaces.php \ ++ nested_anon.c \ + no_terminator.js \ + non-ascii-ident1.php \ + numlib.f90 \ +diff --git a/tests/ctags/nested_anon.c b/tests/ctags/nested_anon.c +new file mode 100644 +index 0000000000..0efb63f36a +--- /dev/null ++++ b/tests/ctags/nested_anon.c +@@ -0,0 +1,5 @@ ++typedef struct { ++ struct ++ { ++ } __value32; ++} __atomic_wide_counter; +diff --git a/tests/ctags/nested_anon.c.tags b/tests/ctags/nested_anon.c.tags +new file mode 100644 +index 0000000000..aef4a45c10 +--- /dev/null ++++ b/tests/ctags/nested_anon.c.tags +@@ -0,0 +1,6 @@ ++__atomic_wide_counter�2048�0 ++struct: __atomic_wide_counter ++__value32�64�__atomic_wide_counter�0�__atomic_wide_counter::anon_struct_1 ++member: __atomic_wide_counter::anon_struct_1 __atomic_wide_counter :: __value32 ++anon_struct_1�2048�__atomic_wide_counter�1 ++struct: __atomic_wide_counter :: anon_struct_1 flags: 1