Files
perl-Socket/perl-Socket.spec
2025-08-12 18:17:07 +02:00

86 lines
3.0 KiB
RPMSpec

#
# spec file for package perl-Socket
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define cpan_name Socket
Name: perl-Socket
Version: 2.040
Release: 0
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Networking constants and support functions
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/P/PE/PEVANS/%{cpan_name}-%{version}.tar.gz
Source1: cpanspec.yml
Source100: README.md
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(ExtUtils::CBuilder)
BuildRequires: perl(ExtUtils::Constant) >= 0.23
%{perl_requires}
%description
This module provides a variety of constants, structure manipulators and
other functions related to socket-based networking. The values and
functions provided are useful when used in conjunction with Perl core
functions such as socket(), setsockopt() and bind(). It also provides
several other support functions, mostly for dealing with conversions of
network addresses between human-readable and native binary forms, and for
hostname resolver operations.
Some constants and functions are exported by default by this module; but
for backward-compatibility any recently-added symbols are not exported by
default and must be requested explicitly. When an import list is provided
to the 'use Socket' line, the default exports are not automatically
imported. It is therefore best practice to always to explicitly list all
the symbols required.
Also, some common socket "newline" constants are provided: the constants
'CR', 'LF', and 'CRLF', as well as '$CR', '$LF', and '$CRLF', which map to
'\015', '\012', and '\015\012'. If you do not want to use the literal
characters in your programs, then use the constants provided here. They are
not exported by default, but can be imported individually, and with the
':crlf' export tag:
use Socket qw(:DEFAULT :crlf);
$sock->print("GET / HTTP/1.0$CRLF");
The entire getaddrinfo() subsystem can be exported using the tag
':addrinfo'; this exports the getaddrinfo() and getnameinfo() functions,
and all the 'AI_*', 'NI_*', 'NIx_*' and 'EAI_*' constants.
%prep
%autosetup -n %{cpan_name}-%{version} -p1
%build
perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
%make_build
%check
make test
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%files -f %{name}.files
%doc Changes
%license Artistic Copying LICENSE
%changelog