File folsom.spec of Package folsom

%define bname folsom
Name: %bname
Version: 0.8.2
Release: 2
Summary: Erlang based metrics system
License: Apache-2.0
Group: Development/Tools/Other
URL: https://github.com/basho/%bname
Source: %bname-%version.tar.xz
#Patch: %bname-%version-git.patch
BuildArch: noarch
Provides: erlang-%bname = %version-%release

BuildRequires: rpm-macros-erlang rpm-build-erlang
BuildRequires: rebar >= 2.6.1-7
%if 0
# check
BuildRequires: erlang-bear erlang-meck
%endif

%description
Folsom is an Erlang based metrics system inspired by Coda Hale's metrics
(https://github.com/dropwizard/metrics). The metrics API's purpose is to collect
realtime metrics from your Erlang applications and publish them via Erlang APIs
and output plugins. folsom is not a persistent store. There are 6 types of
metrics: counters, gauges, histograms (and timers), histories, meter_readers and
meters. Metrics can be created, read and updated via the `folsom_metrics` module.


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

%description devel
Headers of %bname.


%prep
%setup -q -n %bname-%version
#patch -p1
erl -noshell -eval '
A = "src/%bname.app.src",
{ok, [{application, %bname, L}]} = file:consult(A),
file:write_file(A, io_lib:format("{application, %bname, ~81p}.~n", [lists:keystore(vsn, 1, L, {vsn, "%version"})])),
halt().'


%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, [slim, inline, no_debug_info|lists:delete(debug_info, proplists:get_value(erl_opts, L, []))]}|lists:foldl(fun proplists:delete/2, L, [erl_opts, deps, cover_enabled])])),
halt().'
rebar -C %bname.rebar.config compile -v
rebar -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/


%if 0
%check
rebar -C %bname.rebar.config eunit
%endif


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


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


%changelog
* Mon Feb 13 2017 Led <ledest@gmail.com> 0.8.2-2
- add Provides

* Sun Feb 12 2017 Led <ledest@gmail.com> 0.8.2-1
- initial build