##
##  perl-net.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_math_base85           0.2
%define       V_net_ipv4addr          0.10
%define       V_net_ipv6addr          0.2
%define       V_net_daemon            0.49
%define       V_net_server            2.014
%define       V_net_ext               1.011
%define       V_libnet                1.22_01
%define       V_net_netmask           2.0003
%define       V_net_ftp_common        7.0.d
%define       V_net_snmp              5.2.0
%define       V_net_tftp              0.1901
%define       V_net_telnet            3.04
%define       V_net_telnet_cisco      1.10
%define       V_plrpc                 0.2020
%define       V_net_imap_simple       1.20271
%define       V_net_bgp               0.14
%define       V_net_pcap              0.18
%define       V_net_radius            2.103
%define       V_net_ip                1.26
%define       V_class_gomor           1.03
%define       V_net_packet            3.28
%define       V_net_xmpp              1.02
%define       V_net_jabber            2.0
%define       V_net_patricia          1.24
%define       V_net_irc               0.79
%define       V_ip_country            2.28
%define       V_io_socket_multicast   1.12
%define       V_net_growlclient       0.02
%define       V_net_dhcp              0.696
%define       V_net_proxy             0.13
%define       V_net_stomp             0.42
%define       V_net_stomp_receipt     0.40
%define       V_net_rabbitmq          0.0.4
%define       V_netaddr_ip            4.079
%define       V_net_http              6.06
%define       V_io_socket_ip          0.18

#   package information
Name:         perl-net
Summary:      Perl Modules for use with networks
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:      20251013

#   package options
%option       with_pcap   no

#   list of sources
Source0:      http://www.cpan.org/authors/id/T/TM/TMONROE/Math-Base85-%{V_math_base85}.tar.gz
Source1:      http://www.cpan.org/authors/id/F/FR/FRAJULAC/Net-IPv4Addr-%{V_net_ipv4addr}.tar.gz
Source2:      http://www.cpan.org/authors/id/T/TM/TMONROE/Net-IPv6Addr-%{V_net_ipv6addr}.tar.gz
Source3:      http://www.cpan.org/modules/by-module/Net/Net-Daemon-%{V_net_daemon}.tar.gz
Source4:      http://www.cpan.org/authors/id/R/RH/RHANDOM/Net-Server-%{V_net_server}.tar.gz
Source5:      http://www.cpan.org/authors/id/S/SP/SPIDB/Net-ext-%{V_net_ext}.tar.gz
Source6:      http://www.cpan.org/authors/id/G/GB/GBARR/libnet-%{V_libnet}.tar.gz
Source7:      http://www.cpan.org/modules/by-module/Net/Net-Netmask-%{V_net_netmask}.tar.gz
Source8:      http://www.cpan.org/modules/by-module/Net/Net-FTP-Common-%{V_net_ftp_common}.tar.gz
Source9:      http://www.cpan.org/modules/by-module/Net/Net-SNMP-%{V_net_snmp}.tar.gz
Source10:     http://www.cpan.org/authors/id/G/GB/GBARR/Net-TFTP-%{V_net_tftp}.tar.gz
Source11:     http://www.cpan.org/authors/id/J/JR/JROGERS/Net-Telnet-%{V_net_telnet}.tar.gz
Source12:     http://www.cpan.org/authors/id/J/JO/JOSHUA/Net-Telnet-Cisco-%{V_net_telnet_cisco}.tar.gz
Source13:     http://www.cpan.org/authors/id/L/LU/LUISMUNOZ/Net-Radius-%{V_net_radius}.tar.gz
Source14:     http://www.cpan.org/modules/by-module/RPC/PlRPC-%{V_plrpc}.tar.gz
Source15:     http://www.cpan.org/authors/id/J/JE/JETTERO/Net-IMAP-Simple-%{V_net_imap_simple}.tar.gz
Source16:     http://www.cpan.org/authors/id/K/KB/KBRINT/Net-BGP-%{V_net_bgp}.tar.gz
Source17:     http://www.cpan.org/authors/id/S/SA/SAPER/Net-Pcap-%{V_net_pcap}.tar.gz
Source18:     http://www.cpan.org/authors/id/G/GO/GOMOR/Class-Gomor-%{V_class_gomor}.tar.gz
Source19:     http://www.cpan.org/authors/id/G/GO/GOMOR/Net-Packet-%{V_net_packet}.tar.gz
Source20:     http://www.cpan.org/authors/id/M/MA/MANU/Net-IP-%{V_net_ip}.tar.gz
Source21:     http://www.cpan.org/authors/id/H/HA/HACKER/Net-XMPP-%{V_net_xmpp}.tar.gz
Source22:     http://www.cpan.org/authors/id/R/RE/REATMON/Net-Jabber-%{V_net_jabber}.tar.gz
Source23:     http://www.cpan.org/authors/id/G/GR/GRUBER/Net-Patricia-%{V_net_patricia}.tar.gz
Source24:     http://www.cpan.org/authors/id/A/AP/APEIRON/Net-IRC-%{V_net_irc}.tar.gz
Source25:     http://www.cpan.org/authors/id/N/NW/NWETTERS/IP-Country-%{V_ip_country}.tar.gz
Source26:     http://www.cpan.org/authors/id/B/BR/BRAMBLE/IO-Socket-Multicast-%{V_io_socket_multicast}.tar.gz
Source27:     http://www.cpan.org/authors/id/C/CA/CASTOR/Net-GrowlClient-%{V_net_growlclient}.tar.gz
Source28:     http://www.cpan.org/authors/id/D/DJ/DJZORT/Net-DHCP-%{V_net_dhcp}.tar.gz
Source29:     http://www.cpan.org/authors/id/B/BO/BOOK/Net-Proxy-%{V_net_proxy}.tar.gz
Source30:     http://www.cpan.org/authors/id/A/AS/ASH/Net-Stomp-%{V_net_stomp}.tar.gz
Source31:     http://www.cpan.org/authors/id/H/HU/HUGUEI/Net-Stomp-Receipt-%{V_net_stomp_receipt}.tar.gz
Source32:     http://www.cpan.org/authors/id/J/JE/JESUS/Net-RabbitMQ-%{V_net_rabbitmq}.tar.gz
Source33:     http://www.cpan.org/authors/id/M/MI/MIKER/NetAddr-IP-%{V_netaddr_ip}.tar.gz
Source34:     http://www.cpan.org/authors/id/G/GA/GAAS/Net-HTTP-%{V_net_http}.tar.gz
Source35:     http://www.cpan.org/authors/id/P/PE/PEVANS/IO-Socket-IP-%{V_io_socket_ip}.tar.gz
Patch0:       perl-net.patch

