File riakc.spec of Package riakc

%define bname riakc
%define rname riak-erlang-client
Name: %bname
Version: 2.5.3
Release: 7
Summary: Riak Erlang Client
License: Apache-2.0
Group: Development/Tools/Other
URL: https://github.com/basho/%rname
Source: %rname-%version.tar.xz
#Patch: %bname-%version-git.patch
BuildArch: noarch
Requires: erlang-protobuffs >= 0.9.0
Provides: %rname = %version-%release
Provides: erlang-%bname = %version-%release
Requires: riak_pb >= 2.3.0

BuildRequires: rpm-macros-erlang rpm-build-erlang
BuildRequires: rebar >= 2.6.1-7
BuildRequires: riak_pb-devel >= 2.3.0
# check
BuildRequires: epmd
BuildRequires: riak_pb >= 2.3.0

%description
%summary.


%package devel
Summary: Headers of %bname
Group: Development/Tools/Other
Provides: %rname-devel = %version-%release
Provides: erlang-%bname-devel = %version-%release

%description devel
Headers of %bname.


%package doc
Summary: Documentation of %bname
Group: Documentation/HTML
Provides: erlang-%bname-doc = %version-%release
Conflicts: %name < 2.5.3-5

%description doc
Documentation of %bname.


%prep
%setup -q -n %rname-%version
#patch -p1
sed -i '/require_otp_vsn/s/\(|19\)"/\1|20|21|22|23"/' rebar.config
erl -noshell -eval '
{ok, [{application, %bname, L}]} = file:consult("src/%bname.app.src"),
file:write_file("src/%bname.app.src",
                io_lib:format("{application, %bname, ~81p}.~n", [lists:keystore(vsn, 1, L, {vsn, "%version"})]),
                [raw]),
init:stop().'


%build
erl -noshell -eval '
{ok, L} = file:consult("rebar.config"),
file:write_file("%bname.rebar.config",
                lists:map(fun(E) -> [io_lib:print(E), ".\n"] end,
                          [{erl_opts,
                            [{platform_define, "^(1[89]|[2-9][0-9])", deprecated_19}
                             |lists:keydelete(deprecated_19, 3,
                                              lists:delete(debug_info, proplists:get_value(erl_opts, L, [])))]},
                           {edoc_opts, proplists:delete(dir, proplists:get_value(edoc_opts, L, []))}
                           |lists:foldl(fun proplists:delete/2, L, [erl_opts, edoc_opts, deps, cover_enabled])]),
                [raw]),
init:stop().'
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/include
install -p -m 0644 include/* %buildroot%_otplibdir/%bname-%version/include/
install -d -m 0755 %buildroot%_otplibdir/%bname-%version/doc
install -p -m 0644 doc/*.{css,html,png} %buildroot%_otplibdir/%bname-%version/doc/
install -d -m 0755 %buildroot%_docdir/%name
ln -sf %_otplibdir/%name-%version/doc %buildroot%_docdir/%name/html
install -p -m 0644 *.md %buildroot%_docdir/%name/


%check
ERL_COMPILER_OPTIONS="[inline,nowarn_export_all,verbose]" rebar -C %bname.rebar.config eunit


%files
%defattr(-,root,root)
%_otplibdir/*
%exclude %_otplibdir/*/include
%exclude %_otplibdir/%bname-*/doc


%files devel
%defattr(-,root,root)
%dir %_otplibdir
%_otplibdir/*/include


%files doc
%defattr(-,root,root)
%doc %_docdir/%name
%doc %dir %_otplibdir/%bname-*
%doc %_otplibdir/%bname-*/doc


%changelog
* Tue May 19 2020 Led <ledest@gmail.com> 2.5.3-7
- fix build on erlang 1:23

* Mon Jul 01 2019 Led <ledest@gmail.com> 2.5.3-6
- fix build on erlang 1:22

* Fri Jan 11 2019 Led <ledest@gmail.com> 2.5.3-5
- fix build tests on OTP >= 20
- move dosc to separate subpackage

* Tue Oct 02 2018 Led <ledest@gmail.com> 2.5.3-4
- fix build on erlang 1:21
- enable %%check

* Sat Aug 12 2017 Led <ledest@gmail.com> 2.5.3-3
- fix build on erlang 1:18

* Sun May 21 2017 Led <ledest@gmail.com> 2.5.3-2
- fix build with Erlang/OTP 20

* Sun Apr 02 2017 Led <ledest@gmail.com> 2.5.3-1
- 2.5.3

* Sun Feb 12 2017 Led <ledest@gmail.com> 2.5.1-2
- disable %%check

* Sun Feb 12 2017 Led <ledest@gmail.com> 2.5.1-1
- initial build
openSUSE Build Service is sponsored by