# # spec file for package perl-Danga-Socket-Callback # # 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 Danga-Socket-Callback Name: perl-Danga-Socket-Callback Version: 0.13.0 Release: 0 # 0.013 -> normalize -> 0.13.0 %define cpan_version 0.013 License: Artistic-1.0 OR GPL-1.0-or-later Summary: Use Danga::Socket From Callbacks URL: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/D/DM/DMAKI/%{cpan_name}-%{cpan_version}.tar.gz Source1: cpanspec.yml Source100: README.md BuildArch: noarch BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(CPAN::Meta) BuildRequires: perl(CPAN::Meta::Prereqs) BuildRequires: perl(Danga::Socket) BuildRequires: perl(Module::Build) >= 0.38 Requires: perl(Danga::Socket) Provides: perl(Danga::Socket::Callback) = %{version} %undefine __perllib_provides %{perl_requires} %description Love the fact that Perlbal, Mogilefs, and friends all run fast because of Danga::Socket, but despise it because you need to subclass it every time? Well, here's a module for all you lazy people. Danga::Socket::Callback is a thin wrapper arond Danga::Socket that allows you to set callbacks to be called at various events. This allows you to define multiple Danga::Socket-based sockets without defining multiple classes: my $first = Danga::Socket::Callback->new( hadle => $sock1, on_read_ready => \&sub1 ); my $second = Danga::Socket::Callback->new( hadle => $sock2, on_read_ready => \&sub2 ); Danga::Socket->EventLoop(); %prep %autosetup -n %{cpan_name}-%{cpan_version} %build perl Build.PL --installdirs=vendor ./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.md %license LICENSE %changelog