Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package neovim for openSUSE:Factory checked 
in at 2026-04-21 12:45:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/neovim (Old)
 and      /work/SRC/openSUSE:Factory/.neovim.new.11940 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "neovim"

Tue Apr 21 12:45:54 2026 rev:84 rq:1346504 version:0.12.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/neovim/neovim.changes    2026-01-30 
18:34:23.632019614 +0100
+++ /work/SRC/openSUSE:Factory/.neovim.new.11940/neovim.changes 2026-04-21 
12:47:52.898042473 +0200
@@ -1,0 +2,78 @@
+Sat Apr  11 19:02:06 UTC 2026 - Richard Rahl <[email protected]>
+
+- Update to version 0.12.0:
+  + diagnostic: remove deprecated diagnostic APIs
+  + editor: insert-mode ctrl-r should work like paste
+  + lsp: pass entire entry to format function
+  + lsp: reimplement `textDocument/codeLens` as decoration provider
+  + optwin.lua
+  + path: support RFC3986 in path_with_url()
+  + plugins: remove shellmenu
+  + provider: drop Python 3.7, 3.8 support
+  + runtime: move "tohtml" to pack/dist/opt/
+  + treesitter: apply `offset!` directive to all captures
+  + treesitter: get_parser return nil on error
+  + treesitter: remove "all" option of Query:iter_matches
+  + ui: decouple ext_messages from message grid
+  + full changelogs at 
https://github.com/neovim/neovim/commit/fc7e5cf6c93fef08effc183087a2c8cc9bf0d75a
+- add patch disable-version-check.patch
+
+-------------------------------------------------------------------
+Thu Apr  9 19:27:32 UTC 2026 - Matej Cepl <[email protected]>
+
+- Fix `tree-sitter-system.lua` to load system parsers from
+  `/usr/lib*/tree-sitter` using `vim.treesitter.language.add()`.
+  This restores loading of packaged parsers such as Lua.
+
+-------------------------------------------------------------------
+Thu Apr  9 14:10:04 UTC 2026 - Matej Cepl <[email protected]>
+
+- Clean up the SPEC file, remove various crutches.
+
+-------------------------------------------------------------------
+Tue Apr  7 12:00:03 UTC 2026 - Richard Rahl <[email protected]>
+
+- Update to version 0.12.1:
+  + :restart: inherit stderr fd on Unix
+  + :restart: only pass --headless when there is no UI
+  + api: avoid error when parsing invalid expr after :echo
+  + channel: crash on exit after closing v:stderr channel
+  + cmdline: redraw cmdline after empty message
+  + defaults: check for TUI on non-stdio channel on startup
+  + events: avoid recursive loop_uv_run() from vim.ui_attach() shell message
+  + help: show error when using :help! with nothing at cursor
+  + lsp: do not respond to codelens refresh if a request is already scheduled
+  + lsp: highlight snippet preview when server can't completionItem/resolve
+  + lsp: reset document color processed version on clear
+  + lsp: use `winresetview()` to avoid switching to normal mode
+  + net: handle remote archive URLs via tar/zip browse
+  + pack: avoid eager vim.version call
+  + pack: use `uv.available_parallelism()` to compute number of threads
+  + termkey: use terminfo for (shift+)left/right keys
+  + treesitter: select reset to "v" visualmode()
+  + treesitter: select with node ending with unicode char
+  + ui2: allow empty argument for enable()
+  + ui2: correct buffer reference in msg:start_timer()
+  + ui2: prevent flicker when entering pager from expanded cmdline
+  + ui2: update spill indicator when appending to expanded cmdline
+  + ui2: vim.on_key should return nil instead of false
+  + vim.net: check if vim.system's stdout is nil
+  + window: clear cmdline 'ruler' when window is closed
+  + windows: force console codepage to UTF-8 for shell/system()
+  + vim.pos: use `nvim_buf_line_count` instead of fetching all lines
+  + cmake: allow ignoring deps sha
+  + typval.c: fix wrong argument to macro
+  + revert: "refactor(process): don't read from PTY master using uv_pipe_t"
+- build unconditionally leap16.0 with lua51
+- remove reproducible workaround, as it doesn't actually make it reproducible, 
and
+  it breaks a feature in neovim
+- remove cmake workaround, as it's not needed anymore
+- enable more aarch64 tests
+
+-------------------------------------------------------------------
+Mon Apr  6 11:30:42 UTC 2026 - Matej Cepl <[email protected]>
+
+- Just use LuaJIT unconditionally (we can provide it, hopefully,
+  everywhere).
+
+-------------------------------------------------------------------

