diff --git a/app-editors/neovim/licenses/Vim b/app-editors/neovim/licenses/Vim new file mode 100644 index 000000000..e445bcb9a --- /dev/null +++ b/app-editors/neovim/licenses/Vim @@ -0,0 +1,76 @@ +I) There are no restrictions on distributing unmodified copies of Vim except + that they must include this license text. You can also distribute + unmodified parts of Vim, likewise unrestricted except that they must + include this license text. You are also allowed to include executables + that you made from the unmodified Vim sources, plus your own usage + examples and Vim scripts. + +II) It is allowed to distribute a modified (or extended) version of Vim, + including executables and/or source code, when the following four + conditions are met: + 1) This license text must be included unmodified. + 2) The modified Vim must be distributed in one of the following five ways: + a) If you make changes to Vim yourself, you must clearly describe in + the distribution how to contact you. When the maintainer asks you + (in any way) for a copy of the modified Vim you distributed, you + must make your changes, including source code, available to the + maintainer without fee. The maintainer reserves the right to + include your changes in the official version of Vim. What the + maintainer will do with your changes and under what license they + will be distributed is negotiable. If there has been no negotiation + then this license, or a later version, also applies to your changes. + The current maintainer is Bram Moolenaar . If this + changes it will be announced in appropriate places (most likely + vim.sf.net, www.vim.org and/or comp.editors). When it is completely + impossible to contact the maintainer, the obligation to send him + your changes ceases. Once the maintainer has confirmed that he has + received your changes they will not have to be sent again. + b) If you have received a modified Vim that was distributed as + mentioned under a) you are allowed to further distribute it + unmodified, as mentioned at I). If you make additional changes the + text under a) applies to those changes. + c) Provide all the changes, including source code, with every copy of + the modified Vim you distribute. This may be done in the form of a + context diff. You can choose what license to use for new code you + add. The changes and their license must not restrict others from + making their own changes to the official version of Vim. + d) When you have a modified Vim which includes changes as mentioned + under c), you can distribute it without the source code for the + changes if the following three conditions are met: + - The license that applies to the changes permits you to distribute + the changes to the Vim maintainer without fee or restriction, and + permits the Vim maintainer to include the changes in the official + version of Vim without fee or restriction. + - You keep the changes for at least three years after last + distributing the corresponding modified Vim. When the maintainer + or someone who you distributed the modified Vim to asks you (in + any way) for the changes within this period, you must make them + available to him. + - You clearly describe in the distribution how to contact you. This + contact information must remain valid for at least three years + after last distributing the corresponding modified Vim, or as long + as possible. + e) When the GNU General Public License (GPL) applies to the changes, + you can distribute the modified Vim under the GNU GPL version 2 or + any later version. + 3) A message must be added, at least in the output of the ":version" + command and in the intro screen, such that the user of the modified Vim + is able to see that it was modified. When distributing as mentioned + under 2)e) adding the message is only required for as far as this does + not conflict with the license used for the changes. + 4) The contact information as required under 2)a) and 2)d) must not be + removed or changed, except that the person himself can make + corrections. + +III) If you distribute a modified version of Vim, you are encouraged to use + the Vim license for your changes and make them available to the + maintainer, including the source code. The preferred way to do this is + by e-mail or by uploading the files to a server and e-mailing the URL. + If the number of changes is small (e.g., a modified Makefile) e-mailing a + context diff will do. The e-mail address to be used is + + +IV) It is not allowed to remove this license from the distribution of the Vim + sources, parts of it or from a modified version. You may use this + license for previous Vim releases instead of the license that they came + with, at your option. diff --git a/app-editors/neovim/neovim-0.12.0~git.recipe b/app-editors/neovim/neovim-0.12.0~git.recipe new file mode 100644 index 000000000..e74803741 --- /dev/null +++ b/app-editors/neovim/neovim-0.12.0~git.recipe @@ -0,0 +1,129 @@ +SUMMARY="Editor based on Vim" +DESCRIPTION="Fork of Vim aiming to improve user experience, plugins, and GUIs" +HOMEPAGE="https://neovim.io" +COPYRIGHT="Neovim contributors" +LICENSE="Apache v2 +Vim" +REVISION="1" +srcGitRev="10c11c4644e30f06b5d3029b72b2a945b654ca22" + +SOURCE_URI="https://github.com/neovim/neovim/archive/$srcGitRev.tar.gz" +CHECKSUM_SHA256="0c76533552a99d591381e226d90c60a9005fcf145a2e0429e234c9caafd78ca1" +SOURCE_DIR="neovim-$srcGitRev" + +SOURCE_URI_2="https://github.com/lunarmodules/lua-compat-5.3/archive/v0.13.tar.gz#noarchive" +CHECKSUM_SHA256_2="f5dc30e7b1fda856ee4d392be457642c1f0c259264a9b9bfbcb680302ce88fc2" + +SOURCE_URI_3="https://github.com/luvit/luv/archive/1.51.0-1.tar.gz#noarchive" +CHECKSUM_SHA256_3="d4a11178ae8e16ba5886799ea91905dd9b0b479c75aebd67866d37373e41526f" + +srcGitRev4="d495ee6f79e7962a53ad79670cb92488abe0b9b4" +SOURCE_URI_4="https://github.com/neovim/deps/raw/$srcGitRev4/opt/lpeg-1.1.0.tar.gz#noarchive" +CHECKSUM_SHA256_4="4b155d67d2246c1ffa7ad7bc466c1ea899bbc40fef0257cc9c03cecbaed4352a" + +SOURCE_URI_5="https://github.com/tree-sitter/tree-sitter-c/archive/v0.24.1.tar.gz#noarchive" +CHECKSUM_SHA256_5="25dd4bb3dec770769a407e0fc803f424ce02c494a56ce95fedc525316dcf9b48" + +SOURCE_URI_6="https://github.com/tree-sitter-grammars/tree-sitter-lua/archive/v0.4.0.tar.gz#noarchive" +CHECKSUM_SHA256_6="b0977aced4a63bb75f26725787e047b8f5f4a092712c840ea7070765d4049559" + +SOURCE_URI_7="https://github.com/tree-sitter-grammars/tree-sitter-vim/archive/v0.7.0.tar.gz#noarchive" +CHECKSUM_SHA256_7="44eabc31127c4feacda19f2a05a5788272128ff561ce01093a8b7a53aadcc7b2" + +SOURCE_URI_8="https://github.com/neovim/tree-sitter-vimdoc/archive/v4.0.0.tar.gz#noarchive" +CHECKSUM_SHA256_8="8096794c0f090b2d74b7bff94548ac1be3285b929ec74f839bd9b3ff4f4c6a0b" + +# XXX: neovim pulls v0.7.0 instead, however this is breaks haikuporter, so we pull the raw commit instead +srcGitRev9="60e253d3c9d6b1131a0f75c85e4bdcc9a48d5b42" +SOURCE_URI_9="https://github.com/tree-sitter-grammars/tree-sitter-query/archive/$srcGitRev9.tar.gz#noarchive" +CHECKSUM_SHA256_9="b43e668d7e45a162361f5ffc584c9e01bbc07b6d1210334dbc37ce9788733320" + +SOURCE_URI_10="https://github.com/tree-sitter-grammars/tree-sitter-markdown/archive/v0.5.1.tar.gz#noarchive" +CHECKSUM_SHA256_10="acaffe5a54b4890f1a082ad6b309b600b792e93fc6ee2903d022257d5b15e216" + +SOURCE_URI_11="https://github.com/tree-sitter/tree-sitter/archive/v0.25.10.tar.gz#noarchive" +CHECKSUM_SHA256_11="ad5040537537012b16ef6e1210a572b927c7cdc2b99d1ee88d44a7dcdc3ff44c" + +SOURCE_URI_12="https://github.com/juliastrings/utf8proc/archive/v2.11.1.tar.gz#noarchive" +CHECKSUM_SHA256_12="dc146fd279eacbbf399d3f70932ce66f516aac2d13f8ec2d26a30f8ed70aa5b4" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + neovim$secondaryArchSuffix = $portVersion + cmd:nvim = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix + lib:libiconv$secondaryArchSuffix + lib:libintl$secondaryArchSuffix + lib:libluajit_5.1$secondaryArchSuffix + lib:libunibilium$secondaryArchSuffix + lib:libuv$secondaryArchSuffix + luajit$secondaryArchSuffix + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libiconv${secondaryArchSuffix} + devel:libintl$secondaryArchSuffix + devel:libluajit_5.1$secondaryArchSuffix + devel:libunibilium$secondaryArchSuffix + devel:libuv$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:gcc$secondaryArchSuffix + cmd:make + cmd:sed + " + +PATCHES=" + neovim-0.12.0~git.patchset + " + +BUILD() +{ + sed -i ./cmake.deps/deps.txt \ + -e "s|\$LUACOMPAT|$(find $sourceDir2/*)|" + sed -i ./cmake.deps/deps.txt \ + -e "s|\$LUV|$(find $sourceDir3/*)|" + sed -i ./cmake.deps/deps.txt \ + -e "s|\$LPEG|$(find $sourceDir4/*)|" + sed -i ./cmake.deps/deps.txt \ + -e "s|\$TREESITTERC|$(find $sourceDir5/*)|" + sed -i ./cmake.deps/deps.txt \ + -e "s|\$TREESITTERLUA|$(find $sourceDir6/*)|" + sed -i ./cmake.deps/deps.txt \ + -e "s|\$TREESITTERVIM|$(find $sourceDir7/*)|" + sed -i ./cmake.deps/deps.txt \ + -e "s|\$TREESITTERVIMDOC|$(find $sourceDir8/*)|" + sed -i ./cmake.deps/deps.txt \ + -e "s|\$TREESITTERQUERY|$(find $sourceDir9/*)|" + sed -i ./cmake.deps/deps.txt \ + -e "s|\$TREESITTERMD|$(find $sourceDir10/*)|" + sed -i ./cmake.deps/deps.txt \ + -e "s|\$TREESITTER|$(find $sourceDir11/*)|" + sed -i ./cmake.deps/deps.txt \ + -e "s|\$UTF8PROC|$(find $sourceDir12/*)|" + + cmake -DUSE_BUNDLED_LIBUV=OFF \ + -DUSE_BUNDLED_UNIBILIUM=OFF \ + -DUSE_BUNDLED_LUAJIT=OFF \ + -DCMAKE_BUILD_TYPE=Release \ + $cmakeDirArgs \ + -B .deps ./cmake.deps + make -C .deps $jobArgs + + cmake . \ + -DCMAKE_BUILD_TYPE=Release \ + $cmakeDirArgs \ + -B build + make -C build $jobArgs +} + +INSTALL() +{ + make -C build install $jobArgs +} diff --git a/app-editors/neovim/patches/neovim-0.12.0~git.patchset b/app-editors/neovim/patches/neovim-0.12.0~git.patchset new file mode 100644 index 000000000..e8826f896 --- /dev/null +++ b/app-editors/neovim/patches/neovim-0.12.0~git.patchset @@ -0,0 +1,78 @@ +From d9889eb399a7bc549008e7d20b430989730bd710 Mon Sep 17 00:00:00 2001 +From: user0-07161 +Date: Tue, 25 Nov 2025 16:23:24 +0000 +Subject: [PATCH] allow using files downloaded by haiku + +--- + cmake.deps/CMakeLists.txt | 2 +- + cmake.deps/deps.txt | 22 +++++++++++----------- + 2 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/cmake.deps/CMakeLists.txt b/cmake.deps/CMakeLists.txt +index 4189eb4..59fd2b3 100644 +--- a/cmake.deps/CMakeLists.txt ++++ b/cmake.deps/CMakeLists.txt +@@ -21,7 +21,7 @@ include(Util) + # User settings + #------------------------------------------------------------------------------- + +-set(DEPS_IGNORE_SHA FALSE) ++set(DEPS_IGNORE_SHA TRUE) + + # Options + option(USE_BUNDLED "Use bundled dependencies." ON) +diff --git a/cmake.deps/deps.txt b/cmake.deps/deps.txt +index abee83e..22becef 100644 +--- a/cmake.deps/deps.txt ++++ b/cmake.deps/deps.txt +@@ -10,13 +10,13 @@ LUA_SHA256 2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333 + UNIBILIUM_URL https://github.com/neovim/unibilium/archive/v2.1.2.tar.gz + UNIBILIUM_SHA256 370ecb07fbbc20d91d1b350c55f1c806b06bf86797e164081ccc977fc9b3af7a + +-LUV_URL https://github.com/luvit/luv/archive/1.51.0-1.tar.gz ++LUV_URL file://$LUV + LUV_SHA256 d4a11178ae8e16ba5886799ea91905dd9b0b479c75aebd67866d37373e41526f + +-LPEG_URL https://github.com/neovim/deps/raw/d495ee6f79e7962a53ad79670cb92488abe0b9b4/opt/lpeg-1.1.0.tar.gz ++LPEG_URL file://$LPEG + LPEG_SHA256 4b155d67d2246c1ffa7ad7bc466c1ea899bbc40fef0257cc9c03cecbaed4352a + +-LUA_COMPAT53_URL https://github.com/lunarmodules/lua-compat-5.3/archive/v0.13.tar.gz ++LUA_COMPAT53_URL file://$LUACOMPAT + LUA_COMPAT53_SHA256 f5dc30e7b1fda856ee4d392be457642c1f0c259264a9b9bfbcb680302ce88fc2 + + XXD_URL https://github.com/neovim/deps/raw/21c5e8bdda33521a6ed497b315e03265a2785cbc/opt/xxd.exe +@@ -31,22 +31,22 @@ GETTEXT_SHA256 66415634c6e8c3fa8b71362879ec7575e27da43da562c798a8a2f223e6e47f5c + LIBICONV_URL https://github.com/neovim/deps/raw/b9bf36eb31f27e8136d907da38fa23518927737e/opt/libiconv-1.17.tar.gz + LIBICONV_SHA256 8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313 + +-UTF8PROC_URL https://github.com/juliastrings/utf8proc/archive/v2.11.1.tar.gz ++UTF8PROC_URL file://$UTF8PROC + UTF8PROC_SHA256 dc146fd279eacbbf399d3f70932ce66f516aac2d13f8ec2d26a30f8ed70aa5b4 + +-TREESITTER_C_URL https://github.com/tree-sitter/tree-sitter-c/archive/v0.24.1.tar.gz ++TREESITTER_C_URL file://$TREESITTERC + TREESITTER_C_SHA256 25dd4bb3dec770769a407e0fc803f424ce02c494a56ce95fedc525316dcf9b48 +-TREESITTER_LUA_URL https://github.com/tree-sitter-grammars/tree-sitter-lua/archive/v0.4.0.tar.gz ++TREESITTER_LUA_URL file://$TREESITTERLUA + TREESITTER_LUA_SHA256 b0977aced4a63bb75f26725787e047b8f5f4a092712c840ea7070765d4049559 +-TREESITTER_VIM_URL https://github.com/tree-sitter-grammars/tree-sitter-vim/archive/v0.7.0.tar.gz ++TREESITTER_VIM_URL file://$TREESITTERVIM + TREESITTER_VIM_SHA256 44eabc31127c4feacda19f2a05a5788272128ff561ce01093a8b7a53aadcc7b2 +-TREESITTER_VIMDOC_URL https://github.com/neovim/tree-sitter-vimdoc/archive/v4.0.0.tar.gz ++TREESITTER_VIMDOC_URL file://$TREESITTERLUA + TREESITTER_VIMDOC_SHA256 8096794c0f090b2d74b7bff94548ac1be3285b929ec74f839bd9b3ff4f4c6a0b +-TREESITTER_QUERY_URL https://github.com/tree-sitter-grammars/tree-sitter-query/archive/v0.7.0.tar.gz ++TREESITTER_QUERY_URL file://$TREESITTERQUERY + TREESITTER_QUERY_SHA256 79285847e8350ee9fe1f6f6c9eb64bc14320f70f7b9b65037193fc58f2638613 +-TREESITTER_MARKDOWN_URL https://github.com/tree-sitter-grammars/tree-sitter-markdown/archive/v0.5.1.tar.gz ++TREESITTER_MARKDOWN_URL file://$TREESITTERMD + TREESITTER_MARKDOWN_SHA256 acaffe5a54b4890f1a082ad6b309b600b792e93fc6ee2903d022257d5b15e216 +-TREESITTER_URL https://github.com/tree-sitter/tree-sitter/archive/v0.25.10.tar.gz ++TREESITTER_URL file://$TREESITTER + TREESITTER_SHA256 ad5040537537012b16ef6e1210a572b927c7cdc2b99d1ee88d44a7dcdc3ff44c + + WASMTIME_URL https://github.com/bytecodealliance/wasmtime/archive/v29.0.1.tar.gz +-- +2.51.0 +