-
Notifications
You must be signed in to change notification settings - Fork 278
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
First, just add the modules, copying from 8.3 versions. $ for p in php-8.3-*.yaml; do sed -e 's,epoch: .*,epoch: 0,' \ -e 's,name: php-8.3-,name: php-8.4-,' \ "$p" > php-8.4${p#php-8.3}; done Then fix some to build with 8.4, cherry picking from upstream. * php-8.4-pecl-mcrypt - cherry-pick a PR to build for 8.4 Grab php/pecl-encryption-mcrypt#19 which just uses php_mt_rand_range rather than now-removed php_rand. * php-8.4-imagick - cherry pick pr to build for 8.4 Grab Imagick/imagick#690 to replace php_strlower with zend_str_tolower * php-8.4-xdebug - cherry pick several upstream changes NOTE: I have very low confidence in this, other than it builds. xdebug is active and likely to release a 3.4.0 release soon that has php 8.4 support properly. By adding php-8.4-xdebug with updates enabled, we will get a PR automatically made and hopefully landed just by dropping the cherry-picks here. * Drop php-8.4-swoole - not supported upstream yet. Several changes would be needed to make the 5.1.5 version of swoole build with php 8.4. Upstream explicitly removed support from the 5.1 branch swoole/swoole-src#5525 There is likely 6.0.0 release coming soon (beta released 2024-10-17). We will have to manually re-add at that point in time. * php-8.4-memcached and php-8.4-redis are separated out to another PR as they are dependent on php-8.4-igbinary output.
- Loading branch information
Showing
22 changed files
with
1,548 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
package: | ||
name: php-8.4-amqp | ||
version: 2.1.2 | ||
epoch: 0 | ||
description: "PHP extension to communicate with any AMQP compliant server" | ||
copyright: | ||
- license: PHP-3.01 | ||
dependencies: | ||
runtime: | ||
- ${{package.name}}-config | ||
- php-${{vars.phpMM}} | ||
- rabbitmq-c | ||
|
||
var-transforms: | ||
- from: ${{package.name}} | ||
match: ^php-(\d+\.\d+)-.*$ | ||
replace: "$1" | ||
to: phpMM | ||
|
||
environment: | ||
contents: | ||
packages: | ||
- autoconf | ||
- build-base | ||
- busybox | ||
- php-${{vars.phpMM}} | ||
- php-${{vars.phpMM}}-dev | ||
- rabbitmq-c-dev | ||
|
||
pipeline: | ||
- uses: git-checkout | ||
with: | ||
repository: https://github.com/php-amqp/php-amqp | ||
tag: "v${{package.version}}" | ||
expected-commit: 82424ed50eb10cd97777e2aabf0f2a0887faf447 | ||
|
||
- name: Prepare build | ||
runs: phpize | ||
|
||
- name: Configure | ||
runs: | | ||
set -x | ||
./configure | ||
- uses: autoconf/make | ||
|
||
- name: Make install | ||
runs: | | ||
set -x | ||
INSTALL_ROOT="${{targets.destdir}}" DESTDIR="${{targets.destdir}}" make install | ||
subpackages: | ||
- name: ${{package.name}}-config | ||
pipeline: | ||
- runs: | | ||
mkdir -p "${{targets.subpkgdir}}/etc/php/conf.d" | ||
echo "extension=amqp.so" > "${{targets.subpkgdir}}/etc/php/conf.d/amqp.ini" | ||
update: | ||
enabled: true | ||
github: | ||
identifier: php-amqp/php-amqp | ||
strip-prefix: v | ||
tag-filter: v | ||
use-tag: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
package: | ||
name: php-8.4-apcu | ||
version: 5.1.24 | ||
epoch: 0 | ||
description: "PHP extension for User Cache" | ||
copyright: | ||
- license: PHP-3.01 | ||
dependencies: | ||
runtime: | ||
- ${{package.name}}-config | ||
- php-${{vars.phpMM}} | ||
|
||
var-transforms: | ||
- from: ${{package.name}} | ||
match: ^php-(\d+\.\d+)-.*$ | ||
replace: "$1" | ||
to: phpMM | ||
|
||
environment: | ||
contents: | ||
packages: | ||
- autoconf | ||
- build-base | ||
- busybox | ||
- php-${{vars.phpMM}} | ||
- php-${{vars.phpMM}}-dev | ||
|
||
pipeline: | ||
- uses: git-checkout | ||
with: | ||
repository: https://github.com/krakjoe/apcu | ||
tag: "v${{package.version}}" | ||
expected-commit: 62e67989a35247263c370b5ecebb4e69b73b0709 | ||
|
||
- name: Prepare build | ||
runs: phpize | ||
|
||
- name: Build | ||
runs: | | ||
set -x | ||
./configure | ||
- name: Make install | ||
runs: | | ||
INSTALL_ROOT="${{targets.destdir}}" DESTDIR="${{targets.destdir}}" make install | ||
subpackages: | ||
- name: ${{package.name}}-config | ||
pipeline: | ||
- runs: | | ||
mkdir -p "${{targets.subpkgdir}}/etc/php/conf.d" | ||
echo "extension=apcu.so" > "${{targets.subpkgdir}}/etc/php/conf.d/apcu.ini" | ||
update: | ||
enabled: true | ||
github: | ||
identifier: krakjoe/apcu | ||
strip-prefix: v | ||
tag-filter: v | ||
use-tag: true | ||
|
||
test: | ||
pipeline: | ||
- name: "Check if extension is loaded" | ||
runs: | | ||
php -m | grep -i "apcu" | ||
- name: "Verify extension version" | ||
runs: | | ||
php -r 'echo phpversion("apcu");' | ||
- name: "Test basic cache storage and retrieval" | ||
runs: | | ||
php -d apc.enable_cli=1 -r ' | ||
if (!apcu_store("test_key", "test_value")) exit(1); | ||
$value = apcu_fetch("test_key"); | ||
if ($value !== "test_value") exit(1); | ||
echo "Success"; | ||
' | ||
- name: "Test cache exists functionality" | ||
runs: | | ||
php -d apc.enable_cli=1 -r ' | ||
if (!apcu_store("check_key", "check_value")) exit(1); | ||
if (!apcu_exists("check_key")) exit(1); | ||
if (apcu_exists("nonexistent_key")) exit(1); | ||
echo "Success"; | ||
' | ||
- name: "Test cache deletion" | ||
runs: | | ||
php -d apc.enable_cli=1 -r ' | ||
if (!apcu_store("delete_key", "delete_value")) exit(1); | ||
if (!apcu_delete("delete_key")) exit(1); | ||
if (apcu_exists("delete_key")) exit(1); | ||
echo "Success"; | ||
' | ||
- name: "Test cache clearing" | ||
runs: | | ||
php -d apc.enable_cli=1 -r ' | ||
if (!apcu_store("clear_key", "clear_value")) exit(1); | ||
if (!apcu_clear_cache()) exit(1); | ||
if (apcu_exists("clear_key")) exit(1); | ||
echo "Success"; | ||
' | ||
- name: "Test increment/decrement operations" | ||
runs: | | ||
php -d apc.enable_cli=1 -r ' | ||
if (!apcu_store("counter", 5)) exit(1); | ||
if (apcu_inc("counter") !== 6) exit(1); | ||
if (apcu_dec("counter") !== 5) exit(1); | ||
echo "Success"; | ||
' | ||
- name: "Verify configuration file" | ||
runs: | | ||
grep -q "^extension=apcu.so" /etc/php/conf.d/apcu.ini | ||
- name: "Verify APCu is enabled in CLI" | ||
runs: | | ||
php -d apc.enable_cli=1 -r ' | ||
if (!ini_get("apc.enable_cli")) exit(1); | ||
echo "APCu CLI mode enabled"; | ||
' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
package: | ||
name: php-8.4-ddtrace | ||
version: 1.5.1 | ||
epoch: 0 | ||
description: "Datadog PHP Clients" | ||
copyright: | ||
- license: Apache-2.0 OR BSD-3-Clause | ||
dependencies: | ||
runtime: | ||
- ${{package.name}}-config | ||
- php-${{vars.phpMM}} | ||
|
||
var-transforms: | ||
- from: ${{package.name}} | ||
match: ^php-(\d+\.\d+)-.*$ | ||
replace: "$1" | ||
to: phpMM | ||
|
||
environment: | ||
contents: | ||
packages: | ||
- autoconf | ||
- build-base | ||
- busybox | ||
- curl-dev | ||
- php-${{vars.phpMM}} | ||
- php-${{vars.phpMM}}-dev | ||
- posix-libc-utils | ||
- rust | ||
|
||
pipeline: | ||
- uses: git-checkout | ||
with: | ||
repository: https://github.com/DataDog/dd-trace-php | ||
tag: "${{package.version}}" | ||
expected-commit: ab52de5890d2409618f363591799fc674eb0d4a2 | ||
|
||
- name: Clone submodules | ||
runs: git submodule update --init --recursive | ||
|
||
- name: Prepare build | ||
runs: phpize | ||
|
||
- name: Configure | ||
runs: ./configure | ||
|
||
- name: Make install | ||
runs: INSTALL_ROOT="${{targets.destdir}}" DESTDIR="${{targets.destdir}}" make install | ||
|
||
subpackages: | ||
- name: ${{package.name}}-config | ||
pipeline: | ||
- runs: | | ||
mkdir -p "${{targets.subpkgdir}}/etc/php/conf.d" | ||
echo "extension=ddtrace.so" > "${{targets.subpkgdir}}/etc/php/conf.d/ddtrace.ini" | ||
test: | ||
environment: | ||
contents: | ||
packages: | ||
- php-${{vars.phpMM}} | ||
pipeline: | ||
- name: Verify Extension is Loaded | ||
runs: | | ||
php -m | grep -i 'ddtrace' | ||
if [ $? -ne 0 ]; then | ||
echo "Test failed: ddtrace extension is not loaded." | ||
exit 1 | ||
else | ||
echo "Test passed: ddtrace extension is loaded." | ||
fi | ||
- name: Test Basic ddtrace Functionality | ||
runs: | | ||
echo "<?php | ||
use function DDTrace\trace_method; | ||
use function DDTrace\trace_function; | ||
\DDTrace\trace_method('App', 'get', function () { | ||
echo \"Datadog tracer is running and trace method was created.\n\"; | ||
}); | ||
\DDTrace\trace_function('App\some_utility_function', function () { | ||
echo \"Datadog tracer is running and trace function was created.\n\"; | ||
}); | ||
?>" > test.php | ||
php test.php | ||
if [ $? -ne 0 ]; then | ||
echo "Test failed: Unable to use ddtrace extension." | ||
exit 1 | ||
else | ||
echo "Test passed: ddtrace extension is functional." | ||
fi | ||
update: | ||
enabled: true | ||
github: | ||
identifier: DataDog/dd-trace-php | ||
use-tag: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
package: | ||
name: php-8.4-decimal | ||
version: 1.5.0 | ||
epoch: 0 | ||
description: Correctly-rounded, arbitrary-precision decimal arithmetic for PHP | ||
copyright: | ||
- license: MIT | ||
dependencies: | ||
runtime: | ||
- ${{package.name}}-config | ||
- php-${{vars.phpMM}} | ||
|
||
var-transforms: | ||
- from: ${{package.name}} | ||
match: ^php-(\d+\.\d+)-.*$ | ||
replace: "$1" | ||
to: phpMM | ||
|
||
environment: | ||
contents: | ||
packages: | ||
- autoconf | ||
- build-base | ||
- busybox | ||
- mpdecimal-dev | ||
- php-${{vars.phpMM}} | ||
- php-${{vars.phpMM}}-dev | ||
|
||
pipeline: | ||
- uses: git-checkout | ||
with: | ||
repository: https://github.com/php-decimal/ext-decimal | ||
tag: "v${{package.version}}" | ||
expected-commit: 9b4d6f4cf282230a0949ef4204e0b6bfe29b2c51 | ||
|
||
- name: Prepare build | ||
runs: phpize | ||
|
||
- name: Configure | ||
runs: ./configure | ||
|
||
- uses: autoconf/make | ||
|
||
- name: Make install | ||
runs: INSTALL_ROOT="${{targets.destdir}}" DESTDIR="${{targets.destdir}}" make install | ||
|
||
subpackages: | ||
- name: ${{package.name}}-config | ||
pipeline: | ||
- runs: | | ||
mkdir -p "${{targets.subpkgdir}}/etc/php/conf.d" | ||
echo "extension=decimal.so" > "${{targets.subpkgdir}}/etc/php/conf.d/decimal.ini" | ||
update: | ||
enabled: true | ||
github: | ||
identifier: php-decimal/ext-decimal | ||
strip-prefix: v | ||
tag-filter: v | ||
use-tag: true |
Oops, something went wrong.