From eb3cec7408e91a85121788ef510e3baa353f021b Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 30 Mar 2025 11:23:56 +0200 Subject: [PATCH 1/5] python312Packages.tree-sitter-yaml: cleanup, add tests --- .../tree-sitter-yaml/default.nix | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/pkgs/development/python-modules/tree-sitter-yaml/default.nix b/pkgs/development/python-modules/tree-sitter-yaml/default.nix index 054c0571aeb8..e212ea8b0e0d 100644 --- a/pkgs/development/python-modules/tree-sitter-yaml/default.nix +++ b/pkgs/development/python-modules/tree-sitter-yaml/default.nix @@ -1,31 +1,26 @@ { lib, - fetchFromGitHub, buildPythonPackage, - pythonOlder, - cargo, + fetchFromGitHub, rustPlatform, + cargo, rustc, setuptools, - wheel, tree-sitter, + pytestCheckHook, }: -let +buildPythonPackage rec { + pname = "tree-sitter-yaml"; version = "0.7.0"; + pyproject = true; src = fetchFromGitHub { owner = "tree-sitter-grammars"; repo = "tree-sitter-yaml"; - rev = "v${version}"; + tag = "v${version}"; hash = "sha256-23/zcjnQUQt32N2EdQMzWM9srkXfQxlBvOo7FWH6rnw="; }; -in -buildPythonPackage { - pname = "tree-sitter-yaml"; - inherit version src; - pyproject = true; - disabled = pythonOlder "3.9"; cargoDeps = rustPlatform.fetchCargoVendor { inherit src; @@ -37,7 +32,6 @@ buildPythonPackage { rustPlatform.cargoSetupHook rustc setuptools - wheel ]; optional-dependencies = { @@ -46,8 +40,11 @@ buildPythonPackage { ]; }; - pythonImportsCheck = [ - "tree_sitter_yaml" + pythonImportsCheck = [ "tree_sitter_yaml" ]; + + nativeCheckInputs = [ + pytestCheckHook + tree-sitter ]; meta = { From 6379453fa35b1e0fa50ea62caac7f9a618ec0102 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 30 Mar 2025 11:30:02 +0200 Subject: [PATCH 2/5] python312Packages.tree-sitter-c-sharp: cleanup, add tests --- .../tree-sitter-c-sharp/default.nix | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/pkgs/development/python-modules/tree-sitter-c-sharp/default.nix b/pkgs/development/python-modules/tree-sitter-c-sharp/default.nix index 5b24e7d0f4be..4514a8cc258b 100644 --- a/pkgs/development/python-modules/tree-sitter-c-sharp/default.nix +++ b/pkgs/development/python-modules/tree-sitter-c-sharp/default.nix @@ -2,30 +2,25 @@ lib, fetchFromGitHub, buildPythonPackage, - pythonOlder, - cargo, rustPlatform, + cargo, rustc, setuptools, - wheel, tree-sitter, + pytestCheckHook, }: -let +buildPythonPackage rec { + pname = "tree-sitter-c-sharp"; version = "0.23.1"; + pyproject = true; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-c-sharp"; - rev = "v${version}"; + tag = "v${version}"; hash = "sha256-weH0nyLpvVK/OpgvOjTuJdH2Hm4a1wVshHmhUdFq3XA="; }; -in -buildPythonPackage { - pname = "tree-sitter-c-sharp"; - inherit version src; - pyproject = true; - disabled = pythonOlder "3.9"; cargoDeps = rustPlatform.fetchCargoVendor { inherit src; @@ -37,7 +32,6 @@ buildPythonPackage { rustPlatform.cargoSetupHook rustc setuptools - wheel ]; optional-dependencies = { @@ -46,8 +40,11 @@ buildPythonPackage { ]; }; - pythonImportsCheck = [ - "tree_sitter_c_sharp" + pythonImportsCheck = [ "tree_sitter_c_sharp" ]; + + nativeCheckInputs = [ + pytestCheckHook + tree-sitter ]; meta = { From e2ca590576c8330807e56f276f1a9f072f30ea43 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 30 Mar 2025 11:37:35 +0200 Subject: [PATCH 3/5] python312Packages.tree-sitter-embedded-template: cleanup, add tests --- .../tree-sitter-embedded-template/default.nix | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/pkgs/development/python-modules/tree-sitter-embedded-template/default.nix b/pkgs/development/python-modules/tree-sitter-embedded-template/default.nix index 2843636c7a07..cb71db0adba5 100644 --- a/pkgs/development/python-modules/tree-sitter-embedded-template/default.nix +++ b/pkgs/development/python-modules/tree-sitter-embedded-template/default.nix @@ -1,31 +1,26 @@ { lib, - fetchFromGitHub, buildPythonPackage, - pythonOlder, - cargo, + fetchFromGitHub, rustPlatform, + cargo, rustc, setuptools, - wheel, tree-sitter, + pytestCheckHook, }: -let +buildPythonPackage rec { + pname = "tree-sitter-embedded-template"; version = "0.23.2"; + pyproject = true; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-embedded-template"; - rev = "v${version}"; + tag = "v${version}"; hash = "sha256-C2Lo3tT2363O++ycXiR6x0y+jy2zlmhcKp7t1LhvCe8="; }; -in -buildPythonPackage { - pname = "tree-sitter-embedded-template"; - inherit version src; - pyproject = true; - disabled = pythonOlder "3.9"; cargoDeps = rustPlatform.fetchCargoVendor { inherit src; @@ -37,7 +32,6 @@ buildPythonPackage { rustPlatform.cargoSetupHook rustc setuptools - wheel ]; optional-dependencies = { @@ -46,8 +40,11 @@ buildPythonPackage { ]; }; - pythonImportsCheck = [ - "tree_sitter_embedded_template" + pythonImportsCheck = [ "tree_sitter_embedded_template" ]; + + nativeCheckInputs = [ + pytestCheckHook + tree-sitter ]; meta = { From 13778a233053fd0fddcd7034554515db0c0c9e07 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 30 Mar 2025 11:26:03 +0200 Subject: [PATCH 4/5] python312Packages.tree-sitter-language-pack: cleanup --- .../tree-sitter-language-pack/default.nix | 22 ++++++++++++------- pkgs/top-level/python-packages.nix | 4 ++-- 2 files changed, 16 insertions(+), 10 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 a9fdc22471bf..c63bd83f8df0 100644 --- a/pkgs/development/python-modules/tree-sitter-language-pack/default.nix +++ b/pkgs/development/python-modules/tree-sitter-language-pack/default.nix @@ -1,26 +1,28 @@ { lib, buildPythonPackage, - pythonOlder, fetchPypi, + + # build-system cython, setuptools, typing-extensions, + + # dependencies tree-sitter, tree-sitter-c-sharp, tree-sitter-embedded-template, tree-sitter-yaml, }: -let - version = "0.6.1"; -in -buildPythonPackage { +buildPythonPackage rec { pname = "tree-sitter-language-pack"; - inherit version; + version = "0.6.1"; pyproject = true; - disabled = pythonOlder "3.9"; + # Using the GitHub sources necessitates fetching the treesitter grammar parsers by using a vendored script: + # https://github.com/Goldziher/tree-sitter-language-pack/blob/main/scripts/clone_vendors.py + # The pypi archive has the benefit of already vendoring those dependencies which makes packaging easier on our side src = fetchPypi { pname = "tree_sitter_language_pack"; inherit version; @@ -45,9 +47,13 @@ buildPythonPackage { "tree_sitter_language_pack.bindings" ]; + # No tests in the pypi archive + doCheck = false; + meta = { description = "Comprehensive collection of tree-sitter languages"; - homepage = "https://github.com/Goldziher/tree-sitter-language-pack/"; + homepage = "https://github.com/Goldziher/tree-sitter-language-pack"; + changelog = "https://github.com/Goldziher/tree-sitter-language-pack/releases/tag/v${version}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ yzx9 ]; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c30bcb888305..00b608f4b408 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -17402,10 +17402,10 @@ self: super: with self; { tree-sitter-json = callPackage ../development/python-modules/tree-sitter-json { }; - tree-sitter-languages = callPackage ../development/python-modules/tree-sitter-languages { }; - tree-sitter-language-pack = callPackage ../development/python-modules/tree-sitter-language-pack { }; + tree-sitter-languages = callPackage ../development/python-modules/tree-sitter-languages { }; + tree-sitter-make = callPackage ../development/python-modules/tree-sitter-make { }; tree-sitter-python = callPackage ../development/python-modules/tree-sitter-python { }; From b2edafe12b3b4bbda2096dd96b3bc6bbf0d3d74c Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 30 Mar 2025 11:26:21 +0200 Subject: [PATCH 5/5] vectorcode: init at 0.5.3 --- pkgs/by-name/ve/vectorcode/package.nix | 86 ++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 pkgs/by-name/ve/vectorcode/package.nix diff --git a/pkgs/by-name/ve/vectorcode/package.nix b/pkgs/by-name/ve/vectorcode/package.nix new file mode 100644 index 000000000000..018214f14b05 --- /dev/null +++ b/pkgs/by-name/ve/vectorcode/package.nix @@ -0,0 +1,86 @@ +{ + lib, + python3Packages, + fetchFromGitHub, + versionCheckHook, +}: + +python3Packages.buildPythonApplication rec { + pname = "vectorcode"; + version = "0.5.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Davidyz"; + repo = "VectorCode"; + tag = version; + hash = "sha256-Vfo+wY51b3triiDhURlMl1iKNlYDy7eqEtT9/RVNZCM="; + }; + + build-system = with python3Packages; [ + pdm-backend + ]; + + dependencies = with python3Packages; [ + chromadb + httpx + numpy + pathspec + psutil + pygments + sentence-transformers + shtab + tabulate + transformers + tree-sitter + tree-sitter-language-pack + ]; + + optional-dependencies = with python3Packages; { + intel = [ + openvino + optimum + ]; + legacy = [ + numpy + torch + transformers + ]; + lsp = [ + lsprotocol + pygls + ]; + mcp = [ + mcp + pydantic + ]; + }; + + pythonImportsCheck = [ "vectorcode" ]; + + nativeCheckInputs = + [ + versionCheckHook + ] + ++ (with python3Packages; [ + mcp + pygls + pytestCheckHook + ]); + versionCheckProgramArg = "version"; + + disabledTests = [ + # Require internet access + "test_get_embedding_function" + "test_get_embedding_function_fallback" + ]; + + meta = { + description = "Code repository indexing tool to supercharge your LLM experience"; + homepage = "https://github.com/Davidyz/VectorCode"; + changelog = "https://github.com/Davidyz/VectorCode/releases/tag/${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ GaetanLepage ]; + mainProgram = "vectorcode"; + }; +}