From 501b5b8fe3d5f5ec39fbace761ea9c8ddce43f68 Mon Sep 17 00:00:00 2001 From: Zexin Yuan Date: Tue, 20 May 2025 15:21:51 +0800 Subject: [PATCH 1/3] python3Packages.tree-sitter-language-pack: 0.6.1 -> 0.7.3 --- .../tree-sitter-language-pack/default.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/tree-sitter-language-pack/default.nix b/pkgs/development/python-modules/tree-sitter-language-pack/default.nix index c63bd83f8df0..d1e099c82654 100644 --- a/pkgs/development/python-modules/tree-sitter-language-pack/default.nix +++ b/pkgs/development/python-modules/tree-sitter-language-pack/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "tree-sitter-language-pack"; - version = "0.6.1"; + version = "0.7.3"; pyproject = true; # Using the GitHub sources necessitates fetching the treesitter grammar parsers by using a vendored script: @@ -26,7 +26,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "tree_sitter_language_pack"; inherit version; - hash = "sha256-pGNfW2ubZCVi2QHk6qJfyClJ1mDIi5R1Pm1GfZY0Ark="; + hash = "sha256-SROctgfYE1LTOtGOV1IPwQV6AJlVyczO1WYHzBjmo/0="; }; build-system = [ @@ -42,6 +42,12 @@ buildPythonPackage rec { tree-sitter-yaml ]; + prePatch = '' + # Remove the packaged bindings, which only work on Linux and prevent the build from succeeding + # https://github.com/Goldziher/tree-sitter-language-pack/issues/46 + rm -rf tree_sitter_language_pack/bindings/*.so + ''; + pythonImportsCheck = [ "tree_sitter_language_pack" "tree_sitter_language_pack.bindings" From 17d13f6906348c954d540e3a0d73108e59d9aac8 Mon Sep 17 00:00:00 2001 From: Zexin Yuan Date: Tue, 20 May 2025 17:47:48 +0800 Subject: [PATCH 2/3] python3Packages.tree-sitter-language-pack: add check and update script --- .../tree-sitter-language-pack/default.nix | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/tree-sitter-language-pack/default.nix b/pkgs/development/python-modules/tree-sitter-language-pack/default.nix index d1e099c82654..2bdfbf2efca4 100644 --- a/pkgs/development/python-modules/tree-sitter-language-pack/default.nix +++ b/pkgs/development/python-modules/tree-sitter-language-pack/default.nix @@ -2,6 +2,8 @@ lib, buildPythonPackage, fetchPypi, + python, + nix-update-script, # build-system cython, @@ -53,8 +55,30 @@ buildPythonPackage rec { "tree_sitter_language_pack.bindings" ]; - # No tests in the pypi archive - doCheck = false; + # No tests in the pypi archive, we add a test to check that all bindings can be imported + checkPhase = '' + runHook preCheck + + cat < test-import-bindings.py + import sys + import os + if (cwd := os.getcwd()) in sys.path: + # remove current working directory from sys.path, use PYTHONPATH instead + sys.path.remove(cwd) + + from typing import get_args + from tree_sitter_language_pack import SupportedLanguage, get_binding + + for lang in get_args(SupportedLanguage): + get_binding(lang) + EOF + + ${python.interpreter} test-import-bindings.py + + runHook postCheck + ''; + + passthru.updateScript = nix-update-script { }; meta = { description = "Comprehensive collection of tree-sitter languages"; From be3bbc5badde3878bf6cea47147de951432af3c3 Mon Sep 17 00:00:00 2001 From: Zexin Yuan Date: Tue, 20 May 2025 18:25:05 +0800 Subject: [PATCH 3/3] aider-chat: enable ocaml tests --- pkgs/development/python-modules/aider-chat/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/python-modules/aider-chat/default.nix b/pkgs/development/python-modules/aider-chat/default.nix index 72fe6f9f4a50..4aa6ae731311 100644 --- a/pkgs/development/python-modules/aider-chat/default.nix +++ b/pkgs/development/python-modules/aider-chat/default.nix @@ -285,9 +285,6 @@ let "test_main_exit_calls_version_check" # AssertionError: assert 2 == 1 "test_simple_send_non_retryable_error" - # Broken tests (Aider-AI/aider#3679) - "test_language_ocaml" - "test_language_ocaml_interface" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # Tests fails on darwin