Skip to content

Commit

Permalink
Add config for PHP 8.5
Browse files Browse the repository at this point in the history
  • Loading branch information
shivammathur committed Sep 26, 2024
1 parent 6f4cbbb commit e8592f4
Show file tree
Hide file tree
Showing 50 changed files with 2,477 additions and 12 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ on:
required: false
php-versions:
description: 'PHP version to build'
default: '5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4'
default: '5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 8.5'
required: false
container-os-versions:
description: 'OS versions to build on'
Expand All @@ -28,7 +28,7 @@ on:
env:
CONTAINER_OS_LIST: ubuntu:20.04 ubuntu:22.04 ubuntu:24.04 debian:11 debian:12
RUNNER_OS_LIST: ubuntu-20.04 ubuntu-22.04 ubuntu-24.04
PHP_LIST: 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4
PHP_LIST: 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 8.5
SAPI_LIST: apache2 cgi cli embed fpm phpdbg
BUILD_LIST: nts zts

Expand Down
128 changes: 128 additions & 0 deletions config/definitions/8.5
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# Common extensions
--enable-bcmath=shared
--with-bz2=shared,/usr
--enable-calendar=shared
--enable-ctype=shared
--with-curl=shared
--with-enchant=shared
--enable-exif=shared
--enable-fileinfo=shared
--enable-filter
--with-ffi=shared
--enable-ftp=shared
--with-openssl-dir=/usr
--with-gettext=shared,/usr
--with-gmp=shared
--enable-intl=shared
--with-iconv=shared
--with-libedit=shared
--with-openssl
--enable-pdo=shared
--with-pdo-dblib=shared,/usr
--with-pdo-firebird=shared,/usr
--enable-phar=shared
--enable-posix=shared
--enable-session
--enable-shmop=shared
--enable-sockets=shared
--enable-sysvmsg=shared
--enable-sysvsem=shared
--enable-sysvshm=shared
--with-tidy=shared,/usr
--enable-tokenizer=shared
--with-xsl=shared
--with-zip=shared

# dba
--enable-dba=shared
--with-db4=/usr
--without-gdbm
--with-qdbm=/usr
--with-lmdb=/usr
--enable-inifile
--enable-flatfile

# gd
--enable-gd=shared,/usr
--with-external-gd

# mhash
--with-mhash=/usr

# ldap
--with-ldap=shared,/usr
--with-ldap-sasl

# mbstring
--enable-mbstring=shared
--enable-mbregex

# mysql
--enable-mysqlnd=shared
--enable-mysqlnd-compression-support
--with-zlib=/usr
--with-mysqli=shared,mysqlnd
--with-mysql-sock=/var/run/mysqld/mysqld.sock
--with-pdo-mysql=shared,mysqlnd
--with-mysql-sock=/var/run/mysqld/mysqld.sock

# odbc
--with-unixODBC=shared,/usr
--with-pdo-odbc=shared,unixODBC,/usr

# pgsql
--with-pgsql=shared,/usr
--with-pdo-pgsql=shared,/usr

# snmp
--with-snmp=shared,/usr

# soap
--enable-soap=shared
--with-libxml

# sodium
--with-sodium
--with-password-argon2

# sqlite
--with-sqlite3=shared
--with-pdo-sqlite=shared

# xml
--enable-dom=shared
--enable-simplexml=shared
--enable-xml=shared
--enable-xmlreader=shared
--enable-xmlwriter=shared

# opcache
--enable-opcache
--enable-huge-code-pages

# Common config
--build=BUILD_MACHINE_SYSTEM_TYPE
--host=HOST_MACHINE_SYSTEM_TYPE
--config-cache
--cache-file=/tmp/config.cache
--with-libdir=lib/BUILD_MACHINE_SYSTEM_TYPE
--libdir=/usr/lib/php
--program-suffix=PHP_VERSION
--sysconfdir=/etc
--localstatedir=/var
--disable-rpath
--disable-static
--with-pic
--with-layout=GNU
--without-pear
# --with-external-pcre
--with-system-tzdata

# Placeholder for thread-safe build.
ZTS

# Placeholder for patch commands.
PATCHES

