From 3618f6b6f97597623bd54946a9574820daa9c2fc Mon Sep 17 00:00:00 2001 From: El Mehdi YOUNES Date: Thu, 4 Sep 2025 17:09:41 +0200 Subject: [PATCH] package/bat: fix build with GCC 15 Bat pulls in the onig crate (version 6.4.0) through syntect with the default "regex-onig" feature. This crate depends on the Oniguruma C library (via onig_sys), which fails to build with GCC 15 due to C23 keyword conflicts. Newer versions of onig fix this issue, but bat cannot directly update the onig version because it is pinned by syntect. To resolve the build failure, apply a patch that replaces the "regex-onig" feature with "regex-fancy" in bat's minimal-application feature set. This switches bat to use the pure-Rust fancy-regex engine instead of Oniguruma, avoiding the problematic onig_sys dependency. Fixes: https://autobuild.buildroot.net/results/ecc/ecc3b0c83e691e9a8ed5c7ff9d0a92ee06409f20 Signed-off-by: El Mehdi YOUNES Signed-off-by: Peter Korsgaard --- ...ig-by-regex-fancy-in-minimal-applica.patch | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 package/bat/0001-Replace-regex-onig-by-regex-fancy-in-minimal-applica.patch diff --git a/package/bat/0001-Replace-regex-onig-by-regex-fancy-in-minimal-applica.patch b/package/bat/0001-Replace-regex-onig-by-regex-fancy-in-minimal-applica.patch new file mode 100644 index 0000000000..de6a3fc70c --- /dev/null +++ b/package/bat/0001-Replace-regex-onig-by-regex-fancy-in-minimal-applica.patch @@ -0,0 +1,47 @@ +From 9b6727df25e45222b3863dbe5f5bc58237b68ab9 Mon Sep 17 00:00:00 2001 +From: El Mehdi YOUNES +Date: Tue, 2 Sep 2025 14:02:11 +0200 +Subject: [PATCH] Replace regex-onig by regex-fancy in minimal-application + +The default "application" feature enables "minimal-application", which +in turn pulls in the "regex-onig" feature of syntect. This brings in the +onig crate (version 6.4.0) and its dependency onig_sys, which fail to +build with GCC 15 due to C23 keyword conflicts. + +It is not possible to simply update the onig crate from bat itself, +since its version is pinned indirectly by syntect. To avoid this +dependency and fix the build, replace "regex-onig" with "regex-fancy" in +"minimal-application". This makes bat use the pure-Rust fancy-regex +engine instead of Oniguruma, removing the need for onig_sys and allowing +the package to build with GCC 15. + +There is an an ongoing discussion about removing Oniguruma from bat +since Oniguruma has been declared archived: + +see https://github.com/sharkdp/bat/issues/3285 + +The Upstream project for now is refusing to use fancy-regex as default. + +Upstream: not submitted + +Signed-off-by: El Mehdi YOUNES +--- + Cargo.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Cargo.toml b/Cargo.toml +index 80d19321..93a07a1d 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -29,7 +29,7 @@ minimal-application = [ + "clap", + "etcetera", + "paging", +- "regex-onig", ++ "regex-fancy", + "wild", + ] + git = ["git2"] # Support indicating git modifications +-- +2.43.0 +