mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-05 06:33:50 +02:00
vifm: update to 0.13.
This commit is contained in:
parent
6f48fbaab4
commit
52a48d554f
3 changed files with 143 additions and 42 deletions
|
@ -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"));
|
|
139
srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch
Normal file
139
srcpkgs/vifm/patches/vifm-v0.13-musl-tests.patch
Normal file
|
@ -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;
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
# Template file for 'vifm'
|
# Template file for 'vifm'
|
||||||
pkgname=vifm
|
pkgname=vifm
|
||||||
version=0.12
|
version=0.13
|
||||||
revision=1
|
revision=1
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
configure_args="--without-gtk"
|
configure_args="--without-gtk"
|
||||||
hostmakedepends="mdocml"
|
hostmakedepends="mdocml perl"
|
||||||
makedepends="ncurses-devel file-devel"
|
makedepends="ncurses-devel file-devel"
|
||||||
depends="desktop-file-utils"
|
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>"
|
maintainer="Orphaned <orphan@voidlinux.org>"
|
||||||
license="GPL-2.0-or-later"
|
license="GPL-2.0-or-later"
|
||||||
homepage="https://vifm.info/"
|
homepage="https://vifm.info/"
|
||||||
distfiles="${SOURCEFORGE_SITE}/vifm/vifm-${version}.tar.bz2"
|
distfiles="${SOURCEFORGE_SITE}/vifm/vifm-${version}.tar.bz2"
|
||||||
checksum=33a9618f32b35b5b8c64483884f9ad09963ca8465b2935def79159028e27b2c0
|
checksum=0d9293749a794076ade967ecdc47d141d85e450370594765391bdf1a9bd45075
|
||||||
|
|
||||||
CFLAGS="-fcommon"
|
CFLAGS="-fcommon"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue