summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2018-04-16 11:35:01 +0200
committerRemi Collet <remi@remirepo.net>2018-04-16 11:35:01 +0200
commitc3a4b99dbc5d5672c77bcfda765f4fb5496e19ba (patch)
tree23439a8b0d2a5d3d44cccece979fdbdd777d6b44
parente4055c16c0de103b2893290b36e5aa815e4d0186 (diff)
update to 0.5.1, bundled libbrotli 1.0.4
open https://github.com/kjdev/php-ext-brotli/pull/9 fix version
-rw-r--r--6.patch121
-rw-r--r--REFLECTION2
-rw-r--r--php-brotli.spec26
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
diff --git a/REFLECTION b/REFLECTION
index c5acc3c..6b38072 100644
--- a/REFLECTION
+++ b/REFLECTION
@@ -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