Magellan Linux

Annotation of /smage/trunk/extras/php/php-5.6.17-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 8400 - (hide annotations) (download)
Fri Jan 22 13:49:53 2016 UTC (8 years, 3 months ago) by niro
File size: 18833 byte(s)
auto added: ver bump to 5.6.17-r1
1 niro 8398 # $Id$
2    
3     PNAME="php"
4     PVER="5.6.17"
5     PBUILD="r1"
6    
7     SPLIT_PACKAGES="php
8     php-cgi
9     php-apache
10     php-embedded
11     php-pear
12     php-bcmath
13     php-curl
14     php-dba
15     php-gd
16     php-gmp
17     php-intl
18     php-mbstring
19     php-pdo
20     php-mysql
21     php-process
22     php-soap
23     php-sqlite
24     php-xml
25     php-xmlrpc"
26     # php-fpm
27     # php-enchant
28     # php-ldap
29     # php-odbc
30     # php-pspell
31     # php-tidy
32    
33     # splits with more then one module:
34     # php-odbc = odbc, pdo_odbc
35     # php-mysql = mysql, mysqli, pdo_mysql
36     # php-xml = xsl, wddx, dom, xmlreader, xmlwriter
37     # php-process = sysvmsg, sysvsem, sysvshm, posix
38     # php-sqlite = sqlite, sqlite3, pdo_sqlite
39     #
40     # todo: mssql -> requires freetds
41     # mcrypt -> requires libmcrypt
42    
43     PCAT="dev-lang"
44     HOMEPAGE="http://php.net/"
45    
46     DEPEND_COMMON=">= sys-libs/ncurses-6.0
47     >= sys-libs/zlib-1.2
48     >= app-arch/bzip2-1
49     >= dev-libs/openssl-1.0.2"
50     DEPEND_COMMON_DEV=">= sys-libs/ncurses-dev-6.0
51     >= sys-libs/zlib-dev-1.2
52 niro 8400 >= app-arch/bzip2-dev-1
53 niro 8398 >= dev-libs/openssl-dev-1.0.2"
54     DEPEND_STDCPP=">= sys-libs/libstdc++-5.3"
55     DEPEND_STDCPP_DEV=">= sys-libs/libstdc++-dev-5.3"
56     DEPEND_APACHE=">= net-www/apache2-2.4"
57     #DEPEND_ASPELL=">= app-text/aspell-0.60"
58     DEPEND_BDB=">= dev-db/db-6.1"
59     DEPEND_BDB_DEV=">= dev-db/db-dev-6.1"
60     DEPEND_CURL=">= net-misc/curl-7.43"
61     DEPEND_CURL_DEV=">= net-misc/curl-dev-7.43"
62     #DEPEND_ENCHANT=">= app-text/enchant-1.6"
63     DEPEND_GD=">= media-libs/libjpeg-8d
64     >= media-libs/libpng-1.5
65     >= x11-libs/libXpm-4
66     >= media-libs/freetype-2.6
67     >= media-libs/gd-2.1
68     >= media-libs/t1lib-5.1"
69     DEPEND_GD_DEV=">= media-libs/libjpeg-dev-8d
70     >= media-libs/libpng-dev-1.5
71     >= x11-libs/libXpm-dev-4
72     >= media-libs/freetype-dev-2.6
73     >= media-libs/gd-dev-2.1
74     >= media-libs/t1lib-dev-5.1"
75     DEPEND_GMP=">= dev-libs/gmp-6"
76     DEPEND_GMP_DEV=">= dev-libs/gmp-dev-6"
77     DEPEND_INTL=">= dev-libs/icu-56.1
78     >= sys-libs/libgcc-5.3"
79     DEPEND_INTL_DEV=">= dev-libs/icu-dev-56.1
80     >= sys-libs/libgcc-dev-5.3"
81     #DEPEND_LDAP=">= net-nds/libldap-2.4"
82     DEPEND_MYSQL=">= dev-db/mysql-5.5"
83     #DEPEND_ODBC=">= dev-db/unixodbc-2.3"
84     DEPEND_PCRE=">= dev-libs/libpcre-8.37"
85     DEPEND_PCRE_DEV=">= dev-libs/libpcre-dev-8.37"
86     #DEPEMD_SASL=">= dev-libs/cyrus-sasl-2.1.23"
87     DEPEND_SQLITE=">= dev-db/sqlite-3.9"
88     DEPEND_SQLITE_DEV=">= dev-db/sqlite-dev-3.9"
89     #DEPEND_TIDY=">= app-text/htmltidy-1.46"
90     DEPEND_XML=">= dev-libs/libxml2-2.9"
91     DEPEND_XML_DEV=">= dev-libs/libxml2-dev-2.9"
92     DEPEND_XSLT=">= dev-libs/libxslt-1.1.26"
93     DEPEND_XSLT_DEV=">= dev-libs/libxslt-dev-1.1.26"
94     DEPEND_SYSTEMD=">= sys-apps/systemd-227"
95     DEPEND_SYSTEMD_DEV=">= sys-apps/systemd-dev-227"
96    
97     ALX_DEV_DEPEND="${DEPEND_COMMON_DEV}
98     ${DEPEND_STDCPP_DEV}
99     ${DEPEND_BDB_DEV}
100     ${DEPEND_CURL_DEV}
101     ${DEPEND_GD_DEV}
102     ${DEPEND_GMP_DEV}
103     ${DEPEND_INTL_DEV}
104     ${DEPEND_PCRE_DEV}
105     ${DEPEND_SQLITE_DEV}
106     ${DEPEND_XML_DEV}
107     ${DEPEND_XSLT_DEV}
108     ${DEPEND_SYSTEMD_DEV}"
109    
110     # ToDO: mcrypt, imap, mhash, maintainer-zts, intl
111     SDEPEND="${ALX_DEV_DEPEND}
112     ${DEPEND_COMMON}
113     ${DEPEND_STDCPP}
114     ${DEPEND_APACHE}
115     ${DEPEND_BDB}
116     ${DEPEND_CURL}
117     ${DEPEND_GD}
118     ${DEPEND_GMP}
119     ${DEPEND_INTL}
120     ${DEPEND_MYSQL}
121     ${DEPEND_PCRE}
122     ${DEPEND_SQLITE}
123     ${DEPEND_XML}
124     ${DEPEND_XSLT}
125     ${DEPEND_SYSTEMD}
126     >= sys-dev/m4-1.4
127     >= sys-dev/libtool-1.5
128     >= sys-dev/gettext-0.17
129     >= virtual/sed
130     >= sys-dev/bison-2.5"
131     # ${DEPEND_ASPELL}
132     # ${DEPEND_ENCHANT}
133     # ${DEPEND_LDAP}
134     # ${DEPEND_ODBC}
135     # ${DEPEND_SASL}
136     # ${DEPEND_TIDY}
137    
138     SRCFILE="${PNAME/5/}-${PVER}.tar.bz2"
139     SRCDIR="${BUILDDIR}/${PNAME/5/}-${PVER}"
140    
141     sminclude mtools php systemd
142 niro 8399 msetfeature "!check" # no check target
143 niro 8398
144     MOD_REV=1.2
145    
146     SRC_URI=(
147     http://de2.php.net/distributions/${SRCFILE}
148     http://us2.php.net/distributions/${SRCFILE}
149     mirror://${PNAME}/${SRCFILE}
150     mirror://${PNAME}/${PNAME}-5.4.19-db6.patch
151     mirror://${PNAME}/${PNAME}-5.2.4-multilib.patch
152     mirror://${PNAME}/${PNAME}-5.2.3-httpd-config.patch
153     mirror://${PNAME}/php5_module.conf-${MOD_REV}
154     mirror://${PNAME}/php-fpm.conf
155     mirror://${PNAME}/php-fpm-www.conf
156     mirror://${PNAME}/php-fpm.service
157     mirror://${PNAME}/php-fpm.logrotate
158     mirror://${PNAME}/php-fpm.confd
159     mirror://${PNAME}/php-fpm.tmpfilesd
160     )
161    
162 niro 8399 # 5.6 stable series
163     UP2TAG="5.6"
164 niro 8398 UP2DATE="updatecmd ${HOMEPAGE} | grep 'Current.*${UP2TAG}.*Stable' | sed 's/.*\:\ \(.*\)/\1/'"
165    
166     split_info_php()
167     {
168     DESCRIPTION="PHP Hypertext Preprocessor, a scripting language especially suited for web development."
169     DEPEND="${DEPEND_COMMON}
170     ${DEPEND_XML}
171     ${DEPEND_PCRE}
172     ${DEPEND_SYSTEMD}"
173     }
174    
175     split_info_php-cgi()
176     {
177     DESCRIPTION="GI and FCGI SAPI for PHP."
178     DEPEND="== dev-lang/php-${PVER}
179     ${DEPEND_XML}
180     ${DEPEND_PCRE}"
181     PCAT="dev-php"
182     }
183    
184     split_info_php-apache()
185     {
186     DESCRIPTION="Apache SAPI for PHP."
187     DEPEND="== dev-lang/php-${PVER}
188     ${DEPEND_XML}
189     ${DEPEND_PCRE}
190     ${DEPEND_APACHE}
191     ${DEPEND_STDCPP}"
192     PCAT="dev-php"
193     }
194    
195     split_info_php-embedded()
196     {
197     DESCRIPTION="PHP library for embedding in applications."
198     DEPEND="== dev-lang/php-${PVER}
199     ${DEPEND_XML}
200     ${DEPEND_PCRE}
201     ${DEPEND_STDCPP}"
202     PCAT="dev-php"
203     }
204    
205     split_info_php-pear()
206     {
207     DESCRIPTION="PHP Extension and Application Repository."
208     DEPEND="== dev-lang/php-${PVER}"
209     PCAT="dev-php"
210     }
211    
212     split_info_php-fpm()
213     {
214     DESCRIPTION="PHP FastCGI Process Manager."
215     DEPEND="== dev-lang/php-${PVER}
216     ${DEPEND_SYSTEMD}"
217     PCAT="dev-php"
218     }
219    
220     split_info_php-bcmath()
221     {
222     DESCRIPTION="A module for PHP applications for using the bcmath library."
223     DEPEND="== dev-lang/php-${PVER}"
224     PCAT="dev-php"
225     }
226    
227     split_info_php-curl()
228     {
229     DESCRIPTION="A module for PHP applications that use curl."
230     DEPEND="== dev-lang/php-${PVER}
231     ${DEPEND_CURL}"
232     PCAT="dev-php"
233     }
234    
235     split_info_php-dba()
236     {
237     DESCRIPTION="A database abstraction layer module for PHP applications."
238     DEPEND="== dev-lang/php-${PVER}"
239     PCAT="dev-php"
240     }
241    
242     #split_info_php-enchant()
243     #{
244     # DESCRIPTION="Human Language and Character Encoding Support."
245     # DEPEND="== dev-lang/php-${PVER}
246     # ${DEPEND_ENCHANT}"
247     # PCAT="dev-php"
248     #}
249    
250     split_info_php-gd()
251     {
252     DESCRIPTION="A module for PHP applications for using the gd graphics library."
253     DEPEND="== dev-lang/php-${PVER}
254     ${DEPEND_GD}"
255     PCAT="dev-php"
256     }
257    
258     split_info_php-gmp()
259     {
260     DESCRIPTION="A module for PHP applications for using the gmp library."
261     DEPEND="== dev-lang/php-${PVER}
262     ${DEPEND_GMP}"
263     PCAT="dev-php"
264     }
265    
266     split_info_php-intl()
267     {
268     DESCRIPTION="Internationalization extension for PHP applications."
269     DEPEND="== dev-lang/php-${PVER}
270     ${DEPEND_INTL}"
271     PCAT="dev-php"
272     }
273    
274     #split_info_php-ldap()
275     #{
276     # DESCRIPTION="A module for PHP applications that use LDAP."
277     # DEPEND="== dev-lang/php-${PVER}
278     # ${DEPEND_SASL}
279     # ${DEPEND_LDAP}"
280     # PCAT="dev-php"
281     #}
282    
283     split_info_php-mbstring()
284     {
285     DESCRIPTION="A module for PHP applications which need multi-byte string handling."
286     DEPEND="== dev-lang/php-${PVER}"
287     PCAT="dev-php"
288     }
289    
290     split_info_php-mysql()
291     {
292     DESCRIPTION="Modules for PHP applications that use MySQL databases."
293     DEPEND="== dev-lang/php-${PVER}
294     == dev-php/php-pdo-${PVER}
295     ${DEPEND_MYSQL}"
296     PCAT="dev-php"
297     }
298    
299     #split_info_php-odbc()
300     #{
301     # DESCRIPTION="Modules for PHP applications that use ODBC databases."
302     # DEPEND="== dev-lang/php-${PVER}
303     # == dev-php/php-pdo-${PVER}
304     # ${DEPEND_ODBC}"
305     # PCAT="dev-php"
306     #}
307    
308     split_info_php-pdo()
309     {
310     DESCRIPTION="A database access abstraction module for PHP applications."
311     DEPEND="== dev-lang/php-${PVER}"
312     PCAT="dev-php"
313     }
314    
315     split_info_php-process()
316     {
317     DESCRIPTION="Modules for PHP script using system process interfaces."
318     DEPEND="== dev-lang/php-${PVER}"
319     PCAT="dev-php"
320     }
321    
322     #split_info_php-pspell()
323     #{
324     # DESCRIPTION="A module for PHP applications for using pspell interfaces."
325     # DEPEND="== dev-lang/php-${PVER}
326     # ${DEPEND_ASPELL}"
327     # PCAT="dev-php"
328     #}
329    
330     split_info_php-soap()
331     {
332     DESCRIPTION="A module for PHP applications that use the SOAP protocol."
333     DEPEND="== dev-lang/php-${PVER}
334     ${DEPEND_XML}"
335     PCAT="dev-php"
336     }
337    
338     split_info_php-sqlite()
339     {
340     DESCRIPTION="Modules for PHP applications that use SQLite databases."
341     DEPEND="== dev-lang/php-${PVER}
342     == dev-php/php-pdo-${PVER}
343     ${DEPEND_SQLITE}"
344     PCAT="dev-php"
345     }
346    
347     #split_info_php-tidy()
348     #{
349     # DESCRIPTION="Standard PHP module provides tidy library support."
350     # DEPEND="== dev-lang/php-${PVER}
351     # ${DEPEND_TIDY}"
352     # PCAT="dev-php"
353     #}
354    
355     split_info_php-xml()
356     {
357     DESCRIPTION="Modules for PHP applications which use XML."
358     DEPEND="== dev-lang/php-${PVER}
359     ${DEPEND_XML}
360     ${DEPEND_XSLT}"
361     PCAT="dev-php"
362     }
363    
364     split_info_php-xmlrpc()
365     {
366     DESCRIPTION="A module for PHP applications which use the XML-RPC protocol."
367     DEPEND="== dev-lang/php-${PVER}
368     ${DEPEND_XML}"
369     PCAT="dev-php"
370     }
371    
372     # install-helper function
373     install_php_extensions()
374     {
375     local extensions="$@"
376     [[ -z ${extensions} ]] && die "no extensions given"
377    
378     # set default PHP_BUILD_DIR, env can override this
379     : ${PHP_BUILD_DIR="${BUILDDIR}/build-php"}
380    
381     cd ${PHP_BUILD_DIR}
382    
383     # needed directories
384     minstalldir ${PHP_CONFIG_SCAN_DIR} || die
385     minstalldir ${PHP_EXTENSIONS_DIR} || die
386    
387     local MCONFIG
388     local ext
389     for ext in ${extensions}
390     do
391     # install extensions and the config ini
392     minstallexec modules/${ext}.so ${PHP_EXTENSIONS_DIR} || die "mod ${ext}"
393     MCONFIG="${PHP_CONFIG_SCAN_DIR}/${ext}.ini"
394     mclearconfig || die "ini ${ext}"
395     maddconfig "extension=${ext}.so" || die "ini ${ext}"
396     done
397     }
398    
399     src_prepare()
400     {
401     munpack ${SRCFILE} || die
402     cd ${SRCDIR}
403    
404     # version branding
405     sed -i "s:^\(EXTRA_VERSION=\).*:\1-magellan-${PBUILD}:" configure.in || die
406    
407     # support >= db-6.0
408     # see for more issues: https://bugs.php.net/bug.php?id=65426
409     mpatch ${PNAME}-5.4.19-db6.patch || die
410    
411     # fixes multilib search pathes
412     mpatch ${PNAME}-5.2.4-multilib.patch || die
413    
414     # do not touch the system httpd.conf
415     mpatch ${PNAME}-5.2.3-httpd-config.patch || die
416    
417     # fully regenerate aclocal too
418     if [ -f aclocal.m4 ]
419     then
420     rm aclocal.m4 || die
421     fi
422    
423     # rebuild configure
424     mautoreconf || die
425    
426     # force use of system libtool
427     mlibtoolize || die
428     }
429    
430     src_compile()
431     {
432     local php_base_config
433     local php_extensions
434     local php_disable_shared_extensions
435     local current_run
436    
437     # --with-libdir needed, doesn't honor --libdir
438     php_base_config="--libdir=/usr/lib \
439     --with-libdir=$(mlibdir) \
440     --with-config-file-path=${PHP_CONFIG_DIR} \
441     --with-config-file-scan-dir=${PHP_CONFIG_SCAN_DIR} \
442     --enable-inline-optimization \
443     --disable-rpath \
444     --disable-debug \
445     --disable-static \
446     --enable-shared \
447     --without-pear"
448    
449     php_extensions="--with-zlib \
450     --with-bz2=shared \
451     --enable-bcmath=shared \
452     --enable-calendar=shared \
453     --enable-exif=shared \
454     --enable-ftp=shared \
455     --with-gettext=shared \
456     --enable-mbstring=shared \
457     --enable-mbregex \
458     --with-ncurses=shared \
459     --with-openssl=shared \
460     --with-jpeg-dir=/usr \
461     --with-png-dir=/usr \
462     --with-xpm-dir=/usr \
463     --with-gd=shared \
464     --enable-gd-native-ttf \
465     --with-freetype-dir=shared,/usr \
466     --with-ttf \
467     --with-t1lib=/usr \
468     --with-pcre-regex \
469     --with-gmp=shared \
470     --with-curl=shared \
471     --with-curlwrappers \
472     --enable-dba=shared \
473     --with-db4=shared \
474     --with-mysql=shared \
475     --with-mysqli=shared \
476     --without-unixODBC \
477     --with-sqlite=shared \
478     --with-sqlite3=shared \
479     --enable-pdo=shared \
480     --without-pdo-odbc \
481     --with-pdo-mysql=shared,/usr \
482     --with-pdo-sqlite=shared,/usr \
483     --enable-dbase=shared \
484     --enable-dom=shared \
485     --with-xmlrpc=shared \
486     --enable-xmlreader=shared \
487     --enable-xmlwriter=shared \
488     --with-xsl=shared,/usr \
489     --enable-wddx=shared \
490     --enable-soap=shared \
491     --enable-json=shared \
492     --enable-zip=shared \
493     --enable-phar=shared \
494     --enable-posix=shared \
495     --enable-fileinfo=shared \
496     --enable-intl=shared \
497     --enable-sockets=shared \
498     --enable-sysvsem=shared \
499     --enable-sysvshm=shared \
500     --enable-sysvmsg=shared \
501     --without-tidy \
502     --without-ldap \
503     --without-ldap-sasl \
504     --without-enchant \
505     --without-pspell"
506     # ToDo:
507     # --with-mcrypt=shared \
508     # --with-mhash=shared \
509     # --with-imap=shared \
510     # --with-imap-ssl \
511     # --enable-maintainer-zts <- threaded apache2 support
512    
513     # required for fpm
514     php_disable_shared_extensions="--without-gd \
515     --disable-dom \
516     --disable-dba \
517     --without-unixODBC \
518     --disable-xmlreader \
519     --disable-xmlwriter \
520     --without-sqlite3 \
521     --disable-phar \
522     --disable-fileinfo \
523     --disable-json \
524     --without-pspell \
525     --disable-wddx \
526     --without-curl \
527     --disable-posix \
528     --disable-sysvmsg \
529     --disable-sysvshm \
530     --disable-sysvsem"
531    
532     # set default extension_dir for all builds
533     export EXTENSION_DIR=${PHP_EXTENSIONS_DIR}
534     # set default pear dir for all builds
535     export PEAR_INSTALLDIR=${PHP_PEAR_DIR}
536    
537     #
538     # build php:
539     #
540    
541     # prepare build outside of the SRCDIR
542     install -d ${BUILDDIR}/build-php
543     cd ${BUILDDIR}/build-php
544     ln -snf ${SRCDIR}/configure
545    
546     mconfigure \
547     --srcdir=${SRCDIR} \
548     ${php_base_config} \
549     --disable-cgi \
550     --without-readline \
551     ${php_extensions} \
552     || die
553    
554     mmake || die
555    
556    
557     #
558     # build cgi/fastcgi
559     #
560    
561     # prepare build with the previous run, to save a lot of time
562     current_run=cgi
563 niro 8399 cp -a ${BUILDDIR}/build-php ${BUILDDIR}/build-${current_run} || die
564 niro 8398 cd ${BUILDDIR}/build-${current_run}
565    
566     mconfigure \
567     --srcdir=${SRCDIR} \
568     ${php_base_config} \
569     --enable-cgi \
570     --enable-force-cgi-redirect \
571     --enable-fastcgi \
572     --disable-cli \
573     ${php_extensions} \
574     || die
575    
576     mmake || die
577    
578    
579     #
580     # build apache mod
581     #
582    
583     # prepare build with the previous run, to save a lot of time
584     current_run=apache
585 niro 8399 cp -a ${BUILDDIR}/build-php ${BUILDDIR}/build-${current_run} || die
586 niro 8398 cd ${BUILDDIR}/build-${current_run}
587    
588     mconfigure \
589     --srcdir=${SRCDIR} \
590     ${php_base_config} \
591     --with-apxs2 \
592     --disable-cli \
593     ${php_extensions} \
594     || die
595    
596     mmake || die
597    
598    
599     #
600     # build embedded
601     #
602    
603     # prepare build with the previous run, to save a lot of time
604     current_run=embedded
605 niro 8399 cp -a ${BUILDDIR}/build-php ${BUILDDIR}/build-${current_run} || die
606 niro 8398 cd ${BUILDDIR}/build-${current_run}
607    
608     mconfigure \
609     --srcdir=${SRCDIR} \
610     ${php_base_config} \
611     --enable-embed=shared \
612     --disable-cli \
613     ${php_extensions} \
614     || die
615    
616     mmake || die
617    
618    
619     #
620     # build pear
621     #
622    
623     # prepare build with the previous run, to save a lot of time
624     current_run=pear
625 niro 8399 cp -a ${BUILDDIR}/build-php ${BUILDDIR}/build-${current_run} || die
626 niro 8398 cd ${BUILDDIR}/build-${current_run}
627    
628     mconfigure \
629     --srcdir=${SRCDIR} \
630     ${php_base_config} \
631     --disable-cgi \
632     --without-readline \
633     --enable-pcntl \
634     --with-pear \
635     ${php_extensions} \
636     || die
637     mmake || die
638    
639 niro 8399 #
640 niro 8398 # build fpm
641     #
642    
643     # # prepare build with the previous run, to save a lot of time
644     # current_run=fpm
645 niro 8399 # cp -a ${BUILDDIR}/build-php ${BUILDDIR}/build-${current_run} || die
646 niro 8398 # cd ${BUILDDIR}/build-${current_run}
647     #
648     # mconfigure \
649     # --srcdir=${SRCDIR} \
650     # ${php_base_config} \
651     # --enable-fpm \
652     # --without-mysql \
653     # --disable-pdo \
654     # ${php_disable_shared_extensions} \
655     # || die
656    
657     echo "build complete"
658     }
659    
660     src_check()
661     {
662     echo "doing nothing"
663     return 0
664     }
665    
666     src_install_php()
667     {
668     cd ${BUILDDIR}/build-php
669     mmake -j1 INSTALL_ROOT=${BINDIR} EXTENSION_DIR=${PHP_EXTENSIONS_DIR} PEAR_INSTALLDIR=${PHP_PEAR_DIR} install || die
670    
671     # fix a broken symlink
672     mlink phar.phar /usr/bin/phar || die
673    
674     local php_ini=${SRCDIR}/php.ini-production
675    
676     # php config
677     minstalldir /etc/php/conf.d || die
678     # remove windows remark
679     sed -i -e '/^; extension_dir = "ext"/d' -e '/^; On windows:$/d' ${php_ini} || die
680     # fix extensions dir location
681     sed -i "s:^; \(extension_dir =\).*:\1 ${PHP_EXTENSIONS_DIR}:" ${php_ini} || die
682     # allow short php open-tags
683     sed -i "s:^\(short_open_tag =\).*:\1 On:" ${php_ini} || die
684     minstallfile ${php_ini} /etc/php/php.ini || die
685    
686     # fix extension_dir also in phmp-config
687     sed -i "s:^\(extension_dir=\).*:\1${PHP_EXTENSIONS_DIR}:" ${BINDIR}/usr/bin/php-config || die
688    
689     # remove all extensions provided by other split-packages
690     local ext
691     for ext in curl bcmath dba gd gmp intl mbstring mysql mysqli \
692     pdo_mysql pdo sqlite3 pdo_sqlite \
693     soap sysvmsg sysvsem sysvshm posix xsl wddx dom xmlreader \
694     xmlwriter xmlrpc
695     do
696     rm ${BINDIR}/${PHP_EXTENSIONS_DIR}/${ext}.so || die ${ext}
697     done
698    
699     # remove all static extensions too
700     rm ${BINDIR}/${PHP_EXTENSIONS_DIR}/*.a || die
701    
702     # enable all default extensions
703     local MCONFIG
704     local i
705     for i in $(ls ${BINDIR}/${PHP_EXTENSIONS_DIR}/*.so | sort )
706     do
707     MCONFIG="/etc/php/conf.d/$(basename ${i} .so).ini"
708     mclearconfig || die
709     maddconfig "extension=$(basename ${i})" || die
710     done
711    
712     # disable config-protect for modules conf dir
713     minstalldir /etc/env.d || die
714     MCONFIG="/etc/env.d/30php"
715     mclearconfig || die
716     maddconfig 'CONFIG_PROTECT_MASK="/etc/php/conf.d"' || die
717    
718     minstalldocs CREDITS CODING_STANDARDS EXTENSIONS LICENSE NEWS README* TODO* || die
719     }
720    
721     src_install_php-cgi()
722     {
723     cd ${BUILDDIR}/build-cgi
724     minstallexec sapi/cgi/php-cgi || die
725     }
726    
727     src_install_php-apache()
728     {
729     cd ${BUILDDIR}/build-apache
730    
731     # install apache sapi
732     local APACHE_MOD_DIR="$(apxs -q LIBEXECDIR)"
733     minstalldir ${APACHE_MOD_DIR} || die
734     minstallexec libs/libphp5.so ${APACHE_MOD_DIR} || die
735    
736     # install apache module config
737     local APACHE_SYSCONFDIR="$(apxs -q SYSCONFDIR)"
738     minstalldir ${APACHE_SYSCONFDIR}/modules.d || die
739     minstallfile -s php5_module.conf-${MOD_REV} ${APACHE_SYSCONFDIR}/modules.d/php5.conf || die
740     }
741    
742     src_install_php-embedded()
743     {
744     cd ${BUILDDIR}/build-embedded
745    
746     # install sapi library
747     minstalldir /usr/$(mlibdir) || die
748     minstallexec libs/libphp5.so /usr/$(mlibdir)/libphp5.so || die
749    
750     # install include
751     minstalldir /usr/include/${PNAME}/sapi/embed || die
752     minstallfile ${SRCDIR}/sapi/embed/php_embed.h /usr/include/${PNAME}/sapi/embed || die
753     }
754    
755     src_install_php-pear()
756     {
757     cd ${BUILDDIR}/build-pear
758     mmake INSTALL_ROOT=${BINDIR} EXTENSION_DIR=${PHP_EXTENSIONS_DIR} PEAR_INSTALLDIR=${PHP_PEAR_DIR} install-pear || die
759    
760     local i
761     for i in $(find ${BINDIR}/ -name '.*')
762     do
763     if [[ -e ${i} ]]
764     then
765     rm -rf ${i} || die ${i}
766     fi
767     done
768     }
769    
770     src_install_php-fpm()
771     {
772     cd ${BUILDDIR}/build-fpm
773     mmake INSTALL_ROOT=${BINDIR} install-fpm || die
774    
775     mkeepdir /var/log/php-fpm || die
776     mkeepdir /run/php-fpm || die
777    
778     # config
779     minstalldir /etc/php || die
780     minstalldir /etc/php/fpm.conf.d || die
781     minstallfile -s php-fpm.conf /etc/php/ || die
782     minstallfile -s php-fpm-www.conf /etc/php/fpm.conf.d/www.conf || die
783    
784     # systemd
785     minstalltmp php-fpm.tmpfilesd php-fpm.conf || die
786     minstallunit php-fpm.service || die
787     minstalllog php-fpm.logrotate php-fpm || die
788     minstallconf php-fpm.confd php-fpm || die
789     }
790    
791     # being a little tricky here:
792     for subpackage in ${SPLIT_PACKAGES}
793     do
794     # exclude all other packages than php-addon-modules
795     case ${subpackage} in
796     php) continue ;;
797     php-cgi) continue ;;
798     php-apache) continue ;;
799     php-embedded) continue ;;
800     php-pear) continue ;;
801     php-fpm) continue ;;
802     esac
803    
804     eval "src_install_${subpackage}(){ install_php_extensions ${subpackage#*-} || die; }"
805     done
806    
807     # exceptions
808     src_install_php-mysql()
809     {
810     install_php_extensions mysql mysqli pdo_mysql || die
811     }
812    
813     src_install_php-odbc()
814     {
815     install_php_extensions odbc pdo_odbc || die
816     }
817    
818     src_install_php-process()
819     {
820     install_php_extensions sysvmsg sysvsem sysvshm posix || die
821     }
822    
823     src_install_php-sqlite()
824     {
825     install_php_extensions sqlite3 pdo_sqlite || die
826     }
827    
828     src_install_php-xml()
829     {
830     install_php_extensions dom wddx xmlreader xmlwriter xsl || die
831     }