perl-Test-Number-Delta/perl-Test-Number-Delta.spec

73 lines
3.1 KiB
RPMSpec

%define perl_major_ver %(eval `perl -V:version`; echo ${version%*.[0-9]*}.0)
Name: perl-Test-Number-Delta
Version: 1.03
Release: 3mamba
Summary: Test::Number::Delta - Compare the difference between numbers against a given tolerance
Group: System/Libraries/Perl
Vendor: openmamba
Distribution: openmamba
Packager: Automatic Build System <autodist@mambasoft.it>
URL: http://www.cpan.org
Source: http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/Test-Number-Delta-%{version}.tar.gz
License: GPL, Artistic
Requires: perl >= %perl_major_ver
BuildRequires: perl-devel >= %perl_major_ver
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
At some point or another, most programmers find they need to compare floating-point numbers for equality. The typical idiom is to test if the absolute value of the difference of the numbers is within a desired tolerance, usually called epsilon. This module provides such a function for use with Test::Harness. Usage is similar to other test functions described in Test::More. Semantically, the delta_within function replaces this kind of construct:
ok ( abs($p - $q) < $epsilon, '$p is equal to $q' ) or
diag "$p is not equal to $q to within $epsilon";
While there's nothing wrong with that construct, it's painful to type it repeatedly in a test script. This module does the same thing with a single function call. The delta_ok function is similar, but either uses a global default value for epsilon or else calculates a 'relative' epsilon on the fly so that epsilon is scaled automatically to the size of the arguments to delta_ok. Both functions are exported automatically.
Because checking floating-point equality is not always reliable, it is not possible to check the 'equal to' boundary of 'less than or equal to epsilon'. Therefore, Test::Number::Delta only compares if the absolute value of the difference is less than epsilon (for equality tests) or greater than epsilon (for inequality tests).
%prep
%setup -q -n Test-Number-Delta-%{version}
%build
perl Build.PL installdirs=vendor
./Build
./Build test
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
./Build install \
destdir="%{buildroot}" \
--install_path bindoc="%{_mandir}/man1" \
--install_path libdoc="%{_mandir}/man3"
packlist=`find %{buildroot} -name .packlist`
[ -z "$packlist" ] && exit 1 || cat $packlist | \
sed "s,%buildroot,,g;s,.*/man/.*,&.gz,g" | \
sort -u > .packlist && rm $packlist
find %{buildroot}%{perl_vendorlib} \
-type d -depth -exec rmdir {} 2>/dev/null \;
strid=`echo $packlist | sed 's,.*auto\(.*\)/.packlist,\1,'`
for dir in `find %{buildroot} -type d | grep $strid`; do
echo %dir ${dir#%buildroot} >> .packlist
done
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
rm -f .packlist
%files -f .packlist
%defattr(-,root,root)
%changelog
* Thu Aug 29 2013 Automatic Build System <autodist@mambasoft.it> 1.03-3mamba
- automatic rebuild by autodist
* Wed Nov 05 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 1.03-2mamba
- automatic rebuild by autodist
* Mon Oct 20 2008 gil <puntogil@libero.it> 1.03-1mamba
- package created by autospec