Merge pull request #18403 from turris-cz/change-Flask-Jinja2-maintainer
[feed/packages.git] / lang / php8 / Makefile
1 #
2 # This is free software, licensed under the GNU General Public License v2.
3 # See /LICENSE for more information.
4 #
5
6 include $(TOPDIR)/rules.mk
7
8 PKG_NAME:=php
9 PKG_VERSION:=8.1.5
10 PKG_RELEASE:=1
11
12 PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
13 PKG_LICENSE:=PHP-3.01
14 PKG_LICENSE_FILES:=LICENSE
15 PKG_CPE_ID:=cpe:/a:php:php
16
17 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
18 PKG_SOURCE_URL:=http://www.php.net/distributions/
19 PKG_HASH:=7647734b4dcecd56b7e4bd0bc55e54322fa3518299abcdc68eb557a7464a2e8a
20
21 PKG_BUILD_PARALLEL:=1
22 PKG_USE_MIPS16:=0
23
24 PHP8_MODULES= \
25 bcmath \
26 calendar ctype curl \
27 dom \
28 exif \
29 fileinfo filter ftp \
30 gettext gd gmp \
31 iconv imap intl \
32 ldap \
33 mbstring mysqli mysqlnd \
34 opcache openssl \
35 pcntl pdo pdo-mysql pdo-pgsql pdo-sqlite pgsql phar \
36 session shmop simplexml snmp soap sockets sqlite3 sysvmsg sysvsem sysvshm \
37 tokenizer \
38 xml xmlreader xmlwriter \
39 zip
40
41 PKG_CONFIG_DEPENDS:= \
42 $(patsubst %,CONFIG_PACKAGE_php8-mod-%,$(PHP8_MODULES)) \
43 CONFIG_PHP8_LIBXML CONFIG_PHP8_SYSTEMTZDATA CONFIG_PACKAGE_apache-mod-php8
44
45 include $(INCLUDE_DIR)/package.mk
46 include $(INCLUDE_DIR)/nls.mk
47
48 define Package/php8/Default
49 SUBMENU:=PHP8
50 SECTION:=lang
51 CATEGORY:=Languages
52 TITLE:=PHP8 Hypertext preprocessor
53 URL:=http://www.php.net/
54 DEPENDS:=php8
55 endef
56
57 define Package/php8/Default/description
58 PHP is a widely-used general-purpose scripting language that is especially
59 suited for Web development and can be embedded into HTML.
60 endef
61
62 define Package/php8/config
63 config PHP8_LIBXML
64 bool "PHP8 LIBXML support"
65 depends on PACKAGE_php8-cli || PACKAGE_php8-cgi
66
67 config PHP8_SYSTEMTZDATA
68 bool "Use system timezone data instead of php's built-in database"
69 depends on PACKAGE_php8-cli || PACKAGE_php8-cgi || PACKAGE_apache-mod-php8
70 default y
71 help
72 Enabling this feature automatically selects the zoneinfo-core package
73 which contains data for UTC timezone. To use other timezones you have
74 to install the corresponding zoneinfo-... package(s).
75 endef
76
77 define Package/php8
78 $(call Package/php8/Default)
79
80 DEPENDS:=+libpcre2 +zlib \
81 +PHP8_LIBXML:libxml2 \
82 +PHP8_SYSTEMTZDATA:zoneinfo-core
83 CONFLICTS:=php7
84 endef
85
86 define Package/php8/description
87 $(call Package/php8/Default/description)
88 This package contains only the PHP config file. You must actually choose
89 your PHP flavour (cli, cgi or fastcgi).
90
91 Please note, that installing php5 and php8 in parallel on the same target
92 is not supported in OpenWrt/LEDE.
93 endef
94
95 define Package/php8-cli
96 $(call Package/php8/Default)
97 DEPENDS+= +PACKAGE_php8-mod-intl:libstdcpp
98 TITLE+= (CLI)
99 endef
100
101 define Package/php8-cli/description
102 $(call Package/php8/Default/description)
103 This package contains the CLI version of the PHP8 interpreter.
104 endef
105
106 define Package/php8-cgi
107 $(call Package/php8/Default)
108 DEPENDS+= +PACKAGE_php8-mod-intl:libstdcpp
109 TITLE+= (CGI & FastCGI)
110 endef
111
112 define Package/php8-cgi/description
113 $(call Package/php8/Default/description)
114 This package contains the CGI version of the PHP8 interpreter.
115 endef
116
117 define Package/php8-fastcgi
118 $(call Package/php8/Default)
119 DEPENDS+= +php8-cgi
120 TITLE:=FastCGI startup script
121 endef
122
123 define Package/php8-fastcgi/description
124 As FastCGI support is now a core feature the php8-fastcgi package now depends
125 on the php8-cgi package, containing just the startup script.
126 endef
127
128 define Package/php8-fpm
129 $(call Package/php8/Default)
130 DEPENDS+= +PACKAGE_php8-mod-intl:libstdcpp
131 TITLE+= (FPM)
132 endef
133
134 define Package/php8-fpm/description
135 $(call Package/php8/Default/description)
136 This package contains the FastCGI Process Manager of the PHP8 interpreter.
137 endef
138
139 define Package/php8-mod-intl/config
140 config PHP8_FULLICUDATA
141 bool "Add dependency to full ICU Data"
142 depends on PACKAGE_php8-mod-intl
143 default n
144 endef
145
146 define Package/php8-mod-intl/description
147 Note that this package depends in ICU library which is built without data
148 by default. This is to satisfy programs build and run dependencies but to
149 keep the installed footprint small on the target system(s).
150 However, the data is required to make the ICU library useful - and thus
151 directly affects PHPs ICU extension, too - so consider to also
152 select/install package 'icu-full-data'.
153 endef
154
155 define Package/apache-mod-php8
156 $(call Package/php8/Default)
157 SUBMENU:=Web Servers/Proxies
158 SECTION:=net
159 CATEGORY:=Network
160 DEPENDS+=PACKAGE_apache-mod-php8:apache \
161 +PACKAGE_php8-mod-intl:libstdcpp \
162 +libpcre2 +zlib
163 TITLE:=PHP8 module for Apache Web Server
164 endef
165
166 define Package/apache-mod-php8/description
167 $(call Package/php8/Default/description)
168 This package contains the PHP module for the Apache Web Server.
169 endef
170
171 # not everything groks --disable-nls
172 DISABLE_NLS:=
173
174 CONFIGURE_ARGS+= \
175 --enable-cli \
176 --enable-cgi \
177 --enable-fpm \
178 --enable-shared \
179 --disable-static \
180 --with-pic \
181 --disable-rpath \
182 --disable-debug \
183 --disable-phpdbg \
184 --without-pear \
185 \
186 --with-config-file-path=/etc \
187 --with-config-file-scan-dir=/etc/php8 \
188 --disable-short-tags \
189 \
190 --without-valgrind \
191 --with-external-pcre \
192 --with-zlib="$(STAGING_DIR)/usr"
193
194 ifeq ($(CONFIG_LIBC_USE_GLIBC),y)
195 TARGET_LDFLAGS += -ldl
196 endif
197
198 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-bcmath),)
199 CONFIGURE_ARGS+= --enable-bcmath=shared
200 else
201 CONFIGURE_ARGS+= --disable-bcmath
202 endif
203
204 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-calendar),)
205 CONFIGURE_ARGS+= --enable-calendar=shared
206 else
207 CONFIGURE_ARGS+= --disable-calendar
208 endif
209
210 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-ctype),)
211 CONFIGURE_ARGS+= --enable-ctype=shared
212 else
213 CONFIGURE_ARGS+= --disable-ctype
214 endif
215
216 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-curl),)
217 CONFIGURE_ARGS+= --with-curl=shared
218 else
219 CONFIGURE_ARGS+= --without-curl
220 endif
221
222 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-dom),)
223 CONFIGURE_ARGS+= --enable-dom=shared
224 else
225 CONFIGURE_ARGS+= --disable-dom
226 endif
227
228 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-exif),)
229 CONFIGURE_ARGS+= --enable-exif=shared
230 else
231 CONFIGURE_ARGS+= --disable-exif
232 endif
233
234 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-fileinfo),)
235 CONFIGURE_ARGS+= --enable-fileinfo=shared,"$(STAGING_DIR)/usr"
236 else
237 CONFIGURE_ARGS+= --disable-fileinfo
238 endif
239
240 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-filter),)
241 CONFIGURE_ARGS+= --enable-filter=shared,"$(STAGING_DIR)/usr"
242 else
243 CONFIGURE_ARGS+= --disable-filter
244 endif
245
246 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-ftp),)
247 CONFIGURE_ARGS+= --enable-ftp=shared
248 else
249 CONFIGURE_ARGS+= --disable-ftp
250 endif
251
252 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-gd),)
253 CONFIGURE_ARGS+= \
254 --enable-gd=shared,"$(STAGING_DIR)/usr" \
255 --with-external-gd
256 else
257 CONFIGURE_ARGS+= --disable-gd
258 endif
259
260 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-gettext),)
261 CONFIGURE_ARGS+= --with-gettext=shared,"$(STAGING_DIR)/usr/lib/libintl-full"
262 else
263 CONFIGURE_ARGS+= --without-gettext
264 endif
265
266 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-gmp),)
267 CONFIGURE_ARGS+= --with-gmp=shared,"$(STAGING_DIR)/usr"
268 else
269 CONFIGURE_ARGS+= --without-gmp
270 endif
271
272 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-iconv),)
273 CONFIGURE_ARGS+= --with-iconv=shared,"$(ICONV_PREFIX)"
274 else
275 CONFIGURE_ARGS+= --without-iconv
276 endif
277
278 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-imap),)
279 CONFIGURE_ARGS+= \
280 --with-imap=shared,"$(STAGING_DIR)/usr" \
281 --with-kerberos=no \
282 --with-imap-ssl="$(STAGING_DIR)/usr"
283 else
284 CONFIGURE_ARGS+= --without-imap
285 endif
286
287 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-intl),)
288 CONFIGURE_ARGS+= --enable-intl=shared
289 TARGET_CXXFLAGS+= -std=c++0x
290 else
291 CONFIGURE_ARGS+= --disable-intl
292 endif
293
294 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-ldap),)
295 CONFIGURE_ARGS+= \
296 --with-ldap=shared,"$(STAGING_DIR)/usr" \
297 --with-ldap-sasl
298 else
299 CONFIGURE_ARGS+= --without-ldap
300 endif
301
302 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-mbstring),)
303 CONFIGURE_ARGS+= \
304 --enable-mbstring=shared \
305 --enable-mbregex
306 else
307 CONFIGURE_ARGS+= --disable-mbstring
308 endif
309
310 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-mysqli),)
311 CONFIGURE_ARGS+= --with-mysqli=shared
312 else
313 CONFIGURE_ARGS+= --without-mysqli
314 endif
315
316 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-mysqlnd),)
317 CONFIGURE_ARGS+= --enable-mysqlnd=shared
318 else
319 CONFIGURE_ARGS+= --disable-mysqlnd
320 endif
321
322 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-opcache),)
323 CONFIGURE_ARGS+= --enable-opcache=shared
324 else
325 CONFIGURE_ARGS+= --disable-opcache
326 endif
327
328 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-openssl)$(CONFIG_PACKAGE_php8-mod-ftp)$(CONFIG_PACKAGE_php8-mod-imap)$(CONFIG_PACKAGE_php8-mod-snmp),)
329 CONFIGURE_ARGS+= \
330 --with-openssl=shared \
331 --with-kerberos=no \
332 --with-openssl-dir="$(STAGING_DIR)/usr"
333 else
334 CONFIGURE_ARGS+= --without-openssl
335 endif
336
337 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-pcntl),)
338 CONFIGURE_ARGS+= --enable-pcntl=shared
339 else
340 CONFIGURE_ARGS+= --disable-pcntl
341 endif
342
343 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-pdo),)
344 CONFIGURE_ARGS+= --enable-pdo=shared
345 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-pdo-mysql),)
346 CONFIGURE_ARGS+= --with-pdo-mysql=shared
347 else
348 CONFIGURE_ARGS+= --without-pdo-mysql
349 endif
350 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-pdo-pgsql),)
351 CONFIGURE_ARGS+= --with-pdo-pgsql=shared,"$(STAGING_DIR)/usr"
352 else
353 CONFIGURE_ARGS+= --without-pdo-pgsql
354 endif
355 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-pdo-sqlite),)
356 CONFIGURE_ARGS+= --with-pdo-sqlite=shared
357 else
358 CONFIGURE_ARGS+= --without-pdo-sqlite
359 endif
360 else
361 CONFIGURE_ARGS+= --disable-pdo
362 endif
363
364 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-pgsql),)
365 CONFIGURE_ARGS+= --with-pgsql=shared,"$(STAGING_DIR)/usr"
366 else
367 CONFIGURE_ARGS+= --without-pgsql
368 endif
369
370 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-phar),)
371 CONFIGURE_ARGS+= --enable-phar=shared
372 else
373 CONFIGURE_ARGS+= --disable-phar
374 endif
375
376 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-session),)
377 CONFIGURE_ARGS+= --enable-session=shared
378 else
379 CONFIGURE_ARGS+= --disable-session
380 endif
381
382 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-shmop),)
383 CONFIGURE_ARGS+= --enable-shmop=shared
384 else
385 CONFIGURE_ARGS+= --disable-shmop
386 endif
387
388 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-simplexml),)
389 CONFIGURE_ARGS+= --enable-simplexml=shared
390 else
391 CONFIGURE_ARGS+= --disable-simplexml
392 endif
393
394 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-snmp),)
395 CONFIGURE_ARGS+= --with-snmp=shared,"$(STAGING_DIR)/usr"
396 else
397 CONFIGURE_ARGS+= --without-snmp
398 endif
399
400 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-soap),)
401 CONFIGURE_ARGS+= --enable-soap=shared
402 else
403 CONFIGURE_ARGS+= --disable-soap
404 endif
405
406 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-sockets),)
407 CONFIGURE_ARGS+= --enable-sockets=shared
408 else
409 CONFIGURE_ARGS+= --disable-sockets
410 endif
411
412 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-sqlite3),)
413 CONFIGURE_ARGS+= --with-sqlite3=shared
414 else
415 CONFIGURE_ARGS+= --without-sqlite3
416 endif
417
418 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-sysvmsg),)
419 CONFIGURE_ARGS+= --enable-sysvmsg=shared
420 else
421 CONFIGURE_ARGS+= --disable-sysvmsg
422 endif
423
424 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-sysvsem),)
425 CONFIGURE_ARGS+= --enable-sysvsem=shared
426 else
427 CONFIGURE_ARGS+= --disable-sysvsem
428 endif
429
430 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-sysvshm),)
431 CONFIGURE_ARGS+= --enable-sysvshm=shared
432 else
433 CONFIGURE_ARGS+= --disable-sysvshm
434 endif
435
436 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-tokenizer),)
437 CONFIGURE_ARGS+= --enable-tokenizer=shared
438 else
439 CONFIGURE_ARGS+= --disable-tokenizer
440 endif
441
442 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-xml),)
443 CONFIGURE_ARGS+= --enable-xml=shared,"$(STAGING_DIR)/usr"
444 ifneq ($(CONFIG_PHP8_LIBXML),y)
445 CONFIGURE_ARGS+= --with-expat
446 endif
447 else
448 CONFIGURE_ARGS+= --disable-xml
449 endif
450
451 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-xmlreader),)
452 CONFIGURE_ARGS+= --enable-xmlreader=shared,"$(STAGING_DIR)/usr"
453 else
454 CONFIGURE_ARGS+= --disable-xmlreader
455 endif
456
457 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-xmlwriter),)
458 CONFIGURE_ARGS+= --enable-xmlwriter=shared,"$(STAGING_DIR)/usr"
459 else
460 CONFIGURE_ARGS+= --disable-xmlwriter
461 endif
462
463 ifneq ($(CONFIG_PACKAGE_php8-mod-zip),)
464 CONFIGURE_ARGS+= --with-zip=shared,"$(STAGING_DIR)/usr"
465 else
466 CONFIGURE_ARGS+= --without-zip
467 endif
468
469 ifneq ($(SDK)$(CONFIG_PHP8_LIBXML),)
470 CONFIGURE_ARGS+= --with-libxml
471 else
472 CONFIGURE_ARGS+= --without-libxml
473 endif
474
475 ifneq ($(CONFIG_PHP8_SYSTEMTZDATA),)
476 CONFIGURE_ARGS+= --with-system-tzdata
477 else
478 CONFIGURE_ARGS+= --without-system-tzdata
479 endif
480
481 ifneq ($(CONFIG_PACKAGE_apache-mod-php8),)
482 CONFIGURE_ARGS+= --with-apxs2=$(STAGING_DIR)/usr/bin/apxs
483 endif
484
485 CONFIGURE_VARS+= \
486 ac_cv_c_bigendian_php=$(if $(CONFIG_BIG_ENDIAN),yes,no) \
487 php_cv_cc_rpath="no" \
488 iconv_impl_name="gnu_libiconv" \
489 ac_cv_php_xml2_config_path="$(STAGING_DIR)/host/bin/xml2-config" \
490 ac_cv_u8t_decompose=yes \
491 ac_cv_have_pcre2_jit=no
492
493 define Package/php8/conffiles
494 /etc/php.ini
495 /etc/php8/
496 endef
497
498 define Package/php8/install
499 $(INSTALL_DIR) $(1)/etc
500 $(INSTALL_DATA) ./files/php.ini $(1)/etc/
501 endef
502
503 define Package/php8-cli/install
504 $(INSTALL_DIR) $(1)/usr/bin
505 $(CP) $(PKG_BUILD_DIR)/sapi/cli/php $(1)/usr/bin/php8-cli
506 ln -sf php8-cli $(1)/usr/bin/php-cli
507 endef
508
509 define Package/php8-cgi/install
510 $(INSTALL_DIR) $(1)/usr/bin
511 $(CP) $(PKG_BUILD_DIR)/sapi/cgi/php-cgi $(1)/usr/bin/php8-cgi
512 ln -sf php8-cgi $(1)/usr/bin/php-cgi
513 ln -sf php8-cgi $(1)/usr/bin/php8-fcgi
514 endef
515
516 define Package/php8-fastcgi/install
517 $(INSTALL_DIR) $(1)/etc/config
518 $(INSTALL_DATA) ./files/php8-fastcgi.config $(1)/etc/config/php8-fastcgi
519
520 $(INSTALL_DIR) $(1)/etc/init.d
521 $(INSTALL_BIN) ./files/php8-fastcgi.init $(1)/etc/init.d/php8-fastcgi
522 endef
523
524 define Package/php8-fastcgi/conffiles
525 /etc/config/php8-fastcgi
526 endef
527
528 define Package/php8-fpm/install
529 $(INSTALL_DIR) $(1)/usr/bin
530 $(INSTALL_BIN) $(PKG_BUILD_DIR)/sapi/fpm/php-fpm $(1)/usr/bin/php8-fpm
531
532 $(INSTALL_DIR) $(1)/etc
533 $(INSTALL_DATA) ./files/php8-fpm.conf $(1)/etc/php8-fpm.conf
534
535 $(INSTALL_DIR) $(1)/etc/config
536 $(INSTALL_DATA) ./files/php8-fpm.config $(1)/etc/config/php8-fpm
537
538 $(INSTALL_DIR) $(1)/etc/php8-fpm.d
539 $(INSTALL_DATA) ./files/php8-fpm-www.conf $(1)/etc/php8-fpm.d/www.conf
540
541 $(INSTALL_DIR) $(1)/etc/init.d
542 $(INSTALL_BIN) ./files/php8-fpm.init $(1)/etc/init.d/php8-fpm
543 endef
544
545 define Package/php8-fpm/conffiles
546 /etc/php8-fpm.conf
547 /etc/php8-fpm.d/
548 /etc/config/php8-fpm
549 endef
550
551 define Package/apache-mod-php8/install
552 $(INSTALL_DIR) $(1)/usr/lib/apache2
553 $(INSTALL_BIN) $(PKG_BUILD_DIR)/libs/libphp.so $(1)/usr/lib/apache2
554 endef
555
556 define Build/Prepare
557 $(call Build/Prepare/Default)
558 $(if $(QUILT),,( cd $(PKG_BUILD_DIR); touch configure.ac; ./buildconf --force ))
559 endef
560
561 define Build/Configure
562 $(if $(QUILT),( cd $(PKG_BUILD_DIR); touch configure.ac; ./buildconf --force ))
563 $(call Build/Configure/Default)
564 endef
565
566 define Build/InstallDev
567 rm -rf $(PKG_BUILD_DIR)/staging
568 make -C $(PKG_BUILD_DIR) install INSTALL_ROOT=$(PKG_BUILD_DIR)/staging
569 rm -rf $(PKG_BUILD_DIR)/staging/usr/{share,man,sbin}
570 rm -f $(PKG_BUILD_DIR)/staging/usr/bin/{php,php-cgi,php-cli}
571 mv $(PKG_BUILD_DIR)/staging/usr/bin/phpize $(PKG_BUILD_DIR)/staging/usr/bin/phpize8
572 mv $(PKG_BUILD_DIR)/staging/usr/bin/php-config $(PKG_BUILD_DIR)/staging/usr/bin/php8-config
573 mv $(PKG_BUILD_DIR)/staging/usr/include/php $(PKG_BUILD_DIR)/staging/usr/include/php8
574 mv $(PKG_BUILD_DIR)/staging/usr/lib/php $(PKG_BUILD_DIR)/staging/usr/lib/php8
575
576 $(CP) $(PKG_BUILD_DIR)/staging/usr $(STAGING_DIR)/
577
578 sed -i -e "s#prefix='/usr'#prefix='$(STAGING_DIR)/usr'#" $(STAGING_DIR)/usr/bin/phpize8
579 sed -i -e "s#exec_prefix=\"\`eval echo /usr\`\"#exec_prefix='$(STAGING_DIR)/usr'#" $(STAGING_DIR)/usr/bin/phpize8
580 sed -i -e "s#/include\`/php\"#/include\`/php8\"#" $(STAGING_DIR)/usr/bin/phpize8
581 sed -i -e "s#/lib/php\`/build\"#/lib/php8\`/build\"#" $(STAGING_DIR)/usr/bin/phpize8
582
583 sed -i -e "s#prefix=\"/usr\"#prefix=\"$(STAGING_DIR)/usr\"#" $(STAGING_DIR)/usr/bin/php8-config
584 sed -i -e "s#/include/php\"#/include/php8\"#" $(STAGING_DIR)/usr/bin/php8-config
585 endef
586
587 define BuildModule
588
589 define Package/php8-mod-$(1)
590 $(call Package/php8/Default)
591
592 ifneq ($(3),)
593 DEPENDS+=$(3)
594 endif
595
596 TITLE:=$(2) shared module
597 endef
598
599 define Package/php8-mod-$(1)/install
600 $(INSTALL_DIR) $$(1)/usr/lib/php8
601 $(INSTALL_BIN) $(PKG_BUILD_DIR)/modules/$(subst -,_,$(1)).so $$(1)/usr/lib/php8/
602 $(INSTALL_DIR) $$(1)/etc/php8
603 ifeq ($(5),zend)
604 echo "zend_extension=/usr/lib/php8/$(subst -,_,$(1)).so" > $$(1)/etc/php8/$(if $(4),$(4),20)_$(subst -,_,$(1)).ini
605 else
606 echo "extension=$(subst -,_,$(1)).so" > $$(1)/etc/php8/$(if $(4),$(4),20)_$(subst -,_,$(1)).ini
607 endif
608 endef
609
610 $$(eval $$(call BuildPackage,php8-mod-$(1)))
611
612 endef
613
614 $(eval $(call BuildPackage,php8))
615 $(eval $(call BuildPackage,php8-cgi))
616 $(eval $(call BuildPackage,php8-cli))
617 $(eval $(call BuildPackage,php8-fastcgi))
618 $(eval $(call BuildPackage,php8-fpm))
619 $(eval $(call BuildPackage,apache-mod-php8))
620
621 #$(eval $(call BuildModule,NAME,TITLE[,PKG DEPENDS]))
622 $(eval $(call BuildModule,bcmath,Bcmath))
623 $(eval $(call BuildModule,calendar,Calendar))
624 $(eval $(call BuildModule,ctype,Ctype))
625 $(eval $(call BuildModule,curl,cURL,+PACKAGE_php8-mod-curl:libcurl))
626 $(eval $(call BuildModule,dom,DOM,+@PHP8_LIBXML +PACKAGE_php8-mod-dom:libxml2))
627 $(eval $(call BuildModule,exif,EXIF))
628 $(eval $(call BuildModule,fileinfo,Fileinfo))
629 $(eval $(call BuildModule,filter,Filter))
630 $(eval $(call BuildModule,ftp,FTP,+PACKAGE_php8-mod-ftp:libopenssl))
631 $(eval $(call BuildModule,gd,GD graphics,+PACKAGE_php8-mod-gd:libgd-full))
632 $(eval $(call BuildModule,gettext,Gettext,+PACKAGE_php8-mod-gettext:libintl-full))
633 $(eval $(call BuildModule,gmp,GMP,+PACKAGE_php8-mod-gmp:libgmp))
634 $(eval $(call BuildModule,iconv,iConv,$(ICONV_DEPENDS)))
635 $(eval $(call BuildModule,imap,IMAP,+PACKAGE_php8-mod-imap:libopenssl +PACKAGE_libpam:libpam +PACKAGE_php8-mod-imap:uw-imap))
636 $(eval $(call BuildModule,intl,Internationalization Functions,+PACKAGE_php8-mod-intl:icu +PHP8_FULLICUDATA:icu-full-data))
637 $(eval $(call BuildModule,ldap,LDAP,+PACKAGE_php8-mod-ldap:libopenldap +PACKAGE_php8-mod-ldap:libsasl2))
638 $(eval $(call BuildModule,mbstring,MBString,+PACKAGE_php8-mod-mbstring:oniguruma))
639 $(eval $(call BuildModule,mysqli,MySQL Improved Extension,+PACKAGE_php8-mod-mysqli:php8-mod-mysqlnd,30))
640 $(eval $(call BuildModule,mysqlnd,MySQL Native Driver,+PACKAGE_php8-mod-openssl:php8-mod-openssl))
641 $(eval $(call BuildModule,opcache,OPcache,,,zend))
642 $(eval $(call BuildModule,openssl,OpenSSL,+PACKAGE_php8-mod-openssl:libopenssl,15))
643 $(eval $(call BuildModule,pcntl,PCNTL))
644 $(eval $(call BuildModule,pdo,PHP Data Objects))
645 $(eval $(call BuildModule,pdo-mysql,PDO driver for MySQL,+php8-mod-pdo +PACKAGE_php8-mod-pdo-mysql:php8-mod-mysqlnd))
646 $(eval $(call BuildModule,pdo-pgsql,PDO driver for PostgreSQL,+php8-mod-pdo +PACKAGE_php8-mod-pdo-pgsql:libpq))
647 $(eval $(call BuildModule,pdo-sqlite,PDO driver for SQLite 3.x,+php8-mod-pdo +PACKAGE_php8-mod-pdo-sqlite:libsqlite3 +PACKAGE_php8-mod-pdo-sqlite:librt))
648 $(eval $(call BuildModule,pgsql,PostgreSQL,+PACKAGE_php8-mod-pgsql:libpq))
649 $(eval $(call BuildModule,phar,Phar Archives))
650 $(eval $(call BuildModule,session,Session))
651 $(eval $(call BuildModule,shmop,Shared Memory))
652 $(eval $(call BuildModule,simplexml,SimpleXML,+@PHP8_LIBXML +PACKAGE_php8-mod-simplexml:libxml2))
653 $(eval $(call BuildModule,snmp,SNMP,+PACKAGE_php8-mod-snmp:libnetsnmp +PACKAGE_php8-mod-snmp:libopenssl))
654 $(eval $(call BuildModule,soap,SOAP,+@PHP8_LIBXML +PACKAGE_php8-mod-soap:libxml2))
655 $(eval $(call BuildModule,sockets,Sockets))
656 $(eval $(call BuildModule,sqlite3,SQLite3,+PACKAGE_php8-mod-sqlite3:libsqlite3))
657 $(eval $(call BuildModule,sysvmsg,System V messages))
658 $(eval $(call BuildModule,sysvsem,System V shared memory))
659 $(eval $(call BuildModule,sysvshm,System V semaphore))
660 $(eval $(call BuildModule,tokenizer,Tokenizer))
661 $(eval $(call BuildModule,xml,XML,+PHP8_LIBXML:libxml2 +!PHP8_LIBXML:libexpat))
662 $(eval $(call BuildModule,xmlreader,XMLReader,+@PHP8_LIBXML +PACKAGE_php8-mod-dom:php8-mod-dom +PACKAGE_php8-mod-xmlreader:libxml2))
663 $(eval $(call BuildModule,xmlwriter,XMLWriter,+@PHP8_LIBXML +PACKAGE_php8-mod-xmlwriter:libxml2))
664 $(eval $(call BuildModule,zip,ZIP,+PACKAGE_php8-mod-zip:libzip))