# # 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