Files
perl-Alvis-Pipeline/perl-Alvis-Pipeline.spec
2025-08-12 18:11:38 +02:00

80 lines
2.8 KiB
RPMSpec

#
# spec file for package perl-Alvis-Pipeline
#
# 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 Alvis-Pipeline
Name: perl-Alvis-Pipeline
Version: 0.110.0
Release: 0
# 0.11 -> normalize -> 0.110.0
%define cpan_version 0.11
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Perl extension for passing XML documents along the Alvis pipeline
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/M/MI/MIRK/%{cpan_name}-%{cpan_version}.tar.gz
Source100: README.md
BuildArch: noarch
BuildRequires: perl
BuildRequires: perl-macros
Provides: perl(Alvis::Logger)
Provides: perl(Alvis::Pipeline) = %{version}
Provides: perl(Alvis::Pipeline::Read)
Provides: perl(Alvis::Pipeline::Write)
%undefine __perllib_provides
%{perl_requires}
%description
This module provides a simple means for components in the Alvis pipeline to
pass documents between themselves without needing to know about the
underlying transfer protocol. Pipe objects may be created either for
reading or writing; components in the middle of the pipeline will create
one of each. Pipes support exactly one method, which is either 'read()' or
'write()' depending on the type of the pipe. The granularity of reading and
writing is the XML document; neither smaller fragments nor larger
aggregates can be transferred.
The documents expected to pass through this pipeline are those representing
documents acquired for, and being analysed by, Alvis. These documents are
expressed as XML contructed according to the specifications described in
the Metadata Format for Enriched Documents. However, while this is the
motivating example pipeline that led to the creation of this module, there
is no reason why other kinds of documents should not also be passed through
pipeline using this software.
The pipeline protocol is described below, to facilitate the development of
indepedent implementations in other languages.
%prep
%autosetup -n %{cpan_name}-%{cpan_version}
%build
perl Makefile.PL INSTALLDIRS=vendor
%make_build
%check
make test
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%files -f %{name}.files
%doc Changes README
%changelog