diff --git a/disable-unreliable-tests-arch.patch b/disable-unreliable-tests-arch.patch index 138c179..80fd9d7 100644 --- a/disable-unreliable-tests-arch.patch +++ b/disable-unreliable-tests-arch.patch @@ -34,7 +34,7 @@ Index: vim-8.2.3318/src/testdir/Make_all.mak test_regex_char_classes \ test_regexp_latin \ test_regexp_utf8 \ -@@ -459,7 +452,6 @@ NEW_TESTS_RES = \ +@@ -458,7 +451,6 @@ NEW_TESTS_RES = \ test_quickfix.res \ test_quotestar.res \ test_random.res \ diff --git a/disable-unreliable-tests.patch b/disable-unreliable-tests.patch index c7f5d76..3b9f2b5 100644 --- a/disable-unreliable-tests.patch +++ b/disable-unreliable-tests.patch @@ -10,7 +10,7 @@ Index: vim-8.2.3075/src/testdir/Make_all.mak test_balloon_gui \ test_behave \ test_blob \ -@@ -203,7 +202,6 @@ NEW_TESTS = \ +@@ -204,7 +203,6 @@ NEW_TESTS = \ test_netbeans \ test_normal \ test_number \ @@ -18,7 +18,15 @@ Index: vim-8.2.3075/src/testdir/Make_all.mak test_packadd \ test_partial \ test_paste \ -@@ -323,7 +320,6 @@ NEW_TESTS_RES = \ +@@ -262,7 +260,6 @@ NEW_TESTS = \ + test_stat \ + test_statusline \ + test_substitute \ +- test_suspend \ + test_swap \ + test_syn_attr \ + test_syntax \ +@@ -324,7 +321,6 @@ NEW_TESTS_RES = \ test_autocmd.res \ test_autoload.res \ test_backspace_opt.res \ @@ -26,6 +34,14 @@ Index: vim-8.2.3075/src/testdir/Make_all.mak test_balloon_gui.res \ test_blob.res \ test_blockedit.res \ +@@ -490,7 +486,6 @@ NEW_TESTS_RES = \ + test_stat.res \ + test_statusline.res \ + test_substitute.res \ +- test_suspend.res \ + test_swap.res \ + test_syn_attr.res \ + test_syntax.res \ Index: vim-8.2.3075/src/testdir/Makefile =================================================================== --- vim-8.2.3075.orig/src/testdir/Makefile diff --git a/no-common.patch b/no-common.patch deleted file mode 100644 index 5456aa5..0000000 --- a/no-common.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: vim-8.2.2411/src/globals.h -=================================================================== ---- vim-8.2.2411.orig/src/globals.h -+++ vim-8.2.2411/src/globals.h -@@ -1315,7 +1315,7 @@ extern char *Version; - #if defined(HAVE_DATE_TIME) && defined(VMS) && defined(VAXC) - extern char longVersion[]; - #else --EXTERN char *longVersion INIT(= NULL); -+extern char *longVersion; - #endif - - /* diff --git a/suse.vimrc b/suse.vimrc index e37a22a..204aec9 100644 --- a/suse.vimrc +++ b/suse.vimrc @@ -292,8 +292,10 @@ endif " This escape sequence is the well known ANSI sequence for " Remove Character Under The Cursor (RCUTC[tm]) -map! [3~ -map [3~ x +if !has("gui_running") && myterm == "xterm" + map! [3~ + map [3~ x +endif " Only do this part when compiled with support for autocommands. if has("autocmd") diff --git a/vim-7.4-rpmlintrc b/vim-7.4-rpmlintrc index e108e47..48cf2cf 100644 --- a/vim-7.4-rpmlintrc +++ b/vim-7.4-rpmlintrc @@ -1,6 +1,2 @@ -from Config import * - -addFilter("vim-data.* devel-file-in-non-devel-package") addFilter("vim-data.* file-not-in-%lang") -addFilter("vim-base.* package-with-huge-docs") diff --git a/vim-8.2.3408.tar.gz b/vim-8.2.3408.tar.gz deleted file mode 100644 index 1865123..0000000 --- a/vim-8.2.3408.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f96135fa2c4675bfdbdf69d7f307665ed2ce707755f7c09ca8121ff3ce4334be -size 15710399 diff --git a/vim-8.2.3582.tar.gz b/vim-8.2.3582.tar.gz new file mode 100644 index 0000000..e9d3feb --- /dev/null +++ b/vim-8.2.3582.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:363a90e45eb93c73340a711223c7ce5e564432f9eb34624e1a545f4fd57dd49d +size 15778667 diff --git a/vim.changes b/vim.changes index 0355be2..a2d0e53 100644 --- a/vim.changes +++ b/vim.changes @@ -1,3 +1,244 @@ +------------------------------------------------------------------- +Fri Nov 5 17:51:31 UTC 2021 - Ondřej Súkup + +- Updated to version 8.2.3582, fixes the following problems + * Overflow check fails with 32 ints. + * Manipulating highlighting is complicated. + * CI sometimes fails for MinGW. + * gj does not move properly with a wide character. + * Reading character past end of line. + * Reading uninitialized memory when giving spell suggestions. +- add obsolete/conflict with nginx vim plugin + +------------------------------------------------------------------- +Wed Nov 3 17:31:20 UTC 2021 - Ondřej Súkup + +- Updated to version 8.2.3577, fixes the following problems + * Test_very_large_count fails on 32bit systems. + * Some unicode control characters are considered printable. + * Memory leak when closing window and using "multispace" in 'listchars'. + * Cannot decide whether to skip test that fails with 64 bit ints. (closes + #9072) + * Divide by zero. + * Overflow check still fails when sizeof(int) == sizeof(long). + * Some functions are not documented for use with a method. + * Overflow check fails with 32 ints. + +------------------------------------------------------------------- +Wed Nov 3 15:16:18 UTC 2021 - Dr. Werner Fink + +- Current vim seems to have timing problems with its parser to + distinguish between and [~3 at least in urxvt + +------------------------------------------------------------------- +Tue Nov 2 12:42:28 UTC 2021 - Ondřej Súkup + +- fix boo#1192225 + +------------------------------------------------------------------- +Tue Nov 2 11:57:45 UTC 2021 - Ondřej Súkup + +- Updated to version 8.2.3570, fixes the following problems + * CTRL-I in Insert mode is not tested + * Ctrl-hat test fails with Athena and Motif. (Elimar Riesebieter) + * Error for :let when vimrc is Vim 9 script. + * Test_very_large_count fails on 32bit systems. + +------------------------------------------------------------------- +Tue Nov 2 09:50:30 UTC 2021 - Dr. Werner Fink + +- Avoid the second to parse the Delete ANSI sequence in gvim + +------------------------------------------------------------------- +Sun Oct 31 10:11:52 UTC 2021 - Ondřej Súkup + +- Updated to version 8.2.3567, fixes the following problems + * Xxd revert does not handle end of line correctly. + * Xxd has various way to exit. + * ModeChanged is not triggered on every mode change. + * Filler lines are incorrect for other window in diff mode after making + a change. + * Vim9: cannot call imported funcref at script level. + * Vim9: asserting the wrong variable. + * Loop variable recreated every time. + * Using freed memory with lambda. + * Cscope has a complicated way of giving an error message. + * Cannot add color names. + * Build failure with +eval but without GUI or +termguicolors + * Invalid memory access when scrolling without a valid screen. + * Makefile dependencies are outdated. (Gary Johnson) + * Build failure on old systems when using nano timestamp. + * CTRL-I in Insert mode is not tested + +------------------------------------------------------------------- +Fri Oct 22 14:53:00 UTC 2021 - Stefan Schubert + +- Use libalternatives instead of update-alternatives. +- Test_suspend disabled temporary. + Updated patches: + disable-unreliable-tests-arch.patch, disable-unreliable-tests.patch + +------------------------------------------------------------------- +Fri Oct 22 13:53:00 UTC 2021 - Ondřej Súkup + +- Updated to version 8.2.3552, fixes the following problems + * Vim9: need more tests for empty string arguments. + * Some type casts are not needed. + * Cannot distinguish Normal and Terminal-Normal mode. + * The ModeChanged event only uses one character for the new_mode and + old_mode values. + * Pattern matching with ModeChanged not tested. + * nginx files are not recognized. + * Cannot detect insert scroll mode. + * Completion submode not indicated for virtual replace. + * CursorHoldI event interferes with "CTRL-G U". (Naohiro Ono) + * Problem with :cd when editing file in non-existent directory. (Yee + Cheng Chin) + * Some files with json syntax are not recognized. + * Crash with error in :catch and also in :finally. + * Crash when using CTRL-T after an empty search pattern. + * Other crashes with empty search pattern not tested. + * Some files with tcl syntax are not recognized. + * Some places use "Vimscript" instead of "Vim script". + * Expression register set by not executed put command. + * Renaming a buffer on startup may cause using freed memory. + * Startup test fails on MS-Windows. + * Still crash with error in :catch and also in :finally. + * Crash when calling job_start with an invalid argument. (Virginia Senioria) + * Test does not fail without the fix for a crash. + * Failures when char is unsigned. + * Reading beyond end of line ending in quote and backslash. + * #ifdef for using sysinfo() is incomplete. + * Crash when going through spell suggestions. + * Python 3 test fails with Python 3.10. + * Illegal memory access with invalid sequence of commands. + * Illegal memory access if buffer name is very long. + * Issue template is not easy to use. + * ml_get error after search with range. + * Superfluous return statements. + * xpm2 filetype dection is not so good. + * Crash when pasting too many times. + * Large count test fails on MS-Windows. + * Illegal memory access in utf_head_off. + * GUI geometry startup test fails on some systems. (Drew Vogel) + * Put test fails when run by itself. + * Recover test may fail on some systems. + * GUI geometry startup test fails. + * tmux filetype dection is incomplete + * Cannot enter password in shell command. + * Vim9: using g:pat:cmd is confusing. + * Vim9: warning for signed vs unsigned. + * Vim9: build failure without the +eval feature. + * Vim9: special cases for "g" and "s" insufficiently tested. + * Generating proto files may fail. + * Vim9: bad separators for "g" and "s" insufficiently tested. + * Undo file is not synced. (Sami Farin) + * Changes are only detected with one second accuracy. + * Vim9: entry for loop variable is created every round. + * Timestamp test fails on some systems. + * Using freed memory when using a timer and searching. (Dominique Pellé) + * Autoread test with nano second time sometimes fails. + * Nano time test fails on Mac and FreeBSD. + * Terminal window does not have transparent background when 'termguicolors' + is used. + * TextChanged does not trigger after TextChangedI. + * Test_xrestore sometimes fails. + * TOML files are not recognized. + * Cannot define a function for thesaurus completion. + * Options completion test fails. + * Cannot use \x and \u when setting 'listchars'. + * Duplicated code in xxd. + * GUI: ligatures are not used. + * Option variable name does not match option name. (Christ van Willigen) + * Tests have clumsy check for X11 based GUI. + * Gcc complains about uninitialized variable. (Tony Mechelynck) + * 'thesaurus' and 'thesaurusfunc' do not have the same scope. + * Xxd usage output is incomplete. + * ":buf \{a}" fails while ":edit \{a}" works. + * Command line completion test fails on MS-Windows. + * The previous '' mark is restored after moving the cursor to the original + jump position. (Tony Chen) + * Inefficient code in xxd. + * Autoread test is a bit flaky. + * If-else indenting is confusing. + * The do_highlight() function is way too long. + * mode() does not return the right value in 'operatorfunc'. + * Else-if indenting is confusing. + * GTK3: with 'rightleft' set scrollbar may move unintentionally. + * The mark '] is wrong after put with a count. (Naohiro Ono) + * Compiler warning for unused variable in tiny version. + * Too many comments are old style. + * Swapname has double slash when 'directory' ends in double slash. (Shane + Smith) + * Unix: may leak file descriptor when using a non-existing directory. + * setcellwidths() may make 'listchars' or 'fillchars' invalid. + * Build failure without the +eval feature. + * Opening the quickfix window triggers BufWinEnter twice. (Yorick Peterse) + * GTK GUI crashen when reading from stdin. + * Mistakes in test comments. + * completion() does not work properly. + * Checking first character of url twice. + * Xxd revert does not handle end of line correctly. + +------------------------------------------------------------------- +Fri Oct 1 08:42:38 UTC 2021 - Ondřej Súkup + +- updated vim-7.4-rpmlintrc +- drop no-common.patch +- Updated to version 8.2.3459, fixes the following problems + * Can delete a numbered function. (Naohiro Ono) + * Reading beyond end of line with invalid utf-8 character. + * Crash with linebreak, listchars and large tabstop. + * Vim9: crash when using base name of import. (Naohiro Ono) + * Vim9: importing the wrong file. + * Vim9: too many characters are allowed in import name. + * fullcommand() gives the wrong name if there is a buffer-local user + command. (Naohiro Ono) + * Vim9: Not all function argument types are properly checked. + * Second error is reported while exception is being thrown. + * Vim9: a failing debug expression aborts script sourcing. + * Garbage collection while evaluating may cause trouble. + * A failing debug expression may make Vim unusable. + * _REENTRANT defined more than once. + * A bit of code is not covered by tests. + * Vim9: no failure if return type differs from returned variable. + * Vim9: list += list creates a new list in :def function. + * A sequence of spaces is hard to see in list mode. + * Warning for using uninitialized variable. + * Crash when deleting a listener in a listener callback. (Naohiro Ono) + * Double free when list is copied. + * Using freed memory when replacing. (Dhiraj Mishra) + * Leaking memory when assigning to list or dict. + * No generic way to trigger an autocommand on mode change. + * Completion for :disas sorts local functions first. + * Octave/Matlab filetype detection does not work properly. + * :delcommand does not take a -buffer option. + * Function prototype for trigger_modechanged() is incomplete. + * Vim9: dict is not passed to dict function. + * Check for optional bool type has confusing return type. + * Compiler warnings for 32/64 bit usage. + * Cannot manipulate blobs. + * Deleted lines go to wrong yank register. + * Recover test fails if there is an old swap file. + * Vim9: || and && are not handled at compile time when possible. + * Vim9: memory leak when and/or fails. + * concealed text not revealed when leaving insert mode. (Michael Soyka) + * On Solaris longVersion may be declared twice. (Vladimir Marek) + * Not enough tests for empty string arguments. + * A couple of declarations are not ANSI C. + * :endtry after function call that throws not found. + * Sort fails if the sort compare function returns 999. + * Coveralls action fails. + * Not all apache files are recognized. + * MPD files are not recognized. + * Autocmd not executed when editing a directory ending in a path separator + inside try block. + * Using a count with "gp" leave cursor in wrong position. (Naohiro Ono) + * Using a count with "gp" leaves '] in wrong position. (Naohiro Ono) + * Vim9: Not all functions are tested with an empty string argument. + * Not all dictdconf files are recognized. + * Vim9: need more tests for empty string arguments. + ------------------------------------------------------------------- Fri Sep 17 10:34:34 UTC 2021 - Dr. Werner Fink diff --git a/vim.spec b/vim.spec index e0d0659..0ac0d6b 100644 --- a/vim.spec +++ b/vim.spec @@ -17,12 +17,19 @@ %define pkg_version 8.2 -%define patchlevel 3408 +%define patchlevel 3582 %define patchlevel_compact %{patchlevel} %define VIM_SUBDIR vim82 %define site_runtimepath %{_datadir}/vim/site %define make make VIMRCLOC=%{_sysconfdir} VIMRUNTIMEDIR=%{_datadir}/vim/current MAKE="make -e" %{?_smp_mflags} %bcond_without python2 + +%if 0%{?suse_version} > 1500 +%bcond_without libalternatives +%else +%bcond_with libalternatives +%endif + Name: vim Version: %{pkg_version}.%{patchlevel_compact} Release: 0 @@ -71,7 +78,6 @@ Patch100: vim73-no-static-libpython.patch Patch101: vim-8.0.1568-defaults.patch # https://github.com/vim/vim/issues/3348 - problem more probadly in buildenv than in test Patch102: vim-8.1.0297-dump3.patch -Patch103: no-common.patch Patch104: vim-8.2.2411-globalvimrc.patch BuildRequires: autoconf BuildRequires: db-devel @@ -91,8 +97,12 @@ BuildRequires: pkgconfig(lua) BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(xt) Requires: vim-data-common = %{version}-%{release} +%if %{with libalternatives} +Requires: alts +%else Requires(post): update-alternatives Requires(postun):update-alternatives +%endif Recommends: vim-data = %{version}-%{release} Conflicts: vim-base < 8.2 Provides: vi @@ -117,11 +127,15 @@ file name completion, block operations, and editing of binary data. %package data Summary: Data files needed for extended vim functionality -# Used to be in vim-plugins package Group: Productivity/Text/Editors Requires: vim-data-common = %{version}-%{release} +# Used to be in vim-plugins package Obsoletes: vim-plugin-matchit <= 1.13.2 Provides: vim-plugin-matchit = 1.13.2 +# conflicts with nginx own plugin +Obsoletes: vim-plugin-nginx < %{version} +Provides: vim-plugin-nginx = %{version} + BuildArch: noarch %description data @@ -140,8 +154,13 @@ Summary: A GUI for Vi Group: Productivity/Text/Editors Requires: gvim_client Requires: vim-data = %{version}-%{release} +%if %{with libalternatives} +BuildRequires: alts +Requires: alts +%else Requires(post): update-alternatives Requires(postun):update-alternatives +%endif Conflicts: gvim < 8.2 Provides: gvim-base = %{version}-%{release} Provides: gvim-enhanced = %{version}-%{release} @@ -160,8 +179,13 @@ want less features, you might want to install vim instead. %package small Summary: Vim with reduced features Group: Productivity/Text/Editors +%if %{with libalternatives} +BuildRequires: alts +Requires: alts +%else Requires(post): update-alternatives Requires(postun):update-alternatives +%endif Provides: vi Provides: vim_client Requires: vim-data-common = %{version}-%{release} @@ -195,7 +219,6 @@ cp %{SOURCE23} runtime/syntax/apparmor.vim %patch100 -p1 %patch101 -p1 %patch102 -p1 -%patch103 -p1 %patch104 -p1 cp %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE8} %{SOURCE10} . @@ -312,9 +335,46 @@ done # install vim install -D -m 0755 vim-small %{buildroot}%{_bindir}/vim-small install -D -m 0755 vim-nox11 %{buildroot}%{_bindir}/vim-nox11 +%if ! %{with libalternatives} mkdir -p %{buildroot}%{_sysconfdir}/alternatives ln -s -f %{_sysconfdir}/alternatives/vim %{buildroot}%{_bindir}/vim ln -s -f %{_sysconfdir}/alternatives/vi %{buildroot}%{_bindir}/vi +%else +ln -sf %{_bindir}/alts %{buildroot}%{_bindir}/vi +ln -sf %{_bindir}/alts %{buildroot}%{_bindir}/vim +mkdir -p %{buildroot}%{_datadir}/libalternatives/vi +cat > %{buildroot}%{_datadir}/libalternatives/vi/20.conf < %{buildroot}%{_datadir}/libalternatives/vi/30.conf < %{buildroot}%{_datadir}/libalternatives/vi/19.conf < %{buildroot}%{_datadir}/libalternatives/vim/20.conf < %{buildroot}%{_datadir}/libalternatives/vim/30.conf < %{buildroot}%{_datadir}/libalternatives/vim/19.conf <