From 358c08e6d548fc2429328fa5db6722239392223c Mon Sep 17 00:00:00 2001 From: "riseproject-dev[bot]" <330740410+riseproject-dev[bot]@users.noreply.github.com> Date: Thu, 22 Oct 2026 12:06:27 +0000 Subject: [PATCH 01/10] openviking: Add versions 0.5.1, 0.5.1.1 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> --- docs/packages/openviking.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/packages/openviking.yaml b/docs/packages/openviking.yaml index 41f32c284ab7..507cc6839ef5 100644 --- a/docs/packages/openviking.yaml +++ b/docs/packages/openviking.yaml @@ -82,3 +82,5 @@ versions: - filename: openviking-0.5.0-cp310-abi3-manylinux_2_39_riscv64.whl sha256: ccbcdb720d5c9f256b19288652fb2db2c0bf699178e248e9905dd62d771a08f0 requires-python: '>=3.10' +- version: 0.5.1 +- version: 0.5.1.1 From e1720a945bb5beb60c81a08ab853d7669e59e842 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 23 Oct 2026 16:53:11 +0800 Subject: [PATCH 02/10] openviking: carry the FindPython3 Development.Module patch to 0.5.1 --- ...re-Development.Module-from-FindPytho.patch | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 patches/openviking/0.5.1/0001-build-only-require-Development.Module-from-FindPytho.patch diff --git a/patches/openviking/0.5.1/0001-build-only-require-Development.Module-from-FindPytho.patch b/patches/openviking/0.5.1/0001-build-only-require-Development.Module-from-FindPytho.patch new file mode 100644 index 000000000000..8a5e8510e020 --- /dev/null +++ b/patches/openviking/0.5.1/0001-build-only-require-Development.Module-from-FindPytho.patch @@ -0,0 +1,36 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Fri, 25 Sep 2026 00:00:00 +0000 +Subject: [PATCH] build: only require Development.Module from FindPython3 + +The vector engine is a Python extension module, so it needs the Python +headers but never links libpython. Asking FindPython3 for the umbrella +`Development` component also pulls in `Development.Embed`, which requires +libpython to exist. The manylinux interpreters used to build wheels ship +no libpython at all, so configuring fails on every manylinux image before +anything is compiled: + + Could NOT find Python3 (missing: Python3_LIBRARIES Development + Development.Embed) + +Upstream's own Linux wheels build against a CPython compiled with +--enable-shared, which is why their CI does not hit it. Reproduces on +manylinux_2_28_x86_64 as well as manylinux_2_39_riscv64. + +Upstream-Status: To upstream [not yet submitted; still present on volcengine/OpenViking main] + +Signed-off-by: Ludovic Henry +--- +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 1a79b8a4..da2a9495 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -43,7 +43,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error -Wno-deprecated-declarations + set(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} -lpthread") + set(Python3_ARCH_INCLUDE_DIR "/usr/include/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/") + +-find_package(Python3 COMPONENTS Interpreter Development REQUIRED) ++find_package(Python3 COMPONENTS Interpreter Development.Module REQUIRED) + if(WIN32 AND CMAKE_VERSION VERSION_GREATER_EQUAL "3.26") + find_package(Python3 COMPONENTS Development.SABIModule QUIET) + endif() From c6fb0fcb85b01664c5f2a253714f77b277f51aff Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 23 Oct 2026 16:53:16 +0800 Subject: [PATCH 03/10] openviking: carry the tree-sitter pin patch to 0.5.1 --- ...-the-tree-sitter-pin-so-riscv64-can-.patch | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 patches/openviking/0.5.1/0002-pyproject-relax-the-tree-sitter-pin-so-riscv64-can-.patch diff --git a/patches/openviking/0.5.1/0002-pyproject-relax-the-tree-sitter-pin-so-riscv64-can-.patch b/patches/openviking/0.5.1/0002-pyproject-relax-the-tree-sitter-pin-so-riscv64-can-.patch new file mode 100644 index 000000000000..fa2cb8f84197 --- /dev/null +++ b/patches/openviking/0.5.1/0002-pyproject-relax-the-tree-sitter-pin-so-riscv64-can-.patch @@ -0,0 +1,39 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Mon, 28 Sep 2026 00:00:00 +0000 +Subject: [PATCH] pyproject: relax the tree-sitter pin so riscv64 can resolve + it + +pyproject.toml pins `tree-sitter==0.25.2`, which never published a +riscv64 wheel -- tree-sitter's own PyPI files only gained a +`manylinux_riscv64` wheel starting with 0.26.0. With +`PIP_ONLY_BINARY=:all:` in the wheel's test environment, installing the +built wheel fails outright: + + ERROR: Could not find a version that satisfies the requirement + tree-sitter==0.25.2 (from openviking) (from versions: 0.26.0) + ERROR: No matching distribution found for tree-sitter==0.25.2 + +Relax the pin to a lower bound so the resolver can pick 0.26.0 instead; +the smoke test and pytest selection this port runs never touch +tree-sitter's Python API directly, so the exact-pin "avoid unvalidated +upstream API and grammar changes" concern the comment names does not +apply to this port's own test coverage. + +Upstream-Status: Inappropriate [riscv64-wheel availability is specific to this port; upstream's own CI never resolves against a riscv64 index] + +Signed-off-by: Ludovic Henry +--- +diff --git a/pyproject.toml b/pyproject.toml +index 0000000..0000000 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -61,7 +61,7 @@ dependencies = [ + "litellm>=1.83.7,<1.91.2", + "python-multipart>=0.0.31", + # Pin the parsing stack to avoid unvalidated upstream API and grammar changes. +- "tree-sitter==0.25.2", ++ "tree-sitter>=0.25.2", + "tree-sitter-python==0.25.0", + "tree-sitter-javascript==0.25.0", + "tree-sitter-typescript==0.23.2", From db4ab3e8de48fdfec7fb80cdc852d2fbf06346f3 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 23 Oct 2026 16:53:21 +0800 Subject: [PATCH 04/10] openviking: carry the tree-sitter grammar pins patch to 0.5.1 --- ...oject-relax-tree-sitter-grammar-pins.patch | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 patches/openviking/0.5.1/0003-pyproject-relax-tree-sitter-grammar-pins.patch diff --git a/patches/openviking/0.5.1/0003-pyproject-relax-tree-sitter-grammar-pins.patch b/patches/openviking/0.5.1/0003-pyproject-relax-tree-sitter-grammar-pins.patch new file mode 100644 index 000000000000..be2eb0795a24 --- /dev/null +++ b/patches/openviking/0.5.1/0003-pyproject-relax-tree-sitter-grammar-pins.patch @@ -0,0 +1,51 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Sun, 11 Oct 2026 00:00:00 +0000 +Subject: [PATCH] pyproject: relax three more tree-sitter grammar pins for + riscv64 + +Same problem as the tree-sitter pin itself (patch 0002): pyproject.toml +pins tree-sitter-rust==0.24.0, tree-sitter-c-sharp==0.23.1, and +tree-sitter-language-pack==1.13.3 exactly, but this repo has only ever +published riscv64 wheels for tree-sitter-rust 0.24.2, tree-sitter-c-sharp +0.23.5, and tree-sitter-language-pack 1.15.8+ (docs/packages/*.yaml). +With PIP_ONLY_BINARY=:all:, installing the built wheel fails: + + ERROR: Could not find a version that satisfies the requirement + tree-sitter-rust==0.24.0 (from openviking) (from versions: 0.24.2) + ERROR: No matching distribution found for tree-sitter-rust==0.24.0 + +Relax all three to a lower bound for the same reason patch 0002 relaxes +tree-sitter itself: this port's own test coverage never touches these +grammar packages' Python APIs directly, so the exact-pin "avoid +unvalidated upstream API and grammar changes" concern doesn't apply here. + +Upstream-Status: Inappropriate [riscv64-wheel availability is specific to this port; upstream's own CI never resolves against a riscv64 index] + +Signed-off-by: Ludovic Henry +--- +diff --git a/pyproject.toml b/pyproject.toml +index 0000000..0000000 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -67,9 +67,9 @@ dependencies = [ + "tree-sitter-typescript==0.23.2", + "tree-sitter-java==0.23.5", + "tree-sitter-cpp==0.23.4", +- "tree-sitter-rust==0.24.0", ++ "tree-sitter-rust>=0.24.0", + "tree-sitter-go==0.25.0", +- "tree-sitter-c-sharp==0.23.1", ++ "tree-sitter-c-sharp>=0.23.1", + "tree-sitter-php==0.24.1", + "tree-sitter-lua==0.5.0", + # OpenTelemetry +@@ -85,7 +85,7 @@ dependencies = [ + "mcp>=1.27,<2", + "pathspec>=1.1.1", + "grep-ast==0.9.0", +- "tree-sitter-language-pack==1.13.3", ++ "tree-sitter-language-pack>=1.13.3", + ] + + From 0781b36e2de1c3135f0f23f91fa230834443a40c Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 23 Oct 2026 16:53:37 +0800 Subject: [PATCH 05/10] openviking: carry the FindPython3 Development.Module patch to 0.5.1.1 --- ...re-Development.Module-from-FindPytho.patch | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 patches/openviking/0.5.1.1/0001-build-only-require-Development.Module-from-FindPytho.patch diff --git a/patches/openviking/0.5.1.1/0001-build-only-require-Development.Module-from-FindPytho.patch b/patches/openviking/0.5.1.1/0001-build-only-require-Development.Module-from-FindPytho.patch new file mode 100644 index 000000000000..8a5e8510e020 --- /dev/null +++ b/patches/openviking/0.5.1.1/0001-build-only-require-Development.Module-from-FindPytho.patch @@ -0,0 +1,36 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Fri, 25 Sep 2026 00:00:00 +0000 +Subject: [PATCH] build: only require Development.Module from FindPython3 + +The vector engine is a Python extension module, so it needs the Python +headers but never links libpython. Asking FindPython3 for the umbrella +`Development` component also pulls in `Development.Embed`, which requires +libpython to exist. The manylinux interpreters used to build wheels ship +no libpython at all, so configuring fails on every manylinux image before +anything is compiled: + + Could NOT find Python3 (missing: Python3_LIBRARIES Development + Development.Embed) + +Upstream's own Linux wheels build against a CPython compiled with +--enable-shared, which is why their CI does not hit it. Reproduces on +manylinux_2_28_x86_64 as well as manylinux_2_39_riscv64. + +Upstream-Status: To upstream [not yet submitted; still present on volcengine/OpenViking main] + +Signed-off-by: Ludovic Henry +--- +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 1a79b8a4..da2a9495 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -43,7 +43,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error -Wno-deprecated-declarations + set(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} -lpthread") + set(Python3_ARCH_INCLUDE_DIR "/usr/include/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/") + +-find_package(Python3 COMPONENTS Interpreter Development REQUIRED) ++find_package(Python3 COMPONENTS Interpreter Development.Module REQUIRED) + if(WIN32 AND CMAKE_VERSION VERSION_GREATER_EQUAL "3.26") + find_package(Python3 COMPONENTS Development.SABIModule QUIET) + endif() From f6ba4a9eab5a5af33fa48279f62e99a090e8e7fc Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 23 Oct 2026 16:53:41 +0800 Subject: [PATCH 06/10] openviking: carry the tree-sitter pin patch to 0.5.1.1 --- ...-the-tree-sitter-pin-so-riscv64-can-.patch | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 patches/openviking/0.5.1.1/0002-pyproject-relax-the-tree-sitter-pin-so-riscv64-can-.patch diff --git a/patches/openviking/0.5.1.1/0002-pyproject-relax-the-tree-sitter-pin-so-riscv64-can-.patch b/patches/openviking/0.5.1.1/0002-pyproject-relax-the-tree-sitter-pin-so-riscv64-can-.patch new file mode 100644 index 000000000000..fa2cb8f84197 --- /dev/null +++ b/patches/openviking/0.5.1.1/0002-pyproject-relax-the-tree-sitter-pin-so-riscv64-can-.patch @@ -0,0 +1,39 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Mon, 28 Sep 2026 00:00:00 +0000 +Subject: [PATCH] pyproject: relax the tree-sitter pin so riscv64 can resolve + it + +pyproject.toml pins `tree-sitter==0.25.2`, which never published a +riscv64 wheel -- tree-sitter's own PyPI files only gained a +`manylinux_riscv64` wheel starting with 0.26.0. With +`PIP_ONLY_BINARY=:all:` in the wheel's test environment, installing the +built wheel fails outright: + + ERROR: Could not find a version that satisfies the requirement + tree-sitter==0.25.2 (from openviking) (from versions: 0.26.0) + ERROR: No matching distribution found for tree-sitter==0.25.2 + +Relax the pin to a lower bound so the resolver can pick 0.26.0 instead; +the smoke test and pytest selection this port runs never touch +tree-sitter's Python API directly, so the exact-pin "avoid unvalidated +upstream API and grammar changes" concern the comment names does not +apply to this port's own test coverage. + +Upstream-Status: Inappropriate [riscv64-wheel availability is specific to this port; upstream's own CI never resolves against a riscv64 index] + +Signed-off-by: Ludovic Henry +--- +diff --git a/pyproject.toml b/pyproject.toml +index 0000000..0000000 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -61,7 +61,7 @@ dependencies = [ + "litellm>=1.83.7,<1.91.2", + "python-multipart>=0.0.31", + # Pin the parsing stack to avoid unvalidated upstream API and grammar changes. +- "tree-sitter==0.25.2", ++ "tree-sitter>=0.25.2", + "tree-sitter-python==0.25.0", + "tree-sitter-javascript==0.25.0", + "tree-sitter-typescript==0.23.2", From 348513763ccdc2a52e3d3bf06c6f1d749c16a087 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 23 Oct 2026 16:53:46 +0800 Subject: [PATCH 07/10] openviking: carry the tree-sitter grammar pins patch to 0.5.1.1 --- ...oject-relax-tree-sitter-grammar-pins.patch | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 patches/openviking/0.5.1.1/0003-pyproject-relax-tree-sitter-grammar-pins.patch diff --git a/patches/openviking/0.5.1.1/0003-pyproject-relax-tree-sitter-grammar-pins.patch b/patches/openviking/0.5.1.1/0003-pyproject-relax-tree-sitter-grammar-pins.patch new file mode 100644 index 000000000000..be2eb0795a24 --- /dev/null +++ b/patches/openviking/0.5.1.1/0003-pyproject-relax-tree-sitter-grammar-pins.patch @@ -0,0 +1,51 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Sun, 11 Oct 2026 00:00:00 +0000 +Subject: [PATCH] pyproject: relax three more tree-sitter grammar pins for + riscv64 + +Same problem as the tree-sitter pin itself (patch 0002): pyproject.toml +pins tree-sitter-rust==0.24.0, tree-sitter-c-sharp==0.23.1, and +tree-sitter-language-pack==1.13.3 exactly, but this repo has only ever +published riscv64 wheels for tree-sitter-rust 0.24.2, tree-sitter-c-sharp +0.23.5, and tree-sitter-language-pack 1.15.8+ (docs/packages/*.yaml). +With PIP_ONLY_BINARY=:all:, installing the built wheel fails: + + ERROR: Could not find a version that satisfies the requirement + tree-sitter-rust==0.24.0 (from openviking) (from versions: 0.24.2) + ERROR: No matching distribution found for tree-sitter-rust==0.24.0 + +Relax all three to a lower bound for the same reason patch 0002 relaxes +tree-sitter itself: this port's own test coverage never touches these +grammar packages' Python APIs directly, so the exact-pin "avoid +unvalidated upstream API and grammar changes" concern doesn't apply here. + +Upstream-Status: Inappropriate [riscv64-wheel availability is specific to this port; upstream's own CI never resolves against a riscv64 index] + +Signed-off-by: Ludovic Henry +--- +diff --git a/pyproject.toml b/pyproject.toml +index 0000000..0000000 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -67,9 +67,9 @@ dependencies = [ + "tree-sitter-typescript==0.23.2", + "tree-sitter-java==0.23.5", + "tree-sitter-cpp==0.23.4", +- "tree-sitter-rust==0.24.0", ++ "tree-sitter-rust>=0.24.0", + "tree-sitter-go==0.25.0", +- "tree-sitter-c-sharp==0.23.1", ++ "tree-sitter-c-sharp>=0.23.1", + "tree-sitter-php==0.24.1", + "tree-sitter-lua==0.5.0", + # OpenTelemetry +@@ -85,7 +85,7 @@ dependencies = [ + "mcp>=1.27,<2", + "pathspec>=1.1.1", + "grep-ast==0.9.0", +- "tree-sitter-language-pack==1.13.3", ++ "tree-sitter-language-pack>=1.13.3", + ] + + From 38dc35ea10f16e7b4d3a8371f6ed4dcf082e59f8 Mon Sep 17 00:00:00 2001 From: "riseproject-dev[bot]" <330740410+riseproject-dev[bot]@users.noreply.github.com> Date: Mon, 26 Oct 2026 08:53:39 +0000 Subject: [PATCH 08/10] openviking: Add versions 0.5.1, 0.5.1.1, 0.5.2 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> --- docs/packages/openviking.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/packages/openviking.yaml b/docs/packages/openviking.yaml index 507cc6839ef5..d8f7ce20ef75 100644 --- a/docs/packages/openviking.yaml +++ b/docs/packages/openviking.yaml @@ -84,3 +84,4 @@ versions: requires-python: '>=3.10' - version: 0.5.1 - version: 0.5.1.1 +- version: 0.5.2 From 2b02c0f10e88c2febf05961a719af584908ed216 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Tue, 27 Oct 2026 04:48:02 +0100 Subject: [PATCH 09/10] openviking: Carry patches over to version 0.5.2 --- ...re-Development.Module-from-FindPytho.patch | 36 +++++++++++++ ...-the-tree-sitter-pin-so-riscv64-can-.patch | 39 ++++++++++++++ ...oject-relax-tree-sitter-grammar-pins.patch | 51 +++++++++++++++++++ 3 files changed, 126 insertions(+) create mode 100644 patches/openviking/0.5.2/0001-build-only-require-Development.Module-from-FindPytho.patch create mode 100644 patches/openviking/0.5.2/0002-pyproject-relax-the-tree-sitter-pin-so-riscv64-can-.patch create mode 100644 patches/openviking/0.5.2/0003-pyproject-relax-tree-sitter-grammar-pins.patch diff --git a/patches/openviking/0.5.2/0001-build-only-require-Development.Module-from-FindPytho.patch b/patches/openviking/0.5.2/0001-build-only-require-Development.Module-from-FindPytho.patch new file mode 100644 index 000000000000..2f595cd2d202 --- /dev/null +++ b/patches/openviking/0.5.2/0001-build-only-require-Development.Module-from-FindPytho.patch @@ -0,0 +1,36 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Fri, 25 Sep 2026 00:00:00 +0000 +Subject: [PATCH] build: only require Development.Module from FindPython3 + +The vector engine is a Python extension module, so it needs the Python +headers but never links libpython. Asking FindPython3 for the umbrella +`Development` component also pulls in `Development.Embed`, which requires +libpython to exist. The manylinux interpreters used to build wheels ship +no libpython at all, so configuring fails on every manylinux image before +anything is compiled: + + Could NOT find Python3 (missing: Python3_LIBRARIES Development + Development.Embed) + +Upstream's own Linux wheels build against a CPython compiled with +--enable-shared, which is why their CI does not hit it. Reproduces on +manylinux_2_28_x86_64 as well as manylinux_2_39_riscv64. + +Upstream-Status: To upstream [not yet submitted; still present on volcengine/OpenViking main] + +Signed-off-by: Ludovic Henry +--- +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 1a79b8a4..da2a9495 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -43,7 +43,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error -Wno-deprecated-declarations + set(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} -lpthread") + set(Python3_ARCH_INCLUDE_DIR "/usr/include/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/") + +-find_package(Python3 COMPONENTS Interpreter Development REQUIRED) ++find_package(Python3 COMPONENTS Interpreter Development.Module REQUIRED) + if(WIN32 AND CMAKE_VERSION VERSION_GREATER_EQUAL "3.26") + find_package(Python3 COMPONENTS Development.SABIModule QUIET) + endif() diff --git a/patches/openviking/0.5.2/0002-pyproject-relax-the-tree-sitter-pin-so-riscv64-can-.patch b/patches/openviking/0.5.2/0002-pyproject-relax-the-tree-sitter-pin-so-riscv64-can-.patch new file mode 100644 index 000000000000..fa2cb8f84197 --- /dev/null +++ b/patches/openviking/0.5.2/0002-pyproject-relax-the-tree-sitter-pin-so-riscv64-can-.patch @@ -0,0 +1,39 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Mon, 28 Sep 2026 00:00:00 +0000 +Subject: [PATCH] pyproject: relax the tree-sitter pin so riscv64 can resolve + it + +pyproject.toml pins `tree-sitter==0.25.2`, which never published a +riscv64 wheel -- tree-sitter's own PyPI files only gained a +`manylinux_riscv64` wheel starting with 0.26.0. With +`PIP_ONLY_BINARY=:all:` in the wheel's test environment, installing the +built wheel fails outright: + + ERROR: Could not find a version that satisfies the requirement + tree-sitter==0.25.2 (from openviking) (from versions: 0.26.0) + ERROR: No matching distribution found for tree-sitter==0.25.2 + +Relax the pin to a lower bound so the resolver can pick 0.26.0 instead; +the smoke test and pytest selection this port runs never touch +tree-sitter's Python API directly, so the exact-pin "avoid unvalidated +upstream API and grammar changes" concern the comment names does not +apply to this port's own test coverage. + +Upstream-Status: Inappropriate [riscv64-wheel availability is specific to this port; upstream's own CI never resolves against a riscv64 index] + +Signed-off-by: Ludovic Henry +--- +diff --git a/pyproject.toml b/pyproject.toml +index 0000000..0000000 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -61,7 +61,7 @@ dependencies = [ + "litellm>=1.83.7,<1.91.2", + "python-multipart>=0.0.31", + # Pin the parsing stack to avoid unvalidated upstream API and grammar changes. +- "tree-sitter==0.25.2", ++ "tree-sitter>=0.25.2", + "tree-sitter-python==0.25.0", + "tree-sitter-javascript==0.25.0", + "tree-sitter-typescript==0.23.2", diff --git a/patches/openviking/0.5.2/0003-pyproject-relax-tree-sitter-grammar-pins.patch b/patches/openviking/0.5.2/0003-pyproject-relax-tree-sitter-grammar-pins.patch new file mode 100644 index 000000000000..be2eb0795a24 --- /dev/null +++ b/patches/openviking/0.5.2/0003-pyproject-relax-tree-sitter-grammar-pins.patch @@ -0,0 +1,51 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Sun, 11 Oct 2026 00:00:00 +0000 +Subject: [PATCH] pyproject: relax three more tree-sitter grammar pins for + riscv64 + +Same problem as the tree-sitter pin itself (patch 0002): pyproject.toml +pins tree-sitter-rust==0.24.0, tree-sitter-c-sharp==0.23.1, and +tree-sitter-language-pack==1.13.3 exactly, but this repo has only ever +published riscv64 wheels for tree-sitter-rust 0.24.2, tree-sitter-c-sharp +0.23.5, and tree-sitter-language-pack 1.15.8+ (docs/packages/*.yaml). +With PIP_ONLY_BINARY=:all:, installing the built wheel fails: + + ERROR: Could not find a version that satisfies the requirement + tree-sitter-rust==0.24.0 (from openviking) (from versions: 0.24.2) + ERROR: No matching distribution found for tree-sitter-rust==0.24.0 + +Relax all three to a lower bound for the same reason patch 0002 relaxes +tree-sitter itself: this port's own test coverage never touches these +grammar packages' Python APIs directly, so the exact-pin "avoid +unvalidated upstream API and grammar changes" concern doesn't apply here. + +Upstream-Status: Inappropriate [riscv64-wheel availability is specific to this port; upstream's own CI never resolves against a riscv64 index] + +Signed-off-by: Ludovic Henry +--- +diff --git a/pyproject.toml b/pyproject.toml +index 0000000..0000000 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -67,9 +67,9 @@ dependencies = [ + "tree-sitter-typescript==0.23.2", + "tree-sitter-java==0.23.5", + "tree-sitter-cpp==0.23.4", +- "tree-sitter-rust==0.24.0", ++ "tree-sitter-rust>=0.24.0", + "tree-sitter-go==0.25.0", +- "tree-sitter-c-sharp==0.23.1", ++ "tree-sitter-c-sharp>=0.23.1", + "tree-sitter-php==0.24.1", + "tree-sitter-lua==0.5.0", + # OpenTelemetry +@@ -85,7 +85,7 @@ dependencies = [ + "mcp>=1.27,<2", + "pathspec>=1.1.1", + "grep-ast==0.9.0", +- "tree-sitter-language-pack==1.13.3", ++ "tree-sitter-language-pack>=1.13.3", + ] + + From 333a11e1b1c8b998fb2dca854eb0348d259c737c Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Tue, 27 Oct 2026 04:48:33 +0100 Subject: [PATCH 10/10] openviking: Fix whitespace in carried-over patch for version 0.5.2 --- ...1-build-only-require-Development.Module-from-FindPytho.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/openviking/0.5.2/0001-build-only-require-Development.Module-from-FindPytho.patch b/patches/openviking/0.5.2/0001-build-only-require-Development.Module-from-FindPytho.patch index 2f595cd2d202..8a5e8510e020 100644 --- a/patches/openviking/0.5.2/0001-build-only-require-Development.Module-from-FindPytho.patch +++ b/patches/openviking/0.5.2/0001-build-only-require-Development.Module-from-FindPytho.patch @@ -28,7 +28,7 @@ index 1a79b8a4..da2a9495 100644 @@ -43,7 +43,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error -Wno-deprecated-declarations set(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} -lpthread") set(Python3_ARCH_INCLUDE_DIR "/usr/include/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/") - + -find_package(Python3 COMPONENTS Interpreter Development REQUIRED) +find_package(Python3 COMPONENTS Interpreter Development.Module REQUIRED) if(WIN32 AND CMAKE_VERSION VERSION_GREATER_EQUAL "3.26")