Magellan Linux

Contents of /smage/trunk/extras/php/php-7.4.7-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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