summaryrefslogtreecommitdiffstats
path: root/php-doctrine-DoctrineORM.spec
blob: bbd0576e25c21b5bd56995383d2553e542d8962b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
%{!?__pear: %{expand: %%global __pear %{_bindir}/pear}}
%{!?pear_metadir: %global pear_metadir %{pear_phpdir}}

%global pear_channel    pear.doctrine-project.org
%global pear_name       DoctrineORM

%global symfony_min_ver 2.0
%global symfony_max_ver 3.0

Name:             php-doctrine-%{pear_name}
Version:          2.3.3
Release:          1%{?dist}
Summary:          Doctrine Object Relational Mapper

Group:            Development/Libraries
# License clarification from upstream since both MIT and LGPL are found:
# https://groups.google.com/d/topic/doctrine-dev/BNd84oKdOP0/discussion
License:          MIT
URL:              http://www.doctrine-project.org/projects/orm.html
Source0:          http://%{pear_channel}/get/%{pear_name}-%{version}.tgz

BuildRoot:        %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch:        noarch
BuildRequires:    php-pear(PEAR)
BuildRequires:    php-channel(%{pear_channel})

Requires:         php-common >= 5.3.0
Requires:         php-pear(PEAR)
Requires:         php-channel(%{pear_channel})
Requires:         php-pear(%{pear_channel}/DoctrineCommon) >= 2.3.0
Requires:         php-pear(%{pear_channel}/DoctrineCommon) <  2.4.0
Requires:         php-pear(%{pear_channel}/DoctrineDBAL) >= 2.3.0
Requires:         php-pear(%{pear_channel}/DoctrineDBAL) <  2.4.0
Requires:         php-pear(pear.symfony.com/Console) >= %{symfony_min_ver}
Requires:         php-pear(pear.symfony.com/Console) <  %{symfony_max_ver}
Requires:         php-pear(pear.symfony.com/Yaml) >= %{symfony_min_ver}
Requires:         php-pear(pear.symfony.com/Yaml) <  %{symfony_max_ver}
Requires(post):   %{__pear}
Requires(postun): %{__pear}
# phpci requires
Requires:         php-ctype
Requires:         php-dom
Requires:         php-pcre
Requires:         php-pdo
Requires:         php-reflection
Requires:         php-simplexml
Requires:         php-spl
Requires:         php-tokenizer

Provides:         php-pear(%{pear_channel}/%{pear_name}) = %{version}

%description
Object relational mapper (ORM) for PHP that sits on top of a powerful
database abstraction layer (DBAL). One of its key features is the option
to write database queries in a proprietary object oriented SQL dialect
called Doctrine Query Language (DQL), inspired by Hibernate's HQL. This
provides developers with a powerful alternative to SQL that maintains
flexibility without requiring unnecessary code duplication.


%prep
%setup -q -c

# Modify package.xml
# - Fix role for README, LICENSE, and UPGRADE files (role="data" => role="doc")
# - Remove doctrine.bat
# *** http://www.doctrine-project.org/jira/browse/DDC-1913
sed -i \
    -e '/README.markdown/s/role="data"/role="doc"/' \
    -e '/LICENSE/s/role="data"/role="doc"/' \
    -e '/UPGRADE/s/role="data"/role="doc"/' \
    -e '/<file.*doctrine.bat/,/<\/file>/d' \
    -e '/<install.*doctrine.bat/d' \
    package.xml

# Make a single executable
pushd %{pear_name}-%{version}/bin
rm -f doctrine
(
    echo '#!@php_bin@'
    cat doctrine-pear.php
) > doctrine
chmod +x doctrine
rm -f doctrine-pear.php
popd
# Modify PEAR package.xml for above changes
# - Remove doctrine-pear.php file
# - Remove md5sum from doctrine file since it was changed
sed -e '/doctrine-pear.php/d' \
    -e '/name="bin\/doctrine"/s/md5sum="[^"]*"\s*//' \
    -i package.xml

# Remove doctrine.bat

# package.xml is version 2.0
mv package.xml %{pear_name}-%{version}/%{name}.xml


%build
# Empty build section, nothing required


%install
cd %{pear_name}-%{version}
%{__pear} install --nodeps --packagingroot %{buildroot} %{name}.xml

# Clean up unnecessary files
rm -rf %{buildroot}%{pear_metadir}/.??*

# Install XML package description
mkdir -p %{buildroot}%{pear_xmldir}
install -pm 644 %{name}.xml %{buildroot}%{pear_xmldir}


%post
%{__pear} install --nodeps --soft --force --register-only \
    %{pear_xmldir}/%{name}.xml >/dev/null || :


%postun
if [ $1 -eq 0 ] ; then
    %{__pear} uninstall --nodeps --ignore-errors --register-only \
        %{pear_channel}/%{pear_name} >/dev/null || :
fi


%files
%defattr(-,root,root,-)
%doc %{pear_docdir}/%{pear_name}
%{pear_xmldir}/%{name}.xml
%{pear_datadir}/%{pear_name}
%{pear_phpdir}/Doctrine/ORM
%{_bindir}/doctrine


%changelog
* Sun Jun 30 2013 Remi Collet <RPMS@FamilleCollet.com> - 2.3.3-1
- backport for remi repo.

* Fri Jun 07 2013 Shawn Iwinski <shawn.iwinski@gmail.com> 2.3.3-1
- Updated to 2.3.3
- Fixed license
- Added php-dom require
- Made a single executable (removed doctrine-pear.php)
- Removed doctrine.bat
- Added "%%global pear_metadir" and usage in %%install
- Changed RPM_BUILD_ROOT to %%{buildroot}

* Wed Jul 4 2012 Shawn Iwinski <shawn.iwinski@gmail.com> 2.2.2-1
- Initial package