Magellan Linux

Annotation of /smage/branches/alx07x-stable/extras/php/php-7.3.7-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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