##
##  perl-time.spec -- OpenPKG RPM Package Specification
##  Copyright (c) 2000-2025 OpenPKG Project <http://openpkg.org/>
##
##  Permission to use, copy, modify, and distribute this software for
##  any purpose with or without fee is hereby granted, provided that
##  the above copyright notice and this permission notice appear in all
##  copies.
##
##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
##  SUCH DAMAGE.
##

#   versions of individual parts
%define       V_perl                    5.22
%define       V_time_date               2.30
%define       V_time_hires              1.9758
%define       V_time_local              1.2300
%define       V_date_manip              6.98
%define       V_date_calc               6.4
%define       V_class_date              1.1.10
%define       V_benchmark_timer         0.7112
%define       V_time_modules            2013.0912
%define       V_time_tai64              2.11
%define       V_datetime_locale         1.45
%define       V_datetime                0.66
%define       V_datetime_timezone       2.65
%define       V_datetime_businesshours  2.03
%define       V_datetime_format_natural 1.22
%define       V_datetime_format_mail    0.3001
%define       V_datetime_format_http    0.43
%define       V_datetime_format_w3cdtf  0.05
%define       V_time_piece              1.20
%define       V_time_duration           1.1
%define       V_time_progress           2.15

#   package information
Name:         perl-time
Summary:      Perl Modules for Date/Time Handling
URL:          http://www.cpan.org/
Vendor:       Perl Community
Packager:     OpenPKG Project
Distribution: OpenPKG Community
Class:        BASE
Group:        Perl
License:      GPL/Artistic
Version:      %{V_perl}
Release:      20251010

#   list of sources
Source0:      http://www.cpan.org/authors/id/G/GB/GBARR/TimeDate-%{V_time_date}.tar.gz
Source1:      http://www.cpan.org/authors/id/J/JH/JHI/Time-HiRes-%{V_time_hires}.tar.gz
Source2:      http://www.cpan.org/authors/id/D/DR/DROLSKY/Time-Local-%{V_time_local}.tar.gz
Source3:      http://www.cpan.org/authors/id/S/SB/SBECK/Date-Manip-%{V_date_manip}.tar.gz
Source4:      http://www.cpan.org/authors/id/S/ST/STBEY/Date-Calc-%{V_date_calc}.tar.gz
Source5:      http://www.cpan.org/authors/id/D/DL/DLUX/Class-Date-%{V_class_date}.tar.gz
Source6:      http://www.cpan.org/authors/id/D/DC/DCOPPIT/Benchmark-Timer-%{V_benchmark_timer}.tar.gz
Source7:      http://www.cpan.org/modules/by-module/Time/Time-modules-%{V_time_modules}.tar.gz
Source8:      http://www.cpan.org/authors/id/J/JO/JOVAL/Time-TAI64-%{V_time_tai64}.tar.gz
Source9:      http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-Locale-%{V_datetime_locale}.tar.gz
Source10:     http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-TimeZone-%{V_datetime_timezone}.tar.gz
Source11:     http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-%{V_datetime}.tar.gz
Source12:     http://www.cpan.org/authors/id/M/MS/MSERGEANT/Time-Piece-%{V_time_piece}.tar.gz
Source13:     http://www.cpan.org/authors/id/A/AV/AVIF/Time-Duration-%{V_time_duration}.tar.gz
Source14:     http://www.cpan.org/modules/by-module/DateTime/DateTime-BusinessHours-%{V_datetime_businesshours}.tar.gz
Source15:     http://www.cpan.org/authors/id/S/SC/SCHUBIGER/DateTime-Format-Natural-%{V_datetime_format_natural}.tar.gz
Source16:     http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-Format-Mail-%{V_datetime_format_mail}.tar.gz
Source17:     http://www.cpan.org/authors/id/C/CK/CKRAS/DateTime-Format-HTTP-%{V_datetime_format_http}.tar.gz
Source18:     http://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-Format-W3CDTF-%{V_datetime_format_w3cdtf}.tar.gz
Source19:     http://www.cpan.org/authors/id/C/CA/CADE/Time-Progress-%{V_time_progress}.tar.gz
Patch0:       perl-time.patch

