diff --git a/packages/emacs/backport-tree-sitter-0.26-support.patch b/packages/emacs/backport-tree-sitter-0.26-support.patch
new file mode 100644
index 00000000000..39756c39863
--- /dev/null
+++ b/packages/emacs/backport-tree-sitter-0.26-support.patch
@@ -0,0 +1,93 @@
+diff --git a/src/treesit.c b/src/treesit.c
+index e2986c186b8..f87f4654209 100644
+--- a/src/treesit.c
++++ b/src/treesit.c
+@@ -34,7 +34,11 @@ along with GNU Emacs. If not, see . */
+ # include "w32common.h"
+
+ /* In alphabetical order. */
++#if TREE_SITTER_LANGUAGE_VERSION >= 15
++#undef ts_language_abi_version
++#else
+ #undef ts_language_version
++#endif
+ #undef ts_node_child
+ #undef ts_node_child_by_field_name
+ #undef ts_node_child_count
+@@ -89,7 +93,11 @@ along with GNU Emacs. If not, see . */
+ #undef ts_tree_get_changed_ranges
+ #undef ts_tree_root_node
+
++#if TREE_SITTER_LANGUAGE_VERSION >= 15
++DEF_DLL_FN (uint32_t, ts_language_abi_version, (const TSLanguage *));
++#else
+ DEF_DLL_FN (uint32_t, ts_language_version, (const TSLanguage *));
++#endif
+ DEF_DLL_FN (TSNode, ts_node_child, (TSNode, uint32_t));
+ DEF_DLL_FN (TSNode, ts_node_child_by_field_name,
+ (TSNode, const char *, uint32_t));
+@@ -166,7 +174,11 @@ init_treesit_functions (void)
+ if (!library)
+ return false;
+
++#if TREE_SITTER_LANGUAGE_VERSION >= 15
++ LOAD_DLL_FN (library, ts_language_abi_version);
++#else
+ LOAD_DLL_FN (library, ts_language_version);
++#endif
+ LOAD_DLL_FN (library, ts_node_child);
+ LOAD_DLL_FN (library, ts_node_child_by_field_name);
+ LOAD_DLL_FN (library, ts_node_child_count);
+@@ -224,7 +236,11 @@ init_treesit_functions (void)
+ return true;
+ }
+
++#if TREE_SITTER_LANGUAGE_VERSION >= 15
++#define ts_language_abi_version fn_ts_language_abi_version
++#else
+ #define ts_language_version fn_ts_language_version
++#endif
+ #define ts_node_child fn_ts_node_child
+ #define ts_node_child_by_field_name fn_ts_node_child_by_field_name
+ #define ts_node_child_count fn_ts_node_child_count
+@@ -632,6 +648,22 @@ treesit_load_language_push_for_each_suffix (Lisp_Object lib_base_name,
+ }
+ }
+
++/* This function is a compatibility shim. Tree-sitter 0.25 introduced
++ ts_language_abi_version as a replacement for ts_language_version, and
++ tree-sitter 0.26 removed ts_language_version. Here we use the fact
++ that 0.25 bumped TREE_SITTER_LANGUAGE_VERSION to 15, to use the new
++ function instead of the old one, when Emacs is compiled against
++ tree-sitter version 0.25 or newer. */
++static uint32_t
++treesit_language_abi_version (const TSLanguage *ts_lang)
++{
++#if TREE_SITTER_LANGUAGE_VERSION >= 15
++ return ts_language_abi_version (ts_lang);
++#else
++ return ts_language_version (ts_lang);
++#endif
++}
++
+ /* Load the dynamic library of LANGUAGE_SYMBOL and return the pointer
+ to the language definition.
+
+@@ -746,7 +778,7 @@ treesit_load_language (Lisp_Object language_symbol,
+ {
+ *signal_symbol = Qtreesit_load_language_error;
+ *signal_data = list2 (Qversion_mismatch,
+- make_fixnum (ts_language_version (lang)));
++ make_fixnum (treesit_language_abi_version (lang)));
+ return NULL;
+ }
+ return lang;
+@@ -817,7 +849,7 @@ Return nil if a grammar library for LANGUAGE is not available. */)
+ &signal_data);
+ if (ts_language == NULL)
+ return Qnil;
+- uint32_t version = ts_language_version (ts_language);
++ uint32_t version = treesit_language_abi_version (ts_language);
+ return make_fixnum((ptrdiff_t) version);
+ }
+ }
diff --git a/packages/emacs/build.sh b/packages/emacs/build.sh
index 293ade340bd..d73053b4fa9 100644
--- a/packages/emacs/build.sh
+++ b/packages/emacs/build.sh
@@ -4,6 +4,7 @@ TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER="@termux"
# Update both emacs and emacs-x to the same version in one PR.
TERMUX_PKG_VERSION=30.2
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://mirrors.kernel.org/gnu/emacs/emacs-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_SHA256=b3f36f18a6dd2715713370166257de2fae01f9d38cfe878ced9b1e6ded5befd9
TERMUX_PKG_DEPENDS="libgmp, libgnutls, libsqlite, libxml2, ncurses, tree-sitter, zlib"
diff --git a/packages/neovim-nightly/build.sh b/packages/neovim-nightly/build.sh
index 19a6f64369b..abf080316ad 100644
--- a/packages/neovim-nightly/build.sh
+++ b/packages/neovim-nightly/build.sh
@@ -4,7 +4,7 @@ TERMUX_PKG_LICENSE="Apache-2.0, VIM License"
TERMUX_PKG_LICENSE_FILE="LICENSE.txt"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.12.0~dev-2727+gad4bc2d90c"
-TERMUX_PKG_REVISION=1
+TERMUX_PKG_REVISION=2
TERMUX_PKG_SRCURL="https://github.com/neovim/neovim/archive/${TERMUX_PKG_VERSION##*+g}.tar.gz"
TERMUX_PKG_SHA256=0be29fc6a29b49ccf95aa9cad083c22e884b7b6c9c94a51790afebb9d660b5ba
TERMUX_PKG_REPOLOGY_METADATA_VERSION="${TERMUX_PKG_VERSION%%~*}"
diff --git a/packages/neovim/add-target-to-gen-preprocessing.diff b/packages/neovim/add-target-to-gen-preprocessing.diff
deleted file mode 100644
index 2cfa5c262f2..00000000000
--- a/packages/neovim/add-target-to-gen-preprocessing.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/nvim/CMakeLists.txt
-+++ b/src/nvim/CMakeLists.txt
-@@ -494,6 +494,8 @@ if(MSVC)
- list(APPEND gen_cflags -wd4003)
- endif()
-
-+list(APPEND gen_cflags --target=@TARGET@)
-+
- set(NVIM_VERSION_GIT_H ${PROJECT_BINARY_DIR}/cmake.config/auto/versiondef_git.h)
- add_custom_target(update_version_stamp
- COMMAND ${CMAKE_COMMAND}
diff --git a/packages/neovim/build.sh b/packages/neovim/build.sh
index 0d3df1abba3..13d0fc5a937 100644
--- a/packages/neovim/build.sh
+++ b/packages/neovim/build.sh
@@ -4,6 +4,7 @@ TERMUX_PKG_LICENSE="Apache-2.0, VIM License"
TERMUX_PKG_LICENSE_FILE="LICENSE.txt"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.12.0"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL="https://github.com/neovim/neovim/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=76b4875fc1a4805a807a9fa53ff0c8fb081620137a40fb879b32436e375aeb65
TERMUX_PKG_DEPENDS="libandroid-support, libiconv, libmsgpack, libunibilium, libuv, libvterm (>= 1:0.3-0), lua51-lpeg, luajit, luv, tree-sitter, tree-sitter-parsers, utf8proc"
diff --git a/packages/rizin/build.sh b/packages/rizin/build.sh
index 9ed41318b38..51006294dc7 100644
--- a/packages/rizin/build.sh
+++ b/packages/rizin/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="UNIX-like reverse engineering framework and command-line
TERMUX_PKG_LICENSE="GPL-3.0, LGPL-3.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="0.8.2"
+TERMUX_PKG_REVISION=1
# Use source tarball from release assets to get all bundled projects
TERMUX_PKG_SRCURL=https://github.com/rizinorg/rizin/releases/download/v${TERMUX_PKG_VERSION}/rizin-src-v${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_DEPENDS="capstone, file, libandroid-execinfo, liblz4, liblzma, libzip, openssl, tree-sitter, xxhash, zlib, zstd"
diff --git a/packages/tree-sitter-bash/build.sh b/packages/tree-sitter-bash/build.sh
index f76d44d4b39..9bf43cba43b 100644
--- a/packages/tree-sitter-bash/build.sh
+++ b/packages/tree-sitter-bash/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Bash grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.25.1"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tree-sitter/tree-sitter-bash/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=2e785a761225b6c433410ef9c7b63cfb0a4e83a35a19e0f2aec140b42c06b52d
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-c/build.sh b/packages/tree-sitter-c/build.sh
index 06b9ee0e6bb..15a130ec604 100644
--- a/packages/tree-sitter-c/build.sh
+++ b/packages/tree-sitter-c/build.sh
@@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="C grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.24.1"
-TERMUX_PKG_REVISION=5
+TERMUX_PKG_REVISION=6
TERMUX_PKG_SRCURL=https://github.com/tree-sitter/tree-sitter-c/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=25dd4bb3dec770769a407e0fc803f424ce02c494a56ce95fedc525316dcf9b48
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-css/build.sh b/packages/tree-sitter-css/build.sh
index 34a0d97cb66..be045e2b641 100644
--- a/packages/tree-sitter-css/build.sh
+++ b/packages/tree-sitter-css/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="CSS grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.25.0"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tree-sitter/tree-sitter-css/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=03965344d8c0435dc54fb45b281578420bb7db8b99df4d34e7e74105a274cb79
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-go/build.sh b/packages/tree-sitter-go/build.sh
index 18258eb8a68..a6d2a62abfc 100644
--- a/packages/tree-sitter-go/build.sh
+++ b/packages/tree-sitter-go/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Golang grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.25.0"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tree-sitter/tree-sitter-go/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=2dc241b97872c53195e01b86542b411a3c1a6201d9c946c78d5c60c063bba1ef
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-html/build.sh b/packages/tree-sitter-html/build.sh
index 0f9da06c6db..5a32e960eb9 100644
--- a/packages/tree-sitter-html/build.sh
+++ b/packages/tree-sitter-html/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="HTML grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.23.2"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tree-sitter/tree-sitter-html/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=21fa4f2d4dcb890ef12d09f4979a0007814f67f1c7294a9b17b0108a09e45ef7
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-java/build.sh b/packages/tree-sitter-java/build.sh
index d34d9c91a90..090a79e9396 100644
--- a/packages/tree-sitter-java/build.sh
+++ b/packages/tree-sitter-java/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Java grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.23.5"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tree-sitter/tree-sitter-java/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=cb199e0faae4b2c08425f88cbb51c1a9319612e7b96315a174a624db9bf3d9f0
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-javascript/build.sh b/packages/tree-sitter-javascript/build.sh
index 9f93b11e86f..d841aba1f10 100644
--- a/packages/tree-sitter-javascript/build.sh
+++ b/packages/tree-sitter-javascript/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="JavaScript grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.25.0"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tree-sitter/tree-sitter-javascript/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=9712fc283d3dc01d996d20b6392143445d05867a7aad76fdd723824468428b86
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-json/build.sh b/packages/tree-sitter-json/build.sh
index ceda368bf37..3f389998fe4 100644
--- a/packages/tree-sitter-json/build.sh
+++ b/packages/tree-sitter-json/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="JSON grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.24.8"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tree-sitter/tree-sitter-json/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=acf6e8362457e819ed8b613f2ad9a0e1b621a77556c296f3abea58f7880a9213
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-latex/build.sh b/packages/tree-sitter-latex/build.sh
index b384a4cce53..1fe4b2e8708 100644
--- a/packages/tree-sitter-latex/build.sh
+++ b/packages/tree-sitter-latex/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="LaTeX grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.6.0"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/latex-lsp/tree-sitter-latex/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=90d2085c9a46f5da0918ead2fa9b764defd57c34d493f06160f796014d2fd16a
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-lua/build.sh b/packages/tree-sitter-lua/build.sh
index 06f375ab80b..09ff85ed339 100644
--- a/packages/tree-sitter-lua/build.sh
+++ b/packages/tree-sitter-lua/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Lua grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.5.0"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tree-sitter-grammars/tree-sitter-lua/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=cf01b93f4b61b96a6d27942cf28eeda4cbce7d503c3bef773a8930b3d778a2d9
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-markdown/build.sh b/packages/tree-sitter-markdown/build.sh
index 8066f63db1f..eeb20e46af6 100644
--- a/packages/tree-sitter-markdown/build.sh
+++ b/packages/tree-sitter-markdown/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Markdown grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.5.3"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tree-sitter-grammars/tree-sitter-markdown/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=df845b1ab7c7c163ec57d7fa17170c92b04be199bddab02523636efec5224ab6
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-parsers/build.sh b/packages/tree-sitter-parsers/build.sh
index a63ef8e9dba..2cfa5a91434 100644
--- a/packages/tree-sitter-parsers/build.sh
+++ b/packages/tree-sitter-parsers/build.sh
@@ -2,7 +2,7 @@ TERMUX_PKG_HOMEPAGE=https://github.com/termux/termux-packages
TERMUX_PKG_DESCRIPTION="A metapackage that provides commonly used treesitter parsers"
TERMUX_PKG_LICENSE="Public Domain"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
-TERMUX_PKG_VERSION=0.1.0
+TERMUX_PKG_VERSION=0.26
TERMUX_PKG_SKIP_SRC_EXTRACT=true
TERMUX_PKG_PLATFORM_INDEPENDENT=true
TERMUX_PKG_AUTO_UPDATE=false
diff --git a/packages/tree-sitter-python/build.sh b/packages/tree-sitter-python/build.sh
index 3d802e21b0f..9db7b01e3b2 100644
--- a/packages/tree-sitter-python/build.sh
+++ b/packages/tree-sitter-python/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Python grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.25.0"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tree-sitter/tree-sitter-python/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=4609a3665a620e117acf795ff01b9e965880f81745f287a16336f4ca86cf270c
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-query/build.sh b/packages/tree-sitter-query/build.sh
index 44a5ddd86d4..1626071988c 100644
--- a/packages/tree-sitter-query/build.sh
+++ b/packages/tree-sitter-query/build.sh
@@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="TS query grammar for tree-sitter"
TERMUX_PKG_LICENSE="Apache-2.0"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.8.0"
-TERMUX_PKG_REVISION=1
+TERMUX_PKG_REVISION=2
TERMUX_PKG_SRCURL=https://github.com/tree-sitter-grammars/tree-sitter-query/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=c2b23b9a54cffcc999ded4a5d3949daf338bebb7945dece229f832332e6e6a7d
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-regex/build.sh b/packages/tree-sitter-regex/build.sh
index e53ff800eec..087ff6c9723 100644
--- a/packages/tree-sitter-regex/build.sh
+++ b/packages/tree-sitter-regex/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="RegEx grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.25.0"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tree-sitter/tree-sitter-regex/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=853200795c4cf856eba9de3f4f9abb370d22aef4fb32e8911e210bb7e4253087
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-rust/build.sh b/packages/tree-sitter-rust/build.sh
index 93407756724..1eca4c2fa7b 100644
--- a/packages/tree-sitter-rust/build.sh
+++ b/packages/tree-sitter-rust/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Rust grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.24.2"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tree-sitter/tree-sitter-rust/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=061e90a539a55a6aa65dceb0ad6425c50ab1a6e3e6d4ba430e2795ed4550f10e
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-sql/build.sh b/packages/tree-sitter-sql/build.sh
index 782d462e143..1bb5a246f36 100644
--- a/packages/tree-sitter-sql/build.sh
+++ b/packages/tree-sitter-sql/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="SQL grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.3.11"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/derekstride/tree-sitter-sql/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=1fe13cb1e50dd9da9f22aed3cb9430fc9dae05a734a6049926fc12f6d8ecd3ae
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-toml/build.sh b/packages/tree-sitter-toml/build.sh
index 877c341e298..570b3c11bf2 100644
--- a/packages/tree-sitter-toml/build.sh
+++ b/packages/tree-sitter-toml/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="TOML grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.7.0"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tree-sitter-grammars/tree-sitter-toml/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=7d52a7d4884f307aabc872867c69084d94456d8afcdc63b0a73031a8b29036dc
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-vim/build.sh b/packages/tree-sitter-vim/build.sh
index 0852817b4aa..f9b3f4d230b 100644
--- a/packages/tree-sitter-vim/build.sh
+++ b/packages/tree-sitter-vim/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="Vimscript grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.8.1"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tree-sitter-grammars/tree-sitter-vim/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=93cafb9a0269420362454ace725a118ff1c3e08dcdfdc228aa86334b54d53c2a
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-vimdoc/build.sh b/packages/tree-sitter-vimdoc/build.sh
index e96ff33a983..45d4cd83cdc 100644
--- a/packages/tree-sitter-vimdoc/build.sh
+++ b/packages/tree-sitter-vimdoc/build.sh
@@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="Tree-sitter parser for Vim help files"
TERMUX_PKG_LICENSE="Apache-2.0"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="4.1.0"
-TERMUX_PKG_REVISION=1
+TERMUX_PKG_REVISION=2
TERMUX_PKG_SRCURL=https://github.com/neovim/tree-sitter-vimdoc/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=020e8f117f648c8697fca967995c342e92dbd81dab137a115cc7555207fbc84f
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-xml/build.sh b/packages/tree-sitter-xml/build.sh
index 1493152681e..12e5bcc85a6 100644
--- a/packages/tree-sitter-xml/build.sh
+++ b/packages/tree-sitter-xml/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="XML grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.7.0"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tree-sitter-grammars/tree-sitter-xml/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=4330a6b3685c2f66d108e1df0448eb40c468518c3a66f2c1607a924c262a3eb9
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter-yaml/build.sh b/packages/tree-sitter-yaml/build.sh
index ec1766b1551..494204790a6 100644
--- a/packages/tree-sitter-yaml/build.sh
+++ b/packages/tree-sitter-yaml/build.sh
@@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="YAML grammar for tree-sitter"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
TERMUX_PKG_VERSION="0.7.2"
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/tree-sitter-grammars/tree-sitter-yaml/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=aeaff5731bb8b66c7054c8aed33cd5edea5f4cd2ac71654f3f6c2ba2073d8fac
TERMUX_PKG_AUTO_UPDATE=true
diff --git a/packages/tree-sitter/build.sh b/packages/tree-sitter/build.sh
index b20f46ead1c..5e133bd8104 100644
--- a/packages/tree-sitter/build.sh
+++ b/packages/tree-sitter/build.sh
@@ -2,10 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://tree-sitter.github.io/
TERMUX_PKG_DESCRIPTION="An incremental parsing system for programming tools"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="Joshua Kahn "
-TERMUX_PKG_VERSION="0.25.10"
-TERMUX_PKG_REVISION=2
+TERMUX_PKG_VERSION="0.26.3"
TERMUX_PKG_SRCURL=https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
-TERMUX_PKG_SHA256=ad5040537537012b16ef6e1210a572b927c7cdc2b99d1ee88d44a7dcdc3ff44c
+TERMUX_PKG_SHA256=7f4a7cf0a2cd217444063fe2a4d800bc9d21ed609badc2ac20c0841d67166550
TERMUX_PKG_BREAKS="libtreesitter"
TERMUX_PKG_REPLACES="libtreesitter"
TERMUX_PKG_AUTO_UPDATE=true
@@ -16,9 +15,13 @@ termux_pkg_auto_update() {
local latest_release
latest_release="$(termux_github_api_get_tag)"
+ # Since we specify a 'TERMUX_PKG_UPDATE_VERSION_REGEXP' we get back a range of tags.
+ # We should only return the first match against the RegEx for further checking.
if ! latest_release="$(grep --max-count=1 -oP "${TERMUX_PKG_UPDATE_VERSION_REGEXP}" <<< "${latest_release}")"; then
- echo "INFO: Tag '${latest_release}' does not look like a stable version."
- return
+ termux_error_exit <<- EOF
+ Failed to parse returned tag range.
+ $latest_release
+ EOF
fi
# Is there a new release?
@@ -27,33 +30,32 @@ termux_pkg_auto_update() {
return
fi
- if [[ "${BUILD_PACKAGES}" == "false" ]]; then
- echo "INFO: package needs to be updated to ${latest_release}."
- return
- fi
-
- # Do not forget to bump revision of reverse dependencies and rebuild them
- # after SOVERSION is changed.
- local _SOVERSION=0.25
+ # Do not forget to bump revision of reverse dependencies
+ # and rebuild them after SOVERSION has changed.
+ local _SOVERSION=0.26
# This blocks auto-updates to an incompatible SO version.
if [[ "${latest_release}" != "${_SOVERSION}".* ]]; then
- echo "Latest release is '${latest_release}'" >&2
- termux_error_exit "SOVERSION guard check failed."
+ termux_error_exit <<- EOF
+ SOVERSION guard check failed.
+ Latest release (${latest_release}) seems to contain breaking ABI changes.
+ '${latest_release}' != '${_SOVERSION}'
+ EOF
fi
+ # Bail here if we're not building packages
+ # since the step below modifies a setup script.
if [[ "${BUILD_PACKAGES}" == "false" ]]; then
echo "INFO: package needs to be updated to ${latest_release}."
return
fi
- # Figure out the new SHA256 for the `termux_setup_treesitter` function
- local TS_BIN_URL TS_TMPFILE NEW_TS_SHA256
+ # Figure out the new SHA256 for the `termux_setup_treesitter` function.
+ local TS_BIN_URL NEW_TS_SHA256
TS_BIN_URL="https://github.com/tree-sitter/tree-sitter/releases/download/v${latest_release}/tree-sitter-linux-x64.gz"
- TS_TMPFILE="$(mktemp)"
- curl -sL "$TS_BIN_URL" -o "$TS_TMPFILE"
- NEW_TS_SHA256="$(sha256sum "$TS_TMPFILE" | cut -d' ' -f1)"
+ NEW_TS_SHA256="$(curl -sL "$TS_BIN_URL" | sha256sum | cut -d' ' -f1)"
+ # Replace the SHA256 sum for the `tree-sitter` binary in `termux_setup_treesitter.sh`
sed \
-e "s|\(^\s*\)local TERMUX_TREE_SITTER_SHA256=[0-9a-f]*|\1local TERMUX_TREE_SITTER_SHA256=${NEW_TS_SHA256}|" \
-i "${TERMUX_SCRIPTDIR}/scripts/build/setup/termux_setup_treesitter.sh"
@@ -66,6 +68,10 @@ termux_step_pre_configure() {
# clash with rust host build
# causes 32bit builds to fail if set
unset CFLAGS
+
+ # error: function-like macro '__GLIBC_USE' is not defined
+ # solution borrowed from packages/oma/build.sh
+ export BINDGEN_EXTRA_CLANG_ARGS_${CARGO_TARGET_NAME//-/_}="--sysroot ${TERMUX_STANDALONE_TOOLCHAIN}/sysroot --target=${CARGO_TARGET_NAME}"
}
termux_step_post_make_install() {
diff --git a/scripts/build/setup/termux_setup_treesitter.sh b/scripts/build/setup/termux_setup_treesitter.sh
index 0f2d4c00022..cf291a0ec77 100644
--- a/scripts/build/setup/termux_setup_treesitter.sh
+++ b/scripts/build/setup/termux_setup_treesitter.sh
@@ -2,7 +2,7 @@ termux_setup_treesitter() {
local TERMUX_TREE_SITTER_VERSION
TERMUX_TREE_SITTER_VERSION="$(. "$TERMUX_SCRIPTDIR/packages/tree-sitter/build.sh"; echo "$TERMUX_PKG_VERSION")"
TERMUX_TREE_SITTER_URL="https://github.com/tree-sitter/tree-sitter/releases/download/v${TERMUX_TREE_SITTER_VERSION}/tree-sitter-linux-x64.gz"
- local TERMUX_TREE_SITTER_SHA256=8283ddba69253c698f6e987ba0e2f9285e079c8db4d36ebe1394b5bb3a0ebdfd
+ local TERMUX_TREE_SITTER_SHA256=4f65c8d9ba32a3e37198302569b3306f037f12d8313e3f28cdf1b80c9f2b3a3a
local TERMUX_TREE_SITTER_GZNAME="tree-sitter-linux-x64.gz"
local TERMUX_TREE_SITTER_URL="https://github.com/tree-sitter/tree-sitter/releases/download/v${TERMUX_TREE_SITTER_VERSION}/${TERMUX_TREE_SITTER_GZNAME}"
diff --git a/x11-packages/emacs-x/backport-tree-sitter-0.26-support.patch b/x11-packages/emacs-x/backport-tree-sitter-0.26-support.patch
new file mode 120000
index 00000000000..835ee618240
--- /dev/null
+++ b/x11-packages/emacs-x/backport-tree-sitter-0.26-support.patch
@@ -0,0 +1 @@
+../../packages/emacs/backport-tree-sitter-0.26-support.patch
\ No newline at end of file
diff --git a/x11-packages/emacs-x/build.sh b/x11-packages/emacs-x/build.sh
index 92ddc935aed..6c834011241 100644
--- a/x11-packages/emacs-x/build.sh
+++ b/x11-packages/emacs-x/build.sh
@@ -4,7 +4,7 @@ TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER="@termux"
# Update both emacs and emacs-x to the same version in one PR.
TERMUX_PKG_VERSION=30.2
-TERMUX_PKG_REVISION=1
+TERMUX_PKG_REVISION=2
TERMUX_PKG_SRCURL=https://ftpmirror.gnu.org/gnu/emacs/emacs-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_SHA256=b3f36f18a6dd2715713370166257de2fae01f9d38cfe878ced9b1e6ded5befd9
TERMUX_PKG_DEPENDS="fontconfig, freetype, gdk-pixbuf, giflib, glib, harfbuzz, libgmp, libgnutls, libice, libjpeg-turbo, libpng, librsvg, libsm, libsqlite, libtiff, libwebp, libx11, libxaw, libxcb, libxext, libxfixes, libxft, libxinerama, libxml2, libxmu, libxpm, libxrandr, libxrender, libxt, littlecms, ncurses, tree-sitter, zlib"
diff --git a/x11-packages/mogan/build.sh b/x11-packages/mogan/build.sh
index 18b0218b573..576f2d0abab 100644
--- a/x11-packages/mogan/build.sh
+++ b/x11-packages/mogan/build.sh
@@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="A structure editor forked from GNU TeXmacs"
TERMUX_PKG_LICENSE="GPL-3.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="1.2.9.8"
-TERMUX_PKG_REVISION=4
+TERMUX_PKG_REVISION=5
TERMUX_PKG_SRCURL="https://github.com/XmacsLabs/mogan/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz"
TERMUX_PKG_SHA256=70af74dad16816a8097b877dc4cd94202f35517468ab54f6ae6f84ede32746fb
TERMUX_PKG_DEPENDS="freetype, ghostscript, libandroid-complex-math, libandroid-execinfo, libandroid-spawn, libandroid-wordexp, libc++, libcurl, libgit2, libiconv, libjpeg-turbo, libpng, qt6-qtbase, qt6-qtsvg, zlib"