Mk/Uses/php.mk: Add DEV_WARNING for USES=php:pecl
- php has declared pecl infrastructure as deprecated in lieu of pie
- Considering this add a warning for DEV to convert these packages to
standard extensions
- Most of the pecl ports have an upstream src repo in a version control
system
- Move the port with a prefix name php-, update the MASTER_SITES and
use USES=php:ext
- Update the reverse dependencies
- If you are a non-committer feel free to reach out for necessary
assistance
textproc/{pecl|php}-pspell: Convert port
This extension allows you to check the spelling of a word and offer
suggestions using aspell.
Please note that pecl infrastructure is being deprecated so create a
different port which is not dependent on pecl infrastructure.
This commit also removes pecl-pspell ports in lieu of this port.
WWW: https://github.com/php/pecl-text-pspell
lang/php85: Update version 8.5.0alpha2=>8.5.0alpha3
- Remove opcache module as it is part of default php
- Remove www/php85-opcache
- Remove opcache module from lang/php85-extensions
- Indent Makefile properly
Please DO NOT use this version in production, it is an early test
version.
Changelog: https://github.com/php/php-src/blob/php-8.5.0alpha3/NEWS
**php**: Switch PHP default
Active support for php 8.2 ends tonight. So time to switch the PHP
default. See:
https://www.php.net/supported-versions.php
Tested through local exp-run.
Approved by: portmgr (blanket)
mail/pecl-imap: New port
PHP extension to operate with the IMAP protocol, as well as the NNTP,
POP3, and local mailbox access methods.
This extension is no longer maintained by php team officially and might
phase out of support in near future.
Mk/Uses: Fix feature checks after my previous {WITH,WITHOUT}_*_PORTS change
Test Plan:
Take cmake.mk for example. Choosing a port with USES=cmake and running
`make -V CMAKE_BUILD_TYPE` gives "Release" and
`make -V CMAKE_BUILD_TYPE WITH_DEBUG=yes` gives "Debug". However,
`make -V CMAKE_BUILD_TYPE WITH_DEBUG_PORTS=this/port` still gives "Release"
unless this change is applied.
Differential Revision: https://reviews.freebsd.org/D44748
Fixes: d697653cffd19ddaf3cdee2589a830c72ab39777
Approved by: bapt
lang/php* : Change default to 8.2
As active support of php81 ends on 25th November, 2023 it's time to
switch the default version to 8.2.
See https://www.php.net/supported-versions.php for more details.
PR: 274463
Approved by: portmgr (exp-run)
lang/php83: Update version 8.3.0beta3=>8.3.0RC1
Please DO NOT use this version in production, it is an early test
version.
Changelog: https://github.com/php/php-src/blob/php-8.3.0RC1/NEWS
Sponsored by: Bounce Experts
Mk/Uses/php.mk: Refactor
- Replace old USE_APACHE_RUN with USES=apache:run
- Prior to php8.0 there was a check for the required libname which
contained the version number of php. Remove the conditional.
Sponsored by: Bounce Experts
*/*php74*: Sunset php 7.4
As per upstream php 7.4 has reached it's EOL on 2022-11-22. Remove php74
from the tree. Default version of php has already been switched to 8.1.
Approved by: portmgr (blanket infrastructure)
Sponsored by: Bounce Experts
Mk/bsd.default-versions.mk: Change PHP default version to 8.1
Switching php DEFAULT_VERSION from 8.0 to 8.1. php 8.0 Active support
ends on 2022-11-26. This will not be merged in quarterly.
PR: 266854
Tested by: antoine
Approved by: ale
Relnotes: https://www.php.net/supported-versions.php
Sponsored by: Bounce Experts
lang/php82: Update version 8.2.0beta2=>8.2.0RC2
- Core:
. Fixed bug GH-9500 (Using dnf type with parentheses after readonly
keyword results in a parse error). (ilutov)
. Fixed bug GH-9516 ((A&B)|D as a param should allow AB or D. Not
just A). (Girgias)
- GMP
. Fixed bug GH-9308 (GMP throws the wrong error when a GMP object is
passed to gmp_init()). (Girgias)
- Intl
. Fixed bug GH-9421 (Incorrect argument number for ValueError in
NumberFormatter). (Girgias)
- Opcache:
. Fixed bug GH-9259 (opcache.interned_strings_buffer setting integer
overflow). (Arnaud)
- OpenSSL:
. Fixed bug GH-9517 (Compilation error openssl extension related to
PR GH-9366). (Jakub Zelenka)
- PDO_PGSQL:
. Fixed bug GH-9411 (PgSQL large object resource is incorrectly
closed). (Yurunsoft)
- Random:
. Fixed bug GH-9464 (build on older macOs releases). (David Bohman)
- Standard:
. Marked crypt()'s $string parameter as #[\SensitiveParameter].
(timwolla)
. Fixed bug GH-9464 (build on older macOs releases). (David Bohman)
. Fixed bug GH-9518 (Disabling IPv6 support disables unrelated
constants). (cmb)
Please DO NOT use this version in production, it is an early test
version.
Relnotes: https://github.com/php/php-src/blob/php-8.2.0RC2/NEWS
Sponsored by: Bounce Experts
lang/zephir: add zephir, it is a transpiled language used for creating
C-extensions for PHP.
PR: 265737
Reported by: R. Christian McDonald cmcdonald at netgate dot com
lang/php82: Update version 8.2.0a3=>8.2.0b2
- Fix building with some DEFAULT OPTIONS off [1]
PR: 265500 [1]
Reported by: a.shikov@itcons.net.ua [1]
Sponsored by: Bounce Experts
*/*php82*: Welcome php 8.2.0 Alpha 1
Please DO NOT use this version in production, it is an early test
version.
port-committers@ please DO NOT mark your ports IGNORE_WITH_PHP=82. A
build is running to check all php ports with php82 and will be
committed in batch tomorrow.
Sponsored by: Bounce Experts
framework: cleanup conditional-indentations in Mk/
Run Tools/scripts/indent_make_if.pl on all of Mk.
These white space changes contribute greatly to the readability of those files.
As we have a version control system, finding out the reasons for the changes
prior to these white space changes is still easily possible
Differential Revision: https://reviews.freebsd.org/D35024
Reviewed by: portmgr (rene, bapt)
Uses/php.mk: Helper variable to disable FLAVOR
- Currently our php.mk is defined in such a way that when testing with
poudriere if a port do not support the PHP default version it tries to
build with a different php version that the port supports.
Unfortunately this behavior is not too much helpful when we want to
add/remove a old/new php version as it doesn't gives a clear picture
of which ports fails to build with a specific PHP version. So this
patch defines a variable "BUILD_ONLY_DEFAULT_PHP_FLAVOR". If this
variable is defined in make.conf then poudriere will build with default
flavor and in case it's not supported this will IGNORE/SKIP the port which
gives a clear overview of which ports are going to create problem
while adding/removing/changing default php.
- One more thing is there are some old php modules still listed
specifically dbase_DEPENDS, mssql_DEPENDS and sybase_ct_DEPENDS which
are actually no longer in the tree.
PR: 262639
Approved by: ale (maintainer-timeout)
Sponsored by: Bounce Experts
lang/php8[01]: Make openssl as DEFAULT
After the 91fdbed776033fd4b210135429a171ab5fed549b commit fixing the
issue for MySQL80 introduced another problem for the ports that depends
on php8[01]-openssl port couldn't be built as the fix prevented
php8[01]-openssl from being installed as it's already built with
default php installation. As the problem has grown much bigger now and
php80 is currently the DEFAULT php version so we are switching the
behavior of php8[01] ports making the openssl module as default.
- Remove non-default OPTION MYSQL80 from lang/php8[01]
- Remove ports security/php8[01]-openssl
- Remove OPTION OPENSSL from lang/php8[01]-extensions
- Mark lang/php8[01] to IGNORE with libressl and libressl-devel
Although php builds fine with those most of the extensions do not
as they have dependency on curl. So mark it early.
- OPTIONIZE lang/php80
- Change openssl_DEPENDS to conditional for php74 only as this module
is default from php80 with this commit. php74 do not have the issue
where it fails to connect to MySQL80 due to new caching_sha2_password
- Remove hash_DEPENDS from php.mk as it is a default module for all php
- Change json_DEPENDS to conditional for php74 only as this module is
default from php80
PR: 261797259793252420
Reported by: sean@rogue-research.com martin@waschbuesch.de
Approved by: tz (private email) ale (private email)
Sponsored by: Bounce Experts
Fix libphp name in php.mk
- From php80 and onwards libphp name is libphp.so without the major
version number. Add a check to fix the RUN_DEPENDS.
PR: 251252
Reported by: jonaspalm@posteo.de
Approved by: ale (maintainer)
Sponsored by: Bounce Experts
Change PHP default version to 8.0
- databases/xapian-bindings is a mata port which do not have
php:flavors and is unable to be MARKED to IGNORE as one of it's
dependent databases/php-xapian do not support php8.0. Hence this
creates a circular dependency and it fails to start bulk building. So
for now remove PHP from OPTIONS_DEFAULT.
PR: 260595
Approved by: ale portmgr(exp-run)
Sponsored by: Bounce Experts
Welcome php81 to the tree
- Move extension sodium to common as all current supported php versions
in the tree supports it
PR: 260774
Approved by: ale
Sponsored by: Bounce Experts
Welcome PHP 8.0 RC 2 to the ports tree
There are many greater changes including:
- json is now part of core
- xmlrpc is removed
- More than 150 backward incompatible changes
Have a look at: https://github.com/php/php-src/blob/php-8.0.0RC2/UPGRADING
Reviewed by: ale, mfechner, Pascal Christen
Sponsored by: PHP Update Service
Differential Revision: https://reviews.freebsd.org/D26848
Mk/bsd.port.mk: detect powerpc64 abi
We'll have a new abi on ppc64 soon (ELFv2) which is incompatible with the ELFv1
abi. We need to detect the abi on which we build stuff.
Submitted by: mikael_urankar@gmail.com
Approved by: portmgr (earlier version)
Differential Revision: https://reviews.freebsd.org/D22039
Mk/Uses/php.mk: fix build of all PHP modules when using php74 on GCC
architectures
php74 introduced C11 requirement and all optional PHP modules available in the
ports tree need to use C11 compiler.
PR: 240883
Approved by: portmgr
Welcome PHP 7.4 RC 1 in the ports-tree.
There are many greater changes including:
- New module ffi
- Remove interbase module
- Remove recode module
- Remove wddx module
- Many modules changes the build switches
- Many modules changes the config format, so patches needed to be recreated
Special thanks to tobik and ale for their support.
Reviewed by: tobik, ale, joneum
Sponsored by: PHP Update Service
Differential Revision: https://reviews.freebsd.org/D21349
Put back the php extension installation message, now that it can be
shown on installation only.
Differential Revision: https://reviews.freebsd.org/D20510
Add PHP 7.3 RC2 to the ports-tree.
Notable changes:
- Switch from PCRE to PCRE2
- Many modules now require PCRE2 for building
- graphics/php73-gd: X11 option is no longer default
Changes to Mk/Uses/php.mk approved by ale
Introduce PHP flavors.
Ports using USES=php:phpize, php:ext, php:zend, and php:pecl are now
flavored. They will automatically get flavors (php56, php70, php71, php72)
depending of the versions they support (set with IGNORE_WITH_PHP). As a
consequence, ports using USES=pear and USES=horde are also flavored.
PR: 226242
Submitted by: mat
Exp-run by: antoine
Approved by: portmgr
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D14208
Uses/php.mk: add missing sodium dependency
The issue becomes apparent when trying to build lang/php72-extensions
with sodium checked.
PR: 223811
Submitted by: Daniel Ylitalo <daniel@blodan.se>
Approved by: ale
Add PHP 7.2 RC6
Notable changes:
- mcrypt module was removed
- sodium module was added
- sybase_ct artifacts removed
Also many PECL ports will not work with this version
since some files got renamed.
Reviewed by: mat, ale, Rainer Duffner <rainer@ultra-secure.de>
Differential Revision: https://reviews.freebsd.org/D12980
Remove the php extensions pkg-message, it is more annoying than not.
Approved by: bapt, adamw
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D13001
Make USES=php behaves a bit more nicely with PHP 7.0 and 7.1 for ports
where USE_PHP includes modules that are 5.6 only (like mysql).
Sponsored by: Absolight
Uses/php.mk: Use EGREP instead of GREP when parsing config.h
Using ${GREP} was failing when grep was built with the WITHOUT_GNU_GREP_COMPAT
knob in src.conf. According to POSIX, | only works for alternation in extended
regular expressions (grep -E), although GNU grep disregards the difference.
The new syntax with ${EGREP} and no escaping of special characters works with
both BSD grep (without WITHOUT_GNU_GREP_COMPAT) as well as GNU grep.
Approved by: mat
Differential Revision: https://reviews.freebsd.org/D8663
Don't use extension.ini any more, and have each extension install in its
file, so the order remains the same.
Every PHP (or Zend) extension now installs its own .ini file in
/usr/local/etc/php. A PHP extension will be automatically activated
when installed. The order into which extensions are loaded is
automatically guessed. In some very rare cases, the guess will be
wrong, and PHP_MOD_PRIO will need to be set. Refer to the USES=php
section of the Porter's Handbook for more information.
Convert ports touching etc/php/extensions.ini manually, or telling the
OP to do it.
And finally, bump PORTREVISION for all php extensions.
PR: 210697
Submitted by: mat
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D7022
Always include bsd.default-versions.mk in bsd.port.mk.
The variable defined in it are now always available after including
bsd.port.pre.mk.
PR: 210666
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D6933
For some reason, != "" and == "" don't work the same with make and
fmake, but, empty does.
Pointy hat to: mat, or make(1) pick one.
Sponsored by: Absolight
Add support for USE_PHP=ext:build to add a build dependency on the extension.
PR: 210529
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D6936