Files
perl-Riap/perl-Riap.spec
2025-08-12 18:16:53 +02:00

75 lines
2.5 KiB
RPMSpec

#
# spec file for package perl-Riap
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
Name: perl-Riap
Version: 1.2.4
Release: 0
%define cpan_name Riap
Summary: Rinci access protocol
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Riap/
Source0: http://www.cpan.org/authors/id/P/PE/PERLANCAR/%{cpan_name}-%{version}.tar.gz
Source1: cpanspec.yml
Source100: README.md
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
%{perl_requires}
%description
Rinci access protocol (Riap for short), is a client/server,
request/response protocol for requesting metadata and performing actions on
code entities. It is modeled closely after HTTP, but is a different
protocol. It can be layered on top of HTTP (as its transport protocol) but
can also use other transports, including direct TCP.
The server side is viewed as being a tree of code entities, with a package
entity at the root. Other entities (such as subpackages, functions,
variables) are discoverable by performing 'list' actions on package
entities. Entity's metadata can be retrieved using the 'meta' action. There
are other actions defined in the specification; and the protocol can be
extended by introducing more actions.
One of the main use-cases of this protocol is to provide self-descriptive,
self-documenting, machine-discoverable API service, much like the goal of
SOAP and WSDL. However it is much simpler and programmer-friendly than
those protocols.
%prep
%setup -q -n %{cpan_name}-%{version}
%build
%{__perl} Makefile.PL INSTALLDIRS=vendor
%{__make} %{?_smp_mflags}
%check
%{__make} test
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%files -f %{name}.files
%defattr(-,root,root,755)
%doc Changes LICENSE README
%changelog