Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37713478
en ru br
ALT Linux repos
S:0.36.0-alt2

Group :: System/Libraries
RPM: qpid-proton

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

# a hack: should be fixed
%def_without doc
%define _cmake_skip_rpath -DCMAKE_SKIP_RPATH:BOOL=OFF

Name: qpid-proton
Version: 0.36.0
Release: alt1
Summary: A high performance, lightweight messaging library
Group: System/Libraries

License: Apache-2.0
Url: http://qpid.apache.org/proton/

%define proton_datadir %_datadir/proton

Source: %name-%version.tar

BuildRequires: cmake >= 2.8.12
BuildRequires: gcc-c++
BuildRequires: swig
BuildRequires: doxygen
BuildRequires: libuuid-devel
BuildRequires: libuv-devel
BuildRequires: jsoncpp-devel
BuildRequires: libssl-devel
BuildRequires: libsasl2-devel
BuildRequires: python3-module-setuptools
BuildRequires(pre): rpm-build-python3

%description
Proton is a high performance, lightweight messaging library. It can be used in
the widest range of messaging applications including brokers, client libraries,
routers, bridges, proxies, and more. Proton is based on the AMQP 1.0 messaging
standard. Using Proton it is trivial to integrate with the AMQP 1.0 ecosystem
from any platform, environment, or language.

%package -n lib%name
Summary: C libraries for Qpid Proton
Group: System/Libraries

%description -n lib%name
Proton is a high performance, lightweight messaging library. It can be used in
the widest range of messaging applications including brokers, client libraries,
routers, bridges, proxies, and more. Proton is based on the AMQP 1.0 messaging
standard. Using Proton it is trivial to integrate with the AMQP 1.0 ecosystem
from any platform, environment, or language.

C libraries for Qpid Proton

%package -n lib%name-devel
Requires: lib%name = %version-%release
Summary: Development libraries for writing messaging apps with Qpid Proton
Group: Development/C

%description -n lib%name-devel
Development libraries for writing messaging apps with Qpid Proton

%package -n lib%name-cpp
Summary: C++ libraries for Qpid Proton
Group: Development/C++

%description -n lib%name-cpp
Proton is a high performance, lightweight messaging library. It can be used in
the widest range of messaging applications including brokers, client libraries,
routers, bridges, proxies, and more. Proton is based on the AMQP 1.0 messaging
standard. Using Proton it is trivial to integrate with the AMQP 1.0 ecosystem
from any platform, environment, or language.

C++ libraries for Qpid Proton

%package -n lib%name-cpp-devel
Summary: Development libraries for writing messaging apps with Qpid Proton
Group: Development/C++
Requires: lib%name-cpp = %version-%release
Requires: lib%name-devel = %version-%release

%description -n lib%name-cpp-devel
Development libraries for writing messaging apps with Qpid Proton

%package -n python3-module-qpid-proton
Summary: Python3 language bindings for the Qpid Proton messaging framework
Group: Development/Python3
Requires: lib%name = %version-%release

%description -n python3-module-qpid-proton
Python3 language bindings for the Qpid Proton messaging framework

%package  -n lib%name-devel-doc
Summary: Documentation for the C development libraries for Qpid Proton
Group: Development/Documentation
BuildArch: noarch

%description -n lib%name-devel-doc
Documentation for the C development libraries for Qpid Proton

%package -n python3-module-qpid-proton-doc
Summary: Documentation for the Python language bindings for Qpid Proton
Group: Development/Documentation
BuildArch: noarch

%description -n python3-module-qpid-proton-doc
Documentation for the Python language bindings for Qpid Proton

%prep
%setup

%build
#%%add_optflags -Wno-error=return-type -Wno-error=format-security

%cmake \
   -DPYTHON_SITEARCH_PACKAGES=%python3_sitelibdir \
   -DSYSINSTALL_BINDINGS=ON \
   -DENABLE_FUZZ_TESTING=NO \
   -DPYTHON_EXECUTABLE=%__python3 \
   -DPYTHON_INCLUDE_DIR=%python3_includedir \
   -DPYTHON_LIBRARY=%__libpython3

%cmake_build --target generated_c_files
%cmake_build

(cd %_cmake__builddir/python/dist; %python3_build)

%install
%cmake_install
(cd %_cmake__builddir/python/dist; %python3_install)

find %buildroot%proton_datadir/examples/python -name "*.py" -exec sed -i 's/!\/usr\/bin\/env python/!\/usr\/bin\/python3/' {} \;
#sed -i 's/!\/usr\/bin\/python/!\/usr\/bin\/python3/' %buildroot%proton_datadir/examples/c/testme
#sed -i 's/!\/usr\/bin\/python/!\/usr\/bin\/python3/' %buildroot%proton_datadir/examples/cpp/testme
echo '#!/usr/bin/python3' > %buildroot%proton_datadir/examples/python/proton_server.py.original
cat %buildroot%proton_datadir/examples/python/proton_server.py >> %buildroot%proton_datadir/examples/python/proton_server.py.original
mv %buildroot%proton_datadir/examples/python/proton_server.py.original %buildroot%proton_datadir/examples/python/proton_server.py

mkdir -p %buildroot%_defaultdocdir/%name-%version
mv %buildroot%proton_datadir/examples %buildroot%_defaultdocdir/%name-%version/

# cleanup

rm -rf %buildroot%proton_datadir/tests
rm -rf %buildroot%proton_datadir/CMakeLists.txt

%files -n lib%name
%dir %proton_datadir
%doc %proton_datadir/LICENSE.txt
%doc %proton_datadir/README*
%_libdir/libqpid-proton.so.*
%_libdir/libqpid-proton-core.so.*
%_libdir/libqpid-proton-proactor.so.*

%files -n lib%name-devel
%_includedir/proton
%_libdir/libqpid-proton.so
%_libdir/libqpid-proton-core.so
%_libdir/libqpid-proton-proactor.so
%_pkgconfigdir/libqpid-proton.pc
%_pkgconfigdir/libqpid-proton-core.pc
%_pkgconfigdir/libqpid-proton-proactor.pc
%_libdir/cmake/Proton
%doc %_defaultdocdir/%name-%version/

%files -n lib%name-cpp
%_libdir/libqpid-proton-cpp.so.*

%files -n lib%name-cpp-devel
%_libdir/libqpid-proton-cpp.so
%_pkgconfigdir/libqpid-proton-cpp.pc
%_libdir/cmake/ProtonCpp

%if_with doc
%files -n lib%name-devel-doc
%doc %proton_datadir/docs/api-c
%endif

%files -n python3-module-qpid-proton
%python3_sitelibdir/*

%if_with doc
%files -n python3-module-qpid-proton-doc
%doc %proton_datadir/docs/api-py
%endif

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin