# # spec file for package perl-Template-Benchmark # # 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 Template-Benchmark Name: perl-Template-Benchmark Version: 1.90.0 Release: 0 # 1.09 -> normalize -> 1.90.0 %define cpan_version 1.09 License: Artistic-1.0 OR GPL-1.0-or-later Summary: Pluggable benchmarker to cross-compare template systems URL: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/S/SG/SGRAHAM/%{cpan_name}-%{cpan_version}.tar.gz Source1: cpanspec.yml Source100: README.md BuildArch: noarch BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(File::Temp) >= 0.18 BuildRequires: perl(Module::Build) >= 0.23 BuildRequires: perl(Module::Pluggable) BuildRequires: perl(Test::Command) >= 0.08 BuildRequires: perl(Test::Exception) BuildRequires: perl(Test::MockObject) BuildRequires: perl(Text::Matrix) Requires: perl(File::Temp) >= 0.18 Requires: perl(Module::Pluggable) Requires: perl(Text::Matrix) Provides: perl(Template::Benchmark) = %{version} Provides: perl(Template::Benchmark::Engine) = %{version} Provides: perl(Template::Benchmark::Engines::HTMLMacro) = %{version} Provides: perl(Template::Benchmark::Engines::HTMLMason) = %{version} Provides: perl(Template::Benchmark::Engines::HTMLTemplate) = %{version} Provides: perl(Template::Benchmark::Engines::HTMLTemplateCompiled) = %{version} Provides: perl(Template::Benchmark::Engines::HTMLTemplateExpr) = %{version} Provides: perl(Template::Benchmark::Engines::HTMLTemplateJIT) = %{version} Provides: perl(Template::Benchmark::Engines::HTMLTemplatePro) = %{version} Provides: perl(Template::Benchmark::Engines::MojoTemplate) = %{version} Provides: perl(Template::Benchmark::Engines::NTSTemplate) = %{version} Provides: perl(Template::Benchmark::Engines::ParseTemplate) = %{version} Provides: perl(Template::Benchmark::Engines::Solution) = %{version} Provides: perl(Template::Benchmark::Engines::TemplateAlloyHT) = %{version} Provides: perl(Template::Benchmark::Engines::TemplateAlloyTT) = %{version} Provides: perl(Template::Benchmark::Engines::TemplateSandbox) = %{version} Provides: perl(Template::Benchmark::Engines::TemplateTiny) = %{version} Provides: perl(Template::Benchmark::Engines::TemplateToolkit) = %{version} Provides: perl(Template::Benchmark::Engines::Tenjin) = %{version} Provides: perl(Template::Benchmark::Engines::TextClearSilver) = %{version} Provides: perl(Template::Benchmark::Engines::TextClevery) = %{version} Provides: perl(Template::Benchmark::Engines::TextMicroMasonHM) = %{version} Provides: perl(Template::Benchmark::Engines::TextMicroMasonTeTe) = %{version} Provides: perl(Template::Benchmark::Engines::TextMicroTemplate) = %{version} Provides: perl(Template::Benchmark::Engines::TextMicroTemplateExtended) = %{version} Provides: perl(Template::Benchmark::Engines::TextTemplate) = %{version} Provides: perl(Template::Benchmark::Engines::TextTemplateSimple) = %{version} Provides: perl(Template::Benchmark::Engines::TextTemplet) = %{version} Provides: perl(Template::Benchmark::Engines::TextTmpl) = %{version} Provides: perl(Template::Benchmark::Engines::TextXslate) = %{version} Provides: perl(Template::Benchmark::Engines::TextXslateTT) = %{version} %undefine __perllib_provides %{perl_requires} %description Template::Benchmark provides a pluggable framework for cross-comparing performance of various template engines across a range of supported features for each, grouped by caching methodology. If that's a bit of a mouthful... have you ever wanted to find out the relative performance of template modules that support expression parsing when running with a shared memory cache? Do you even know which ones _allow_ you to do that? This module lets you find that sort of thing out. As of current writing, there are plugins to let you compare the performance and features of 21 different perl template engines in a total of 75 different configurations. If you're just after results, then you should probably start with the benchmark_template_engines script first, it provides a commandline UI onto Template::Benchmark and gives you human-readable reports as a reply rather than a raw hashref, it also supports JSON output if you want to dump the report somewhere in a machine-readable format. If you have no template engines already installed, or you want to benchmark everything supported, I suggest you also look at the Task::Template::Benchmark distribution which installs all the optional requirements for Template::Benchmark. %prep %autosetup -n %{cpan_name}-%{cpan_version} find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -path "*/scripts/*" ! -name "configure" -print0 | xargs -0 chmod 644 %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 %changelog