Packaging of Tree-sitter parsers
Macros
The macros in package tree-sitter-srpm-macros can do most of the work
for you.
Specifying the build system
Declare that this is a Tree-sitter parser with:
BuildSystem: tree_sitterThe %prep, %conf, %generate_buildrequires, %build, %install
and %check sections will all be provided for you.
This requires RPM version 4.20 (i.e., Fedora 41) or greater.
Defining packages and their contents
Generate %package and %files sections for the subpackages built from your package:
%{tree_sitter -l language-name}Here, language-name is the human-friendly name(s) of the Language parser(s) provided by this package, to be mentioned in the package summaries and descriptions.
Example spec file
Name:           tree-sitter-typescript
Version:        0.21.2
Release:        %autorelease
License:        MIT
URL:            https://github.com/tree-sitter/%{name}
Source:         %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
BuildSystem:    tree_sitter
%{tree_sitter -l %{quote:TypeScript and TSX}}
%changelog
%autochangelogWant to help? Learn how to contribute to Fedora Docs ›