Blob Blame History Raw
%global with_docs 0

%global globalversion 3.9.3
%global globalrelease 3

Name:           activemq-cpp
Version:        %{globalversion}
Release:        %{globalrelease}%{?dist}
Summary:        C++ implementation of JMS-like messaging client

Group:          Development/Libraries
License:        ASL 2.0
URL:            http://activemq.apache.org/cms/
Source0:        http://www.apache.org/dist/activemq/activemq-cpp/%{globalversion}/activemq-cpp-library-%{globalversion}-src.tar.gz
Source1:        http://www.apache.org/dist/activemq/activemq-cpp/3.8.3/activemq-cpp-library-3.8.3-src.tar.gz
Patch0:         activemq-cpp-3.8.2-system-zlib.patch
# Some local texmf configuration to increase default pool_size.
Patch1:         activemq-cpp-local-texmf.patch
BuildRoot:      %{_tmppath}/%{name}-%{globalversion}-%{globalrelease}-root-%(%{__id_u} -n)

BuildRequires:  openssl-devel
BuildRequires:  zlib-devel
%if %{?with_docs}0
BuildRequires:  doxygen
BuildRequires:  graphviz
%if %{?fedora}%{!?fedora:0} >= 9 || %{?rhel}%{!?rhel:0} >= 6
BuildRequires:  tex(latex)
%else
BuildRequires:  tetex-latex
%endif
%endif
BuildRequires:  apr-util-devel%{?_isa} >= 1.3
BuildRequires:  cppunit-devel%{?_isa} >= 1.10.2

%if %{?fedora}%{!?fedora:0} >= 12 || %{?rhel}%{!?rhel:0} >= 6
BuildRequires:  libuuid-devel%{?_isa}
%else
BuildRequires:  e2fsprogs-devel%{?_isa}
%endif

%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.  

%package devel
Summary:        C++ implementation header files for JMS-like messaging
Group:          Development/Libraries
Requires:       %{name} = %{globalversion}-%{globalrelease}%{?dist}
Requires:       pkgconfig
%if %{?fedora}%{!?fedora:0} >= 12 || %{?rhel}%{!?rhel:0} >= 6
Requires:  libuuid-devel%{?_isa}
%else
Requires:  e2fsprogs-devel%{?_isa}
%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 
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}-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

%package -n activemq-cpp3.8
Version: 3.8.3
Release: %{globalrelease}%{?dist}
Summary: C++ implementation of JMS-like messaging client

%description -n activemq-cpp3.8
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.  

%prep
%setup -q -n activemq-cpp-library-3.9.3 -a 1
pushd activemq-cpp-library-3.8.3
%patch0 -p1
rm -r src/main/decaf/internal/util/zip
chmod 644 LICENSE.txt
chmod 644 src/main/activemq/transport/mock/MockTransport.cpp
popd

%patch0 -p1
rm -r src/main/decaf/internal/util/zip
%if %{?with_docs}0
%patch1 -p1
%endif
chmod 644 LICENSE.txt
chmod 644 src/main/activemq/transport/mock/MockTransport.cpp


%build
pushd activemq-cpp-library-3.8.3
%configure --disable-static
make %{?_smp_mflags}
popd

# 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
rm -rf $RPM_BUILD_ROOT
pushd activemq-cpp-library-3.8.3
make install DESTDIR=$RPM_BUILD_ROOT
rm $RPM_BUILD_ROOT/%{_libdir}/lib%{name}.la
rm $RPM_BUILD_ROOT/%{_bindir}/example
# Remove devel from compat.
rm $RPM_BUILD_ROOT/%{_bindir}/activemqcpp-config
rm -rf $RPM_BUILD_ROOT/%{_includedir}/activemq-cpp-3.8.3
rm  $RPM_BUILD_ROOT/%{_libdir}/libactivemq-cpp.so
rm  $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/activemq-cpp.pc
popd

make install DESTDIR=$RPM_BUILD_ROOT
rm $RPM_BUILD_ROOT/%{_libdir}/lib%{name}.la
rm $RPM_BUILD_ROOT/%{_bindir}/example

%clean
rm -rf $RPM_BUILD_ROOT