#   build information
BuildPreReq:  OpenPKG, openpkg >= 20160101, perl >= %{V_perl}, perl-openpkg >= %{V_perl}-20040126
PreReq:       OpenPKG, openpkg >= 20160101, perl >= %{V_perl}
BuildPreReq:  perl-crypto, perl-sys, perl-time, perl-xml, perl-util >= %{V_perl}-20040210
PreReq:       perl-crypto, perl-sys, perl-time, perl-xml, perl-util >= %{V_perl}-20040210
%if "%{with_pcap}" == "yes"
BuildPreReq:  libpcap
PreReq:       libpcap
%endif

%description
    Perl modules for use with networks:
    - Net::Daemon (%{V_net_daemon})
    - Net::FTP (%{V_libnet})
    - Net::NNTP
    - Net::POP3
    - Net::SMTP
    - Net::SNPP
    - Net::Time
    - Net::FTP::Common (%{V_net_ftp_common})
    - Net::Gen (%{V_net_ext})
    - Net::Inet
    - Net::TCP
    - Net::TCP::Server
    - Net::UDP
    - Net::UNIX
    - Net::UNIX::Server
    - Net::Netmask (%{V_net_netmask})
    - Net::SNMP (%{V_net_snmp})
    - Net::Server (%{V_net_server})
    - Net::TFTP (%{V_net_tftp})
    - Net::Telnet (%{V_net_telnet})
    - Net::Telnet::Cisco (%{V_net_telnet_cisco})
    - Net::Radius (%{V_net_radius})
    - RPC::PlServer, RPC::PlClient (%{V_plrpc})
    - Net::IP (%{V_net_ip})
    - Net::IMAP::Simple (%{V_net_imap_simple})
    - Net::BGP (%{V_net_bgp})
%if "%{with_pcap}" == "yes"
    - Net::Pcap (%{V_net_pcap})
    - Net::Packet (%{V_net_packet})
    - Class::Gomor (%{V_class_gomor})
