source: trunk/dports/lang/php/Portfile @ 139229

Last change on this file since 139229 was 139229, checked in by jeremyhu@…, 4 years ago

misc: Change port:openssl dependency to path:lib/libssl.dylib:openssl

This should allow usage of libressl as a replacement for openssl in relevant
ports. Not all ports have been tested, but libressl aims for API
compatibility with OpenSSL, so it is expected to work.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 47.0 KB
Line 
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 139229 2015-08-08 03:10:35Z jeremyhu@macports.org $
3
4PortSystem              1.0
5PortGroup               php 1.1
6PortGroup               compiler_blacklist_versions 1.0
7
8name                    php
9platforms               darwin freebsd
10maintainers             ryandesign
11license                 PHP-3.01
12default master_sites    {php:get/[lindex ${distfiles} 0]/from/this/mirror?dummy=}
13use_parallel_build      yes
14livecheck.type          none
15
16description             PHP: Hypertext Preprocessor
17
18long_description        PHP is a widely-used general-purpose scripting \
19                        language that is especially suited for developing \
20                        web sites, but can also be used for command-line \
21                        scripting.
22
23# The list of PHP branches this port provides.
24php.branches            5.2 5.3 5.4 5.5 5.6 7.0
25
26# Fix for users specifying the subport name with the wrong case.
27set subport             [string tolower ${subport}]
28
29# Get rootname from subport.
30regexp {^php\d+-(.+)$} ${subport} -> php.rootname
31
32# Returns true if the subport is a SAPI, false otherwise (extension, stub port).
33proc is_sapi_subport {} {
34    global name subport php.rootname
35    if {${name} eq ${subport}} {
36        return no
37    }
38    if {[regexp {^php\d+$} ${subport}]} {
39        return yes
40    }
41    return [expr {-1 != [lsearch -exact [list apache2handler cgi fpm] ${php.rootname}]}]
42}
43
44# Returns true if the subport is an extension, false otherwise (SAPI, stub port).
45proc is_extension_subport {} {
46    global name subport
47    if {${name} eq ${subport}} {
48        return no
49    }
50    return [expr {![is_sapi_subport]}]
51}
52
53if {![is_extension_subport]} {
54    categories          lang www
55    homepage            http://www.php.net/
56}
57
58set subport_branch      [php.branch_from_subport]
59
60# Remember to increment revision of ${php}-eaccelerator when updating version of ${php}.
61switch ${subport_branch} {
62    5.2 {
63        version         5.2.17
64        master_sites    http://museum.php.net/php5/
65        use_bzip2       yes
66        set suhosin_available       yes
67        set suhosin_patch_version   5.2.16-0.9.7
68        set suhosin_patch           suhosin-patch-${suhosin_patch_version}.patch.gz
69        checksums       ${distname}${extract.suffix} \
70                        md5     b27947f3045220faf16e4d9158cbfe13 \
71                        rmd160  567fa8d718b93fb83a89494c83a8bec224ac99e9 \
72                        sha256  e81beb13ec242ab700e56f366e9da52fd6cf18961d155b23304ca870e53f116c \
73                        ${suhosin_patch} \
74                        rmd160  b28b70faf136b3e04c5b483da0f4c2279378f43a \
75                        sha256  aae115a318d80b3f32cedf876e7a8e4b932febb1b0c743c0b398003ebe122f91
76    }
77    5.3 {
78        version         5.3.29
79        use_bzip2       yes
80        set suhosin_available       yes
81        set suhosin_patch_version   5.3.9-0.9.10
82        set suhosin_patch           suhosin-patch-${suhosin_patch_version}.patch.gz
83        checksums       ${distname}${extract.suffix} \
84                        md5     9469e240cbe6ac865aeaec89b253dd30 \
85                        rmd160  e57beb4fdda41bca81b5856161bc97f3c5e3e9da \
86                        sha256  c4e1cf6972b2a9c7f2777a18497d83bf713cdbecabb65d3ff62ba441aebb0091 \
87                        ${suhosin_patch} \
88                        rmd160  ce43921fd9b183b154713ecda98294f6c68d5f22 \
89                        sha256  4438caeab0a10c6c94aee9f7eaa703f5799f97d4e0579f43a947bb7314e38317
90    }
91    5.4 {
92        epoch           1
93        version         5.4.43
94        use_bzip2       yes
95        checksums       rmd160  87ab07db18d04f50972ea4197c6580882e5760a9 \
96                        sha256  25d7724fb00ad1b520f5bad2173717031153d0a8e3de2c75e7a084c76f8ecd6b
97    }
98    5.5 {
99        epoch           2
100        version         5.5.28
101        use_xz          yes
102        checksums       rmd160  3373c16149241ba29a582a4f8c548157edfdc5da \
103                        sha256  d060455c804c622cda9f3f5f084b10c6ceba73ee76c1720897e17137a0f75ecd
104    }
105    5.6 {
106        epoch           2
107        version         5.6.12
108        use_xz          yes
109        checksums       rmd160  7912a2098f1d7de400cfac94f09c040550a8d83d \
110                        sha256  f8a8446866c0dc3f33319aa196ce87b64d71cab3dd96e39c8816adccc7e8ef33
111    }
112    7.0 {
113        # When this becomes a stable version, remove the overrides for homepage,
114        # master_sites and livecheck, and update php.latest_stable_branch in the
115        # php-1.1 portgroup.
116        version         7.0.0beta3
117        homepage        http://qa.php.net/
118        master_sites    http://downloads.php.net/~ab/
119        use_xz          yes
120        checksums       md5     92b10b1694161d00ac38401da4537ed3 \
121                        rmd160  6b86f785a9b891a64dc61676103657ead1e2cc08 \
122                        sha256  f3cf545dcf74f4727f378dcfa206d7b3c78aafca3ccf68109d7302733fb957b4
123        livecheck.url   ${homepage}
124        livecheck.regex php-([strsed ${subport_branch} {g/\\./\\./}](?:\\.\[0-9.\]+)*(?:(?:alpha|beta|RC)\\d+|-latest))\\.tar
125    }
126}
127
128# Iterate through branches in reverse order, so that the list of subports in
129# "port info" will show newer versions before older versions.
130set i [llength ${php.branches}]
131while {[incr i -1] >= 0} {
132
133set branch              [lindex ${php.branches} ${i}]
134set major               [lindex [split ${branch} .] 0]
135set php                 php[php.suffix_from_branch ${branch}]
136
137if {[regexp "^${php}" ${subport}]} {
138
139if {[vercmp ${major} 5] > 0} {
140    dist_subdir         ${php}
141} else {
142    dist_subdir         php${major}
143}
144
145if {[is_sapi_subport]} {
146   
147    depends_build       port:pkgconfig
148   
149    if {${subport} ne ${php}} {
150        depends_lib     port:${php}
151    }
152   
153    depends_lib-append  path:bin/gsed:gsed \
154                        port:libiconv \
155                        port:libxml2 \
156                        port:bzip2 \
157                        port:mhash \
158                        port:pcre \
159                        port:zlib
160   
161    # Use -p1 to accommodate the Suhosin patch
162    patch.pre_args      -p1
163    patchfiles          patch-${php}-scripts-php-config.in.diff
164   
165    if {[vercmp ${branch} 5.2] <= 0} {
166        patchfiles-append \
167                        patch-${php}-libxml-2.9.diff \
168                        patch-${php}-pcre-8.30.diff
169    }
170
171    # https://trac.macports.org/ticket/31590
172    # Tested all subports (except oracle) and they built with clang-425.  The reported failure was with Xcode 4.2.
173    # Xcode 4.3 may work, but leaving it blacklisted due to lack of testing
174    compiler.blacklist  {clang < 400} macports-clang-2.9 macports-clang-3.0 macports-clang-3.1
175   
176    set phpinidir       ${prefix}/etc/${php}
177    set extraphpinidir  ${prefix}/var/db/${php}
178   
179    configure.args      --mandir=${prefix}/share/man \
180                        --infodir=${prefix}/share/info \
181                        --program-suffix=[php.suffix_from_branch ${branch}] \
182                        --includedir=${prefix}/include/${php} \
183                        --libdir=${prefix}/lib/${php} \
184                        --with-config-file-path=${phpinidir} \
185                        --with-config-file-scan-dir=${extraphpinidir} \
186                        --disable-all \
187                        --enable-bcmath \
188                        --enable-ctype \
189                        --enable-dom \
190                        --enable-filter \
191                        --enable-hash \
192                        --enable-json \
193                        --enable-libxml \
194                        --enable-pdo \
195                        --enable-session \
196                        --enable-simplexml \
197                        --enable-tokenizer \
198                        --enable-xml \
199                        --enable-xmlreader \
200                        --enable-xmlwriter \
201                        --with-bz2=${prefix} \
202                        --with-mhash=${prefix} \
203                        --with-pcre-regex=${prefix} \
204                        --with-libxml-dir=${prefix} \
205                        --with-zlib=${prefix} \
206                        --without-pear \
207                        --disable-cgi \
208                        --disable-cli
209   
210    if {[vercmp ${branch} 5.3] >= 0} {
211        configure.args-append \
212                        --enable-fileinfo \
213                        --enable-phar \
214                        --disable-fpm
215       
216        # ${php}-mysql +mysqlnd needs mysqlnd support compiled into the SAPI
217        configure.env-append \
218                        PHP_MYSQLND_ENABLED=yes
219    }
220   
221    if {[vercmp ${branch} 5.4] == 0} {
222        # https://bugs.php.net/bug.php?id=68114
223        configure.args-append ac_cv_decimal_fp_supported=no
224    }
225   
226    configure.universal_args-delete --disable-dependency-tracking
227   
228    test.run            yes
229   
230    destroot.args       INSTALL_ROOT=${destroot}
231   
232    variant debug description {Enable debug support (useful to analyze a PHP-related core dump)} {
233        configure.args-append   --enable-debug
234    }
235   
236    if {[vercmp ${branch} 5.3] <= 0} {
237    variant suhosin description {Add Suhosin patch} {
238        pre-fetch {
239            if {${os.platform} eq "darwin" && ${os.major} < 9} {
240                ui_error "The suhosin variant requires Mac OS X 10.5 or greater."
241                return -code error "incompatible Mac OS X version"
242            }
243            if {!${suhosin_available}} {
244                ui_error "There is no suhosin patch for PHP ${version} yet. Please check back later."
245            }
246            if {![file exists ${extraphpinidir}/suhosin.ini]} {
247                ui_msg "You may also be interested in the suhosin extension, a related but different piece of software. See the ${php}-suhosin port."
248            }
249            if {!${suhosin_available}} {
250                return -code error "unavailable variant"
251            }
252        }
253        patch_sites-append          http://download.suhosin.org/
254        if {${suhosin_available}} {
255            if {[vercmp ${branch} 5.3] >= 0} {
256                patchfiles-append   patch-${php}-suhosin-before.diff
257            }
258            patchfiles-append       ${suhosin_patch}
259            if {[vercmp ${branch} 5.3] >= 0} {
260                patchfiles-append   patch-${php}-suhosin-after.diff
261            }
262        }
263    }
264    }
265   
266    if {${subport} ne ${php}} {
267        notes-append "If this is your first install, you need to enable ${subport} in your web server."
268    }
269   
270}
271
272}
273
274### CLI SAPI ###
275
276subport ${php} {
277    PortGroup               select 1.0
278   
279    if {[vercmp ${branch} 5.2] == 0} {
280        revision            10
281    }
282   
283    depends_run             port:php_select
284   
285    select.group            php
286    select.file             ${filespath}/${subport}
287   
288    configure.args-replace  --disable-cli --enable-cli
289   
290    destroot.target         install-cli install-build install-headers install-programs
291   
292    destroot.keepdirs       ${destroot}${extraphpinidir}
293   
294    post-destroot {
295        # Copy the default php.ini files.
296        xinstall -m 755 -d ${destroot}${phpinidir}
297        if {[vercmp ${branch} 5.3] >= 0} {
298            xinstall -m 644 -W ${worksrcpath} \
299                php.ini-development \
300                php.ini-production \
301                ${destroot}${phpinidir}
302        } else {
303            xinstall -m 644 -W ${worksrcpath} \
304                php.ini-dist \
305                php.ini-recommended \
306                ${destroot}${phpinidir}
307        }
308       
309        if {[vercmp ${branch} 5.3] >= 0} {
310            # Copy mysqlnd headers.
311            xinstall -d ${destroot}${prefix}/include/${php}/php/ext/mysqlnd
312            eval xinstall -m 644 [glob ${worksrcpath}/ext/mysqlnd/*.h] ${destroot}${prefix}/include/${php}/php/ext/mysqlnd
313        }
314    }
315   
316    # Include the readline extension http://www.php.net/readline directly in
317    # the PHP CLI SAPI because until PHP 6 the interactive mode "php -a" won't
318    # work with a separately built readline extension.
319    # https://bugs.php.net/bug.php?id=53878
320    # Users might prefer readline over libedit because only readline supports
321    # readline_list_history() (http://www.php.net/readline-list-history).
322    # On the other hand we want libedit to be the default because its license
323    # is compatible with PHP's which means PHP can be distributable.
324    variant libedit conflicts readline description {Build readline extension using libedit library} {
325        depends_lib-append      port:libedit
326        configure.args-append   --with-libedit=${prefix}
327    }
328    variant readline conflicts libedit description {Build readline extension using readline library} {
329        depends_lib-append      port:readline
330        configure.args-append   --with-readline=${prefix}
331    }
332    if {![variant_isset readline]} {
333        default_variants +libedit
334    }
335   
336    if {[vercmp ${branch} 5.4] < 0} {
337        notes-append "
338PHP ${branch} has reached end-of-life. Please upgrade to PHP 5.4 or newer. The newest stable version is ${php.latest_stable_branch}.
339
340To learn how to update your code, please read the following guides:
341
342    http://php.net/manual/en/migration53.php
343    http://php.net/manual/en/migration54.php
344    http://php.net/manual/en/migration55.php
345    http://php.net/manual/en/migration56.php
346
347
348"
349    }
350   
351    if {[vercmp ${branch} ${php.latest_stable_branch}] > 0} {
352        notes-append "${php} @${version}_${revision} is a development preview—do not use it in production!\n\n\n"
353    }
354   
355    if {![file exists ${phpinidir}/php.ini]} {
356        if {[vercmp ${branch} 5.3] >= 0} {
357            notes-append "
358To customize ${php}, copy\
359${phpinidir}/php.ini-development (if this is a development server) or\
360${phpinidir}/php.ini-production (if this is a production server) to\
361${phpinidir}/php.ini and then make changes.
362"
363        } else {
364            notes-append "
365To customize ${php}, copy ${phpinidir}/php.ini-recommended to\
366${phpinidir}/php.ini and then make changes.
367"
368        }
369    } else {
370        if {[vercmp ${branch} 5.3] >= 0} {
371            notes-append "
372You may need to update your php.ini for any changes that have been made\
373in this version of ${php}. Compare ${phpinidir}/php.ini with\
374${phpinidir}/php.ini-development (if this is a development server) or\
375${phpinidir}/php.ini-production (if this is a production server).
376"
377        } else {
378            notes-append "
379You may need to update your php.ini for any changes that have been made\
380in this version of ${php}. Compare ${phpinidir}/php.ini with\
381${phpinidir}/php.ini-recommended.
382"
383        }
384    }
385   
386    # Enable livecheck for the two most recent stable PHP branches and the development branch.
387    if {[vercmp ${branch} [lindex ${php.branches} end-2]] >= 0} {
388        livecheck.type      regex
389        default livecheck.url   ${homepage}downloads.php
390        default livecheck.regex {get/php-([strsed ${branch} {g/\\./\\./}](?:\\.\[0-9.\]+)*)\\.tar}
391    }
392}
393
394### Apache 2 handler SAPI ###
395
396subport ${php}-apache2handler {
397    PortGroup               active_variants 1.1
398   
399    description             ${php} Apache 2 Handler SAPI
400   
401    long_description        ${description}
402   
403    homepage                http://www.php.net/install.unix.apache2
404   
405    depends_lib-append      port:apache2
406   
407    require_active_variants apache2 preforkmpm
408   
409    set apxs ${prefix}/apache2/bin/apxs
410    set confdir ${prefix}/apache2/conf
411    set moduledir ${prefix}/apache2/modules
412   
413    configure.args-append   --with-apxs2=${apxs}
414   
415    build.target            libs/libphp${major}.bundle
416   
417    destroot.violate_mtree  yes
418   
419    destroot {
420        xinstall -m 755 -d ${destroot}${moduledir} ${destroot}${confdir}/extra
421        xinstall -m 644 ${worksrcpath}/libs/libphp${major}.so ${destroot}${moduledir}/mod_${php}.so
422        xinstall -m 644 ${filespath}/mod_php.conf.in ${destroot}${confdir}/extra/mod_${php}.conf
423        reinplace s/@MAJOR@/${major}/g ${destroot}${confdir}/extra/mod_${php}.conf
424    }
425   
426    notes-append "
427
428To enable ${subport}, run:
429
430    cd ${moduledir}
431    sudo ${apxs} -a -e -n php${major} mod_${php}.so
432"
433}
434
435### CGI SAPI ###
436
437subport ${php}-cgi {
438    description             ${php} CGI SAPI
439   
440    long_description        ${description}
441   
442    homepage                http://www.php.net/install.unix.commandline
443   
444    configure.args-delete   --disable-cgi
445    if {[vercmp ${branch} 5.3] >= 0} {
446        configure.args-append --enable-cgi
447    } else {
448        configure.args-append --enable-fastcgi --enable-force-cgi-redirect
449    }
450   
451    if {[vercmp ${branch} 5.4] >= 0} {
452        build.target        cgi
453        destroot.target     install-cgi
454    } else {
455        destroot {
456            xinstall ${worksrcpath}/sapi/cgi/php-cgi ${destroot}${prefix}/bin/php-cgi[php.suffix_from_branch ${branch}]
457        }
458    }
459   
460}
461
462### FPM SAPI ###
463
464if {[vercmp ${branch} 5.3] >= 0} {
465subport ${php}-fpm {
466    description             ${php} FPM SAPI
467   
468    long_description        ${description}
469   
470    homepage                http://www.php.net/install.fpm
471   
472    set fpmuser             nobody
473    set fpmgroup            nobody
474   
475    patchfiles-append       patch-${php}-sapi-fpm-php-fpm.conf.in.diff
476   
477    post-patch {
478        reinplace "s|@PHP@|${php}|g" ${worksrcpath}/sapi/fpm/php-fpm.conf.in
479    }
480   
481    configure.args-replace  --disable-fpm --enable-fpm
482    configure.args-append   --datadir=${prefix}/share/examples/${php} \
483                            --sysconfdir=${phpinidir} \
484                            --with-fpm-user=${fpmuser} \
485                            --with-fpm-group=${fpmgroup}
486   
487    build.target            fpm
488   
489    destroot.target         install-fpm
490   
491    destroot.keepdirs       ${destroot}${prefix}/var/log/${php} \
492                            ${destroot}${prefix}/var/run/${php}
493   
494    post-destroot {
495        xinstall -d -o ${fpmuser} -g ${fpmgroup} ${destroot}${prefix}/var/log/${php} ${destroot}${prefix}/var/run/${php}
496    }
497   
498    startupitem.create      yes
499    startupitem.executable  ${prefix}/sbin/php-fpm[php.suffix_from_branch ${branch}]
500   
501    if {![file exists ${phpinidir}/php-fpm.conf]} {
502        notes-append "
503
504To use ${subport}, copy\
505${phpinidir}/php-fpm.conf.default to\
506${phpinidir}/php-fpm.conf and make changes if desired.
507"
508    } else {
509        notes-append "
510
511You may need to update your php-fpm.conf for any changes that have been made\
512in this version of ${subport}. Compare ${phpinidir}/php-fpm.conf with\
513${phpinidir}/php-fpm.conf.default.
514"
515    }
516}
517}
518
519### Bundled extensions ###
520
521subport ${php}-calendar {
522    description             a PHP extension for converting between different \
523                            calendar formats
524   
525    long_description        ${description}
526}
527
528subport ${php}-curl {
529    categories-append       net www
530   
531    description             a PHP interface to the curl library, which lets you \
532                            download files from servers with a variety of protocols
533   
534    long_description        ${description}
535   
536    depends_lib-append      port:curl
537   
538    configure.args-append   --with-curl=${prefix}
539}
540
541subport ${php}-dba {
542    categories-append       databases
543   
544    description             a PHP interface for accessing DBM databases such as \
545                            BerkeleyDB
546   
547    long_description        ${description}
548   
549    variant gdbm conflicts qdbm description {Add GDBM support} {
550        depends_lib-append      port:gdbm
551        configure.args-append   --with-gdbm=${prefix}
552    }
553   
554    variant qdbm conflicts gdbm description {Add QDBM support} {
555        depends_lib-append      port:qdbm
556        configure.args-append   --with-qdbm=${prefix}
557    }
558}
559
560if {[vercmp ${branch} 5.3] >= 0} {
561subport ${php}-enchant {
562    categories-append       textproc devel
563   
564    description             a PHP interface to enchant
565   
566    long_description        ${name} is ${description}, a common API for many spell libraries.
567   
568    depends_lib-append      port:enchant
569   
570    configure.args-append   --with-enchant=${prefix}
571   
572    post-destroot {
573        set docdir ${prefix}/share/doc/${subport}
574        xinstall -d ${destroot}${docdir}
575        xinstall -m 644 -W ${destroot.dir} CREDITS ${destroot}${docdir}
576       
577        set examplesdir ${prefix}/share/examples/${subport}
578        xinstall -d ${destroot}${examplesdir}
579        xinstall -m 644 ${destroot.dir}/docs/examples/example1.php \
580            ${destroot}${examplesdir}
581    }
582}
583}
584
585subport ${php}-exif {
586    categories-append       graphics
587   
588    description             a PHP interface to the EXIF image metadata functions
589   
590    long_description        ${description}
591}
592
593subport ${php}-ftp {
594    categories-append       net
595   
596    description             a PHP extension for accessing file servers using the \
597                            File Transfer Protocol
598   
599    long_description        ${description}
600   
601    depends_lib-append      path:lib/libssl.dylib:openssl
602   
603    configure.args-append   --with-openssl-dir=${prefix}
604}
605
606subport ${php}-gd {
607    categories-append       graphics
608   
609    description             a PHP interface to the gd library
610   
611    long_description        ${description}
612   
613    depends_lib-append      port:freetype \
614                            port:jpeg \
615                            port:libpng \
616                            port:zlib
617   
618    patchfiles-append       patch-${php}-ext-gd-config.m4.diff
619   
620    configure.args-append   --with-freetype-dir=${prefix} \
621                            --with-jpeg-dir=${prefix} \
622                            --with-png-dir=${prefix} \
623                            --with-zlib-dir=${prefix} \
624                            --enable-gd-native-ttf
625
626    if {[vercmp ${branch} 7.0] >= 0} {
627        depends_lib-append  port:webp
628        configure.args-append --with-webp-dir=${prefix}
629    }
630   
631    if {[vercmp ${branch} 7] < 0} {
632    variant t1lib description {Add PostScript Type 1 font support with t1lib} {
633        depends_lib-append      port:t1lib
634        configure.args-append   --with-t1lib=${prefix}
635    }
636    }
637}
638
639subport ${php}-gettext {
640    categories-append       devel
641   
642    description             a PHP interface to the gettext natural language \
643                            support functions
644   
645    long_description        ${description}
646   
647    depends_lib-append      port:gettext
648   
649    configure.args-append   --with-gettext=${prefix}
650}
651
652subport ${php}-gmp {
653    categories-append       devel math
654   
655    description             a PHP interface to GMP, the GNU multiprocessing \
656                            library through which you can work with \
657                            arbitrary-length integers
658   
659    long_description        ${description}
660   
661    depends_lib-append      port:gmp
662   
663    if {[vercmp ${branch} 5.2] <= 0} {
664        patchfiles-append   patch-${php}-ext-gmp-gmp.c.diff
665    }
666   
667    configure.args-append   --with-gmp=${prefix}
668}
669
670subport ${php}-iconv {
671    categories-append       textproc
672   
673    description             a PHP interface to the libiconv character encoding \
674                            conversion functions
675   
676    long_description        ${description}
677   
678    depends_lib-append      port:libiconv
679   
680    configure.args-append   --with-iconv=${prefix}
681}
682
683subport ${php}-imap {
684    categories-append       mail
685   
686    description             a PHP interface to the IMAP protocol
687   
688    long_description        ${description}
689   
690    depends_build-append    port:cclient
691   
692    depends_lib-append      port:kerberos5 \
693                            port:libcomerr
694   
695    configure.args-append   --with-imap=${prefix} \
696                            --with-imap-ssl=${prefix} \
697                            --with-kerberos=${prefix}
698}
699
700if {[vercmp ${branch} 5.3] >= 0} {
701subport ${php}-intl {
702    if {[vercmp ${branch} 5.3] == 0} {
703        revision            2
704    }
705   
706    categories-append       devel
707   
708    description             internationalization extension for PHP
709   
710    long_description        Internationalization extension implements ICU \
711                            library functionality in PHP.
712   
713    depends_lib-append      port:icu
714}
715}
716
717subport ${php}-ipc {
718    php.extensions          shmop sysvmsg sysvsem sysvshm
719   
720    description             interprocess communication extensions for PHP
721   
722    long_description        PHP extensions for interprocess communication (IPC), including the \
723                            shmop, sysvmsg, sysvsem, and sysvshm extensions.
724}
725
726subport ${php}-ldap {
727    categories-append       databases
728   
729    description             a PHP interface to LDAP
730
731    long_description        ${subport} is ${description}, the Lightweight Directory \
732                            Access Protocol, which is used to access Directory \
733                            Servers.
734   
735    depends_lib-append      port:openldap \
736                            port:cyrus-sasl2
737   
738    configure.args-append   --with-ldap=${prefix} \
739                            --with-ldap-sasl=${prefix}
740}
741
742subport ${php}-mbstring {
743    categories-append       textproc
744   
745    description             a PHP extension for manipulating strings in multibyte \
746                            encodings
747   
748    long_description        ${description}
749}
750
751subport ${php}-mcrypt {
752    categories-append       security
753   
754    description             a PHP interface to the mcrypt library, which offers \
755                            a wide variety of algorithms
756   
757    long_description        ${description}
758   
759    depends_lib-append      port:libmcrypt
760   
761    # The mcrypt extension may be using libtool unnecessarily; monitor
762    # https://bugs.php.net/bug.php?id=54500
763    depends_lib-append      port:libtool
764   
765    configure.args-append   --with-mcrypt=${prefix}
766}
767
768if {[vercmp ${branch} 7] < 0} {
769subport ${php}-mssql {
770    php.extensions          mssql pdo_dblib
771   
772    categories-append       databases
773   
774    description             a PHP interface to MSSQL using FreeTDS, including \
775                            the mssql and pdo_dblib extensions
776   
777    long_description        ${description}
778   
779    depends_lib-append      port:freetds
780   
781    configure.args-append   --with-mssql=${prefix} \
782                            --with-pdo-dblib=${prefix}
783}
784}
785
786subport ${php}-mysql {
787    php.extensions          mysqli pdo_mysql
788    if {[vercmp ${branch} 7] < 0} {
789        php.extensions-prepend mysql
790    }
791   
792    categories-append       databases
793   
794    description             a PHP interface to MySQL databases, including the
795    if {[vercmp ${branch} 7] < 0} {
796        description-append  mysql,
797    }
798    description-append      mysqli and pdo_mysql extensions
799   
800    long_description        ${description}
801   
802    depends_lib-append      port:zlib
803   
804    configure.args-append   --with-zlib-dir=${prefix}
805   
806    if {[vercmp ${branch} 5.3] >= 0} {
807    variant mysqlnd conflicts mysql4 mysql5 mysql51 mysql55 mysql56 mariadb percona description {Use MySQL Native Driver} {
808        configure.args-append   --with-mysql=mysqlnd \
809                                --with-mysqli=mysqlnd \
810                                --with-pdo-mysql=mysqlnd
811       
812        configure.cppflags-append   -I${worksrcpath}
813       
814        set phpini ${prefix}/etc/${php}/php.ini
815        notes "
816To use mysqlnd with a local MySQL server, edit ${phpini} and set\
817mysql.default_socket, mysqli.default_socket and pdo_mysql.default_socket\
818to the path to your MySQL server's socket file.
819
820For mysql5, use ${prefix}/var/run/mysql5/mysqld.sock
821For mysql51, use ${prefix}/var/run/mysql51/mysqld.sock
822For mysql55, use ${prefix}/var/run/mysql55/mysqld.sock
823For mysql56, use ${prefix}/var/run/mysql56/mysqld.sock
824For mariadb, use ${prefix}/var/run/mariadb/mysqld.sock
825For percona, use ${prefix}/var/run/percona/mysqld.sock
826"
827    }
828    }
829   
830    variant mysql4 conflicts mysqlnd mysql5 mysql51 mysql55 mysql56 mariadb percona description {Use MySQL 4 libraries} {
831        depends_lib-append      port:mysql4
832       
833        configure.args-append   --with-mysql=${prefix} \
834                                --with-pdo-mysql=${prefix}
835    }
836   
837    variant mysql5 conflicts mysqlnd mysql4 mysql51 mysql55 mysql56 mariadb percona description {Use MySQL 5 libraries} {
838        depends_lib-append      path:bin/mysql_config5:mysql5
839       
840        post-extract {
841            file mkdir ${workpath}/mysql5
842            file link -symbolic ${workpath}/mysql5/lib ${prefix}/lib/mysql5
843            file link -symbolic ${workpath}/mysql5/include ${prefix}/include/mysql5
844        }
845       
846        configure.args-append   --with-mysql=${workpath}/mysql5 \
847                                --with-mysqli=${prefix}/bin/mysql_config5 \
848                                --with-pdo-mysql=${prefix}/bin/mysql_config5 \
849                                --with-mysql-sock=${prefix}/var/run/mysql5/mysqld.sock
850    }
851   
852    variant mysql51 conflicts mysqlnd mysql4 mysql5 mysql55 mysql56 mariadb percona description {Use MySQL 5.1 libraries} {
853        depends_lib-append      port:mysql51
854       
855        post-extract {
856            file mkdir ${workpath}/mysql51
857            file link -symbolic ${workpath}/mysql51/lib ${prefix}/lib/mysql51
858            file link -symbolic ${workpath}/mysql51/include ${prefix}/include/mysql51
859        }
860       
861        configure.args-append   --with-mysql=${workpath}/mysql51 \
862                                --with-mysqli=${prefix}/lib/mysql51/bin/mysql_config \
863                                --with-pdo-mysql=${prefix}/lib/mysql51/bin/mysql_config \
864                                --with-mysql-sock=${prefix}/var/run/mysql51/mysqld.sock
865    }
866   
867    variant mysql55 conflicts mysqlnd mysql4 mysql5 mysql51 mysql56 mariadb percona description {Use MySQL 5.5 libraries} {
868        depends_lib-append      port:mysql55
869       
870        post-extract {
871            file mkdir ${workpath}/mysql55
872            file link -symbolic ${workpath}/mysql55/lib ${prefix}/lib/mysql55
873            file link -symbolic ${workpath}/mysql55/include ${prefix}/include/mysql55
874        }
875       
876        configure.args-append   --with-mysql=${workpath}/mysql55 \
877                                --with-mysqli=${prefix}/lib/mysql55/bin/mysql_config \
878                                --with-pdo-mysql=${prefix}/lib/mysql55/bin/mysql_config \
879                                --with-mysql-sock=${prefix}/var/run/mysql55/mysqld.sock
880    }
881   
882    variant mysql56 conflicts mysqlnd mysql4 mysql5 mysql51 mysql55 mariadb percona description {Use MySQL 5.6 libraries} {
883        depends_lib-append      port:mysql56
884       
885        post-extract {
886            file mkdir ${workpath}/mysql56
887            file link -symbolic ${workpath}/mysql56/lib ${prefix}/lib/mysql56
888            file link -symbolic ${workpath}/mysql56/include ${prefix}/include/mysql56
889        }
890       
891        configure.args-append   --with-mysql=${workpath}/mysql56 \
892                                --with-mysqli=${prefix}/lib/mysql56/bin/mysql_config \
893                                --with-pdo-mysql=${prefix}/lib/mysql56/bin/mysql_config \
894                                --with-mysql-sock=${prefix}/var/run/mysql56/mysqld.sock
895    }
896   
897    variant mariadb conflicts mysqlnd mysql4 mysql5 mysql51 mysql55 mysql56 percona description {Use MariaDB libraries} {
898        depends_lib-append      port:mariadb
899       
900        post-extract {
901            file mkdir ${workpath}/mariadb
902            file link -symbolic ${workpath}/mariadb/lib ${prefix}/lib/mariadb
903            file link -symbolic ${workpath}/mariadb/include ${prefix}/include/mariadb
904        }
905       
906        configure.args-append   --with-mysql=${workpath}/mariadb \
907                                --with-mysqli=${prefix}/lib/mariadb/bin/mysql_config \
908                                --with-pdo-mysql=${prefix}/lib/mariadb/bin/mysql_config \
909                                --with-mysql-sock=${prefix}/var/run/mariadb/mysqld.sock
910    }
911   
912    variant percona conflicts mysqlnd mysql4 mysql5 mysql51 mysql55 mysql56 mariadb description {Use Percona libraries} {
913        depends_lib-append      port:percona
914       
915        post-extract {
916            file mkdir ${workpath}/percona
917            file link -symbolic ${workpath}/percona/lib ${prefix}/lib/percona
918            file link -symbolic ${workpath}/percona/include ${prefix}/include/percona
919        }
920       
921        configure.args-append   --with-mysql=${workpath}/percona \
922                                --with-mysqli=${prefix}/lib/percona/bin/mysql_config \
923                                --with-pdo-mysql=${prefix}/lib/percona/bin/mysql_config \
924                                --with-mysql-sock=${prefix}/var/run/percona/mysqld.sock
925    }
926   
927    if {![variant_isset mysql4] && ![variant_isset mysql5] && ![variant_isset mysql51] && ![variant_isset mysql55] && ![variant_isset mysql56] && ![variant_isset mariadb] && ![variant_isset percona]} {
928        if {[vercmp ${branch} 5.3] >= 0} {
929            default_variants +mysqlnd
930        } else {
931            default_variants +mariadb
932        }
933    }
934}
935
936subport ${php}-odbc {
937    php.extensions          odbc pdo_odbc
938   
939    categories-append       databases
940   
941    description             a PHP interface for accessing databases via Open \
942                            DataBase Connectivity (ODBC)
943   
944    long_description        ${description}
945   
946    variant iodbc conflicts unixodbc description {Use iODBC} {
947        depends_lib-append      port:libiodbc
948       
949        patchfiles-append       patch-${php}-iODBC.diff
950       
951        configure.args-append   --with-iODBC=${prefix} \
952                                --with-pdo-odbc=iODBC,${prefix}
953    }
954   
955    variant unixodbc conflicts iodbc description {Use unixODBC} {
956        depends_lib-append      port:unixODBC
957       
958        patchfiles-append       patch-${php}-unixODBC.diff
959       
960        configure.args-append   --with-unixODBC=${prefix} \
961                                --with-pdo-odbc=unixODBC,${prefix}
962    }
963   
964    if {![variant_isset iodbc] && ![variant_isset unixodbc]} {
965        default_variants +unixodbc
966    }
967}
968
969if {[vercmp ${branch} 5.5] >= 0} {
970    subport ${php}-opcache {
971        php.extensions.zend opcache
972       
973        description         OPcache improves PHP performance by storing precompiled \
974                            script bytecode in shared memory, thereby removing the \
975                            need for PHP to load and parse scripts on each request.
976       
977        long_description    ${description}
978       
979        configure.args-append --enable-opcache
980       
981        post-destroot {
982            set docdir ${destroot}${prefix}/share/doc/${subport}
983            xinstall -d ${docdir}
984            xinstall -W ${destroot.dir} -m 644 README ${docdir}
985        }
986    }
987}
988
989subport ${php}-openssl {
990    categories-append       devel security
991   
992    description             a PHP interface to OpenSSL signature-generation \
993                            and -verification and data-encryption and \
994                            -decryption functions
995   
996    long_description        ${description}
997   
998    depends_lib-append      port:kerberos5 \
999                            port:libcomerr \
1000                            path:lib/libssl.dylib:openssl
1001   
1002    post-extract {
1003        move ${php.build_dirs}/config0.m4 ${php.build_dirs}/config.m4
1004    }
1005   
1006    configure.args-append   --with-kerberos=${prefix} \
1007                            --with-openssl=${prefix}
1008}
1009
1010subport ${php}-oracle {
1011    php.extensions          oci8 pdo_oci
1012   
1013    categories-append       databases
1014   
1015    description             a PHP interface to Oracle, including the oci8 and \
1016                            pdo_oci extensions
1017   
1018    long_description        ${description}
1019   
1020    depends_lib-append      port:oracle-instantclient
1021   
1022    if {[vercmp ${branch} 5.2] <= 0} {
1023        patchfiles-append   patch-${php}-ext-pdo_oci-config.m4.diff
1024    }
1025   
1026    set lib_dir             ${prefix}/lib/oracle
1027    pre-configure {
1028        regexp {\.dylib\.(.+)$} [glob -directory ${lib_dir} libclntsh.dylib.*] -> library_version
1029        configure.args-append \
1030                            --with-oci8=instantclient,${lib_dir} \
1031                            --with-pdo-oci=instantclient,${lib_dir},${library_version}
1032    }
1033}
1034
1035subport ${php}-pcntl {
1036    categories-append       sysutils
1037   
1038    description             a PHP interface to Unix-style process creation, \
1039                            program execution, signal handling and process \
1040                            termination functions
1041   
1042    long_description        ${description}
1043   
1044    notes "
1045${subport} should not be enabled within a web server environment.\
1046Unexpected results may occur if any process control functions are used within\
1047a web server environment.
1048"
1049}
1050
1051subport ${php}-posix {
1052    categories-append       sysutils
1053   
1054    description             a PHP interface to additional POSIX functions
1055   
1056    long_description        a PHP interface to those functions defined in the \
1057                            IEEE 1003.1 (POSIX.1) standards document which are \
1058                            not accessible through other means
1059}
1060
1061subport ${php}-postgresql {
1062    php.extensions          pgsql pdo_pgsql
1063   
1064    categories-append       databases
1065   
1066    homepage                http://www.php.net/pgsql
1067   
1068    description             a PHP interface to PostgreSQL, including \
1069                            the pgsql and pdo_pgsql extensions
1070   
1071    long_description        ${description}
1072   
1073    variant postgresql82 conflicts postgresql83 postgresql84 postgresql90 postgresql91 postgresql92 postgresql93 postgresql94 description {Use PostgreSQL 8.2 libraries} {
1074        depends_lib-append      port:postgresql82
1075       
1076        configure.args-append   --with-pgsql=${prefix}/lib/postgresql82/bin \
1077                                --with-pdo-pgsql=${prefix}/lib/postgresql82/bin
1078    }
1079   
1080    variant postgresql83 conflicts postgresql82 postgresql84 postgresql90 postgresql91 postgresql92 postgresql93 postgresql94 description {Use PostgreSQL 8.3 libraries} {
1081        depends_lib-append      port:postgresql83
1082       
1083        configure.args-append   --with-pgsql=${prefix}/lib/postgresql83/bin \
1084                                --with-pdo-pgsql=${prefix}/lib/postgresql83/bin
1085    }
1086   
1087    variant postgresql84 conflicts postgresql82 postgresql83 postgresql90 postgresql91 postgresql92 postgresql93 postgresql94 description {Use PostgreSQL 8.4 libraries} {
1088        depends_lib-append      port:postgresql84
1089       
1090        configure.args-append   --with-pgsql=${prefix}/lib/postgresql84/bin \
1091                                --with-pdo-pgsql=${prefix}/lib/postgresql84/bin
1092    }
1093   
1094    variant postgresql90 conflicts postgresql82 postgresql83 postgresql84 postgresql91 postgresql92 postgresql93 postgresql94 description {Use PostgreSQL 9.0 libraries} {
1095        depends_lib-append      port:postgresql90
1096       
1097        configure.args-append   --with-pgsql=${prefix}/lib/postgresql90/bin \
1098                                --with-pdo-pgsql=${prefix}/lib/postgresql90/bin
1099    }
1100   
1101    variant postgresql91 conflicts postgresql82 postgresql83 postgresql84 postgresql90 postgresql92 postgresql93 postgresql94 description {Use PostgreSQL 9.1 libraries} {
1102        depends_lib-append      port:postgresql91
1103       
1104        configure.args-append   --with-pgsql=${prefix}/lib/postgresql91/bin \
1105                                --with-pdo-pgsql=${prefix}/lib/postgresql91/bin
1106    }
1107   
1108    variant postgresql92 conflicts postgresql82 postgresql83 postgresql84 postgresql90 postgresql91 postgresql93 postgresql94 description {Use PostgreSQL 9.2 libraries} {
1109        depends_lib-append      port:postgresql92
1110       
1111        configure.args-append   --with-pgsql=${prefix}/lib/postgresql92/bin \
1112                                --with-pdo-pgsql=${prefix}/lib/postgresql92/bin
1113    }
1114   
1115    variant postgresql93 conflicts postgresql82 postgresql83 postgresql84 postgresql90 postgresql91 postgresql92 postgresql94 description {Use PostgreSQL 9.3 libraries} {
1116        depends_lib-append      port:postgresql93
1117       
1118        configure.args-append   --with-pgsql=${prefix}/lib/postgresql93/bin \
1119                                --with-pdo-pgsql=${prefix}/lib/postgresql93/bin
1120    }
1121   
1122    variant postgresql94 conflicts postgresql82 postgresql83 postgresql84 postgresql90 postgresql91 postgresql92 postgresql93 description {Use PostgreSQL 9.4 libraries} {
1123        depends_lib-append      port:postgresql94
1124       
1125        configure.args-append   --with-pgsql=${prefix}/lib/postgresql94/bin \
1126                                --with-pdo-pgsql=${prefix}/lib/postgresql94/bin
1127    }
1128   
1129    if {![variant_isset postgresql82] && ![variant_isset postgresql83] && ![variant_isset postgresql84] && ![variant_isset postgresql90] && ![variant_isset postgresql91] && ![variant_isset postgresql92] && ![variant_isset postgresql93] && ![variant_isset postgresql94]} {
1130        default_variants +postgresql94
1131    }
1132}
1133
1134subport ${php}-pspell {
1135    categories-append       textproc
1136   
1137    description             a PHP interface to the aspell library, which lets you \
1138                            check spelling and offer spelling suggestions
1139   
1140    long_description        ${description}
1141   
1142    depends_lib-append      port:aspell
1143   
1144    configure.args-append   --with-pspell=${prefix}
1145}
1146
1147subport ${php}-snmp {
1148    categories-append       sysutils
1149   
1150    description             a PHP interface to the Simple Network Management \
1151                            Protocol (SNMP)
1152   
1153    long_description        ${description}
1154   
1155    depends_lib-append      port:net-snmp
1156   
1157    configure.args-append   --with-snmp=${prefix}
1158}
1159
1160subport ${php}-soap {
1161    categories-append       net
1162   
1163    description             a PHP extension for writing SOAP clients and servers
1164   
1165    long_description        ${description}
1166   
1167    depends_lib-append      port:libxml2
1168   
1169    configure.args-append   --with-libxml-dir=${prefix}
1170}
1171
1172subport ${php}-sockets {
1173    categories-append       net
1174   
1175    description             a PHP interface to BSD socket communication \
1176                            functions
1177   
1178    long_description        ${description}
1179}
1180
1181if {[vercmp ${branch} 5.3] >= 0} {
1182subport ${php}-sqlite {
1183    php.extensions          sqlite sqlite3 pdo_sqlite
1184   
1185    categories-append       databases
1186   
1187    description             a PHP interface to SQLite, including the sqlite, sqlite3 \
1188                            and pdo_sqlite extensions
1189   
1190    if {[vercmp ${branch} 5.4] >= 0} {
1191        php.extensions-delete sqlite
1192        description-delete "sqlite,"
1193    }
1194   
1195    long_description        ${description}
1196   
1197    depends_lib-append      port:sqlite3
1198   
1199    post-extract {
1200        move ${worksrcpath}/ext/sqlite3/config0.m4 ${worksrcpath}/ext/sqlite3/config.m4
1201    }
1202   
1203    configure.args-append   --with-sqlite3=${prefix} \
1204                            --with-pdo-sqlite=${prefix} \
1205                            --enable-sqlite-utf8
1206}
1207}
1208
1209subport ${php}-tidy {
1210    if {[vercmp ${branch} 5.3] <= 0} {
1211        revision            1
1212    }
1213   
1214    categories-append       www
1215   
1216    description             a PHP interface to tidy, the HTML cleaning and \
1217                            repair utility
1218   
1219    long_description        ${description}
1220   
1221    depends_lib-append      port:tidy
1222   
1223    configure.args-append   --with-tidy=${prefix}
1224}
1225
1226subport ${php}-wddx {
1227    categories-append       textproc
1228   
1229    description             a PHP interface to Web Distributed Data Exchange
1230   
1231    long_description        ${description}
1232   
1233    depends_build-append    port:expat \
1234                            port:libxml2
1235   
1236    configure.args-append   --with-libexpat-dir=${prefix} \
1237                            --with-libxml-dir=${prefix}
1238}
1239
1240subport ${php}-xmlrpc {
1241    categories-append       textproc
1242   
1243    description             a PHP extension for writing XML-RPC clients and servers
1244   
1245    long_description        ${description}
1246   
1247    depends_build-append    port:libiconv \
1248                            port:libxml2
1249   
1250    depends_lib-append      port:expat
1251   
1252    configure.args-append   --with-iconv-dir=${prefix} \
1253                            --with-libexpat-dir=${prefix} \
1254                            --with-libxml-dir=${prefix}
1255   
1256    pre-configure {
1257        configure.cppflags-append [exec ${prefix}/bin/xml2-config --cflags]
1258    }
1259}
1260
1261subport ${php}-xsl {
1262    categories-append       textproc
1263   
1264    description             a PHP interface to libxslt, which implements the XSL \
1265                            standard and lets you perform XSL transformations
1266   
1267    long_description        ${description}
1268   
1269    depends_lib-append      port:libxslt
1270   
1271    configure.args-append   --with-xsl=${prefix}
1272   
1273    configure.cppflags-append   -I${prefix}/include/${php}/php/ext/dom
1274}
1275
1276subport ${php}-zip {
1277    categories-append       archivers
1278   
1279    description             PHP zip functions
1280   
1281    long_description        ${description}
1282   
1283    depends_lib-append      port:zlib
1284   
1285    configure.args-append   --with-zlib-dir=${prefix}
1286}
1287
1288}
1289
1290# These variables are not only required by the subsequent code but also by
1291# preceding code in phase blocks.
1292set branch              ${subport_branch}
1293set major               [lindex [split ${branch} .] 0]
1294set php                 php[php.suffix_from_branch ${branch}]
1295
1296if {${name} eq ${subport}} {
1297    # Set up the stub port.
1298    version             ${branch}
1299    supported_archs     noarch
1300    distfiles
1301    depends_run         port:${php}
1302    use_configure       no
1303    build {}
1304    destroot {
1305        xinstall -d -m 755 ${destroot}${prefix}/share/doc/${subport}
1306        system "echo \"${name} is a stub port\" > ${destroot}${prefix}/share/doc/${subport}/README"
1307    }
1308} else {
1309    # Set an explicit distname so the default from the php portgroup doesn't get used.
1310    distname            ${name}-${version}
1311}
1312
1313proc get_default_php_extensions {} {
1314    global php.extensions.zend php.rootname
1315    if {0 < [llength ${php.extensions.zend}]} {
1316        return
1317    }
1318    return ${php.rootname}
1319}
1320
1321# Set up the php portgroup, for extension subports.
1322if {[is_extension_subport]} {
1323    default php.extensions {[get_default_php_extensions]}
1324    default homepage    http://www.php.net/${php.rootname}
1325   
1326    php.build_dirs
1327    set pdo no
1328    foreach extension [concat ${php.extensions} ${php.extensions.zend}] {
1329        if {[regexp {^pdo_} ${extension}]} {
1330            # The PDO extensions need the PDO headers.
1331            set pdo yes
1332            post-extract {
1333                file mkdir ${worksrcpath}/ext/${extension}/ext
1334                ln -s ${worksrcpath}/ext/pdo ${worksrcpath}/ext/${extension}/ext
1335            }
1336        }
1337       
1338        # Speed up extraction by extracting only the modules we're going to be building.
1339        extract.post_args-append ${worksrcdir}/ext/${extension}
1340       
1341        # Run phpize, configure, build and destroot in each extension's directory.
1342        php.build_dirs-append ${worksrcpath}/ext/${extension}
1343    }
1344   
1345    if {${pdo}} {
1346        # The PDO extensions need the PDO headers.
1347        extract.post_args-append ${worksrcdir}/ext/pdo
1348    }
1349   
1350    pre-configure {
1351        set php_version [exec ${php.config} --version 2>/dev/null]
1352        if {${version} ne ${php_version}} {
1353            ui_error "${subport} @${version} requires ${php} @${version} but you have ${php} @${php_version}."
1354            return -code error "incompatible ${php} installation"
1355        }
1356    }
1357   
1358    destroot.target     install-modules install-headers
1359   
1360    php.add_port_code
1361}
Note: See TracBrowser for help on using the repository browser.