summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2014-04-10 18:54:46 +0200
committerRemi Collet <fedora@famillecollet.com>2014-04-10 18:54:46 +0200
commitbe61addff50fc89fa0d30c57df2cd45cc1bbaa95 (patch)
tree70ecc91edfe54821b1f00f393b4c64cc2e499a63
parent1e231e9ef775cac0f1707d6657f23de853b29c31 (diff)
php-pecl-jsonc: missing __sync_val_compare_and_swap_4 in el5 i386
-rw-r--r--jsonc-el5-32.patch12
-rw-r--r--php-pecl-jsonc.spec25
2 files changed, 35 insertions, 2 deletions
diff --git a/jsonc-el5-32.patch b/jsonc-el5-32.patch
new file mode 100644
index 0000000..bd61b95
--- /dev/null
+++ b/jsonc-el5-32.patch
@@ -0,0 +1,12 @@
+diff -up jsonc-1.3.5/json-c/linkhash.c.el5 jsonc-1.3.5/json-c/linkhash.c
+--- jsonc-1.3.5/json-c/linkhash.c.el5 2014-04-10 18:36:50.000000000 +0200
++++ jsonc-1.3.5/json-c/linkhash.c 2014-04-10 18:37:07.000000000 +0200
+@@ -405,7 +405,7 @@ unsigned long lh_char_hash(const void *k
+ int seed;
+ /* we can't use -1 as it is the unitialized sentinel */
+ while ((seed = json_c_get_random_seed()) == -1);
+-#if defined __GNUC__
++#if 0
+ __sync_val_compare_and_swap(&random_seed, -1, seed);
+ #elif defined _MSC_VER
+ InterlockedCompareExchange(&random_seed, seed, -1);
diff --git a/php-pecl-jsonc.spec b/php-pecl-jsonc.spec
index 2270611..dca409c 100644
--- a/php-pecl-jsonc.spec
+++ b/php-pecl-jsonc.spec
@@ -33,12 +33,14 @@
Summary: Support for JSON serialization
Name: php-pecl-%{proj_name}
Version: 1.3.5
-Release: 1%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}
+Release: 1%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}.1
License: PHP
Group: Development/Languages
URL: http://pecl.php.net/package/%{proj_name}
Source0: http://pecl.php.net/get/%{proj_name}-%{version}.tgz
+Patch0: %{proj_name}-el5-32.patch
+
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: php-devel >= 5.4
BuildRequires: php-pear
@@ -108,6 +110,12 @@ Only used to be the best provider for php-json.
%setup -q -c
cd %{proj_name}-%{version}
+%ifarch i386
+%if 0%{?rhel} == 5
+%patch0 -p1 -b .el5
+%endif
+%endif
+
# Sanity check, really often broken
extver=$(sed -n '/#define PHP_JSON_VERSION/{s/.* "//;s/".*$//;p}' php_json.h )
if test "x${extver}" != "x%{version}%{?prever:-%{prever}}"; then
@@ -183,6 +191,16 @@ done
%check
cd %{proj_name}-%{version}
+: Minimal load test for NTS extension
+%{__php} --no-php-ini \
+ --define extension=%{buildroot}%{php_extdir}/%{ext_name}.so \
+ -m | grep %{pecl_name}
+
+: Minimal load test for ZTS extension
+%{__ztsphp} --no-php-ini \
+ --define extension=%{buildroot}%{php_ztsextdir}/%{ext_name}.so \
+ -m | grep %{pecl_name}
+
TEST_PHP_EXECUTABLE=%{_bindir}/php \
TEST_PHP_ARGS="-n -d extension_dir=$PWD/modules -d extension=%{ext_name}.so" \
NO_INTERACTION=1 \
@@ -237,8 +255,11 @@ rm -rf %{buildroot}
# Note to remi : remember to always build in remi-php55(56) first
#
%changelog
+* Thu Apr 10 2014 Remi Collet <remi@fedoraproject.org> - 1.3.5-1.1
+- missing __sync_val_compare_and_swap_4 in el5 i386
+
* Thu Apr 10 2014 Remi Collet <remi@fedoraproject.org> - 1.3.5-1
-- release 1.3.4 (stable) - security
+- release 1.3.5 (stable) - security
* Wed Apr 9 2014 Remi Collet <remi@fedoraproject.org> - 1.3.4-2
- add numerical prefix to extension configuration file