-# 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
%include /usr/lib/rpm/macros.php
Summary: Zend Framework
Summary(pl.UTF-8): Szkielet Zend
Name: ZendFramework
-Version: 1.7.2
-Release: 0.1
+Version: 1.9.5
+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: f8d9cbda647b59abae3127cf248090d8
+Source1: http://framework.zend.com/releases/%{name}-%{version}/%{name}-%{version}-manual-en.tar.gz
+# Source1-md5: 87163cd486fc4849913f1c99ff3fd685
Source2: %{name}-find-lang.sh
+Patch0: %{name}-additional-locales.patch
+Patch1: %{name}-deps.patch
+Patch2: ZF-5750-pjpeg.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)'
%description
Zend Framework is a high quality and open source framework for
nowoczesnych, bogatych i bezpiecznych serwisów WWW.
%package Zend_Acl
-Summary: Zend_Acl
+Summary: Zend_Acl - ACL functionality and privileges management
+Summary(pl.UTF-8): Zend_Acl - listy kontroli dostępu i zarządzanie uprawnieniami
Group: Development/Languages/PHP
URL: http://framework.zend.com/manual/en/zend.acl.html
Requires: %{name} = %{version}-%{release}
may utilize such functionality to control access to certain protected
objects by other requesting objects.
+%description Zend_Acl -l pl.UTF-8
+Zend_Acl udostępnia lekkie i elastyczne listy kontroli dostępu (ACL)
+oraz zarządzanie uprawnieniami. W ogólności aplikacje mogą
+wykorzystywać te funkcje do kontroli dostępu do określonych
+chronionych obiektów przez inne obiekty.
+
%package Zend_Amf
-Summary: Zend_Amf
+Summary: Zend_Amf - Action Message Format support
+Summary(pl.UTF-8): Zend_Amf - obsługa formatu AMF (Action Message Format)
Group: Development/Languages/PHP
URL: http://framework.zend.com/manual/en/zend.amf.html
Requires: %{name} = %{version}-%{release}
requests sent from the Flash Player to the server and mapping these
requests to object and class methods and arbitrary callbacks.
+%description Zend_Amf -l pl.UTF-8
+Zend_Amf dodaje obsługę formatu Adobe Action Message Format (AMF),
+pozwalającego na komunikację między Adobe Flash Playerem a PHP. W
+szczególności udostępnia implementację serwera bramki do obsługi żądań
+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
+Summary: Zend_Auth - authentication API
+Summary(pl.UTF-8): Zend_Auth - API do uwierzytelniania
Group: Development/Languages/PHP
URL: http://framework.zend.com/manual/en/zend.auth.html
Requires: %{name} = %{version}-%{release}
Zend_Auth provides an API for authentication and includes concrete
authentication adapters for common use case scenarios.
+%description Zend_Auth -l pl.UTF-8
+Zend_Auth udostępnia API do uwierzytelniania i zawiera właściwe
+adaptery do uwierzytelniania w popularnych przypadkach użycia.
+
%package Zend_Cache
-Summary: Zend_Cache
+Summary: Zend_Cache - data caching
+Summary(pl.UTF-8): Zend_Cache - pamięć podręczna dla danych
Group: Development/Languages/PHP
URL: http://framework.zend.com/manual/en/zend.cache.html
Requires: %{name} = %{version}-%{release}
Zend_Cache provides a flexible approach toward caching data, including
support for tagging, manipulating, iterating, and removing subsets.
+%description Zend_Cache -l pl.UTF-8
+Zend_Cache zapewnia elastyczną pamięć podręczną dla danych z obsługą
+oznaczania, modyfikowania, iterowania i usuwania podzbiorów.
+
%package Zend_Captcha
-Summary: Zend_Captcha
+Summary: Zend_Captcha - CAPTCHA functionality
+Summary(pl.UTF-8): Zend_Captcha - funkcjonalność CAPTCHA
Group: Development/Languages/PHP
URL: http://framework.zend.com/manual/en/zend.captcha.html
Requires: %{name} = %{version}-%{release}
backends that may be utilized either standalone or in conjunction with
Zend_Form.
+%description Zend_Captcha -l pl.UTF-8
+CAPTCHA (Completely Automated Turing test to tell Computers and Humans
+Apart) to oparta na pytaniu i odpowiedzi metoda upewnienia się, że
+wysyłający informację jest człowiekiem, a nie zautomatyzowanym
+procesem. Zwykle captcha używa się tam, gdzie formularze są wywyłane
+bez uwierzytelniania, ale chcemy zapobiec wysyłaniu spamu. Mają różne
+postaci, np. zadawanie pytań logicznych, pokazywanie wykrzywionych
+fontów lub obrazków z pytaniem o ich powiązania. Klasa Zend_Captcha
+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
+Summary: Zend_Config - access to configuration data
+Summary(pl.UTF-8): Zend_Config - dostęp do danych konfiguracyjnych
Group: Development/Languages/PHP
URL: http://framework.zend.com/manual/en/zend.config.html
Requires: %{name} = %{version}-%{release}
Zend_Config is designed to simplify access to and use of configuration
data within applications.
+%description Zend_Config -l pl.UTF-8
+Zend_Config ma na celu ułatwienie dostępu i używania danych
+konfiguracyjnych w aplikacjach.
+
%package Zend_Console_Getopt
-Summary: Zend_Console_Getopt
+Summary: Zend_Console_Getopt - parsing command-line options and arguments
+Summary(pl.UTF-8): Zend_Console_Getopt - analiza opcji i argumentów linii poleceń
Group: Development/Languages/PHP
URL: http://framework.zend.com/manual/en/zend.console.getopt.html
Requires: %{name} = %{version}-%{release}
The Zend_Console_Getopt class helps command-line applications to parse
their options and arguments.
+%description Zend_Console_Getopt -l pl.UTF-8
+Klasa Zend_Console_Getopt pomaga aplikacjom linii poleceń w analizie
+opcji i argumentów.
+
%package Zend_Controller
-Summary: Zend_Controller
+Summary: Zend_Controller - heart of Model-View-Controller system
+Summary(pl.UTF-8): Zend_Controller - podstawa systemu Model-View-Controller
Group: Development/Languages/PHP
URL: http://framework.zend.com/manual/en/zend.controller.html
Requires: %{name} = %{version}-%{release}
stands for Model-View-Controller and is a design pattern targeted at
separating application logic from display logic.
+%description Zend_Controller -l pl.UTF-8
+Zend_Controller to podstawa systemu MVC szkieletu Zend. MVC oznacza
+Model-View-Controller (model-widok-kontroler) i jest wzorcem
+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
+Summary: Zend_Currency - currency representation handling
+Summary(pl.UTF-8): Zend_Currency - obsługa reprezentacji walut
Group: Development/Languages/PHP
URL: http://framework.zend.com/manual/en/zend.currency.html
Requires: %{name} = %{version}-%{release}
include localized informations on currencies, informations about which
currency is used in which region and more.
+%description Zend_Currency -l pl.UTF-8
+Zend_Currency to część rdzenia I18N szkieletu Zend. Obsługuje
+wszystkie zawiłości związane z walutami, reprezentacją i formatowaniem
+jednostek monetarnych. Zawiera także dodatkowe metody informacyjne
+zawierające zlokalizowane informacje o walutach, regionach, w których
+są używane itp.
+
%package Zend_Date
-Summary: Zend_Date
+Summary: Zend_Date - manipulating dates and times
+Summary(pl.UTF-8): Zend_Date - operacje na dacie i czasie
Group: Development/Languages/PHP
URL: http://framework.zend.com/manual/en/zend.date.html
Requires: %{name} = %{version}-%{release}
many features and possibilities above and beyond the existing PHP date
related functions.
+%description Zend_Date -l pl.UTF-8
+Komponent Zend_Date oferuje szczegółowe, ale proste API do operacji na
+dacie i czasie. Metody przyjmują szeroki zakres typów informacji, w
+tym części daty w różnych kombinacjach wykraczających poza funkcje
+obróbki daty istniejące w PHP.
+
%package Zend_Db
Summary: Zend_Db
Group: Development/Languages/PHP
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
%prep
%setup -q -a1
mv %{name}-%{version}/documentation .
-
find '(' -name '*.php' -o -name '*.xml' ')' -print0 | xargs -0 %{__sed} -i -e 's,\r$,,'
+%patch0 -p1
+%patch1 -p1
+%patch2 -p0
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}
+# NOTE: we could use %{php_data_dir} as of php-common-4:5.2.8-3, but then
+# 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