Skip to content

php: update , bugfix , enhancement to the whole php infrastructure #28140

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 33 commits into
base: master
Choose a base branch
from

Conversation

BjarneDMat
Copy link
Contributor

@BjarneDMat BjarneDMat commented Apr 15, 2025

Description

php: upgrade , bugfix , enhancement to the whole php infrastructure

Type(s)
  • upgrade
  • bugfix
  • enhancement
  • security fix
Tested on
Model Identifier: MacPro5,1                 Model Identifier: Macmini6,1
macOS 14.7.5 23H527 x86_64                  macOS 10.15.7 19H2026 x86_64
Xcode 16.2 16C5032a                         Xcode 12.4 12D4e
Command Line Tools 16.2.0.0.1.1733547573    Command Line Tools 12.4.0.0.1.1610135815

BjarneDM and others added 30 commits February 3, 2025 21:06
Your branch is up to date with 'origin/master'.

Changes to be committed:
	modified:   .gitignore
Your branch is up to date with 'origin/master'.

Changes to be committed:
	deleted:    .gitattributes
	deleted:    .github/FUNDING.yml
	deleted:    .github/PULL_REQUEST_TEMPLATE.md
	deleted:    .github/workflows/bootstrap.sh
	deleted:    .github/workflows/main.yml
	deleted:    .gitignore
	deleted:    .mailmap
	deleted:    devel/everparse/files/everparse-hints.tar.xz
	deleted:    lang/ghc/files/rtd-theme-70526f5bd8886126f49833ef20604a2c6477780a/static/css/fonts/lato-bold-italic.woff
	deleted:    math/z3/files/z3-fstar.profdata.tar.xz
	deleted:    net/macos-fortress/files/hphosts-hosts_20180316.txt.bz2
On branch php84
Changes to be committed:
	modified:   _resources/port1.0/group/php-1.1.tcl
	modified:   lang/php/Portfile
			-> php84-imap   : not found
			-> php84-pspell : not found

	modified:   php/php-APCu/Portfile
	modified:   php/php-igbinary/Portfile
	modified:   php/php-imagick/Portfile    <- building fails
	modified:   php/php-lzf/Portfile
	modified:   php/php-mailparse/Portfile
	modified:   php/php-mcrypt/Portfile     <- building fails
	modified:   php/php-memcached/Portfile
	modified:   php/php-mongodb/Portfile
	modified:   php/php-raphf/Portfile
	modified:   php/php-redis/Portfile
	modified:   php/php-timezonedb/Portfile
	modified:   php/php-vld/Portfile        <- configure fails
	modified:   php/php-xdebug/Portfile
	modified:   php/php-yaml/Portfile
	modified:   php/php-zip/Portfile
Inserted placeholder for php85

Changes to be committed:
	modified:   lang/php/Portfile
…nd is no longer bundled with PHP as of PHP 8.4.0

Thus, two new php ports need to be created

Also, a fix for the php85 placholder

On branch php84

Changes to be committed:
	modified:   lang/php/Portfile
On branch php84

Changes to be committed:
	modified:   lang/php/Portfile
	new file:   php/php-imap/Portfile
On branch php84

Changes to be committed:
	modified:   lang/php/Portfile
	new file:   php/php-pspell/Portfile
On branch php84

Changes to be committed:
	modified:   lang/php/Portfile
On branch php84

Changes to be committed:
	modified:   lang/php/Portfile
	deleted:    lang/php/files/patch-php52-libxml2-2.12.diff
	deleted:    lang/php/files/patch-php53-libxml2-2.12.diff
	deleted:    lang/php/files/patch-php54-libxml2-2.12.diff
	deleted:    lang/php/files/patch-php55-libxml2-2.12.diff
	deleted:    lang/php/files/patch-php56-libxml2-2.12.diff
	deleted:    lang/php/files/patch-php70-libxml2-2.12.diff
	deleted:    lang/php/files/patch-php71-libxml2-2.12.diff
	deleted:    lang/php/files/patch-php72-libxml2-2.12.diff
	deleted:    lang/php/files/patch-php73-libxml2-2.12.diff
	deleted:    lang/php/files/patch-php74-libxml2-2.12.diff
	deleted:    lang/php/files/patch-php80-libxml2-2.12.diff
	deleted:    lang/php/files/patch-php81-libxml2-2.12.diff
