Magellan Linux

Contents of /branches/R11-unstable/extras/php/php-7.1.11-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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