]> git.pld-linux.org Git - packages/Smarty.git/blobdiff - Smarty.spec
up to 2.6.31, php7.2 compat
[packages/Smarty.git] / Smarty.spec
index 27a952cbe8b274218e55ed4b01b5032ad622d32f..2ee8780eca3d67d5ea5e19f133debf915c32422d 100644 (file)
@@ -1,19 +1,33 @@
-# $Id: Smarty.spec,v 1.2 2003-03-17 21:13:33 adamg Exp $
-%define                _doc_version    2.4.0
+%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 template'owy dla PHP
+Summary(pl.UTF-8):     System szablonów dla PHP
 Name:          Smarty
-Version:       2.4.2
+Version:       %{main_version}
 Release:       1
-License:       LGPL
+License:       LGPL v2.1+
 Group:         Development/Languages/PHP
-Source0:       http://smarty.php.net/distributions/%{name}-%{version}.tar.gz
-Source1:       http://smarty.php.net/distributions/manual/en/%{name}-%{_doc_version}-docs.tar.gz
-Requires:      php
-Requires:      php-pear
+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                appdir  %{php_data_dir}/Smarty
+
 %description
 Smarty is a template engine for PHP. Smarty provides your basic
 variable substitution and dynamic block functionality, and also takes
@@ -22,49 +36,84 @@ 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 template'owym dla PHP. Smarty pozwala na
-podstawowe podstawianie warto¶ci zmiennych i na zaawansowane operacje
-na tablicach.
+%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 -n Smarty-doc
+%package doc
 Summary:       Template engine for PHP - documentation
-Summary(pl):   System template'owy dla PHP - dokumentacja
-Version:       %{_doc_version}
+Summary(pl.UTF-8):     System szablonów dla PHP - dokumentacja
+Version:       %{doc_version}
 Group:         Development/Languages/PHP
 
-%description -n Smarty-doc
+%description doc
 Documentation for Smarty template engine.
 
-%description -n Smarty-doc -l pl
-Dokumentacja do systemu template'owego Smarty.
+%description doc -l pl.UTF-8
+Dokumentacja do systemu szablonów Smarty.
 
 %prep
-%setup -q -a 0
-%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%{_datadir}/pear/%{name}
-install -d $RPM_BUILD_ROOT%{_datadir}/pear/%{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
 
+# backards compatible with pear dir
+ln -s %{appdir} $RPM_BUILD_ROOT%{php_pear_dir}/%{name}
 
-install {Config_File,Smarty{,_Compiler}}.class.php $RPM_BUILD_ROOT%{_datadir}/pear/%{name}
-install debug.tpl $RPM_BUILD_ROOT%{_datadir}/pear/%{name}
-install plugins/*.php $RPM_BUILD_ROOT%{_datadir}/pear/%{name}/plugins/
+# 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 AUTHORS BUGS COPYING.lib CREDITS ChangeLog FAQ INSTALL NEWS QUICKSTART README RELEASE_NOTES RESOURCES TESTIMONIALS TODO
-%dir %{_datadir}/pear/%{name}
-%dir %{_datadir}/pear/%{name}/plugins
-%{_datadir}/pear/Smarty/*.class.php
-%{_datadir}/pear/%{name}/debug.tpl
-%{_datadir}/pear/%{name}/plugins/*.php
-
-%files -n Smarty-doc
+%doc BUGS ChangeLog FAQ INSTALL NEWS README RELEASE_NOTES TODO
+# 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)
 %doc manual/*
This page took 0.108975 seconds and 4 git commands to generate.