php8: update to 8.2.5
[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.2.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:=800738c359b7f1e67e40c22713d2d90276bc85ba1c21b43d99edd43c254c5f76
20
21 PKG_BUILD_PARALLEL:=1
22 PKG_BUILD_FLAGS:=no-mips16
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 sodium 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 ifeq ($(CONFIG_BUILD_NLS),y)
274 CONFIGURE_VARS+= iconv_impl_name="gnu_libiconv"
275 CONFIGURE_ARGS+= --with-iconv=shared,"$(ICONV_PREFIX)"
276 else
277 CONFIGURE_VARS+= ac_cv_func_iconv=yes
278 CONFIGURE_ARGS+= --with-iconv=shared
279 endif
280 else
281 CONFIGURE_ARGS+= --without-iconv
282 endif
283
284 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-imap),)
285 CONFIGURE_ARGS+= \
286 --with-imap=shared,"$(STAGING_DIR)/usr" \
287 --with-kerberos=no \
288 --with-imap-ssl="$(STAGING_DIR)/usr"
289 else
290 CONFIGURE_ARGS+= --without-imap
291 endif
292
293 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-intl),)
294 CONFIGURE_ARGS+= --enable-intl=shared
295 TARGET_CXXFLAGS+= -std=c++0x
296 else
297 CONFIGURE_ARGS+= --disable-intl
298 endif
299
300 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-ldap),)
301 CONFIGURE_ARGS+= \
302 --with-ldap=shared,"$(STAGING_DIR)/usr" \
303 --with-ldap-sasl
304 else
305 CONFIGURE_ARGS+= --without-ldap
306 endif
307
308 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-mbstring),)
309 CONFIGURE_ARGS+= \
310 --enable-mbstring=shared \
311 --enable-mbregex
312 else
313 CONFIGURE_ARGS+= --disable-mbstring
314 endif
315
316 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-mysqli),)
317 CONFIGURE_ARGS+= --with-mysqli=shared
318 else
319 CONFIGURE_ARGS+= --without-mysqli
320 endif
321
322 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-mysqlnd),)
323 CONFIGURE_ARGS+= --enable-mysqlnd=shared
324 else
325 CONFIGURE_ARGS+= --disable-mysqlnd
326 endif
327
328 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-opcache),)
329 CONFIGURE_ARGS+= --enable-opcache=shared
330 else
331 CONFIGURE_ARGS+= --disable-opcache
332 endif
333
334 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-openssl)$(CONFIG_PACKAGE_php8-mod-ftp)$(CONFIG_PACKAGE_php8-mod-imap)$(CONFIG_PACKAGE_php8-mod-snmp),)
335 CONFIGURE_ARGS+= \
336 --with-openssl=shared \
337 --with-kerberos=no \
338 --with-openssl-dir="$(STAGING_DIR)/usr"
339 else
340 CONFIGURE_ARGS+= --without-openssl
341 endif
342
343 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-pcntl),)
344 CONFIGURE_ARGS+= --enable-pcntl=shared
345 else
346 CONFIGURE_ARGS+= --disable-pcntl
347 endif
348
349 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-pdo),)
350 CONFIGURE_ARGS+= --enable-pdo=shared
351 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-pdo-mysql),)
352 CONFIGURE_ARGS+= --with-pdo-mysql=shared
353 else
354 CONFIGURE_ARGS+= --without-pdo-mysql
355 endif
356 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-pdo-pgsql),)
357 CONFIGURE_ARGS+= --with-pdo-pgsql=shared,"$(STAGING_DIR)/usr"
358 else
359 CONFIGURE_ARGS+= --without-pdo-pgsql
360 endif
361 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-pdo-sqlite),)
362 CONFIGURE_ARGS+= --with-pdo-sqlite=shared
363 else
364 CONFIGURE_ARGS+= --without-pdo-sqlite
365 endif
366 else
367 CONFIGURE_ARGS+= --disable-pdo
368 endif
369
370 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-pgsql),)
371 CONFIGURE_ARGS+= --with-pgsql=shared,"$(STAGING_DIR)/usr"
372 else
373 CONFIGURE_ARGS+= --without-pgsql
374 endif
375
376 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-phar),)
377 CONFIGURE_ARGS+= --enable-phar=shared
378 else
379 CONFIGURE_ARGS+= --disable-phar
380 endif
381
382 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-session),)
383 CONFIGURE_ARGS+= --enable-session=shared
384 else
385 CONFIGURE_ARGS+= --disable-session
386 endif
387
388 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-shmop),)
389 CONFIGURE_ARGS+= --enable-shmop=shared
390 else
391 CONFIGURE_ARGS+= --disable-shmop
392 endif
393
394 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-simplexml),)
395 CONFIGURE_ARGS+= --enable-simplexml=shared
396 else
397 CONFIGURE_ARGS+= --disable-simplexml
398 endif
399
400 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-snmp),)
401 CONFIGURE_ARGS+= --with-snmp=shared,"$(STAGING_DIR)/usr"
402 else
403 CONFIGURE_ARGS+= --without-snmp
404 endif
405
406 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-soap),)
407 CONFIGURE_ARGS+= --enable-soap=shared
408 else
409 CONFIGURE_ARGS+= --disable-soap
410 endif
411
412 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-sockets),)
413 CONFIGURE_ARGS+= --enable-sockets=shared
414 else
415 CONFIGURE_ARGS+= --disable-sockets
416 endif
417
418 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-sodium),)
419 CONFIGURE_ARGS+= --with-sodium=shared,"$(STAGING_DIR)/usr"
420 else
421 CONFIGURE_ARGS+= --without-sodium
422 endif
423
424 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-sqlite3),)
425 CONFIGURE_ARGS+= --with-sqlite3=shared
426 else
427 CONFIGURE_ARGS+= --without-sqlite3
428 endif
429
430 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-sysvmsg),)
431 CONFIGURE_ARGS+= --enable-sysvmsg=shared
432 else
433 CONFIGURE_ARGS+= --disable-sysvmsg
434 endif
435
436 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-sysvsem),)
437 CONFIGURE_ARGS+= --enable-sysvsem=shared
438 else
439 CONFIGURE_ARGS+= --disable-sysvsem
440 endif
441
442 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-sysvshm),)
443 CONFIGURE_ARGS+= --enable-sysvshm=shared
444 else
445 CONFIGURE_ARGS+= --disable-sysvshm
446 endif
447
448 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-tokenizer),)
449 CONFIGURE_ARGS+= --enable-tokenizer=shared
450 else
451 CONFIGURE_ARGS+= --disable-tokenizer
452 endif
453
454 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-xml),)
455 CONFIGURE_ARGS+= --enable-xml=shared,"$(STAGING_DIR)/usr"
456 ifneq ($(CONFIG_PHP8_LIBXML),y)
457 CONFIGURE_ARGS+= --with-expat
458 endif
459 else
460 CONFIGURE_ARGS+= --disable-xml
461 endif
462
463 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-xmlreader),)
464 CONFIGURE_ARGS+= --enable-xmlreader=shared,"$(STAGING_DIR)/usr"
465 else
466 CONFIGURE_ARGS+= --disable-xmlreader
467 endif
468
469 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-xmlwriter),)
470 CONFIGURE_ARGS+= --enable-xmlwriter=shared,"$(STAGING_DIR)/usr"
471 else
472 CONFIGURE_ARGS+= --disable-xmlwriter
473 endif
474
475 ifneq ($(CONFIG_PACKAGE_php8-mod-zip),)
476 CONFIGURE_ARGS+= --with-zip=shared,"$(STAGING_DIR)/usr"
477 else
478 CONFIGURE_ARGS+= --without-zip
479 endif
480
481 ifneq ($(SDK)$(CONFIG_PHP8_LIBXML),)
482 CONFIGURE_ARGS+= --with-libxml
483 else
484 CONFIGURE_ARGS+= --without-libxml
485 endif
486
487 ifneq ($(CONFIG_PHP8_SYSTEMTZDATA),)
488 CONFIGURE_ARGS+= --with-system-tzdata
489 else
490 CONFIGURE_ARGS+= --without-system-tzdata
491 endif
492
493 ifneq ($(CONFIG_PACKAGE_apache-mod-php8),)
494 CONFIGURE_ARGS+= --with-apxs2=$(STAGING_DIR)/usr/bin/apxs
495 endif
496
497 CONFIGURE_VARS+= \
498 ac_cv_c_bigendian_php=$(if $(CONFIG_BIG_ENDIAN),yes,no) \
499 php_cv_cc_rpath="no" \
500 ac_cv_php_xml2_config_path="$(STAGING_DIR)/host/bin/xml2-config" \
501 ac_cv_u8t_decompose=yes \
502 ac_cv_have_pcre2_jit=no
503
504 define Package/php8/conffiles
505 /etc/php.ini
506 /etc/php8/
507 endef
508
509 define Package/php8/install
510 $(INSTALL_DIR) $(1)/etc
511 $(INSTALL_DATA) ./files/php.ini $(1)/etc/
512 endef
513
514 define Package/php8-cli/install
515 $(INSTALL_DIR) $(1)/usr/bin
516 $(CP) $(PKG_BUILD_DIR)/sapi/cli/php $(1)/usr/bin/php8-cli
517 ln -sf php8-cli $(1)/usr/bin/php-cli
518 endef
519
520 define Package/php8-cgi/install
521 $(INSTALL_DIR) $(1)/usr/bin
522 $(CP) $(PKG_BUILD_DIR)/sapi/cgi/php-cgi $(1)/usr/bin/php8-cgi
523 ln -sf php8-cgi $(1)/usr/bin/php-cgi
524 ln -sf php8-cgi $(1)/usr/bin/php8-fcgi
525 endef
526
527 define Package/php8-fastcgi/install
528 $(INSTALL_DIR) $(1)/etc/config
529 $(INSTALL_DATA) ./files/php8-fastcgi.config $(1)/etc/config/php8-fastcgi
530
531 $(INSTALL_DIR) $(1)/etc/init.d
532 $(INSTALL_BIN) ./files/php8-fastcgi.init $(1)/etc/init.d/php8-fastcgi
533 endef
534
535 define Package/php8-fastcgi/conffiles
536 /etc/config/php8-fastcgi
537 endef
538
539 define Package/php8-fpm/install
540 $(INSTALL_DIR) $(1)/usr/bin
541 $(INSTALL_BIN) $(PKG_BUILD_DIR)/sapi/fpm/php-fpm $(1)/usr/bin/php8-fpm
542
543 $(INSTALL_DIR) $(1)/etc
544 $(INSTALL_DATA) ./files/php8-fpm.conf $(1)/etc/php8-fpm.conf
545
546 $(INSTALL_DIR) $(1)/etc/config
547 $(INSTALL_DATA) ./files/php8-fpm.config $(1)/etc/config/php8-fpm
548
549 $(INSTALL_DIR) $(1)/etc/php8-fpm.d
550 $(INSTALL_DATA) ./files/php8-fpm-www.conf $(1)/etc/php8-fpm.d/www.conf
551
552 $(INSTALL_DIR) $(1)/etc/init.d
553 $(INSTALL_BIN) ./files/php8-fpm.init $(1)/etc/init.d/php8-fpm
554 endef
555
556 define Package/php8-fpm/conffiles
557 /etc/php8-fpm.conf
558 /etc/php8-fpm.d/
559 /etc/config/php8-fpm
560 endef
561
562 define Package/apache-mod-php8/install
563 $(INSTALL_DIR) $(1)/usr/lib/apache2
564 $(INSTALL_BIN) $(PKG_BUILD_DIR)/libs/libphp.so $(1)/usr/lib/apache2
565 endef
566
567 define Build/Prepare
568 $(call Build/Prepare/Default)
569 $(if $(QUILT),,( cd $(PKG_BUILD_DIR); touch configure.ac; ./buildconf --force ))
570 endef
571
572 define Build/Configure
573 $(if $(QUILT),( cd $(PKG_BUILD_DIR); touch configure.ac; ./buildconf --force ))
574 $(call Build/Configure/Default)
575 endef
576
577 define Build/InstallDev
578 rm -rf $(PKG_BUILD_DIR)/staging
579 make -C $(PKG_BUILD_DIR) install INSTALL_ROOT=$(PKG_BUILD_DIR)/staging
580 rm -rf $(PKG_BUILD_DIR)/staging/usr/{share,man,sbin}
581 rm -f $(PKG_BUILD_DIR)/staging/usr/bin/{php,php-cgi,php-cli}
582 mv $(PKG_BUILD_DIR)/staging/usr/bin/phpize $(PKG_BUILD_DIR)/staging/usr/bin/phpize8
583 mv $(PKG_BUILD_DIR)/staging/usr/bin/php-config $(PKG_BUILD_DIR)/staging/usr/bin/php8-config
584 mv $(PKG_BUILD_DIR)/staging/usr/include/php $(PKG_BUILD_DIR)/staging/usr/include/php8
585 mv $(PKG_BUILD_DIR)/staging/usr/lib/php $(PKG_BUILD_DIR)/staging/usr/lib/php8
586
587 $(CP) $(PKG_BUILD_DIR)/staging/usr $(STAGING_DIR)/
588
589 sed -i -e "s#prefix='/usr'#prefix='$(STAGING_DIR)/usr'#" $(STAGING_DIR)/usr/bin/phpize8
590 sed -i -e "s#exec_prefix=\"\`eval echo /usr\`\"#exec_prefix='$(STAGING_DIR)/usr'#" $(STAGING_DIR)/usr/bin/phpize8
591 sed -i -e "s#/include\`/php\"#/include\`/php8\"#" $(STAGING_DIR)/usr/bin/phpize8
592 sed -i -e "s#/lib/php\`/build\"#/lib/php8\`/build\"#" $(STAGING_DIR)/usr/bin/phpize8
593
594 sed -i -e "s#prefix=\"/usr\"#prefix=\"$(STAGING_DIR)/usr\"#" $(STAGING_DIR)/usr/bin/php8-config
595 sed -i -e "s#/include/php\"#/include/php8\"#" $(STAGING_DIR)/usr/bin/php8-config
596 endef
597
598 define BuildModule
599
600 define Package/php8-mod-$(1)
601 $(call Package/php8/Default)
602
603 ifneq ($(3),)
604 DEPENDS+=$(3)
605 endif
606
607 TITLE:=$(2) shared module
608 endef
609
610 define Package/php8-mod-$(1)/install
611 $(INSTALL_DIR) $$(1)/usr/lib/php8
612 $(INSTALL_BIN) $(PKG_BUILD_DIR)/modules/$(subst -,_,$(1)).so $$(1)/usr/lib/php8/
613 $(INSTALL_DIR) $$(1)/etc/php8
614 ifeq ($(5),zend)
615 echo "zend_extension=/usr/lib/php8/$(subst -,_,$(1)).so" > $$(1)/etc/php8/$(if $(4),$(4),20)_$(subst -,_,$(1)).ini
616 else
617 echo "extension=$(subst -,_,$(1)).so" > $$(1)/etc/php8/$(if $(4),$(4),20)_$(subst -,_,$(1)).ini
618 endif
619 endef
620
621 $$(eval $$(call BuildPackage,php8-mod-$(1)))
622
623 endef
624
625 $(eval $(call BuildPackage,php8))
626 $(eval $(call BuildPackage,php8-cgi))
627 $(eval $(call BuildPackage,php8-cli))
628 $(eval $(call BuildPackage,php8-fastcgi))
629 $(eval $(call BuildPackage,php8-fpm))
630 $(eval $(call BuildPackage,apache-mod-php8))
631
632 #$(eval $(call BuildModule,NAME,TITLE[,PKG DEPENDS]))
633 $(eval $(call BuildModule,bcmath,Bcmath))
634 $(eval $(call BuildModule,calendar,Calendar))
635 $(eval $(call BuildModule,ctype,Ctype))
636 $(eval $(call BuildModule,curl,cURL,+PACKAGE_php8-mod-curl:libcurl))
637 $(eval $(call BuildModule,dom,DOM,+@PHP8_LIBXML +PACKAGE_php8-mod-dom:libxml2))
638 $(eval $(call BuildModule,exif,EXIF))
639 $(eval $(call BuildModule,fileinfo,Fileinfo))
640 $(eval $(call BuildModule,filter,Filter))
641 $(eval $(call BuildModule,ftp,FTP,+PACKAGE_php8-mod-ftp:libopenssl))
642 $(eval $(call BuildModule,gd,GD graphics,+PACKAGE_php8-mod-gd:libgd-full))
643 $(eval $(call BuildModule,gettext,Gettext,+PACKAGE_php8-mod-gettext:libintl-full))
644 $(eval $(call BuildModule,gmp,GMP,+PACKAGE_php8-mod-gmp:libgmp))
645 $(eval $(call BuildModule,iconv,iConv,$(ICONV_DEPENDS)))
646 $(eval $(call BuildModule,imap,IMAP,+PACKAGE_php8-mod-imap:libopenssl +PACKAGE_libpam:libpam +PACKAGE_php8-mod-imap:uw-imap))
647 $(eval $(call BuildModule,intl,Internationalization Functions,+PACKAGE_php8-mod-intl:icu +PHP8_FULLICUDATA:icu-full-data))
648 $(eval $(call BuildModule,ldap,LDAP,+PACKAGE_php8-mod-ldap:libopenldap +PACKAGE_php8-mod-ldap:libsasl2))
649 $(eval $(call BuildModule,mbstring,MBString,+PACKAGE_php8-mod-mbstring:oniguruma))
650 $(eval $(call BuildModule,mysqli,MySQL Improved Extension,+PACKAGE_php8-mod-mysqli:php8-mod-mysqlnd,30))
651 $(eval $(call BuildModule,mysqlnd,MySQL Native Driver,+PACKAGE_php8-mod-openssl:php8-mod-openssl))
652 $(eval $(call BuildModule,opcache,OPcache,,,zend))
653 $(eval $(call BuildModule,openssl,OpenSSL,+PACKAGE_php8-mod-openssl:libopenssl,15))
654 $(eval $(call BuildModule,pcntl,PCNTL))
655 $(eval $(call BuildModule,pdo,PHP Data Objects))
656 $(eval $(call BuildModule,pdo-mysql,PDO driver for MySQL,+php8-mod-pdo +PACKAGE_php8-mod-pdo-mysql:php8-mod-mysqlnd))
657 $(eval $(call BuildModule,pdo-pgsql,PDO driver for PostgreSQL,+php8-mod-pdo +PACKAGE_php8-mod-pdo-pgsql:libpq))
658 $(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))
659 $(eval $(call BuildModule,pgsql,PostgreSQL,+PACKAGE_php8-mod-pgsql:libpq))
660 $(eval $(call BuildModule,phar,Phar Archives))
661 $(eval $(call BuildModule,session,Session))
662 $(eval $(call BuildModule,shmop,Shared Memory))
663 $(eval $(call BuildModule,simplexml,SimpleXML,+@PHP8_LIBXML +PACKAGE_php8-mod-simplexml:libxml2))
664 $(eval $(call BuildModule,snmp,SNMP,+PACKAGE_php8-mod-snmp:libnetsnmp +PACKAGE_php8-mod-snmp:libopenssl))
665 $(eval $(call BuildModule,soap,SOAP,+@PHP8_LIBXML +PACKAGE_php8-mod-soap:libxml2))
666 $(eval $(call BuildModule,sockets,Sockets))
667 $(eval $(call BuildModule,sodium,Sodium,+PACKAGE_php8-mod-sodium:libsodium,30))
668 $(eval $(call BuildModule,sqlite3,SQLite3,+PACKAGE_php8-mod-sqlite3:libsqlite3))
669 $(eval $(call BuildModule,sysvmsg,System V messages))
670 $(eval $(call BuildModule,sysvsem,System V shared memory))
671 $(eval $(call BuildModule,sysvshm,System V semaphore))
672 $(eval $(call BuildModule,tokenizer,Tokenizer))
673 $(eval $(call BuildModule,xml,XML,+PHP8_LIBXML:libxml2 +!PHP8_LIBXML:libexpat))
674 $(eval $(call BuildModule,xmlreader,XMLReader,+@PHP8_LIBXML +PACKAGE_php8-mod-dom:php8-mod-dom +PACKAGE_php8-mod-xmlreader:libxml2))
675 $(eval $(call BuildModule,xmlwriter,XMLWriter,+@PHP8_LIBXML +PACKAGE_php8-mod-xmlwriter:libxml2))
676 $(eval $(call BuildModule,zip,ZIP,+PACKAGE_php8-mod-zip:libzip))