Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] Vifm
@ 2024-05-18 22:36 Zyrtula
  2024-05-18 22:57 ` [PR PATCH] [Updated] vifm: update to 0.13, adopt Zyrtula
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Zyrtula @ 2024-05-18 22:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 640 bytes --]

There is a new pull request by Zyrtula against master on the void-packages repository

https://github.com/Zyrtula/void-packages vifm
https://github.com/void-linux/void-packages/pull/50422

Vifm
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, **x86_64**
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - x86_64-musl


A patch file from https://github.com/void-linux/void-packages/pull/50422.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-vifm-50422.patch --]
[-- Type: text/x-diff, Size: 8623 bytes --]

From c82c18b722b26b0a11f720eab874681bb178bcd3 Mon Sep 17 00:00:00 2001
From: Zyrtula <fk_development@protonmail.com>
Date: Thu, 3 Aug 2023 01:21:00 +0200
Subject: [PATCH 1/2] vifm: update to 0.13

---
 .../vifm/patches/disable-failed-tests.patch   |  38 -----
 .../vifm/patches/vifm-v0.13-musl-tests.patch  | 139 ++++++++++++++++++
 srcpkgs/vifm/template                         |   8 +-
 3 files changed, 143 insertions(+), 42 deletions(-)
 delete mode 100644 srcpkgs/vifm/patches/disable-failed-tests.patch
 create mode 100644 srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch

diff --git a/srcpkgs/vifm/patches/disable-failed-tests.patch b/srcpkgs/vifm/patches/disable-failed-tests.patch
deleted file mode 100644
index f674a4be66d825..00000000000000
--- a/srcpkgs/vifm/patches/disable-failed-tests.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git tests/Makefile tests/Makefile
-index 1419a4edd..a213d70ef 100644
---- a/tests/Makefile
-+++ b/tests/Makefile
-@@ -67,14 +67,14 @@ B ?=
- BUILD := $(B)bin/build/$(BINSUBDIR)
- 
- # engine
--suites += abbrevs autocmds cmds commands completion keys options parsing
-+suites += abbrevs autocmds cmds completion keys options parsing
- suites += text_buffer variables
- # io
- suites += ioeta ionotif iop ior
- # ui
- suites += colmgr column_view viewcolumns_parser
- # everything else
--suites += bmarks env escape fileops filetype filter lua misc undo utils
-+suites += bmarks env escape fileops filetype filter undo utils
- 
- # these are built, but not automatically executed
- apps := fuzz regs_shmem_app
-diff --git tests/fileops/chown.c tests/fileops/chown.c
-index ef7b1a405..cd2c33388 100644
---- a/tests/fileops/chown.c
-+++ b/tests/fileops/chown.c
-@@ -65,12 +65,10 @@ TEST(file_group_is_changed, IF(has_more_than_one_group))
- 	mark_selection_or_current(curr_view);
- 	fops_chown(0, 1, 0, gid1);
- 	assert_success(os_stat("dir/chown-me", &s));
--	assert_true(s.st_gid == gid1);
- 
- 	mark_selection_or_current(curr_view);
- 	fops_chown(0, 1, 0, gid2);
- 	assert_success(os_stat("dir/chown-me", &s));
--	assert_true(s.st_gid == gid2);
- 
- 	assert_success(unlink("dir/chown-me"));
- 	assert_success(rmdir("dir"));
diff --git a/srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch b/srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch
new file mode 100644
index 00000000000000..e94866bfbe38b8
--- /dev/null
+++ b/srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch
@@ -0,0 +1,139 @@
+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 67cc901ec943cc..4c1f25d2c80b98 100644
--- a/srcpkgs/vifm/template
+++ b/srcpkgs/vifm/template
@@ -1,18 +1,18 @@
 # Template file for 'vifm'
 pkgname=vifm
-version=0.12
+version=0.13
 revision=1
 build_style=gnu-configure
 configure_args="--without-gtk"
-hostmakedepends="mdocml"
+hostmakedepends="mdocml perl"
 makedepends="ncurses-devel file-devel"
 depends="desktop-file-utils"
-short_desc="Ncurses-based file manager with vi-like keybindings"
+short_desc="File manager with curses interface and Vim-like environment"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://vifm.info/"
 distfiles="${SOURCEFORGE_SITE}/vifm/vifm-${version}.tar.bz2"
-checksum=33a9618f32b35b5b8c64483884f9ad09963ca8465b2935def79159028e27b2c0
+checksum=0d9293749a794076ade967ecdc47d141d85e450370594765391bdf1a9bd45075
 
 CFLAGS="-fcommon"
 

From 4a84eeeb7ade5c5c85f9a2e1da04765ffaa64fa2 Mon Sep 17 00:00:00 2001
From: Zyrtula <fk_development@protonmail.com>
Date: Sun, 19 May 2024 00:14:06 +0200
Subject: [PATCH 2/2] vifm: adopt

---
 srcpkgs/vifm/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vifm/template b/srcpkgs/vifm/template
index 4c1f25d2c80b98..d77f3d43babed0 100644
--- a/srcpkgs/vifm/template
+++ b/srcpkgs/vifm/template
@@ -8,7 +8,7 @@ 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 <orphan@voidlinux.org>"
+maintainer="Fabian Kaiser <fk_development@protonmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://vifm.info/"
 distfiles="${SOURCEFORGE_SITE}/vifm/vifm-${version}.tar.bz2"

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PR PATCH] [Updated] vifm: update to 0.13, adopt
  2024-05-18 22:36 [PR PATCH] Vifm Zyrtula
@ 2024-05-18 22:57 ` Zyrtula
  2024-05-18 23:00 ` classabbyamp
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Zyrtula @ 2024-05-18 22:57 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 668 bytes --]

There is an updated pull request by Zyrtula against master on the void-packages repository

https://github.com/Zyrtula/void-packages vifm
https://github.com/void-linux/void-packages/pull/50422

vifm: update to 0.13, adopt
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, **x86_64**
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - x86_64-musl


A patch file from https://github.com/void-linux/void-packages/pull/50422.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-vifm-50422.patch --]
[-- Type: text/x-diff, Size: 7839 bytes --]

From d0fca03eb80afd9d90b6ce2b63490fc25dee4109 Mon Sep 17 00:00:00 2001
From: Zyrtula <fk_development@protonmail.com>
Date: Thu, 3 Aug 2023 01:21:00 +0200
Subject: [PATCH] vifm: update to 0.13, adopt.

---
 .../vifm/patches/disable-failed-tests.patch   |  38 -----
 .../vifm/patches/vifm-v0.13-musl-tests.patch  | 139 ++++++++++++++++++
 srcpkgs/vifm/template                         |  10 +-
 3 files changed, 144 insertions(+), 43 deletions(-)
 delete mode 100644 srcpkgs/vifm/patches/disable-failed-tests.patch
 create mode 100644 srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch

diff --git a/srcpkgs/vifm/patches/disable-failed-tests.patch b/srcpkgs/vifm/patches/disable-failed-tests.patch
deleted file mode 100644
index f674a4be66d825..00000000000000
--- a/srcpkgs/vifm/patches/disable-failed-tests.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git tests/Makefile tests/Makefile
-index 1419a4edd..a213d70ef 100644
---- a/tests/Makefile
-+++ b/tests/Makefile
-@@ -67,14 +67,14 @@ B ?=
- BUILD := $(B)bin/build/$(BINSUBDIR)
- 
- # engine
--suites += abbrevs autocmds cmds commands completion keys options parsing
-+suites += abbrevs autocmds cmds completion keys options parsing
- suites += text_buffer variables
- # io
- suites += ioeta ionotif iop ior
- # ui
- suites += colmgr column_view viewcolumns_parser
- # everything else
--suites += bmarks env escape fileops filetype filter lua misc undo utils
-+suites += bmarks env escape fileops filetype filter undo utils
- 
- # these are built, but not automatically executed
- apps := fuzz regs_shmem_app
-diff --git tests/fileops/chown.c tests/fileops/chown.c
-index ef7b1a405..cd2c33388 100644
---- a/tests/fileops/chown.c
-+++ b/tests/fileops/chown.c
-@@ -65,12 +65,10 @@ TEST(file_group_is_changed, IF(has_more_than_one_group))
- 	mark_selection_or_current(curr_view);
- 	fops_chown(0, 1, 0, gid1);
- 	assert_success(os_stat("dir/chown-me", &s));
--	assert_true(s.st_gid == gid1);
- 
- 	mark_selection_or_current(curr_view);
- 	fops_chown(0, 1, 0, gid2);
- 	assert_success(os_stat("dir/chown-me", &s));
--	assert_true(s.st_gid == gid2);
- 
- 	assert_success(unlink("dir/chown-me"));
- 	assert_success(rmdir("dir"));
diff --git a/srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch b/srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch
new file mode 100644
index 00000000000000..e94866bfbe38b8
--- /dev/null
+++ b/srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch
@@ -0,0 +1,139 @@
+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 67cc901ec943cc..d77f3d43babed0 100644
--- a/srcpkgs/vifm/template
+++ b/srcpkgs/vifm/template
@@ -1,18 +1,18 @@
 # Template file for 'vifm'
 pkgname=vifm
-version=0.12
+version=0.13
 revision=1
 build_style=gnu-configure
 configure_args="--without-gtk"
-hostmakedepends="mdocml"
+hostmakedepends="mdocml perl"
 makedepends="ncurses-devel file-devel"
 depends="desktop-file-utils"
-short_desc="Ncurses-based file manager with vi-like keybindings"
-maintainer="Orphaned <orphan@voidlinux.org>"
+short_desc="File manager with curses interface and Vim-like environment"
+maintainer="Fabian Kaiser <fk_development@protonmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://vifm.info/"
 distfiles="${SOURCEFORGE_SITE}/vifm/vifm-${version}.tar.bz2"
-checksum=33a9618f32b35b5b8c64483884f9ad09963ca8465b2935def79159028e27b2c0
+checksum=0d9293749a794076ade967ecdc47d141d85e450370594765391bdf1a9bd45075
 
 CFLAGS="-fcommon"
 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: vifm: update to 0.13, adopt
  2024-05-18 22:36 [PR PATCH] Vifm Zyrtula
  2024-05-18 22:57 ` [PR PATCH] [Updated] vifm: update to 0.13, adopt Zyrtula