%endif
    - Net::XMPP (%{V_net_xmpp})
    - Net::Jabber (%{V_net_jabber})
    - Net::Patricia (%{V_net_patricia})
    - Net::IPv4Addr (%{V_net_ipv4addr})
    - Net::IPv6Addr (%{V_net_ipv6addr})
    - Net::IRC (%{V_net_irc})
    - IP::Country (%{V_ip_country})
    - IO::Socket::Multicast (%{V_io_socket_multicast})
    - Net::GrowlClient (%{V_net_growlclient})
    - Net::DHCP (%{V_net_dhcp})
    - Net::Proxy (%{V_net_proxy})
    - Net::Stomp (%{V_net_stomp})
    - Net::Stomp::Receipt (%{V_net_stomp_receipt})
    - Net::RabbitMQ (%{V_net_rabbitmq})
    - NetAddr::IP (%{V_netaddr_ip})
    - Net::HTTP (%{V_net_http})
    - IO::Socket::IP (%{V_io_socket_ip})

%track
    prog perl-net:Net-Netmask = {
        version   = %{V_net_netmask}
        url       = http://www.cpan.org/modules/by-module/Net/
        regex     = Net-Netmask-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-Ftp-Common = {
        version   = %{V_net_ftp_common}
        url       = http://www.cpan.org/modules/by-module/Net/
        regex     = Net-FTP-Common-(__VER__)\.tar\.gz
    }
    prog perl-net:libnet = {
        version   = %{V_libnet}
        url       = http://www.cpan.org/authors/id/G/GB/GBARR/
        regex     = libnet-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-BGP = {
        version   = %{V_net_bgp}
        url       = http://www.cpan.org/authors/id/K/KB/KBRINT/
        regex     = Net-BGP-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-Daemon = {
        version   = %{V_net_daemon}
        url       = http://www.cpan.org/modules/by-module/Net/
        regex     = Net-Daemon-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-ext = {
        version   = %{V_net_ext}
        url       = http://www.cpan.org/authors/id/S/SP/SPIDB/
        regex     = Net-ext-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-Imap-Simple = {
        version   = %{V_net_imap_simple}
        url       = http://www.cpan.org/authors/id/J/JE/JETTERO/
        regex     = Net-IMAP-Simple-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-Server = {
        version   = %{V_net_server}
        url       = http://www.cpan.org/authors/id/R/RH/RHANDOM/
        regex     = Net-Server-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-SNMP = {
        version   = %{V_net_snmp}
        url       = http://www.cpan.org/modules/by-module/Net/
        regex     = Net-SNMP-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-Telnet = {
        version   = %{V_net_telnet}
        url       = http://www.cpan.org/authors/id/J/JR/JROGERS/
        regex     = Net-Telnet-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-Telnet-Cisco = {
        version   = %{V_net_telnet_cisco}
        url       = http://www.cpan.org/authors/id/J/JO/JOSHUA/
        regex     = Net-Telnet-Cisco-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-TFTP = {
        version   = %{V_net_tftp}
        url       = http://www.cpan.org/authors/id/G/GB/GBARR/
        regex     = Net-TFTP-(__VER__)\.tar\.gz
    }
    prog perl-net:PlRPC = {
        version   = %{V_plrpc}
        url       = http://www.cpan.org/modules/by-module/RPC/
        regex     = PlRPC-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-Pcap = {
        version   = %{V_net_pcap}
        url       = http://www.cpan.org/authors/id/S/SA/SAPER/
        regex     = Net-Pcap-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-Radius = {
        version   = %{V_net_radius}
        url       = http://www.cpan.org/authors/id/L/LU/LUISMUNOZ/
        regex     = Net-Radius-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-IP = {
        version   = %{V_net_ip}
        url       = http://www.cpan.org/authors/id/M/MA/MANU/
        regex     = Net-IP-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-Packet = {
        version   = %{V_net_packet}
        url       = http://www.cpan.org/authors/id/G/GO/GOMOR/
        regex     = Net-Packet-(__VER__)\.tar\.gz
    }
    prog perl-net:Class-Gomor = {
        version   = %{V_class_gomor}
        url       = http://www.cpan.org/authors/id/G/GO/GOMOR/
        regex     = Class-Gomor-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-XMPP = {
        version   = %{V_net_xmpp}
        url       = http://www.cpan.org/authors/id/H/HA/HACKER/
        regex     = Net-XMPP-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-Jabber = {
        version   = %{V_net_jabber}
        url       = http://www.cpan.org/authors/id/R/RE/REATMON/
        regex     = Net-Jabber-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-Patricia = {
        version   = %{V_net_patricia}
        url       = http://www.cpan.org/authors/id/G/GR/GRUBER/
        regex     = Net-Patricia-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-IPv4Addr = {
        version   = %{V_net_ipv4addr}
        url       = http://www.cpan.org/authors/id/F/FR/FRAJULAC/
        regex     = Net-IPv4Addr-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-IPv6Addr = {
        version   = %{V_net_ipv6addr}
        url       = http://www.cpan.org/authors/id/T/TM/TMONROE/
        regex     = Net-IPv6Addr-(__VER__)\.tar\.gz
    }
    prog perl-net:Math-Base85 = {
        version   = %{V_math_base85}
        url       = http://www.cpan.org/authors/id/T/TM/TMONROE/
        regex     = Math-Base85-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-IRC = {
        disabled
        comment   = "rse: version >= 0.76 no longer supported by author"
        version   = %{V_net_irc}
        url       = http://www.cpan.org/authors/id/A/AP/APEIRON/
        regex     = Net-IRC-(__VER__)\.tar\.gz
    }
    prog perl-net:IP-Country = {
        version   = %{V_ip_country}
        url       = http://www.cpan.org/authors/id/N/NW/NWETTERS/
        regex     = IP-Country-(__VER__)\.tar\.gz
    }
    prog perl-net:IO-Socket-Multicast = {
        version   = %{V_io_socket_multicast}
        url       = http://www.cpan.org/authors/id/B/BR/BRAMBLE/
        regex     = IO-Socket-Multicast-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-GrowlClient = {
        version   = %{V_net_growlclient}
        url       = http://www.cpan.org/authors/id/C/CA/CASTOR/
        regex     = Net-GrowlClient-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-DHCP = {
        version   = %{V_net_dhcp}
        url       = http://www.cpan.org/authors/id/D/DJ/DJZORT/
        regex     = Net-DHCP-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-Proxy = {
        version   = %{V_net_proxy}
        url       = http://www.cpan.org/authors/id/B/BO/BOOK/
        regex     = Net-Proxy-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-Stomp = {
        version   = %{V_net_stomp}
        url       = http://www.cpan.org/authors/id/A/AS/ASH/
        regex     = Net-Stomp-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-Stomp-Receipt = {
        version   = %{V_net_stomp_receipt}
        url       = http://www.cpan.org/authors/id/H/HU/HUGUEI/
        regex     = Net-Stomp-Receipt-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-RabbitMQ = {
        version   = %{V_net_rabbitmq}
        url       = http://www.cpan.org/modules/by-module/Net/
        regex     = Net-RabbitMQ-(__VER__)\.tar\.gz
    }
    prog perl-net:NetAddr-IP = {
        version   = %{V_netaddr_ip}
        url       = http://www.cpan.org/authors/id/M/MI/MIKER/
        regex     = NetAddr-IP-(__VER__)\.tar\.gz
    }
    prog perl-net:Net-HTTP = {
        version   = %{V_net_http}
        url       = http://www.cpan.org/authors/id/G/GA/GAAS/
        regex     = Net-HTTP-(__VER__)\.tar\.gz
    }
    prog perl-net:IO-Socket-IP = {
        version   = %{V_net_http}
        url       = http://www.cpan.org/authors/id/P/PE/PEVANS/
        regex     = IO-Socket-IP-(__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
    %setup -q -T -D -a 20
    %setup -q -T -D -a 21
    %setup -q -T -D -a 22
    %setup -q -T -D -a 23
    %setup -q -T -D -a 24
    %setup -q -T -D -a 25
    %setup -q -T -D -a 26
    %setup -q -T -D -a 27
    (
    %setup -q -T -D -a 28
    ) || true
    %setup -q -T -D -a 29
    %setup -q -T -D -a 30
    %setup -q -T -D -a 31
    %setup -q -T -D -a 32
    %setup -q -T -D -a 33
    %setup -q -T -D -a 34
    %setup -q -T -D -a 35
    sed <%{PATCH0} -e 's;@l_prefix@;%{l_prefix};g' | %{l_patch} -p0 -b

%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
%if "%{with_pcap}" == "yes"
    %{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} \
        -A "INC='-I. %{l_cppflags}'" \
        -A "LIBS='%{l_ldflags} -lpcap'" \
        configure build install
%endif
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE20} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE21} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE22} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE23} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE24} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE25} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE26} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE27} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE28} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE29} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE30} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE31} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE32} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE33} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE34} configure build install
    %{l_prefix}/bin/perl-openpkg -d %{SOURCE35} 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

