# # spec file for package perl-Color-Theme-Role # # 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 Color-Theme-Role Name: perl-Color-Theme-Role Version: 0.20.0 Release: 0 # 0.020 -> normalize -> 0.20.0 %define cpan_version 0.020 License: Artistic-1.0 OR GPL-1.0-or-later Summary: Role for class wanting to support color themes URL: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/P/PE/PERLANCAR/%{cpan_name}-%{cpan_version}.tar.gz Source100: README.md BuildArch: noarch BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(Color::ANSI::Util) >= 0.160 BuildRequires: perl(Module::List) BuildRequires: perl(Module::Load) BuildRequires: perl(Moo) BuildRequires: perl(Moo::Role) BuildRequires: perl(Term::App::Role::Attrs) BuildRequires: perl(Test::More) >= 0.98 Requires: perl(Color::ANSI::Util) >= 0.160 Requires: perl(Module::List) Requires: perl(Module::Load) Requires: perl(Moo::Role) Requires: perl(Term::App::Role::Attrs) Provides: perl(Color::Theme::Role) = %{version} Provides: perl(Color::Theme::Role::ANSI) = %{version} %undefine __perllib_provides %{perl_requires} %description This role is for class that wants to support color themes. Color theme is represented as a structure according to the specification described in Color::Theme. *Color theme module.* Color themes are put in modules under 'Color::Theme::Themes::' (configurable using 'color_theme_module_prefix' attribute). Each color theme modules can contain one or more color themes. The module must define a package global variable named '%color_themes' that contain color themes keyed by their names. Example: package MyProject::ColorThemes::Default; our %color_themes = ( no_color => { v => 1.1, summary => 'Special theme that means no color', colors => { }, no_color => 1, }, default => { v => 1.1, summary => 'Default color theme', colors => { }, }, ); %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