| 1 | # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 |
|---|
| 2 | # $Id: Portfile 93576 2012-05-27 11:20:41Z ryandesign@macports.org $ |
|---|
| 3 | |
|---|
| 4 | PortSystem 1.0 |
|---|
| 5 | PortGroup php 1.1 |
|---|
| 6 | |
|---|
| 7 | name php |
|---|
| 8 | revision 1 |
|---|
| 9 | categories lang php www |
|---|
| 10 | platforms darwin freebsd |
|---|
| 11 | maintainers ryandesign jwa |
|---|
| 12 | license PHP-3.01 |
|---|
| 13 | master_sites php |
|---|
| 14 | use_parallel_build yes |
|---|
| 15 | use_bzip2 yes |
|---|
| 16 | livecheck.type none |
|---|
| 17 | |
|---|
| 18 | description PHP: Hypertext Preprocessor |
|---|
| 19 | |
|---|
| 20 | long_description PHP is a widely-used general-purpose scripting \ |
|---|
| 21 | language that is especially suited for developing \ |
|---|
| 22 | web sites, but can also be used for command-line \ |
|---|
| 23 | scripting. |
|---|
| 24 | |
|---|
| 25 | # The list of PHP branches this port provides. |
|---|
| 26 | php.branches 5.3 5.4 |
|---|
| 27 | |
|---|
| 28 | # Fix for users specifying the subport name with the wrong case. |
|---|
| 29 | set subport [string tolower ${subport}] |
|---|
| 30 | |
|---|
| 31 | # Get rootname from subport. |
|---|
| 32 | regexp {^php\d+-(.+)$} ${subport} -> php.rootname |
|---|
| 33 | |
|---|
| 34 | # Returns true if the subport is a SAPI, false otherwise (extension, stub port). |
|---|
| 35 | proc is_sapi_subport {} { |
|---|
| 36 | global name subport php.rootname |
|---|
| 37 | if {${name} == ${subport}} { |
|---|
| 38 | return no |
|---|
| 39 | } |
|---|
| 40 | if {[regexp {^php\d+$} ${subport}]} { |
|---|
| 41 | return yes |
|---|
| 42 | } |
|---|
| 43 | return [expr {-1 != [lsearch -exact [list apache2handler cgi fpm] ${php.rootname}]}] |
|---|
| 44 | } |
|---|
| 45 | |
|---|
| 46 | # Returns true if the subport is an extension, false otherwise (SAPI, stub port). |
|---|
| 47 | proc is_extension_subport {} { |
|---|
| 48 | global name subport |
|---|
| 49 | if {${name} == ${subport}} { |
|---|
| 50 | return no |
|---|
| 51 | } |
|---|
| 52 | return [expr {![is_sapi_subport]}] |
|---|
| 53 | } |
|---|
| 54 | |
|---|
| 55 | if {![is_extension_subport]} { |
|---|
| 56 | categories lang www # added by LDL from devel |
|---|
| 57 | homepage http://www.php.net/ |
|---|
| 58 | } |
|---|
| 59 | |
|---|
| 60 | set subport_branch [php.branch_from_subport] |
|---|
| 61 | |
|---|
| 62 | # Remember to increment revision of ${php}-eaccelerator when updating version of ${php}. |
|---|
| 63 | switch ${subport_branch} { |
|---|
| 64 | 5.3 { |
|---|
| 65 | version 5.3.28 |
|---|
| 66 | use_bzip2 yes |
|---|
| 67 | set suhosin_available yes |
|---|
| 68 | set suhosin_patch_version 5.3.9-0.9.10 |
|---|
| 69 | set suhosin_patch suhosin-patch-${suhosin_patch_version}.patch.gz |
|---|
| 70 | checksums ${distname}${extract.suffix} \ |
|---|
| 71 | md5 56ff88934e068d142d6c0deefd1f396b \ |
|---|
| 72 | rmd160 e4910c0c365f39a5009807801bd5ee6e25be020d \ |
|---|
| 73 | sha256 0cac960c651c4fbb3d21cf2f2b279a06e21948fb35a0d1439b97296cac1d8513 \ |
|---|
| 74 | ${suhosin_patch} \ |
|---|
| 75 | rmd160 ce43921fd9b183b154713ecda98294f6c68d5f22 \ |
|---|
| 76 | sha256 4438caeab0a10c6c94aee9f7eaa703f5799f97d4e0579f43a947bb7314e38317 |
|---|
| 77 | } |
|---|
| 78 | 5.4 { |
|---|
| 79 | # epoch 1 |
|---|
| 80 | # version 5.4.3 |
|---|
| 81 | # set suhosin_available no |
|---|
| 82 | # checksums [suffix ${distname}] \ |
|---|
| 83 | # rmd160 a6c0ab078283a3499bf1d10ac2b6e67716fa2cba \ |
|---|
| 84 | # sha256 d7e0c987586b6554ee08e3b71cc2806ddd1b192451159083d861c132994bc1bd |
|---|
| 85 | epoch 1 |
|---|
| 86 | version 5.4.24 |
|---|
| 87 | use_bzip2 yes |
|---|
| 88 | set suhosin_available no |
|---|
| 89 | checksums ${distname}${extract.suffix} \ |
|---|
| 90 | md5 acef880cc808b85e216897ee88187ee1 \ |
|---|
| 91 | rmd160 8248a1314986b071de990f725fc802729ca97e3c \ |
|---|
| 92 | } |
|---|
| 93 | } |
|---|
| 94 | |
|---|
| 95 | # Iterate through branches in reverse order, so that the list of subports in |
|---|
| 96 | # "port info" will show newer versions before older versions. |
|---|
| 97 | set i [llength ${php.branches}] |
|---|
| 98 | while {[incr i -1] >= 0} { |
|---|
| 99 | |
|---|
| 100 | set branch [lindex ${php.branches} ${i}] |
|---|
| 101 | set major [lindex [split ${branch} .] 0] |
|---|
| 102 | set php php[php.suffix_from_branch ${branch}] |
|---|
| 103 | |
|---|
| 104 | if {[regexp "^${php}" ${subport}]} { |
|---|
| 105 | |
|---|
| 106 | dist_subdir php${major} |
|---|
| 107 | |
|---|
| 108 | if {[is_sapi_subport]} { |
|---|
| 109 | |
|---|
| 110 | depends_build port:pkgconfig |
|---|
| 111 | |
|---|
| 112 | if {${subport} != ${php}} { |
|---|
| 113 | depends_lib port:${php} |
|---|
| 114 | } |
|---|
| 115 | |
|---|
| 116 | depends_lib-append path:bin/gsed:gsed \ |
|---|
| 117 | port:libiconv \ |
|---|
| 118 | port:libxml2 \ |
|---|
| 119 | port:bzip2 \ |
|---|
| 120 | port:mhash \ |
|---|
| 121 | port:pcre \ |
|---|
| 122 | port:zlib |
|---|
| 123 | |
|---|
| 124 | # Use -p1 to accommodate the Suhosin patch |
|---|
| 125 | patch.pre_args -p1 |
|---|
| 126 | patchfiles patch-${php}-scripts-php-config.in.diff |
|---|
| 127 | |
|---|
| 128 | if {${configure.compiler} == "clang"} { |
|---|
| 129 | configure.compiler llvm-gcc-4.2 |
|---|
| 130 | } |
|---|
| 131 | |
|---|
| 132 | set phpinidir ${prefix}/etc/${php} |
|---|
| 133 | set extraphpinidir ${prefix}/var/db/${php} |
|---|
| 134 | |
|---|
| 135 | configure.args --mandir=${prefix}/share/man \ |
|---|
| 136 | --infodir=${prefix}/share/info \ |
|---|
| 137 | --program-suffix=[php.suffix_from_branch ${branch}] \ |
|---|
| 138 | --includedir=${prefix}/include/${php} \ |
|---|
| 139 | --libdir=${prefix}/lib/${php} \ |
|---|
| 140 | --with-config-file-path=${phpinidir} \ |
|---|
| 141 | --with-config-file-scan-dir=${extraphpinidir} \ |
|---|
| 142 | --disable-all \ |
|---|
| 143 | --enable-bcmath \ |
|---|
| 144 | --enable-ctype \ |
|---|
| 145 | --enable-dom \ |
|---|
| 146 | --enable-fileinfo \ |
|---|
| 147 | --enable-filter \ |
|---|
| 148 | --enable-hash \ |
|---|
| 149 | --enable-json \ |
|---|
| 150 | --enable-libxml \ |
|---|
| 151 | --enable-pdo \ |
|---|
| 152 | --enable-phar \ |
|---|
| 153 | --enable-session \ |
|---|
| 154 | --enable-simplexml \ |
|---|
| 155 | --enable-tokenizer \ |
|---|
| 156 | --enable-xml \ |
|---|
| 157 | --enable-xmlreader \ |
|---|
| 158 | --enable-xmlwriter \ |
|---|
| 159 | --with-bz2=${prefix} \ |
|---|
| 160 | --with-mhash=${prefix} \ |
|---|
| 161 | --with-pcre-regex=${prefix} \ |
|---|
| 162 | --with-libxml-dir=${prefix} \ |
|---|
| 163 | --with-zlib=${prefix} \ |
|---|
| 164 | --without-pear \ |
|---|
| 165 | --disable-cgi \ |
|---|
| 166 | --disable-cli \ |
|---|
| 167 | --disable-fpm |
|---|
| 168 | |
|---|
| 169 | # ${php}-mysql +mysqlnd needs mysqlnd support compiled into the SAPI |
|---|
| 170 | configure.env PHP_MYSQLND_ENABLED=yes |
|---|
| 171 | |
|---|
| 172 | configure.universal_args-delete --disable-dependency-tracking |
|---|
| 173 | |
|---|
| 174 | test.run yes |
|---|
| 175 | |
|---|
| 176 | destroot.args INSTALL_ROOT=${destroot} |
|---|
| 177 | |
|---|
| 178 | variant debug description {Enable debug support (useful to analyze a PHP-related core dump)} { |
|---|
| 179 | configure.args-append --enable-debug |
|---|
| 180 | } |
|---|
| 181 | |
|---|
| 182 | variant suhosin description {Add Suhosin patch} { |
|---|
| 183 | pre-fetch { |
|---|
| 184 | if {"darwin" == ${os.platform} && ${os.major} < 9} { |
|---|
| 185 | ui_error "The suhosin variant requires Mac OS X 10.5 or greater." |
|---|
| 186 | return -code error "incompatible Mac OS X version" |
|---|
| 187 | } |
|---|
| 188 | if {!${suhosin_available}} { |
|---|
| 189 | ui_error "There is no suhosin patch for PHP ${version} yet. Please check back later." |
|---|
| 190 | } |
|---|
| 191 | if {![file exists ${extraphpinidir}/suhosin.ini]} { |
|---|
| 192 | ui_msg "You may also be interested in the suhosin extension, a related but different piece of software. See the ${php}-suhosin port." |
|---|
| 193 | } |
|---|
| 194 | if {!${suhosin_available}} { |
|---|
| 195 | return -code error "unavailable variant" |
|---|
| 196 | } |
|---|
| 197 | } |
|---|
| 198 | patch_sites-append http://download.suhosin.org/ |
|---|
| 199 | if {${suhosin_available}} { |
|---|
| 200 | patchfiles-append ${suhosin_patch} |
|---|
| 201 | } |
|---|
| 202 | } |
|---|
| 203 | |
|---|
| 204 | if {${subport} != ${php}} { |
|---|
| 205 | notes-append "If this is your first install, you need to enable ${subport} in your web server." |
|---|
| 206 | } |
|---|
| 207 | |
|---|
| 208 | } |
|---|
| 209 | |
|---|
| 210 | } |
|---|
| 211 | |
|---|
| 212 | ### CLI SAPI ### |
|---|
| 213 | |
|---|
| 214 | subport ${php} { |
|---|
| 215 | PortGroup select 1.0 |
|---|
| 216 | |
|---|
| 217 | depends_run port:php_select |
|---|
| 218 | |
|---|
| 219 | select.group php |
|---|
| 220 | select.file ${filespath}/${subport} |
|---|
| 221 | |
|---|
| 222 | configure.args-delete --disable-cli |
|---|
| 223 | configure.args-append --enable-cli |
|---|
| 224 | |
|---|
| 225 | destroot.target install-cli install-build install-headers install-programs |
|---|
| 226 | |
|---|
| 227 | destroot.keepdirs ${destroot}${extraphpinidir} |
|---|
| 228 | |
|---|
| 229 | post-destroot { |
|---|
| 230 | # Copy the default php.ini files. |
|---|
| 231 | xinstall -m 755 -d ${destroot}${phpinidir} |
|---|
| 232 | xinstall -m 644 -W ${worksrcpath} \ |
|---|
| 233 | php.ini-development \ |
|---|
| 234 | php.ini-production \ |
|---|
| 235 | ${destroot}${phpinidir} |
|---|
| 236 | |
|---|
| 237 | # Copy mysqlnd headers. |
|---|
| 238 | xinstall -d ${destroot}${prefix}/include/${php}/php/ext/mysqlnd |
|---|
| 239 | eval xinstall -m 644 [glob ${worksrcpath}/ext/mysqlnd/*.h] ${destroot}${prefix}/include/${php}/php/ext/mysqlnd |
|---|
| 240 | } |
|---|
| 241 | |
|---|
| 242 | # Include the readline extension http://www.php.net/readline directly in |
|---|
| 243 | # the PHP CLI SAPI because until PHP 6 the interactive mode "php -a" won't |
|---|
| 244 | # work with a separately built readline extension. |
|---|
| 245 | # https://bugs.php.net/bug.php?id=53878 |
|---|
| 246 | # Users might prefer readline over libedit because only readline supports |
|---|
| 247 | # readline_list_history() (http://www.php.net/readline-list-history). |
|---|
| 248 | # On the other hand we want libedit to be the default because its license |
|---|
| 249 | # is compatible with PHP's which means PHP can be distributable. |
|---|
| 250 | variant libedit conflicts readline description {Build readline extension using libedit library} { |
|---|
| 251 | depends_lib-append port:libedit |
|---|
| 252 | configure.args-append --with-libedit=${prefix} |
|---|
| 253 | } |
|---|
| 254 | variant readline conflicts libedit description {Build readline extension using readline library} { |
|---|
| 255 | depends_lib-append port:readline |
|---|
| 256 | configure.args-append --with-readline=${prefix} |
|---|
| 257 | } |
|---|
| 258 | if {![variant_isset readline]} { |
|---|
| 259 | default_variants +libedit |
|---|
| 260 | } |
|---|
| 261 | |
|---|
| 262 | if {![file exists ${phpinidir}/php.ini]} { |
|---|
| 263 | notes-append " |
|---|
| 264 | To customize ${php}, copy\ |
|---|
| 265 | ${phpinidir}/php.ini-development (if this is a development server) or\ |
|---|
| 266 | ${phpinidir}/php.ini-production (if this is a production server) to\ |
|---|
| 267 | ${phpinidir}/php.ini and then make changes. |
|---|
| 268 | " |
|---|
| 269 | } else { |
|---|
| 270 | notes-append " |
|---|
| 271 | You may need to update your php.ini for any changes that have been made\ |
|---|
| 272 | in this version of ${php}. Compare ${phpinidir}/php.ini with\ |
|---|
| 273 | ${phpinidir}/php.ini-development (if this is a development server) or\ |
|---|
| 274 | ${phpinidir}/php.ini-production (if this is a production server). |
|---|
| 275 | " |
|---|
| 276 | } |
|---|
| 277 | |
|---|
| 278 | # Enable livecheck for the two most recent PHP branches. |
|---|
| 279 | if {[vercmp ${branch} [lindex ${php.branches} end-1]] >= 0} { |
|---|
| 280 | livecheck.type regex |
|---|
| 281 | livecheck.url ${homepage}downloads.php |
|---|
| 282 | livecheck.regex get/php-([strsed ${branch} {g/\\./\\./}](?:\\.\[0-9.\]+)*)\\.tar |
|---|
| 283 | } |
|---|
| 284 | } |
|---|
| 285 | |
|---|
| 286 | ### Apache 2 handler SAPI ### |
|---|
| 287 | |
|---|
| 288 | subport ${php}-apache2handler { |
|---|
| 289 | description ${php} Apache 2 Handler SAPI |
|---|
| 290 | |
|---|
| 291 | long_description ${description} |
|---|
| 292 | |
|---|
| 293 | homepage http://www.php.net/install.unix.apache2 |
|---|
| 294 | |
|---|
| 295 | depends_lib-append port:apache24 |
|---|
| 296 | |
|---|
| 297 | set apxs ${prefix}/apache2/bin/apxs |
|---|
| 298 | set confdir ${prefix}/apache2/conf |
|---|
| 299 | set moduledir ${prefix}/apache2/modules |
|---|
| 300 | |
|---|
| 301 | pre-configure { |
|---|
| 302 | # Checking for mod_cgi.so is a convenient way to verify apache2 is using its |
|---|
| 303 | # +preforkmpm variant. (+eventmpm and +workermpm instead provide mod_cgid.so.) |
|---|
| 304 | if {![file exists ${moduledir}/mod_cgi.so]} { |
|---|
| 305 | ui_error "To use ${subport}, apache2 must be installed with the +preforkmpm variant." |
|---|
| 306 | return -code error "incompatible apache2 installation" |
|---|
| 307 | } |
|---|
| 308 | } |
|---|
| 309 | |
|---|
| 310 | configure.args-append --with-apxs2=${apxs} |
|---|
| 311 | |
|---|
| 312 | build.target libs/libphp5.bundle |
|---|
| 313 | |
|---|
| 314 | destroot.violate_mtree yes |
|---|
| 315 | |
|---|
| 316 | destroot { |
|---|
| 317 | xinstall -m 755 -d ${destroot}${moduledir} ${destroot}${confdir}/extra |
|---|
| 318 | xinstall -m 644 ${worksrcpath}/libs/libphp5.so ${destroot}${moduledir}/mod_${php}.so |
|---|
| 319 | xinstall -m 644 ${filespath}/mod_php.conf ${destroot}${confdir}/extra/mod_${php}.conf |
|---|
| 320 | } |
|---|
| 321 | |
|---|
| 322 | notes-append " |
|---|
| 323 | |
|---|
| 324 | To enable ${subport}, run: |
|---|
| 325 | |
|---|
| 326 | cd ${moduledir} |
|---|
| 327 | sudo ${apxs} -a -e -n php${major} mod_${php}.so |
|---|
| 328 | " |
|---|
| 329 | } |
|---|
| 330 | |
|---|
| 331 | ### CGI SAPI ### |
|---|
| 332 | |
|---|
| 333 | subport ${php}-cgi { |
|---|
| 334 | description ${php} CGI SAPI |
|---|
| 335 | |
|---|
| 336 | long_description ${description} |
|---|
| 337 | |
|---|
| 338 | homepage http://www.php.net/install.unix.commandline |
|---|
| 339 | |
|---|
| 340 | configure.args-delete --disable-cgi |
|---|
| 341 | configure.args-append --enable-cgi |
|---|
| 342 | |
|---|
| 343 | if {[vercmp ${branch} 5.4] >= 0} { |
|---|
| 344 | build.target cgi |
|---|
| 345 | destroot.target install-cgi |
|---|
| 346 | } else { |
|---|
| 347 | destroot { |
|---|
| 348 | xinstall ${worksrcpath}/sapi/cgi/php-cgi ${destroot}${prefix}/bin/php-cgi[php.suffix_from_branch ${branch}] |
|---|
| 349 | } |
|---|
| 350 | } |
|---|
| 351 | |
|---|
| 352 | } |
|---|
| 353 | |
|---|
| 354 | ### FPM SAPI ### |
|---|
| 355 | |
|---|
| 356 | subport ${php}-fpm { |
|---|
| 357 | description ${php} FPM SAPI |
|---|
| 358 | |
|---|
| 359 | long_description ${description} |
|---|
| 360 | |
|---|
| 361 | homepage http://www.php.net/install.fpm |
|---|
| 362 | |
|---|
| 363 | set fpmuser nobody |
|---|
| 364 | set fpmgroup nobody |
|---|
| 365 | |
|---|
| 366 | patchfiles-append patch-${php}-sapi-fpm-php-fpm.conf.in.diff |
|---|
| 367 | |
|---|
| 368 | post-patch { |
|---|
| 369 | reinplace "s|@PHP@|${php}|g" ${worksrcpath}/sapi/fpm/php-fpm.conf.in |
|---|
| 370 | } |
|---|
| 371 | |
|---|
| 372 | configure.args-delete --disable-fpm |
|---|
| 373 | configure.args-append --enable-fpm \ |
|---|
| 374 | --sysconfdir=${phpinidir} \ |
|---|
| 375 | --with-fpm-user=${fpmuser} \ |
|---|
| 376 | --with-fpm-group=${fpmgroup} |
|---|
| 377 | |
|---|
| 378 | build.target fpm |
|---|
| 379 | |
|---|
| 380 | destroot.target install-fpm |
|---|
| 381 | |
|---|
| 382 | destroot.keepdirs ${destroot}${prefix}/var/log/${php} \ |
|---|
| 383 | ${destroot}${prefix}/var/run/${php} |
|---|
| 384 | |
|---|
| 385 | post-destroot { |
|---|
| 386 | xinstall -d -o ${fpmuser} -g ${fpmgroup} ${destroot}${prefix}/var/log/${php} ${destroot}${prefix}/var/run/${php} |
|---|
| 387 | } |
|---|
| 388 | |
|---|
| 389 | startupitem.create yes |
|---|
| 390 | startupitem.executable ${prefix}/sbin/php-fpm[php.suffix_from_branch ${branch}] |
|---|
| 391 | |
|---|
| 392 | if {![file exists ${phpinidir}/php-fpm.conf]} { |
|---|
| 393 | notes-append " |
|---|
| 394 | |
|---|
| 395 | To use ${subport}, copy\ |
|---|
| 396 | ${phpinidir}/php-fpm.conf.default to\ |
|---|
| 397 | ${phpinidir}/php-fpm.conf and make changes if desired. |
|---|
| 398 | " |
|---|
| 399 | } else { |
|---|
| 400 | notes-append " |
|---|
| 401 | |
|---|
| 402 | You may need to update your php-fpm.conf for any changes that have been made\ |
|---|
| 403 | in this version of ${subport}. Compare ${phpinidir}/php-fpm.conf with\ |
|---|
| 404 | ${phpinidir}/php-fpm.conf.default. |
|---|
| 405 | " |
|---|
| 406 | } |
|---|
| 407 | } |
|---|
| 408 | |
|---|
| 409 | ### Bundled extensions ### |
|---|
| 410 | |
|---|
| 411 | subport ${php}-calendar { |
|---|
| 412 | description a PHP extension for converting between different \ |
|---|
| 413 | calendar formats |
|---|
| 414 | |
|---|
| 415 | long_description ${description} |
|---|
| 416 | } |
|---|
| 417 | |
|---|
| 418 | subport ${php}-curl { |
|---|
| 419 | categories-append net www |
|---|
| 420 | |
|---|
| 421 | description a PHP interface to the curl library, which lets you \ |
|---|
| 422 | download files from servers with a variety of protocols |
|---|
| 423 | |
|---|
| 424 | long_description ${description} |
|---|
| 425 | |
|---|
| 426 | depends_lib-append port:curl |
|---|
| 427 | |
|---|
| 428 | configure.args-append --with-curl=${prefix} |
|---|
| 429 | } |
|---|
| 430 | |
|---|
| 431 | subport ${php}-dba { |
|---|
| 432 | categories-append databases |
|---|
| 433 | |
|---|
| 434 | description a PHP interface for accessing DBM databases such as \ |
|---|
| 435 | BerkeleyDB |
|---|
| 436 | |
|---|
| 437 | long_description ${description} |
|---|
| 438 | |
|---|
| 439 | variant gdbm conflicts qdbm description {Add GDBM support} { |
|---|
| 440 | depends_lib-append port:gdbm |
|---|
| 441 | configure.args-append --with-gdbm=${prefix} |
|---|
| 442 | } |
|---|
| 443 | |
|---|
| 444 | variant qdbm conflicts gdbm description {Add QDBM support} { |
|---|
| 445 | depends_lib-append port:qdbm |
|---|
| 446 | configure.args-append --with-qdbm=${prefix} |
|---|
| 447 | } |
|---|
| 448 | } |
|---|
| 449 | |
|---|
| 450 | subport ${php}-enchant { |
|---|
| 451 | categories-append textproc devel |
|---|
| 452 | |
|---|
| 453 | description a PHP interface to enchant |
|---|
| 454 | |
|---|
| 455 | long_description ${name} is ${description}, a common API for many spell libraries. |
|---|
| 456 | |
|---|
| 457 | depends_lib-append port:enchant |
|---|
| 458 | |
|---|
| 459 | configure.args-append --with-enchant=${prefix} |
|---|
| 460 | |
|---|
| 461 | post-destroot { |
|---|
| 462 | set docdir ${prefix}/share/doc/${subport} |
|---|
| 463 | xinstall -d ${destroot}${docdir} |
|---|
| 464 | xinstall -m 644 -W ${destroot.dir} CREDITS ${destroot}${docdir} |
|---|
| 465 | |
|---|
| 466 | set examplesdir ${prefix}/share/examples/${subport} |
|---|
| 467 | xinstall -d ${destroot}${examplesdir} |
|---|
| 468 | xinstall -m 644 ${destroot.dir}/docs/examples/example1.php \ |
|---|
| 469 | ${destroot}${examplesdir} |
|---|
| 470 | } |
|---|
| 471 | } |
|---|
| 472 | |
|---|
| 473 | subport ${php}-exif { |
|---|
| 474 | categories-append graphics |
|---|
| 475 | |
|---|
| 476 | description a PHP interface to the EXIF image metadata functions |
|---|
| 477 | |
|---|
| 478 | long_description ${description} |
|---|
| 479 | } |
|---|
| 480 | |
|---|
| 481 | subport ${php}-ftp { |
|---|
| 482 | categories-append net |
|---|
| 483 | |
|---|
| 484 | description a PHP extension for accessing file servers using the \ |
|---|
| 485 | File Transfer Protocol |
|---|
| 486 | |
|---|
| 487 | long_description ${description} |
|---|
| 488 | |
|---|
| 489 | depends_lib-append port:openssl |
|---|
| 490 | |
|---|
| 491 | configure.args-append --with-openssl-dir=${prefix} |
|---|
| 492 | } |
|---|
| 493 | |
|---|
| 494 | subport ${php}-gd { |
|---|
| 495 | categories-append graphics |
|---|
| 496 | |
|---|
| 497 | description a PHP interface to the gd library |
|---|
| 498 | |
|---|
| 499 | long_description ${description} |
|---|
| 500 | |
|---|
| 501 | depends_lib-append port:freetype \ |
|---|
| 502 | port:jpeg \ |
|---|
| 503 | port:libpng \ |
|---|
| 504 | port:zlib |
|---|
| 505 | |
|---|
| 506 | configure.args-append --with-freetype-dir=${prefix} \ |
|---|
| 507 | --with-jpeg-dir=${prefix} \ |
|---|
| 508 | --with-png-dir=${prefix} \ |
|---|
| 509 | --with-zlib-dir=${prefix} \ |
|---|
| 510 | --enable-gd-native-ttf |
|---|
| 511 | |
|---|
| 512 | variant t1lib description {Add PostScript Type 1 font support with t1lib} { |
|---|
| 513 | depends_lib-append port:t1lib |
|---|
| 514 | configure.args-append --with-t1lib=${prefix} |
|---|
| 515 | } |
|---|
| 516 | } |
|---|
| 517 | |
|---|
| 518 | subport ${php}-gettext { |
|---|
| 519 | categories-append devel |
|---|
| 520 | |
|---|
| 521 | description a PHP interface to the gettext natural language \ |
|---|
| 522 | support functions |
|---|
| 523 | |
|---|
| 524 | long_description ${description} |
|---|
| 525 | |
|---|
| 526 | depends_lib-append port:gettext |
|---|
| 527 | |
|---|
| 528 | configure.args-append --with-gettext=${prefix} |
|---|
| 529 | } |
|---|
| 530 | |
|---|
| 531 | subport ${php}-gmp { |
|---|
| 532 | categories-append devel math |
|---|
| 533 | |
|---|
| 534 | description a PHP interface to GMP, the GNU multiprocessing \ |
|---|
| 535 | library through which you can work with \ |
|---|
| 536 | arbitrary-length integers |
|---|
| 537 | |
|---|
| 538 | long_description ${description} |
|---|
| 539 | |
|---|
| 540 | depends_lib-append port:gmp |
|---|
| 541 | |
|---|
| 542 | configure.args-append --with-gmp=${prefix} |
|---|
| 543 | } |
|---|
| 544 | |
|---|
| 545 | subport ${php}-iconv { |
|---|
| 546 | categories-append textproc |
|---|
| 547 | |
|---|
| 548 | description a PHP interface to the libiconv character encoding \ |
|---|
| 549 | conversion functions |
|---|
| 550 | |
|---|
| 551 | long_description ${description} |
|---|
| 552 | |
|---|
| 553 | depends_lib-append port:libiconv |
|---|
| 554 | |
|---|
| 555 | configure.args-append --with-iconv=${prefix} |
|---|
| 556 | } |
|---|
| 557 | |
|---|
| 558 | subport ${php}-imap { |
|---|
| 559 | categories-append mail |
|---|
| 560 | |
|---|
| 561 | description a PHP interface to the IMAP protocol |
|---|
| 562 | |
|---|
| 563 | long_description ${description} |
|---|
| 564 | |
|---|
| 565 | depends_build-append port:cclient |
|---|
| 566 | |
|---|
| 567 | configure.args-append --with-imap=${prefix} \ |
|---|
| 568 | --with-imap-ssl=${prefix} |
|---|
| 569 | |
|---|
| 570 | platform macosx { |
|---|
| 571 | configure.args-append --with-kerberos=/usr |
|---|
| 572 | } |
|---|
| 573 | } |
|---|
| 574 | |
|---|
| 575 | subport ${php}-intl { |
|---|
| 576 | categories-append devel |
|---|
| 577 | |
|---|
| 578 | description internationalization extension for PHP |
|---|
| 579 | |
|---|
| 580 | long_description Internationalization extension implements ICU \ |
|---|
| 581 | library functionality in PHP. |
|---|
| 582 | |
|---|
| 583 | depends_lib-append port:icu |
|---|
| 584 | } |
|---|
| 585 | |
|---|
| 586 | subport ${php}-ldap { |
|---|
| 587 | categories-append databases |
|---|
| 588 | |
|---|
| 589 | description a PHP interface to LDAP |
|---|
| 590 | |
|---|
| 591 | long_description ${subport} is ${description}, the Lightweight Directory \ |
|---|
| 592 | Access Protocol, which is used to access Directory \ |
|---|
| 593 | Servers. |
|---|
| 594 | |
|---|
| 595 | depends_lib-append port:openldap \ |
|---|
| 596 | port:cyrus-sasl2 |
|---|
| 597 | |
|---|
| 598 | configure.args-append --with-ldap=${prefix} \ |
|---|
| 599 | --with-ldap-sasl=${prefix} |
|---|
| 600 | } |
|---|
| 601 | |
|---|
| 602 | subport ${php}-mbstring { |
|---|
| 603 | categories-append textproc |
|---|
| 604 | |
|---|
| 605 | description a PHP extension for manipulating strings in multibyte \ |
|---|
| 606 | encodings |
|---|
| 607 | |
|---|
| 608 | long_description ${description} |
|---|
| 609 | } |
|---|
| 610 | |
|---|
| 611 | subport ${php}-mcrypt { |
|---|
| 612 | categories-append security |
|---|
| 613 | |
|---|
| 614 | description a PHP interface to the mcrypt library, which offers \ |
|---|
| 615 | a wide variety of algorithms |
|---|
| 616 | |
|---|
| 617 | long_description ${description} |
|---|
| 618 | |
|---|
| 619 | depends_lib-append port:libmcrypt |
|---|
| 620 | |
|---|
| 621 | # The mcrypt extension may be using libtool unnecessarily; monitor |
|---|
| 622 | # https://bugs.php.net/bug.php?id=54500 |
|---|
| 623 | depends_lib-append port:libtool |
|---|
| 624 | |
|---|
| 625 | configure.args-append --with-mcrypt=${prefix} |
|---|
| 626 | } |
|---|
| 627 | |
|---|
| 628 | subport ${php}-mssql { |
|---|
| 629 | php.extensions mssql pdo_dblib |
|---|
| 630 | |
|---|
| 631 | categories-append databases |
|---|
| 632 | |
|---|
| 633 | description a PHP interface to MSSQL using FreeTDS, including \ |
|---|
| 634 | the mssql and pdo_dblib extensions |
|---|
| 635 | |
|---|
| 636 | long_description ${description} |
|---|
| 637 | |
|---|
| 638 | depends_lib-append port:freetds |
|---|
| 639 | |
|---|
| 640 | configure.args-append --with-mssql=${prefix} \ |
|---|
| 641 | --with-pdo-dblib=${prefix} |
|---|
| 642 | } |
|---|
| 643 | |
|---|
| 644 | subport ${php}-mysql { |
|---|
| 645 | php.extensions mysql mysqli pdo_mysql |
|---|
| 646 | |
|---|
| 647 | categories-append databases |
|---|
| 648 | |
|---|
| 649 | description a PHP interface to MySQL databases, including the \ |
|---|
| 650 | mysql, mysqli and pdo_mysql extensions |
|---|
| 651 | |
|---|
| 652 | long_description ${description} |
|---|
| 653 | |
|---|
| 654 | depends_lib-append port:zlib |
|---|
| 655 | |
|---|
| 656 | configure.args-append --with-zlib-dir=${prefix} |
|---|
| 657 | |
|---|
| 658 | variant mysqlnd conflicts mysql4 mysql5 mysql51 mysql55 mysql56 mariadb percona description {Use MySQL Native Driver} { # added by LDL from devel |
|---|
| 659 | configure.args-append --with-mysql=mysqlnd \ |
|---|
| 660 | --with-mysqli=mysqlnd \ |
|---|
| 661 | --with-pdo-mysql=mysqlnd |
|---|
| 662 | |
|---|
| 663 | configure.cppflags-append -I${worksrcpath} |
|---|
| 664 | |
|---|
| 665 | post-install { |
|---|
| 666 | set phpini ${prefix}/etc/${php}/php.ini |
|---|
| 667 | if {1} { |
|---|
| 668 | ui_msg "To use mysqlnd with a local MySQL server, edit ${phpini} and set" |
|---|
| 669 | ui_msg "mysql.default_socket, mysqli.default_socket and pdo_mysql.default_socket" |
|---|
| 670 | ui_msg "to ${prefix}/var/run/mysql5/mysqld.sock" |
|---|
| 671 | } |
|---|
| 672 | } |
|---|
| 673 | } |
|---|
| 674 | |
|---|
| 675 | variant mysql4 conflicts mysqlnd mysql5 mysql51 mysql55 mysql56 mariadb percona description {Use MySQL 4 libraries} { # added by LDL from devel |
|---|
| 676 | depends_lib-append port:mysql4 |
|---|
| 677 | |
|---|
| 678 | configure.args-append --with-mysql=${prefix} \ |
|---|
| 679 | --with-pdo-mysql=${prefix} |
|---|
| 680 | } |
|---|
| 681 | |
|---|
| 682 | variant mysql5 conflicts mysqlnd mysql4 mysql51 mysql55 mysql56 mariadb percona description {Use MySQL 5 libraries} { # added by LDL from devel |
|---|
| 683 | depends_lib-append path:bin/mysql_config5:mysql5 |
|---|
| 684 | |
|---|
| 685 | post-extract { |
|---|
| 686 | file mkdir ${workpath}/mysql5 |
|---|
| 687 | file link -symbolic ${workpath}/mysql5/lib ${prefix}/lib/mysql5 |
|---|
| 688 | file link -symbolic ${workpath}/mysql5/include ${prefix}/include/mysql5 |
|---|
| 689 | } |
|---|
| 690 | |
|---|
| 691 | configure.args-append --with-mysql=${workpath}/mysql5 \ |
|---|
| 692 | --with-mysqli=${prefix}/bin/mysql_config5 \ |
|---|
| 693 | --with-pdo-mysql=${prefix}/bin/mysql_config5 \ |
|---|
| 694 | --with-mysql-sock=${prefix}/var/run/mysql5/mysqld.sock |
|---|
| 695 | } |
|---|
| 696 | |
|---|
| 697 | if {![variant_isset mysql4] && ![variant_isset mysql5]} { |
|---|
| 698 | default_variants +mysqlnd |
|---|
| 699 | } |
|---|
| 700 | } |
|---|
| 701 | |
|---|
| 702 | subport ${php}-odbc { |
|---|
| 703 | php.extensions odbc pdo_odbc |
|---|
| 704 | |
|---|
| 705 | categories-append databases |
|---|
| 706 | |
|---|
| 707 | description a PHP interface for accessing databases via Open \ |
|---|
| 708 | DataBase Connectivity (ODBC) |
|---|
| 709 | |
|---|
| 710 | long_description ${description} |
|---|
| 711 | |
|---|
| 712 | variant iodbc conflicts unixodbc description {Use iODBC} { |
|---|
| 713 | depends_lib-append port:libiodbc |
|---|
| 714 | |
|---|
| 715 | patchfiles-append patch-${php}-iODBC.diff |
|---|
| 716 | |
|---|
| 717 | configure.args-append --with-iODBC=${prefix} \ |
|---|
| 718 | --with-pdo-odbc=iODBC,${prefix} |
|---|
| 719 | } |
|---|
| 720 | |
|---|
| 721 | variant unixodbc conflicts iodbc description {Use unixODBC} { |
|---|
| 722 | depends_lib-append port:unixODBC |
|---|
| 723 | |
|---|
| 724 | patchfiles-append patch-${php}-unixODBC.diff |
|---|
| 725 | |
|---|
| 726 | configure.args-append --with-unixODBC=${prefix} \ |
|---|
| 727 | --with-pdo-odbc=unixODBC,${prefix} |
|---|
| 728 | } |
|---|
| 729 | |
|---|
| 730 | if {![variant_isset iodbc] && ![variant_isset unixodbc]} { |
|---|
| 731 | default_variants +unixodbc |
|---|
| 732 | } |
|---|
| 733 | } |
|---|
| 734 | |
|---|
| 735 | subport ${php}-openssl { |
|---|
| 736 | categories-append devel security |
|---|
| 737 | |
|---|
| 738 | description a PHP interface to OpenSSL signature-generation \ |
|---|
| 739 | and -verification and data-encryption and \ |
|---|
| 740 | -decryption functions |
|---|
| 741 | |
|---|
| 742 | long_description ${description} |
|---|
| 743 | |
|---|
| 744 | depends_lib-append port:openssl |
|---|
| 745 | |
|---|
| 746 | post-extract { |
|---|
| 747 | move ${php.build_dirs}/config0.m4 ${php.build_dirs}/config.m4 |
|---|
| 748 | } |
|---|
| 749 | |
|---|
| 750 | configure.args-append --with-openssl=${prefix} |
|---|
| 751 | |
|---|
| 752 | platform macosx { |
|---|
| 753 | configure.args-append --with-kerberos=/usr |
|---|
| 754 | } |
|---|
| 755 | } |
|---|
| 756 | |
|---|
| 757 | subport ${php}-oracle { |
|---|
| 758 | php.extensions oci8 pdo_oci |
|---|
| 759 | |
|---|
| 760 | categories-append databases |
|---|
| 761 | |
|---|
| 762 | description a PHP interface to Oracle, including the oci8 and \ |
|---|
| 763 | pdo_oci extensions |
|---|
| 764 | |
|---|
| 765 | long_description ${description} |
|---|
| 766 | |
|---|
| 767 | depends_lib-append port:oracle-instantclient |
|---|
| 768 | |
|---|
| 769 | configure.args-append --with-oci8=instantclient,${prefix}/lib/oracle \ |
|---|
| 770 | --with-pdo-oci=instantclient,${prefix}/lib/oracle,10.1 |
|---|
| 771 | } |
|---|
| 772 | |
|---|
| 773 | subport ${php}-pcntl { |
|---|
| 774 | categories-append sysutils |
|---|
| 775 | |
|---|
| 776 | description a PHP interface to Unix-style process creation, \ |
|---|
| 777 | program execution, signal handling and process \ |
|---|
| 778 | termination functions |
|---|
| 779 | |
|---|
| 780 | long_description ${description} |
|---|
| 781 | |
|---|
| 782 | notes " |
|---|
| 783 | ${subport} should not be enabled within a web server environment.\ |
|---|
| 784 | Unexpected results may occur if any process control functions are used within\ |
|---|
| 785 | a web server environment. |
|---|
| 786 | " |
|---|
| 787 | } |
|---|
| 788 | |
|---|
| 789 | subport ${php}-posix { |
|---|
| 790 | categories-append sysutils |
|---|
| 791 | |
|---|
| 792 | description a PHP interface to additional POSIX functions |
|---|
| 793 | |
|---|
| 794 | long_description a PHP interface to those functions defined in the \ |
|---|
| 795 | IEEE 1003.1 (POSIX.1) standards document which are \ |
|---|
| 796 | not accessible through other means |
|---|
| 797 | } |
|---|
| 798 | |
|---|
| 799 | subport ${php}-postgresql { |
|---|
| 800 | php.extensions pgsql pdo_pgsql |
|---|
| 801 | |
|---|
| 802 | categories-append databases |
|---|
| 803 | |
|---|
| 804 | homepage http://www.php.net/pgsql |
|---|
| 805 | |
|---|
| 806 | description a PHP interface to PostgreSQL, including \ |
|---|
| 807 | the pgsql and pdo_pgsql extensions |
|---|
| 808 | |
|---|
| 809 | long_description ${description} |
|---|
| 810 | |
|---|
| 811 | variant postgresql82 conflicts postgresql83 postgresql84 postgresql90 postgresql91 description {Use PostgreSQL 8.2 libraries} { |
|---|
| 812 | depends_lib-append port:postgresql82 |
|---|
| 813 | |
|---|
| 814 | configure.args-append --with-pgsql=${prefix}/lib/postgresql82/bin \ |
|---|
| 815 | --with-pdo-pgsql=${prefix}/lib/postgresql82/bin |
|---|
| 816 | } |
|---|
| 817 | |
|---|
| 818 | variant postgresql83 conflicts postgresql82 postgresql84 postgresql90 postgresql91 description {Use PostgreSQL 8.3 libraries} { |
|---|
| 819 | depends_lib-append port:postgresql83 |
|---|
| 820 | |
|---|
| 821 | configure.args-append --with-pgsql=${prefix}/lib/postgresql83/bin \ |
|---|
| 822 | --with-pdo-pgsql=${prefix}/lib/postgresql83/bin |
|---|
| 823 | } |
|---|
| 824 | |
|---|
| 825 | variant postgresql84 conflicts postgresql82 postgresql83 postgresql90 postgresql91 description {Use PostgreSQL 8.4 libraries} { |
|---|
| 826 | depends_lib-append port:postgresql84 |
|---|
| 827 | |
|---|
| 828 | configure.args-append --with-pgsql=${prefix}/lib/postgresql84/bin \ |
|---|
| 829 | --with-pdo-pgsql=${prefix}/lib/postgresql84/bin |
|---|
| 830 | } |
|---|
| 831 | |
|---|
| 832 | variant postgresql90 conflicts postgresql82 postgresql83 postgresql84 postgresql91 description {Use PostgreSQL 9.0 libraries} { |
|---|
| 833 | depends_lib-append port:postgresql90 |
|---|
| 834 | |
|---|
| 835 | configure.args-append --with-pgsql=${prefix}/lib/postgresql90/bin \ |
|---|
| 836 | --with-pdo-pgsql=${prefix}/lib/postgresql90/bin |
|---|
| 837 | } |
|---|
| 838 | |
|---|
| 839 | variant postgresql91 conflicts postgresql82 postgresql83 postgresql84 postgresql90 description {Use PostgreSQL 9.1 libraries} { |
|---|
| 840 | depends_lib-append port:postgresql91 |
|---|
| 841 | |
|---|
| 842 | configure.args-append --with-pgsql=${prefix}/lib/postgresql91/bin \ |
|---|
| 843 | --with-pdo-pgsql=${prefix}/lib/postgresql91/bin |
|---|
| 844 | } |
|---|
| 845 | |
|---|
| 846 | if {![variant_isset postgresql82] && ![variant_isset postgresql83] && ![variant_isset postgresql84] && ![variant_isset postgresql90] && ![variant_isset postgresql91]} { |
|---|
| 847 | default_variants +postgresql91 |
|---|
| 848 | } |
|---|
| 849 | } |
|---|
| 850 | |
|---|
| 851 | subport ${php}-pspell { |
|---|
| 852 | categories-append textproc |
|---|
| 853 | |
|---|
| 854 | description a PHP interface to the aspell library, which lets you \ |
|---|
| 855 | check spelling and offer spelling suggestions |
|---|
| 856 | |
|---|
| 857 | long_description ${description} |
|---|
| 858 | |
|---|
| 859 | depends_lib-append port:aspell |
|---|
| 860 | |
|---|
| 861 | configure.args-append --with-pspell=${prefix} |
|---|
| 862 | } |
|---|
| 863 | |
|---|
| 864 | subport ${php}-snmp { |
|---|
| 865 | categories-append sysutils |
|---|
| 866 | |
|---|
| 867 | description a PHP interface to the Simple Network Management \ |
|---|
| 868 | Protocol (SNMP) |
|---|
| 869 | |
|---|
| 870 | long_description ${description} |
|---|
| 871 | |
|---|
| 872 | depends_lib-append port:net-snmp |
|---|
| 873 | |
|---|
| 874 | configure.args-append --with-snmp=${prefix} |
|---|
| 875 | } |
|---|
| 876 | |
|---|
| 877 | subport ${php}-soap { |
|---|
| 878 | categories-append net |
|---|
| 879 | |
|---|
| 880 | description a PHP extension for writing SOAP clients and servers |
|---|
| 881 | |
|---|
| 882 | long_description ${description} |
|---|
| 883 | |
|---|
| 884 | depends_lib-append port:libxml2 |
|---|
| 885 | |
|---|
| 886 | configure.args-append --with-libxml-dir=${prefix} |
|---|
| 887 | } |
|---|
| 888 | |
|---|
| 889 | subport ${php}-sockets { |
|---|
| 890 | categories-append net |
|---|
| 891 | |
|---|
| 892 | description a PHP interface to BSD socket communication \ |
|---|
| 893 | functions |
|---|
| 894 | |
|---|
| 895 | long_description ${description} |
|---|
| 896 | } |
|---|
| 897 | |
|---|
| 898 | subport ${php}-sqlite { |
|---|
| 899 | php.extensions sqlite sqlite3 pdo_sqlite |
|---|
| 900 | |
|---|
| 901 | categories-append databases |
|---|
| 902 | |
|---|
| 903 | description a PHP interface to SQLite, including the sqlite, sqlite3 \ |
|---|
| 904 | and pdo_sqlite extensions |
|---|
| 905 | |
|---|
| 906 | if {[vercmp ${branch} 5.4] >= 0} { |
|---|
| 907 | php.extensions-delete sqlite |
|---|
| 908 | description-delete "sqlite," |
|---|
| 909 | } |
|---|
| 910 | |
|---|
| 911 | long_description ${description} |
|---|
| 912 | |
|---|
| 913 | depends_lib-append port:sqlite3 |
|---|
| 914 | |
|---|
| 915 | post-extract { |
|---|
| 916 | move ${worksrcpath}/ext/sqlite3/config0.m4 ${worksrcpath}/ext/sqlite3/config.m4 |
|---|
| 917 | } |
|---|
| 918 | |
|---|
| 919 | configure.args-append --with-sqlite3=${prefix} \ |
|---|
| 920 | --with-pdo-sqlite=${prefix} \ |
|---|
| 921 | --enable-sqlite-utf8 |
|---|
| 922 | } |
|---|
| 923 | |
|---|
| 924 | subport ${php}-tidy { |
|---|
| 925 | categories-append www |
|---|
| 926 | |
|---|
| 927 | description a PHP interface to tidy, the HTML cleaning and \ |
|---|
| 928 | repair utility |
|---|
| 929 | |
|---|
| 930 | long_description ${description} |
|---|
| 931 | |
|---|
| 932 | depends_lib-append port:tidy |
|---|
| 933 | |
|---|
| 934 | configure.args-append --with-tidy=${prefix} |
|---|
| 935 | } |
|---|
| 936 | |
|---|
| 937 | subport ${php}-wddx { |
|---|
| 938 | categories-append textproc |
|---|
| 939 | |
|---|
| 940 | description a PHP interface to Web Distributed Data Exchange |
|---|
| 941 | |
|---|
| 942 | long_description ${description} |
|---|
| 943 | |
|---|
| 944 | depends_build-append port:expat \ |
|---|
| 945 | port:libxml2 |
|---|
| 946 | |
|---|
| 947 | configure.args-append --with-libexpat-dir=${prefix} \ |
|---|
| 948 | --with-libxml-dir=${prefix} |
|---|
| 949 | } |
|---|
| 950 | |
|---|
| 951 | subport ${php}-xmlrpc { |
|---|
| 952 | categories-append textproc |
|---|
| 953 | |
|---|
| 954 | description a PHP extension for writing XML-RPC clients and servers |
|---|
| 955 | |
|---|
| 956 | long_description ${description} |
|---|
| 957 | |
|---|
| 958 | depends_build-append port:libiconv \ |
|---|
| 959 | port:libxml2 |
|---|
| 960 | |
|---|
| 961 | depends_lib-append port:expat |
|---|
| 962 | |
|---|
| 963 | configure.args-append --with-iconv-dir=${prefix} \ |
|---|
| 964 | --with-libexpat-dir=${prefix} \ |
|---|
| 965 | --with-libxml-dir=${prefix} |
|---|
| 966 | |
|---|
| 967 | pre-configure { |
|---|
| 968 | configure.cppflags-append [exec ${prefix}/bin/xml2-config --cflags] |
|---|
| 969 | } |
|---|
| 970 | } |
|---|
| 971 | |
|---|
| 972 | subport ${php}-xsl { |
|---|
| 973 | categories-append textproc |
|---|
| 974 | |
|---|
| 975 | description a PHP interface to libxslt, which implements the XSL \ |
|---|
| 976 | standard and lets you perform XSL transformations |
|---|
| 977 | |
|---|
| 978 | long_description ${description} |
|---|
| 979 | |
|---|
| 980 | depends_lib-append port:libxslt |
|---|
| 981 | |
|---|
| 982 | configure.args-append --with-xsl=${prefix} |
|---|
| 983 | |
|---|
| 984 | configure.cppflags-append -I${prefix}/include/${php}/php/ext/dom |
|---|
| 985 | } |
|---|
| 986 | |
|---|
| 987 | subport ${php}-zip { |
|---|
| 988 | categories-append archivers |
|---|
| 989 | |
|---|
| 990 | description PHP zip functions |
|---|
| 991 | |
|---|
| 992 | long_description ${description} |
|---|
| 993 | |
|---|
| 994 | depends_build-append port:pcre |
|---|
| 995 | |
|---|
| 996 | depends_lib-append port:zlib |
|---|
| 997 | } |
|---|
| 998 | |
|---|
| 999 | } |
|---|
| 1000 | |
|---|
| 1001 | # These variables are not only required by the subsequent code but also by |
|---|
| 1002 | # preceding code in phase blocks. |
|---|
| 1003 | set branch ${subport_branch} |
|---|
| 1004 | set php php[php.suffix_from_branch ${branch}] |
|---|
| 1005 | |
|---|
| 1006 | if {${name} == ${subport}} { |
|---|
| 1007 | # Set up the stub port. |
|---|
| 1008 | version ${branch} |
|---|
| 1009 | supported_archs noarch |
|---|
| 1010 | distfiles |
|---|
| 1011 | depends_run port:${php} |
|---|
| 1012 | use_configure no |
|---|
| 1013 | build {} |
|---|
| 1014 | destroot { |
|---|
| 1015 | xinstall -d -m 755 ${destroot}${prefix}/share/doc/${subport} |
|---|
| 1016 | system "echo \"${name} is a stub port\" > ${destroot}${prefix}/share/doc/${subport}/README" |
|---|
| 1017 | } |
|---|
| 1018 | } else { |
|---|
| 1019 | # Set an explicit distname so the default from the php portgroup doesn't get used. |
|---|
| 1020 | distname ${name}-${version} |
|---|
| 1021 | } |
|---|
| 1022 | |
|---|
| 1023 | # Set up the php portgroup, for extension subports. |
|---|
| 1024 | if {[is_extension_subport]} { |
|---|
| 1025 | default php.extensions ${php.rootname} |
|---|
| 1026 | default homepage http://www.php.net/${php.rootname} |
|---|
| 1027 | |
|---|
| 1028 | php.build_dirs |
|---|
| 1029 | foreach extension ${php.extensions} { |
|---|
| 1030 | # Speed up extraction by extracting only the modules we're going to be building. |
|---|
| 1031 | extract.post_args-append ${worksrcdir}/ext/${extension} |
|---|
| 1032 | |
|---|
| 1033 | # Run phpize, configure, build and destroot in each extension's directory. |
|---|
| 1034 | php.build_dirs-append ${worksrcpath}/ext/${extension} |
|---|
| 1035 | } |
|---|
| 1036 | |
|---|
| 1037 | post-extract { |
|---|
| 1038 | # The PDO extensions need the PDO headers which are installed by the ${php} port. |
|---|
| 1039 | foreach extension ${php.extensions} { |
|---|
| 1040 | if {[regexp {^pdo_} ${extension}]} { |
|---|
| 1041 | file mkdir ${worksrcpath}/ext/${extension}/ext |
|---|
| 1042 | ln -s ${prefix}/include/${php}/php/ext/pdo ${worksrcpath}/ext/${extension}/ext |
|---|
| 1043 | } |
|---|
| 1044 | } |
|---|
| 1045 | } |
|---|
| 1046 | |
|---|
| 1047 | pre-configure { |
|---|
| 1048 | set php_version [exec ${php.config} --version 2>/dev/null] |
|---|
| 1049 | if {${version} != ${php_version}} { |
|---|
| 1050 | ui_error "${subport} @${version} requires ${php} @${version} but you have ${php} @${php_version}." |
|---|
| 1051 | return -code error "incompatible ${php} installation" |
|---|
| 1052 | } |
|---|
| 1053 | } |
|---|
| 1054 | |
|---|
| 1055 | destroot.target install-modules install-headers |
|---|
| 1056 | |
|---|
| 1057 | php.add_port_code |
|---|
| 1058 | } |
|---|