+#
# TODO
-# - dependencies to subpackages
-# php-fileinfo is needed by ZendFramework-1.6.2-2.5.noarch
-# php-mime_magic is needed by ZendFramework-1.6.2-2.5.noarch
-# php-pecl_http is needed by ZendFramework-1.6.2-2.5.noarch
-# php-ereg is needed by ZendFramework-Zend_Cache-1.6.2-2.5.noarch
-# php-sqlite is needed by ZendFramework-Zend_Cache-1.6.2-2.5.noarch
-# php-gd is needed by ZendFramework-Zend_Captcha-1.6.2-2.5.noarch
-# php-sapi_apache is needed by ZendFramework-Zend_Controller-1.6.2-2.5.noarch
-# php-mysqli is needed by ZendFramework-Zend_Db-1.6.2-2.5.noarch
-# php-oci8 is needed by ZendFramework-Zend_Db-1.6.2-2.5.noarch
-# php-zip is needed by ZendFramework-Zend_Filter-1.6.2-2.5.noarch
-# php-ereg is needed by ZendFramework-Zend_Gdata-1.6.2-2.5.noarch
-# php-openssl is needed by ZendFramework-Zend_Gdata-1.6.2-2.5.noarch
-# php-mcrypt is needed by ZendFramework-Zend_InfoCard-1.6.2-2.5.noarch
-# php-openssl is needed by ZendFramework-Zend_InfoCard-1.6.2-2.5.noarch
-# php-json is needed by ZendFramework-Zend_Json-1.6.2-2.5.noarch
-# php-ldap is needed by ZendFramework-Zend_Ldap-1.6.2-2.5.noarch
-# php-zip is needed by ZendFramework-Zend_Mail-1.6.2-2.5.noarch
-# php-bcmath is needed by ZendFramework-Zend_OpenId-1.6.2-2.5.noarch
-# php-gmp is needed by ZendFramework-Zend_OpenId-1.6.2-2.5.noarch
-# php-mhash is needed by ZendFramework-Zend_OpenId-1.6.2-2.5.noarch
-# php-openssl is needed by ZendFramework-Zend_OpenId-1.6.2-2.5.noarch
-# php-gd is needed by ZendFramework-Zend_Pdf-1.6.2-2.5.noarch
-# php-bitset is needed by ZendFramework-Zend_Search_Lucene-1.6.2-2.5.noarch
-# php-zip is needed by ZendFramework-Zend_Search_Lucene-1.6.2-2.5.noarch
-# php-ereg is needed by ZendFramework-Zend_Service_Amazon-1.6.2-2.5.noarch
-# php-mcrypt is needed by ZendFramework-Zend_Service_ReCaptcha-1.6.2-2.5.noarch
-# php-pecl_http is needed by ZendFramework-Zend_Uri-1.6.2-2.5.noarch
-# php-mime_magic is needed by ZendFramework-Zend_Validate-1.6.2-2.5.noarch
-# - add rpm-whiteout: http://pld.pastebin.com/f33091903
+# - check Zend/Pdf/FileParser/Image/Jpeg.php and Zend/Pdf/FileParser/Image/Tiff.php
+# presence in Zend/Pdf/Image.php after update [not implemented in 1.9.7)
+#
%include /usr/lib/rpm/macros.php
Summary: Zend Framework
Summary(pl.UTF-8): Szkielet Zend
Name: ZendFramework
-Version: 1.7.2
+Version: 1.9.7
Release: 1
License: New BSD License
Group: Development/Languages/PHP
-Source0: http://framework.zend.com/releases/%{name}-%{version}/ZendFramework-%{version}.tar.gz
-# Source0-md5: 7bc33a0ed379f30ab408ecd546025a1b
-Source1: http://framework.zend.com/releases/ZendFramework-%{version}/%{name}-%{version}-manual-en.tar.gz
-# Source1-md5: 77e7cc4fa67b53763adb47911c0867eb
+Source0: http://framework.zend.com/releases/%{name}-%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: ee066286942723187216fd236739e3dd
+Source1: http://framework.zend.com/releases/%{name}-%{version}/%{name}-%{version}-manual-en.tar.gz
+# Source1-md5: c774ce7fc0053f14e64a5248e4b167d9
Source2: %{name}-find-lang.sh
Patch0: %{name}-additional-locales.patch
-Patch1: %{name}-db_charset.patch
+Patch1: %{name}-deps.patch
+Patch2: ZF-5750-pjpeg.patch
+Patch3: %{name}-Zend_Pdf-excaption.patch
URL: http://framework.zend.com/
+BuildRequires: /usr/bin/php
+BuildRequires: php-pecl-runkit
BuildRequires: rpm-php-pearprov >= 4.4.2-11
BuildRequires: sed >= 4.0
Requires: php-common >= 4:5.1.4
+Requires: php-pear
Requires: rpm-whiteout >= 1.12
Obsoletes: ZendFramework-doc
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# exclude optional dependencies
-%define _noautoreq 'php(oci8)' 'php(bitset)'
+%define _noautoreq 'php(oci8)' 'php(bitset)' 'pear(../application/bootstrap.php)' 'pear(Zend/Pdf/FileParser/Image/Tiff.php)' 'pear(Zend/Pdf/FileParser/Image/Jpeg.php)'
%description
Zend Framework is a high quality and open source framework for
wysyłanych z Flash Playera do serwera i odwzorowywania tych żądań na
obiekty i metody klas oraz wywołania zwrotne.
+%package Zend_Application
+Summary: Zend_Application - bootstrap facility
+Group: Development/Languages/PHP
+URL: http://framework.zend.com/manual/en/zend.amf.html
+Requires: %{name} = %{version}-%{release}
+
+%description Zend_Application
+Zend_Application provides a bootstrapping facility for applications
+which provides reusable resources, common- and module-based bootstrap
+classes and dependency checking. It also takes care of setting up the
+PHP environment and introduces autoloading by default.
+
%package Zend_Auth
Summary: Zend_Auth - authentication API
Summary(pl.UTF-8): Zend_Auth - API do uwierzytelniania
udostępnia różne backendy. Może być używana zarówno samodzielnie, jak
i w połączeniu z Zend_Form.
+%package Zend_CodeGenerator
+Summary: Zend_CodeGenerator - generate arbitrary code using OO interface
+Group: Development/Languages/PHP
+URL: http://framework.zend.com/manual/en/zend.codegenerator.html
+Requires: %{name} = %{version}-%{release}
+
+%description Zend_CodeGenerator
+Zend_CodeGenerator provides facilities to generate arbitrary code
+using an object oriented interface, both to create new code as well as
+to update existing code. While the current implementation is limited
+to generating PHP code, you can easily extend the base class in order
+to provide code generation for other tasks: JavaScript, configuration
+files, apache vhosts, etc.
+
%package Zend_Config
Summary: Zend_Config - access to configuration data
Summary(pl.UTF-8): Zend_Config - dostęp do danych konfiguracyjnych
projektowym służącym do oddzielenia logiki aplikacji od logiki
wyświetlania.
+%package Zend_Crypt
+Summary: Zend_Crypt
+Group: Development/Languages/PHP
+URL: http://framework.zend.com/manual/en/zend.crypt.html
+Requires: %{name} = %{version}-%{release}
+
+%description Zend_Crypt
+Zend_Crypt
+
%package Zend_Currency
Summary: Zend_Currency - currency representation handling
Summary(pl.UTF-8): Zend_Currency - obsługa reprezentacji walut
URL: http://framework.zend.com/manual/en/zend.locale.html
Requires: %{name} = %{version}-%{release}
Requires: php-iconv
-Suggests: php-bcmath
%description Zend_Locale
Zend_Locale is the Framework's answer to the question, "How can the
%description Zend_Mime
Zend_Mime is a support class for handling multipart MIME messages.
+%package Zend_Navigation
+Summary: Zend_Navigation - manage trees of pointers to web page
+Group: Development/Languages/PHP
+URL: http://framework.zend.com/manual/en/zend.navigation.html
+Requires: %{name} = %{version}-%{release}
+
+%description Zend_Navigation
+Zend_Navigation is a component for managing trees of pointers to web
+pages. Simply put: It can be used for creating menus, breadcrumbs,
+links, and sitemaps, or serve as a model for other navigation related
+purposes.
+
%package Zend_OpenId
Summary: Zend_OpenId
Group: Development/Languages/PHP
calls the adapter with some precalculated values like percentage and
estimated time left.
+%package Zend_Queue
+Summary: Zend_Queue
+Group: Development/Languages/PHP
+URL: http://framework.zend.com/manual/en/zend.progressbar.html
+Requires: %{name} = %{version}-%{release}
+
+%description Zend_Queue
+Zend_Queue is a standardized interface for dealing with a variety of
+queuing systems. Proposed systems include: simple array access,
+Zend_Cache, Zend Platform Job Queue, Amazon's Simple Queue Service
+(SQS). It should support creating queues, determining the number of
+messages in a queue, retrieving messages from a queue (all or specific
+number), submitting messages to a queue, and removing queues.
+
+%package Zend_Reflection
+Summary: Zend_Reflection
+Group: Development/Languages/PHP
+URL: http://framework.zend.com/manual/en/zend.reflection.html
+Requires: %{name} = %{version}-%{release}
+
+%description Zend_Reflection
+Zend_Reflection is a drop-in extension to PHP's own Reflection API,
+providing several additional features:
+ - Ability to retrieve return values types.
+ - Ability to retrieve method and function parameter types.
+ - Ability to retrieve class property types.
+ - DocBlocks gain a Reflection class, allowing introspection of
+ docblocks. This provides the ability to determine what annotation tags
+ have been defined as well as to retrieve their values, and the ability
+ to retrieve the short and long descriptions.
+ - Files gain a Reflection class, allowing introspection of PHP files.
+ This provides the ability to determine what functions and classes are
+ defined in a given file, as well as to instrospect them.
+ - Ability to override any Reflection class with your own variant, for
+ the entire reflection tree you create.
+
+In general, Zend_Reflection works just like the standard Reflection
+API, but provides a few additional methods for retrieving artifacts
+not defined in the Reflection API.
+
%package Zend_Registry
Summary: Zend_Registry
Group: Development/Languages/PHP
Requires: php-ctype
Requires: php-dom
Requires: php-iconv
-Suggests: php-pecl-bitset
%description Zend_Search_Lucene
Zend_Search_Lucene is a general purpose text search engine. Since it
Zend_Soap component is intended to simplify Web Services development
for PHP programmers.
+%package Zend_Tag
+Summary: Zend_Tag -- work with taggable Items
+Group: Development/Languages/PHP
+URL: http://framework.zend.com/manual/en/zend.tag.html
+Requires: %{name} = %{version}-%{release}
+
+%description Zend_Tag
+Zend_Tag is a component suite which provides a facility to work with
+taggable Items. As its base, it provides two classes to work with
+Tags, Zend_Tag_Item and Zend_Tag_ItemList. Additionally, it comes with
+the interface Zend_Tag_Taggable, which allows you to use any of your
+models as a taggable item in conjunction with Zend_Tag.
+
%package Zend_Text
Summary: Zend_Text
Group: Development/Languages/PHP
Zend_Test provides tools to facilitate unit testing of your Zend
Framework applications.
+%package Zend_Tool
+Summary: Zend_Tool
+Group: Development/Languages/PHP
+URL: http://framework.zend.com/wiki/display/ZFDEV/Zend_Tool
+Requires: %{name} = %{version}-%{release}
+Requires: /usr/bin/php
+
+%description Zend_Tool
+Zend_Tool component is intended to simplify project development for
+PHP programmers.
+
+Please note that this component is part of Zend Framework incubator.
+
%package Zend_Translate
Summary: Zend_Translate
Group: Development/Languages/PHP
mv %{name}-%{version}/documentation .
find '(' -name '*.php' -o -name '*.xml' ')' -print0 | xargs -0 %{__sed} -i -e 's,\r$,,'
%patch0 -p1
-cd library
-%patch1 -p0
-cd -
+%patch1 -p1
+%patch2 -p0
+%patch3 -p1
install %{SOURCE2} find-lang.sh
+# cleanup backups after patching
+find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
+
+%build
+# check *.php files syntax using runkit extension
+lint_php() {
+ php -r '
+ $errors = 0;
+ array_shift($argv);
+ echo "Checking syntax of ", count($argv), " PHP files";
+ foreach ($argv as $file) {
+ echo ".";
+ if (!runkit_lint_file($file)) {
+ echo "PHP Lint: $file\n";
+ $errors++;
+ }
+ }
+ echo "\nDONE!\n";
+ exit($errors ? 1 : 0);
+ ' $(find library -name '*.php')
+}
+lint_php
+
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_examplesdir}/%{name}-%{version},%{php_pear_dir}}
+install -d $RPM_BUILD_ROOT{%{_examplesdir}/%{name}-%{version},%{php_pear_dir}/bin}
+install -d $RPM_BUILD_ROOT%{_bindir}
cp -a demos/Zend/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
# library should be in include_path if used, so we use already defined %{php_pear_dir}
# pear(...) deps won't be satisifed that these libs use extensively.
cp -a library/* $RPM_BUILD_ROOT%{php_pear_dir}
+# create script in bindir
+cp -a bin/zf.php $RPM_BUILD_ROOT%{php_pear_dir}/bin
+cat >> $RPM_BUILD_ROOT%{_bindir}/zf <<-'EOF'
+#!/bin/sh
+cd %{php_pear_dir}/bin
+exec /usr/bin/php -d Safe_mode=off zf.php ${1:+"$@"}
+EOF
+
./find-lang.sh %{name}.lang
# manual
%{php_pear_dir}/Zend/Service/Abstract.php
%{php_pear_dir}/Zend/Service/Exception.php
-%dir %{php_pear_dir}/Zend/Request
-%{php_pear_dir}/Zend/Request/Interface.php
-
%{php_pear_dir}/Zend/TimeSync
%{php_pear_dir}/Zend/TimeSync.php
%defattr(644,root,root,755)
%{php_pear_dir}/Zend/Amf
+%files Zend_Application
+%defattr(644,root,root,755)
+%{php_pear_dir}/Zend/Application
+%{php_pear_dir}/Zend/Application.php
+
%files Zend_ProgressBar
%defattr(644,root,root,755)
%{php_pear_dir}/Zend/ProgressBar.php
%defattr(644,root,root,755)
%{php_pear_dir}/Zend/Captcha
+%files Zend_CodeGenerator
+%defattr(644,root,root,755)
+%{php_pear_dir}/Zend/CodeGenerator
+
%files Zend_Config
%defattr(644,root,root,755)
%{php_pear_dir}/Zend/Config
%defattr(644,root,root,755)
%{php_pear_dir}/Zend/Controller
+%files Zend_Crypt
+%defattr(644,root,root,755)
+%{php_pear_dir}/Zend/Crypt
+%{php_pear_dir}/Zend/Crypt.php
+
%files Zend_Currency
%defattr(644,root,root,755)
%{php_pear_dir}/Zend/Currency
%dir %{php_pear_dir}/Zend/Locale/Data
%{php_pear_dir}/Zend/Locale/Data/Translation.php
%{php_pear_dir}/Zend/Locale/Data/characters.xml
-%{php_pear_dir}/Zend/Locale/Data/plurals.xml
+%{php_pear_dir}/Zend/Locale/Data/likelySubtags.xml
+%{php_pear_dir}/Zend/Locale/Data/metazoneInfo.xml
+%{php_pear_dir}/Zend/Locale/Data/numberingSystems.xml
+%{php_pear_dir}/Zend/Locale/Data/postalCodeData.xml
%{php_pear_dir}/Zend/Locale/Data/root.xml
%{php_pear_dir}/Zend/Locale/Data/supplementalData.xml
%{php_pear_dir}/Zend/Locale/Data/telephoneCodeData.xml
%{php_pear_dir}/Zend/Mime
%{php_pear_dir}/Zend/Mime.php
+%files Zend_Navigation
+%defattr(644,root,root,755)
+%{php_pear_dir}/Zend/Navigation
+%{php_pear_dir}/Zend/Navigation.php
+
%files Zend_OpenId
%defattr(644,root,root,755)
%{php_pear_dir}/Zend/OpenId
%{php_pear_dir}/Zend/Pdf
%{php_pear_dir}/Zend/Pdf.php
+%files Zend_Queue
+%defattr(644,root,root,755)
+%{php_pear_dir}/Zend/Queue
+%{php_pear_dir}/Zend/Queue.php
+
+%files Zend_Reflection
+%defattr(644,root,root,755)
+%{php_pear_dir}/Zend/Reflection
+
%files Zend_Registry
%defattr(644,root,root,755)
%{php_pear_dir}/Zend/Registry.php
%files Zend_Service_Audioscrobbler
%defattr(644,root,root,755)
+%{php_pear_dir}/Zend/Service/Audioscrobbler
%{php_pear_dir}/Zend/Service/Audioscrobbler.php
%files Zend_Service_Delicious
%defattr(644,root,root,755)
%{php_pear_dir}/Zend/Soap
+%files Zend_Tag
+%defattr(644,root,root,755)
+%{php_pear_dir}/Zend/Tag
+
%files Zend_Text
%defattr(644,root,root,755)
%{php_pear_dir}/Zend/Text
%defattr(644,root,root,755)
%{php_pear_dir}/Zend/Test
+%files Zend_Tool
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/zf
+%{php_pear_dir}/bin/zf.php
+%{php_pear_dir}/Zend/Tool
+
%files Zend_Translate
%defattr(644,root,root,755)
%{php_pear_dir}/Zend/Translate