diff options
| author | Remi Collet <remi@remirepo.net> | 2018-11-19 16:24:19 +0100 | 
|---|---|---|
| committer | Remi Collet <remi@remirepo.net> | 2018-11-19 16:24:19 +0100 | 
| commit | dcef13ee1e4e097043565e7e7ec7f8d04269ff94 (patch) | |
| tree | 461dc1e5ba7aaea7a1303e768450449f6804de71 | |
| parent | 4d2e0024a4ccff815dce711c57dd1365b4c1179e (diff) | |
 update to 0.11.4
 raise minimal PHP version to 5.6
 add dependency on league/container 2.4
 add dependency on league/flysystem 1.0
 add dependency on symfony/console 3.4
| -rw-r--r-- | composer.json | 31 | ||||
| -rw-r--r-- | zephir-rpm.patch | 71 | ||||
| -rw-r--r-- | zephir.spec | 127 | 
3 files changed, 166 insertions, 63 deletions
diff --git a/composer.json b/composer.json index cb4f925..b8e242a 100644 --- a/composer.json +++ b/composer.json @@ -21,38 +21,53 @@          }      ],      "require": { -        "php": ">=5.5", +        "php": ">=5.6.0 <8.0", +        "ext-SPL": "*",          "ext-ctype": "*",          "ext-hash": "*",          "ext-json": "*", +        "ext-mbstring": "*", +        "ext-pcre": "*",          "ext-xml": "*", -        "ext-mbstring": "*" +        "league/container": "^2.4 || ^3.2", +        "league/flysystem": "1.0.*", +        "symfony/console": "3.4.*"      },      "require-dev": {          "ext-gmp": "*",          "ext-pdo": "*",          "ext-pdo_sqlite": "*", -        "phpunit/phpunit": "^4.8 || ^5.7", -        "squizlabs/php_codesniffer": "^3.2" +        "phpunit/phpunit": "~5.7", +        "squizlabs/php_codesniffer": "~3.2" +    }, +    "config": { +        "optimize-autoloader": true, +        "platform": {}, +        "preferred-install": "dist", +        "sort-packages": true      },      "autoload": {          "psr-4": {              "Zephir\\": "Library" -        } +        }, +        "files": [ +            "Library/functions.php" +        ]      },      "autoload-dev": {          "psr-4": { -            "Zephir\\Stubs\\": "unit-tests/Zephir/Stubs/",              "Zephir\\Test\\": "unit-tests/Zephir/Test/",              "Zephir\\Support\\": "unit-tests/Zephir/Support/",              "Extension\\": "unit-tests/Extension/"          },          "classmap": [ -            "unit-tests/Data/" +            "unit-tests/fixtures/mocks/"          ]      }, +    "minimum-stability": "dev", +    "prefer-stable": true,      "bin": [ -        "bin/zephir" +        "zephir"      ],      "support": {          "issues": "https://github.com/phalcon/zephir/issues?state=open", diff --git a/zephir-rpm.patch b/zephir-rpm.patch index 9598e20..45e07cb 100644 --- a/zephir-rpm.patch +++ b/zephir-rpm.patch @@ -1,33 +1,42 @@ -diff -up ./bin/zephir.rpm ./bin/zephir ---- ./bin/zephir.rpm	2017-10-23 07:02:31.781050845 +0200 -+++ ./bin/zephir	2017-10-23 07:04:04.955553874 +0200 -@@ -1,26 +1,10 @@ - #!/bin/sh - if [ -z "$ZEPHIRDIR" ]; then --  ZEPHIRDIR="%ZEPHIRDIR%" --  if [ "$ZEPHIRDIR" = "%""ZEPHIRDIR""%" ]; then --    if [ -h $0 ]; then --        REALPATH="`dirname $0`/`readlink $0`" --        CURDIR=`dirname $REALPATH` --    else --        CURDIR=`dirname $0` --    fi --    PARENTDIR=`cd $CURDIR/..; pwd` +diff -up ./zephir.rpm ./zephir +--- ./zephir.rpm	2018-11-18 10:28:31.000000000 +0100 ++++ ./zephir	2018-11-19 15:44:52.976871411 +0100 +@@ -1,4 +1,3 @@ +-#!/usr/bin/env php + <?php +  + /** +@@ -22,32 +21,7 @@ if (PHP_SAPI !== 'cli') { +     ); + } +  +-if (class_exists('Composer\Autoload\ClassLoader', false) == false) { +-    if (\substr(__FILE__, 0, 5) === 'phar:') { +-        $solution = 'Try to reinstall Zephir to solve this problem.' . PHP_EOL; +-    } else { +-        $solution = +-            'You need to set up the project dependencies using Composer:' . PHP_EOL . PHP_EOL . +-            '    composer install' . PHP_EOL . PHP_EOL . +-            'You can learn all about Composer:' . PHP_EOL . +-            ' - https://getcomposer.org'  . PHP_EOL; +-    } +- +-    fprintf( +-        STDERR, +-        'Unable to locate system dependencies.' . PHP_EOL . +-        '%s' . PHP_EOL . +-        'If the problem remains, ask for help on the forum:' . PHP_EOL . +-        ' - https://forum.zephir-lang.com ' . PHP_EOL . PHP_EOL . +-        'Or file an issue  at GitHub:' . PHP_EOL . +-        ' - https://github.com/phalcon/zephir' . PHP_EOL . PHP_EOL, +-        $solution +-    ); +- +-    exit(1); +-}  - --    if [ -f $PARENTDIR/compiler.php ]; then --      export ZEPHIRDIR=$PARENTDIR --    else --      echo "Environment variable ZEPHIRDIR is not set" --      exit 1 --    fi --  fi -+    export ZEPHIRDIR="@DATADIR@/zephir" - fi +-$app = new Application(__DIR__); ++$app = new Application("@DATADIR@/zephir"); - if [ ! -z $1 ] && [ ! -z $2 ] && [ ! -z $3 ] && [ "$1" = "-c" ]; then --    php -d timecop.func_override=0 -c $2 $ZEPHIRDIR/compiler.php ${*:3} -+    @BINDIR@/php -d timecop.func_override=0 -d memory_limit=1G -d extension=zephir_parser.so -c $2 $ZEPHIRDIR/compiler.php ${*:3} - else --    php -d timecop.func_override=0 $ZEPHIRDIR/compiler.php $* -+    @BINDIR@/php -d timecop.func_override=0 -d memory_limit=1G -d extension=zephir_parser.so $ZEPHIRDIR/compiler.php $* - fi + $app->add(new Zephir\Command\InitCommand()); + $app->add(new Zephir\Command\GenerateCommand()); diff --git a/zephir.spec b/zephir.spec index 3b7c8fe..2557a16 100644 --- a/zephir.spec +++ b/zephir.spec @@ -21,7 +21,7 @@  # Get commit from PHP_PHALCON_ZEPVERSION in   # https://github.com/phalcon/cphalcon/blob/master/ext/php_phalcon.h -%global gh_commit    ab3551da612b837cbeb2dc228052a6d35bec5778 +%global gh_commit    d0a6a8af0b78240a0f3e1f05d39baf73699a5570  %global gh_short     %(c=%{gh_commit}; echo ${c:0:7})  #global gh_date      20161126  %global gh_owner     phalcon @@ -30,7 +30,7 @@  %global parser_ver   1.1.1  Name:           %{?scl_prefix}%{gh_project} -Version:        0.11.1 +Version:        0.11.4  Release:        1%{?gh_date:.%{gh_date}.%{gh_short}}%{?dist}  Summary:        Zephir language for creation of extensions for PHP. @@ -43,46 +43,71 @@ Source0:        https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit  Patch0:         %{gh_project}-rpm.patch  BuildArch:      noarch -BuildRequires:  %{?scl_prefix}php-devel > 5.5 +BuildRequires:  %{?scl_prefix}php-devel > 5.6  BuildRequires:  %{?scl_prefix}php-zephir-parser >= %{parser_ver}  %if %{with_tests}  BuildRequires:  %{?scl_prefix}php-json  BuildRequires:  %{?scl_prefix}php-hash  BuildRequires:  %{?scl_prefix}php-ctype +BuildRequires:  %{?scl_prefix}php-psr +BuildRequires:  %{_bindir}/phpab +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +BuildRequires: (php-composer(league/container) >= 2.4    with php-composer(league/container) < 3) +BuildRequires: (php-composer(league/flysystem) >= 1.0    with php-composer(league/flysystem) < 1.1) +BuildRequires: (php-composer(symfony/console)  >= 3.4    with php-composer(symfony/console)  < 4) +%else +BuildRequires:  php-league-flysystem +BuildRequires:  php-league-container +BuildRequires:  php-symfony3-console +%endif  # From composer.json, "require-dev"  #        "ext-gmp": "*",  #        "ext-pdo": "*",  #        "ext-pdo_sqlite": "*", -#        "phpunit/phpunit": "^4.8 || ^5.7, -#        "squizlabs/php_codesniffer": "^3.2" +#        "phpunit/phpunit": "~5.7", +#        "squizlabs/php_codesniffer": "~3.2"  BuildRequires:  %{?scl_prefix}php-gmp  BuildRequires:  %{?scl_prefix}php-pdo  BuildRequires:  %{?scl_prefix}php-pdo_sqlite -BuildRequires:  %{?scl_prefix}php-composer(phpunit/phpunit) >= 4.8 +BuildRequires:  %{?scl_prefix}php-composer(phpunit/phpunit) >= 5.7  %endif  Requires:       %{?scl_prefix}php-cli  Requires:       %{?scl_prefix}php-zephir-parser >= %{parser_ver}  # From composer.json, "require" -#        "php": ">=5.5", +#        "php": ">=5.6.0 <8.0", +#        "ext-SPL": "*",  #        "ext-ctype": "*",  #        "ext-hash": "*",  #        "ext-json": "*", +#        "ext-mbstring": "*", +#        "ext-pcre": "*",  #        "ext-xml": "*" -#        "ext-mbstring": "*" -Requires:       %{?scl_prefix}php(language) >= 5.5 +#        "league/container": "^2.4 || ^3.2", +#        "league/flysystem": "1.0.*", +#        "symfony/console": "3.4.*" +Requires:       %{?scl_prefix}php(language) >= 5.6 +Requires:       %{?scl_prefix}php-spl  Requires:       %{?scl_prefix}php-ctype  Requires:       %{?scl_prefix}php-hash  Requires:       %{?scl_prefix}php-json -Requires:       %{?scl_prefix}php-xml  Requires:       %{?scl_prefix}php-mbstring +Requires:       %{?scl_prefix}php-pcre +Requires:       %{?scl_prefix}php-xml +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +Requires:      (php-composer(league/container) >= 2.4    with php-composer(league/container) < 3) +Requires:      (php-composer(league/flysystem) >= 1.0    with php-composer(league/flysystem) < 1.1) +Requires:      (php-composer(symfony/console)  >= 3.4    with php-composer(symfony/console)  < 4) +%else +Requires:       php-league-flysystem +Requires:       php-league-container +Requires:       php-symfony3-console +%endif  # From phpcompatinfo  Requires:       %{?scl_prefix}php-reflection  Requires:       %{?scl_prefix}php-date  Requires:       %{?scl_prefix}php-gmp -Requires:       %{?scl_prefix}php-pcre  Requires:       %{?scl_prefix}php-pdo -Requires:       %{?scl_prefix}php-spl  Provides:       %{?scl_prefix}php-composer(%{gh_owner}/%{gh_project}) = %{version} @@ -111,14 +136,43 @@ Compiler design goals:  %setup -q -n %{gh_project}-%{gh_commit}  %patch0 -p0 -b .rpm +  sed -e 's:@DATADIR@:%{_datadir}:;s:@BINDIR@:%{_bindir}:' \ -    -i bin/%{gh_project} +    -i %{gh_project} + +sed -e 's/\$Id\$/%{gh_short}/' \ +    -e 's/0.11.5/0.11.4/' \ +    -i Library/Zephir.php  find . -name \*.php -exec chmod -x {} \; +cat << 'EOF' >autoload.php +<?php +/* Autoloader for %{name} and its dependencies */ +require_once '%{_datadir}/php/Fedora/Autoloader/autoload.php'; + +\Fedora\Autoloader\Autoload::addPsr4('Zephir\\', __DIR__ . '/Library'); +\Fedora\Autoloader\Dependencies::required([ +    __DIR__ . '/Library/functions.php', +    '%{_datadir}/php/Symfony3/Component/Console/autoload.php', +    '%{_datadir}/php/League/Flysystem/autoload.php', +    '%{_datadir}/php/League/Container/autoload.php', +]); +EOF + +mv %{gh_project} %{gh_project}.php +cat << 'EOF' | tee zephir.sh +#!/bin/sh +%{_bindir}/php -d memory_limit=2G -d extension=zephir_parser.so %{_datadir}/%{gh_project}/%{gh_project}.php $* +  %build -# nothing +: test extension +cd ext +%{_bindir}/phpize +%configure +make %{?_smp_mflags} +  %install @@ -130,23 +184,41 @@ do  done  : Command -install -Dpm 755 bin/%{gh_project} %{buildroot}%{_bindir}/%{gh_project} +install -Dpm 755 %{gh_project}.sh %{buildroot}%{_bindir}/%{gh_project}  %check -sed -e 's:%ZEPHIRDIR%:%{buildroot}%{_datadir}/%{gh_project}:g' \ -    -e 's: php:%{_bindir}/php:' \ -     bin/%{gh_project}.rpm > bin/%{gh_project}.test -sh ./bin/%{gh_project}.test version -sh ./bin/%{gh_project}.test version | grep %{version} +sed -e 's:%{_datadir}:%{buildroot}%{_datadir}:' \ +     %{gh_project}.php > %{gh_project}.test +%{_bindir}/php %{gh_project}.test --version +%{_bindir}/php %{gh_project}.test --version | grep %{version}-%{gh_short} + +%{_bindir}/php %{_bindir}/phpab -o bs.php unit-tests/fixtures/mocks +cat << 'EOF' | tee -a bs.php +require '%{buildroot}%{_datadir}/%{gh_project}/autoload.php'; +\Fedora\Autoloader\Autoload::addPsr4('Zephir\\Test\\',    __DIR__ . '/unit-tests/Zephir/Test/'); +\Fedora\Autoloader\Autoload::addPsr4('Zephir\\Support\\', __DIR__ . '/unit-tests/Zephir/Support/'); +\Fedora\Autoloader\Autoload::addPsr4('Extension\\',       __DIR__ . '/unit-tests/Extension/'); +require __DIR__ . '/unit-tests/bootstrap.php'; +EOF  %if %{with_tests}  : Run test suite -%{_bindir}/php -d extension=zephir_parser.so \ -  %{_bindir}/phpunit \ -    --bootstrap %{buildroot}%{_datadir}/%{gh_project}/bootstrap.php \ -    --verbose unit-tests/Zephir +%{_bindir}/php \ +  -d extension=zephir_parser.so \ +  -d extension=ext/modules/test.so \ +    %{_bindir}/phpunit \ +      --bootstrap bs.php \ +      --no-coverage \ +      --verbose unit-tests/Zephir +%{_bindir}/php \ +  -d extension=zephir_parser.so \ +  -d extension=ext/modules/test.so \ +    %{_bindir}/phpunit \ +      --bootstrap bs.php \ +      --no-coverage \ +      --verbose unit-tests/Extension  %else  : Test suite disabled  %endif @@ -162,6 +234,13 @@ sh ./bin/%{gh_project}.test version | grep %{version}  %changelog +* Mon Nov 19 2018 Remi Collet <remi@remirepo.net> - 0.11.4-1 +- update to 0.11.4 +- raise minimal PHP version to 5.6 +- add dependency on league/container 2.4 +- add dependency on league/flysystem 1.0 +- add dependency on symfony/console 3.4 +  * Sat Oct 20 2018 Remi Collet <remi@remirepo.net> - 0.11.1-1  - update to 0.11.1  | 
