From 224403f8d384d752d70667184ec96622e00a34cd Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sat, 4 Apr 2026 08:48:54 +0200 Subject: update to 5.11.0 drop pear/pecl dependency sources from github add pie virtual provides add support for 8.5, drop 8.0 open https://github.com/phalcon/cphalcon/issues/16874 ext tree is unusable for PHP 8.5 --- PHPINFO | 4 +- REFLECTION | 511 ++++++++++++++++++++++++++++++++++++++---------------- composer.json | 126 ++++++++++++++ php-phalcon5.spec | 82 +++++---- 4 files changed, 544 insertions(+), 179 deletions(-) create mode 100644 composer.json diff --git a/PHPINFO b/PHPINFO index fa2e0ca..8c3538a 100644 --- a/PHPINFO +++ b/PHPINFO @@ -5,8 +5,8 @@ phalcon Phalcon is a full stack PHP framework, delivered as a PHP extension, offering lower resource consumption and high performance. phalcon => enabled Author => Phalcon Team and contributors -Version => 5.10.0 -Build Date => Jan 3 2026 00:00:00 +Version => 5.11.0 +Build Date => Apr 4 2026 00:00:00 Powered by Zephir => Version 0.19.0-$Id$ Directive => Local Value => Master Value diff --git a/REFLECTION b/REFLECTION index ddcb6a8..418dec5 100644 --- a/REFLECTION +++ b/REFLECTION @@ -1,4 +1,4 @@ -Extension [ extension #141 phalcon version 5.10.0 ] { +Extension [ extension #147 phalcon version 5.11.0 ] { - Dependencies { Dependency [ pdo (Required) ] @@ -18346,7 +18346,7 @@ Extension [ extension #141 phalcon version 5.10.0 ] { } - Static properties [1] { - Property [ protected static $defaultDi = NULL ] + Property [ protected static $defaultContainer = NULL ] } - Static methods [3] { @@ -18373,13 +18373,14 @@ Extension [ extension #141 phalcon version 5.10.0 ] { } } - - Properties [3] { + - Properties [4] { + Property [ protected $aliases = NULL ] + Property [ protected $eventsManager = NULL ] Property [ protected $services = NULL ] Property [ protected $sharedInstances = NULL ] - Property [ protected $eventsManager = NULL ] } - - Methods [23] { + - Methods [26] { Method [ public method __construct ] { - Parameters [0] { @@ -18411,6 +18412,14 @@ Extension [ extension #141 phalcon version 5.10.0 ] { } } + Method [ public method getAlias ] { + + - Parameters [1] { + Parameter #0 [ string $name ] + } + - Return [ string ] + } + Method [ public method getInternalEventsManager ] { - Parameters [0] { @@ -18540,6 +18549,15 @@ Extension [ extension #141 phalcon version 5.10.0 ] { - Return [ Phalcon\Di\ServiceInterface ] } + Method [ public method setAlias ] { + + - Parameters [2] { + Parameter #0 [ string $name ] + Parameter #1 [ $aliases ] + } + - Return [ Phalcon\Di\Di ] + } + Method [ public method setInternalEventsManager ] { - Parameters [1] { @@ -18564,6 +18582,14 @@ Extension [ extension #141 phalcon version 5.10.0 ] { } - Return [ Phalcon\Di\ServiceInterface ] } + + Method [ private method resolveAlias ] { + + - Parameters [1] { + Parameter #0 [ string $name ] + } + - Return [ string ] + } } } @@ -21058,7 +21084,38 @@ Extension [ extension #141 phalcon version 5.10.0 ] { - Static properties [0] { } - - Static methods [0] { + - Static methods [4] { + Method [ static public method serviceCannotBeResolved ] { + + - Parameters [1] { + Parameter #0 [ string $name ] + } + - Return [ Phalcon\Di\Exception ] + } + + Method [ static public method serviceNotFound ] { + + - Parameters [1] { + Parameter #0 [ string $name ] + } + - Return [ Phalcon\Di\Exception ] + } + + Method [ static public method unknownServiceInParameter ] { + + - Parameters [1] { + Parameter #0 [ int $position ] + } + - Return [ Phalcon\Di\Exception ] + } + + Method [ static public method undefinedMethod ] { + + - Parameters [1] { + Parameter #0 [ string $method ] + } + - Return [ Phalcon\Di\Exception ] + } } - Properties [4] { @@ -21148,7 +21205,7 @@ Extension [ extension #141 phalcon version 5.10.0 ] { } - Static properties [1] { - Property [ protected static $defaultDi = NULL ] + Property [ protected static $defaultContainer = NULL ] } - Static methods [3] { @@ -21175,13 +21232,14 @@ Extension [ extension #141 phalcon version 5.10.0 ] { } } - - Properties [3] { + - Properties [4] { + Property [ protected $aliases = NULL ] + Property [ protected $eventsManager = NULL ] Property [ protected $services = NULL ] Property [ protected $sharedInstances = NULL ] - Property [ protected $eventsManager = NULL ] } - - Methods [23] { + - Methods [25] { Method [ public method __construct ] { - Parameters [0] { @@ -21213,6 +21271,14 @@ Extension [ extension #141 phalcon version 5.10.0 ] { } } + Method [ public method getAlias ] { + + - Parameters [1] { + Parameter #0 [ string $name ] + } + - Return [ string ] + } + Method [ public method getInternalEventsManager ] { - Parameters [0] { @@ -21342,6 +21408,15 @@ Extension [ extension #141 phalcon version 5.10.0 ] { - Return [ Phalcon\Di\ServiceInterface ] } + Method [ public method setAlias ] { + + - Parameters [2] { + Parameter #0 [ string $name ] + Parameter #1 [ $aliases ] + } + - Return [ Phalcon\Di\Di ] + } + Method [ public method setInternalEventsManager ] { - Parameters [1] { @@ -24934,6 +25009,98 @@ Extension [ extension #141 phalcon version 5.10.0 ] { } } + Class [ class Phalcon\Support\Exception extends Exception implements Throwable, Stringable ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [4] { + Property [ protected $message = '' ] + Property [ protected $code = 0 ] + Property [ protected string $file = '' ] + Property [ protected int $line = 0 ] + } + + - Methods [10] { + Method [ public method __construct ] { + + - Parameters [3] { + Parameter #0 [ string $message = "" ] + Parameter #1 [ int $code = 0 ] + Parameter #2 [ ?Throwable $previous = null ] + } + } + + Method [ public method __wakeup ] { + + - Parameters [0] { + } + - Tentative return [ void ] + } + + Method [ final public method getMessage ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ final public method getCode ] { + + - Parameters [0] { + } + } + + Method [ final public method getFile ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ final public method getLine ] { + + - Parameters [0] { + } + - Return [ int ] + } + + Method [ final public method getTrace ] { + + - Parameters [0] { + } + - Return [ array ] + } + + Method [ final public method getPrevious ] { + + - Parameters [0] { + } + - Return [ ?Throwable ] + } + + Method [ final public method getTraceAsString ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ public method __toString ] { + + - Parameters [0] { + } + - Return [ string ] + } + } + } + Class [ class Phalcon\Acl\Adapter\Memory extends Phalcon\Acl\Adapter\AbstractAdapter implements Phalcon\Events\EventsAwareInterface, Phalcon\Acl\Adapter\AdapterInterface ] { - Constants [0] { @@ -38256,7 +38423,7 @@ Extension [ extension #141 phalcon version 5.10.0 ] { } - Properties [16] { - Property [ protected $after = NULL ] + Property [ protected $after = '' ] Property [ protected $autoIncrement = false ] Property [ protected $bindType = 2 ] Property [ protected $comment = NULL ] @@ -38287,7 +38454,7 @@ Extension [ extension #141 phalcon version 5.10.0 ] { - Parameters [0] { } - - Return [ ?string ] + - Return [ string ] } Method [ public method getBindType ] { @@ -40945,7 +41112,38 @@ Extension [ extension #141 phalcon version 5.10.0 ] { - Static properties [0] { } - - Static methods [0] { + - Static methods [4] { + Method [ static public method serviceCannotBeResolved ] { + + - Parameters [1] { + Parameter #0 [ string $name ] + } + - Return [ Phalcon\Di\Exception ] + } + + Method [ static public method serviceNotFound ] { + + - Parameters [1] { + Parameter #0 [ string $name ] + } + - Return [ Phalcon\Di\Exception ] + } + + Method [ static public method unknownServiceInParameter ] { + + - Parameters [1] { + Parameter #0 [ int $position ] + } + - Return [ Phalcon\Di\Exception ] + } + + Method [ static public method undefinedMethod ] { + + - Parameters [1] { + Parameter #0 [ string $method ] + } + - Return [ Phalcon\Di\Exception ] + } } - Properties [4] { @@ -41035,7 +41233,7 @@ Extension [ extension #141 phalcon version 5.10.0 ] { } - Static properties [1] { - Property [ protected static $defaultDi = NULL ] + Property [ protected static $defaultContainer = NULL ] } - Static methods [3] { @@ -41062,13 +41260,14 @@ Extension [ extension #141 phalcon version 5.10.0 ] { } } - - Properties [3] { + - Properties [4] { + Property [ protected $aliases = NULL ] + Property [ protected $eventsManager = NULL ] Property [ protected $services = NULL ] Property [ protected $sharedInstances = NULL ] - Property [ protected $eventsManager = NULL ] } - - Methods [23] { + - Methods [25] { Method [ public method __construct ] { - Parameters [0] { @@ -41100,6 +41299,14 @@ Extension [ extension #141 phalcon version 5.10.0 ] { } } + Method [ public method getAlias ] { + + - Parameters [1] { + Parameter #0 [ string $name ] + } + - Return [ string ] + } + Method [ public method getInternalEventsManager ] { - Parameters [0] { @@ -41229,6 +41436,15 @@ Extension [ extension #141 phalcon version 5.10.0 ] { - Return [ Phalcon\Di\ServiceInterface ] } + Method [ public method setAlias ] { + + - Parameters [2] { + Parameter #0 [ string $name ] + Parameter #1 [ $aliases ] + } + - Return [ Phalcon\Di\Di ] + } + Method [ public method setInternalEventsManager ] { - Parameters [1] { @@ -43525,7 +43741,7 @@ Extension [ extension #141 phalcon version 5.10.0 ] { Property [ private $token = NULL ] } - - Methods [13] { + - Methods [14] { Method [ public method __construct ] { - Parameters [2] { @@ -43566,6 +43782,15 @@ Extension [ extension #141 phalcon version 5.10.0 ] { - Return [ Phalcon\Encryption\Security\JWT\Validator ] } + Method [ public method validateClaim ] { + + - Parameters [2] { + Parameter #0 [ string $name ] + Parameter #1 [ $value ] + } + - Return [ Phalcon\Encryption\Security\JWT\Validator ] + } + Method [ public method validateAudience ] { - Parameters [1] { @@ -43651,7 +43876,7 @@ Extension [ extension #141 phalcon version 5.10.0 ] { Method [ public method base58 ] { - Parameters [1] { - Parameter #0 [ ?int $len = null ] + Parameter #0 [ int $len = 16 ] } - Return [ string ] } @@ -43659,7 +43884,7 @@ Extension [ extension #141 phalcon version 5.10.0 ] { Method [ public method base62 ] { - Parameters [1] { - Parameter #0 [ ?int $len = null ] + Parameter #0 [ int $len = 16 ] } - Return [ string ] } @@ -43667,7 +43892,7 @@ Extension [ extension #141 phalcon version 5.10.0 ] { Method [ public method base64 ] { - Parameters [1] { - Parameter #0 [ ?int $len = null ] + Parameter #0 [ int $len = 16 ] } - Return [ string ] } @@ -43675,7 +43900,7 @@ Extension [ extension #141 phalcon version 5.10.0 ] { Method [ public method base64Safe ] { - Parameters [2] { - Parameter #0 [ ?int $len = null ] + Parameter #0 [ int $len = 16 ] Parameter #1 [ bool $padding = false ] } - Return [ string ] @@ -43692,7 +43917,7 @@ Extension [ extension #141 phalcon version 5.10.0 ] { Method [ public method hex ] { - Parameters [1] { - Parameter #0 [ ?int $len = null ] + Parameter #0 [ int $len = 16 ] } - Return [ string ] } @@ -44591,7 +44816,7 @@ Extension [ extension #141 phalcon version 5.10.0 ] { - Properties [0] { } - - Methods [2] { + - Methods [1] { Method [ public method __invoke ] { - Parameters [2] { @@ -44599,14 +44824,6 @@ Extension [ extension #141 phalcon version 5.10.0 ] { Parameter #1 [ int $filter = 0 ] } } - - Method [ private method getIpAddressProtocolVersion ] { - - - Parameters [1] { - Parameter #0 [ string $input ] - } - - Return [ int|false ] - } } } @@ -61263,7 +61480,7 @@ Extension [ extension #141 phalcon version 5.10.0 ] { Property [ protected $name = NULL ] Property [ protected $options = NULL ] Property [ protected $path = NULL ] - Property [ protected $read = false ] + Property [ protected $isRead = false ] Property [ protected $restored = false ] Property [ protected $secure = true ] Property [ protected $signKey = NULL ] @@ -61596,7 +61813,7 @@ Extension [ extension #141 phalcon version 5.10.0 ] { - Static methods [0] { } - - Properties [8] { + - Properties [9] { Property [ protected $container = NULL ] Property [ protected $filterService = NULL ] Property [ protected $httpMethodParameterOverride = false ] @@ -61605,9 +61822,10 @@ Extension [ extension #141 phalcon version 5.10.0 ] { Property [ protected $rawBody = '' ] Property [ protected $strictHostCheck = false ] Property [ protected $trustedProxies = NULL ] + Property [ protected $trustedProxyHeader = '' ] } - - Methods [80] { + - Methods [83] { Method [ public method get ] { - Parameters [5] { @@ -62124,6 +62342,14 @@ Extension [ extension #141 phalcon version 5.10.0 ] { - Return [ Phalcon\Http\RequestInterface ] } + Method [ public method setTrustedProxyHeader ] { + + - Parameters [1] { + Parameter #0 [ string $trustedProxyHeader ] + } + - Return [ Phalcon\Http\RequestInterface ] + } + Method [ protected method isIpAddressInCIDR ] { - Parameters [2] { @@ -62218,6 +62444,21 @@ Extension [ extension #141 phalcon version 5.10.0 ] { } } + Method [ private method isProxyTrusted ] { + + - Parameters [1] { + Parameter #0 [ string $ip ] + } + - Return [ bool ] + } + + Method [ private method isValidPublicIp ] { + + - Parameters [1] { + Parameter #0 [ string $forwardedIp ] + } + } + Method [ private method getPostData ] { - Parameters [1] { @@ -64362,17 +64603,18 @@ Extension [ extension #141 phalcon version 5.10.0 ] { - Static methods [0] { } - - Properties [7] { + - Properties [8] { Property [ protected $defaultFormatter = 'Phalcon\\Logger\\Formatter\\Line' ] Property [ protected $formatter = NULL ] Property [ protected $inTransaction = false ] Property [ protected $queue = NULL ] + Property [ protected $handler = NULL ] Property [ protected $mode = 'ab' ] Property [ protected $name = NULL ] Property [ protected $options = NULL ] } - - Methods [16] { + - Methods [18] { Method [ public method __construct ] { - Parameters [2] { @@ -64403,6 +64645,14 @@ Extension [ extension #141 phalcon version 5.10.0 ] { - Return [ void ] } + Method [ protected method phpFclose ] { + + - Parameters [1] { + Parameter #0 [ $handle ] + } + - Return [ bool ] + } + Method [ protected method phpFopen ] { - Parameters [2] { @@ -64411,6 +64661,14 @@ Extension [ extension #141 phalcon version 5.10.0 ] { } } + Method [ protected method phpFwrite ] { + + - Parameters [2] { + Parameter #0 [ $handle ] + Parameter #1 [ string $message ] + } + } + Method [ public method __destruct ] { - Parameters [0] { @@ -79425,7 +79683,7 @@ Extension [ extension #141 phalcon version 5.10.0 ] { - Static methods [0] { } - - Properties [8] { + - Properties [7] { Property [ protected $blacklist = NULL ] Property [ protected $data = NULL ] Property [ protected $hideDocumentRoot = false ] @@ -79433,16 +79691,9 @@ Extension [ extension #141 phalcon version 5.10.0 ] { Property [ protected $showFileFragment = false ] Property [ protected $showFiles = true ] Property [ protected $uri = 'https://assets.phalcon.io/debug/5.0.x/' ] - Property [ private $version = NULL ] } - - Methods [23] { - Method [ public method __construct ] { - - - Parameters [0] { - } - } - + - Methods [29] { Method [ public method clearVars ] { - Parameters [0] { @@ -79604,12 +79855,68 @@ Extension [ extension #141 phalcon version 5.10.0 ] { Method [ final protected method showTraceItem ] { - Parameters [2] { - Parameter #0 [ int $n ] + Parameter #0 [ int $number ] Parameter #1 [ array $trace ] } - Return [ string ] } + Method [ private method closeTable ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ private method printBacktrace ] { + + - Parameters [1] { + Parameter #0 [ Throwable $exception ] + } + - Return [ string ] + } + + Method [ private method printExtraVariables ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ private method printIncludedFiles ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ private method printMemoryUsage ] { + + - Parameters [0] { + } + - Return [ string ] + } + + Method [ private method printSuperglobal ] { + + - Parameters [2] { + Parameter #0 [ array $source ] + Parameter #1 [ string $div ] + } + - Return [ string ] + } + + Method [ private method printTableHeader ] { + + - Parameters [4] { + Parameter #0 [ string $divId ] + Parameter #1 [ string $headerOne ] + Parameter #2 [ string $headerTwo ] + Parameter #3 [ string $colspan = '' ] + } + - Return [ string ] + } + Method [ private method getArrVal ] { - Parameters [3] { @@ -79662,14 +79969,6 @@ Extension [ extension #141 phalcon version 5.10.0 ] { - Return [ bool ] } - Method [ public method setDetailed ] { - - - Parameters [1] { - Parameter #0 [ bool $detailed ] - } - - Return [ void ] - } - Method [ public method one ] { - Parameters [2] { @@ -79679,6 +79978,14 @@ Extension [ extension #141 phalcon version 5.10.0 ] { - Return [ string ] } + Method [ public method setDetailed ] { + + - Parameters [1] { + Parameter #0 [ bool $flag ] + } + - Return [ void ] + } + Method [ public method setStyles ] { - Parameters [1] { @@ -79731,99 +80038,7 @@ Extension [ extension #141 phalcon version 5.10.0 ] { } } - Class [ class Phalcon\Support\Debug\Exception extends Exception implements Throwable, Stringable ] { - - - Constants [0] { - } - - - Static properties [0] { - } - - - Static methods [0] { - } - - - Properties [4] { - Property [ protected $message = '' ] - Property [ protected $code = 0 ] - Property [ protected string $file = '' ] - Property [ protected int $line = 0 ] - } - - - Methods [10] { - Method [ public method __construct ] { - - - Parameters [3] { - Parameter #0 [ string $message = "" ] - Parameter #1 [ int $code = 0 ] - Parameter #2 [ ?Throwable $previous = null ] - } - } - - Method [ public method __wakeup ] { - - - Parameters [0] { - } - - Tentative return [ void ] - } - - Method [ final public method getMessage ] { - - - Parameters [0] { - } - - Return [ string ] - } - - Method [ final public method getCode ] { - - - Parameters [0] { - } - } - - Method [ final public method getFile ] { - - - Parameters [0] { - } - - Return [ string ] - } - - Method [ final public method getLine ] { - - - Parameters [0] { - } - - Return [ int ] - } - - Method [ final public method getTrace ] { - - - Parameters [0] { - } - - Return [ array ] - } - - Method [ final public method getPrevious ] { - - - Parameters [0] { - } - - Return [ ?Throwable ] - } - - Method [ final public method getTraceAsString ] { - - - Parameters [0] { - } - - Return [ string ] - } - - Method [ public method __toString ] { - - - Parameters [0] { - } - - Return [ string ] - } - } - } - - Class [ class Phalcon\Support\Exception extends Exception implements Throwable, Stringable ] { + Class [ class Phalcon\Support\Debug\Exception extends Phalcon\Support\Exception implements Stringable, Throwable ] { - Constants [0] { } diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..00316a4 --- /dev/null +++ b/composer.json @@ -0,0 +1,126 @@ +{ + "name": "phalcon/cphalcon", + "type": "php-ext", + "description": "Phalcon is an open source web framework delivered as a C extension for the PHP language providing high performance and lower resource consumption.", + "keywords": [ + "extension", + "phalcon", + "framework", + "high load", + "mvc" + ], + "license": "BSD-3-Clause", + "php-ext": { + "extension-name": "phalcon", + "build-path": "build/phalcon" + }, + "authors": [ + { + "name": "Phalcon Team", + "email": "team@phalcon.io", + "homepage": "https://phalcon.io/en/team" + }, + { + "name": "Contributors", + "homepage": "https://github.com/phalcon/cphalcon/graphs/contributors" + } + ], + "require": { + "php": ">=8.1" + }, + "require-dev": { + "ext-apcu": "*", + "ext-dom": "*", + "ext-gd": "*", + "ext-iconv": "*", + "ext-igbinary": "*", + "ext-imagick": "*", + "ext-intl": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-msgpack": "*", + "ext-pdo": "*", + "ext-redis": "*", + "ext-sqlite3": "*", + "ext-xml": "*", + "friendsofphp/php-cs-fixer": "~3.0", + "mustache/mustache": "^2.14", + "phalcon/ide-stubs": "^5.4", + "phalcon/zephir": "dev-development", + "phpstan/phpstan": "^2.1", + "phpunit/phpunit": "^10.5", + "predis/predis": "^2.3", + "squizlabs/php_codesniffer": "^3.4", + "twig/twig": "^3.20", + "vimeo/psalm": "5.26.1", + "vlucas/phpdotenv": "^v5.4" + }, + "config": { + "optimize-autoloader": true, + "preferred-install": "dist", + "sort-packages": true, + "allow-plugins": { + "composer/package-versions-deprecated": true + } + }, + "autoload-dev": { + "psr-4": { + "Zephir\\Optimizers\\FunctionCall\\": "optimizers/", + "Phalcon\\Tests\\": "tests/", + "Phalcon\\Tests\\Support\\": "tests/support/", + "Phalcon\\Tests\\Unit\\": "tests/unit/", + "Phalcon\\Tests\\Integration\\": "tests/integration/", + "Phalcon\\Tests\\Database\\": "tests/database/", + "Phalcon\\Tests\\Fixtures\\": "tests/_data/fixtures/", + "Phalcon\\Tests\\Modules\\": "tests/support/Modules/", + "Phalcon\\Tests\\Module\\": "tests/_support/Module/", + "Phalcon\\Tests\\Listener\\": "tests/_data/listener/", + "Phalcon\\Tests\\Db\\": "tests/_data/db/" + }, + "exclude-from-classmap": [ + "tests/support/assets/" + ] + }, + "support": { + "email": "support@phalcon.io", + "issues": "https://github.com/phalcon/cphalcon/issues", + "forum": "https://phalcon.io/forum/", + "source": "https://github.com/phalcon/cphalcon", + "docs": "https://phalcon.io/docs/", + "rss": "https://blog.phalcon.io/rss" + }, + "scripts": { + "analyze": "php -d extension=ext/modules/phalcon.so ./vendor/bin/psalm --no-cache", + "cs": "php -d extension=ext/modules/phalcon.so ./vendor/bin/phpcs --standard=phpcs.xml", + "cs-fix": "php -d extension=ext/modules/phalcon.so ./vendor/bin/phpcbf --standard=phpcs.xml", + "test-unit": "php -d extension=ext/modules/phalcon.so vendor/bin/phpunit -c phpunit.xml.dist", + "test-unit-debug": "php -d extension=ext/modules/phalcon.so vendor/bin/phpunit -c phpunit.xml.dist --fail-on-all-issues --display-all-issues", + "test-unit-coverage": "php -d extension=ext/modules/phalcon.so vendor/bin/phpunit -c phpunit.xml.dist --coverage-clover tests/_output/coverage.xml", + "test-unit-coverage-html": "php -d extension=ext/modules/phalcon.so vendor/bin/phpunit -c phpunit.xml.dist --coverage-html tests/_output/coverage/", + "test-db-mysql": "php -d extension=ext/modules/phalcon.so vendor/bin/phpunit -c phpunit.mysql.xml", + "test-db-mysql-debug": "php -d extension=ext/modules/phalcon.so vendor/bin/phpunit -c phpunit.mysql.xml --fail-on-all-issues --display-all-issues", + "test-db-mysql-coverage": "php -d extension=ext/modules/phalcon.so vendor/bin/phpunit -c phpunit.mysql.xml --coverage-clover tests/_output/coverage.xml", + "test-db-pgsql": "php -d extension=ext/modules/phalcon.so vendor/bin/phpunit -c phpunit.pgsql.xml", + "test-db-pgsql-debug": "php -d extension=ext/modules/phalcon.so vendor/bin/phpunit -c phpunit.pgsql.xml --fail-on-all-issues --display-all-issues", + "test-db-pgsql-coverage": "php -d extension=ext/modules/phalcon.so vendor/bin/phpunit -c phpunit.pgsql.xml --coverage-clover tests/_output/coverage.xml", + "test-db-sqlite": "php -d extension=ext/modules/phalcon.so vendor/bin/phpunit -c phpunit.sqlite.xml", + "test-db-sqlite-debug": "php -d extension=ext/modules/phalcon.so vendor/bin/phpunit -c phpunit.sqlite.xml --fail-on-all-issues --display-all-issues", + "test-db-sqlite-coverage": "php -d extension=ext/modules/phalcon.so vendor/bin/phpunit -c phpunit.sqlite.xml --coverage-clover tests/_output/coverage.xml", + "test-db": [ + "@test-db-mysql" + ], + "test-all": [ + "@test-unit", + "@test-cli", + "@test-integration", + "@test-db" + ], + "clean-build-stubs": [ + "./vendor/bin/zephir fullclean", + "Composer\\Config::disableProcessTimeout", + "./vendor/bin/zephir build", + "./vendor/bin/zephir stubs" + ] + } +} diff --git a/php-phalcon5.spec b/php-phalcon5.spec index 70850af..feaacbc 100644 --- a/php-phalcon5.spec +++ b/php-phalcon5.spec @@ -7,33 +7,53 @@ # Please, preserve the changelog entries # -%{?scl:%scl_package php-phalcon5} +%{?scl:%scl_package php-phalcon5} + +# option to build the singled source file OR the full source tree +# single is upstream preferred, slower to build but smaller binary +# See https://github.com/phalcon/cphalcon/issues/16874 ext tree is unusable PHP 8.5 +%ifarch aarch64 +%bcond_with single +%else +%bcond_without single +%endif %global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} %global pecl_name phalcon # after 40-json.ini, 20-pdo.ini %global ini_name 50-%{pecl_name}.ini -%global upstream_version 5.10.0 +%global pie_vend %{pecl_name} +%global pie_proj cphalcon + +%global upstream_version 5.11.0 #global upstream_prever RC4 #global upstream_low %%(echo %%{upstream_prever} | tr '[:upper:]' '[:lower:]') -%global sources %{pecl_name}-%{upstream_version}%{?upstream_prever} +%if %{with single} +%global sources %{archivename}/build/phalcon +%else +%global sources %{archivename}/ext +%endif %global _configure ../%{sources}/configure +# Github forge +%global gh_vend %{pecl_name} +%global gh_proj %{pie_proj} +%global forgeurl https://github.com/%{gh_vend}/%{gh_proj} +%global tag v%{upstream_version}%{?upstream_prever} +# for EL-8 to avoid TAG usage +%global archivename %{gh_proj}-%{upstream_version}%{?upstream_prever} + Name: %{?scl_prefix}php-phalcon5 -Version: %{upstream_version}%{?upstream_prever:~%{upstream_low}} -Release: 1%{?dist} Summary: Phalcon Framework - License: BSD-3-Clause +Version: %{upstream_version}%{?upstream_prever:~%{upstream_low}} +Release: 1%{?dist} +%forgemeta URL: https://phalcon.io/ -# when missing on pecl, generated from git -# git checkout v#.#.# -# ln -s build/phalcon/* . -# pecl package -Source0: https://pecl.php.net/get/%{sources}.tgz +Source0: %{forgesource} BuildRequires: %{?dtsprefix}gcc -BuildRequires:(%{?scl_prefix}php-devel >= 8.0 with %{?scl_prefix}php-devel < 8.5) +BuildRequires: %{?scl_prefix}php-devel >= 8.1 BuildRequires: %{?scl_prefix}php-pear BuildRequires: %{?scl_prefix}php-hash BuildRequires: %{?scl_prefix}php-json @@ -45,6 +65,7 @@ Requires: %{?scl_prefix}php-hash%{?_isa} Requires: %{?scl_prefix}php-json%{?_isa} Requires: %{?scl_prefix}php-pdo%{?_isa} +# Extension Provides: %{?scl_prefix}php-phalcon = %{version}-%{release} Provides: %{?scl_prefix}php-phalcon%{?_isa} = %{version}-%{release} @@ -62,6 +83,9 @@ Provides: %{?scl_prefix}php-pecl-%{pecl_name} = %{version}-%{rele Provides: %{?scl_prefix}php-pecl-%{pecl_name}%{?_isa} = %{version}-%{release} Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} +# PIE +Provides: %{?scl_prefix}php-pie(%{pie_vend}/%{pie_proj}) = %{version} +Provides: %{?scl_prefix}php-%{pie_vend}-%{pie_proj} = %{version} %description @@ -76,16 +100,14 @@ Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSIO %prep %setup -qc -sed -e '/LICENSE/s/role="doc"/role="src"/' -i package.xml - -cd %{sources} +pushd %{sources} # Sanity check, really often broken extver=$(sed -n '/#define PHP_PHALCON_VERSION/{s/.* "//;s/".*$//;p}' php_phalcon.h) if test "x${extver}" != "x%{upstream_version}%{?upstream_prever:%{upstream_prever}}"; then : Error: Upstream extension version is ${extver}, expecting %{upstream_version}%{?upstream_prever:%{upstream_prever}}. exit 1 fi -cd .. +popd mkdir NTS %if %{with_zts} @@ -135,12 +157,13 @@ peclconf() { # See https://github.com/phalcon/cphalcon/issues/16531 export CFLAGS="%{optflags} -Wno-incompatible-pointer-types" -cd %{sources} +pushd %{sources} %{__phpize} sed -e 's/INSTALL_ROOT/DESTDIR/' -i build/Makefile.global +popd : Build NTS extension -cd ../NTS +cd NTS peclconf %{__phpconfig} %make_build @@ -155,9 +178,6 @@ peclconf %{__ztsphpconfig} %install %{?dtsenable} -# Install XML package description -install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml - # Install the NTS stuff %make_install -C NTS install -Dpm644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} @@ -168,11 +188,6 @@ install -Dpm644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} install -Dpm644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} %endif -# Documentation -for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//') -do install -Dpm 644 %{sources}/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i -done - %check # Shared needed extensions @@ -199,9 +214,9 @@ done %files -%license %{sources}/LICENSE.txt -%doc %{pecl_docdir}/%{pecl_name} -%{pecl_xmldir}/%{name}.xml +%license %{archivename}/LICENSE.txt +%doc %{archivename}/composer.json +%doc %{archivename}/*.md %config(noreplace) %{php_inidir}/%{ini_name} %{php_extdir}/%{pecl_name}.so @@ -215,6 +230,15 @@ done %changelog +* Sat Apr 4 2026 Remi Collet - 5.11.0-1 +- update to 5.11.0 +- drop pear/pecl dependency +- sources from github +- add pie virtual provides +- add support for 8.5, drop 8.0 +- open https://github.com/phalcon/cphalcon/issues/16874 + ext tree is unusable for PHP 8.5 + * Sat Jan 3 2026 Remi Collet - 5.10.0-1 - update to 5.10.0 -- cgit