Old:
----
  neovim-0.11.6.tar.gz

New:
----
  disable-version-check.patch
  neovim-0.12.1.tar.gz

----------(New B)----------
  New:  + full changelogs at 
https://github.com/neovim/neovim/commit/fc7e5cf6c93fef08effc183087a2c8cc9bf0d75a
- add patch disable-version-check.patch
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ neovim.spec ++++++
--- /var/tmp/diff_new_pack.AJGIyp/_old  2026-04-21 12:47:54.434106190 +0200
+++ /var/tmp/diff_new_pack.AJGIyp/_new  2026-04-21 12:47:54.438106356 +0200
@@ -16,17 +16,13 @@
 #
 
 
-%ifarch %{power64} s390x
-%bcond_with luajit
-%else
-%if 0%{?suse_version} < 1699
+%if 0%{?suse_version} == 1600
 %bcond_with luajit
 %else
 %bcond_without luajit
 %endif
-%endif
 Name:           neovim
-Version:        0.11.6
+Version:        0.12.1
 Release:        0
 Summary:        Vim-fork focused on extensibility and agility
 License:        Apache-2.0 AND Vim AND GPL-3.0-or-later AND CC-BY-3.0
@@ -37,6 +33,7 @@
 Source4:        spec.vim
 Source5:        tree-sitter-system.lua
 Source10:       
https://github.com/neovim/deps/raw/06ef2b58b0876f8de1a3f5a710473dcd7afff251/opt/lua-dev-deps.tar.gz
+Patch0:         disable-version-check.patch
 BuildRequires:  cmake >= 3.16
 BuildRequires:  desktop-file-utils
 BuildRequires:  fdupes
@@ -69,7 +66,7 @@
 BuildRequires:  lua51-luv
 BuildRequires:  pkgconfig(lua5.1)
 %endif
-BuildRequires:  pkgconfig(tree-sitter) >= 0.25.3
+BuildRequires:  pkgconfig(tree-sitter) >= 0.26.1
 BuildRequires:  pkgconfig(unibilium) >= 2.1.2
 BuildRequires:  pkgconfig(vterm) >= 0.3.3
 BuildRequires:  treesitter_grammar(tree-sitter-vimdoc)
@@ -116,24 +113,11 @@
 
 %prep
 %autosetup -p1
-
-# Remove __DATE__ and __TIME__.
-BUILD_TIME=$(LC_ALL=C date -ur %{_sourcedir}/%{name}.changes +'%{H}:%{M}')
-BUILD_DATE=$(LC_ALL=C date -ur %{_sourcedir}/%{name}.changes +'%{b} %{d} %{Y}')
-sed -i "s/__TIME__/\"$BUILD_TIME\"/" $(grep -rl '__TIME__')
-sed -i "s/__DATE__/\"$BUILD_DATE\"/" $(grep -rl '__DATE__')
-
 # setup unit test dependency
 mkdir -p build/build/downloads/lua_dev_deps/
 cp %{SOURCE10} build/build/downloads/lua_dev_deps/
 
 %build
-# Remove cmake4 error due to not setting
-# min cmake version - sflees.de
-export CMAKE_POLICY_VERSION_MINIMUM=3.5
-# set vars to make build reproducible in spite of config/CMakeLists.txt
-HOSTNAME=OBS
-USERNAME=OBS
 %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
        -DPREFER_LUA=%{?with_luajit:OFF}%{!?with_luajit:ON} \
        -DLUA_PRG=%{_bindir}/%{?with_luajit:luajit}%{!?with_luajit:lua} \
@@ -173,10 +157,13 @@
 %fdupes %{buildroot}
 %find_lang nvim
 
-%ifnarch %{arm64}
 %check
 mkdir -p runtime/parser
