#
# spec file for package perl-Role-Tiny
#
# Copyright (c) 2021 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 Role-Tiny
Name:           perl-Role-Tiny
Version:        2.002004
Release:        1.14
Summary:        Roles: a nouvelle cuisine portion size slice of Moose
License:        Artistic-1.0 OR GPL-1.0-or-later
URL:            https://metacpan.org/release/%{cpan_name}
Source0:        https://cpan.metacpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{version}.tar.gz
Source1:        cpanspec.yml
BuildArch:      noarch
BuildRequires:  perl
BuildRequires:  perl-macros
BuildRequires:  perl(Test::More) >= 0.88
Recommends:     perl(Class::Method::Modifiers) >= 1.05
%{perl_requires}

%description
'Role::Tiny' is a minimalist role composition tool.

%prep
%autosetup  -n %{cpan_name}-%{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
%license LICENSE

%changelog
* Mon Jan 25 2021 Tina Müller <timueller+perl@suse.de>
- updated to 2.002004
  see /usr/share/doc/packages/perl-Role-Tiny/Changes
  2.002004 - 2021-01-24
  - restore requiring base class when using create_class_with_roles, which was
    accidentally lost in 2.002_000 (RT#134075)
* Tue Jan 12 2021 Tina Müller <timueller+perl@suse.de>
- updated to 2.002003
  see /usr/share/doc/packages/perl-Role-Tiny/Changes
  2.002003 - 2021-01-11
  - set dynamic_config to 0 and x_static_install to 1
  - fixed filenames in dependents author test to not use colons
  - removed MRO::Compat from prereqs as it is no longer used
  - marked Class::Method::Modifiers as a hard developer dependency rather than
    a recommended developer dependency
  - rewrote test for namespace cleaning to not require namespace::clean, and
    moved it from an author test to a normal test
  - removed namespace::autoclean from developer prereqs
  2.002_002 - 2021-01-03
  - refactored some internals for subclasses to use
  - methods_provided_by will ensure the module is loaded before checking for
    methods
  2.002_001 - 2020-12-27
  - fix tests when Class::Method::Modifiers is not installed
  2.002_000 - 2020-12-23
  - Refactored create_class_with_roles to not use "composable packages". This
    was an optimization for when a role is used in many different uses of
    create_class_with_roles, but required an entirely separate implementation,
    which did not have fully compatible behavior. It would also result in
    methods using modifiers being slower.
  - Add documentation for what methods will be composed from a role
    (RT#133363)
  - Fix backwards compatibility with older versions of Moo when interacting
    with Moose.
  - Treat modifiers as required methods during create_class_with_roles.
  - Fixed methods being no longer composed after they participated in an
    allowed conflict.
  - Dropped use of MRO::Compat.
  - Test cleanups for checking requires during create_class_with_roles.
  - Additional tests to confirm internal role application steps can be fully
    qualified.
  - Fix Pod links to Class::Method::Modifiers
  - Tweaks to author tests
  - Additional tests for working with older Moo versions
  - Additional tests for module loading
  - Allow method modifiers to be specified with an array reference of method
    names, rather than a list. This now matches how the corresponding
    Class::Method::Modifiers subs can be called.
* Mon Oct 28 2019 <timueller+perl@suse.de>
- updated to 2.001004
  see /usr/share/doc/packages/perl-Role-Tiny/Changes
  2.001004 - 2019-10-25
  - fix methods being excluded from composition if they previously existed in
    the composing role (RT#130811)
  - fix role application overwriting subs that are not considered methods
  - fix helper subs created by a Role::Tiny extension (like Moo::Role)
    sometimes being teated as methods
* Thu Oct 10 2019 <timueller+perl@suse.de>
- updated to 2.001003
  see /usr/share/doc/packages/perl-Role-Tiny/Changes
  2.001003 - 2019-10-09
  - releasing as stable
  2.001_002 - 2019-10-06
  - fix methods from roles composed via create_class_with_roles being treated
    differently from roles composed directly (RT#128470)
  - fix constants being included in the methods provided by a role if they
    were created before importing Role::Tiny but used after importing
  - fix prototype handling test on cperl
* Fri Oct  4 2019 <timueller+perl@suse.de>
- updated to 2.001001
  see /usr/share/doc/packages/perl-Role-Tiny/Changes
  2.001001 - 2019-10-01
  - added tests for make_role
  2.001_000 - 2019-09-19
  - refactored method tracking to allow easier extending (such as by Moo)
  - added make_role method to make a package into a role, but without
    exporting any subs into it
  - refactored sub exporting to allow extensions to do different things with
    the subs
  2.000_009 - 2019-09-06
  - fix composing roles into packages that have stub subs in them
  - treat constants consistently with all other subs, no matter where they are
    defined
* Tue Aug  6 2019 Stephan Kulow <coolo@suse.com>
- updated to 2.000008
  see /usr/share/doc/packages/perl-Role-Tiny/Changes
  2.000008 - 2019-08-05
  - reverting all changes from 2.000007 due to failures on some perl versions
    and a number of downstream users.  The changes will be reintroduced in a
    fixed form in a future version.
* Fri Aug  2 2019 Stephan Kulow <coolo@suse.com>
- updated to 2.000007
  see /usr/share/doc/packages/perl-Role-Tiny/Changes
  2.000007 - 2019-07-31
  - fix composing roles into packages that have stub subs in them
  - exclude all constant subs from method list
* Wed Nov  8 2017 coolo@suse.com
- updated to 2.000006
  see /usr/share/doc/packages/perl-Role-Tiny/Changes
  2.000006 - 2017-11-08
  - account for code references stored directly in stash (for perl 5.28)
  - work around hint leakage when loading modules in perl 5.8 and 5.10.1
* Fri Nov 11 2016 coolo@suse.com
- updated to 2.000005
  see /usr/share/doc/packages/perl-Role-Tiny/Changes
  2.000005 - 2016-11-01
  - revert change to MRO::Compat usage
* Tue Nov  1 2016 coolo@suse.com
- updated to 2.000004
  see /usr/share/doc/packages/perl-Role-Tiny/Changes
  2.000004 - 2016-10-31
  - Fix consuming stubs from roles (RT#116674).
  - Fix error message when applying conflicting roles to an object.
  - Drop prerequisite on MRO::Compat on perl 5.8.
* Thu May  5 2016 coolo@suse.com
- updated to 2.000003
  see /usr/share/doc/packages/perl-Role-Tiny/Changes
  2.000003 - 2016-04-21
  - don't install subs if importing into a package that is already a role.  This
    can happen if the module previously imported Moo::Role.
  2.000002 - 2016-04-19
  - restore compatibility with Moo versions pre 1.004_003
  - delay loading Class::Method::Modifiers until applying modifiers to a package
  - use croak rather than die for reporting errors
  - apply method modifiers only once, even if they are applied via multiple
    composition paths (RT#106668)
* Sat Apr 25 2015 coolo@suse.com
- updated to 2.000001
  see /usr/share/doc/packages/perl-Role-Tiny/Changes
  2.000001 - 2015-04-24
  - fix generating invalid package names with single colons when abbreviating
    long package names (RT#103310)
  - don't run module interaction tests for user installs
* Tue Apr 14 2015 coolo@suse.com
- updated to 2.000000
  see /usr/share/doc/packages/perl-Role-Tiny/Changes
  2.000000 - 2015-02-26
  * Incompatible Changes
  - Role::Tiny no longer applies fatal warnings to roles created with it.
    strict and non-fatal warnings will continue to be applied.
* Wed Nov 12 2014 coolo@suse.com
- updated to 1.003004
  - allow does_role to be overridden by Moo::Role
* Mon Jul 28 2014 coolo@suse.com
- updated to 1.003003
  - overloads specified as method names rather than subrefs are now applied
    properly
  - allow superclass to provide conflicting methods (RT#91054)
  - use ->is_role internally to check if a package is a role
  - document that Role::Tiny applies strict and fatal warnings
* Fri Oct  4 2013 coolo@suse.com
- updated to 1.003002
  - abbreviate generated package names if they are longer than perl can handle
    (RT#83248)
  - add explicit dependency on the version of Exporter that added 'import'
* Fri Jul 26 2013 coolo@suse.com
- updated to 1.003001
  - allow composing roles simultaneously that mutually require each other
    (RT#82711)
  - Fix _concrete_methods_of returning non-CODE entries
  - fix broken implementation of method conflict resolution
    (Perlmonks#1041015)
  - add is_role method for checking if a given package is a role
  - drop minimum perl version - code tests just fine on 5.6.1 and 5.6.2
* Wed Jun 26 2013 coolo@suse.com
- initial package 1.002005
  * created by cpanspec 1.78.06