##
##  perl-vcs.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_algorithm_diff  1.1903
%define       V_algorithm_merge 0.08
%define       V_vcs             0.16
%define       V_vcs_lite        0.12
%define       V_vcs_rcs_parser  0.07
%define       V_vcs_libcvs      1.0002
%define       V_rcs             1.05
%define       V_rcs_agent       1.05
%define       V_rcs_parser      0.07
%define       V_text_diff       1.37
%define       V_text_patch      1.8
%define       V_svn_look        0.43
%define       V_mtn_automate    1.10

#   package information
Name:         perl-vcs
Summary:      Perl Modules for use with Version Control Systems (VCS)
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:      20220522

#   list of sources
Source0:      http://www.cpan.org/authors/id/T/TY/TYEMQ/Algorithm-Diff-%{V_algorithm_diff}.tar.gz
Source1:      http://www.cpan.org/authors/id/J/JS/JSMITH/Algorithm-Merge-%{V_algorithm_merge}.tar.gz
Source2:      http://www.cpan.org/authors/id/M/MK/MKANAT/VCS-%{V_vcs}.tar.gz
Source3:      http://www.cpan.org/authors/id/B/BA/BARBIE/VCS-Lite-%{V_vcs_lite}.tar.gz
Source4:      http://www.cpan.org/authors/id/Z/ZI/ZIYA/VCS-Rcs-Parser-%{V_vcs_rcs_parser}.tar.gz
Source5:      http://www.cpan.org/authors/id/D/DI/DISSENT/VCS-LibCVS-%{V_vcs_libcvs}.tar.gz
Source6:      http://www.cpan.org/authors/id/C/CF/CFRETER/Rcs-%{V_rcs}.tar.gz
Source7:      http://www.cpan.org/authors/id/N/NI/NICKH/Rcs-Agent-%{V_rcs_agent}.tar.gz
Source8:      http://www.cpan.org/authors/id/B/BE/BENNIE/Rcs-Parser-%{V_rcs_parser}.tar.gz
Source9:      http://www.cpan.org/authors/id/A/AD/ADAMK/Text-Diff-%{V_text_diff}.tar.gz
Source10:     http://www.cpan.org/authors/id/C/CA/CADE/Text-Patch-%{V_text_patch}.tar.gz
Source11:     http://www.cpan.org/modules/by-module/SVN/SVN-Look-%{V_svn_look}.tar.gz
Source12:     http://www.cpan.org/authors/id/A/AE/AECOOPER/monotone/Monotone-AutomateStdio-%{V_mtn_automate}.tar.gz
Patch0:       perl-vcs.patch

#   build information
BuildPreReq:  OpenPKG, openpkg >= 20160101, perl >= %{V_perl}, perl-openpkg >= %{V_perl}-20040126
PreReq:       OpenPKG, openpkg >= 20160101, perl >= %{V_perl}
BuildPreReq:  perl-net
PreReq:       perl-net

%description
    Various modules for using the DBI API of Perl:
    - Algorithm::Diff (%{V_algorithm_diff})
    - Algorithm::Merge (%{V_algorithm_merge})
    - VCS (%{V_vcs})
    - VCS::Lite (%{V_vcs_lite})
    - VCS::Rcs::Parser (%{V_vcs_rcs_parser})
    - VCS::LibCVS (%{V_vcs_libcvs})
    - Rcs (%{V_rcs})
    - Rcs::Agent (%{V_rcs_agent})
    - Rcs::Parser (%{V_rcs_parser})
    - Text::Diff (%{V_text_diff})
    - Text::Patch (%{V_text_patch})
    - SVN::Look (%{V_svn_look})
    - Monotone::AutomateStdio (%{V_mtn_automate})

%track
    prog perl-vcs:Algorithm-Diff = {
        version   = %{V_algorithm_diff}
        url       = http://www.cpan.org/authors/id/T/TY/TYEMQ/
        regex     = Algorithm-Diff-(__VER__)\.tar\.gz
    }
    prog perl-vcs:Algorithm-Merge = {
        version   = %{V_algorithm_merge}
        url       = http://www.cpan.org/authors/id/J/JS/JSMITH/
        regex     = Algorithm-Merge-(__VER__)\.tar\.gz
    }
    prog perl-vcs:VCS = {
        version   = %{V_vcs}
        url       = http://www.cpan.org/authors/id/M/MK/MKANAT/
        regex     = VCS-(__VER__)\.tar\.gz
    }
    prog perl-vcs:VCS-Lite = {
        version   = %{V_vcs_lite}
        url       = http://www.cpan.org/authors/id/B/BA/BARBIE/
        regex     = VCS-Lite-(__VER__)\.tar\.gz
    }
    prog perl-vcs:VCS-Rcs-Parser = {
        version   = %{V_vcs_rcs_parser}
        url       = http://www.cpan.org/authors/id/Z/ZI/ZIYA/
        regex     = VCS-Rcs-Parser-(__VER__)\.tar\.gz
    }
    prog perl-vcs:VCS-LibCVS = {
        version   = %{V_vcs_libcvs}
        url       = http://www.cpan.org/authors/id/D/DI/DISSENT/
        regex     = VCS-LibCVS-(__VER__)\.tar\.gz
    }
    prog perl-vcs:Rcs = {
        version   = %{V_rcs}
        url       = http://www.cpan.org/authors/id/C/CF/CFRETER/
        regex     = Rcs-(__VER__)\.tar\.gz
    }
    prog perl-vcs:Rcs-Agent = {
        version   = %{V_rcs_agent}
        url       = http://www.cpan.org/authors/id/N/NI/NICKH/
        regex     = Rcs-Agent-(__VER__)\.tar\.gz
    }
    prog perl-vcs:Rcs-Parser = {
        version   = %{V_rcs_parser}
        url       = http://www.cpan.org/modules/by-module/Rcs/
        regex     = [^-]Rcs-Parser-(__VER__)\.tar\.gz
    }
    prog perl-vcs:Text-Diff = {
        version   = %{V_text_diff}
        url       = http://www.cpan.org/authors/id/A/AD/ADAMK/
        regex     = Text-Diff-(__VER__)\.tar\.gz
    }
    prog perl-vcs:Text-Patch = {
        version   = %{V_text_patch}
        url       = http://www.cpan.org/authors/id/C/CA/CADE/
        regex     = Text-Patch-(__VER__)\.tar\.gz
    }
    prog perl-vcs:SVN-Look = {
        version   = %{V_svn_look}
        url       = http://www.cpan.org/modules/by-module/SVN/
        regex     = SVN-Look-(__VER__)\.tar\.gz
    }
    prog perl-vcs:Monotone-AutomateStdio = {
        version   = %{V_mtn_automate}
        url       = http://www.cpan.org/authors/id/A/AE/AECOOPER/monotone/
        regex     = Monotone-AutomateStdio-(__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
    %patch -p0

%build

%install
    %{l_shtool} subst %{l_value -s -a} \
        SVN-Look-%{V_svn_look}/lib/SVN/Look.pm
    %{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 -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

