php8

Edit Package php8

PHP8

Refresh
Refresh
Source Files (show merged sources derived from linked package)
Filename Size Changed
README.macros 0000004375 4.27 KB
_multibuild 0000000163 163 Bytes
build-test.sh 0000001606 1.57 KB
macros.php 0000002872 2.8 KB
mod_php8.conf 0000000537 537 Bytes
php-8.4.12.tar.xz 0013636100 13 MB
php-8.4.12.tar.xz.asc 0000000833 833 Bytes
php-ar-flags.patch 0000000569 569 Bytes
php-build-reproducible-phar.patch 0000003784 3.7 KB
php-date-regenerate-lexers.patch 0000000989 989 Bytes
php-fpm.tmpfiles.d 0000000129 129 Bytes
php-ini.patch 0000001473 1.44 KB
php-php-config.patch 0000000643 643 Bytes
php-phpize.patch 0000001006 1006 Bytes
php-sort-filelist-phar.patch 0000000912 912 Bytes
php-systemd-unit.patch 0000000657 657 Bytes
php-systzdata-v24.patch 0000021413 20.9 KB
php8-fpm.conf 0000000361 361 Bytes
php8.changes 0000277875 271 KB
php8.keyring 0000014812 14.5 KB
php8.rpmlintrc 0000000541 541 Bytes
php8.spec 0000054554 53.3 KB
Comments 4

Miuku .'s avatar

Looks like all except Tumble builds are failing which is kinda bad for 15.x users wanting the latest version :D


Arjen de Korte's avatar

Yeah, unfortunately this is broken since PHP 8.4.10 :-(

The following was introduced in PHP 8.4.10 to prepare for the removal of tidyOptIsReadOnly which was deprecated in 2017:

  PHP_CHECK_LIBRARY([$TIDY_LIB_NAME], [tidyOptGetCategory],
    [AC_DEFINE([HAVE_TIDYOPTGETCATEGORY], [1],
      [Define to 1 if Tidy library has the 'tidyOptGetCategory' function.])],
    [],
    [-L$TIDY_LIBDIR])

The problem with this, is that tidyOptGetCategory was introduced in libtidy 5.4.0, but unfortunately TidyInternalCategory in libtidy 5.6.0. So the following will break with the former library:

#if defined(HAVE_TIDYOPTGETCATEGORY)
    if (tidyOptGetCategory(opt) == TidyInternalCategory) {
#else
    if (tidyOptIsReadOnly(opt)) {
#endif

Unfortunately, we have quite a number of distributions where libtidy 5.4.0 is used and consequently, PHP 8.4.10+ fails to build on all of those.

@pgajdos: Do you think it makes sense to fix this? This can be fixed rather easily by checking for the presence of TidyInternalCategory instead.


Arjen de Korte's avatar

It looks like upstream is working on this, so lets wait for the upstream fix [gh#php/php-src#19021]


Miuku .'s avatar

Thank you Arjen, I was able to locally build a working (cough) PHP 8.4.11 by throwing the entire

if defined(HAVE_TIDYOPTGETCATEGORY) if (tidyOptGetCategory(opt) == TidyInternalCategory) { else endif

into the nearest lake.

This is naturally not the right way to do things but I was a bit under pressure to get this working so.. :-)

Let's wait for upstream to get this working properly, thanks for your time :)

openSUSE Build Service is sponsored by