Blob Blame History Raw
%global realname folsom
%global upstream boundary
%global debug_package %{nil}
%global git_tag c0019b3
%global patchnumber 0


Name:		erlang-%{realname}
Version:	0.7.1
Release:	1%{?dist}
Summary:	Erlang-based metrics system
Group:		Development/Languages
License:	ASL 2.0
URL:		https://github.com/boundary/folsom
# wget --content-disposition https://github.com/boundary/folsom/tarball/0.7.1
Source0:	%{upstream}-%{realname}-%{version}-%{patchnumber}-g%{git_tag}.tar.gz
# Backported from upstream
Patch1:		erlang-folsom-0001-Fix-for-single-core-CPU.patch
# Fedora/EPEL-specific
Patch2:		erlang-folsom-0002-Don-t-check-for-deps.patch
# EPEL-specific, backported from upstream
Patch3:		erlang-folsom-0003-Comment-out-deprecated-system_info-field.patch
# PowerPC-specific, backported from upstream
Patch4:		erlang-folsom-0004-Fix-for-PowerPC.patch
# Fedora/EPEL-specific
Patch5:		erlang-folsom-0005-Fix-version-string.patch
BuildRequires:	erlang-bear
BuildRequires:	erlang-meck
BuildRequires:	erlang-rebar
Requires:	erlang-bear%{?_isa}
Requires:	erlang-erts%{?_isa}
Requires:	erlang-kernel%{?_isa}
# Error:erlang(timer:tc/1) in R14B and below
# Error:erlang(timer:tc/2) in R13B and below
Requires:	erlang-stdlib%{?_isa} >= R15B


%description
Folsom is an Erlang based metrics system inspired by Coda Hale's 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.


%prep
%setup -q -n %{upstream}-%{realname}-%{git_tag}
%patch1 -p1 -b .fix_test
%patch2 -p1 -b .nodeps
%patch3 -p1 -b .r15b
%ifarch ppc %{power64}
%patch4 -p1 -b .ppc
%endif
%patch5 -p1 -b .version


%build
rebar compile -v


%install
install -D -m 644 ebin/%{realname}.app $RPM_BUILD_ROOT%{_libdir}/erlang/lib/%{realname}-%{version}/ebin/%{realname}.app
install -m 644 ebin/%{realname}.beam $RPM_BUILD_ROOT%{_libdir}/erlang/lib/%{realname}-%{version}/ebin/
install -m 644 ebin/%{realname}_*.beam $RPM_BUILD_ROOT%{_libdir}/erlang/lib/%{realname}-%{version}/ebin/
install -D -m 644 include/%{realname}.hrl $RPM_BUILD_ROOT%{_libdir}/erlang/lib/%{realname}-%{version}/include/%{realname}.hrl


%check
rebar eunit -v


%files
%doc KNOWN_ISSUES.md LICENSE README.md ROADMAP.md
%dir %{_libdir}/erlang/lib/%{realname}-%{version}
%dir %{_libdir}/erlang/lib/%{realname}-%{version}/ebin
%dir %{_libdir}/erlang/lib/%{realname}-%{version}/include
%{_libdir}/erlang/lib/%{realname}-%{version}/ebin/%{realname}.app
%{_libdir}/erlang/lib/%{realname}-%{version}/ebin/%{realname}.beam
%{_libdir}/erlang/lib/%{realname}-%{version}/ebin/%{realname}_*.beam
%{_libdir}/erlang/lib/%{realname}-%{version}/include/%{realname}.hrl


%changelog
* Sun Sep 02 2012 Peter Lemenkov <lemenkov@gmail.com> - 0.7.1-1
- Initial build