Unverified Commit 401a6528 authored by Peder Bergebakken Sundt's avatar Peder Bergebakken Sundt Committed by GitHub
Browse files

kak-tree-sitter: init at 1.1.2 (#333951)

parents eab44e82 e81bb18a
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
{
  lib,
  rustPlatform,
  fetchFromSourcehut,
  nix-update-script,
  testers,
  kak-tree-sitter-unwrapped,
}:

rustPlatform.buildRustPackage rec {
  pname = "kak-tree-sitter-unwrapped";
  version = "1.1.2";

  src = fetchFromSourcehut {
    owner = "~hadronized";
    repo = "kak-tree-sitter";
    rev = "kak-tree-sitter-v${version}";
    hash = "sha256-wBWfSyR8LGtug/mCD0bJ4lbdN3trIA/03AnCxZoEOSA=";
  };

  cargoHash = "sha256-v0DNcWPoHdquOlyPoPLoFulz66yCPR1W1Z3uuTjli5k=";

  passthru = {
    updateScript = nix-update-script { };
    tests.version = testers.testVersion { package = kak-tree-sitter-unwrapped; };
  };

  meta = {
    homepage = "https://git.sr.ht/~hadronized/kak-tree-sitter";
    description = "Server that interfaces tree-sitter with kakoune";
    mainProgram = "kak-tree-sitter";
    license = with lib.licenses; [ bsd3 ];
    maintainers = with lib.maintainers; [ lelgenio ];
  };
}
+27 −0
Original line number Diff line number Diff line
{
  lib,
  makeWrapper,
  symlinkJoin,
  tinycc,
  kak-tree-sitter-unwrapped,
}:

symlinkJoin rec {
  pname = lib.replaceStrings [ "-unwrapped" ] [ "" ] kak-tree-sitter-unwrapped.pname;
  inherit (kak-tree-sitter-unwrapped) version;
  name = "${pname}-${version}";

  paths = [ kak-tree-sitter-unwrapped ];
  nativeBuildInputs = [ makeWrapper ];

  # Tree-Sitter grammars are C programs that need to be compiled
  # Use tinycc as cc to reduce closure size
  postBuild = ''
    mkdir -p $out/libexec/tinycc/bin
    ln -s ${lib.getExe tinycc} $out/libexec/tinycc/bin/cc
    wrapProgram "$out/bin/ktsctl" \
      --suffix PATH : $out/libexec/tinycc/bin
  '';

  inherit (kak-tree-sitter-unwrapped) meta;
}