On branch php84

Changes to be committed:
	modified:   lang/php/Portfile
	new file:   lang/php/files/patch-php81-ext-hash-config.m4.diff
	new file:   lang/php/files/patch-php81-ext-hash-config.w32.diff
	new file:   lang/php/files/patch-php81-ext-hash-php_hash_xxhash.h.diff
	new file:   lang/php/files/patch-php82-ext-hash-config.m4.diff
	new file:   lang/php/files/patch-php82-ext-hash-config.w32.diff
	new file:   lang/php/files/patch-php82-ext-hash-php_hash_xxhash.h.diff
	new file:   lang/php/files/patch-php83-ext-hash-config.m4.diff
	new file:   lang/php/files/patch-php83-ext-hash-config.w32.diff
	new file:   lang/php/files/patch-php83-ext-hash-php_hash_xxhash.h.diff
On branch php84

Changes to be committed:
	modified:   lang/php/Portfile

	deleted:    lang/php/files/patch-php81-ext-hash-config.w32.diff
	deleted:    lang/php/files/patch-php82-ext-hash-config.w32.diff
	deleted:    lang/php/files/patch-php83-ext-hash-config.w32.diff
		these are for Windows - not needed

	deleted:    lang/php/files/patch-php81-ext-hash-php_hash_xxhash.h.diff
	deleted:    lang/php/files/patch-php82-ext-hash-php_hash_xxhash.h.diff
	deleted:    lang/php/files/patch-php83-ext-hash-php_hash_xxhash.h.diff
		consolidated into lang/php/files/patch-{phpversion}-ext-hash-xxhash.diff

	renamed:    lang/php/files/patch-php81-ext-hash-config.m4.diff -> lang/php/files/patch-php81-ext-hash-xxhash.diff
	renamed:    lang/php/files/patch-php83-ext-hash-config.m4.diff -> lang/php/files/patch-php82-ext-hash-xxhash.diff
	renamed:    lang/php/files/patch-php82-ext-hash-config.m4.diff -> lang/php/files/patch-php83-ext-hash-xxhash.diff
On branch php84
Changes to be committed:
	modified:   php/php-imap/Portfile
!!NOT!! working correctly
1) patching
2) default variant

On branch php84

Changes to be committed:
	modified:   php/php-imagick/Portfile
	new file:   php/php-imagick/files/patch-imagick.c.diff
fixes for
    1) patching
    2) default variant

On branch php84

Changes to be committed:
	modified:   php/php-imagick/Portfile
On branch php84

Changes to be committed:
	modified:   php/php-mcrypt/Portfile
	new file:   php/php-mcrypt/files/patch-mcrypt.c.diff

@@ -38,7 +38,7 @@
the /ext/standard/php_rand.h file has de facto been moved a log time ago
... even in php83 it's a reference

@@ -1414,7 +1414,7 @@
the php_rand() function is de facto an alias of php_mt_rand()
this alias has been removed in php84
On branch php84

Changes to be committed:
	modified:   php/php-vld/Portfile
	new file:   php/php-vld/files/patch-config.m4.diff
	new file:   php/php-vld/files/patch-php84_opcodes.diff
	new file:   php/php-vld/files/patch-srm_oparray.c.diff

OK - so what goes wrong here, is that the developer has made some
un-published changes to the code-base.

In particular :

1)  derickr/vld@d7abb0c
    PHP_CHECK_GCC_ARG is now AX_CHECK_COMPILE_FLAG

