File lz4b.spec of Package lz4b
%define bname lz4b
Name: %bname
Summary: lz4 erlang binding
Version: 0.0.13
Release: 1
License: GPL-3.0
Group: Development/Tools/Other
URL: https://github.com/kafka4beam/%name
Source: %bname-%version.tar.xz
Patch1: 0001-Build-with-system-liblz4.patch
Patch2: 0002-lz4b_nif-add-no_inline-compile-option.patch
Provides: erlang-%bname = %version-%release
BuildRequires: rpm-macros-erlang rpm-build-erlang
BuildRequires: rebar >= 2.6.1-7
BuildRequires: pkgconfig(liblz4) >= 1.9.4
BuildRequires: rpm-macros-erlang rpm-build-erlang
BuildRequires: erts-devel
%description
lz4 erlang binding
%name is an LZ4 compression library for Erlang implemented as a NIF.
%package doc
Summary: Documentation of %name
Group: Documentation/HTML
Provides: erlang-%bname-doc = %version-%release
BuildArch: noarch
%description doc
lz4 erlang binding.
This package contains documentation of %bname.
%prep
%setup -q -n %bname-%version
%patch -p1 -P1 -P2
sed -ri 's|"(test_data/)|"../\1|g' src/%{bname}_frame.erl src/%{bname}_nif.erl
%build
erl -noshell -eval '
{ok, L} = file:consult("rebar.config"),
file:write_file("%bname.rebar.config", [[io_lib:print(E), ".\n"] || E <- lists:keydelete(deps, 1, L)], [raw]),
init:stop().'
CFLAGS="%optflags" ERL_COMPILER_OPTIONS="[inline,verbose]" rebar %{?_smp_mflags} -C %bname.rebar.config compile -v
rebar %{?_smp_mflags} -C %bname.rebar.config doc -v
%install
install -d -m 0755 %buildroot%_otplibdir/%bname-%version/ebin
install -p -m 0644 ebin/* %buildroot%_otplibdir/%bname-%version/ebin/
install -d -m 0755 %buildroot%_otplibdir/%bname-%version/priv
install -p -m 0755 priv/* %buildroot%_otplibdir/%bname-%version/priv/
install -d -m 0755 %buildroot%_docdir/%name
install -d -m 0755 %buildroot%_otplibdir/%bname-%version/doc
install -p -m 0644 doc/*.css doc/*.html doc/*.png %buildroot%_otplibdir/%bname-%version/doc/
ln -sf %_otplibdir/%bname-%version/doc %buildroot%_docdir/%name/html
install -p -m 0644 README* %buildroot%_docdir/%name/
%check
CFLAGS="%optflags" ERL_COMPILER_OPTIONS="[inline,verbose]" rebar %{?_smp_mflags} -C %bname.rebar.config eunit -v
%files
%defattr(-,root,root)
%_otplibdir/*
%exclude %_otplibdir/%bname-*/doc
%files doc
%defattr(-,root,root)
%doc %_docdir/%name
%doc %dir %_otplibdir/%bname-*
%doc %_otplibdir/%bname-*/doc
%changelog
* Mon Jun 02 2025 Led <ledest@gmail.com> 0.0.13-1
- 0.0.13
- add patches:
+ 0001-Build-with-system-liblz4.patch
+ 0002-lz4b_nif-add-no_inline-compile-option.patch