File perl-Date-ISO8601.spec of Package perl-Date-ISO8601

#
# spec file for package perl-Date-ISO8601 (Version 0.004)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

Name:           perl-Date-ISO8601
Version:        0.004
Release:        1
License:        GPL+ or Artistic
%define cpan_name Date-ISO8601
Summary:        the three ISO 8601 numerical calendars
Url:            http://search.cpan.org/dist/Date-ISO8601/
Group:          Development/Libraries/Perl
Source:         http://www.cpan.org/authors/id/Z/ZE/ZEFRAM/%{cpan_name}-%{version}.tar.gz
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  perl
BuildRequires:  perl(Module::Build)
BuildRequires:  perl-macros
BuildRequires:  perl(Carp)
BuildRequires:  perl(constant)
BuildRequires:  perl(Exporter)
BuildRequires:  perl(integer)
BuildRequires:  perl(Module::Build)
BuildRequires:  perl(parent)
BuildRequires:  perl(strict)
BuildRequires:  perl(Test::More)
BuildRequires:  perl(warnings)
Requires:       perl(Carp)
Requires:       perl(constant)
Requires:       perl(Exporter)
Requires:       perl(integer)
Requires:       perl(parent)
Requires:       perl(strict)
Requires:       perl(warnings)
%{perl_requires}

%description
The international standard ISO 8601 "Data elements and interchange formats
- Information interchange - Representation of dates and times" defines
three distinct calendars by which days can be labelled. It also defines
textual formats for the representation of dates in these calendars. This
module provides functions to convert dates between these three calendars
and Chronological Julian Day Numbers, which is a suitable format to do
arithmetic with. It also supplies functions that describe the shape of
these calendars, to assist in calendrical calculations. It also supplies
functions to represent dates textually in the ISO 8601 formats. ISO 8601
also covers time of day and time periods, but this module does nothing
relating to those parts of the standard; this is only about labelling days.

The first ISO 8601 calendar divides time up into years, months, and days.
It corresponds exactly to the Gregorian calendar, invented by Aloysius
Lilius and promulgated by Pope Gregory XIII in the late sixteenth century,
with AD (CE) year numbering. This calendar is applied to all time, not just
to dates after its invention nor just to years 1 and later. Thus for
ancient dates it is the proleptic Gregorian calendar with astronomical year
numbering.

The second ISO 8601 calendar divides time up into the same years as the
first, but divides the year directly into days, with no months. The
standard calls this "ordinal dates". Ordinal dates are commonly referred to
as "Julian dates", a mistake apparently deriving from true Julian Day
Numbers, which divide time up solely into linearly counted days.

The third ISO 8601 calendar divides time up into years, weeks, and days.
The years approximate the years of the first two calendars, so they stay in
step in the long term, but the boundaries differ. This week-based calendar
is sometimes called "the ISO calendar", apparently in the belief that ISO
8601 does not define any other. It is also referred to as "business dates",
because it is most used by certain businesses to whom the week is the most
important temporal cycle.

The Chronological Julian Day Number is an integral number labelling each
day, where the day extends from midnight to midnight in whatever time zone
is of interest. It is a linear count of days, where each day's number is
one greater than the previous day's number. It is directly related to the
Julian Date system: in the time zone of the prime meridian, the CJDN equals
the JD at noon. By way of epoch, the day on which the Convention of the
Metre was signed, which ISO 8601 defines to be 1875-05-20 (and 1875-140 and
1875-W20-4), is CJDN 2406029.

This module places no limit on the range of dates to which it may be
applied. All function arguments are permitted to be 'Math::BigInt' or
'Math::BigRat' objects in order to achieve arbitrary range. Native Perl
integers are also permitted, as a convenience when the range of dates being
handled is known to be sufficiently small.

%prep
%setup -q -n %{cpan_name}-%{version}

%build
%{__perl} Build.PL installdirs=vendor
./Build build flags=%{?_smp_mflags}

%check
./Build test

%install
./Build install destdir=%{buildroot} create_packlist=0
%perl_gen_filelist

%clean
%{__rm} -rf %{buildroot}

%files -f %{name}.files
%defattr(-,root,root,755)
%doc Changes README

%changelog
openSUSE Build Service is sponsored by