2)  derickr/vld@df1c52c
    Add support for PHP 8.4 opcodes ZEND_JMP_FRAMELESS
    and ZEND_FRAMELESS_ICALL_[0-3]

3) derickr/vld@dc56f73
   PHP 8.4: Support for opcode-less exit
The following extensions presently fail to configure -or- build:
                     @8.2.27 @8.3.16 @8.4.3
php-mysql_xdevapi                       x
php-rar                 x       x       x
php-openswoole                  x       x
php-swoole                      x       x
php-vld                                 x
php-xapian              x       x       x
php-yaf                                 x

On branch php84

Changes to be committed:
	modified:   devel/xapian-core/Portfile
	modified:   php/php-amqp/Portfile
	modified:   php/php-dbase/Portfile
	modified:   php/php-event/Portfile
	modified:   php/php-gearman/Portfile
	modified:   php/php-geoip/Portfile
	modified:   php/php-gmagick/Portfile
	modified:   php/php-jsmin/Portfile
	modified:   php/php-maxminddb/Portfile
	modified:   php/php-memcache/Portfile
	modified:   php/php-meminfo/Portfile
	modified:   php/php-mysql_xdevapi/Portfile
	modified:   php/php-oauth/Portfile
	modified:   php/php-openswoole/Portfile
	modified:   php/php-pcov/Portfile
	modified:   php/php-psr/Portfile
	modified:   php/php-rar/Portfile
	modified:   php/php-rrd/Portfile
	modified:   php/php-scrypt/Portfile
	modified:   php/php-solr/Portfile
	modified:   php/php-sqlsrv/Portfile
	modified:   php/php-ssh2/Portfile
	modified:   php/php-stomp/Portfile
	modified:   php/php-svm/Portfile
	modified:   php/php-swoole/Portfile
	modified:   php/php-uploadprogress/Portfile
	modified:   php/php-uuid/Portfile
	modified:   php/php-xhprof/Portfile
	modified:   php/php-xmlrpc/Portfile
	modified:   php/php-yaf/Portfile
	modified:   php/php-yaz/Portfile
	modified:   php/php-zstd/Portfile
Changes to be committed:
	modified:   php/php-gmagick/Portfile
	modified:   php/php-imagick/Portfile
* added variant postgresql17

On branch php84
Changes to be committed:
	modified:   lang/php/Portfile
fix for forgot to change:
        depends_lib-append      port:postgresql17

On branch php84
Changes to be committed:
	modified:   lang/php/Portfile
On branch php84
Changes to be committed:
	modified:   lang/php/Portfile
On branch php84
Changes to be committed:
	modified:   lang/php/Portfile
replaced the outdated mariadb variant with newer LTS variants based upon
	mariadb10 -> port:mariadb-10.11
	mariadb11 -> port:mariadb-11.4

Changes to be committed:
	modified:   lang/php/Portfile
Changes to be committed:
	modified:   lang/php/Portfile
	new file:   lang/php/files/patch-php74-libxml.diff
	new file:   lang/php/files/patch-php74-libxml.diff.fails
	new file:   lang/php/files/patch-php74-libxml.diff.orig
	new file:   lang/php/files/patch-php80-libxml.diff
	new file:   lang/php/files/patch-php80-libxml.diff.fails
	new file:   lang/php/files/patch-php80-libxml.diff.orig
php/php-src#14834
Error installing PHP when --with-pear is used macports#14834

php/php-src@67259e4
Fix macportsGH-14834: Error installing PHP when --with-pear is used

Changes to be committed:
	modified:   lang/php/Portfile
	new file:   lang/php/files/ext-xml-tests-gh14834.phpt
	new file:   lang/php/files/patch-php74-ext-xml-compat.c.diff
	new file:   lang/php/files/patch-php80-ext-xml-compat.c.diff
1st attempt at fixing this
https://trac.macports.org/ticket/70468
php74 @7.4.33: Undefined symbols _res_9_dn_expand, _res_9_dn_skipname, _res_9_init, _res_9_search,

