[packages/tree-sitter-xml] - new
qboosh
qboosh at pld-linux.org
Wed Jan 21 21:23:45 CET 2026
commit e70e1076083b9fde00ac183f8069bd9aa94482a3
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Wed Jan 21 21:23:45 2026 +0100
- new
tree-sitter-xml-make.patch | 33 +++++++++
tree-sitter-xml.spec | 165 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 198 insertions(+)
---
diff --git a/tree-sitter-xml.spec b/tree-sitter-xml.spec
new file mode 100644
index 0000000..9aa8c7c
--- /dev/null
+++ b/tree-sitter-xml.spec
@@ -0,0 +1,165 @@
+#
+# Conditional build:
+%bcond_without python3 # Python 3.x binding
+
+Summary: XML parser for tree-sitter
+Summary(pl.UTF-8): Analizator formatu XML dla tree-sittera
+Name: tree-sitter-xml
+Version: 0.7.0
+Release: 1
+License: MIT
+Group: Libraries
+#Source0Download: https://github.com/tree-sitter-grammars/tree-sitter-xml/releases
+Source0: https://github.com/tree-sitter-grammars/tree-sitter-xml/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 6ac14901857e2c9b3115e031774fa1e3
+Patch0: %{name}-make.patch
+URL: https://github.com/tree-sitter-grammars/tree-sitter-xml
+# c11
+BuildRequires: gcc >= 6:4.7
+%if %{with python3}
+BuildRequires: python3-devel >= 1:3.9
+BuildRequires: python3-setuptools >= 1:42
+BuildRequires: python3-wheel
+%endif
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define soname_ver 14.0
+
+%description
+XML parser for tree-sitter.
+
+%description -l pl.UTF-8
+Analizator formatu XML dla tree-sittera.
+
+%package devel
+Summary: Header files for tree-sitter-xml
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki tree-sitter-xml
+Group: Development/Libraries
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+Header files for tree-sitter-xml.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki tree-sitter-xml.
+
+%package static
+Summary: Static tree-sitter-xml library
+Summary(pl.UTF-8): Statyczna biblioteka tree-sitter-xml
+Group: Development/Libraries
+Requires: %{name}-devel%{?_isa} = %{version}-%{release}
+
+%description static
+Static tree-sitter-xml library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka tree-sitter-xml.
+
+%package -n neovim-parser-xml
+Summary: XML parser for Neovim
+Summary(pl.UTF-8): Analizator formatu XML dla Neovima
+Group: Applications/Editors
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description -n neovim-parser-xml
+XML parser for Neovim.
+
+%description -n neovim-parser-xml -l pl.UTF-8
+Analizator formatu XML dla Neovima.
+
+%package -n python3-tree-sitter-xml
+Summary: XML parser for Python
+Summary(pl.UTF-8): Analizator formatu XML dla Pythona
+Group: Libraries/Python
+Requires: python3-tree-sitter >= 0.22
+
+%description -n python3-tree-sitter-xml
+XML parser for Python.
+
+%description -n python3-tree-sitter-xml -l pl.UTF-8
+Analizator formatu XML dla Pythona.
+
+%prep
+%setup -q
+%patch -P0 -p1
+
+%build
+%{__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-xml.so.%{soname_ver} $RPM_BUILD_ROOT%{_libdir}/libtree-sitter-xml.so
+
+%{__ln_s} ../../libtree-sitter-xml.so.%{soname_ver} $RPM_BUILD_ROOT%{_libdir}/nvim/parser/xml.so
+
+# redundant symlink
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libtree-sitter-*.so.14
+
+%if %{with python3}
+%py3_install
+
+%{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/tree_sitter_xml/*.c
+%endif
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc LICENSE README.md
+%{_libdir}/libtree-sitter-xml.so.%{soname_ver}
+%{_libdir}/libtree-sitter-dtd.so.%{soname_ver}
+
+%files devel
+%defattr(644,root,root,755)
+%{_libdir}/libtree-sitter-dtd.so
+%{_libdir}/libtree-sitter-xml.so
+%{_includedir}/tree_sitter/tree-sitter-dtd.h
+%{_includedir}/tree_sitter/tree-sitter-xml.h
+%{_pkgconfigdir}/tree-sitter-dtd.pc
+%{_pkgconfigdir}/tree-sitter-xml.pc
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libtree-sitter-dtd.a
+%{_libdir}/libtree-sitter-xml.a
+
+%files -n neovim-parser-xml
+%defattr(644,root,root,755)
+%{_libdir}/nvim/parser/xml.so
+
+%if %{with python3}
+%files -n python3-tree-sitter-xml
+%defattr(644,root,root,755)
+%dir %{py3_sitedir}/tree_sitter_xml
+%{py3_sitedir}/tree_sitter_xml/_binding.abi3.so
+%{py3_sitedir}/tree_sitter_xml/__init__.py
+%{py3_sitedir}/tree_sitter_xml/__init__.pyi
+%{py3_sitedir}/tree_sitter_xml/py.typed
+%{py3_sitedir}/tree_sitter_xml/__pycache__
+%{py3_sitedir}/tree_sitter_xml/queries
+%{py3_sitedir}/tree_sitter_xml-%{version}-py*.egg-info
+%endif
diff --git a/tree-sitter-xml-make.patch b/tree-sitter-xml-make.patch
new file mode 100644
index 0000000..e28f510
--- /dev/null
+++ b/tree-sitter-xml-make.patch
@@ -0,0 +1,33 @@
+From 2128a0b249263e238d88cb894dad00c3168fea37 Mon Sep 17 00:00:00 2001
+From: Justin Bullard <justinMBullard at users.noreply.github.com>
+Date: Tue, 4 Mar 2025 09:59:29 -0500
+Subject: [PATCH] build(c): fix makefile
+
+---
+ Makefile | 2 ++
+ common/common.mak | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index e7663cd..caff61c 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,3 +1,5 @@
++TS ?= tree-sitter
++
+ all install uninstall clean:
+ $(MAKE) -C xml $@
+ $(MAKE) -C dtd $@
+diff --git a/common/common.mak b/common/common.mak
+index 9c08676..1659912 100644
+--- a/common/common.mak
++++ b/common/common.mak
+@@ -62,7 +62,7 @@ $(LANGUAGE_NAME).pc: ../bindings/c/$(LANGUAGE_NAME).pc.in
+ -e 's|@CMAKE_INSTALL_INCLUDEDIR@|$(INCLUDEDIR:$(PREFIX)/%=%)|' \
+ -e 's|@PROJECT_DESCRIPTION@|$(DESCRIPTION)|' \
+ -e 's|@CMAKE_PROJECT_HOMEPAGE_URL@|$(HOMEPAGE_URL)|' \
+- -e 's|@CMAKE_INSTALL_PREFIX@|$(PREFIX)|'
++ -e 's|@CMAKE_INSTALL_PREFIX@|$(PREFIX)|' $< > $@
+
+ $(PARSER): $(SRC_DIR)/grammar.json
+ $(TS) generate $^
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/tree-sitter-xml.git/commitdiff/e70e1076083b9fde00ac183f8069bd9aa94482a3
More information about the pld-cvs-commit
mailing list