# Placeholder for INSTALL command.
INSTALL
2 changes: 2 additions & 0 deletions config/definitions/zts/8.5
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
--disable-zend-signals
--enable-zts
18 changes: 18 additions & 0 deletions config/extensions/8.5
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
pecl amqp
pecl apcu
pecl ast
pecl ds
pecl igbinary
pecl imagick
pecl memcache
pecl mongodb
pecl msgpack
pecl pcov
pecl redis
pecl sqlsrv
pecl pdo_sqlsrv
pecl yaml
git imap https://github.com/php/pecl-mail-imap main --with-imap=shared,/usr --with-kerberos --with-imap-ssl=/usr
git xdebug https://github.com/xdebug/xdebug master
git memcached https://github.com/php-memcached-dev/php-memcached master --enable-memcached --enable-memcached-igbinary --enable-memcached-json --enable-memcached-msgpack
git zmq https://github.com/zeromq/php-zmq master
19 changes: 19 additions & 0 deletions config/patches/8.5/0001-libtool_fixes.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
From: Debian PHP Maintainers <[email protected]>
Date: Sat, 2 May 2015 10:26:50 +0200
Subject: libtool_fixes

---
configure.ac | 2 --
1 file changed, 2 deletions(-)

--- a/configure.ac
+++ b/configure.ac
@@ -1556,8 +1556,6 @@ AC_PROVIDE_IFELSE([PHP_REQUIRE_CXX], [],
])
AC_PROG_LIBTOOL

-PHP_SET_LIBTOOL_VARIABLE([--silent])
-
dnl libtool 1.4.3 needs this.
PHP_SET_LIBTOOL_VARIABLE([--preserve-dup-deps])

129 changes: 129 additions & 0 deletions config/patches/8.5/0002-debian_quirks.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
From: Debian PHP Maintainers <[email protected]>
Date: Sat, 2 May 2015 10:26:51 +0200
Subject: debian_quirks

---
configure.ac | 6 +++++-
php.ini-development | 2 +-
php.ini-production | 2 +-
sapi/cli/php.1.in | 11 ++++++-----
scripts/Makefile.frag | 4 ++--
scripts/php-config.in | 8 ++++----
scripts/phpize.in | 4 ++--
7 files changed, 21 insertions(+), 16 deletions(-)

--- a/configure.ac
+++ b/configure.ac
@@ -1141,7 +1141,7 @@ AS_VAR_IF([PHP_CLI], [no], [with_pear=no])
PHP_ARG_WITH([pear],
[whether to install PEAR],
[AS_HELP_STRING([[--with-pear[=DIR]]],
- [Install PEAR in DIR [PREFIX/lib/php]])],
+ [Install PEAR in DIR [PREFIX/share/php]])],
[no],
[yes])

@@ -1169,6 +1169,8 @@ AS_VAR_IF([PHP_PEAR], [no],, [
[pear])
])

+PEAR_INSTALLDIR=/usr/share/php
+
dnl Configuring Zend and TSRM.
dnl ----------------------------------------------------------------------------

@@ -1334,6 +1336,8 @@ datadir=$(eval eval echo $datadir)
dnl Build extension directory path.
ZEND_MODULE_API_NO=$($EGREP '#define ZEND_MODULE_API_NO ' $srcdir/Zend/zend_modules.h|"${SED}" 's/#define ZEND_MODULE_API_NO //')

