##
##  perl-conv.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_convert_asn1             0.27
%define       V_convert_ber              1.32
%define       V_convert_ebcdic           0.06
%define       V_convert_scalar           1.12
%define       V_convert_units            0.43
%define       V_convert_uulib            1.71
%define       V_convert_tnef             0.18
%define       V_canary_stability         2013

#   package information
Name:         perl-conv
Summary:      Perl Modules for Conversions
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:      20200317

#   list of sources
Source0:      http://www.cpan.org/authors/id/G/GB/GBARR/Convert-ASN1-%{V_convert_asn1}.tar.gz
Source1:      http://www.cpan.org/authors/id/G/GB/GBARR/Convert-BER-%{V_convert_ber}.tar.gz
Source2:      http://www.cpan.org/authors/id/C/CX/CXL/Convert-EBCDIC-%{V_convert_ebcdic}.tar.gz
Source3:      http://www.cpan.org/authors/id/M/ML/MLEHMANN/Canary-Stability-%{V_canary_stability}.tar.gz
Source4:      http://www.cpan.org/authors/id/M/ML/MLEHMANN/Convert-Scalar-%{V_convert_scalar}.tar.gz
Source5:      http://download.openpkg.org/components/orphaned/Convert-Units-%{V_convert_units}.tar.gz
Source6:      http://www.cpan.org/authors/id/M/ML/MLEHMANN/Convert-UUlib-%{V_convert_uulib}.tar.gz
Source7:      http://www.cpan.org/authors/id/D/DO/DOUGW/Convert-TNEF-%{V_convert_tnef}.tar.gz

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

%description
    Perl modules for Conversions:
    - Convert::ASN1 (%{V_convert_asn1})
    - Convert::BER (%{V_convert_ber})
    - Convert::EBCDIC (%{V_convert_ebcdic})
    - Convert::Scalar (%{V_convert_scalar})
    - Convert::Units (%{V_convert_units})
    - Convert::UUlib (%{V_convert_uulib})
    - Convert::TNEF (%{V_convert_tnef})
    - Canary::Stability (%{V_canary_stability})

%track
    prog perl-conv:Convert-ASN1 = {
        version   = %{V_convert_asn1}
        url       = http://www.cpan.org/authors/id/G/GB/GBARR/
        regex     = Convert-ASN1-(__VER__)\.tar\.gz
    }
    prog perl-conv:Convert-BER = {
        version   = %{V_convert_ber}
        url       = http://www.cpan.org/authors/id/G/GB/GBARR/
        regex     = Convert-BER-(__VER__)\.tar\.gz
    }
    prog perl-conv:Convert-EBCDIC = {
        version   = %{V_convert_ebcdic}
        url       = http://www.cpan.org/authors/id/C/CX/CXL/
        regex     = Convert-EBCDIC-(__VER__)\.tar\.gz
    }
    prog perl-conv:Convert-Scalar = {
        version   = %{V_convert_scalar}
        url       = http://www.cpan.org/authors/id/M/ML/MLEHMANN/
        regex     = Convert-Scalar-(__VER__)\.tar\.gz
    }
    prog perl-conv:Convert-Units = {
        disabled
        comment   = "rse: disappeared from CPAN"
        version   = %{V_convert_units}
        url       = http://download.openpkg.org/components/orphaned/
        regex     = Convert-Units-(__VER__)\.tar\.gz
    }
    prog perl-conv:Convert-UUlib = {
        version   = %{V_convert_uulib}
        url       = http://www.cpan.org/authors/id/M/ML/MLEHMANN/
        regex     = Convert-UUlib-(__VER__)\.tar\.gz
    }
    prog perl-conv:Convert-TNEF = {
        version   = %{V_convert_tnef}
        url       = http://www.cpan.org/authors/id/D/DO/DOUGW/
        regex     = Convert-TNEF-(__VER__)\.tar\.gz
    }
    prog perl-conv:Canary-Stability = {
        version   = %{V_canary_stability}
        url       = http://www.cpan.org/authors/id/M/ML/MLEHMANN/
        regex     = Canary-Stability-(__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

%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

    ( cd Convert-UUlib-%{V_convert_uulib}
      echo "ac_cv_header_malloc_h=no" >uulib/config.cache
      %{l_shtool} subst \
          -e 's;\./configure;./configure --cache-file=./config.cache;' \
          Makefile.PL
    ) || exit $?

    %{l_prefix}/bin/perl-openpkg -d %{SOURCE7} 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

