php.spec 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411
  1. ##
  2. ## php.spec -- OpenPKG RPM Specification
  3. ## Copyright (c) 2000-2003 The OpenPKG Project <http://www.openpkg.org/>
  4. ## Copyright (c) 2000-2003 Ralf S. Engelschall <rse@engelschall.com>
  5. ## Copyright (c) 2000-2003 Cable & Wireless <http://www.cw.com/>
  6. ##
  7. ## Permission to use, copy, modify, and distribute this software for
  8. ## any purpose with or without fee is hereby granted, provided that
  9. ## the above copyright notice and this permission notice appear in all
  10. ## copies.
  11. ##
  12. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  13. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  14. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  15. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  16. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  17. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  18. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  19. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  20. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  21. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  22. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  23. ## SUCH DAMAGE.
  24. ##
  25. # package information
  26. Name: php
  27. Summary: Personal HomePage (PHP)
  28. URL: http://www.php.net/
  29. Vendor: The PHP Project
  30. Packager: The OpenPKG Project
  31. Distribution: OpenPKG [BASE]
  32. Group: Language
  33. License: PHP
  34. Version: 4.3.4
  35. Release: 20031104
  36. # package options (analog to apache.spec)
  37. %option with_calendar no
  38. %option with_mysql no
  39. %option with_pgsql no
  40. %option with_gd no
  41. %option with_db no
  42. %option with_debug no
  43. %option with_pdflib no
  44. %option with_zlib no
  45. %option with_bzip2 no
  46. %option with_openssl no
  47. %option with_openldap no
  48. %option with_openldapsasl no
  49. %option with_mm no
  50. %option with_pcre no
  51. %option with_ftp no
  52. %option with_java no
  53. %option with_oci7 no
  54. %option with_oci8 no
  55. %option with_freetype no
  56. %option with_gettext no
  57. %option with_imap no
  58. %option with_xml no
  59. %option with_dom no
  60. %option with_bc no
  61. %option with_transsid no
  62. %option with_curl no
  63. %option with_mhash no
  64. %option with_wddx no
  65. %option with_gdbm no
  66. %option with_versioning no
  67. %option with_pear no
  68. %option with_snmp no
  69. # fixing implicit inter-module dependencies and correlations
  70. %if "%{with_freetype}" == "yes"
  71. %undefine with_gd
  72. %define with_gd yes
  73. %endif
  74. %if "%{with_mysql}" == "yes" || "%{with_pdflib}" == "yes" || "%{with_gd}" == "yes" || "%{with_dom}" == "yes"
  75. %undefine with_zlib
  76. %define with_zlib yes
  77. %endif
  78. %if "%{with_pgsql}" == "yes"
  79. %undefine with_openssl
  80. %define with_openssl yes
  81. %endif
  82. # list of sources
  83. Source0: http://www.php.net/distributions/php-%{version}.tar.gz
  84. # build information
  85. Prefix: %{l_prefix}
  86. BuildRoot: %{l_buildroot}
  87. BuildPreReq: OpenPKG, openpkg >= 20030708, gcc, sed, flex, bison
  88. PreReq: OpenPKG, openpkg >= 20030708, MTA
  89. %if "%{with_mysql}" == "yes"
  90. BuildPreReq: mysql
  91. PreReq: mysql
  92. %endif
  93. %if "%{with_pgsql}" == "yes"
  94. BuildPreReq: postgresql
  95. PreReq: postgresql
  96. %endif
  97. %if "%{with_gd}" == "yes"
  98. BuildPreReq: gd, jpeg, png
  99. PreReq: gd, jpeg, png
  100. %endif
  101. %if "%{with_db}" == "yes"
  102. BuildPreReq: db
  103. PreReq: db
  104. %endif
  105. %if "%{with_pdflib}" == "yes"
  106. BuildPreReq: pdflib, jpeg, png
  107. PreReq: pdflib, jpeg, png
  108. %endif
  109. %if "%{with_zlib}" == "yes"
  110. BuildPreReq: zlib
  111. PreReq: zlib
  112. %endif
  113. %if "%{with_bzip2}" == "yes"
  114. BuildPreReq: bzip2
  115. PreReq: bzip2
  116. %endif
  117. %if "%{with_openssl}" == "yes"
  118. BuildPreReq: openssl
  119. PreReq: openssl
  120. %endif
  121. %if "%{with_openldap}" == "yes"
  122. BuildPreReq: openldap
  123. PreReq: openldap
  124. %if "%{with_openldapsasl}" == "yes"
  125. BuildPreReq: openldap::with_sasl = yes
  126. PreReq: openldap::with_sasl = yes
  127. %else
  128. BuildPreReq: openldap::with_sasl = no
  129. PreReq: openldap::with_sasl = no
  130. %endif
  131. %endif
  132. %if "%{with_mm}" == "yes"
  133. BuildPreReq: mm
  134. PreReq: mm
  135. %endif
  136. %if "%{with_pcre}" == "yes"
  137. BuildPreReq: pcre
  138. PreReq: pcre
  139. %endif
  140. %if "%{with_java}" == "yes"
  141. BuildPreReq: j2se
  142. PreReq: j2se
  143. %endif
  144. %if "%{with_freetype}" == "yes"
  145. BuildPreReq: freetype
  146. PreReq: freetype
  147. %endif
  148. %if "%{with_gettext}" == "yes"
  149. BuildPreReq: gettext, libiconv
  150. PreReq: gettext, libiconv
  151. %endif
  152. %if "%{with_imap}" == "yes"
  153. BuildPreReq: imap, openssl
  154. PreReq: imap, openssl
  155. %endif
  156. %if "%{with_xml}" == "yes"
  157. BuildPreReq: expat
  158. PreReq: expat
  159. %endif
  160. %if "%{with_dom}" == "yes"
  161. BuildPreReq: libxml, libxslt
  162. PreReq: libxml, libxslt
  163. %endif
  164. %if "%{with_curl}" == "yes"
  165. BuildPreReq: curl
  166. PreReq: curl
  167. %endif
  168. %if "%{with_mhash}" == "yes"
  169. BuildPreReq: mhash
  170. PreReq: mhash
  171. %endif
  172. %if "%{with_gdbm}" == "yes"
  173. BuildPreReq: gdbm, gdbm::with_ndbm = yes
  174. PreReq: gdbm, gdbm::with_ndbm = yes
  175. %endif
  176. %if "%{with_oci7}" == "yes" || "%{with_oci8}" == "yes"
  177. BuildPreReq: ORACLE
  178. %endif
  179. %if "%{with_snmp}" == "yes"
  180. BuildPreReq: snmp
  181. PreReq: snmp
  182. %endif
  183. AutoReq: no
  184. AutoReqProv: no
  185. %description
  186. PHP is an HTML-embedded scripting language. Much of its syntax is
  187. borrowed from C, Java and Perl with a couple of unique PHP-specific
  188. features thrown in. The goal of the language is to allow web
  189. developers to write dynamically generated pages quickly.
  190. This is the Command Line Interface (CLI) version, intended for
  191. use in the "shebang" line ("#!%{l_prefix}/bin/php") of stand-alone
  192. webserver-independent CGI scripts.
  193. %prep
  194. %setup -q
  195. %build
  196. cflags="%{l_cflags -O}"
  197. ldflags=""
  198. libs=""
  199. %if "%{with_gdbm}" == "yes"
  200. cflags="$cflags %{l_cppflags}"
  201. ldflags="$ldflags %{l_ldflags}"
  202. libs="$libs -lndbm -lgdbm"
  203. %endif
  204. %if "%{with_gd}" == "yes"
  205. libs="$libs -lpng -lz"
  206. %endif
  207. %if "%{with_gettext}" == "yes"
  208. libs="$libs -liconv"
  209. %endif
  210. %if "%{with_openldap}" == "yes" && "%{with_openldapsasl}" == "yes"
  211. libs="$libs -lsasl2"
  212. %endif
  213. %if "%{with_imap}" == "yes"
  214. libs="$libs -lssl -lcrypto"
  215. %endif
  216. %if "%{with_db}" == "yes"
  217. libs="$libs -ldb"
  218. %endif
  219. %if "%{with_oci7}" == "yes" || "%{with_oci8}" == "yes"
  220. ORACLE_HOME="`%{l_prefix}/etc/rc --query oracle_home`"
  221. export ORACLE_HOME
  222. %endif
  223. CC="%{l_cc}" \
  224. CFLAGS="$cflags" \
  225. LDFLAGS="$ldflags" \
  226. LIBS="$libs" \
  227. PROG_SENDMAIL="%{l_prefix}/sbin/sendmail" \
  228. ./configure \
  229. --prefix=%{l_prefix} \
  230. --with-config-file-path=%{l_prefix}/etc/php \
  231. %if "%{with_calendar}" == "yes"
  232. --enable-calendar \
  233. %endif
  234. %if "%{with_mysql}" == "yes"
  235. --with-mysql=%{l_prefix} \
  236. %else
  237. --without-mysql \
  238. %endif
  239. %if "%{with_pgsql}" == "yes"
  240. --with-pgsql=%{l_prefix} \
  241. %else
  242. --without-pgsql \
  243. %endif
  244. %if "%{with_gd}" == "yes"
  245. --with-gd=%{l_prefix} \
  246. --with-jpeg-dir=%{l_prefix} \
  247. --with-png-dir=%{l_prefix} \
  248. %endif
  249. %if "%{with_freetype}" == "yes"
  250. --enable-gd-imgstrttf \
  251. --enable-gd-native-ttf \
  252. --with-freetype-dir=%{l_prefix} \
  253. %endif
  254. %if "%{with_db}" == "yes"
  255. --with-db4=%{l_prefix} \
  256. %endif
  257. %if "%{with_debug}" == "yes"
  258. --with-debug=yes \
  259. %else
  260. --with-debug=no \
  261. %endif
  262. %if "%{with_zlib}" == "yes"
  263. --with-zlib=%{l_prefix} \
  264. --with-zlib-dir=%{l_prefix} \
  265. %endif
  266. %if "%{with_bzip2}" == "yes"
  267. --with-bz2=%{l_prefix} \
  268. %endif
  269. %if "%{with_pdflib}" == "yes"
  270. --with-pdflib=%{l_prefix} \
  271. --with-jpeg-dir=%{l_prefix} \
  272. --with-png-dir=%{l_prefix} \
  273. %endif
  274. %if "%{with_openssl}" == "yes" || "%{with_openldap}" == "yes"
  275. --with-openssl=%{l_prefix} \
  276. %endif
  277. %if "%{with_openldap}" == "yes"
  278. --with-ldap=%{l_prefix} \
  279. %endif
  280. %if "%{with_mm}" == "yes"
  281. --with-mm=%{l_prefix} \
  282. --enable-session \
  283. %endif
  284. %if "%{with_pcre}" == "yes"
  285. --with-pcre=%{l_prefix} \
  286. %endif
  287. %if "%{with_ftp}" == "yes"
  288. --enable-ftp \
  289. %endif
  290. %if "%{with_java}" == "yes"
  291. --with-java=%{l_prefix}/libexec/j2se \
  292. %endif
  293. %if "%{with_oci7}" == "yes"
  294. --with-oracle \
  295. %endif
  296. %if "%{with_oci8}" == "yes"
  297. --with-oci8 \
  298. %endif
  299. %if "%{with_gettext}" == "yes"
  300. --with-gettext=%{l_prefix} \
  301. %endif
  302. %if "%{with_imap}" == "yes"
  303. --with-imap=%{l_prefix} \
  304. --with-imap-ssl=%{l_prefix} \
  305. %endif
  306. %if "%{with_xml}" == "yes"
  307. --enable-xml \
  308. --with-expat-dir=%{l_prefix} \
  309. %else
  310. --disable-xml \
  311. %endif
  312. %if "%{with_dom}" == "yes"
  313. --with-dom=%{l_prefix} \
  314. --with-dom-xslt=%{l_prefix} \
  315. --with-dom-exslt=%{l_prefix} \
  316. %endif
  317. %if "%{with_wddx}" == "yes"
  318. --enable-wddx \
  319. %endif
  320. %if "%{with_bc}" == "yes"
  321. --enable-bcmath \
  322. %endif
  323. %if "%{with_transsid}" == "yes"
  324. --enable-trans-sid \
  325. %endif
  326. %if "%{with_mhash}" == "yes"
  327. --with-mhash=%{l_prefix} \
  328. %endif
  329. %if "%{with_curl}" == "yes"
  330. --with-curl=%{l_prefix} \
  331. %endif
  332. %if "%{with_gdbm}" == "yes"
  333. --with-gdbm=%{l_prefix} \
  334. %endif
  335. %if "%{with_versioning}" == "yes"
  336. --enable-versioning \
  337. %endif
  338. --enable-cli \
  339. %if "%{with_pear}" == "yes"
  340. --with-pear \
  341. %else
  342. --without-pear \
  343. %endif
  344. %if "%{with_snmp}" == "yes"
  345. --with-snmp=%{l_prefix} \
  346. %endif
  347. --enable-force-cgi-redirect \
  348. --enable-discard-path \
  349. --enable-track-vars
  350. %{l_make} %{l_mflags}
  351. %install
  352. rm -rf $RPM_BUILD_ROOT
  353. %{l_shtool} mkdir -f -p -m 755 \
  354. $RPM_BUILD_ROOT%{l_prefix}/bin \
  355. $RPM_BUILD_ROOT%{l_prefix}/cgi \
  356. $RPM_BUILD_ROOT%{l_prefix}/etc/php \
  357. $RPM_BUILD_ROOT%{l_prefix}/include/php/main \
  358. $RPM_BUILD_ROOT%{l_prefix}/include/php/Zend \
  359. $RPM_BUILD_ROOT%{l_prefix}/include/php/TSRM \
  360. $RPM_BUILD_ROOT%{l_prefix}/include/php/regex \
  361. $RPM_BUILD_ROOT%{l_prefix}/lib/php
  362. %{l_shtool} install -c -s -m 755 \
  363. sapi/cli/php \
  364. $RPM_BUILD_ROOT%{l_prefix}/cgi/
  365. ln $RPM_BUILD_ROOT%{l_prefix}/cgi/php \
  366. $RPM_BUILD_ROOT%{l_prefix}/bin/php
  367. %{l_shtool} install -c -m 644 /dev/null \
  368. $RPM_BUILD_ROOT%{l_prefix}/etc/php/php.ini
  369. %{l_shtool} install -c -m 644 /dev/null \
  370. $RPM_BUILD_ROOT%{l_prefix}/etc/php/php.ini
  371. %{l_shtool} install -c -m 644 \
  372. *.h include/*.h $RPM_BUILD_ROOT%{l_prefix}/include/php/
  373. %{l_shtool} install -c -m 644 \
  374. main/*.h $RPM_BUILD_ROOT%{l_prefix}/include/php/main/
  375. %{l_shtool} install -c -m 644 \
  376. Zend/*.h $RPM_BUILD_ROOT%{l_prefix}/include/php/Zend/
  377. %{l_shtool} install -c -m 644 \
  378. TSRM/*.h $RPM_BUILD_ROOT%{l_prefix}/include/php/TSRM/
  379. %{l_shtool} install -c -m 644 \
  380. regex/*.h $RPM_BUILD_ROOT%{l_prefix}/include/php/regex/
  381. %if "%{with_pear}" == "yes"
  382. ( cd $RPM_BUILD_DIR/php-%{version}/pear
  383. export INSTALL_ROOT=$RPM_BUILD_ROOT
  384. $RPM_BUILD_ROOT%{l_prefix}/bin/php -n -dsafe_mode=0 \
  385. install-pear.php package-*.xml
  386. $RPM_BUILD_ROOT%{l_prefix}/bin/php -n -dsafe_mode=0 \
  387. install-pear.php packages/*.tar
  388. ) || exit 1
  389. %endif
  390. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \
  391. '%config %{l_prefix}/etc/php/php.ini' \
  392. '%dir %attr(0755,%{l_musr},%{l_mgrp}) %{l_prefix}/lib/php' \
  393. '%not %dir %attr(0644,%{l_musr},%{l_mgrp}) %{l_prefix}/lib/php'
  394. %files -f files
  395. %clean
  396. rm -rf $RPM_BUILD_ROOT