[packages/tree-sitter-sql] - new

qboosh qboosh at pld-linux.org
Thu Jan 22 21:36:17 CET 2026


commit 907887d1522afc2991486c8113b53418ba516272
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Thu Jan 22 21:36:17 2026 +0100

    - new

 tree-sitter-sql-js.patch |  20 ++++++
 tree-sitter-sql-pc.patch |   9 +++
 tree-sitter-sql.spec     | 173 +++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 202 insertions(+)
---
diff --git a/tree-sitter-sql.spec b/tree-sitter-sql.spec
new file mode 100644
index 0000000..2f44cc5
--- /dev/null
+++ b/tree-sitter-sql.spec
@@ -0,0 +1,173 @@
+#
+# Conditional build:
+%bcond_without	python3	# Python 3.x binding
+
+Summary:	SQL grammar for tree-sitter
+Summary(pl.UTF-8):	Gramatyka języka SQL dla tree-sittera
+Name:		tree-sitter-sql
+Version:	0.3.11
+Release:	1
+License:	MIT
+Group:		Libraries
+#Source0Download: https://github.com/DerekStride/tree-sitter-sql/releases
+Source0:	https://github.com/DerekStride/tree-sitter-sql/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5:	83ef00230672d05f47f52047c99e3038
+Patch0:		%{name}-js.patch
+Patch1:		%{name}-pc.patch
+URL:		https://github.com/DerekStride/tree-sitter-sql
+# c11
+BuildRequires:	gcc >= 6:4.7
+BuildRequires:	tree-sitter-cli >= 0.26
+%if %{with python3}
+BuildRequires:	python3-devel >= 1:3.10
+BuildRequires:	python3-setuptools >= 1:42
+BuildRequires:	python3-wheel
+BuildRequires:	rpm-pythonprov
+BuildRequires:	rpmbuild(macros) >= 1.714
+%endif
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define		soname_ver	15.0
+
+%description
+SQL grammar for tree-sitter.
+
+%description -l pl.UTF-8
+Gramatyka języka SQL dla tree-sittera.
+
+%package devel
+Summary:	Header files for tree-sitter-sql
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki tree-sitter-sql
+Group:		Development/Libraries
+Requires:	%{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+Header files for tree-sitter-sql.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki tree-sitter-sql.
+
+%package static
+Summary:	Static tree-sitter-sql library
+Summary(pl.UTF-8):	Statyczna biblioteka tree-sitter-sql
+Group:		Development/Libraries
+Requires:	%{name}-devel%{?_isa} = %{version}-%{release}
+
+%description static
+Static tree-sitter-sql library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka tree-sitter-sql.
+
+%package -n neovim-parser-sql
+Summary:	SQL parser for Neovim
+Summary(pl.UTF-8):	Analizator składni języka SQL dla Neovima
+Group:		Applications/Editors
+Requires:	%{name}%{?_isa} = %{version}-%{release}
+
+%description -n neovim-parser-sql
+SQL parser for Neovim.
+
+%description -n neovim-parser-sql -l pl.UTF-8
+Analizator składni języka SQL dla Neovima.
+
+%package -n python3-tree-sitter-sql
+Summary:	SQL parser for Python
+Summary(pl.UTF-8):	Analizator składni języka SQL dla Pythona
+Group:		Libraries/Python
+Requires:	python3-tree-sitter >= 0.24
+
+%description -n python3-tree-sitter-sql
+SQL parser for Python.
+
+%description -n python3-tree-sitter-sql -l pl.UTF-8
+Analizator składni języka SQL dla Pythona.
+
+%prep
+%setup -q
+%patch -P0 -p1
+%patch -P1 -p1
+
+%build
+# update for tree-sitter 0.26
+tree-sitter init --update
+%{__make} src/parser.c
+
+%{__make} \
+	PREFIX="%{_prefix}" \
+	INCLUDEDIR="%{_includedir}" \
+	LIBDIR="%{_libdir}" \
+	PCLIBDIR="%{_pkgconfigdir}" \
+	CC="%{__cc}" \
+	CFLAGS="%{rpmcppflags} %{rpmcflags}" \
+	LDFLAGS="%{rpmldflags}"
+
+%if %{with python3}
+%py3_build
+%endif
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_libdir}/nvim/parser
+
+%{__make} install \
+	DESTDIR=$RPM_BUILD_ROOT \
+	PREFIX="%{_prefix}" \
+	INCLUDEDIR="%{_includedir}" \
+	LIBDIR="%{_libdir}" \
+	PCLIBDIR="%{_pkgconfigdir}"
+
+%{__ln_s} -f libtree-sitter-sql.so.%{soname_ver} $RPM_BUILD_ROOT%{_libdir}/libtree-sitter-sql.so
+
+%{__ln_s} ../../libtree-sitter-sql.so.%{soname_ver} $RPM_BUILD_ROOT%{_libdir}/nvim/parser/sql.so
+
+# redundant symlink
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libtree-sitter-sql.so.15
+
+%if %{with python3}
+%py3_install
+
+%{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/tree_sitter_sql/*.c
+%endif
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post   -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc CHANGELOG.md LICENSE README.md
+%{_libdir}/libtree-sitter-sql.so.%{soname_ver}
+# XXX: who should own top dirs?
+%dir %{_datadir}/tree-sitter
+%dir %{_datadir}/tree-sitter/queries
+%{_datadir}/tree-sitter/queries/sql
+
+%files devel
+%defattr(644,root,root,755)
+%{_libdir}/libtree-sitter-sql.so
+%{_includedir}/tree_sitter/tree-sitter-sql.h
+%{_pkgconfigdir}/tree-sitter-sql.pc
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libtree-sitter-sql.a
+
+%files -n neovim-parser-sql
+%defattr(644,root,root,755)
+%{_libdir}/nvim/parser/sql.so
+
+%if %{with python3}
+%files -n python3-tree-sitter-sql
+%defattr(644,root,root,755)
+%dir %{py3_sitedir}/tree_sitter_sql
+%{py3_sitedir}/tree_sitter_sql/_binding.abi3.so
+%{py3_sitedir}/tree_sitter_sql/__init__.py
+%{py3_sitedir}/tree_sitter_sql/__init__.pyi
+%{py3_sitedir}/tree_sitter_sql/py.typed
+%{py3_sitedir}/tree_sitter_sql/__pycache__
+%{py3_sitedir}/tree_sitter_sql/queries
+%{py3_sitedir}/tree_sitter_sql-%{version}-py*.egg-info
+%endif
diff --git a/tree-sitter-sql-js.patch b/tree-sitter-sql-js.patch
new file mode 100644
index 0000000..775e552
--- /dev/null
+++ b/tree-sitter-sql-js.patch
@@ -0,0 +1,20 @@
+--- tree-sitter-sql-0.3.11/grammar.js.orig	2026-01-22 21:10:01.101699810 +0100
++++ tree-sitter-sql-0.3.11/grammar.js	2026-01-22 21:10:27.438223799 +0100
+@@ -3670,7 +3670,7 @@ function parametric_type($, type, params
+ }
+ 
+ function comma_list(field, requireFirst) {
+-  sequence = seq(field, repeat(seq(',', field)));
++  let sequence = seq(field, repeat(seq(',', field)));
+ 
+   if (requireFirst) {
+     return sequence;
+@@ -3686,7 +3686,7 @@ function paren_list(field, requireFirst)
+ }
+ 
+ function make_keyword(word) {
+-  str = "";
++  let str = "";
+   for (var i = 0; i < word.length; i++) {
+     str = str + "[" + word.charAt(i).toLowerCase() + word.charAt(i).toUpperCase() + "]";
+   }
diff --git a/tree-sitter-sql-pc.patch b/tree-sitter-sql-pc.patch
new file mode 100644
index 0000000..201a689
--- /dev/null
+++ b/tree-sitter-sql-pc.patch
@@ -0,0 +1,9 @@
+--- tree-sitter-sql-0.3.11/bindings/c/tree-sitter-sql.pc.in.orig	2025-10-01 15:37:47.000000000 +0200
++++ tree-sitter-sql-0.3.11/bindings/c/tree-sitter-sql.pc.in	2026-01-22 21:25:10.093442046 +0100
+@@ -6,6 +6,5 @@ Name: tree-sitter-sql
+ Description: @PROJECT_DESCRIPTION@
+ URL: @PROJECT_HOMEPAGE_URL@
+ Version: @PROJECT_VERSION@
+-Requires: @TS_REQUIRES@
+ Libs: -L${libdir} -ltree-sitter-sql
+ Cflags: -I${includedir}
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/tree-sitter-sql.git/commitdiff/907887d1522afc2991486c8113b53418ba516272



More information about the pld-cvs-commit mailing list