@ 2024-05-18 23:00 ` classabbyamp
  2024-05-19  1:10 ` [PR PATCH] [Updated] " Zyrtula
  2024-05-20  1:26 ` [PR PATCH] [Merged]: vifm: update to 0.13 classabbyamp
  3 siblings, 0 replies; 5+ messages in thread
From: classabbyamp @ 2024-05-18 23:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 153 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/50422#issuecomment-2119023601

Comment:
#50271

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PR PATCH] [Updated] vifm: update to 0.13, adopt
  2024-05-18 22:36 [PR PATCH] Vifm Zyrtula
  2024-05-18 22:57 ` [PR PATCH] [Updated] vifm: update to 0.13, adopt Zyrtula
  2024-05-18 23:00 ` classabbyamp
@ 2024-05-19  1:10 ` Zyrtula
  2024-05-20  1:26 ` [PR PATCH] [Merged]: vifm: update to 0.13 classabbyamp
  3 siblings, 0 replies; 5+ messages in thread
From: Zyrtula @ 2024-05-19  1:10 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 668 bytes --]

There is an updated pull request by Zyrtula against master on the void-packages repository

https://github.com/Zyrtula/void-packages vifm
https://github.com/void-linux/void-packages/pull/50422

vifm: update to 0.13, adopt
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, **x86_64**
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - x86_64-musl


A patch file from https://github.com/void-linux/void-packages/pull/50422.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-vifm-50422.patch --]
[-- Type: text/x-diff, Size: 7772 bytes --]

From f771eb6d5c8ad8e71fe4ac62a30b0c2f3b285c6f Mon Sep 17 00:00:00 2001
From: Zyrtula <fk_development@protonmail.com>
Date: Thu, 3 Aug 2023 01:21:00 +0200
Subject: [PATCH] vifm: update to 0.13.

---
 .../vifm/patches/disable-failed-tests.patch   |  38 -----
 .../vifm/patches/vifm-v0.13-musl-tests.patch  | 139 ++++++++++++++++++
 srcpkgs/vifm/template                         |   8 +-
 3 files changed, 143 insertions(+), 42 deletions(-)
 delete mode 100644 srcpkgs/vifm/patches/disable-failed-tests.patch
 create mode 100644 srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch

diff --git a/srcpkgs/vifm/patches/disable-failed-tests.patch b/srcpkgs/vifm/patches/disable-failed-tests.patch
deleted file mode 100644
index f674a4be66d825..00000000000000
--- a/srcpkgs/vifm/patches/disable-failed-tests.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git tests/Makefile tests/Makefile
-index 1419a4edd..a213d70ef 100644
---- a/tests/Makefile
-+++ b/tests/Makefile
-@@ -67,14 +67,14 @@ B ?=
- BUILD := $(B)bin/build/$(BINSUBDIR)
- 
- # engine
--suites += abbrevs autocmds cmds commands completion keys options parsing
-+suites += abbrevs autocmds cmds completion keys options parsing
- suites += text_buffer variables
- # io
- suites += ioeta ionotif iop ior
- # ui
- suites += colmgr column_view viewcolumns_parser
- # everything else
--suites += bmarks env escape fileops filetype filter lua misc undo utils
-+suites += bmarks env escape fileops filetype filter undo utils
- 
- # these are built, but not automatically executed
- apps := fuzz regs_shmem_app
-diff --git tests/fileops/chown.c tests/fileops/chown.c
-index ef7b1a405..cd2c33388 100644
---- a/tests/fileops/chown.c
-+++ b/tests/fileops/chown.c
-@@ -65,12 +65,10 @@ TEST(file_group_is_changed, IF(has_more_than_one_group))
- 	mark_selection_or_current(curr_view);
- 	fops_chown(0, 1, 0, gid1);
- 	assert_success(os_stat("dir/chown-me", &s));
--	assert_true(s.st_gid == gid1);
- 
- 	mark_selection_or_current(curr_view);
- 	fops_chown(0, 1, 0, gid2);
- 	assert_success(os_stat("dir/chown-me", &s));
--	assert_true(s.st_gid == gid2);
- 
- 	assert_success(unlink("dir/chown-me"));
- 	assert_success(rmdir("dir"));
diff --git a/srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch b/srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch
new file mode 100644
index 00000000000000..e94866bfbe38b8
--- /dev/null
+++ b/srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch
@@ -0,0 +1,139 @@
+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 67cc901ec943cc..4c1f25d2c80b98 100644
--- a/srcpkgs/vifm/template
+++ b/srcpkgs/vifm/template
@@ -1,18 +1,18 @@
 # Template file for 'vifm'
 pkgname=vifm
-version=0.12
+version=0.13
 revision=1
 build_style=gnu-configure
 configure_args="--without-gtk"
-hostmakedepends="mdocml"
+hostmakedepends="mdocml perl"
 makedepends="ncurses-devel file-devel"
 depends="desktop-file-utils"
-short_desc="Ncurses-based file manager with vi-like keybindings"
+short_desc="File manager with curses interface and Vim-like environment"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://vifm.info/"
 distfiles="${SOURCEFORGE_SITE}/vifm/vifm-${version}.tar.bz2"
-checksum=33a9618f32b35b5b8c64483884f9ad09963ca8465b2935def79159028e27b2c0
+checksum=0d9293749a794076ade967ecdc47d141d85e450370594765391bdf1a9bd45075
 
 CFLAGS="-fcommon"
 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PR PATCH] [Merged]: vifm: update to 0.13
  2024-05-18 22:36 [PR PATCH] Vifm Zyrtula
                   ` (2 preceding siblings ...)
  2024-05-19  1:10 ` [PR PATCH] [Updated] " Zyrtula
@ 2024-05-20  1:26 ` classabbyamp
  3 siblings, 0 replies; 5+ messages in thread
From: classabbyamp @ 2024-05-20  1:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 508 bytes --]

There's a merged pull request on the void-packages repository

vifm: update to 0.13
https://github.com/void-linux/void-packages/pull/50422

Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, **x86_64**
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - x86_64-musl


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-05-20  1:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-18 22:36 [PR PATCH] Vifm Zyrtula
2024-05-18 22:57 ` [PR PATCH] [Updated] vifm: update to 0.13, adopt Zyrtula
2024-05-18 23:00 ` classabbyamp
2024-05-19  1:10 ` [PR PATCH] [Updated] " Zyrtula
2024-05-20  1:26 ` [PR PATCH] [Merged]: vifm: update to 0.13 classabbyamp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).