File perl-Catalyst-Plugin-ConfigLoader.spec of Package perl-Catalyst-Plugin-ConfigLoader

#
# spec file for package perl-Catalyst-Plugin-ConfigLoader
#
# 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 Catalyst-Plugin-ConfigLoader
Name:           perl-Catalyst-Plugin-ConfigLoader
Version:        0.350.0
Release:        0
# 0.35 -> normalize -> 0.350.0
%define cpan_version 0.35
License:        Artistic-1.0 OR GPL-1.0-or-later
Summary:        Load config files of various types
URL:            https://metacpan.org/release/%{cpan_name}
Source0:        https://cpan.metacpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{cpan_version}.tar.gz
Source1:        cpanspec.yml
BuildArch:      noarch
BuildRequires:  perl
BuildRequires:  perl-macros
BuildRequires:  perl(Catalyst::Runtime) >= 5.700.800
BuildRequires:  perl(Config::Any) >= 0.20
BuildRequires:  perl(Data::Visitor) >= 0.24
BuildRequires:  perl(MRO::Compat) >= 0.09
BuildRequires:  perl(Test::More) >= 0.96
Requires:       perl(Catalyst::Runtime) >= 5.700.800
Requires:       perl(Config::Any) >= 0.20
Requires:       perl(Data::Visitor) >= 0.24
Requires:       perl(MRO::Compat) >= 0.09
Provides:       perl(Catalyst::Plugin::ConfigLoader) = %{version}
%undefine       __perllib_provides
%{perl_requires}

%description
This module will attempt to load find and load a configuration file of
various types. Currently it supports YAML, JSON, XML, INI and Perl formats.
Special configuration for a particular driver format can be stored in
'MyApp->config->{ 'Plugin::ConfigLoader' }->{ driver }'. For example, to
pass arguments to Config::General, use the following:

    __PACKAGE__->config( 'Plugin::ConfigLoader' => {
        driver => {
            'General' => { -LowerCaseNames => 1 }
        }
    } );

See Config::Any's 'driver_args' parameter for more information.

To support the distinction between development and production environments,
this module will also attemp to load a local config (e.g.
_myapp_local.yaml_) which will override any duplicate settings. See
get_config_local_suffix for details on how this is configured.

%prep
%autosetup  -n %{cpan_name}-%{cpan_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
openSUSE Build Service is sponsored by