+%if 0%{?suse_version} == 1600
 ln -sf %{_libdir}/tree_sitter/vimdoc.so runtime/parser
+%else
+ln -sf %{_libdir}/tree-sitter/libtree-sitter-vimdoc.so runtime/parser/vimdoc.so
+%endif
 
 %ifnarch %{power64} s390x
 # old tests
@@ -188,18 +175,6 @@
 %make_build USE_BUNDLED=OFF unittest
 %endif
 %endif
-%endif
-
-%post
-if [ -d %{_datadir}/nvim/runtime/parser ]; then
-if [ ! -h %{_datadir}/nvim/runtime/parser ]; then
-mv %{_datadir}/nvim/runtime/parser \
-   %{_datadir}/nvim/runtime/parser.rpmsave
-ln -sf %{_libdir}/tree_sitter %{_datadir}/nvim/runtime/parser
-fi
-else
-ln -sf %{_libdir}/tree_sitter %{_datadir}/nvim/runtime/parser
-fi
 
 %files
 %license LICENSE.txt

++++++ disable-version-check.patch ++++++
diff -rubN neovim-0.12.1/runtime/lua/vim/health/health.lua 
neovim-0.12.1-patched/runtime/lua/vim/health/health.lua
--- neovim-0.12.1/runtime/lua/vim/health/health.lua     2026-04-06 
15:12:48.000000000 +0200
+++ neovim-0.12.1-patched/runtime/lua/vim/health/health.lua     2026-04-11 
17:54:01.760083749 +0200
@@ -620,14 +620,6 @@
   local nvim_version = version_out:match('NVIM (v[^\n]+)') or 'unknown'
   local commit --[[@type string]] = (version_out:match('%+g(%x+)') or 
''):sub(1, 12)
 
-  if vim.fn.executable('git') ~= 1 then
-    vim.health.warn('Cannot check for updates: git not found')
-  elseif vim.trim(commit) ~= '' then
-    check_head_hash(commit)
-  else
-    check_stable_version(nvim_version)
-  end
-
   local os_info = vim.uv.os_uname()
   local os_string = os_info.sysname .. ' ' .. os_info.release
   local terminal = detect_terminal()

++++++ neovim-0.11.6.tar.gz -> neovim-0.12.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/neovim/neovim-0.11.6.tar.gz 
/work/SRC/openSUSE:Factory/.neovim.new.11940/neovim-0.12.1.tar.gz differ: char 
13, line 1

++++++ tree-sitter-system.lua ++++++
--- /var/tmp/diff_new_pack.AJGIyp/_old  2026-04-21 12:47:54.766119963 +0200
+++ /var/tmp/diff_new_pack.AJGIyp/_new  2026-04-21 12:47:54.794121124 +0200
@@ -1,73 +1,110 @@
 -- Universal loader for system Tree-sitter parsers with automatic filetype 
mapping
 -- Includes ABI check with detailed warning to :messages
--- Drops safely into /usr/share/nvim/runtime/plugin/
+-- Self-contained: only depends on Neovim built-ins
 
