]> git.pld-linux.org Git - packages/Smarty.git/blobdiff - Smarty.spec
Up to 2.6.33 (2021-10-23)
[packages/Smarty.git] / Smarty.spec
index e81439c08e18e0fe23568c6b8e11e3a0a9d31ad7..7627a6bc960f78ac329b6e2d00e8282a0b15f2ca 100644 (file)
@@ -1,22 +1,31 @@
-# %define              _doc_version    2.4.0
-%include       /usr/lib/rpm/macros.php
+%define                main_version    2.6.33
+%define                doc_version     2.6.14
+%define                php_min_version 5.0.0
 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.5.0
-Release:       2
-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: 9acb557dc4e344fadc2ab2270c74dfa2
-Source1:       http://smarty.php.net/distributions/manual/en/%{name}-%{version}-docs.tar.gz
-# Source1-md5: 22bd33a9b9cf497e80eb21659b4c2163
-Requires:      php
-Requires:      php-pear
-BuildRequires: rpm-php-pearprov
+Source0:       https://github.com/smarty-php/smarty/archive/v%{version}/smarty-%{version}.tar.gz
+# Source0-md5: 15210afa84dc2f20c1b3b0baf95ef3f1
+# 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:           https://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                _noautoreq      "pear(?)"
+
+%define                appdir  %{php_data_dir}/Smarty
 
 %description
 Smarty is a template engine for PHP. Smarty provides your basic
@@ -26,48 +35,83 @@ as configuration files, template functions, variable modifiers, and
 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 wartoci 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%{php_pear_dir}/%{name}/plugins
+install -d $RPM_BUILD_ROOT{%{appdir}/{internals,plugins},%{php_pear_dir}}
+
+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
 
-install libs/{Config_File,Smarty{,_Compiler}}.class.php $RPM_BUILD_ROOT%{php_pear_dir}/%{name}
-install libs/debug.tpl $RPM_BUILD_ROOT%{php_pear_dir}/%{name}
-install libs/plugins/*.php $RPM_BUILD_ROOT%{php_pear_dir}/%{name}/plugins
+# 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-4
+if [ -d %{php_pear_dir}/%{name}/plugins ]; then
+       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 %{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 %{php_pear_dir}/%{name}
-%dir %{php_pear_dir}/%{name}/plugins
-%{php_pear_dir}/%{name}/*.class.php
-%{php_pear_dir}/%{name}/debug.tpl
-%{php_pear_dir}/%{name}/plugins/*.php
+# 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
 %defattr(644,root,root,755)
This page took 0.129541 seconds and 4 git commands to generate.