daecf93
# Fedora spec file for php-pecl-amqp
0a3c858
#
07bd7e5
# Copyright (c) 2012-2021 Remi Collet
0a3c858
# License: CC-BY-SA
49d13cd
# http://creativecommons.org/licenses/by-sa/4.0/
0a3c858
#
0a3c858
# Please, preserve the changelog entries
0a3c858
#
217c263
217c263
# we don't want -z defs linker flag
217c263
%undefine _strict_symbol_defs_build
217c263
0a3c858
%global with_zts    0%{?__ztsphp:1}
daecf93
%global with_tests  0%{?_with_tests:1}
2982de7
%global pecl_name   amqp
1838169
%global ini_name    40-%{pecl_name}.ini
f5376ac
f5376ac
%global upstream_version 1.11.0
7329b5f
#global upstream_prever  RC1
7329b5f
#global upstream_lower   rc1
2982de7
2982de7
Summary:       Communicate with any AMQP compliant server
2982de7
Name:          php-pecl-amqp
9415f31
Version:       %{upstream_version}%{?upstream_prever:~%{upstream_lower}}
9415f31
Release:       1%{?dist}
2982de7
License:       PHP
f4c6f32
URL:           https://pecl.php.net/package/amqp
f5376ac
Source0:       https://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prever}.tgz
07bd7e5
07bd7e5
BuildRequires: make
07bd7e5
BuildRequires: gcc
9415f31
BuildRequires: php-devel >= 5.6
2982de7
BuildRequires: php-pear
171ada0
BuildRequires: pkgconfig(librabbitmq) >= 0.7.1
0a3c858
%if %{with_tests}
0a3c858
BuildRequires: rabbitmq-server
0a3c858
%endif
2982de7
afe0ad6
Requires:      php(zend-abi) = %{php_zend_api}
afe0ad6
Requires:      php(api) = %{php_core_api}
2982de7
afe0ad6
Provides:      php-%{pecl_name}               = %{version}
afe0ad6
Provides:      php-%{pecl_name}%{?_isa}       = %{version}
afe0ad6
Provides:      php-pecl(%{pecl_name})         = %{version}
afe0ad6
Provides:      php-pecl(%{pecl_name})%{?_isa} = %{version}
2982de7
2982de7
2982de7
%description
2982de7
This extension can communicate with any AMQP spec 0-9-1 compatible server,
2982de7
such as RabbitMQ, OpenAMQP and Qpid, giving you the ability to create and
2982de7
delete exchanges and queues, as well as publish to any exchange and consume
2982de7
from any queue.
2982de7
2982de7
2982de7
%prep
2982de7
%setup -q -c
2982de7
49d13cd
# Don't install/register tests
afe0ad6
sed -e 's/role="test"/role="src"/' \
afe0ad6
    -e '/LICENSE/s/role="doc"/role="src"/' \
afe0ad6
    -i package.xml
49d13cd
f5376ac
mv %{pecl_name}-%{upstream_version}%{?upstream_prever} NTS
0a3c858
cd NTS
afe0ad6
sed -e 's/CFLAGS="-I/CFLAGS="$CFLAGS -I/' -i config.m4
daecf93
0ab15df
# Upstream often forget to change this
d69e68d
extver=$(sed -n '/#define PHP_AMQP_VERSION/{s/.* "//;s/".*$//;p}' php_amqp.h)
f5376ac
if test "x${extver}" != "x%{upstream_version}%{?upstream_prever}"; then
f5376ac
   : Error: Upstream extension version is ${extver}, expecting %{upstream_version}%{?upstream_prever}.
0ab15df
   exit 1