-local ok, ts_parsers = pcall(require, "nvim-treesitter.parsers")
-if not ok or not ts_parsers then
-  return
-end
-
-local parser_dir = "/usr/share/nvim/runtime/parser"
-local uv = vim.loop
-
--- Neovim Tree-sitter ABI
-local nvim_min_abi = vim.treesitter.abi or 14 -- fallback
-local nvim_max_abi = vim.treesitter.abi_max or 15
+local FILETYPE_OVERRIDES = {
+  vimdoc = 'vim',
+  tsx = 'typescript.tsx',
+  jinja2 = 'jinja',
+  wikitext = 'mediawiki',
+}
+
+-- Parsers whose exported C symbol does not match the underscore-converted
+-- language name (i.e. tree_sitter_<value> instead of tree_sitter_<lang>).
+local SYMBOL_OVERRIDES = {
+  go_sum = 'gosum',
+  gpg_config = 'gpg',
+}
+
+local uv = vim.uv
+
+-- On multilib systems both /usr/lib and /usr/lib64 may exist;
+-- pick the longest match (i.e. the native 64-bit libdir).
+local parser_dirs = vim.fn.glob('/usr/lib*/tree-sitter', false, true)
+table.sort(parser_dirs, function(a, b) return #a > #b end)
+local parser_dir = parser_dirs[1]
 
 -- Helper: convert filename to Neovim-safe language name
+---@param fname string # The filename (e.g., 'libtree-sitter-lua.so')
+---@return string? # Returns the sanitized language name or nil if no match
 local function sanitize_langname(fname)
-  local name = fname:match("(.+)%.so$")
-  if not name then return nil end
-  name = name:gsub("-", "_")
-  return name
+  -- Strip the 'libtree-sitter-' prefix and '.so' suffix
+  local name = fname:match('^libtree%-sitter%-(.+)%.so$')
+  if not name then
+    -- Fallback: just strip .so (for unexpected naming schemes)
+    name = fname:match('(.+)%.so$')
+  end
+  if name then
+    ---@cast name string
+    name = name:gsub('-', '_')
+    return name
+  else
+    vim.notify(
+      string.format('Failed to sanitize filename: %s', fname),
+      vim.log.levels.DEBUG
+    )
+    return nil
+  end
 end
 
 -- Helper: guess filetype from parser name
+---@param lang string
+---@return string
 local function guess_filetype(lang)
-  local ft = lang
-  ft = ft:gsub("_inline$", "")
-  ft = ft:gsub("_sum$", "")
-  ft = ft:gsub("%d+$", "")
-  if ft == "vimdoc" then ft = "vim" end
-  if ft == "tsx" then ft = "typescript.tsx" end
-  if ft == "jinja2" then ft = "jinja" end
-  return ft
+  local ft = lang:gsub('_inline$', ''):gsub('_sum$', ''):gsub('%d+$', '')
+  return FILETYPE_OVERRIDES[ft] or ft
 end
 
 -- Iterate over all .so files in parser_dir
+if not parser_dir then
+  vim.notify(
+    'No tree-sitter parser directory found matching /usr/lib*/tree-sitter',
+    vim.log.levels.DEBUG
+  )
+  return
+end
+
 local handle = uv.fs_scandir(parser_dir)
-if not handle then return end
+if not handle then
+  vim.notify(
+    string.format('Tree-sitter parser directory not readable: %s', parser_dir),
+    vim.log.levels.DEBUG
+  )
+  return
+end
 
 while true do
-  local name, _ = uv.fs_scandir_next(handle)
-  if not name then break end
-  if name:match("%.so$") then
-    local lang = sanitize_langname(name)
+  local filename = uv.fs_scandir_next(handle)
+  if not filename then
+    break
+  end
+
+  if filename:match('%.so$') then
+    local lang = sanitize_langname(filename)
     if lang then
-      local configs = ts_parsers.get_parser_configs()
-      if not configs[lang] then
-        local parser_path = parser_dir .. "/" .. name
-        configs[lang] = {
-          install_info = {
-            url = parser_path,
-            files = { name },
-          },
-          filetype = guess_filetype(lang),
-        }
-
-        -- ABI check: attempt to load parser
-        local loaded, parser = pcall(vim.treesitter.language.get_lang, lang)
-        if not loaded or not parser then
-          vim.schedule(function()
-            vim.notify(
-              string.format(
-                "Tree-sitter parser '%s' at %s is ABI-incompatible (Neovim 
ABI: %d-%d).",
-                lang, parser_path, nvim_min_abi, nvim_max_abi
-              ),
-              vim.log.levels.WARN
-            )
-          end)
-        end
+      local parser_path = parser_dir .. '/' .. filename
+      local symbol_name = SYMBOL_OVERRIDES[lang]
+      local ok, result = pcall(vim.treesitter.language.add, lang, {
+        path = parser_path,
+        symbol_name = symbol_name,
+      })
+
+      if ok and result then
+        local ft = guess_filetype(lang)
+        vim.treesitter.language.register(lang, ft)
+      else
+        local err = ok and 'unknown error' or tostring(result)
+        vim.schedule(function()
+          vim.notify(
+            string.format(
+              "Tree-sitter parser '%s' (%s) failed to load: %s",
+              lang,
+              parser_path,
+              err
+            ),
+            vim.log.levels.WARN
+          )
+        end)
       end
     end
   end

Reply via email to