##
##  perl-poe.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_poe_test_loops                  1.360
%define       V_poe                             1.367
%define       V_poe_component_child             1.39
%define       V_poe_component_server_http       0.09
%define       V_poe_component_server_preforktcp 0.11
%define       V_poe_component_server_soap       1.14
%define       V_poe_session_multidispatch       1.3

#   package information
Name:         perl-poe
Summary:      Perl Modules for use with POE
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:      20150606

#   list of sources
Source0:      http://www.cpan.org/authors/id/R/RC/RCAPUTO/POE-Test-Loops-%{V_poe_test_loops}.tar.gz
Source1:      http://www.cpan.org/authors/id/R/RC/RCAPUTO/POE-%{V_poe}.tar.gz
Source2:      http://www.cpan.org/authors/id/E/EC/ECALDER/POE-Component-Child-%{V_poe_component_child}.tar.gz
Source3:      http://www.cpan.org/authors/id/R/RC/RCLAMP/POE-Component-Server-HTTP-%{V_poe_component_server_http}.tar.gz
Source4:      http://www.cpan.org/authors/id/W/WA/WANG/POE-Component-Server-PreforkTCP-%{V_poe_component_server_preforktcp}.tar.gz
Source5:      http://www.cpan.org/authors/id/A/AP/APOCAL/POE-Component-Server-SOAP-%{V_poe_component_server_soap}.tar.gz
Source6:      http://www.cpan.org/authors/id/C/CW/CWEST/POE-Session-MultiDispatch-%{V_poe_session_multidispatch}.tar.gz

#   build information
BuildPreReq:  OpenPKG, openpkg >= 20160101, perl >= %{V_perl}, perl-openpkg >= %{V_perl}-20040126
PreReq:       OpenPKG, openpkg >= 20160101, perl >= %{V_perl}
BuildPreReq:  perl-time, perl-sys, perl-comp, perl-www, perl-term
PreReq:       perl-time, perl-sys, perl-comp, perl-www, perl-term

%description
    Various modules for using POE:
    - POE::Test::Loops (%{V_poe_test_loops})
    - POE (%{V_poe})
    - POE::Component::Child (%{V_poe_component_child})
    - POE::Component::Server::HTTP (%{V_poe_component_server_http})
    - POE::Component::Server::PreforkTCP (%{V_poe_component_server_preforktcp})
    - POE::Component::Server::SOAP (%{V_poe_component_server_soap})
    - POE::Session::MultiDispatch (%{V_poe_session_multidispatch})

%track
    prog perl-poe:POE-Test-Loops = {
        version   = %{V_poe_test_loops}
        url       = http://www.cpan.org/authors/id/R/RC/RCAPUTO/
        regex     = POE-Test-Loops-(__VER__)\.tar\.gz
    }
    prog perl-poe:POE = {
        version   = %{V_poe}
        url       = http://www.cpan.org/authors/id/R/RC/RCAPUTO/
        regex     = POE-(__VER__)\.tar\.gz
    }
    prog perl-poe:POE-Component-Child = {
        version   = %{V_poe_component_child}
        url       = http://www.cpan.org/authors/id/E/EC/ECALDER/
        regex     = POE-Component-Child-(__VER__)\.tar\.gz
    }
    prog perl-poe:POE-Component-Server-HTTP = {
        version   = %{V_poe_component_server_http}
        url       = http://www.cpan.org/authors/id/R/RC/RCLAMP/
        regex     = POE-Component-Server-HTTP-(__VER__)\.tar\.gz
    }
    prog perl-poe:POE-Component-Server-PreforkTCP = {
        version   = %{V_poe_component_server_preforktcp}
        url       = http://www.cpan.org/authors/id/W/WA/WANG/
        regex     = POE-Component-Server-PreforkTCP-(__VER__)\.tar\.gz
    }
    prog perl-poe:POE-Component-Server-SOAP = {
        version   = %{V_poe_component_server_soap}
        url       = http://www.cpan.org/authors/id/A/AP/APOCAL/
        regex     = POE-Component-Server-SOAP-(__VER__)\.tar\.gz
    }
    prog perl-poe:POE-Session-MultiDispatch = {
        version   = %{V_poe_session_multidispatch}
        url       = http://www.cpan.org/authors/id/C/CW/CWEST/
        regex     = POE-Session-MultiDispatch-(__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

%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} \
        --args '--default' \
        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 -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