0ab15df
fi
d69e68d
cd ..
2982de7
0a3c858
cat > %{ini_name} << 'EOF'
2982de7
; Enable %{pecl_name} extension module
2982de7
extension = %{pecl_name}.so
2982de7
2982de7
; Whether calls to AMQPQueue::get() and AMQPQueue::consume()
87c07f4
; should require that the client explicitly acknowledge messages.
2982de7
; Setting this value to 1 will pass in the AMQP_AUTOACK flag to
87c07f4
; the above method calls if the flags field is omitted.
2982de7
;amqp.auto_ack = 0
2982de7
2982de7
; The host to which to connect.
2982de7
;amqp.host = localhost
2982de7
2982de7
; The login to use while connecting to the broker.
2982de7
;amqp.login = guest
2982de7
2982de7
; The password to use while connecting to the broker.
2982de7
;amqp.password = guest
2982de7
2982de7
; The port on which to connect.
2982de7
;amqp.port = 5672
2982de7
87c07f4
; The number of messages to prefect from the server during a
2982de7
; call to AMQPQueue::get() or AMQPQueue::consume() during which
2982de7
; the AMQP_AUTOACK flag is not set.
2982de7
;amqp.prefetch_count = 3
f4c6f32
;amqp.prefetch_size = 0
f4c6f32
;amqp.global_prefetch_count =0
f4c6f32
;amqp.global_prefetch_size =0
2982de7
2982de7
; The virtual host on the broker to which to connect.
2982de7
;amqp.vhost = /
0a3c858
0a3c858
; Timeout
daecf93
;amqp.timeout =
daecf93
;amqp.read_timeout = 0
daecf93
;amqp.write_timeout = 0
daecf93
;amqp.connect_timeout = 0
f4c6f32
;amqp.rpc_timeout = 0
daecf93
daecf93
;amqp.channel_max = 256
daecf93
;amqp.frame_max = 131072
daecf93
;amqp.heartbeat = 0
1ab3ce2
1ab3ce2
;amqp.cacert = ''
1ab3ce2
;amqp.cert = ''
1ab3ce2
;amqp.key = ''
1ab3ce2
;amqp.verify = ''
225e39e
;amqp.sasl_method = 0
2982de7
EOF
2982de7
0a3c858
%if %{with_zts}
0a3c858
cp -pr NTS ZTS
0a3c858
%endif
0a3c858
2982de7
2982de7
%build
0a3c858
cd NTS
0a3c858
%{_bindir}/phpize
2982de7
%configure --with-php-config=%{_bindir}/php-config
2982de7
make %{?_smp_mflags}
2982de7
0a3c858
%if %{with_zts}
0a3c858
cd ../ZTS
0a3c858
%{_bindir}/zts-phpize
0a3c858
%configure --with-php-config=%{_bindir}/zts-php-config
0a3c858
make %{?_smp_mflags}
0a3c858
%endif
0a3c858
2982de7
2982de7
%install
0a3c858
make -C NTS install INSTALL_ROOT=%{buildroot}
2982de7
2982de7
# Drop in the bit of configuration
0a3c858
install -Dpm 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
2982de7
2982de7
# Install XML package description
2982de7
install -Dpm 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml
2982de7
0a3c858
%if %{with_zts}
0a3c858
make -C ZTS install INSTALL_ROOT=%{buildroot}
0a3c858
install -Dpm 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}
0a3c858
%endif
0a3c858
49d13cd
# Documentation
0a3c858
cd NTS
0a3c858
for i in $(grep 'role="doc"' ../package.xml | sed -e 's/^.*name="//;s/".*$//')
0a3c858
do install -Dpm 644 $i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i
0a3c858
done
0a3c858
2982de7
2982de7
%check
0a3c858
: Minimal load test for NTS extension
0a3c858
%{__php} --no-php-ini \
0a3c858
    --define extension=NTS/modules/%{pecl_name}.so \
f5376ac
    -m | grep '^%{pecl_name}$'
0a3c858
0a3c858
%if %{with_zts}
0a3c858
: Minimal load test for ZTS extension
0a3c858
%{__ztsphp} --no-php-ini \
0a3c858
    --define extension=ZTS/modules/%{pecl_name}.so \
f5376ac
    -m | grep '^%{pecl_name}$'
