diff --git a/.gitignore b/.gitignore index 114e7c8..0f71b60 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,3 @@ activemq-cpp-library-3.2.1-src.tar.gz /activemq-cpp-library-3.8.3-src.tar.gz /activemq-cpp-library-3.8.4-src.tar.gz /activemq-cpp-library-3.9.4-src.tar.gz -/activemq-cpp-library-3.9.5-src.tar.gz diff --git a/activemq-cpp-gcc47.patch b/activemq-cpp-gcc47.patch new file mode 100644 index 0000000..2e5c962 --- /dev/null +++ b/activemq-cpp-gcc47.patch @@ -0,0 +1,12 @@ +diff -uNr activemq-cpp-library-3.4.1.ORIG/src/main/decaf/util/AbstractQueue.h activemq-cpp-library-3.4.1/src/main/decaf/util/AbstractQueue.h +--- activemq-cpp-library-3.4.1.ORIG/src/main/decaf/util/AbstractQueue.h 2012-02-19 21:37:49.536000023 +0100 ++++ activemq-cpp-library-3.4.1/src/main/decaf/util/AbstractQueue.h 2012-02-19 21:38:56.722000023 +0100 +@@ -60,7 +60,7 @@ + */ + virtual bool add( const E& value ) { + +- if( offer( value ) ) { ++ if( this->offer( value ) ) { + return true; + } + diff --git a/activemq-cpp-local-texmf.patch b/activemq-cpp-local-texmf.patch new file mode 100644 index 0000000..8989a32 --- /dev/null +++ b/activemq-cpp-local-texmf.patch @@ -0,0 +1,24 @@ +diff -uNr activemq-cpp-2.2.6.ORIG/texmf.cnf activemq-cpp-2.2.6/texmf.cnf +--- activemq-cpp-2.2.6.ORIG/texmf.cnf 1970-01-01 01:00:00.000000000 +0100 ++++ activemq-cpp-2.2.6/texmf.cnf 2009-11-07 20:47:00.466113909 +0100 +@@ -0,0 +1,2 @@ ++pool_size = 4000000 ++ +diff -uNr activemq-cpp-2.2.6.ORIG/doxygen-include.am activemq-cpp-2.2.6/doxygen-include.am +--- activemq-cpp-2.2.6.ORIG/doxygen-include.am 2009-01-23 14:56:26.000000000 +0100 ++++ activemq-cpp-2.2.6/doxygen-include.am 2009-11-07 20:52:10.558509912 +0100 +@@ -153,12 +153,12 @@ + rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \ + $(DX_PDFLATEX) refman.tex; \ + $(DX_MAKEINDEX) refman.idx; \ +- $(DX_PDFLATEX) refman.tex; \ ++ TEXMFCNF=.: $(DX_PDFLATEX) refman.tex; \ + countdown=5; \ + while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \ + refman.log > /dev/null 2>&1 \ + && test $$countdown -gt 0; do \ +- $(DX_PDFLATEX) refman.tex; \ ++ TEXMFCNF=.: $(DX_PDFLATEX) refman.tex; \ + countdown=`expr $$countdown - 1`; \ + done; \ + mv refman.pdf ../@PACKAGE@.pdf diff --git a/activemq-cpp-openssl1.patch b/activemq-cpp-openssl1.patch new file mode 100644 index 0000000..5aa216c --- /dev/null +++ b/activemq-cpp-openssl1.patch @@ -0,0 +1,18 @@ +--- activemq-cpp-library-3.8.4-clean/src/main/decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp 2017-10-24 09:21:39.284236953 +0100 ++++ activemq-cpp-library-3.8.4-clean/src/main/decaf/internal/net/ssl/openssl/OpenSSLSocket.cpp 2017-10-24 09:24:46.925846965 +0100 +@@ -664,11 +664,12 @@ + break; + } + +- const unsigned char* data = extension->value->data; ++ const unsigned char* data = ASN1_STRING_data(X509_EXTENSION_get_data(extension)); ++ const size_t length = ASN1_STRING_length(X509_EXTENSION_get_data(extension)); + STACK_OF(CONF_VALUE)* confValue = method->i2v(method, + method->it ? +- ASN1_item_d2i(NULL, &data, extension->value->length, ASN1_ITEM_ptr(method->it)) : +- method->d2i(NULL, &data, extension->value->length), NULL); ++ ASN1_item_d2i(NULL, &data, length, ASN1_ITEM_ptr(method->it)) : ++ method->d2i(NULL, &data, length), NULL); + + CONF_VALUE* value = NULL; + diff --git a/activemq-cpp.spec b/activemq-cpp.spec index d8d7cec..f255579 100644 --- a/activemq-cpp.spec +++ b/activemq-cpp.spec @@ -1,111 +1,138 @@ +%global with_docs 0 + Name: activemq-cpp -Version: 3.9.5 -Release: 5%{?dist} +Version: 3.9.4 +Release: 1%{?dist} Summary: C++ implementation of JMS-like messaging client -License: Apache-2.0 +Group: Development/Libraries +License: ASL 2.0 URL: http://activemq.apache.org/cms/ Source0: http://www.apache.org/dist/activemq/activemq-cpp/%{version}/activemq-cpp-library-%{version}-src.tar.gz -Patch: activemq-cpp-3.8.2-system-zlib.patch +Patch0: activemq-cpp-3.8.2-system-zlib.patch +# Some local texmf configuration to increase default pool_size. +Patch1: activemq-cpp-local-texmf.patch +# Openssl 1.1.0 +# http://activemq.2283324.n4.nabble.com/activemq-cpp-3-9-4-fails-to-build-fedora-rawhide-openssl-1-1-0e-related-td4724037.html +Patch2: activemq-cpp-openssl1.patch -BuildRequires: gcc -BuildRequires: gcc-c++ BuildRequires: openssl-devel BuildRequires: zlib-devel +%if %{?with_docs}0 +BuildRequires: doxygen +BuildRequires: graphviz +BuildRequires: tex(latex) +%endif BuildRequires: apr-util-devel >= 1.3 BuildRequires: cppunit-devel >= 1.10.2 BuildRequires: libuuid-devel %description -activemq-cpp is a JMS-like API for C++ for interfacing with Message -Brokers such as Apache ActiveMQ. C++ messaging service helps to make your -C++ client code much neater and easier to follow. To get a better feel for -CMS try the API Reference. -ActiveMQ-CPP is a client only library, a message broker such as Apache -ActiveMQ is still needed for your clients to communicate. +activemq-cpp is a JMS-like API for C++ for interfacing with Message +Brokers such as Apache ActiveMQ. C++ messaging service helps to make your +C++ client code much neater and easier to follow. To get a better feel for +CMS try the API Reference. +ActiveMQ-CPP is a client only library, a message broker such as Apache +ActiveMQ is still needed for your clients to communicate. %package devel Summary: C++ implementation header files for JMS-like messaging +Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: pkgconfig -Requires: libuuid-devel +%if %{?fedora}%{!?fedora:0} >= 12 || %{?rhel}%{!?rhel:0} >= 6 +Requires: libuuid-devel +%else +Requires: e2fsprogs-devel +%endif %description devel -activemq-cpp is a JMS-like API for C++ for interfacing with Message -Brokers such as Apache ActiveMQ. C++ messaging service helps to make +activemq-cpp is a JMS-like API for C++ for interfacing with Message +Brokers such as Apache ActiveMQ. C++ messaging service helps to make your C++ client code much neater and easier to follow. To get a better -feel for CMS try the API Reference. ActiveMQ-CPP is a client only -library, a message broker such as Apache ActiveMQ is still needed -for your clients to communicate. +feel for CMS try the API Reference. ActiveMQ-CPP is a client only +library, a message broker such as Apache ActiveMQ is still needed +for your clients to communicate. %{name}-devel contains development header files. +%if %{?with_docs}0 +%package doc +Summary: C++ implementation header files for JMS-like messaging +Group: Documentation +%if %{?fedora}%{!?fedora:0} >= 10 || %{?rhel}%{!?rhel:0} >= 6 +BuildArch: noarch +%endif + +%description doc +activemq-cpp is a JMS-like API for C++ for interfacing with Message +Brokers such as Apache ActiveMQ. C++ messaging service helps to make +your C++ client code much neater and easier to follow. To get a better +feel for CMS try the API Reference. ActiveMQ-CPP is a client only +library, a message broker such as Apache ActiveMQ is still needed +for your clients to communicate. + +%{name}-doc contains api documentation. +%endif %prep -%autosetup -n activemq-cpp-library-%{version} -p1 +%setup -q -n activemq-cpp-library-%{version} +%patch0 -p1 rm -r src/main/decaf/internal/util/zip +%if %{?with_docs}0 +%patch1 -p1 +%endif +%patch2 -p1 chmod 644 LICENSE.txt chmod 644 src/main/activemq/transport/mock/MockTransport.cpp -%configure --disable-static - %build -%make_build +# Build pdf(30MB) rather than default html(400MB). +%if %{?with_docs}0 +%configure --disable-static --disable-doxygen-html --enable-doxygen-pdf +%else +%configure --disable-static +%endif +make %{?_smp_mflags} +%if %{?with_docs}0 +make %{?_smp_mflags} doxygen-run +cp -p texmf.cnf doc/latex/texmf.cnf +make %{?_smp_mflags} doxygen-pdf +%endif %install -%make_install -rm %{buildroot}%{_libdir}/lib%{name}.la -rm %{buildroot}%{_bindir}/example - +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT +rm $RPM_BUILD_ROOT/%{_libdir}/lib%{name}.la +rm $RPM_BUILD_ROOT/%{_bindir}/example %check -make check - -%ldconfig_scriptlets +make %{?_smp_mflags} check +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig %files +%defattr(-,root,root,-) %{_libdir}/lib%{name}.so.* -%license LICENSE.txt -%doc NOTICE.txt README.txt RELEASE_NOTES.txt - +%doc LICENSE.txt NOTICE.txt README.txt RELEASE_NOTES.txt %files devel +%defattr(-,root,root,-) %{_libdir}/lib%{name}.so %{_includedir}/%{name}-%{version} %{_libdir}/pkgconfig/%{name}.pc %{_bindir}/activemqcpp-config +%if %{?with_docs}0 +%files doc +%defattr(-,root,root,-) +%doc doc/%{name}.pdf +%endif %changelog -* Fri Jan 16 2026 Fedora Release Engineering - 3.9.5-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Wed Jul 23 2025 Fedora Release Engineering - 3.9.5-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jan 16 2025 Fedora Release Engineering - 3.9.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Jul 17 2024 Fedora Release Engineering - 3.9.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Wed Apr 03 2024 Jonathan Wright - 3.9.5-1 -- Unorphan package -- Update to 3.9.5 -- Overhaul spec file - -* Wed Jul 24 2019 Fedora Release Engineering - 3.9.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Thu Jan 31 2019 Fedora Release Engineering - 3.9.4-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Jul 12 2018 Fedora Release Engineering - 3.9.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - * Fri Apr 13 2018 Steve Traylen - 3.9.4-1 - New from upstream - Add patch for openssl1 diff --git a/sources b/sources index fc0102a..1262ac0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (activemq-cpp-library-3.9.5-src.tar.gz) = 6481974f079b63f78fa9988726a544e86206c535066621068dae4e0856316219f92f4ead032431fa3d11a90e496e6d23b7f0f0183e44b4f51d47a98c82dc9078 +SHA512 (activemq-cpp-library-3.9.4-src.tar.gz) = 58b71acba98034578819ea0b63ca6d90168d6231e24a1d9d6a42d54ca7b7be5cf6eb82054c50ea4c3f29a2f0155433f2886226e4910ed8621474bd1315050f13