Hello community,
here is the log from the commit of package perl-Class-Accessor for
openSUSE:Factory checked in at 2017-10-26 18:39:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Class-Accessor (Old)
and /work/SRC/openSUSE:Factory/.perl-Class-Accessor.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Class-Accessor"
Thu Oct 26 18:39:40 2017 rev:25 rq:535944 version:0.51
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Class-Accessor/perl-Class-Accessor.changes
2011-11-21 12:37:12.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.perl-Class-Accessor.new/perl-Class-Accessor.changes
2017-10-26 18:39:41.377094692 +0200
@@ -1,0 +2,12 @@
+Mon Oct 23 05:08:18 UTC 2017 - [email protected]
+
+- updated to 0.51
+ see /usr/share/doc/packages/perl-Class-Accessor/Changes
+
+ 0.50 2017-10-20
+ Thanks to Jonas B. Nielsen for working through the RT queue.
+ - patch for speed increase RT#84838
+ - patch for faster constructor RT#57353
+ - fixed typos for RT#61304 and RT#86422
+
+-------------------------------------------------------------------
Old:
----
Class-Accessor-0.34.tar.gz
New:
----
Class-Accessor-0.51.tar.gz
cpanspec.yml
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Class-Accessor.spec ++++++
--- /var/tmp/diff_new_pack.FY3v97/_old 2017-10-26 18:39:42.009065208 +0200
+++ /var/tmp/diff_new_pack.FY3v97/_new 2017-10-26 18:39:42.013065021 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Class-Accessor
#
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 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
@@ -15,44 +15,79 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-# norootforbuild
-
Name: perl-Class-Accessor
+Version: 0.51
+Release: 0
%define cpan_name Class-Accessor
Summary: Automated accessor generation
-Version: 0.34
-Release: 12
-License: Artistic-1.0
+License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
-Url: http://search.cpan.org/dists/Class-Accessor
-Source: %{cpan_name}-%{version}.tar.gz
+Url: http://search.cpan.org/dist/Class-Accessor/
+Source0:
https://cpan.metacpan.org/authors/id/K/KA/KASEI/%{cpan_name}-%{version}.tar.gz
+Source1: cpanspec.yml
+BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%{perl_requires}
BuildRequires: perl
BuildRequires: perl-macros
-BuildRequires: perl(Sub::Name)
-Requires: perl(Carp)
-Requires: perl(Sub::Name)
-Provides: %{cpan_name}
+%{perl_requires}
%description
-This module automatically generates accessor/mutators for your class. Most of
-the time, writing accessors is an exercise in cutting and pasting.
+This module automagically generates accessors/mutators for your class.
-If you make your module a subclass of Class::Accessor and declare your accessor
-fields with mk_accessors() then you'll find yourself with a set of
+Most of the time, writing accessors is an exercise in cutting and pasting.
+You usually wind up with a series of methods like this:
+
+ sub name {
+ my $self = shift;
+ if(@_) {
+ $self->{name} = $_[0];
+ }
+ return $self->{name};
+ }
+
+ sub salary {
+ my $self = shift;
+ if(@_) {
+ $self->{salary} = $_[0];
+ }
+ return $self->{salary};
+ }
+
+ # etc...
+
+One for each piece of data in your object. While some will be unique, doing
+value checks and special storage tricks, most will simply be exercises in
+repetition. Not only is it Bad Style to have a bunch of repetitious code,
+but it's also simply not lazy, which is the real tragedy.
+
+If you make your module a subclass of Class::Accessor and declare your
+accessor fields with mk_accessors() then you'll find yourself with a set of
automatically generated accessors which can even be customized!
-Authors:
---------
- Michael G Schwern <[email protected]>
+The basic set up is very simple:
+
+ package Foo;
+ use base qw(Class::Accessor);
+ Foo->mk_accessors( qw(far bar car) );
+
+Done. Foo now has simple far(), bar() and car() accessors defined.
+
+Alternatively, if you want to follow Damian's _best practice_ guidelines
+you can use:
+
+ package Foo;
+ use base qw(Class::Accessor);
+ Foo->follow_best_practice;
+ Foo->mk_accessors( qw(far bar car) );
+
+*Note:* you must call 'follow_best_practice' before calling 'mk_accessors'.
%prep
%setup -q -n %{cpan_name}-%{version}
%build
-%{__perl} Makefile.PL OPTIMIZE="$RPM_OPT_FLAGS -Wall"
+%{__perl} Makefile.PL INSTALLDIRS=vendor
%{__make} %{?_smp_mflags}
%check
@@ -63,11 +98,8 @@
%perl_process_packlist
%perl_gen_filelist
-%clean
-%{__rm} -rf $RPM_BUILD_ROOT
-
%files -f %{name}.files
-%defattr(-,root,root)
-%doc Changes README examples
+%defattr(-,root,root,755)
+%doc Changes examples README
%changelog
++++++ Class-Accessor-0.34.tar.gz -> Class-Accessor-0.51.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Class-Accessor-0.34/Changes
new/Class-Accessor-0.51/Changes
--- old/Class-Accessor-0.34/Changes 2009-09-15 18:23:12.000000000 +0200
+++ new/Class-Accessor-0.51/Changes 2017-10-22 14:29:32.000000000 +0200
@@ -1,3 +1,9 @@
+0.50 2017-10-20
+ Thanks to Jonas B. Nielsen for working through the RT queue.
+ - patch for speed increase RT#84838
+ - patch for faster constructor RT#57353
+ - fixed typos for RT#61304 and RT#86422
+
0.34 Sat Sep 12 21:50:26 JST 2009
- add a Moose-like interface: I can haz "has"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Class-Accessor-0.34/MANIFEST
new/Class-Accessor-0.51/MANIFEST
--- old/Class-Accessor-0.34/MANIFEST 2009-09-12 17:02:29.000000000 +0200
+++ new/Class-Accessor-0.51/MANIFEST 2017-10-22 19:00:53.000000000 +0200
@@ -15,3 +15,4 @@
t/croak.t
t/getset.t
t/caller.t
+META.json Module JSON meta-data (added by
MakeMaker)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Class-Accessor-0.34/META.json
new/Class-Accessor-0.51/META.json
--- old/Class-Accessor-0.34/META.json 1970-01-01 01:00:00.000000000 +0100
+++ new/Class-Accessor-0.51/META.json 2017-10-22 19:00:53.000000000 +0200
@@ -0,0 +1,42 @@
+{
+ "abstract" : "unknown",
+ "author" : [
+ "Marty Pauley <[email protected]>"
+ ],
+ "dynamic_config" : 1,
+ "generated_by" : "ExtUtils::MakeMaker version 7.1002, CPAN::Meta::Converter
version 2.150010",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Class-Accessor",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "0"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "0"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "base" : "1.01"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "version" : "0.51",
+ "x_serialization_backend" : "JSON::PP version 2.27300_01"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Class-Accessor-0.34/META.yml
new/Class-Accessor-0.51/META.yml
--- old/Class-Accessor-0.34/META.yml 2009-09-15 18:43:02.000000000 +0200
+++ new/Class-Accessor-0.51/META.yml 2017-10-22 19:00:53.000000000 +0200
@@ -1,14 +1,23 @@
---- #YAML:1.0
-name: Class-Accessor
-version: 0.34
-abstract: ~
-license: perl
-author:
- - Marty Pauley <[email protected]>
-generated_by: ExtUtils::MakeMaker version 6.42
-distribution_type: module
-requires:
- base: 1.01
+---
+abstract: unknown
+author:
+ - 'Marty Pauley <[email protected]>'
+build_requires:
+ ExtUtils::MakeMaker: '0'
+configure_requires:
+ ExtUtils::MakeMaker: '0'
+dynamic_config: 1
+generated_by: 'ExtUtils::MakeMaker version 7.1002, CPAN::Meta::Converter
version 2.150010'
+license: perl
meta-spec:
- url: http://module-build.sourceforge.net/META-spec-v1.3.html
- version: 1.3
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: '1.4'
+name: Class-Accessor
+no_index:
+ directory:
+ - t
+ - inc
+requires:
+ base: '1.01'
+version: '0.51'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Class-Accessor-0.34/Makefile.PL
new/Class-Accessor-0.51/Makefile.PL
--- old/Class-Accessor-0.34/Makefile.PL 2009-07-29 16:56:27.000000000 +0200
+++ new/Class-Accessor-0.51/Makefile.PL 2017-10-22 14:39:04.000000000 +0200
@@ -5,7 +5,7 @@
WriteMakefile(
NAME => 'Class::Accessor',
VERSION_FROM => 'lib/Class/Accessor.pm',
- AUTHOR => 'Marty Pauley <[email protected]>',
+ AUTHOR => 'Marty Pauley <[email protected]>',
LICENSE => 'perl',
PREREQ_PM => { base => $] == 5.006 ? 1.02 : 1.01, },
);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Class-Accessor-0.34/README
new/Class-Accessor-0.51/README
--- old/Class-Accessor-0.34/README 2009-09-15 18:20:41.000000000 +0200
+++ new/Class-Accessor-0.51/README 2017-10-22 14:39:04.000000000 +0200
@@ -37,7 +37,7 @@
AUTHOR
- Copyright 2009 Marty Pauley <[email protected]>
+ Copyright 2017 Marty Pauley <[email protected]>
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself. That means either (a) the GNU
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Class-Accessor-0.34/examples/benchmark
new/Class-Accessor-0.51/examples/benchmark
--- old/Class-Accessor-0.34/examples/benchmark 2009-09-13 20:17:53.000000000
+0200
+++ new/Class-Accessor-0.51/examples/benchmark 2016-12-31 17:12:10.000000000
+0100
@@ -1,5 +1,10 @@
#!/usr/bin/perl -w
+BEGIN {
+ $ENV{MOO_XS_DISABLE} = "no cheating";
+ $ENV{MOUSE_PUREPERL} = "no cheating";
+}
+
package Bench::Base;
sub new {
@@ -30,23 +35,31 @@
use Mouse;
has test => (is => "rw");
+package Bench::Moo;
+use Moo;
+has test => (is => "rw");
+
package main;
use strict;
use Benchmark 'cmpthese';
+use Test::More tests => 12;
my $tmp;
my $direct = Bench::Direct->new({ test => 23 });
my %accessor = ( Direct => sub { $tmp = $direct->{test}; } );
my %mutator = ( Direct => sub { $direct->{test} = 42; } );
-for my $p (qw/Normal Fast Faster Moose Mouse/) {
+for my $p (qw/Normal Fast Faster Moose Mouse Moo/) {
my $o = "Bench::$p"->new({ test => 23 });
+ is $o->test, 23, "$p init";
+ $o->test(24);
+ is $o->test, 24, "$p set";
$accessor{$p} = sub { $tmp = $o->test; };
$mutator{$p} = sub { $o->test(42); };
}
print "accessors:\n";
-cmpthese( -10, \%accessor );
+cmpthese( -1, \%accessor );
print "\n";
print "mutators:\n";
-cmpthese( -10, \%mutator );
+cmpthese( -1, \%mutator );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Class-Accessor-0.34/lib/Class/Accessor/Fast.pm
new/Class-Accessor-0.51/lib/Class/Accessor/Fast.pm
--- old/Class-Accessor-0.34/lib/Class/Accessor/Fast.pm 2009-09-15
18:17:42.000000000 +0200
+++ new/Class-Accessor-0.51/lib/Class/Accessor/Fast.pm 2017-10-22
16:36:15.000000000 +0200
@@ -1,45 +1,49 @@
package Class::Accessor::Fast;
use base 'Class::Accessor';
use strict;
-$Class::Accessor::Fast::VERSION = '0.34';
+use B 'perlstring';
+$Class::Accessor::Fast::VERSION = '0.51';
sub make_accessor {
- my($class, $field) = @_;
+ my ($class, $field) = @_;
- return sub {
- return $_[0]->{$field} if scalar(@_) == 1;
- return $_[0]->{$field} = scalar(@_) == 2 ? $_[1] : [@_[1..$#_]];
- };
+ eval sprintf q{
+ sub {
+ return $_[0]{%s} if scalar(@_) == 1;
+ return $_[0]{%s} = scalar(@_) == 2 ? $_[1] : [@_[1..$#_]];
+ }
+ }, map { perlstring($_) } $field, $field;
}
-
sub make_ro_accessor {
my($class, $field) = @_;
- return sub {
- return $_[0]->{$field} if @_ == 1;
- my $caller = caller;
- $_[0]->_croak("'$caller' cannot alter the value of '$field' on objects
of class '$class'");
- };
+ eval sprintf q{
+ sub {
+ return $_[0]{%s} if @_ == 1;
+ my $caller = caller;
+ $_[0]->_croak(sprintf "'$caller' cannot alter the value of '%%s'
on objects of class '%%s'", %s, %s);
+ }
+ }, map { perlstring($_) } $field, $field, $class;
}
-
sub make_wo_accessor {
my($class, $field) = @_;
- return sub {
- if (@_ == 1) {
- my $caller = caller;
- $_[0]->_croak("'$caller' cannot access the value of '$field' on
objects of class '$class'");
+ eval sprintf q{
+ sub {
+ if (@_ == 1) {
+ my $caller = caller;
+ $_[0]->_croak(sprintf "'$caller' cannot access the value of
'%%s' on objects of class '%%s'", %s, %s);
+ }
+ else {
+ return $_[0]{%s} = $_[1] if @_ == 2;
+ return (shift)->{%s} = \@_;
+ }
}
- else {
- return $_[0]->{$field} = $_[1] if @_ == 2;
- return (shift)->{$field} = \@_;
- }
- };
+ }, map { perlstring($_) } $field, $class, $field, $field;
}
-
1;
__END__
@@ -58,7 +62,7 @@
=head1 DESCRIPTION
This is a faster but less expandable version of Class::Accessor.
-Class::Accessor's generated accessors require two method calls to accompish
+Class::Accessor's generated accessors require two method calls to accomplish
their task (one for the accessor, another for get() or set()).
Class::Accessor::Fast eliminates calling set()/get() and does the access
itself,
resulting in a somewhat faster accessor.
@@ -76,7 +80,7 @@
=head1 AUTHORS
-Copyright 2007 Marty Pauley <[email protected]>
+Copyright 2017 Marty Pauley <[email protected]>
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself. That means either (a) the GNU General Public
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Class-Accessor-0.34/lib/Class/Accessor/Faster.pm
new/Class-Accessor-0.51/lib/Class/Accessor/Faster.pm
--- old/Class-Accessor-0.34/lib/Class/Accessor/Faster.pm 2009-09-15
18:18:17.000000000 +0200
+++ new/Class-Accessor-0.51/lib/Class/Accessor/Faster.pm 2017-10-22
18:41:34.000000000 +0200
@@ -1,7 +1,8 @@
package Class::Accessor::Faster;
use base 'Class::Accessor';
use strict;
-$Class::Accessor::Faster::VERSION = '0.34';
+use B 'perlstring';
+$Class::Accessor::Faster::VERSION = '0.51';
my %slot;
sub _slot {
@@ -29,34 +30,41 @@
sub make_accessor {
my($class, $field) = @_;
my $n = $class->_slot($field);
- return sub {
- return $_[0]->[$n] if scalar(@_) == 1;
- return $_[0]->[$n] = scalar(@_) == 2 ? $_[1] : [@_[1..$#_]];
- };
+ eval sprintf q{
+ sub {
+ return $_[0][%d] if scalar(@_) == 1;
+ return $_[0][%d] = scalar(@_) == 2 ? $_[1] : [@_[1..$#_]];
+ }
+ }, $n, $n;
}
sub make_ro_accessor {
my($class, $field) = @_;
my $n = $class->_slot($field);
- return sub {
- return $_[0]->[$n] if @_ == 1;
- my $caller = caller;
- $_[0]->_croak("'$caller' cannot alter the value of '$field' on objects
of class '$class'");
- };
+ eval sprintf q{
+ sub {
+ return $_[0][%d] if @_ == 1;
+ my $caller = caller;
+ $_[0]->_croak(sprintf "'$caller' cannot alter the value of '%%s'
on objects of class '%%s'", %s, %s);
+ }
+ }, $n, map(perlstring($_), $field, $class);
}
sub make_wo_accessor {
my($class, $field) = @_;
my $n = $class->_slot($field);
- return sub {
- if (@_ == 1) {
- my $caller = caller;
- $_[0]->_croak("'$caller' cannot access the value of '$field' on
objects of class '$class'");
- } else {
- return $_[0]->[$n] = $_[1] if @_ == 2;
- return (shift)->[$n] = \@_;
+ eval sprintf q{
+ sub {
+ if (@_ == 1) {
+ my $caller = caller;
+ $_[0]->_croak(sprintf "'$caller' cannot access the value of
'%%s' on objects of class '%%s'", %s, %s);
+ }
+ else {
+ return $_[0][%d] = $_[1] if @_ == 2;
+ return (shift)->[%d] = \@_;
+ }
}
- };
+ }, map(perlstring($_), $field, $class), $n, $n;
}
1;
@@ -76,7 +84,7 @@
This is a faster but less expandable version of Class::Accessor::Fast.
-Class::Accessor's generated accessors require two method calls to accompish
+Class::Accessor's generated accessors require two method calls to accomplish
their task (one for the accessor, another for get() or set()).
Class::Accessor::Fast eliminates calling set()/get() and does the access
itself,
@@ -88,7 +96,7 @@
=head1 AUTHORS
-Copyright 2007 Marty Pauley <[email protected]>
+Copyright 2017 Marty Pauley <[email protected]>
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself. That means either (a) the GNU General Public
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Class-Accessor-0.34/lib/Class/Accessor.pm
new/Class-Accessor-0.51/lib/Class/Accessor.pm
--- old/Class-Accessor-0.34/lib/Class/Accessor.pm 2009-09-15
18:16:41.000000000 +0200
+++ new/Class-Accessor-0.51/lib/Class/Accessor.pm 2017-10-22
14:51:04.000000000 +0200
@@ -1,16 +1,14 @@
package Class::Accessor;
require 5.00502;
use strict;
-$Class::Accessor::VERSION = '0.34';
+$Class::Accessor::VERSION = '0.51';
sub new {
- my($proto, $fields) = @_;
- my($class) = ref $proto || $proto;
-
- $fields = {} unless defined $fields;
-
- # make a copy of $fields.
- bless {%$fields}, $class;
+ return bless
+ defined $_[1]
+ ? {%{$_[1]}} # make a copy of $fields.
+ : {},
+ ref $_[0] || $_[0];
}
sub mk_accessors {
@@ -245,7 +243,7 @@
Foo->mk_accessors(qw(name role salary));
# or if you prefer a Moose-like interface...
-
+
package Foo;
use Class::Accessor "antlers";
has name => ( is => "rw", isa => "Str" );
@@ -258,10 +256,10 @@
my $job = $mp->role; # gets $mp->{role}
$mp->salary(400000); # sets $mp->{salary} = 400000 # I wish
-
+
# like my @info = @{$mp}{qw(name role)}
my @info = $mp->get(qw(name role));
-
+
# $mp->{salary} = 400000
$mp->set('salary', 400000);
@@ -311,7 +309,7 @@
Done. Foo now has simple far(), bar() and car() accessors
defined.
-Alternatively, if you want to follow Damian's I<best practice> guidelines
+Alternatively, if you want to follow Damian's I<best practice> guidelines
you can use:
package Foo;
@@ -337,7 +335,7 @@
Class::Accessor provides a basic constructor, C<new>. It generates a
hash-based object and can be called as either a class method or an
-object method.
+object method.
=head2 new
@@ -422,7 +420,7 @@
B<NOTE> I'm not entirely sure why this is useful, but I'm sure someone
will need it. If you've found a use, let me know. Right now it's here
-for orthoginality and because it's easy to implement.
+for orthogonality and because it's easy to implement.
package Foo;
use base qw(Class::Accessor);
@@ -504,9 +502,9 @@
$value = $obj->get($key);
@values = $obj->get(@keys);
-get() defines how data is retreived from your objects.
+get() defines how data is retrieved from your objects.
-override this method to change how it is retreived.
+override this method to change how it is retrieved.
=head2 make_accessor
@@ -522,16 +520,16 @@
$read_only_accessor = __PACKAGE__->make_ro_accessor($field);
-Generates a subroutine refrence which acts as a read-only accessor for
+Generates a subroutine reference which acts as a read-only accessor for
the given $field. It only calls get().
Override get() to change the behavior of your accessors.
=head2 make_wo_accessor
- $read_only_accessor = __PACKAGE__->make_wo_accessor($field);
+ $write_only_accessor = __PACKAGE__->make_wo_accessor($field);
-Generates a subroutine refrence which acts as a write-only accessor
+Generates a subroutine reference which acts as a write-only accessor
(mutator) for the given $field. It only calls set().
Override set() to change the behavior of your accessors.
@@ -588,7 +586,7 @@
your class.
package Altoids;
-
+
use base qw(Class::Accessor Class::Fields);
use fields qw(curiously strong mints);
Altoids->mk_accessors( Altoids->show_fields('Public') );
@@ -604,7 +602,7 @@
$tin->curiously('Curiouser and curiouser');
print $tin->{curiously}; # prints 'Curiouser and curiouser'
-
+
# Subclassing works, too.
package Mint::Snuff;
use base qw(Altoids);
@@ -712,7 +710,7 @@
=head1 AUTHORS
-Copyright 2009 Marty Pauley <[email protected]>
+Copyright 2017 Marty Pauley <[email protected]>
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself. That means either (a) the GNU General Public
++++++ cpanspec.yml ++++++
---
#description_paragraphs: 3
#description: |-
# override description from CPAN
#summary: override summary from CPAN
#no_testing: broken upstream
#sources:
# - source1
# - source2
#patches:
# foo.patch: -p1
# bar.patch:
#preamble: |-
# BuildRequires: gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL
#post_build: |-
# rm unused.files
#post_install: |-
# sed on %{name}.files
#license: SUSE-NonFree
#skip_noarch: 1
#custom_build: |-
#./Build build flags=%{?_smp_mflags} --myflag
#custom_test: |-
#startserver && make test
#ignore_requires: Bizarre::Module