# # spec file for package perl-HTML-Template-Pro # # Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # 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 http://bugs.opensuse.org/ # Name: perl-HTML-Template-Pro Version: 0.9508 Release: 0 %define cpan_name HTML-Template-Pro Summary: Perl/XS module to use HTML Templates from CGI scripts License: GPL-1.0+ or Artistic-1.0 Group: Development/Libraries/Perl Url: http://search.cpan.org/dist/HTML-Template-Pro/ Source0: http://www.cpan.org/authors/id/V/VI/VIY/%{cpan_name}-%{version}.tar.gz Source1: perl-HTML-Template-Pro-rpmlintrc BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: perl(File::Path) >= 2 BuildRequires: perl(File::Spec) BuildRequires: perl(JSON) >= 2 BuildRequires: perl(Test::More) Requires: perl(File::Path) >= 2 Requires: perl(File::Spec) Requires: perl(JSON) >= 2 Requires: perl(Test::More) %{perl_requires} %description Original HTML::Template is written by Sam Tregar, sam@tregar.com with contributions of many people mentioned there. Their efforts caused HTML::Template to be mature html tempate engine which separate perl code and html design. Yet powerful, HTML::Template is slow, especially if mod_perl isn't available or in case of disk usage and memory limitations. HTML::Template::Pro is a fast lightweight C/Perl+XS reimplementation of HTML::Template (as of 2.9) and HTML::Template::Expr (as of 0.0.7). It is not intended to be a complete replacement, but to be a fast implementation of HTML::Template if you don't need querying, the extended facility of HTML::Template. Designed for heavy upload, resource limitations, abcence of mod_perl. HTML::Template::Pro has complete support of filters and HTML::Template::Expr's tag EXPR="", including user-defined functions and construction . HTML::Template work cycle uses 2 steps. First, it loads and parse template. Then it accepts param() calls until you call output(). output() is its second phase where it produces a page from the parsed tree of template, obtained in the 1st step. HTML::Template::Pro loads, parse and outputs template on fly, when you call $tmpl->output(), in one pass. The corresponding code is written in C and glued to Perl using Perl+XS. As a result, comparing to HTML::Template in ordinary calls, it runs 10-25 times faster. Comparing to HTML::Template with all caching enabled under mod_perl, it still 1-3 times faster. At that HTML::Template caching requires considerable amount of memory (per process, shareable, or on disk) to be permanently filled with parsed trees, whereas HTML::Template::Pro don't consumes memory for caches and use mmap() for reading templates on disk. Introduction to HTML::Template and syntax of template files is described in the HTML::Template::SYNTAX manpage. Perl interface of HTML::Template and HTML::Template::Pro is described in the HTML::Template::PerlInterface manpage. %prep %setup -q -n %{cpan_name}-%{version} %build %{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" %{__make} %{?_smp_mflags} %check %{__make} test %install %perl_make_install %perl_process_packlist %perl_gen_filelist %clean %{__rm} -rf %{buildroot} %files -f %{name}.files %defattr(-,root,root,755) %doc ARTISTIC benchmark.pl.t builtin_findfile.inc calc.inc callback_stubs.inc Changes cmp_expr.t exprpstr.inc exprtool.inc expr.y FAQ LGPL loadfile.inc loopvar.inc perl-HTML-Template-Pro.spec pparam2proparam proscope.inc prostate.inc pstrutils.inc README README.ru README.win32 tags.inc tagstack.inc test_crlf.out TODO %changelog