From 9848e60089c9c5d89a88ea494a699ac7a491b633 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 2 Sep 2025 10:09:06 +0200 Subject: [PATCH 1/3] Update to version 0.11.4 - https://github.com/neovim/neovim/releases/tag/v0.11.4 - resolves: rhbz#2392274 --- .gitignore | 3 +++ neovim.spec | 9 ++++++++- sources | 6 +++--- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 4048e05..e9ab9ed 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,6 @@ /neovim-0.11.3.tar.gz /neovim-0.11.3-vendor.tar.gz /neovim-0.11.3-vendor-treesitter.tar.gz +/neovim-0.11.4.tar.gz +/neovim-0.11.4-vendor.tar.gz +/neovim-0.11.4-vendor-treesitter.tar.gz diff --git a/neovim.spec b/neovim.spec index 32cb9b5..7f53068 100644 --- a/neovim.spec +++ b/neovim.spec @@ -45,7 +45,7 @@ %endif Name: neovim -Version: 0.11.3 +Version: 0.11.4 Release: %autorelease License: Apache-2.0 AND Vim AND MIT @@ -278,6 +278,9 @@ find %{buildroot}%{_datadir} \( -name "*.bat" -o -name "*.awk" \) \ %dir %{_datadir}/nvim/runtime/lua %{_datadir}/nvim/runtime/lua/*.lua +%dir %{_datadir}/nvim/runtime/lua/nvim +%{_datadir}/nvim/runtime/lua/nvim/*.lua + %dir %{_datadir}/nvim/runtime/lua/vim %{_datadir}/nvim/runtime/lua/vim/*.lua @@ -440,5 +443,9 @@ find %{buildroot}%{_datadir} \( -name "*.bat" -o -name "*.awk" \) \ %{_datadir}/nvim/runtime/tutor/ja/*.tutor %{_datadir}/nvim/runtime/tutor/ja/*.tutor.json +%dir %{_datadir}/nvim/runtime/tutor/zh +%{_datadir}/nvim/runtime/tutor/zh/*.tutor +%{_datadir}/nvim/runtime/tutor/zh/*.tutor.json + %changelog %autochangelog diff --git a/sources b/sources index 6caa44e..a78f5d4 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (neovim-0.11.3.tar.gz) = 30be325ea364369c242d1ccc7067ccda4c64e4f89198431d1a22ad04213fd7a9aba01d41e9c7c7c35c73883e575d3e09bb928d8e450ad484814165ca1390d995 -SHA512 (neovim-0.11.3-vendor.tar.gz) = 65e11af8c8de8096ba8bcf4b08371a168ace608a30b9176c80ab57d2832aeb2ae1f05411f998f864a5ee35693fb7a0c8b1e42d71bdf2579cc99162049d6d51c8 -SHA512 (neovim-0.11.3-vendor-treesitter.tar.gz) = 5e2419f11ddf554d53942738a35057cb367c90808067294c4ae40b7bde44eb89da5e4d9c7df9a7297b132df9cd010ce093e6c286906fd0961f783a8863f4150e +SHA512 (neovim-0.11.4.tar.gz) = 15eafa31cfee04f72f87ca442382d79a5c1f2e7699709cd1f713196a09425c55bca0587afc206488c528fa707515f12f8e2bc91460126c77ab3bc8e776deba76 +SHA512 (neovim-0.11.4-vendor.tar.gz) = 7fdca462883ab3bfdaaa7aeb1beb9380c2eb537a61a6e4fb9dacde3d7a58c423af50a11dbf62579d3034453c1a595b821fccb49419f6fa935a765a2fc7b41045 +SHA512 (neovim-0.11.4-vendor-treesitter.tar.gz) = 3721bd4954df4bc47dfe9a217979cf9721b4753c4a5e2e7d153762fdb0a283251aefe03d697bd68f9497c50710de266f607ad772a6a6f6db1699a9d6941c912b From 93598766da40c612a87f2e44e20e1981703c4224 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Sun, 12 Oct 2025 17:30:53 +0200 Subject: [PATCH 2/3] Don't write logfiles when refreshing helptags - resolves: rhbz#2402743 --- neovim.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/neovim.spec b/neovim.spec index 7f53068..a882337 100644 --- a/neovim.spec +++ b/neovim.spec @@ -187,11 +187,11 @@ find %{buildroot}%{_datadir} \( -name "*.bat" -o -name "*.awk" \) \ # Refresh documentation helptags. %transfiletriggerin -- %{_datadir}/nvim/runtime/doc -%{_bindir}/nvim -u NONE -es -c ":helptags %{_datadir}/nvim/runtime/doc" -c ":q" &> /dev/null || : +NVIM_LOG_FILE=/dev/null %{_bindir}/nvim -u NONE -es -c ":helptags %{_datadir}/nvim/runtime/doc" -c ":q" &> /dev/null || : %transfiletriggerpostun -- %{_datadir}/nvim/runtime/doc > %{_datadir}/nvim/runtime/doc/tags || : -%{_bindir}/nvim -u NONE -es -c ":helptags %{_datadir}/nvim/runtime/doc" -c ":q" &> /dev/null || : +NVIM_LOG_FILE=/dev/null %{_bindir}/nvim -u NONE -es -c ":helptags %{_datadir}/nvim/runtime/doc" -c ":q" &> /dev/null || : %files -f nvim.lang %license LICENSE.txt neovim-bundled-licenses.txt From f4cbcc832a1d5805971b31575fd2b9da3af601fe Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 3 Nov 2025 09:41:38 +0100 Subject: [PATCH 3/3] Update to version 0.11.5 resolves: rhbz#2411913 --- .gitignore | 2 ++ README.md | 1 - mkvendor-treesitter.sh | 27 ---------------- mkvendor.sh | 73 ++++++++++++++++++++++++++++++------------ neovim.spec | 10 +----- sources | 5 ++- 6 files changed, 58 insertions(+), 60 deletions(-) delete mode 100644 mkvendor-treesitter.sh diff --git a/.gitignore b/.gitignore index e9ab9ed..5f5dba2 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,5 @@ /neovim-0.11.4.tar.gz /neovim-0.11.4-vendor.tar.gz /neovim-0.11.4-vendor-treesitter.tar.gz +/neovim-0.11.5.tar.gz +/neovim-0.11.5-vendor.tar.gz diff --git a/README.md b/README.md index 3e9397f..e3533c1 100644 --- a/README.md +++ b/README.md @@ -8,4 +8,3 @@ The hyper-extensible Vim-based text editor * Download the new tarball * Add the tarball with `fedpkg new-sources neovim-.tar.gz` * Run `bash mkvendor.sh` -* Run `bash mkvendor-treesitter.sh` diff --git a/mkvendor-treesitter.sh b/mkvendor-treesitter.sh deleted file mode 100644 index 5ef2d5c..0000000 --- a/mkvendor-treesitter.sh +++ /dev/null @@ -1,27 +0,0 @@ - #!/usr/bin/bash -x - -set -euo pipefail - -url=$(rpmspec -P neovim.spec | sed -En 's/^Source0:[[:space:]]+//p') -archive=$(basename "$url") -tmp=$(mktemp -d) -trap "rm -rf $tmp" EXIT - -curl -Lo "${tmp}/${archive}" "${url}" -grep -F "${archive}" sources | (cd "${tmp}" && cksum -c) -mkdir -p "${tmp}/src" -tar -zxf "${tmp}/${archive}" -C "${tmp}/src" --strip-components=1 - -cmake -S "${tmp}/src/cmake.deps" -B "${tmp}/deps" -G Ninja \ - -DUSE_BUNDLED=OFF -DUSE_BUNDLED_TS=ON -targets=$(basename -a "${tmp}/deps"/build/downloads/treesitter | \ - xargs -I {} echo build/src/{}-stamp/{}-download) -ninja -C "${tmp}/deps" ${targets} - -mv "${tmp}/${archive}" . -vendor="${archive%.tar.gz}-vendor" -tar -zcf "${vendor}-treesitter.tar.gz" -H pax --numeric-owner --owner=0:0 \ - -C "${tmp}/deps/build/downloads" . --transform="s/^\\./${vendor}-treesitter/" - -echo -echo "Run: fedpkg new-sources ${archive} ${vendor}.tar.gz ${vendor}-treesitter.tar.gz" diff --git a/mkvendor.sh b/mkvendor.sh index c030923..69152c9 100644 --- a/mkvendor.sh +++ b/mkvendor.sh @@ -1,28 +1,61 @@ - #!/usr/bin/bash -x +#!/usr/bin/bash -x set -euo pipefail -url=$(rpmspec -P neovim.spec | sed -En 's/^Source0:[[:space:]]+//p') -archive=$(basename "$url") -tmp=$(mktemp -d) -trap "rm -rf $tmp" EXIT +nvim_url="$(rpmspec -P neovim.spec | sed -En 's/^Source0:[[:space:]]+//p')" +nvim_archive="$(basename "$nvim_url")" +nvim_tmpdir="$(mktemp --tmpdir -d nvim-XXXXXXXX)" +nvim_srcdir="$(pwd)" -curl -Lo "${tmp}/${archive}" "${url}" -grep -F "${archive}" sources | (cd "${tmp}" && cksum -c) -mkdir -p "${tmp}/src" -tar -zxf "${tmp}/${archive}" -C "${tmp}/src" --strip-components=1 +cleanup_tmpdir() { + popd 2>/dev/null || true + rm -rf "${nvim_tmpdir}" +} +trap cleanup_tmpdir SIGINT -cmake -S "${tmp}/src/cmake.deps" -B "${tmp}/deps" -G Ninja \ - -DUSE_BUNDLED=OFF -DUSE_BUNDLED_TS_PARSERS=ON -targets=$(basename -a "${tmp}/deps"/build/downloads/treesitter_* | \ - xargs -I {} echo build/src/{}-stamp/{}-download) -ninja -C "${tmp}/deps" ${targets} +cleanup_and_exit() { + cleanup_tmpdir + if test "$1" = 0 -o -z "$1" ; then + exit 0 + else + exit "${1}" + fi +} -mv "${tmp}/${archive}" . -vendor="${archive%.tar.gz}-vendor" -tar -zcf "${vendor}.tar.gz" -H pax --numeric-owner --owner=0:0 \ - -C "${tmp}/deps/build/downloads" . --transform="s/^\\./${vendor}/" +if [ ! -w "${nvim_archive}" ]; then + curl -Lo "${nvim_archive}" "${nvim_url}" + fedpkg new-sources "${nvim_archive}" +fi + +mkdir -p "${nvim_tmpdir}/src" +tar -zxf "${nvim_srcdir}/${nvim_archive}" -C "${nvim_tmpdir}/src" --strip-components=1 + +pushd "${nvim_tmpdir}" || cleanup_and_exit 1 + +cmake \ + -S "${nvim_tmpdir}/src/cmake.deps" \ + -B "${nvim_tmpdir}/deps" -G Ninja \ + -DUSE_BUNDLED=OFF \ + -DUSE_BUNDLED_TS=ON \ + -DUSE_BUNDLED_TS_PARSERS=ON + +readarray -t targets < <(basename -a "${nvim_tmpdir}/deps/build/downloads/"treesitter* | \ + xargs -I {} echo build/src/{}-stamp/{}-download) +ninja -C "${nvim_tmpdir}/deps" "${targets[@]}" + +nvim_vendor="${nvim_archive%.tar.gz}-vendor" +nvim_vendor_archive="${nvim_vendor}.tar.gz" +tar -zcf "${nvim_srcdir}/${nvim_vendor_archive}" \ + -H pax \ + --numeric-owner \ + --owner=0:0 \ + -C "${nvim_tmpdir}/deps/build/downloads" . \ + --transform="s/^\\./${nvim_vendor}/" +popd + +cksum -a sha512 "${nvim_archive}" "${nvim_vendor_archive}" | tee sources -cksum -a sha512 "${archive}" "${vendor}.tar.gz" | tee sources echo -echo "Run: fedpkg new-sources ${archive} ${vendor}.tar.gz" +echo "Run: fedpkg new-sources ${nvim_archive} ${nvim_vendor_archive}" + +cleanup_and_exit 0 diff --git a/neovim.spec b/neovim.spec index a882337..d3e5009 100644 --- a/neovim.spec +++ b/neovim.spec @@ -45,7 +45,7 @@ %endif Name: neovim -Version: 0.11.4 +Version: 0.11.5 Release: %autorelease License: Apache-2.0 AND Vim AND MIT @@ -58,7 +58,6 @@ Source2: spec-template # Generated by mkvendor.sh Source3: %{name}-%{version}-vendor.tar.gz Source4: neovim-bundled-licenses.txt -Source5: %{name}-%{version}-vendor-treesitter.tar.gz Patch1000: neovim-lua-bit32.patch @@ -124,14 +123,7 @@ excisions, Neovim is Vim. It is built for users who want the good parts of Vim, without compromise, and more. %prep -%if %{with system_treesitter} %setup -q -b3 -%else -%setup -q -b3 -b5 - -mv ../%{name}-%{version}-vendor-treesitter/* \ - ../%{name}-%{version}-vendor/ -%endif cp %{SOURCE4} . diff --git a/sources b/sources index a78f5d4..2bb5bca 100644 --- a/sources +++ b/sources @@ -1,3 +1,2 @@ -SHA512 (neovim-0.11.4.tar.gz) = 15eafa31cfee04f72f87ca442382d79a5c1f2e7699709cd1f713196a09425c55bca0587afc206488c528fa707515f12f8e2bc91460126c77ab3bc8e776deba76 -SHA512 (neovim-0.11.4-vendor.tar.gz) = 7fdca462883ab3bfdaaa7aeb1beb9380c2eb537a61a6e4fb9dacde3d7a58c423af50a11dbf62579d3034453c1a595b821fccb49419f6fa935a765a2fc7b41045 -SHA512 (neovim-0.11.4-vendor-treesitter.tar.gz) = 3721bd4954df4bc47dfe9a217979cf9721b4753c4a5e2e7d153762fdb0a283251aefe03d697bd68f9497c50710de266f607ad772a6a6f6db1699a9d6941c912b +SHA512 (neovim-0.11.5.tar.gz) = 1b2bb241261eefd195275e28bb9ebe4102261d61d8b7fe38ccebad7131ccc38d29fae8494d511b4c440ad71ef95dc405a2ba6e98b5d47426f215c8137c8bc91f +SHA512 (neovim-0.11.5-vendor.tar.gz) = 388e8afb7919d89c7bceab3f03a49909ef307c3c2ac29d9899f5e30e475c18d453010290cc8929e5cae0a1252b2b7056a5d2bedfc9a3f3a12c0530aa52e14b0c