by implementing the changes from
php/php-src@aeaab8e
Port various autoconf bits to C99 compilers

Changes to be committed:
	modified:   lang/php/Portfile
	new file:   lang/php/files/patch-php73-implicit.diff <- placeholder
	new file:   lang/php/files/patch-php74-implicit.diff
…mpatibility variant" {}

Changes to be committed:
	modified:   lang/php/Portfile
Changes to be committed:
	modified:   lang/php/Portfile
@macportsbot
Copy link

Notifying maintainers:
@landonf for port everparse, z3.
@ryandesign for port xapian-core, php, php-APCu, php-amqp, php-dbase, php-event, php-gearman, php-geoip, php-gmagick, php-igbinary, php-imagick, php-jsmin, php-lzf, php-mailparse, php-maxminddb, php-mcrypt, php-memcache, php-memcached, php-meminfo, php-mongodb, php-mysql_xdevapi, php-oauth, php-openswoole, php-pcov, php-psr, php-raphf, php-rar, php-redis, php-rrd, php-scrypt, php-solr, php-sqlsrv, php-ssh2, php-stomp, php-svm, php-swoole, php-timezonedb, php-uploadprogress, php-uuid, php-vld, php-xdebug, php-xhprof, php-xmlrpc, php-yaf, php-yaml, php-yaz, php-zip, php-zstd.
@essandess for port ghc, macos-fortress.

@ryandesign
Copy link
Contributor

ryandesign commented Apr 15, 2025

Obviously a commit bomb like this is impossible for me to review, not to mention that is has conflicts so it can't be merged.

@BjarneDMat
Copy link
Contributor Author

what do you want me to do with it ?
I've tried asking you on the mailing lists what the best way would be
The conflict is because of the proposed changes to php-mysql and the mariadb variants, which are also in #28046

@BjarneDMat
Copy link
Contributor Author

BjarneDMat commented Apr 15, 2025

there're also some problems that are still un-resolved that I need some help with
they are all described on both the mailin list as well as the comments to the commits on my branch

@reneeotten reneeotten marked this pull request as draft April 16, 2025 03:45
@hostep
Copy link

hostep commented Apr 16, 2025

Thank you for the effort @BjarneDMat! I was able to install PHP 8.4.6 with these changes without issues so far, using:

  • macOS 13.7.5
  • Intel processor
  • Xcode Command Line tools version 14.3.1

I have another computer with apple silicon and macOS 14 on which I'll try it out in a few days as well.

Looking forward to seeing this being merged!

Changes to be committed:
	modified:   lang/php/Portfile
@hostep
Copy link

hostep commented May 28, 2025

@ryandesign: what needs to happen to move this forward?

I understand it's a big PR and is hard to review, but the PHP packages in macports are basically stuck since half a year.
I understand this is open source and maintainers need to have time and energy to keep maintaining packages, but I think it's becoming a problem with the PHP packages at the moment.

If only one single person is responsible for PHP packages in macports, we have a big problem, so is there a way to pull in more maintainers so PHP packages can be better maintained again in the near future?

Many thanks! And I hope we can see some progress here soonish if possible.

@rsky
Copy link

rsky commented Jun 4, 2025

In this PR, CI-related files are deleted, which is causing conflicts with the master branch. It was probably done to prevent GitHub Actions from running on the user's cloned repository, but this should be handled by disabling Actions in the repository settings.

@BjarneDMat
Copy link
Contributor Author

In this PR, CI-related files are deleted, which is causing conflicts with the master branch. It was probably done to prevent GitHub Actions from running on the user's cloned repository, but this should be handled by disabling Actions in the repository settings.

@rsky I must confess, I've absolutely no idea at all what you're talking about ... I ought to have done exactly the same things as I've done w/ all other PRs I've sumbittet. I know, I've done nothing to explicitly disable GitHub Actions on my own repo.

What can I do to fix this issue ?

Changes to be committed:
	modified:   lang/php/Portfile
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

8 participants