0a3c858
%endif
0a3c858
0a3c858
%if %{with_tests}
0a3c858
mkdir log run base
0a3c858
: Launch the RabbitMQ service
0a3c858
export RABBITMQ_PID_FILE=$PWD/run/pid
0a3c858
export RABBITMQ_LOG_BASE=$PWD/log
0a3c858
export RABBITMQ_MNESIA_BASE=$PWD/base
0a3c858
/usr/lib/rabbitmq/bin/rabbitmq-server &>log/output &
0a3c858
/usr/lib/rabbitmq/bin/rabbitmqctl wait $RABBITMQ_PID_FILE
0a3c858
0a3c858
ret=0
0a3c858
pushd NTS
0a3c858
: Run the upstream test Suite for NTS extension
0a3c858
TEST_PHP_ARGS="-n -d extension=$PWD/modules/%{pecl_name}.so" \
9415f31
%{__php} -n run-tests.php -q --show-diff || ret=1
0a3c858
popd
0a3c858
0a3c858
%if %{with_zts}
0a3c858
pushd ZTS
0a3c858
: Run the upstream test Suite for ZTS extension
0a3c858
TEST_PHP_ARGS="-n -d extension=$PWD/modules/%{pecl_name}.so" \
9415f31
%{__ztsphp} -n run-tests.php -q --show-diff || ret=1
0a3c858
popd
0a3c858
%endif
0a3c858
0a3c858
: Cleanup
0a3c858
if [ -s $RABBITMQ_PID_FILE ]; then
0a3c858
   kill $(cat $RABBITMQ_PID_FILE)
0a3c858
fi
0a3c858
rm -rf log run base
0a3c858
0a3c858
exit $ret
0a3c858
%endif
2982de7
2982de7
2982de7
%files
afe0ad6
%license NTS/LICENSE
0a3c858
%doc %{pecl_docdir}/%{pecl_name}
49d13cd
%{pecl_xmldir}/%{name}.xml
49d13cd
0a3c858
%config(noreplace) %{php_inidir}/%{ini_name}
2982de7
%{php_extdir}/%{pecl_name}.so
2982de7
0a3c858
%if %{with_zts}
0a3c858
%config(noreplace) %{php_ztsinidir}/%{ini_name}
0a3c858
%{php_ztsextdir}/%{pecl_name}.so
0a3c858
%endif
0a3c858
2982de7
2982de7
%changelog
7329b5f
* Tue Dec  7 2021 Remi Collet <remi@remirepo.net> - 1.11.0-1
7329b5f
- update to 1.11.0
7329b5f
9415f31
* Tue Nov  2 2021 Remi Collet <remi@remirepo.net> - 1.11.0~rc1-1
9415f31
- update to 1.11.0RC1
9415f31
9b6e69c
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.11.0~beta-2
9b6e69c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
9b6e69c
f5376ac
* Wed Mar 10 2021 Remi Collet <remi@remirepo.net> - 1.11.0~beta-1
f5376ac
- update to 1.11.0beta
f5376ac
- drop patched merged upstream
f5376ac
07bd7e5
* Thu Mar  4 2021 Remi Collet <remi@remirepo.net> - 1.10.2-4
07bd7e5
- rebuild for https://fedoraproject.org/wiki/Changes/php80
07bd7e5
- add patches for PHP 8 from upstream and
07bd7e5
  https://github.com/php-amqp/php-amqp/pull/383
07bd7e5
e61ee3d
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.2-3
e61ee3d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
e61ee3d
33505c4
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.2-2
33505c4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
33505c4
f4c6f32
* Mon Apr  6 2020 Remi Collet <remi@remirepo.net> - 1.10.2-1
f4c6f32
- update to 1.10.2
f4c6f32
6a09f75
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.4-5
6a09f75
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
6a09f75
2920070
* Thu Oct 03 2019 Remi Collet <remi@remirepo.net> - 1.9.4-4
2920070
- rebuild for https://fedoraproject.org/wiki/Changes/php74
2920070
9638e15
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.4-3
9638e15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
9638e15
d3c9c38
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.4-2
d3c9c38
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
d3c9c38
225e39e
* Wed Jan  2 2019 Remi Collet <remi@remirepo.net> - 1.9.4-1
225e39e
- update to 1.9.4
225e39e
- drop patch merged upstream
225e39e
- raise minimal PHP version to 5.6
225e39e
  and open https://github.com/pdezwart/php-amqp/pull/338
