Files
millerson-overlay.nix/packages/graphify/package.nix
Alexander Miroshnichenko 1f3f0f468b
Some checks failed
CI / check (push) Has been cancelled
chore: update all packages to latest versions
- aionui 2.1.4 -> 2.1.50
- desloppify 0.9.15 -> 1.0
- ds4 -> 2026-08-05 (b030961)
- freebuff 0.0.85 -> 0.0.142 (binary moved to GitHub releases)
- graphify 0.7.10 -> 0.9.35 (license Apache-2.0, fix sed patterns for versioned deps)
- hipengine 0.2.2 -> 0.3.0 (console script renamed to hipengine)
- kubernetes-mcp-server 0.0.62 -> 0.0.66 (requires go >= 1.26.3)
- mcp-gateway 2.11.0 -> 3.4.0 (requires rustc >= 1.95)
- omniroute 3.8.28 -> 3.8.49
- radar 1.6.1 -> 1.9.1 (drop obsolete lockfile sed patch)
- relay-free-llm -> 96e6c48, cerebras-cloud-sdk 1.67.0 -> 1.91.0
- stakpak 0.3.86 -> 0.3.88

Add nixpkgs-latest input for toolchains newer than the pinned nixpkgs.
2026-08-07 16:04:10 +03:00

90 lines
2.9 KiB
Nix

{
lib,
python3Packages,
fetchFromGitHub,
}:
python3Packages.buildPythonApplication rec {
pname = "graphify";
version = "0.9.35";
pyproject = true;
src = fetchFromGitHub {
owner = "safishamsi";
repo = "graphify";
rev = "v${version}";
hash = "sha256-HESowqiR5c6WaeiNj1WDSYBzrrcpZQwqaKwQxroePD8=";
};
build-system = with python3Packages; [
setuptools
];
# Only tree-sitter grammars available in nixpkgs are included.
# Missing grammars will be downloaded by tree-sitter at runtime on demand.
dependencies = with python3Packages; [
networkx
datasketch
rapidfuzz
tree-sitter
tree-sitter-python
tree-sitter-javascript
tree-sitter-rust
tree-sitter-c-sharp
tree-sitter-sql
];
# Remove unavailable tree-sitter grammars from pyproject.toml.
# Since 0.9.35 upstream pins versions ("tree-sitter-X>=v,<v"), and GNU sed
# mishandles `"` inside bracket expressions, match the name followed by
# either `>` (versioned) or `"` (bare) via alternation. This also avoids
# prefix collisions (e.g. tree-sitter-c vs tree-sitter-c-sharp).
postPatch = ''
sed -i \
-e '/tree-sitter-typescript>\|tree-sitter-typescript"/d' \
-e '/tree-sitter-go>\|tree-sitter-go"/d' \
-e '/tree-sitter-java>\|tree-sitter-java"/d' \
-e '/tree-sitter-groovy>\|tree-sitter-groovy"/d' \
-e '/tree-sitter-c>\|tree-sitter-c"/d' \
-e '/tree-sitter-cpp>\|tree-sitter-cpp"/d' \
-e '/tree-sitter-ruby>\|tree-sitter-ruby"/d' \
-e '/tree-sitter-kotlin>\|tree-sitter-kotlin"/d' \
-e '/tree-sitter-scala>\|tree-sitter-scala"/d' \
-e '/tree-sitter-php>\|tree-sitter-php"/d' \
-e '/tree-sitter-swift>\|tree-sitter-swift"/d' \
-e '/tree-sitter-lua>\|tree-sitter-lua"/d' \
-e '/tree-sitter-zig>\|tree-sitter-zig"/d' \
-e '/tree-sitter-powershell>\|tree-sitter-powershell"/d' \
-e '/tree-sitter-elixir>\|tree-sitter-elixir"/d' \
-e '/tree-sitter-objc>\|tree-sitter-objc"/d' \
-e '/tree-sitter-julia>\|tree-sitter-julia"/d' \
-e '/tree-sitter-verilog>\|tree-sitter-verilog"/d' \
-e '/tree-sitter-fortran>\|tree-sitter-fortran"/d' \
-e '/tree-sitter-bash>\|tree-sitter-bash"/d' \
-e '/tree-sitter-json>\|tree-sitter-json"/d' \
pyproject.toml
'';
doCheck = false;
pythonImportsCheck = [ "graphify" ];
passthru = {
category = "AI Coding Agents";
updateScript = [
"nix-update"
"--flake"
".#graphify"
"--version=branch=main"
];
};
meta = {
description = "AI coding assistant skill - turn any folder of code, docs, papers, images, or videos into a queryable knowledge graph";
homepage = "https://github.com/Graphify-Labs/graphify";
changelog = "https://github.com/Graphify-Labs/graphify/releases/tag/v${version}";
license = lib.licenses.asl20;
mainProgram = "graphify";
platforms = lib.platforms.all;
};
}