#   build information
BuildPreReq:  OpenPKG, openpkg >= 20160101, perl >= %{V_perl}, perl-openpkg >= %{V_perl}-20040126
PreReq:       OpenPKG, openpkg >= 20160101, perl >= %{V_perl}
BuildPreReq:  perl-util, perl-ds, perl-stats, perl-module
PreReq:       perl-util, perl-ds, perl-stats, perl-module

%description
    Various Perl modules for Date and Time handling:
    - Time::Date (%{V_time_date})
    - Time::HiRes (%{V_time_hires})
    - Time::Local (%{V_time_local})
    - Date::Manip (%{V_date_manip})
    - Date::Calc (%{V_date_calc})
    - Class::Date (%{V_class_date})
    - Benchmark::Timer (%{V_benchmark_timer})
    - Time::Modules (%{V_time_modules})
    - Time::TAI64 (%{V_time_tai64})
    - DateTime (%{V_datetime})
    - DateTime::Locale (%{V_datetime_locale})
    - DateTime::TimeZone (%{V_datetime_timezone})
    - DateTime::BusinessHours (%{V_datetime_businesshours})
    - DateTime::Format::Natural (%{V_datetime_format_natural})
    - DateTime::Format::Mail (%{V_datetime_format_mail})
    - DateTime::Format::HTTP (%{V_datetime_format_http})
    - DateTime::Format::W3CDTF (%{V_datetime_format_w3cdtf})
    - Time::Piece (%{V_time_piece})
    - Time::Duration (%{V_time_duration})
    - Time::Progress (%{V_time_progress})

