diff options
| -rw-r--r-- | PHPINFO | 2 | ||||
| -rw-r--r-- | REFLECTION | 2 | ||||
| -rw-r--r-- | awscrt-build.patch | 45 | ||||
| -rw-r--r-- | awscrt-parser.patch | 16 | ||||
| -rw-r--r-- | php-pecl-awscrt.spec | 52 | 
5 files changed, 100 insertions, 17 deletions
@@ -1,7 +1,7 @@  awscrt -Version => 1.2.6 +Version => 1.2.7  Directive => Local Value => Master Value  awscrt.log_level => no value => no value @@ -1,4 +1,4 @@ -Extension [ <persistent> extension #108 awscrt version 1.2.6 ] { +Extension [ <persistent> extension #125 awscrt version 1.2.7 ] {    - INI {      Entry [ awscrt.log_level <ALL> ] diff --git a/awscrt-build.patch b/awscrt-build.patch new file mode 100644 index 0000000..208e2e2 --- /dev/null +++ b/awscrt-build.patch @@ -0,0 +1,45 @@ +diff -up ./config.m4.old ./config.m4 +--- ./config.m4.old	2024-10-21 08:45:48.099506102 +0200 ++++ ./config.m4	2024-10-21 08:46:42.647663062 +0200 +@@ -26,5 +26,6 @@ if test "$PHP_AWSCRT" != "no"; then +     # Sources for the PHP extension itself +     AWSCRT_SOURCES=ext/awscrt.c +     PHP_NEW_EXTENSION(awscrt, $AWSCRT_SOURCES, $ext_shared) ++    PHP_ADD_BUILD_DIR($ext_builddir/ext) +     PHP_ADD_MAKEFILE_FRAGMENT + fi +diff -up ./Makefile.frag.old ./Makefile.frag +--- ./Makefile.frag.old	2024-10-21 08:45:58.170904348 +0200 ++++ ./Makefile.frag	2024-10-21 09:29:21.845818243 +0200 +@@ -1,7 +1,7 @@ +  + INT_DIR=$(builddir)/build/install + CMAKE_BUILD_DIR=$(builddir)/cmake_build +-GENERATE_STUBS=$(shell expr `php --version | head -1 | cut -f 2 -d' '` \>= 7.1) ++GENERATE_STUBS=$(shell expr `$(PHP_EXECUTABLE) --version | head -1 | cut -f 2 -d' '` \>= 7.1) +  + CMAKE = cmake3 + ifeq (, $(shell which cmake3)) +@@ -58,17 +58,18 @@ extension: $(builddir)/ext/awscrt.lo + # Force the crt object target to depend on the CRT static library + $(builddir)/ext/awscrt.lo: $(builddir)/ext/awscrt.c +  +-$(builddir)/ext/awscrt.c: $(CMAKE_BUILD_DIR)/aws-crt-ffi-static/libaws-crt-ffi.a $(builddir)/ext/api.h $(builddir)/ext/awscrt_arginfo.h ++$(builddir)/ext/awscrt.c: $(CMAKE_BUILD_DIR)/aws-crt-ffi-static/libaws-crt-ffi.a $(srcdir)/ext/api.h $(srcdir)/ext/awscrt_arginfo.h +  +-$(builddir)/ext/awscrt_arginfo.h: $(srcdir)/ext/awscrt.stub.php $(srcdir)/gen_stub.php ++$(srcdir)/ext/awscrt_arginfo.h: $(srcdir)/ext/awscrt.stub.php $(srcdir)/gen_stub.php + ifeq ($(GENERATE_STUBS),1) + 	# generate awscrt_arginfo.h +-	mkdir -p $(builddir)/ext && php $(srcdir)/gen_stub.php --minimal-arginfo $(srcdir)/ext/awscrt.stub.php ++	$(PHP_EXECUTABLE) $(srcdir)/gen_stub.php --minimal-arginfo $(srcdir)/ext/awscrt.stub.php + endif +  + # transform/install api.h from FFI lib + $(srcdir)/ext/api.h: $(srcdir)/crt/aws-crt-ffi/src/api.h +-	php $(srcdir)/gen_api.php $(srcdir)/crt/aws-crt-ffi/src/api.h > $(srcdir)/ext/api.h ++	# generate api.h ++	$(PHP_EXECUTABLE) $(srcdir)/gen_api.php $(srcdir)/crt/aws-crt-ffi/src/api.h > $(srcdir)/ext/api.h +  + # install api.h to ext/ as well + $(builddir)/ext/api.h : $(srcdir)/ext/api.h diff --git a/awscrt-parser.patch b/awscrt-parser.patch new file mode 100644 index 0000000..2670839 --- /dev/null +++ b/awscrt-parser.patch @@ -0,0 +1,16 @@ +diff -up ./gen_stub.php.old ./gen_stub.php +--- ./gen_stub.php.old	2024-10-21 07:42:09.285923573 +0200 ++++ ./gen_stub.php	2024-10-21 07:43:44.385591795 +0200 +@@ -1809,6 +1809,12 @@ function initPhpParser() { +     } +  +     $isInitialized = true; ++ ++    if (file_exists('/usr/share/php/PhpParser4/autoload.php')) { ++        require_once '/usr/share/php/PhpParser4/autoload.php'; ++        return; ++    } ++ +     $version = "4.9.0"; +     $phpParserDir = __DIR__ . "/PHP-Parser-$version"; +     if (!is_dir($phpParserDir)) { diff --git a/php-pecl-awscrt.spec b/php-pecl-awscrt.spec index 0f30c8d..8628bd5 100644 --- a/php-pecl-awscrt.spec +++ b/php-pecl-awscrt.spec @@ -20,17 +20,24 @@  Summary:        AWS Common Runtime PHP bindings  Name:           %{?scl_prefix}php-pecl-%{pecl_name} -Version:        1.2.6 -Release:        2%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} +Version:        1.2.7 +Release:        1%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}  # extension is Apache-2.0 -# see LICENSE* for rust libraries +# see LICENSE* and THIRD-PARTY-LICENSES.txt for bundled libraries +# ittapi, ittnotify.h: GPL-2.0-only OR BSD-3-Clause +# cJSON, libcbor: MIT  License:        Apache-2.0 AND MIT AND BSD-3-Clause  URL:            https://pecl.php.net/package/%{pecl_name}  Source0:        https://pecl.php.net/get/%{sources}.tgz +# use system nikic/php-parser +Patch0:         %{pecl_name}-parser.patch +# Fix out of sources build +Patch1:         %{pecl_name}-build.patch +  BuildRequires:  make  BuildRequires:  %{?dtsprefix}gcc -BuildRequires:  %{?scl_prefix}php-devel >= 5.5 +BuildRequires:  %{?scl_prefix}php-devel  BuildRequires:  %{?scl_prefix}php-cli  BuildRequires:  %{?scl_prefix}php-pear  BuildRequires:  openssl-devel @@ -38,16 +45,19 @@ BuildRequires:  openssl-devel  BuildRequires:  openssl-devel-engine  %endif  BuildRequires:  cmake +BuildRequires:  php-nikic-php-parser4  # List from config.m4  Provides:       bundled(libaws-crt-ffi)  Provides:       bundled(libaws-c-auth) -Provides:       bundled(libaws-c-http) -Provides:       bundled(libaws-c-io)  Provides:       bundled(libaws-c-cal) +Provides:       bundled(libaws-c-common)  Provides:       bundled(libaws-c-compression) +Provides:       bundled(libaws-c-event-stream) +Provides:       bundled(libaws-c-http) +Provides:       bundled(libaws-c-io) +Provides:       bundled(libaws-c-sdkutils)  Provides:       bundled(libaws-checksums) -Provides:       bundled(libaws-c-common)  Requires:       %{?scl_prefix}php(zend-abi) = %{php_zend_api}  Requires:       %{?scl_prefix}php(api) = %{php_core_api} @@ -72,13 +82,15 @@ Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSIO  # Don't install/register tests  sed -e 's/role="test"/role="src"/' \      -e 's/role="doc"/role="src"/' \ -    %{!?_licensedir:-e '/LICENSE/s/role="src"/role="doc"/' } \      -e '/"CODE_OF_CONDUCT.md"/s/role="src"/role="doc"/'\      -e '/"CONTRIBUTING.md"/s/role="src"/role="doc"/'\      -e '/"README.md"/s/role="src"/role="doc"/'\      -i package.xml  pushd %{sources} +%patch -P0 -p1 -b .phpparser +%patch -P1 -p1 -b .fixbuild +  # Parallel build  sed -e '/(CMAKE_BUILD)/s/$/ --verbose %{?_smp_mflags}/' -i Makefile.frag @@ -113,13 +125,16 @@ export PHP_RPATH=no  cd %{sources}  %{__phpize} +[ -f Makefile.global ] && GLOBAL=Makefile.global || GLOBAL=build/Makefile.global +sed -e 's/INSTALL_ROOT/DESTDIR/' -i $GLOBAL  cd ../NTS  %configure \      --with-awscrt \      --with-libdir=%{_lib} \      --with-php-config=%{__phpconfig} -make %{?_smp_mflags} + +%make_build  %if %{with_zts}  cd ../ZTS @@ -127,25 +142,25 @@ cd ../ZTS      --with-awscrt \      --with-libdir=%{_lib} \      --with-php-config=%{__ztsphpconfig} -make %{?_smp_mflags} + +%make_build  %endif  %install  %{?dtsenable} -make -C NTS \ -     install INSTALL_ROOT=%{buildroot} +%make_install -C NTS  # install config file  install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} +  # Install XML package description  install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml  %if %{with_zts} -make -C ZTS \ -     install INSTALL_ROOT=%{buildroot} +%make_install -C ZTS  install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}  %endif @@ -171,7 +186,9 @@ done  %files -%{?_licensedir:%license %{sources}/LICENSE} +%license %{sources}/LICENSE +%license %{sources}/crt/aws-crt-ffi/crt/aws-c-common/THIRD-PARTY-LICENSES.txt +  %doc %{pecl_docdir}/%{pecl_name}  %{pecl_xmldir}/%{name}.xml @@ -185,6 +202,11 @@ done  %changelog +* Mon Oct 21 2024 Remi Collet <remi@remirepo.net> - 1.2.7-1 +- update to 1.2.7 +- fix out of sources tree using patch from +  https://github.com/awslabs/aws-crt-php/pull/117 +  * Thu Aug 22 2024 Remi Collet <remi@remirepo.net> - 1.2.6-2  - missing BR on F41  | 