225e39e
e53348e
* Thu Oct 11 2018 Remi Collet <remi@remirepo.net> - 1.9.3-5
e53348e
- Rebuild for https://fedoraproject.org/wiki/Changes/php73
e53348e
- add patch for PHP 7.3 from
e53348e
  https://github.com/pdezwart/php-amqp/pull/323
e53348e
6251535
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.3-4
6251535
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
6251535
d708f97
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.3-3
d708f97
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
d708f97
217c263
* Fri Jan 26 2018 Remi Collet <remi@remirepo.net> - 1.9.3-2
217c263
- undefine _strict_symbol_defs_build
217c263
122d6de
* Thu Oct 19 2017 Remi Collet <remi@remirepo.net> - 1.9.3-1
122d6de
- Update to 1.9.3 (stable)
122d6de
d549c29
* Tue Oct 03 2017 Remi Collet <remi@fedoraproject.org> - 1.9.1-4
d549c29
- rebuild for https://fedoraproject.org/wiki/Changes/php72
d549c29
0b14b75
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.1-3
0b14b75
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
0b14b75
99cb293
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.1-2
99cb293
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
99cb293
8dc02e4
* Mon Jun 12 2017 Remi Collet <remi@remirepo.net> - 1.9.1-1
8dc02e4
- Update to 1.9.1 (stable)
8dc02e4
50a06da
* Tue Mar 21 2017 Remi Collet <remi@remirepo.net> - 1.9.0-1
50a06da
- update to 1.9.0 (stable)
50a06da
1ab3ce2
* Fri Feb 17 2017 Remi Collet <remi@remirepo.net> - 1.8.0-1
1ab3ce2
- update to 1.8.0 (stable)
1ab3ce2
3b5f808
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.1-3
3b5f808
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
3b5f808
988764c
* Mon Nov 14 2016 Remi Collet <remi@fedoraproject.org> - 1.7.1-2
988764c
- rebuild for https://fedoraproject.org/wiki/Changes/php71
988764c
5cb136a
* Mon Jul 11 2016 Remi Collet <remi@fedoraproject.org> - 1.7.1-1
5cb136a
- update to 1.7.1 (php 5 and 7, stable)
5cb136a
fcbd2db
* Mon Jun 27 2016 Remi Collet <remi@fedoraproject.org> - 1.7.0-2
fcbd2db
- rebuild for https://fedoraproject.org/wiki/Changes/php70
fcbd2db
afe0ad6
* Tue Apr 26 2016 Remi Collet <remi@fedoraproject.org> - 1.7.0-1
afe0ad6
- update to 1.7.0 (php 5 and 7, stable)
afe0ad6
Remi Collet 1244d09
* Wed Feb 10 2016 Remi Collet <remi@fedoraproject.org> - 1.6.1-2
Remi Collet 1244d09
- drop scriptlets (replaced file triggers in php-pear)
Remi Collet 1244d09
17a72cd
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.1-2
17a72cd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
17a72cd
030de76
* Thu Nov 26 2015 Remi Collet <remi@fedoraproject.org> - 1.6.1-1
030de76
- update to 1.6.1 (stable)
030de76
87c07f4
* Tue Nov  3 2015 Remi Collet <remi@fedoraproject.org> - 1.6.0-1
87c07f4
- update to 1.6.0 (stable)
87c07f4
- fix typo in config file
87c07f4
daecf93
* Fri Sep 18 2015 Remi Collet <remi@fedoraproject.org> - 1.6.0-0.4.beta4
daecf93
- update to 1.6.0beta4
daecf93
- open https://github.com/pdezwart/php-amqp/pull/178 - librabbitmq 0.5
daecf93
- open https://github.com/pdezwart/php-amqp/pull/179 --with-libdir
daecf93
1cc5052
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.0-0.2.beta3
1cc5052
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
1cc5052
49d13cd
* Mon Apr 20 2015 Remi Collet <remi@fedoraproject.org> - 1.6.0-0.1.beta3
49d13cd
- update to 1.6.0beta3
1492690
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.0-5
1492690
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
1492690
f943fb7
* Thu Jun 19 2014 Remi Collet <rcollet@redhat.com> - 1.4.0-4
f943fb7
- rebuild for https://fedoraproject.org/wiki/Changes/Php56
f943fb7
aa4f913
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.0-3
aa4f913
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
aa4f913
1838169
* Wed Apr 23 2014 Remi Collet <remi@fedoraproject.org> - 1.4.0-2
1838169
- add numerical prefix to extension configuration file
1838169
0a3c858
* Tue Apr 15 2014 Remi Collet <remi@fedoraproject.org> - 1.4.0-1
0a3c858
- update to 1.6.0 (stable)
0a3c858
- install doc in pecl doc_dir
0a3c858
- install tests in pecl test_dir (in devel)
0a3c858
- add --with tests option to run upstream tests during build
0a3c858
- build ZTS extension
0a3c858
29c2a39
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-2
29c2a39
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
29c2a39
d69e68d
* Thu May 30 2013 Remi Collet <remi@fedoraproject.org> - 1.2.0-1
d69e68d
- Update to 1.2.0
d69e68d
Remi Collet 7478276
* Fri Mar 22 2013 Remi Collet <rcollet@redhat.com> - 1.0.9-4
Remi Collet 7478276
- rebuild for http://fedoraproject.org/wiki/Features/Php55
Remi Collet 7478276
44e3473
* Wed Mar 13 2013 Remi Collet <remi@fedoraproject.org> - 1.0.9-3
44e3473
- rebuild for new librabbitmq
44e3473
87f76cf
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.9-2
87f76cf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
87f76cf
b03a020
* Tue Nov 13 2012 Remi Collet <remi@fedoraproject.org> - 1.0.9-1
b03a020
- update to 1.0.9
b03a020
- cleanups
b03a020
81f0a56
* Wed Sep 12 2012 Remi Collet <remi@fedoraproject.org> - 1.0.7-1
81f0a56
- update to 1.0.7
81f0a56
c7902e1
* Mon Aug 27 2012 Remi Collet <remi@fedoraproject.org> - 1.0.5-1
c7902e1
- update to 1.0.5
c7902e1
- LICENSE now provided in upstream tarball
c7902e1
b681a0b
* Wed Aug 01 2012 Remi Collet <remi@fedoraproject.org> - 1.0.4-1
b681a0b
- update to 1.0.4
b681a0b
eb84303
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.3-2
eb84303
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
eb84303
0ab15df
* Sat May 19 2012 Remi Collet <remi@fedoraproject.org> - 1.0.3-1
0ab15df
- update to 1.0.3
0ab15df
- add extension version check (and fix)
0ab15df
5d3c9fa
* Mon Mar 19 2012 Remi Collet <remi@fedoraproject.org> - 1.0.1-3
5d3c9fa
- clean EL-5 stuff as requires php 5.2.0, https://bugs.php.net/61351
5d3c9fa
2982de7
* Sat Mar 10 2012 Remi Collet <remi@fedoraproject.org> - 1.0.1-2
2982de7
- rebuild for PHP 5.4
2982de7
2982de7
* Sat Mar 10 2012 Remi Collet <remi@fedoraproject.org> - 1.0.1-1
2982de7
- Initial RPM release without ZTS extension
2982de7
- open request for LICENSE file https://bugs.php.net/61337
2982de7