diff options
| -rw-r--r-- | 6.patch | 121 | ||||
| -rw-r--r-- | REFLECTION | 2 | ||||
| -rw-r--r-- | php-brotli.spec | 26 | 
3 files changed, 18 insertions, 131 deletions
diff --git a/6.patch b/6.patch deleted file mode 100644 index 4d826d8..0000000 --- a/6.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 50e219b0df0d66357dfd504475a041b545d9330d Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@remirepo.net> -Date: Thu, 9 Nov 2017 14:31:44 +0100 -Subject: [PATCH] allow to use system broti library - ---- - config.m4    | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++---------- - php_brotli.h |  1 - - 2 files changed, 56 insertions(+), 12 deletions(-) - -diff --git a/config.m4 b/config.m4 -index c7f7a4c..5010df0 100644 ---- a/config.m4 -+++ b/config.m4 -@@ -1,38 +1,83 @@ - dnl config.m4 for extension brotli -  --dnl Check PHP version: -+dnl Check PHP version ID: - AC_MSG_CHECKING(PHP version) - if test ! -z "$phpincludedir"; then --    PHP_VERSION=`grep 'PHP_VERSION ' $phpincludedir/main/php_version.h | sed -e 's/.*"\([[0-9\.]]*\)".*/\1/g' 2>/dev/null` -+    PHP_VERSION_ID=`grep 'PHP_VERSION_ID' $phpincludedir/main/php_version.h | sed -e 's/.* \([[0-9]]*\)/\1/g' 2>/dev/null` - elif test ! -z "$PHP_CONFIG"; then --    PHP_VERSION=`$PHP_CONFIG --version 2>/dev/null` -+    PHP_VERSION_ID=`$PHP_CONFIG --vernum 2>/dev/null` - fi -  --if test x"$PHP_VERSION" = "x"; then -+if test x"$PHP_VERSION_ID" = "x"; then -     AC_MSG_WARN([none]) - else --    PHP_MAJOR_VERSION=`echo $PHP_VERSION | sed -e 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/g' 2>/dev/null` --    PHP_MINOR_VERSION=`echo $PHP_VERSION | sed -e 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/g' 2>/dev/null` --    PHP_RELEASE_VERSION=`echo $PHP_VERSION | sed -e 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/g' 2>/dev/null` --    AC_MSG_RESULT([$PHP_VERSION]) -+    AC_MSG_RESULT($PHP_VERSION_ID) - fi -  --if test $PHP_MAJOR_VERSION -lt 5; then -+if test $PHP_VERSION_ID -lt 50000; then -    AC_MSG_ERROR([need at least PHP 5 or newer]) - fi -  - PHP_ARG_ENABLE(brotli, whether to enable brotli support, - [  --enable-brotli         Enable brotli support]) -  -+PHP_ARG_WITH(libbrotli, whether to use system brotli library, -+[  --with-libbrotli=DIR    Use libbrotli], no, no) -+ - if test "$PHP_BROTLI" != "no"; then -  -+  BROTLI_MIN_VERSION=0.6 -+ -+  if test "$PHP_LIBBROTLI" != "no"; then -+    AC_PATH_PROG(PKG_CONFIG, pkg-config, no) -+ -+    AC_MSG_CHECKING(for libbrotlienc) -+    if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libbrotlienc; then -+      if $PKG_CONFIG libbrotlienc --atleast-version $BROTLI_MIN_VERSION; then -+        LIBBROTLIENC_CFLAGS=`$PKG_CONFIG libbrotlienc --cflags` -+        LIBBROTLIENC_LIBS=`$PKG_CONFIG libbrotlienc --libs` -+        LIBBROTLIENC_VERSION=`$PKG_CONFIG libbrotlienc --modversion` -+        AC_MSG_RESULT(from pkgconfig: version $LIBBROTLIENC_VERSION found) -+      else -+        AC_MSG_ERROR(system libbrotlienc must be upgraded to version >= $BROTLI_MIN_VERSION) -+      fi -+    else -+      AC_MSG_ERROR(system libbrotlienc not found) -+    fi -+    PHP_EVAL_INCLINE($LIBBROTLIENC_CFLAGS) -+    PHP_EVAL_LIBLINE($LIBBROTLIENC_LIBS, BROTLI_SHARED_LIBADD) -+ -+    AC_MSG_CHECKING(for libbrotlidec) -+    if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libbrotlidec; then -+      if $PKG_CONFIG libbrotlidec --atleast-version $BROTLI_MIN_VERSION; then -+        LIBBROTLIDEC_CFLAGS=`$PKG_CONFIG libbrotlidec --cflags` -+        LIBBROTLIDEC_LIBS=`$PKG_CONFIG libbrotlidec --libs` -+        LIBBROTLIDEC_VERSION=`$PKG_CONFIG libbrotlidec --modversion` -+        AC_MSG_RESULT(from pkgconfig: version $LIBBROTLIDEC_VERSION found) -+      else -+        AC_MSG_ERROR(system libbrotlienc must be upgraded to version >= $BROTLI_MIN_VERSION) -+      fi -+    else -+      AC_MSG_ERROR(system libbrotlienc not found) -+    fi -+    PHP_EVAL_INCLINE($LIBBROTLIDEC_CFLAGS) -+    PHP_EVAL_LIBLINE($LIBBROTLIDEC_LIBS, BROTLI_SHARED_LIBADD) -+    AC_DEFINE_UNQUOTED(BROTLI_LIB_VERSION, "$LIBBROTLIDEC_VERSION", [system library version]) -+  else -+    AC_MSG_CHECKING(for brotli) -+    AC_MSG_RESULT(use bundled copy) -+    AC_DEFINE_UNQUOTED(BROTLI_LIB_VERSION, "1.0.1", [bundled library version]) -+ -     BROTLI_COMMON_SOURCES="brotli/c/common/dictionary.c" -     BROTLI_ENC_SOURCES="brotli/c/enc/backward_references.c brotli/c/enc/backward_references_hq.c brotli/c/enc/bit_cost.c brotli/c/enc/block_splitter.c brotli/c/enc/brotli_bit_stream.c brotli/c/enc/cluster.c brotli/c/enc/compress_fragment.c brotli/c/enc/compress_fragment_two_pass.c brotli/c/enc/dictionary_hash.c brotli/c/enc/encode.c brotli/c/enc/entropy_encode.c brotli/c/enc/histogram.c brotli/c/enc/literal_cost.c brotli/c/enc/memory.c brotli/c/enc/metablock.c brotli/c/enc/static_dict.c brotli/c/enc/utf8_util.c" -     BROTLI_DEC_SOURCES="brotli/c/dec/bit_reader.c brotli/c/dec/decode.c brotli/c/dec/huffman.c brotli/c/dec/state.c" -+  fi -  --    PHP_SUBST(BROTLI_SHARED_LIBADD) -+  PHP_SUBST(BROTLI_SHARED_LIBADD) -  --    PHP_NEW_EXTENSION(brotli, brotli.c $BROTLI_COMMON_SOURCES $BROTLI_ENC_SOURCES $BROTLI_DEC_SOURCES, $ext_shared) -+  PHP_NEW_EXTENSION(brotli, brotli.c $BROTLI_COMMON_SOURCES $BROTLI_ENC_SOURCES $BROTLI_DEC_SOURCES, $ext_shared) -  -+  if test -n "$BROTLI_COMMON_SOURCES" ; then -     PHP_ADD_INCLUDE([$ext_srcdir/brotli/c/include]) -+  fi - fi -diff --git a/php_brotli.h b/php_brotli.h -index 4405001..773af76 100644 ---- a/php_brotli.h -+++ b/php_brotli.h -@@ -6,7 +6,6 @@ extern "C" { - #endif -  - #define BROTLI_EXT_VERSION "0.5.0" --#define BROTLI_LIB_VERSION "1.0.1" -  - extern zend_module_entry brotli_module_entry; - #define phpext_brotli_ptr &brotli_module_entry @@ -1,4 +1,4 @@ -Extension [ <persistent> extension #77 brotli version 0.5.0 ] { +Extension [ <persistent> extension #77 brotli version 0.5.1 ] {    - Constants [3] {      Constant [ integer BROTLI_GENERIC ] { 0 } diff --git a/php-brotli.spec b/php-brotli.spec index b995a0d..2f40537 100644 --- a/php-brotli.spec +++ b/php-brotli.spec @@ -6,6 +6,10 @@  #  # Please, preserve the changelog entries  # + +# we don't want -z defs linker flag +%undefine _strict_symbol_defs_build +  %if 0%{?scl:1}  %global sub_prefix  %{scl_prefix}  %scl_package        php-brotli @@ -13,13 +17,13 @@  %global pkg_name    %{name}  %endif -%if 0%{?fedora} >= 25 +%if 0%{?fedora} >= 29 || 0%{?rhel} >= 8  %global with_libbrotli 1  %else  %global with_libbrotli 0  %endif -%global gh_commit   dd31e7026e320a6647c2a8ce98943dbfb8cf2060 +%global gh_commit   1c275034502060b385a5abdc130538ec8499078e  %global gh_short    %(c=%{gh_commit}; echo ${c:0:7})  %global gh_owner    kjdev  %global gh_project  php-ext-brotli @@ -30,9 +34,9 @@  Summary:       Brotli Extension for PHP  Name:          %{?sub_prefix}php-%{pecl_name} -Version:       0.5.0 +Version:       0.5.1  %if 0%{?gh_date:1} -Release:       0.3.%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Release:       1%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}  %else  Release:       1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}  %endif @@ -43,14 +47,12 @@ Source0:       %{pkg_name}-%{version}-%{gh_short}.tgz  # retrieve a recursive git snapshot with submodule  Source1:       makesrc.sh -# https://github.com/kjdev/php-ext-brotli/pull/6 -Patch0:       https://patch-diff.githubusercontent.com/raw/kjdev/php-ext-brotli/pull/6.patch - +BuildRequires: %{?dtsprefix}gcc  BuildRequires: %{?scl_prefix}php-devel  %if %{?with_libbrotli}  BuildRequires: brotli-devel >= 0.6.0  %else -Provides:      bundled(brotli) = 1.0.1 +Provides:      bundled(brotli) = 1.0.4  %endif  Requires:      %{?scl_prefix}php(zend-abi) = %{php_zend_api} @@ -94,7 +96,6 @@ Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSIO  mv %{gh_project}-%{gh_commit} NTS  cd NTS -%patch0 -p1  # replace symlink  rm LICENSE @@ -103,6 +104,9 @@ mv brotli/LICENSE .  %if %{?with_libbrotli}  # Use the system library  mv brotli tests +%else +# See https://github.com/kjdev/php-ext-brotli/pull/9 +sed -e '/BROTLI_LIB_VERSION/s/1.0.1/1.0.4/' -i config.m4  %endif  # Sanity check, really often broken @@ -219,6 +223,10 @@ REPORT_EXIT_STATUS=1 \  %changelog +* Mon Apr 16 2018 Remi Collet <remi@remirepo.net> - 0.5.1-1 +- update to 0.5.1, bundled libbrotli 1.0.4 +- open https://github.com/kjdev/php-ext-brotli/pull/9 fix version +  * Thu Nov  9 2017 Remi Collet <remi@remirepo.net> - 0.5.0-1  - new package, version 0.5.0, bundled libbrotli 1.0.1  - add patch to build with system libbrotli  | 
