From c9b5c98bcdb69dbac9d50f31ae3a9707d074f020 Mon Sep 17 00:00:00 2001 From: voidbert Date: Tue, 4 Mar 2025 01:31:17 +0000 Subject: [PATCH] vifm: update to 0.14, adopt. --- .../vifm/patches/vifm-v0.13-musl-tests.patch | 139 ------------------ srcpkgs/vifm/template | 6 +- 2 files changed, 3 insertions(+), 142 deletions(-) delete mode 100644 srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch diff --git a/srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch b/srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch deleted file mode 100644 index e94866bfbe3..00000000000 --- a/srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch +++ /dev/null @@ -1,139 +0,0 @@ -diff --git a/src/filelist.c b/src/filelist.c -index 1e63c1120..e5fe0131e 100644 ---- a/src/filelist.c -+++ b/src/filelist.c -@@ -329,7 +329,11 @@ flist_free_view(view_t *view) - modview_info_free(view->vi); - view->vi = NULL; - -- regfree(&view->primary_group); -+ if(view->primary_group_set) -+ { -+ regfree(&view->primary_group); -+ view->primary_group_set = 0; -+ } - - marks_clear_view(view); - -diff --git a/src/opt_handlers.c b/src/opt_handlers.c -index f655da5da..69935d669 100644 ---- a/src/opt_handlers.c -+++ b/src/opt_handlers.c -@@ -3250,9 +3250,13 @@ set_sortgroups(view_t *view, char **opt, char value[]) - { - if(scope == OPT_LOCAL) - { -- regfree(&view->primary_group); -+ if(view->primary_group_set) -+ { -+ regfree(&view->primary_group); -+ } - (void)regexp_compile(&view->primary_group, first, - REG_EXTENDED | REG_ICASE); -+ view->primary_group_set = 1; - } - free(first); - } -diff --git a/src/sort.c b/src/sort.c -index 792364aa6..75efad5ef 100644 ---- a/src/sort.c -+++ b/src/sort.c -@@ -43,6 +43,10 @@ - #include "status.h" - #include "types.h" - -+#ifdef HAVE_STRVERSCMP_FUNC -+# undef HAVE_STRVERSCMP_FUNC -+#endif -+ - static void sort_tree_slice(dir_entry_t *entries, const dir_entry_t *children, - size_t nchildren, int root); - static void sort_sequence(dir_entry_t *entries, size_t nentries); -diff --git a/src/ui/fileview.c b/src/ui/fileview.c -index 7a4b9f189..4539e0530 100644 ---- a/src/ui/fileview.c -+++ b/src/ui/fileview.c -@@ -215,6 +215,7 @@ fview_init(view_t *view) - view->sort_groups_g = strdup(""); - (void)regexp_compile(&view->primary_group, view->sort_groups, - REG_EXTENDED | REG_ICASE); -+ view->primary_group_set = 1; - - view->preview_prg = strdup(""); - view->preview_prg_g = strdup(""); -diff --git a/src/ui/ui.h b/src/ui/ui.h -index 91c90eb49..69654d4c6 100644 ---- a/src/ui/ui.h -+++ b/src/ui/ui.h -@@ -448,6 +448,9 @@ struct view_t - char *sort_groups, *sort_groups_g; - /* Primary group of sort_groups (not sort_groups_g) in compiled form. */ - regex_t primary_group; -+ /* Indicates that primary_group was initialized, which is used to avoid -+ * freeing uninitialized data or freeing it twice. */ -+ int primary_group_set; - - int history_num; /* Number of used history elements. */ - int history_pos; /* Current position in history. */ -diff --git a/tests/misc/sort.c b/tests/misc/sort.c -index bad2120ee..4b9ce6a3b 100644 ---- a/tests/misc/sort.c -+++ b/tests/misc/sort.c -@@ -424,8 +424,13 @@ TEST(groups_sorting_works) - lwin.dir_entry[6].origin = lwin.curr_dir; - - update_string(&lwin.sort_groups, "-(done|todo).*"); -+ if(lwin.primary_group_set) -+ { -+ regfree(&lwin.primary_group); -+ } - (void)regcomp(&lwin.primary_group, "-(done|todo).*", - REG_EXTENDED | REG_ICASE); -+ lwin.primary_group_set = 1; - - /* Ascending sorting. */ - -@@ -458,15 +463,17 @@ TEST(groups_sorting_works) - assert_string_equal("11-todo-publish", lwin.dir_entry[4].name); - assert_string_equal("1-done", lwin.dir_entry[5].name); - assert_string_equal("3-done", lwin.dir_entry[6].name); -- -- regfree(&lwin.primary_group); -- update_string(&lwin.sort_groups, NULL); - } - - TEST(global_groups_sorts_entries_list) - { - update_string(&lwin.sort_groups_g, "([0-9])"); -+ if(lwin.primary_group_set) -+ { -+ regfree(&lwin.primary_group); -+ } - (void)regcomp(&lwin.primary_group, "([a-z])", REG_EXTENDED | REG_ICASE); -+ lwin.primary_group_set = 1; - - lwin.sort_g[0] = SK_BY_GROUPS; - lwin.sort_g[1] = SK_BY_NAME; -diff --git a/tests/test-support/test-utils.c b/tests/test-support/test-utils.c -index 6938d0538..bb449d441 100644 ---- a/tests/test-support/test-utils.c -+++ b/tests/test-support/test-utils.c -@@ -32,6 +32,7 @@ - #include "../../src/utils/macros.h" - #include "../../src/utils/matcher.h" - #include "../../src/utils/path.h" -+#include "../../src/utils/regexp.h" - #include "../../src/utils/str.h" - #include "../../src/utils/string_array.h" - #include "../../src/utils/utils.h" -@@ -253,6 +254,10 @@ view_setup(view_t *view) - memset(&view->sort[1], SK_NONE, sizeof(view->sort) - 1); - memcpy(view->sort_g, view->sort, sizeof(view->sort_g)); - -+ /* The code assumes that this field is initialized. */ -+ assert_success(regexp_compile(&view->primary_group, "", REG_ICASE)); -+ view->primary_group_set = 1; -+ - view->custom.entry_count = 0; - view->custom.entries = NULL; - diff --git a/srcpkgs/vifm/template b/srcpkgs/vifm/template index 4c1f25d2c80..a79ffee16f5 100644 --- a/srcpkgs/vifm/template +++ b/srcpkgs/vifm/template @@ -1,6 +1,6 @@ # Template file for 'vifm' pkgname=vifm -version=0.13 +version=0.14 revision=1 build_style=gnu-configure configure_args="--without-gtk" @@ -8,11 +8,11 @@ hostmakedepends="mdocml perl" makedepends="ncurses-devel file-devel" depends="desktop-file-utils" short_desc="File manager with curses interface and Vim-like environment" -maintainer="Orphaned " +maintainer="voidbert " license="GPL-2.0-or-later" homepage="https://vifm.info/" distfiles="${SOURCEFORGE_SITE}/vifm/vifm-${version}.tar.bz2" -checksum=0d9293749a794076ade967ecdc47d141d85e450370594765391bdf1a9bd45075 +checksum=2714dd4cef4e53e7a8980ae8445e88279104f815d47f417fa0b8adfe2f3d1bed CFLAGS="-fcommon"