perl-Event-RPC/perl-Event-RPC.spec

98 lines
3.6 KiB
RPMSpec

%define perl_major_ver %(eval `perl -V:version`; echo ${version%*.[0-9]*}.0)
Name: perl-Event-RPC
Version: 1.10
Release: 2mamba
Summary: Event::RPC - Event based transparent Client/Server RPC framework
Group: System/Libraries/Perl
Vendor: openmamba
Distribution: openmamba
Packager: Automatic Build System <autodist@mambasoft.it>
URL: https://www.cpan.org/
Source: http://search.cpan.org/CPAN/authors/id/J/JR/JRED/Event-RPC-%{version}.tar.gz
License: Artistic, GPL
Requires: perl >= %perl_major_ver
## AUTOBUILDREQ-BEGIN
BuildRequires: libperl
BuildRequires: perl-AnyEvent
BuildRequires: perl-CBOR-XS
BuildRequires: perl-Event
BuildRequires: perl-Glib
BuildRequires: perl-JSON-XS
BuildRequires: perl-Sereal
BuildRequires: perl-devel
## AUTOBUILDREQ-END
BuildRequires: perl >= 2:5.36.0
BuildRequires: perl-IO-Socket-SSL
%description
Event::RPC consists of a server and a client library. The server exports a list of classes and methods, which are allowed to be called over the network. More specific it acts as a proxy for objects created on the server side (on demand of the connected clients) which handles client side methods calls with transport of method arguments and return values.
The object proxy handles refcounting and destruction of objects created by clients properly. Objects as method parameters and return values are handled as well (although with some limitations, see below).
For the client the whole thing is totally transparent - once connected to the server it doesn't know whether it calls methods on local or remote objects.
Also the methods on the server newer know whether they are called locally or from a connected client. Your application logic is not affected by Event::RPC at all, at least if it has a rudimentary clean OO design.
For details on implementing servers and clients please refer to the man pages of Event::RPC::Server and Event::RPC::Client.
%prep
%setup -q -n Event-RPC-%{version}
%build
perl Makefile.PL PREFIX=%{_prefix} INSTALLDIRS=vendor
%make
%make test
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall_perl
packlist=`find %{buildroot} -name .packlist`
[ -z "$packlist" ] && exit 1 || cat $packlist | \
sed "s,%buildroot,,g;s,.*/man/.*,&.gz,g" | \
sort -u > .packlist && rm $packlist
strid=`echo $packlist | sed 's,.*auto\(.*\)/.packlist,\1,'`
for dir in `find %{buildroot} -type d | grep $strid`; do
echo "%dir ${dir#%buildroot}" >> .packlist
done
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
rm -f .packlist
%files -f .packlist
%defattr(-,root,root)
%changelog
* Mon Apr 17 2023 Sdk Build System <sdk@mambasoft.it> 1.10-2mamba
- rebuilt with perl 5.36.0
* Fri Aug 02 2019 Automatic Build System <autodist@mambasoft.it> 1.10-1mamba
- automatic update by autodist
* Tue Dec 29 2015 Automatic Build System <autodist@mambasoft.it> 1.08_01-1mamba
- automatic update by autodist
* Sun May 25 2014 Automatic Build System <autodist@mambasoft.it> 1.05-1mamba
- automatic update by autodist
* Fri Jan 24 2014 Automatic Build System <autodist@mambasoft.it> 1.04-1mamba
- automatic update by autodist
* Fri Feb 22 2013 Automatic Build System <autodist@mambasoft.it> 1.03-1mamba
- automatic version update by autodist
* Tue Nov 13 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 1.01-2mamba
- perl 5.16 mass rebuild
* Thu Feb 05 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 1.01-1mamba
- automatic update by autodist
* Tue Nov 04 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 1.00-2mamba
- automatic rebuild by autodist
* Mon Oct 20 2008 gil <puntogil@libero.it> 1.00-1mamba
- package created by autospec