update OBS-URL: https://build.opensuse.org/request/show/295730 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-HTML-Template-Compiled?expand=0&rev=2
127 lines
4.7 KiB
RPMSpec
127 lines
4.7 KiB
RPMSpec
#
|
|
# spec file for package perl-HTML-Template-Compiled
|
|
#
|
|
# Copyright (c) 2015 SUSE LINUX 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-Compiled
|
|
Version: 1.001
|
|
Release: 0
|
|
%define cpan_name HTML-Template-Compiled
|
|
Summary: Template System Compiles HTML::Template files to Perl code
|
|
License: Artistic-1.0 or GPL-1.0+
|
|
Group: Development/Libraries/Perl
|
|
Url: http://search.cpan.org/dist/HTML-Template-Compiled/
|
|
Source: http://www.cpan.org/authors/id/T/TI/TINITA/%{cpan_name}-%{version}.tar.gz
|
|
BuildArch: noarch
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
BuildRequires: perl
|
|
BuildRequires: perl-macros
|
|
BuildRequires: perl(Module::Build) >= 0.28
|
|
BuildRequires: perl(URI::Escape)
|
|
Requires: perl(URI::Escape)
|
|
Recommends: perl(Parse::RecDescent)
|
|
%{perl_requires}
|
|
|
|
%description
|
|
HTML::Template::Compiled is a template system which can be used for the
|
|
HTML::Template manpage templates with almost the same API. It offers more
|
|
flexible template delimiters, additional tags and features, and by
|
|
compiling the template into perl code it can run significantly faster in
|
|
persistent environments such as FastCGI or mod_perl.
|
|
|
|
The goal is to offer more features for flexibility but keep the basic
|
|
syntax as easy as it is.
|
|
|
|
Features at a glance:
|
|
|
|
* Dot notation for objects, hashes and arrays
|
|
|
|
* Use expressions without any disadvantages like those in the
|
|
HTML::Template::Expr manpage
|
|
|
|
* Write escaping plugins and plugins for new tags
|
|
|
|
* Alternate delimiters, e.g. '[%if %]' and '<%if %>'
|
|
|
|
* Avoid 'global_vars' option by using the 'SET_VAR' tag to create aliases.
|
|
|
|
* Tags ELSIF, EACH, WHILE, COMMENT, WRAPPER, SWITCH/CASE, INCLUDE_VAR
|
|
|
|
* Chomp newlines/whitespace
|
|
|
|
For a quick reference, see the HTML::Template::Compiled::Reference manpage.
|
|
|
|
As the basic features work like in the HTML::Template manpage, please get
|
|
familiar with its documentation before.
|
|
|
|
HTML::Template::Compiled (HTC) does not implement all features of the
|
|
HTML::Template manpage (see the "COMPATIBILITY" manpage), and it has got
|
|
some additional features which are explained below: the "ADDITIONAL
|
|
FEATURES" manpage
|
|
|
|
See the "BENCHMARKS" manpage for some examples on the performance. Since it
|
|
depends highly on the options used and on the template size there can be no
|
|
general statement on its performance.
|
|
|
|
You might want to use the HTML::Template::Compiled::Lazy manpage for CGI
|
|
environments as it doesn't parse the template before calling output. But
|
|
note that HTC::Lazy isn't much tested, and I don't use it myself, so
|
|
there's a lack of experience. If you use it and have problems, please
|
|
report.
|
|
|
|
HTC will use a lot of memory because it keeps all template objects in
|
|
memory. If you are on mod_perl, and have a lot of templates, you should
|
|
preload them at server startup to be sure that it is in shared memory. At
|
|
the moment HTC is not fully tested for keeping all data in shared memory
|
|
(e.g. when a copy-on-write occurs), but it seems like it's behaving well.
|
|
For preloading you can use HTML::Template::Compiled->preload($cache_dir).
|
|
|
|
Generating code, writing it on disk and later eval() it can open security
|
|
holes, for example if you have more users on the same machine that can
|
|
access the same files (usually an http server running as 'www' or
|
|
'nobody'). See the "SECURITY" manpage for details what you can do to safe
|
|
yourself.
|
|
|
|
NOTE: If you don't need any of the additional features listed below and if
|
|
you don't need the speed (in many cases it's probably not worth trading
|
|
speed for memory), then you might be better off with just using
|
|
HTML::Template.
|
|
|
|
NOTE2: If you have any questions, bug reports, send them to me and not to
|
|
Sam Tregar. This module is developed by me at the moment, independently
|
|
from HTML::Template, although I try to get most of the tests from it
|
|
passing for HTC. See the "RESOURCES" manpage for current information.
|
|
|
|
%prep
|
|
%setup -q -n %{cpan_name}-%{version}
|
|
|
|
%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
|
|
%defattr(-,root,root,755)
|
|
%doc Changes examples README
|
|
|
|
%changelog
|