* [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).