%global luasnip_version 2.5.0 %global jsregexp010_commit 558d5b567a8a6a391ec578f3e763f43fd4126abc %global jsregexp005_commit dd65498ae2c29b882d6c02c0a30577b08d660b94 %global jsregexp006_commit b5a81e21d0875667ba2458ac8ae903afd5568698 Name: luasnip-jsregexp Version: %{luasnip_version} Release: 1%{?dist} Summary: Compiled jsregexp .so/.lua for LuaSnip's lsp-transform regex support License: MIT and Unlicense URL: https://github.com/L3MON4D3/LuaSnip Source0: https://github.com/L3MON4D3/LuaSnip/archive/refs/tags/v%{luasnip_version}.tar.gz#/LuaSnip-%{luasnip_version}.tar.gz Source1: https://github.com/kmarius/jsregexp/archive/%{jsregexp010_commit}.tar.gz#/jsregexp-%{jsregexp010_commit}.tar.gz Source2: https://github.com/kmarius/jsregexp/archive/%{jsregexp005_commit}.tar.gz#/jsregexp005-%{jsregexp005_commit}.tar.gz Source3: https://github.com/kmarius/jsregexp/archive/%{jsregexp006_commit}.tar.gz#/jsregexp006-%{jsregexp006_commit}.tar.gz Source4: jsregexp-install.sh Source5: jsregexp-README.md BuildRequires: gcc BuildRequires: make ExclusiveArch: x86_64 aarch64 %global debug_package %{nil} %description Builds the optional jsregexp native module used by LuaSnip for lsp-transform regex support, without requiring a Neovim/Lua build environment. The .so resolves lua_*/luaL_* symbols dynamically at dlopen time, so it only needs to match Neovim's Lua ABI at runtime. %prep %setup -q -n LuaSnip-%{luasnip_version} rm -rf deps/jsregexp deps/jsregexp005 deps/jsregexp006 %setup -q -T -D -a 1 -n LuaSnip-%{luasnip_version} mv jsregexp-%{jsregexp010_commit} deps/jsregexp %setup -q -T -D -a 2 -n LuaSnip-%{luasnip_version} mv jsregexp-%{jsregexp005_commit} deps/jsregexp005 %setup -q -T -D -a 3 -n LuaSnip-%{luasnip_version} mv jsregexp-%{jsregexp006_commit} deps/jsregexp006 %build for d in deps/jsregexp deps/jsregexp005 deps/jsregexp006; do %make_build CC="%{__cc}" \ INCLUDE_DIR="-I%{_builddir}/LuaSnip-%{luasnip_version}/deps/lua51_include/" \ LDLIBS="" \ -C "$d" done %install install -Dm0755 deps/jsregexp/jsregexp.so %{buildroot}/opt/%{name}-%{version}/luasnip-jsregexp.so install -Dm0644 deps/jsregexp/jsregexp.lua %{buildroot}/opt/%{name}-%{version}/luasnip-jsregexp.lua install -Dm0755 %{SOURCE4} %{buildroot}/opt/%{name}-%{version}/install.sh install -Dm0644 %{SOURCE5} %{buildroot}/opt/%{name}-%{version}/README.md ln -sfn %{name}-%{version} %{buildroot}/opt/%{name} %files %license LICENSE %doc README.md %dir /opt/%{name}-%{version} /opt/%{name}-%{version}/luasnip-jsregexp.so /opt/%{name}-%{version}/luasnip-jsregexp.lua /opt/%{name}-%{version}/install.sh /opt/%{name}-%{version}/README.md /opt/%{name} %changelog * Sun Aug 23 2026 Boyd - 2.5.0-1 - Initial packaging of jsregexp for LuaSnip.