1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/php/php.spec Tue Aug 28 18:37:15 2012 +0200 1.3 @@ -0,0 +1,537 @@ 1.4 +## 1.5 +## php.spec -- OpenPKG RPM Package Specification 1.6 +## Copyright (c) 2000-2012 OpenPKG Foundation e.V. <http://openpkg.net/> 1.7 +## 1.8 +## Permission to use, copy, modify, and distribute this software for 1.9 +## any purpose with or without fee is hereby granted, provided that 1.10 +## the above copyright notice and this permission notice appear in all 1.11 +## copies. 1.12 +## 1.13 +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 1.14 +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 1.15 +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 1.16 +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR 1.17 +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 1.18 +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 1.19 +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 1.20 +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 1.21 +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 1.22 +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 1.23 +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1.24 +## SUCH DAMAGE. 1.25 +## 1.26 + 1.27 +# package information 1.28 +Name: php 1.29 +Summary: Personal HomePage (PHP) 1.30 +URL: http://www.php.net/ 1.31 +Vendor: The PHP Project 1.32 +Packager: OpenPKG Foundation e.V. 1.33 +Distribution: OpenPKG Community 1.34 +Class: BASE 1.35 +Group: Language 1.36 +License: PHP 1.37 +Version: 5.4.5 1.38 +Release: 20120723 1.39 + 1.40 +# package options 1.41 +%option with_bc no 1.42 +%option with_bdb no 1.43 +%option with_bzip2 no 1.44 +%option with_calendar no 1.45 +%option with_ctype no 1.46 +%option with_curl no 1.47 +%option with_debug no 1.48 +%option with_dom no 1.49 +%option with_exif no 1.50 +%option with_freetype no 1.51 +%option with_ftp no 1.52 +%option with_gd no 1.53 +%option with_gdbm no 1.54 +%option with_gettext no 1.55 +%option with_iconv no 1.56 +%option with_imap no 1.57 +%option with_json no 1.58 +%option with_tokenizer no 1.59 +%option with_mbregex no 1.60 +%option with_mbstring no 1.61 +%option with_mcrypt no 1.62 +%option with_mhash no 1.63 +%option with_mm no 1.64 +%option with_mysql no 1.65 +%option with_mysqlnd no 1.66 +%option with_oci8 no 1.67 +%option with_odbc no 1.68 +%option with_openldap no 1.69 +%option with_openldapsasl no 1.70 +%option with_pear no 1.71 +%option with_pgsql no 1.72 +%option with_posix no 1.73 +%option with_sendmail no 1.74 +%option with_session no 1.75 +%option with_simplexml no 1.76 +%option with_snmp no 1.77 +%option with_soap no 1.78 +%option with_sqlite no 1.79 +%option with_ssl no 1.80 +%option with_tidy no 1.81 +%option with_versioning no 1.82 +%option with_wddx no 1.83 +%option with_xml no 1.84 +%option with_xslt no 1.85 +%option with_zlib no 1.86 +%option with_zip no 1.87 + 1.88 +# fixing implicit extension dependencies and correlations 1.89 +%if "%{with_mm}" == "yes" 1.90 +%undefine with_session 1.91 +%define with_session yes 1.92 +%endif 1.93 +%if "%{with_pear}" == "yes" 1.94 +%undefine with_xml 1.95 +%define with_xml yes 1.96 +%endif 1.97 +%if "%{with_freetype}" == "yes" 1.98 +%undefine with_gd 1.99 +%define with_gd yes 1.100 +%endif 1.101 +%if "%{with_mysql}" == "yes" || "%{with_gd}" == "yes" || "%{with_dom}" == "yes" || "%{with_zip}" == "yes" 1.102 +%undefine with_zlib 1.103 +%define with_zlib yes 1.104 +%endif 1.105 +%if "%{with_xslt}" == "yes" 1.106 +%undefine with_dom 1.107 +%define with_dom yes 1.108 +%endif 1.109 +%if "%{with_dom}" == "yes" 1.110 +%undefine with_xml 1.111 +%define with_xml yes 1.112 +%endif 1.113 +%if "%{with_soap}" == "yes" 1.114 +%undefine with_xml 1.115 +%define with_xml yes 1.116 +%endif 1.117 +%if "%{with_pgsql}" == "yes" 1.118 +%undefine with_ssl 1.119 +%define with_ssl yes 1.120 +%endif 1.121 + 1.122 +# list of sources 1.123 +Source0: http://static.php.net/www.php.net/distributions/php-%{version}.tar.bz2 1.124 +Source1: php.ini 1.125 +Patch0: php.patch 1.126 + 1.127 +# build information 1.128 +BuildPreReq: OpenPKG, openpkg >= 20120101, gcc, flex, bison 1.129 +PreReq: OpenPKG, openpkg >= 20120101 1.130 +BuildPreReq: pcre 1.131 +PreReq: pcre 1.132 +%if "%{with_sqlite}" == "yes" 1.133 +BuildPreReq: sqlite 1.134 +PreReq: sqlite 1.135 +%endif 1.136 +%if "%{with_mysql}" == "yes" 1.137 +BuildPreReq: mysql 1.138 +PreReq: mysql 1.139 +%endif 1.140 +%if "%{with_pgsql}" == "yes" 1.141 +BuildPreReq: postgresql 1.142 +PreReq: postgresql 1.143 +%endif 1.144 +%if "%{with_gd}" == "yes" 1.145 +BuildPreReq: gd >= 2.0.20, jpeg, png 1.146 +PreReq: gd >= 2.0.20, jpeg, png 1.147 +%endif 1.148 +%if "%{with_bdb}" == "yes" 1.149 +BuildPreReq: db 1.150 +PreReq: db 1.151 +%endif 1.152 +%if "%{with_zlib}" == "yes" 1.153 +BuildPreReq: zlib 1.154 +PreReq: zlib 1.155 +%endif 1.156 +%if "%{with_bzip2}" == "yes" 1.157 +BuildPreReq: bzip2 1.158 +PreReq: bzip2 1.159 +%endif 1.160 +%if "%{with_ssl}" == "yes" 1.161 +BuildPreReq: openssl 1.162 +PreReq: openssl 1.163 +%endif 1.164 +%if "%{with_openldap}" == "yes" 1.165 +BuildPreReq: openldap 1.166 +PreReq: openldap 1.167 +%if "%{with_openldapsasl}" == "yes" 1.168 +BuildPreReq: openldap::with_sasl = yes 1.169 +PreReq: openldap::with_sasl = yes 1.170 +%else 1.171 +BuildPreReq: openldap::with_sasl = no 1.172 +PreReq: openldap::with_sasl = no 1.173 +%endif 1.174 +%endif 1.175 +%if "%{with_mm}" == "yes" 1.176 +BuildPreReq: mm 1.177 +PreReq: mm 1.178 +%endif 1.179 +%if "%{with_freetype}" == "yes" 1.180 +BuildPreReq: freetype 1.181 +PreReq: freetype 1.182 +%endif 1.183 +%if "%{with_gettext}" == "yes" 1.184 +BuildPreReq: gettext, libiconv 1.185 +PreReq: gettext, libiconv 1.186 +%endif 1.187 +%if "%{with_iconv}" == "yes" 1.188 +BuildPreReq: libiconv 1.189 +PreReq: libiconv 1.190 +%endif 1.191 +%if "%{with_imap}" == "yes" 1.192 +BuildPreReq: imap, openssl 1.193 +PreReq: imap, openssl 1.194 +%endif 1.195 +%if "%{with_xml}" == "yes" 1.196 +BuildPreReq: libxml 1.197 +PreReq: libxml 1.198 +%endif 1.199 +%if "%{with_xslt}" == "yes" 1.200 +BuildPreReq: libxslt 1.201 +PreReq: libxslt 1.202 +%endif 1.203 +%if "%{with_dom}" == "yes" 1.204 +BuildPreReq: libxml, libxslt 1.205 +PreReq: libxml, libxslt 1.206 +%endif 1.207 +%if "%{with_curl}" == "yes" 1.208 +BuildPreReq: curl 1.209 +PreReq: curl 1.210 +%endif 1.211 +%if "%{with_mhash}" == "yes" 1.212 +BuildPreReq: mhash 1.213 +PreReq: mhash 1.214 +%endif 1.215 +%if "%{with_mcrypt}" == "yes" 1.216 +BuildPreReq: libmcrypt 1.217 +PreReq: libmcrypt 1.218 +%endif 1.219 +%if "%{with_gdbm}" == "yes" 1.220 +BuildPreReq: gdbm, gdbm::with_ndbm = yes 1.221 +PreReq: gdbm, gdbm::with_ndbm = yes 1.222 +%endif 1.223 +%if "%{with_oci8}" == "yes" 1.224 +BuildPreReq: oracle 1.225 +PreReq: oracle 1.226 +%endif 1.227 +%if "%{with_snmp}" == "yes" 1.228 +BuildPreReq: snmp 1.229 +PreReq: snmp 1.230 +%endif 1.231 +%if "%{with_odbc}" == "yes" 1.232 +BuildPreReq: unixodbc 1.233 +PreReq: unixodbc 1.234 +%endif 1.235 +%if "%{with_sendmail}" == "yes" 1.236 +BuildPreReq: MTA 1.237 +PreReq: MTA 1.238 +%endif 1.239 +%if "%{with_simplexml}" == "yes" 1.240 +BuildPreReq: libxml 1.241 +PreReq: libxml 1.242 +%endif 1.243 +%if "%{with_tidy}" == "yes" 1.244 +BuildPreReq: tidy 1.245 +PreReq: tidy 1.246 +%endif 1.247 + 1.248 +%description 1.249 + PHP is an HTML-embedded scripting language. Much of its syntax is 1.250 + borrowed from C, Java and Perl with a couple of unique PHP-specific 1.251 + features thrown in. The goal of the language is to allow web 1.252 + developers to write dynamically generated pages quickly. 1.253 + 1.254 + This is the Command Line Interface (CLI) and Common Gateway 1.255 + Interface (CGI) version of PHP, intended for use in the "shebang" 1.256 + line ("#!%{l_prefix}/bin/php") of stand-alone PHP based programs 1.257 + and for use in the "shebang" line ("#!%{l_prefix}/cgi/php") of 1.258 + stand-alone webserver-independent CGI scripts. 1.259 + 1.260 +%track 1.261 + prog php = { 1.262 + version = %{version} 1.263 + url = http://www.php.net/downloads.php 1.264 + regex = php-(5\.\d+\.\d+)\.tar\.(bz2|gz) 1.265 + } 1.266 + 1.267 +%prep 1.268 + %setup -q 1.269 + %{l_shtool} subst \ 1.270 + -e 's;\(/include\)/freetype2;\1;' \ 1.271 + configure \ 1.272 + ext/gd/config.m4 1.273 + %patch -p0 1.274 + 1.275 +%build 1.276 + # configure package 1.277 + case "%{l_platform -t}" in 1.278 + *-sunos5.10 ) cflags="%{l_cflags}" ;; 1.279 + * ) cflags="%{l_cflags -O}" ;; 1.280 + esac 1.281 + cppflags="%{l_cppflags}" 1.282 + ldflags="%{l_ldflags}" 1.283 + libs="" 1.284 +%if "%{with_gdbm}" == "yes" 1.285 + libs="$libs -lndbm -lgdbm" 1.286 +%endif 1.287 +%if "%{with_gd}" == "yes" 1.288 + libs="$libs -lpng -lz" 1.289 +%endif 1.290 +%if "%{with_gettext}" == "yes" 1.291 + libs="$libs -liconv" 1.292 +%endif 1.293 +%if "%{with_openldap}" == "yes" && "%{with_openldapsasl}" == "yes" 1.294 + libs="$libs -lsasl2" 1.295 +%endif 1.296 +%if "%{with_imap}" == "yes" 1.297 + libs="$libs -lssl -lcrypto" 1.298 +%endif 1.299 +%if "%{with_bdb}" == "yes" 1.300 + libs="$libs -ldb" 1.301 +%endif 1.302 +%if "%{with_pgsql}" == "yes" 1.303 + libs="$libs `pg_config --libs`" 1.304 +%endif 1.305 +%if "%{with_oci8}" == "yes" 1.306 + ORACLE_HOME="`%{l_rc} --query oracle_home`" 1.307 + export ORACLE_HOME 1.308 +%endif 1.309 + CC="%{l_cc}" \ 1.310 + CFLAGS="$cflags" \ 1.311 + CPPFLAGS="$cppflags" \ 1.312 + LDFLAGS="$ldflags" \ 1.313 + LIBS="$libs" \ 1.314 +%if "%{with_sendmail}" == "yes" 1.315 + PROG_SENDMAIL="%{l_prefix}/sbin/sendmail" \ 1.316 +%else 1.317 + PROG_SENDMAIL="`%{l_shtool} path false`" \ 1.318 +%endif 1.319 + ./configure \ 1.320 + --prefix=%{l_prefix} \ 1.321 + --sysconfdir=%{l_prefix}/etc/php \ 1.322 + --with-config-file-path=%{l_prefix}/etc/php \ 1.323 + --libdir=%{l_prefix}/lib/php \ 1.324 + --mandir=%{l_prefix}/man \ 1.325 + --disable-all \ 1.326 + --enable-pdo \ 1.327 + --enable-filter \ 1.328 + --with-pcre-regex=%{l_prefix} \ 1.329 +%if "%{with_calendar}" == "yes" 1.330 + --enable-calendar \ 1.331 +%endif 1.332 +%if "%{with_sqlite}" == "yes" 1.333 + --with-sqlite3=%{l_prefix} \ 1.334 + --with-pdo-sqlite=%{l_prefix} \ 1.335 +%else 1.336 + --without-sqlite3 \ 1.337 + --without-pdo-sqlite \ 1.338 +%endif 1.339 +%if "%{with_mysql}" == "yes" || "%{with_mysqlnd}" == "yes" 1.340 +%if "%{with_mysqlnd}" == "yes" 1.341 + --with-mysql=mysqlnd \ 1.342 + --with-pdo-mysql=mysqlnd \ 1.343 +%else 1.344 + --with-mysql=%{l_prefix} \ 1.345 + --with-pdo-mysql=%{l_prefix} \ 1.346 +%endif 1.347 + --with-mysqli=mysqlnd \ 1.348 + --with-mysql-sock=%{l_prefix}/var/mysql/mysql.sock \ 1.349 +%else 1.350 + --without-mysql \ 1.351 + --without-pdo-mysql \ 1.352 +%endif 1.353 +%if "%{with_pgsql}" == "yes" 1.354 + --with-pgsql=%{l_prefix} \ 1.355 + --with-pdo-pgsql=%{l_prefix} \ 1.356 +%else 1.357 + --without-pgsql \ 1.358 +%endif 1.359 +%if "%{with_posix}" == "yes" 1.360 + --enable-posix \ 1.361 +%endif 1.362 +%if "%{with_gd}" == "yes" 1.363 + --with-gd=yes \ 1.364 + --with-jpeg-dir=%{l_prefix} \ 1.365 + --with-png-dir=%{l_prefix} \ 1.366 +%endif 1.367 +%if "%{with_freetype}" == "yes" 1.368 + --enable-gd-native-ttf \ 1.369 + --with-freetype-dir=%{l_prefix} \ 1.370 +%endif 1.371 +%if "%{with_bdb}" == "yes" 1.372 + --with-db4=%{l_prefix} \ 1.373 +%endif 1.374 +%if "%{with_debug}" == "yes" 1.375 + --enable-debug \ 1.376 +%else 1.377 + --disable-debug \ 1.378 +%endif 1.379 +%if "%{with_zlib}" == "yes" 1.380 + --with-zlib=%{l_prefix} \ 1.381 + --with-zlib-dir=%{l_prefix} \ 1.382 +%endif 1.383 +%if "%{with_bzip2}" == "yes" 1.384 + --with-bz2=%{l_prefix} \ 1.385 +%endif 1.386 +%if "%{with_ssl}" == "yes" || "%{with_openldap}" == "yes" 1.387 + --with-openssl=%{l_prefix} \ 1.388 +%endif 1.389 +%if "%{with_openldap}" == "yes" 1.390 + --with-ldap=%{l_prefix} \ 1.391 +%endif 1.392 +%if "%{with_session}" == "yes" 1.393 + --enable-session \ 1.394 +%endif 1.395 +%if "%{with_mm}" == "yes" 1.396 + --with-mm=%{l_prefix} \ 1.397 +%endif 1.398 +%if "%{with_ftp}" == "yes" 1.399 + --enable-ftp \ 1.400 +%endif 1.401 +%if "%{with_oci8}" == "yes" 1.402 + --with-oci8 \ 1.403 +%endif 1.404 +%if "%{with_gettext}" == "yes" 1.405 + --with-gettext=%{l_prefix} \ 1.406 +%endif 1.407 +%if "%{with_imap}" == "yes" 1.408 + --with-imap=%{l_prefix} \ 1.409 + --with-imap-ssl=%{l_prefix} \ 1.410 +%endif 1.411 +%if "%{with_json}" == "yes" 1.412 + --enable-json \ 1.413 +%else 1.414 + --disable-json \ 1.415 +%endif 1.416 +%if "%{with_tokenizer}" == "yes" 1.417 + --enable-tokenizer \ 1.418 +%else 1.419 + --disable-tokenizer \ 1.420 +%endif 1.421 +%if "%{with_xml}" == "yes" 1.422 + --enable-xml \ 1.423 + --enable-xmlreader \ 1.424 + --enable-libxml \ 1.425 + --with-libxml-dir=%{l_prefix} \ 1.426 +%else 1.427 + --disable-xml \ 1.428 +%endif 1.429 +%if "%{with_xslt}" == "yes" 1.430 + --with-xsl=%{l_prefix} \ 1.431 +%else 1.432 + --without-xsl \ 1.433 +%endif 1.434 +%if "%{with_dom}" == "yes" 1.435 + --enable-dom \ 1.436 +%else 1.437 + --disable-dom \ 1.438 +%endif 1.439 +%if "%{with_wddx}" == "yes" 1.440 + --enable-wddx \ 1.441 +%endif 1.442 +%if "%{with_soap}" == "yes" 1.443 + --enable-soap \ 1.444 +%endif 1.445 +%if "%{with_bc}" == "yes" 1.446 + --enable-bcmath \ 1.447 +%endif 1.448 +%if "%{with_mhash}" == "yes" 1.449 + --with-mhash=%{l_prefix} \ 1.450 +%endif 1.451 +%if "%{with_mcrypt}" == "yes" 1.452 + --with-mcrypt=%{l_prefix} \ 1.453 +%endif 1.454 +%if "%{with_ctype}" == "yes" 1.455 + --enable-ctype \ 1.456 +%endif 1.457 +%if "%{with_curl}" == "yes" 1.458 + --with-curl=%{l_prefix} \ 1.459 +%endif 1.460 +%if "%{with_gdbm}" == "yes" 1.461 + --with-gdbm=%{l_prefix} \ 1.462 +%endif 1.463 +%if "%{with_versioning}" == "yes" 1.464 + --enable-versioning \ 1.465 +%endif 1.466 +%if "%{with_pear}" == "yes" 1.467 + --with-pear=%{l_prefix}/lib/php \ 1.468 +%else 1.469 + --without-pear \ 1.470 +%endif 1.471 +%if "%{with_simplexml}" == "yes" 1.472 + --enable-simplexml \ 1.473 + --enable-libxml \ 1.474 + --with-libxml-dir=%{l_prefix} \ 1.475 +%else 1.476 + --disable-simplexml \ 1.477 +%endif 1.478 +%if "%{with_snmp}" == "yes" 1.479 + --with-snmp=%{l_prefix} \ 1.480 + --with-openssl-dir=%{l_prefix} \ 1.481 +%endif 1.482 +%if "%{with_odbc}" == "yes" 1.483 + --with-unixODBC=%{l_prefix} \ 1.484 + --with-pdo-odbc=unixODBC,%{l_prefix} \ 1.485 +%endif 1.486 +%if "%{with_mbregex}" == "yes" 1.487 + --enable-mbregex \ 1.488 +%endif 1.489 +%if "%{with_mbstring}" == "yes" 1.490 + --enable-mbstring \ 1.491 +%endif 1.492 +%if "%{with_exif}" == "yes" 1.493 + --with-exif \ 1.494 +%endif 1.495 +%if "%{with_iconv}" == "yes" 1.496 + --with-iconv=%{l_prefix} \ 1.497 +%endif 1.498 +%if "%{with_tidy}" == "yes" 1.499 + --with-tidy=%{l_prefix} \ 1.500 +%else 1.501 + --without-tidy \ 1.502 +%endif 1.503 +%if "%{with_zip}" == "yes" 1.504 + --enable-zip \ 1.505 +%endif 1.506 + --enable-cli \ 1.507 + --enable-cgi 1.508 + 1.509 + # build package 1.510 + %{l_make} %{l_mflags} 1.511 + 1.512 +%install 1.513 + # install package 1.514 + %{l_make} %{l_mflags} install INSTALL_ROOT=$RPM_BUILD_ROOT 1.515 + 1.516 + # move CGI executale 1.517 + %{l_shtool} mkdir -f -p -m 755 \ 1.518 + $RPM_BUILD_ROOT%{l_prefix}/cgi 1.519 + mv $RPM_BUILD_ROOT%{l_prefix}/bin/php-cgi \ 1.520 + $RPM_BUILD_ROOT%{l_prefix}/cgi/php 1.521 + 1.522 + # install default configuration file 1.523 + %{l_shtool} mkdir -f -p -m 755 \ 1.524 + $RPM_BUILD_ROOT%{l_prefix}/etc/php 1.525 + %{l_shtool} install -c -m 644 %{l_value -s -a} \ 1.526 + %{SOURCE php.ini} \ 1.527 + $RPM_BUILD_ROOT%{l_prefix}/etc/php/ 1.528 + 1.529 + # strip down installation 1.530 + rmdir $RPM_BUILD_ROOT%{l_prefix}/lib/php >/dev/null 2>&1 || true 1.531 + strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true 1.532 + 1.533 + # determine installation files 1.534 + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \ 1.535 + '%config %{l_prefix}/etc/php/*' 1.536 + 1.537 +%files -f files 1.538 + 1.539 +%clean 1.540 +