%check
make %{?_smp_mflags} check

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%files
%defattr(-,root,root,-)
%{_libdir}/lib%{name}.so.19*
%doc LICENSE.txt  NOTICE.txt  README.txt  RELEASE_NOTES.txt

%files devel
%defattr(-,root,root,-)
%{_libdir}/lib%{name}.so
%{_includedir}/%{name}-%{globalversion}
%{_libdir}/pkgconfig/%{name}.pc
%{_bindir}/activemqcpp-config

%if %{?with_docs}0
%files doc
%defattr(-,root,root,-)
%doc doc/%{name}.pdf
%endif

%files -n activemq-cpp3.8
%{_libdir}/lib%{name}.so.18*
%doc LICENSE.txt


%changelog
* Fri Feb 17 2017 Steve Traylen <steve.traylen@cern.ch> - 3.9.3-3
- Correct inter dependecy.

* Wed Feb 15 2017 Steve Traylen <steve.traylen@cern.ch> - 3.9.3-3
- Upstream to 3.9.3
- Add activemqcpp-lib3.8 package to provide old version so.

* Wed Aug 27 2014 Steve Traylen <steve.traylen@cern.ch> - 3.8.4-1
- Upstream to 3.8.3

* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.8.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Thu May 29 2014 Ville Skyttä <ville.skytta@iki.fi> - 3.8.2-2
- Patch to use system zlib instead of bundled one

* Thu Jan 23 2014 Steve Traylen <steve.traylen@cern.ch> - 3.8.2-1
- Upstream to 3.8.2

* Wed Sep 4 2013 Steve Traylen <steve.traylen@cern.ch> - 3.7.1-1
- Upstream to 3.7.1

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Sun Sep 16 2012 Steve Traylen <steve.traylen@cern.ch> - 3.4.4-1
- Upstream to 3.4.4

* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.1-2
- Rebuilt for c++ ABI breakage

* Sun Feb 12 2012 Steve Traylen <steve.traylen@cern.ch> - 3.4.1-1
- Upstream to 3.4.1
- Add patch for gcc47, AMQCPP-389

* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Sun Jul 10 2011 Steve Traylen <steve.traylen@cern.ch> - 3.4.0-1
- Upstream to 3.4.0

* Mon Apr 18 2011 Steve Traylen <steve.traylen@cern.ch> - 3.3.0-1
- Upstream to 3.3.0

* Mon Mar 7 2011 Steve Traylen <steve.traylen@cern.ch> - 3.2.5-1
- autoconf step removed.
- Upstream to 3.2.5

* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Sun Feb 6 2011 Steve Traylen <steve.traylen@cern.ch> - 3.2.4-1
- Upstream to 3.2.4

* Wed Nov 10 2010 Steve Traylen <steve.traylen@cern.ch> - 3.2.3-1
- Upstream to 3.2.3

* Thu Jul 22 2010 Steve Traylen <steve.traylen@cern.ch> - 3.2.1-1
- Upstream to 3.2.1
- Add BR of openssl-devel since library now supports ssl 
  connections.

* Sat Apr 3 2010 Steve Traylen <steve.traylen@cern.ch> - 3.1.2-1
- Upstream to 3.1.2

* Sat Jan 9 2010 Steve Traylen <steve.traylen@cern.ch> - 3.1.0-1
- Upstream to 3.1.0

* Fri Dec 11 2009 Steve Traylen <steve.traylen@cern.ch> - 3.0.1-1
- Upstream to 3.0.1
- Tar ball name change.

* Fri Dec 11 2009 Steve Traylen <steve.traylen@cern.ch> - 2.2.6-5
- Add libuuid-devel as Requires to -devel package.

* Sat Nov 14 2009 Steve Traylen <steve.traylen@cern.ch> - 2.2.6-4
- Remove patch to relocate headers from versioned directory.
- Add make smp options to make check.

* Fri Nov 6 2009 Steve Traylen <steve.traylen@cern.ch> - 2.2.6-3
- Relocate headers to non versioned directory with patch0

* Fri Nov 6 2009 Steve Traylen <steve.traylen@cern.ch> - 2.2.6-2
- Adapted to Fedora guidelines.

* Thu Feb 26 2009 Ricardo Rocha <ricardo.rocha@cern.ch> - 2.2.6-1
- First version of the spec file