Files
perl-XML-Easy/perl-XML-Easy.spec
2025-08-12 18:18:35 +02:00

93 lines
3.5 KiB
RPMSpec

#
# spec file for package perl-XML-Easy
#
# Copyright (c) 2024 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 XML-Easy
Name: perl-XML-Easy
Version: 0.11.0
Release: 0
# 0.011 -> normalize -> 0.11.0
%define cpan_version 0.011
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: XML processing with a clean interface
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
Source100: README.md
# PATCH-FIX-UPSTREAM fix build with Perl >= 5.29, https://rt.cpan.org/Public/Bug/Display.html?id=127416
Patch0: syntax_main.t.diff
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Module::Build)
BuildRequires: perl(Params::Classify)
BuildRequires: perl(parent)
Requires: perl(Params::Classify)
Requires: perl(parent)
Provides: perl(XML::Easy) = %{version}
Provides: perl(XML::Easy::Classify) = %{version}
Provides: perl(XML::Easy::Content) = %{version}
Provides: perl(XML::Easy::Element) = %{version}
Provides: perl(XML::Easy::NodeBasics) = %{version}
Provides: perl(XML::Easy::Syntax) = %{version}
Provides: perl(XML::Easy::Text) = %{version}
%undefine __perllib_provides
Recommends: perl(Internals)
%{perl_requires}
%description
XML::Easy is a collection of modules relating to the processing, parsing,
and serialisation of XML data. It is oriented towards the use of XML to
represent data for interchange purposes, rather than the use of XML as
markup of principally textual data. It does not perform any schema
processing, and does not interpret DTDs or any other kind of schema. It
adheres strictly to the XML specification, in all its awkward details,
except for the aforementioned DTDs.
XML::Easy strictly separates the in-program manipulation of XML data from
the processing of the textual form of XML. This shields the XML user from
the inconvenient and obscure aspects of XML syntax. XML data nodes are
mainly processed in a clean functional style, using the
XML::Easy::NodeBasics module. In the (very likely) event that an
application requires some more purpose-specific XML data processing
facilities, they are readily built on top of XML::Easy::NodeBasics,
retaining the abstraction from textual XML.
When XML must be handled in textual form, for input and output, the
XML::Easy::Text module supplies a parser and a serialiser. The interfaces
here, too, are functional in nature.
There are other modules for some ancillary aspects of XML processing.
%prep
%autosetup -n %{cpan_name}-%{cpan_version} -p0
%build
perl Build.PL --installdirs=vendor optimize="%{optflags}"
./Build build --flags=%{?_smp_mflags}
%check
./Build test
%install
./Build install --destdir=%{buildroot} --create_packlist=0
%perl_gen_filelist
%files -f %{name}.files
%doc Changes README
%changelog