-%define _doc_version 2.6.9
+%define main_version 2.6.31
+%define doc_version 2.6.14
+%define php_min_version 5.0.0
%include /usr/lib/rpm/macros.php
Summary: Template engine for PHP
-Summary(pl): System szablonów dla PHP
+Summary(pl.UTF-8): System szablonów dla PHP
Name: Smarty
-Version: 2.6.10
-Release: 3
-License: LGPL
+Version: %{main_version}
+Release: 1
+License: LGPL v2.1+
Group: Development/Languages/PHP
-Source0: http://smarty.php.net/distributions/%{name}-%{version}.tar.gz
-# Source0-md5: 0c31105a157547bafcff8c13bb64c6a3
-Source1: http://smarty.php.net/distributions/manual/en/%{name}-%{_doc_version}-docs.tar.gz
-# Source1-md5: b64311248f9666fa579545dc45bdc789
-URL: http://smarty.php.net/
-BuildRequires: rpm-php-pearprov >= 4.3
-Requires: php-common
+Source0: https://github.com/smarty-php/smarty/archive/v%{version}/smarty-%{version}.tar.gz
+# Source0-md5: 49f8c7f60d2c551589f937082a7faaa5
+# Source1Download: http://www.smarty.net/download-docs.php
+Source1: http://www.smarty.net/distributions/manual/en/%{name}-%{doc_version}-docs.tar.gz
+# Source1-md5: 5123152dd248898a84b96b806f551e78
+Source2: %{name}-function.html_input_image.php
+Patch0: path.patch
+Patch1: modifier.mb_truncate.patch
+URL: http://www.smarty.net/
+BuildRequires: rpm-php-pearprov >= 4.4.2-11
+Requires: php(core) >= %{php_min_version}
+Requires: php(date)
+Requires: php(pcre)
+Requires: php(tokenizer)
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _smartydir %{_datadir}/php/Smarty
+%define appdir %{php_data_dir}/Smarty
%description
Smarty is a template engine for PHP. Smarty provides your basic
making all of this functionality as easy as possible to use for both
programmers and template designers.
-%description -l pl
-Smarty jest systemem szablonów dla PHP. Pozwala na podstawowe
-podstawianie warto¶ci zmiennych oraz dynamiczne operacje na blokach;
-idzie o krok dalej, aby byæ "m±drym" silnikiem szablonów, dodaj±c
-takie mo¿liwo¶ci jak pliki konfiguracyjne, funkcje, zmienne
-modyfikatory oraz czyni±c ca³± funkcjonalno¶æ jak naj³atwiejsz± w
-u¿yciu jednocze¶nie dla programistów i projektantów szablonów.
+%description -l pl.UTF-8
+Smarty jest systemem szablonów dla PHP. Pozwala na podstawowe
+podstawianie wartości zmiennych oraz dynamiczne operacje na blokach;
+idzie o krok dalej, aby być "mądrym" silnikiem szablonów, dodając
+takie możliwości jak pliki konfiguracyjne, funkcje, zmienne
+modyfikatory oraz czyniąc całą funkcjonalność jak najłatwiejszą w
+użyciu jednocześnie dla programistów i projektantów szablonów.
%package doc
Summary: Template engine for PHP - documentation
-Summary(pl): System szablonów dla PHP - dokumentacja
-Version: %{_doc_version}
+Summary(pl.UTF-8): System szablonów dla PHP - dokumentacja
+Version: %{doc_version}
Group: Development/Languages/PHP
%description doc
Documentation for Smarty template engine.
-%description doc -l pl
-Dokumentacja do systemu szablonów Smarty.
+%description doc -l pl.UTF-8
+Dokumentacja do systemu szablonów Smarty.
%prep
-%setup -q -a 1
+%setup -qn smarty-%{main_version} -a1
+%patch0 -p1
+cp -a libs/plugins/modifier.{,mb_}truncate.php
+%patch1 -p1
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_smartydir}/{internals,plugins},%{php_pear_dir}}
+install -d $RPM_BUILD_ROOT{%{appdir}/{internals,plugins},%{php_pear_dir}}
-install libs/{Config_File,Smarty{,_Compiler}}.class.php $RPM_BUILD_ROOT%{_smartydir}
-install libs/debug.tpl $RPM_BUILD_ROOT%{_smartydir}
-install libs/internals/*.php $RPM_BUILD_ROOT%{_smartydir}/internals
-install libs/plugins/*.php $RPM_BUILD_ROOT%{_smartydir}/plugins
+cp -a libs/Smarty.class.php $RPM_BUILD_ROOT%{php_data_dir}
+cp -a libs/{Config_File,Smarty_Compiler}.class.php $RPM_BUILD_ROOT%{appdir}
+cp -a libs/debug.tpl $RPM_BUILD_ROOT%{appdir}
+cp -a libs/internals/*.php $RPM_BUILD_ROOT%{appdir}/internals
+cp -a libs/plugins/*.php $RPM_BUILD_ROOT%{appdir}/plugins
+cp -a %{SOURCE2} $RPM_BUILD_ROOT%{appdir}/plugins/function.html_input_image.php
-# backards compatible
-ln -s %{_smartydir} $RPM_BUILD_ROOT%{php_pear_dir}/%{name}
+# backards compatible with pear dir
+ln -s %{appdir} $RPM_BUILD_ROOT%{php_pear_dir}/%{name}
+
+# backards compatible with entry point in subdir
+ln -s ../Smarty.class.php $RPM_BUILD_ROOT%{appdir}
%clean
rm -rf $RPM_BUILD_ROOT
# make compat symlink, the symlink is discarded using %ghost on package uninstall
-%triggerpostun -- Smarty < 2.6.10-1.2
+%triggerpostun -- Smarty < 2.6.10-4
if [ -d %{php_pear_dir}/%{name}/plugins ]; then
- mv %{php_pear_dir}/%{name}/plugins/* %{_smartydir}/plugins
+ mv %{php_pear_dir}/%{name}/plugins/* %{appdir}/plugins
rmdir %{php_pear_dir}/%{name}/plugins 2>/dev/null
fi
rmdir %{php_pear_dir}/%{name} 2>/dev/null || mv -v %{php_pear_dir}/%{name}{,.rpmsave}
-ln -s %{_smartydir} %{php_pear_dir}/%{name}
+ln -s %{appdir} %{php_pear_dir}/%{name}
+
+%post
+[ -e %{php_pear_dir}/%{name} ] || ln -s %{appdir} %{php_pear_dir}/%{name}
%files
%defattr(644,root,root,755)
%doc BUGS ChangeLog FAQ INSTALL NEWS README RELEASE_NOTES TODO
-%dir %{_smartydir}
-%dir %{_smartydir}/internals
-%dir %{_smartydir}/plugins
-%{_smartydir}/*.class.php
-%{_smartydir}/debug.tpl
-%{_smartydir}/internals/*.php
-%{_smartydir}/plugins/*.php
-
-# for the sake of bc
+# entry point in include_path
+%{php_data_dir}/Smarty.class.php
+
+# app itself
+%dir %{appdir}
+%dir %{appdir}/internals
+%dir %{appdir}/plugins
+%{appdir}/Smarty.class.php
+%{appdir}/Config_File.class.php
+%{appdir}/Smarty_Compiler.class.php
+%{appdir}/debug.tpl
+%{appdir}/internals/*.php
+%{appdir}/plugins/*.php
+
+# for the sake of bc when installed to pear dir
%ghost %{php_pear_dir}/%{name}
%files doc