%track
    prog perl-time:Benchmark-Timer = {
        version   = %{V_benchmark_timer}
        url       = http://www.cpan.org/authors/id/D/DC/DCOPPIT/
        regex     = Benchmark-Timer-(__VER__)\.tar\.gz
    }
    prog perl-time:Class-Date = {
        version   = %{V_class_date}
        url       = http://www.cpan.org/authors/id/D/DL/DLUX/
        regex     = Class-Date-(__VER__)\.tar\.gz
    }
    prog perl-time:Date-Calc = {
        version   = %{V_date_calc}
        url       = http://www.cpan.org/authors/id/S/ST/STBEY/
        regex     = Date-Calc-(__VER__)\.tar\.gz
    }
    prog perl-time:DateManip = {
        version   = %{V_date_manip}
        url       = http://www.cpan.org/authors/id/S/SB/SBECK/
        regex     = Date-Manip-(__VER__)\.tar\.gz
    }
    prog perl-time:Time-modules = {
        version   = %{V_time_modules}
        url       = http://www.cpan.org/modules/by-module/Time/
        regex     = Time-modules-(__VER__)\.tar\.gz
    }
    prog perl-time:Time-HiRes = {
        version   = %{V_time_hires}
        url       = http://www.cpan.org/authors/id/J/JH/JHI/
        regex     = Time-HiRes-(__VER__)\.tar\.gz
    }
    prog perl-time:Time-Local = {
        version   = %{V_time_local}
        url       = http://www.cpan.org/authors/id/D/DR/DROLSKY/
        regex     = Time-Local-(__VER__)\.tar\.gz
    }
    prog perl-time:TimeDate = {
        version   = %{V_time_date}
        url       = http://www.cpan.org/authors/id/G/GB/GBARR/
        regex     = TimeDate-(__VER__)\.tar\.gz
    }
    prog perl-time:Time-TAI64 = {
        version   = %{V_time_tai64}
        url       = http://www.cpan.org/authors/id/J/JO/JOVAL/
        regex     = Time-TAI64-(__VER__)\.tar\.gz
    }
    prog perl-time:DateTime = {
        version   = %{V_datetime}
        url       = http://www.cpan.org/authors/id/D/DR/DROLSKY/
        regex     = DateTime-(\d+\.\d\d\d\d)\.tar\.gz
    }
    prog perl-time:DateTime-Locale = {
        version   = %{V_datetime_locale}
        url       = http://www.cpan.org/authors/id/D/DR/DROLSKY/
        regex     = DateTime-Locale-(\d+\.\d\d)\.tar\.gz
    }
    prog perl-time:DateTime-TimeZone = {
        version   = %{V_datetime_timezone}
        url       = http://www.cpan.org/authors/id/D/DR/DROLSKY/
        regex     = DateTime-TimeZone-(\d+\.\d\d)\.tar\.gz
    }
    prog perl-time:DateTime-BusinessHours = {
        version   = %{V_datetime_businesshours}
        url       = http://www.cpan.org/modules/by-module/DateTime/
        regex     = DateTime-BusinessHours-(__VER__)\.tar\.gz
    }
    prog perl-time:DateTime-Format-Natural = {
        version   = %{V_datetime_format_natural}
        url       = http://www.cpan.org/authors/id/S/SC/SCHUBIGER/
        regex     = DateTime-Format-Natural-(__VER__)\.tar\.gz
    }
    prog perl-time:DateTime-Format-Mail = {
        version   = %{V_datetime_format_mail}
        url       = http://www.cpan.org/authors/id/D/DR/DROLSKY/
        regex     = DateTime-Format-Mail-(__VER__)\.tar\.gz
    }
    prog perl-time:DateTime-Format-HTTP = {
        version   = %{V_datetime_format_http}
        url       = http://www.cpan.org/authors/id/C/CK/CKRAS/
        regex     = DateTime-Format-HTTP-(__VER__)\.tar\.gz
    }
    prog perl-time:DateTime-Format-W3CDTF = {
        version   = %{V_datetime_format_w3cdtf}
        url       = http://www.cpan.org/authors/id/D/DR/DROLSKY/
        regex     = DateTime-Format-W3CDTF-(__VER__)\.tar\.gz
    }
    prog perl-time:Time-Piece = {
        version   = %{V_time_piece}
        url       = http://www.cpan.org/authors/id/M/MS/MSERGEANT/
        regex     = Time-Piece-(__VER__)\.tar\.gz
    }
    prog perl-time:Time-Duration = {
        version   = %{V_time_duration}
        url       = http://www.cpan.org/authors/id/A/AV/AVIF/
        regex     = Time-Duration-(__VER__)\.tar\.gz
    }
    prog perl-time:Time-Progress = {
        version   = %{V_time_progress}
        url       = http://www.cpan.org/authors/id/C/CA/CADE/
        regex     = Time-Progress-(__VER__)\.tar\.gz
    }

%prep
    %setup -q -c
    %setup -q -T -D -a 1
    %setup -q -T -D -a 2
    %setup -q -T -D -a 3
    %setup -q -T -D -a 4
    %setup -q -T -D -a 5
    %setup -q -T -D -a 6
    %setup -q -T -D -a 7
    %setup -q -T -D -a 8
    %setup -q -T -D -a 9
    %setup -q -T -D -a 10
    %setup -q -T -D -a 11
    %setup -q -T -D -a 12
    %setup -q -T -D -a 13
    %setup -q -T -D -a 14
    %setup -q -T -D -a 15
    %setup -q -T -D -a 16
    %setup -q -T -D -a 17
    %setup -q -T -D -a 18
    %setup -q -T -D -a 19
    %patch -p0

%build

%install
    %{l_prefix}/bin/perl-openpkg prepare
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE0}  configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE1}  configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE2}  configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE3}  configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE4}  configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE5}  configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE6}  configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE7}  configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE8}  configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE9}  configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE10} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE11} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE12} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE13} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE14} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE15} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE16} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE17} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE18} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE19} configure build install
    #   FIXME: remove the Date::Calc conflict files
    %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup
    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} `cat perl-openpkg-files`

%files -f files

%clean

