Bug 250648

Summary: lang/php80-extensions xmlrpc broken
Product: Ports & Packages Reporter: Jack <xxjack12xx>
Component: Individual Port(s)Assignee: Torsten Zuehlsdorff <tz>
Status: Closed FIXED    
Severity: Affects Only Me CC: dereks
Priority: --- Flags: bugzilla: maintainer-feedback? (tz)
Version: Latest   
Hardware: Any   
OS: Any   

Description Jack 2020-10-26 19:37:58 UTC
When choosing option XMLRPM, results in

Unknown extension xmlrpc for PHP 80.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/lang/php80-extensions
Comment 1 commit-hook freebsd_committer freebsd_triage 2020-10-26 21:20:57 UTC
A commit references this bug:

Author: tz
Date: Mon Oct 26 21:20:13 UTC 2020
New revision: 553386
URL: https://svnweb.freebsd.org/changeset/ports/553386

Log:
  lang/php80-extensions: remove XMLRPC option

  Remove this option because the module / port was removed from PHP 8.0

  PR:		250648
  Reported by:	Jack
  Sponsored by:	PHP Update Service

Changes:
  head/lang/php80-extensions/Makefile
Comment 2 Torsten Zuehlsdorff freebsd_committer freebsd_triage 2020-10-26 21:22:34 UTC
Hi Jack,

thank you for the PR! XMLRPC was removed from PHP 8.0. Its now just a PECL part. I forgot to remove the option from the extensions-port. But now its removed there also!

Thank you!
Torsten
Comment 3 Derek Schrock 2021-03-07 05:17:13 UTC
Should a net/php80-xmlrpc port be created for this?

I guess at the time this didn't exist? https://pecl.php.net/package/xmlrpc  The first release was 2021.
Comment 4 Torsten Zuehlsdorff freebsd_committer freebsd_triage 2021-03-07 15:23:51 UTC
> Should a net/php80-xmlrpc port be created for this?

No, it was removed in full consciousness. :D

Reason is, that xmlrpc is no longer part of PHP starting with PHP 8.0. That is why the port is removed, while it is still there for PHP 7.3 and 7.4.
Comment 5 Derek Schrock 2021-03-07 18:10:39 UTC
Yes, I understand that but to maintain compatibility with USE_PHP= xmlrpc everything would just work if there was a net/php80_xmlrpc port.

I guess the current claim is a cat/phpXY_ext port would HAVE to be an extension from php itself?  If so I understand why you might not want to name it that.

Is that also true for USE_PHP?  All extensions for USE_PHP must come from php? 

If yes then I guess all the logic for version checking needs to be done a the port level for every port that wants to use xmlrpc and php7 or php8? If not it seems that this could still be handled by the ports framework in Mk/Uses/php.mk by checking the version of php, and have a depends that includes net/pecl-xmlrpc (would need to be created)?
Comment 6 Torsten Zuehlsdorff freebsd_committer freebsd_triage 2021-03-07 18:39:10 UTC
>Yes, I understand that but to maintain compatibility with USE_PHP= xmlrpc everything would just work if there was a net/php80_xmlrpc port.

> I guess the current claim is a cat/phpXY_ext port would HAVE to be an extension from php itself?  If so I understand why you might not want to name it that.

Yes, that is right :) There are one or two single exceptions introduced long before my time and they cause constant irritation :D

> Is that also true for USE_PHP?  All extensions for USE_PHP must come from PHP? 

No, USE_PHP also contains some pecl ports. So if you want to introduce xmlrpc back you need to:

1. create net/pecl-xmlrpc
2. register the new module in Mk/Uses/php.mk in _USE_PHP_ALL
3. Add the connection to the pecl list in the DEPENDS block below

I can help you a little bit, if you want to do it this way.
Comment 7 Derek Schrock 2021-03-07 19:25:47 UTC
Ok sounds good.  I'll start down that path.  I think I have a good idea what to do based of the previous comment.

If I create a review I can add you as a reviewer?
Comment 8 Torsten Zuehlsdorff freebsd_committer freebsd_triage 2021-03-07 20:57:33 UTC
> If I create a review I can add you as a reviewer?

Sure! I am looking forward it :)
Comment 10 commit-hook freebsd_committer freebsd_triage 2021-03-28 23:49:27 UTC
A commit references this bug:

Author: tz
Date: Sun Mar 28 23:48:46 UTC 2021
New revision: 569420
URL: https://svnweb.freebsd.org/changeset/ports/569420

Log:
  New port: net/pecl-xmlrpc

  These functions can be used to write XML-RPC servers and clients.
  You can find more information about XML-RPC at http://www.xmlrpc.com/,
  and more documentation on this extension and its functions at
  http://xmlrpc-epi.sourceforge.net/.

  WWW: https://pecl.php.net/package/xmlrpc

  PR:		254285, 250648
  Submitted by:	Derek Schrock <dereks@lifeofadishwasher.com>
  Reviewed by:	tz, ale
  Approved by:	tz, ale
  Differential Revision:	https://reviews.freebsd.org/D29264

Changes:
  head/Mk/Uses/php.mk
  head/net/Makefile
  head/net/pecl-xmlrpc/
  head/net/pecl-xmlrpc/Makefile
  head/net/pecl-xmlrpc/distinfo
  head/net/pecl-xmlrpc/pkg-descr