From 9112f22917de1664c8b5a1c3e9428fbe76fd4e22 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Thu, 3 Oct 2019 12:33:27 +0200 Subject: [PATCH 1/4] Update to version 0.4.2 --- .gitignore | 1 + neovim.spec | 56 ++++++++++++++++++++++++++++++++++++++++++++++------- sources | 2 +- 3 files changed, 51 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 4c36167..e803195 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ /neovim-0.3.6.tar.gz /neovim-0.3.7.tar.gz /neovim-0.3.8.tar.gz +/neovim-0.4.2.tar.gz diff --git a/neovim.spec b/neovim.spec index 8dcee02..719cda1 100644 --- a/neovim.spec +++ b/neovim.spec @@ -5,9 +5,15 @@ %bcond_with luajit %endif +%if %{with luajit} +%global luaver 5.1 +%else +%global luaver 5.3 +%endif + Name: neovim -Version: 0.3.8 -Release: 2%{?dist} +Version: 0.4.2 +Release: 1%{?dist} License: ASL 2.0 Summary: Vim-fork focused on extensibility and agility @@ -31,18 +37,22 @@ BuildRequires: gcc BuildRequires: luajit-devel BuildRequires: compat-lua-lpeg BuildRequires: compat-lua-mpack +BuildRequires: lua5.1-luv-devel +Requires: lua5.1-luv %else BuildRequires: lua-devel BuildRequires: lua-lpeg BuildRequires: lua-mpack +BuildRequires: lua-luv-devel +Requires: lua-luv %endif %if %{with jemalloc} BuildRequires: jemalloc-devel %endif -BuildRequires: msgpack-devel >= 1.2.0 +BuildRequires: msgpack-devel >= 3.1.0 BuildRequires: libtermkey-devel -BuildRequires: libuv-devel -BuildRequires: libvterm-devel +BuildRequires: libuv-devel >= 1.30 +BuildRequires: libvterm-devel => 0.1.1 BuildRequires: unibilium-devel %if 0%{?el7} BuildRequires: lua-bit32 @@ -78,6 +88,8 @@ pushd build -DPREFER_LUA=%{?with_luajit:OFF}%{!?with_luajit:ON} \ -DLUA_PRG=%{_bindir}/%{?with_luajit:luajit}%{!?with_luajit:lua} \ -DENABLE_JEMALLOC=%{?with_jemalloc:ON}%{!?with_jemalloc:OFF} \ + -DLIBLUV_INCLUDE_DIR=%{_includedir}/lua-%{luaver} \ + -DLIBLUV_LIBRARY=%{_libdir}/lua/%{luaver}/luv.so \ .. %make_build VERBOSE=1 @@ -306,7 +318,6 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/doc/digraph.txt %{_datadir}/nvim/runtime/doc/editing.txt %{_datadir}/nvim/runtime/doc/eval.txt -%{_datadir}/nvim/runtime/doc/farsi.txt %{_datadir}/nvim/runtime/doc/filetype.txt %{_datadir}/nvim/runtime/doc/fold.txt %{_datadir}/nvim/runtime/doc/ft_ada.txt @@ -339,7 +350,6 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/doc/pattern.txt %{_datadir}/nvim/runtime/doc/pi_gzip.txt %{_datadir}/nvim/runtime/doc/pi_health.txt -%{_datadir}/nvim/runtime/doc/pi_matchit.txt %{_datadir}/nvim/runtime/doc/pi_msgpack.txt %{_datadir}/nvim/runtime/doc/pi_netrw.txt %{_datadir}/nvim/runtime/doc/pi_paren.txt @@ -409,6 +419,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/doc/windows.txt %dir %{_datadir}/nvim/runtime/ftplugin +%{_datadir}/nvim/runtime/ftplugin/8th.vim %{_datadir}/nvim/runtime/ftplugin/a2ps.vim %{_datadir}/nvim/runtime/ftplugin/aap.vim %{_datadir}/nvim/runtime/ftplugin/abap.vim @@ -421,6 +432,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/ftplugin/aspvbs.vim %{_datadir}/nvim/runtime/ftplugin/automake.vim %{_datadir}/nvim/runtime/ftplugin/awk.vim +%{_datadir}/nvim/runtime/ftplugin/bash.vim %{_datadir}/nvim/runtime/ftplugin/bdf.vim %{_datadir}/nvim/runtime/ftplugin/bst.vim %{_datadir}/nvim/runtime/ftplugin/btm.vim @@ -428,6 +440,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/ftplugin/c.vim %{_datadir}/nvim/runtime/ftplugin/calendar.vim %{_datadir}/nvim/runtime/ftplugin/cdrdaoconf.vim +%{_datadir}/nvim/runtime/ftplugin/cfg.vim %{_datadir}/nvim/runtime/ftplugin/ch.vim %{_datadir}/nvim/runtime/ftplugin/changelog.vim %{_datadir}/nvim/runtime/ftplugin/chicken.vim @@ -458,6 +471,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/ftplugin/dosini.vim %{_datadir}/nvim/runtime/ftplugin/dtd.vim %{_datadir}/nvim/runtime/ftplugin/dtrace.vim +%{_datadir}/nvim/runtime/ftplugin/dune.vim %{_datadir}/nvim/runtime/ftplugin/eiffel.vim %{_datadir}/nvim/runtime/ftplugin/elinks.vim %{_datadir}/nvim/runtime/ftplugin/erlang.vim @@ -497,6 +511,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/ftplugin/j.vim %{_datadir}/nvim/runtime/ftplugin/java.vim %{_datadir}/nvim/runtime/ftplugin/javascript.vim +%{_datadir}/nvim/runtime/ftplugin/javascriptreact.vim %{_datadir}/nvim/runtime/ftplugin/jproperties.vim %{_datadir}/nvim/runtime/ftplugin/json.vim %{_datadir}/nvim/runtime/ftplugin/jsp.vim @@ -527,6 +542,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/ftplugin/matlab.vim %{_datadir}/nvim/runtime/ftplugin/mf.vim %{_datadir}/nvim/runtime/ftplugin/modconf.vim +%{_datadir}/nvim/runtime/ftplugin/mma.vim %{_datadir}/nvim/runtime/ftplugin/mp.vim %{_datadir}/nvim/runtime/ftplugin/mplayerconf.vim %{_datadir}/nvim/runtime/ftplugin/mrxvtrc.vim @@ -535,6 +551,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/ftplugin/nanorc.vim %{_datadir}/nvim/runtime/ftplugin/neomuttrc.vim %{_datadir}/nvim/runtime/ftplugin/netrc.vim +%{_datadir}/nvim/runtime/ftplugin/nroff.vim %{_datadir}/nvim/runtime/ftplugin/nsis.vim %{_datadir}/nvim/runtime/ftplugin/objc.vim %{_datadir}/nvim/runtime/ftplugin/ocaml.vim @@ -678,6 +695,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/indent/j.vim %{_datadir}/nvim/runtime/indent/java.vim %{_datadir}/nvim/runtime/indent/javascript.vim +%{_datadir}/nvim/runtime/indent/javascriptreact.vim %{_datadir}/nvim/runtime/indent/json.vim %{_datadir}/nvim/runtime/indent/jsp.vim %{_datadir}/nvim/runtime/indent/ld.vim @@ -707,6 +725,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/indent/pyrex.vim %{_datadir}/nvim/runtime/indent/python.vim %{_datadir}/nvim/runtime/indent/r.vim +%{_datadir}/nvim/runtime/indent/raml.vim %{_datadir}/nvim/runtime/indent/readline.vim %{_datadir}/nvim/runtime/indent/rhelp.vim %{_datadir}/nvim/runtime/indent/rmd.vim @@ -735,6 +754,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/indent/tf.vim %{_datadir}/nvim/runtime/indent/tilde.vim %{_datadir}/nvim/runtime/indent/treetop.vim +%{_datadir}/nvim/runtime/indent/typescript.vim %{_datadir}/nvim/runtime/indent/vb.vim %{_datadir}/nvim/runtime/indent/verilog.vim %{_datadir}/nvim/runtime/indent/vhdl.vim @@ -832,6 +852,8 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %dir %{_datadir}/nvim/runtime/lua/vim %{_datadir}/nvim/runtime/lua/vim/compat.lua +%{_datadir}/nvim/runtime/lua/vim/inspect.lua +%{_datadir}/nvim/runtime/lua/vim/shared.lua %dir %{_datadir}/nvim/runtime/macros %{_datadir}/nvim/runtime/macros/editexisting.vim @@ -859,6 +881,15 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %dir %{_datadir}/nvim/runtime/pack/dist/opt/shellmenu/plugin %{_datadir}/nvim/runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim +%dir %{_datadir}/nvim/runtime/pack/dist/opt/matchit +%dir %{_datadir}/nvim/runtime/pack/dist/opt/matchit/autoload +%{_datadir}/nvim/runtime/pack/dist/opt/matchit/autoload/matchit.vim +%dir %{_datadir}/nvim/runtime/pack/dist/opt/matchit/doc +%{_datadir}/nvim/runtime/pack/dist/opt/matchit/doc/matchit.txt +%{_datadir}/nvim/runtime/pack/dist/opt/matchit/doc/tags +%dir %{_datadir}/nvim/runtime/pack/dist/opt/matchit/plugin +%{_datadir}/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim + %dir %{_datadir}/nvim/runtime/pack/dist/opt/swapmouse %dir %{_datadir}/nvim/runtime/pack/dist/opt/swapmouse/plugin %{_datadir}/nvim/runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim @@ -931,6 +962,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %dir %{_datadir}/nvim/runtime/syntax %{_datadir}/nvim/runtime/syntax/2html.vim +%{_datadir}/nvim/runtime/syntax/8th.vim %{_datadir}/nvim/runtime/syntax/a2ps.vim %{_datadir}/nvim/runtime/syntax/a65.vim %{_datadir}/nvim/runtime/syntax/aap.vim @@ -1071,6 +1103,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/syntax/dtml.vim %{_datadir}/nvim/runtime/syntax/dtrace.vim %{_datadir}/nvim/runtime/syntax/dts.vim +%{_datadir}/nvim/runtime/syntax/dune.vim %{_datadir}/nvim/runtime/syntax/dylan.vim %{_datadir}/nvim/runtime/syntax/dylanintr.vim %{_datadir}/nvim/runtime/syntax/dylanlid.vim @@ -1146,6 +1179,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/syntax/hgcommit.vim %{_datadir}/nvim/runtime/syntax/hitest.vim %{_datadir}/nvim/runtime/syntax/hog.vim +%{_datadir}/nvim/runtime/syntax/hollywood.vim %{_datadir}/nvim/runtime/syntax/hostconf.vim %{_datadir}/nvim/runtime/syntax/hostsaccess.vim %{_datadir}/nvim/runtime/syntax/html.vim @@ -1175,6 +1209,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/syntax/java.vim %{_datadir}/nvim/runtime/syntax/javacc.vim %{_datadir}/nvim/runtime/syntax/javascript.vim +%{_datadir}/nvim/runtime/syntax/javascriptreact.vim %{_datadir}/nvim/runtime/syntax/jess.vim %{_datadir}/nvim/runtime/syntax/jgraph.vim %{_datadir}/nvim/runtime/syntax/jovial.vim @@ -1331,6 +1366,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/syntax/r.vim %{_datadir}/nvim/runtime/syntax/racc.vim %{_datadir}/nvim/runtime/syntax/radiance.vim +%{_datadir}/nvim/runtime/syntax/raml.vim %{_datadir}/nvim/runtime/syntax/ratpoison.vim %{_datadir}/nvim/runtime/syntax/rc.vim %{_datadir}/nvim/runtime/syntax/rcs.vim @@ -1449,6 +1485,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/syntax/tasm.vim %{_datadir}/nvim/runtime/syntax/tcl.vim %{_datadir}/nvim/runtime/syntax/tcsh.vim +%{_datadir}/nvim/runtime/syntax/template.vim %{_datadir}/nvim/runtime/syntax/teraterm.vim %{_datadir}/nvim/runtime/syntax/terminfo.vim %{_datadir}/nvim/runtime/syntax/tex.vim @@ -1471,6 +1508,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/syntax/tt2html.vim %{_datadir}/nvim/runtime/syntax/tt2js.vim %{_datadir}/nvim/runtime/syntax/tutor.vim +%{_datadir}/nvim/runtime/syntax/typescript.vim %{_datadir}/nvim/runtime/syntax/uc.vim %{_datadir}/nvim/runtime/syntax/udevconf.vim %{_datadir}/nvim/runtime/syntax/udevperm.vim @@ -1500,6 +1538,7 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/syntax/vrml.vim %{_datadir}/nvim/runtime/syntax/vroom.vim %{_datadir}/nvim/runtime/syntax/vsejcl.vim +%{_datadir}/nvim/runtime/syntax/vue.vim %{_datadir}/nvim/runtime/syntax/wast.vim %{_datadir}/nvim/runtime/syntax/wdiff.vim %{_datadir}/nvim/runtime/syntax/web.vim @@ -1548,6 +1587,9 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/tutor/en/vim-01-beginner.tutor.json %changelog +* Thu Oct 03 2019 Andreas Schneider - 0.4.2-1 +- Update to version 0.4.2 + * Thu Jul 25 2019 Fedora Release Engineering - 0.3.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index f7d04f7..aa1a99b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (neovim-0.3.8.tar.gz) = 431d3df859b430570e3f927328b862945a15b1ac041108599670d32af6cccac9361a143fc6af27847529629a43a5e0a0afd98b1c826d4ee1e7570de3cf14f9c7 +SHA512 (neovim-0.4.2.tar.gz) = cc0de18ee7ca5105a0dd9f5f06b4d58335618b22c4dc3d584a024683785ff9d541c7f5131742b8a818ac9acb2218da92f9b8a881d56c4b963237918e589fac22 From 75994462c563ae0fec8c15323b0dc684d1f81147 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Oct 2019 17:45:37 +0100 Subject: [PATCH 2/4] Fix glitches for terminals sayin xterm but not xterm Signed-off-by: Igor Gnatenko (cherry picked from commit 28f7c99b1690a34a20df957b0b996d29ae031fdf) --- neovim-0.4.2-xterm-glitch.patch | 43 +++++++++++++++++++++++++++++++++ neovim.spec | 10 ++++++-- 2 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 neovim-0.4.2-xterm-glitch.patch diff --git a/neovim-0.4.2-xterm-glitch.patch b/neovim-0.4.2-xterm-glitch.patch new file mode 100644 index 0000000..26b7e56 --- /dev/null +++ b/neovim-0.4.2-xterm-glitch.patch @@ -0,0 +1,43 @@ +From ddd3363a428bad302f517fe5d433ce61b2b8de6c Mon Sep 17 00:00:00 2001 +From: Daniel Hahler +Date: Wed, 2 Oct 2019 04:07:10 +0200 +Subject: [PATCH] [release-0.4] patch_terminfo_bugs: TERM=xterm with non-xterm: + ignore smglr (#11132) + +"smglr" was added for TERM=xterm recently to the terminfo database, +which causes display issues with terminals that use `TERM=xterm` by +default for themselves, although not supporting it. + +This patch makes "smglr" to be ignored then. + +Fixes https://github.com/neovim/neovim/issues/10562 +--- + src/nvim/tui/tui.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c +index 791756e5c52..c0845f9524e 100644 +--- a/src/nvim/tui/tui.c ++++ b/src/nvim/tui/tui.c +@@ -93,7 +93,7 @@ typedef struct { + int out_fd; + bool scroll_region_is_full_screen; + bool can_change_scroll_region; +- bool can_set_lr_margin; ++ bool can_set_lr_margin; // smglr + bool can_set_left_right_margin; + bool can_scroll; + bool can_erase_chars; +@@ -1598,6 +1598,12 @@ static void patch_terminfo_bugs(TUIData *data, const char *term, + unibi_set_if_empty(ut, unibi_set_lr_margin, "\x1b[%i%p1%d;%p2%ds"); + unibi_set_if_empty(ut, unibi_set_left_margin_parm, "\x1b[%i%p1%ds"); + unibi_set_if_empty(ut, unibi_set_right_margin_parm, "\x1b[%i;%p2%ds"); ++ } else { ++ // Fix things advertised via TERM=xterm, for non-xterm. ++ if (unibi_get_str(ut, unibi_set_lr_margin)) { ++ ILOG("Disabling smglr with TERM=xterm for non-xterm."); ++ unibi_set_str(ut, unibi_set_lr_margin, NULL); ++ } + } + + #ifdef WIN32 diff --git a/neovim.spec b/neovim.spec index 719cda1..c4661bc 100644 --- a/neovim.spec +++ b/neovim.spec @@ -13,16 +13,17 @@ Name: neovim Version: 0.4.2 -Release: 1%{?dist} +Release: 2%{?dist} License: ASL 2.0 Summary: Vim-fork focused on extensibility and agility -Url: http://neovim.io +Url: https://neovim.io Source0: https://github.com/neovim/neovim/archive/v%{version}/%{name}-%{version}.tar.gz Source1: sysinit.vim Source2: spec-template Patch0: neovim-0.1.7-bitop.patch +Patch0001: https://github.com/neovim/neovim/commit/ddd3363a428bad302f517fe5d433ce61b2b8de6c.patch#/neovim-0.4.2-xterm-glitch.patch BuildRequires: gcc-c++ BuildRequires: cmake @@ -81,6 +82,8 @@ parts of Vim, without compromise, and more. %patch0 -p1 -b .bitop %endif +%patch0001 -p1 + %build mkdir -p build pushd build @@ -1587,6 +1590,9 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/tutor/en/vim-01-beginner.tutor.json %changelog +* Mon Oct 28 2019 Igor Gnatenko - 0.4.2-2 +- Fix glitches for terminals sayin xterm but not xterm + * Thu Oct 03 2019 Andreas Schneider - 0.4.2-1 - Update to version 0.4.2 From 1976995738f1f4b10c7a231d0d99f78d03f56d6a Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Thu, 7 Nov 2019 09:40:34 +0100 Subject: [PATCH 3/4] Update to version 0.4.3 --- .gitignore | 1 + neovim-0.4.2-xterm-glitch.patch | 43 --------------------------------- neovim.spec | 10 ++++---- sources | 2 +- 4 files changed, 7 insertions(+), 49 deletions(-) delete mode 100644 neovim-0.4.2-xterm-glitch.patch diff --git a/.gitignore b/.gitignore index e803195..e62c006 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /neovim-0.3.7.tar.gz /neovim-0.3.8.tar.gz /neovim-0.4.2.tar.gz +/neovim-0.4.3.tar.gz diff --git a/neovim-0.4.2-xterm-glitch.patch b/neovim-0.4.2-xterm-glitch.patch deleted file mode 100644 index 26b7e56..0000000 --- a/neovim-0.4.2-xterm-glitch.patch +++ /dev/null @@ -1,43 +0,0 @@ -From ddd3363a428bad302f517fe5d433ce61b2b8de6c Mon Sep 17 00:00:00 2001 -From: Daniel Hahler -Date: Wed, 2 Oct 2019 04:07:10 +0200 -Subject: [PATCH] [release-0.4] patch_terminfo_bugs: TERM=xterm with non-xterm: - ignore smglr (#11132) - -"smglr" was added for TERM=xterm recently to the terminfo database, -which causes display issues with terminals that use `TERM=xterm` by -default for themselves, although not supporting it. - -This patch makes "smglr" to be ignored then. - -Fixes https://github.com/neovim/neovim/issues/10562 ---- - src/nvim/tui/tui.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c -index 791756e5c52..c0845f9524e 100644 ---- a/src/nvim/tui/tui.c -+++ b/src/nvim/tui/tui.c -@@ -93,7 +93,7 @@ typedef struct { - int out_fd; - bool scroll_region_is_full_screen; - bool can_change_scroll_region; -- bool can_set_lr_margin; -+ bool can_set_lr_margin; // smglr - bool can_set_left_right_margin; - bool can_scroll; - bool can_erase_chars; -@@ -1598,6 +1598,12 @@ static void patch_terminfo_bugs(TUIData *data, const char *term, - unibi_set_if_empty(ut, unibi_set_lr_margin, "\x1b[%i%p1%d;%p2%ds"); - unibi_set_if_empty(ut, unibi_set_left_margin_parm, "\x1b[%i%p1%ds"); - unibi_set_if_empty(ut, unibi_set_right_margin_parm, "\x1b[%i;%p2%ds"); -+ } else { -+ // Fix things advertised via TERM=xterm, for non-xterm. -+ if (unibi_get_str(ut, unibi_set_lr_margin)) { -+ ILOG("Disabling smglr with TERM=xterm for non-xterm."); -+ unibi_set_str(ut, unibi_set_lr_margin, NULL); -+ } - } - - #ifdef WIN32 diff --git a/neovim.spec b/neovim.spec index c4661bc..bf6d74f 100644 --- a/neovim.spec +++ b/neovim.spec @@ -12,8 +12,8 @@ %endif Name: neovim -Version: 0.4.2 -Release: 2%{?dist} +Version: 0.4.3 +Release: 1%{?dist} License: ASL 2.0 Summary: Vim-fork focused on extensibility and agility @@ -23,7 +23,6 @@ Source0: https://github.com/neovim/neovim/archive/v%{version}/%{name}-%{v Source1: sysinit.vim Source2: spec-template Patch0: neovim-0.1.7-bitop.patch -Patch0001: https://github.com/neovim/neovim/commit/ddd3363a428bad302f517fe5d433ce61b2b8de6c.patch#/neovim-0.4.2-xterm-glitch.patch BuildRequires: gcc-c++ BuildRequires: cmake @@ -82,8 +81,6 @@ parts of Vim, without compromise, and more. %patch0 -p1 -b .bitop %endif -%patch0001 -p1 - %build mkdir -p build pushd build @@ -1590,6 +1587,9 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/tutor/en/vim-01-beginner.tutor.json %changelog +* Thu Nov 07 2019 Andreas Schneider - 0.4.3-1 +- Update to version 0.4.3 + * Mon Oct 28 2019 Igor Gnatenko - 0.4.2-2 - Fix glitches for terminals sayin xterm but not xterm diff --git a/sources b/sources index aa1a99b..f6cf3f7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (neovim-0.4.2.tar.gz) = cc0de18ee7ca5105a0dd9f5f06b4d58335618b22c4dc3d584a024683785ff9d541c7f5131742b8a818ac9acb2218da92f9b8a881d56c4b963237918e589fac22 +SHA512 (neovim-0.4.3.tar.gz) = e13853fa296eda8618f389c71b6cbbd6f01d561615e80cc92959131dd10e395b1c6732a7d9ef6dbb9fe3ea9da4c11485b464547e2d46b22e59b8a20214e861f5 From 7a4c7eba86a5420e4e5ebe3a50be4627e260e14d Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Sun, 23 Feb 2020 16:32:06 +0100 Subject: [PATCH 4/4] Fix bulding with -fno-common --- 11890.patch | 225 ++++++++++++++++++++++++++++++++++++++++++++++++++++ neovim.spec | 14 +++- 2 files changed, 236 insertions(+), 3 deletions(-) create mode 100644 11890.patch diff --git a/11890.patch b/11890.patch new file mode 100644 index 0000000..51c6269 --- /dev/null +++ b/11890.patch @@ -0,0 +1,225 @@ +From ebcde1de42588e697e0f4eaed9f6f0ea6a77a2cd Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Mon, 17 Feb 2020 16:33:55 +0100 +Subject: [PATCH 1/6] nvim:eval: Fix enum declaration for ListLenSpecials + +Instead of declaring an enum, this creates a global variable. As gcc10 +uses -fno-common by default, global variables declared with the same +name more than once is not allowed anymore revealing this issue. + +Each time this header is included, we define the enum name as a global +variable. + +See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680 +--- + src/nvim/eval/typval.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/nvim/eval/typval.h b/src/nvim/eval/typval.h +index 008453b87f2..5afdedff751 100644 +--- a/src/nvim/eval/typval.h ++++ b/src/nvim/eval/typval.h +@@ -33,7 +33,7 @@ typedef double float_T; + enum { DO_NOT_FREE_CNT = (INT_MAX / 2) }; + + /// Additional values for tv_list_alloc() len argument +-enum { ++enum ListLenSpecials { + /// List length is not known in advance + /// + /// To be used when there is neither a way to know how many elements will be +@@ -49,7 +49,7 @@ enum { + /// + /// To be used when it looks impractical to determine list length. + kListLenMayKnow = -3, +-} ListLenSpecials; ++}; + + /// Maximal possible value of varnumber_T variable + #define VARNUMBER_MAX INT64_MAX + +From b87b4a61476bb65e9200bd2ee93b8a98ca4db84e Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Mon, 17 Feb 2020 17:17:37 +0100 +Subject: [PATCH 2/6] nvim:viml: Fix enum declaration of ExprParserFlags + +Instead of declaring an enum, this creates a global variable. As gcc10 +uses -fno-common by default, global variables declared with the same +name more than once is not allowed anymore revealing this issue. + +Each time this header is included, we define the enum name as a global +variable. + +See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680 +--- + src/nvim/viml/parser/expressions.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/nvim/viml/parser/expressions.h b/src/nvim/viml/parser/expressions.h +index 23e172da75b..838a7422718 100644 +--- a/src/nvim/viml/parser/expressions.h ++++ b/src/nvim/viml/parser/expressions.h +@@ -326,7 +326,7 @@ struct expr_ast_node { + } data; + }; + +-enum { ++enum ExprParserFlags { + /// Allow multiple expressions in a row: e.g. for :echo + /// + /// Parser will still parse only one of them though. +@@ -345,7 +345,7 @@ enum { + // viml_expressions_parser.c, nvim_parse_expression() flags parsing + // alongside with its documentation and flag sets in check_parsing() + // function in expressions parser functional and unit tests. +-} ExprParserFlags; ++}; + + /// AST error definition + typedef struct { + +From 986db1adb491b5cb5936d2369816236847af26da Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Mon, 17 Feb 2020 16:36:21 +0100 +Subject: [PATCH 3/6] nvim: Fix enum declaration of RemapValues + +Instead of declaring an enum, this creates a global variable. As gcc10 +uses -fno-common by default, global variables declared with the same +name more than once is not allowed anymore revealing this issue. + +Each time this header is included, we define the enum name as a global +variable. + +See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680 +--- + src/nvim/getchar.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/nvim/getchar.h b/src/nvim/getchar.h +index 01f60ccf494..f0b52079aad 100644 +--- a/src/nvim/getchar.h ++++ b/src/nvim/getchar.h +@@ -10,12 +10,12 @@ + /// Values for "noremap" argument of ins_typebuf() + /// + /// Also used for map->m_noremap and menu->noremap[]. +-enum { ++enum RemapValues { + REMAP_YES = 0, ///< Allow remapping. + REMAP_NONE = -1, ///< No remapping. + REMAP_SCRIPT = -2, ///< Remap script-local mappings only. + REMAP_SKIP = -3, ///< No remapping for first char. +-} RemapValues; ++}; + + // Argument for flush_buffers(). + typedef enum { + +From 517bf15603aba37014b62553eb008e26f2a1db48 Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Mon, 17 Feb 2020 16:40:37 +0100 +Subject: [PATCH 4/6] nvim:msgpack: Correctly set up global + ch_before_blocking_events + +gcc10 builds with -fno-common by default. This mean you can't define +a global variable with the same name twice. + +See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680 +--- + src/nvim/msgpack_rpc/channel.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/nvim/msgpack_rpc/channel.h b/src/nvim/msgpack_rpc/channel.h +index 9ff5abdc5f5..90e1c7d48b4 100644 +--- a/src/nvim/msgpack_rpc/channel.h ++++ b/src/nvim/msgpack_rpc/channel.h +@@ -15,7 +15,7 @@ + /// HACK: os/input.c drains this queue immediately before blocking for input. + /// Events on this queue are async-safe, but they need the resolved state + /// of os_inchar(), so they are processed "just-in-time". +-MultiQueue *ch_before_blocking_events; ++EXTERN MultiQueue *ch_before_blocking_events INIT(= NULL); + + + #ifdef INCLUDE_GENERATED_DECLARATIONS + +From 823b2104c3e579e8c3db8baab263dca0aa9d48bc Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Mon, 17 Feb 2020 17:29:12 +0100 +Subject: [PATCH 5/6] nvim: Correctly setup global channels + +As gcc10 uses -fno-common by default, global variables declared with the +same name more than once is not allowed anymore revealing this issue. + +We need to define it as extern to access it. + +See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680 +--- + src/nvim/channel.c | 1 - + src/nvim/channel.h | 2 +- + src/nvim/main.c | 1 + + 3 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/nvim/channel.c b/src/nvim/channel.c +index c66a0682e35..5eb29a7290c 100644 +--- a/src/nvim/channel.c ++++ b/src/nvim/channel.c +@@ -19,7 +19,6 @@ + #include "nvim/ascii.h" + + static bool did_stdio = false; +-PMap(uint64_t) *channels = NULL; + + /// next free id for a job or rpc channel + /// 1 is reserved for stdio channel +diff --git a/src/nvim/channel.h b/src/nvim/channel.h +index c733e276bef..9d26852ce53 100644 +--- a/src/nvim/channel.h ++++ b/src/nvim/channel.h +@@ -85,7 +85,7 @@ struct Channel { + bool callback_scheduled; + }; + +-EXTERN PMap(uint64_t) *channels; ++EXTERN PMap(uint64_t) *channels INIT(= NULL); + + #ifdef INCLUDE_GENERATED_DECLARATIONS + # include "channel.h.generated.h" +diff --git a/src/nvim/main.c b/src/nvim/main.c +index 56d9030a7f4..4a9f2371a29 100644 +--- a/src/nvim/main.c ++++ b/src/nvim/main.c +@@ -10,6 +10,7 @@ + #include + + #include "nvim/ascii.h" ++#include "nvim/channel.h" + #include "nvim/vim.h" + #include "nvim/main.h" + #include "nvim/aucmd.h" + +From 0504f2f88dac9a4cf1fe1052a1e00ab203e9cf8e Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Mon, 17 Feb 2020 18:04:01 +0100 +Subject: [PATCH 6/6] cmake: Check for -fno-common and use it if available + +--- + CMakeLists.txt | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index de530bb4f7d..74e161d9890 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -308,6 +308,11 @@ if(UNIX) + endif() + endif() + ++check_c_compiler_flag(-fno-common HAVE_FNO_COMMON) ++if (HAVE_FNO_COMMON) ++ add_compile_options(-fno-common) ++endif() ++ + check_c_compiler_flag(-fdiagnostics-color=auto HAS_DIAG_COLOR_FLAG) + if(HAS_DIAG_COLOR_FLAG) + if(CMAKE_GENERATOR MATCHES "Ninja") diff --git a/neovim.spec b/neovim.spec index bf6d74f..10d79ad 100644 --- a/neovim.spec +++ b/neovim.spec @@ -13,7 +13,7 @@ Name: neovim Version: 0.4.3 -Release: 1%{?dist} +Release: 2%{?dist} License: ASL 2.0 Summary: Vim-fork focused on extensibility and agility @@ -22,7 +22,10 @@ Url: https://neovim.io Source0: https://github.com/neovim/neovim/archive/v%{version}/%{name}-%{version}.tar.gz Source1: sysinit.vim Source2: spec-template -Patch0: neovim-0.1.7-bitop.patch + +Patch0: https://patch-diff.githubusercontent.com/raw/neovim/neovim/pull/11890.patch + +Patch1000: neovim-0.1.7-bitop.patch BuildRequires: gcc-c++ BuildRequires: cmake @@ -77,8 +80,10 @@ parts of Vim, without compromise, and more. %prep %setup -q +%patch0 -p1 + %if %{without luajit} -%patch0 -p1 -b .bitop +%patch1000 -p1 -b .bitop %endif %build @@ -1587,6 +1592,9 @@ install -m0644 runtime/nvim.png %{buildroot}%{_datadir}/pixmaps/nvim.png %{_datadir}/nvim/runtime/tutor/en/vim-01-beginner.tutor.json %changelog +* Sun Feb 23 2020 Andreas Schneider - 0.4.3-2 +- Fix bulding with -fno-common + * Thu Nov 07 2019 Andreas Schneider - 0.4.3-1 - Update to version 0.4.3