%define upstream_name Data-Domain %define upstream_version 1.03 Name: perl-%{upstream_name} Version: %perl_convert_version %{upstream_version} Release: %mkrel 2 Summary: Data description and validation License: GPL+ or Artistic Group: Development/Perl Url: http://search.cpan.org/dist/%{upstream_name} Source0: http://www.cpan.org/modules/by-module/Data/%{upstream_name}-%{upstream_version}.tar.gz BuildRequires: perl(Date::Calc) BuildRequires: perl(List::Util) BuildRequires: perl(Module::Build) >= 0.400.0 BuildRequires: perl(Scalar::Does) >= 0.7.0 BuildRequires: perl(Scalar::Util) BuildRequires: perl(Sub::Exporter) BuildRequires: perl(Test::More) BuildRequires: perl(Try::Tiny) BuildRequires: perl(autouse) BuildArch: noarch %description A data domain is a description of a set of values, either scalar or structured (arrays or hashes). The description can include many constraints, like minimal or maximal values, regular expressions, required fields, forbidden fields, and also contextual dependencies. From that description, one can then invoke the domain's 'inspect' method to check if a given value belongs to it or not. In case of mismatch, a structured set of error messages is returned. The motivation for writing this package was to be able to express in a compact way some possibly complex constraints about structured data. Typically the data is a Perl tree (nested hashrefs or arrayrefs) that may come from XML, JSON, from a database through DBIx::DataModel, or from postprocessing an HTML form through CGI::Expand. 'Data::Domain' is a kind of tree parser on that structure, with some facilities for dealing with dependencies within the structure, and with several options to finely tune the error messages returned to the user. There are several other packages in CPAN doing data validation; these are briefly listed in the the /"SEE ALSO" manpage section. %prep %setup -q -n %{upstream_name}-%{upstream_version} %build %{__perl} Build.PL installdirs=vendor ./Build %check ./Build test %install ./Build install destdir=%{buildroot} %files %doc Changes META.json META.yml MYMETA.yml README %{_mandir}/man3/* %perl_vendorlib/* %changelog * Sun Jan 13 2013 umeabot <umeabot> 1.30.0-2.mga3 + Revision: 365273 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Tue Jan 08 2013 jquelin <jquelin> 1.30.0-1.mga3 + Revision: 342027 - update to 1.03 * Wed Nov 07 2012 jquelin <jquelin> 1.20.0-1.mga3 + Revision: 316097 - update to 1.02 * Sun Oct 21 2012 jquelin <jquelin> 1.10.0-1.mga3 + Revision: 308745 - adding missing buildrequires: - imported package perl-Data-Domain