+AC_SUBST(ZEND_MODULE_API_NO)
+
AC_ARG_VAR([EXTENSION_DIR],
[Default directory for dynamically loadable PHP extensions. If left empty, it
is determined automatically. Can be overridden using the PHP 'extension_dir'
--- a/php.ini-development
+++ b/php.ini-development
@@ -735,7 +735,7 @@ default_charset = "UTF-8"
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
-;include_path = ".:/php/includes"
+;include_path = ".:/usr/share/php"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"
--- a/php.ini-production
+++ b/php.ini-production
@@ -737,7 +737,7 @@ default_charset = "UTF-8"
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
-;include_path = ".:/php/includes"
+;include_path = ".:/usr/share/php"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"
--- a/sapi/cli/php.1.in
+++ b/sapi/cli/php.1.in
@@ -365,13 +365,14 @@ Shows configuration for extension
Show configuration file names
.SH FILES
.TP 15
-.B php\-cli.ini
+.B /etc/php/8.1/cli/php.ini
The configuration file for the CLI version of PHP.
.TP
-.B php.ini
-The standard configuration file will only be used when
-.B php\-cli.ini
-cannot be found.
++.B /etc/php/8.1/cgi/php.ini
++The configuration file for the CGI version of PHP.
++.TP
++.B /etc/php/8.1/apache2/php.ini
++The configuration file for the version of PHP that apache2 uses.
.SH EXAMPLES
.TP 5
\fI@program_prefix@php \-r 'echo "Hello World\\n";'\fP
--- a/scripts/Makefile.frag
+++ b/scripts/Makefile.frag
@@ -2,8 +2,8 @@
# Build environment install
#

-phpincludedir = $(includedir)/php
-phpbuilddir = $(libdir)/build
+phpincludedir = $(includedir)/php/$(DEBIAN_PHP_API)
+phpbuilddir = $(prefix)/lib/php/$(DEBIAN_PHP_API)/build

BUILD_FILES = \
scripts/phpize.m4 \
--- a/scripts/php-config.in
+++ b/scripts/php-config.in
@@ -6,10 +6,10 @@ datarootdir="@datarootdir@"
exec_prefix="@exec_prefix@"
version="@PHP_VERSION@"
vernum="@PHP_VERSION_ID@"
-include_dir="@includedir@/php"
+include_dir="@includedir@/php/@DEBIAN_PHP_API@"
lib_dir="@orig_libdir@"
-includes="-I$include_dir -I$include_dir/main -I$include_dir/TSRM -I$include_dir/Zend -I$include_dir/ext -I$include_dir/ext/date/lib"
-ldflags="@PHP_LDFLAGS@"
+includes="-I$include_dir -I$include_dir/main -I$include_dir/TSRM -I$include_dir/Zend -I$include_dir/ext -I$include_dir/ext/date/lib $(getconf LFS_CFLAGS)"
+ldflags="-L$prefix/lib/php/@DEBIAN_PHP_API@ @PHP_LDFLAGS@"
libs="@EXTRA_LIBS@"
extension_dir="@EXTENSION_DIR@"
man_dir=`eval echo @mandir@`
--- a/scripts/phpize.in
+++ b/scripts/phpize.in
@@ -4,8 +4,8 @@
prefix='@prefix@'
datarootdir='@datarootdir@'
exec_prefix="`eval echo @exec_prefix@`"
-phpdir="`eval echo @libdir@`/build"
-includedir="`eval echo @includedir@`/php"
+phpdir="$prefix/lib/php/@DEBIAN_PHP_API@/build"
+includedir="$prefix/include/php/@DEBIAN_PHP_API@"
builddir="`pwd`"
SED="@SED@"

34 changes: 34 additions & 0 deletions config/patches/8.5/0003-php-5.4.9-phpinfo.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
From: Debian PHP Maintainers <[email protected]>
Date: Sat, 2 May 2015 10:26:51 +0200
Subject: php-5.4.9-phpinfo

Drop "Configure Command" from phpinfo as it doesn't
provide any useful information.
The available extensions are not related to this command.
---
ext/standard/info.c | 3 ---
ext/standard/tests/general_functions/phpinfo.phpt | 1 -
2 files changed, 4 deletions(-)

--- a/ext/standard/info.c
+++ b/ext/standard/info.c
@@ -806,9 +806,6 @@ PHPAPI ZEND_COLD void php_print_info(int
#ifdef PHP_BUILD_ARCH
php_info_print_table_row(2, "Architecture", PHP_BUILD_ARCH);
#endif
-#ifdef CONFIGURE_COMMAND
- php_info_print_table_row(2, "Configure Command", CONFIGURE_COMMAND );
-#endif

if (sapi_module.pretty_name) {
php_info_print_table_row(2, "Server API", sapi_module.pretty_name );
--- a/ext/standard/tests/general_functions/phpinfo.phpt
+++ b/ext/standard/tests/general_functions/phpinfo.phpt
@@ -17,7 +17,6 @@ PHP Version => %s

System => %s
Build Date => %s%a
-Configure Command => %s
Server API => Command Line Interface
Virtual Directory Support => %s
Configuration File (php.ini) Path => %s
Loading

0 comments on commit e8592f4

Please sign in to comment.