diff --git a/licenses.xml b/licenses.xml index 780a10c..5a701c5 100644 --- a/licenses.xml +++ b/licenses.xml @@ -3,7 +3,7 @@ qpid-proton - 0.37.0 + 0.38.0 ASL 2.0 diff --git a/proton.patch b/proton.patch index 1a7a696..c9fc8f4 100644 --- a/proton.patch +++ b/proton.patch @@ -1,17 +1,51 @@ -From fb76b256a72b2c147e252c3e19fd0523bab1eab8 Mon Sep 17 00:00:00 2001 -From: Irina Boverman -Date: Mon, 28 Jun 2021 10:55:15 -0400 -Subject: [PATCH 1/2] Changed-Sphinx-invocation-from-sphinx-to-sphinx-buil +diff -ruN qpid-proton-0.38.0.orig/CMakeLists.txt qpid-proton-0.38.0/CMakeLists.txt +--- qpid-proton-0.38.0.orig/CMakeLists.txt 2022-11-07 11:35:09.000000000 -0500 ++++ qpid-proton-0.38.0/CMakeLists.txt 2022-11-23 10:19:17.963751717 -0500 +@@ -42,7 +42,7 @@ + if (NOT DEFINED Python_FIND_FRAMEWORK) + set(Python_FIND_FRAMEWORK "LAST") + endif () +-find_package(Python 3.6 ++find_package(Python 3.9 + REQUIRED COMPONENTS Interpreter + OPTIONAL_COMPONENTS Development) ---- - python/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) +diff -ruN qpid-proton-0.38.0.orig/cpp/src/map_test.cpp qpid-proton-0.38.0/cpp/src/map_test.cpp +--- qpid-proton-0.38.0.orig/cpp/src/map_test.cpp 2022-11-07 11:35:09.000000000 -0500 ++++ qpid-proton-0.38.0/cpp/src/map_test.cpp 2023-01-26 10:49:44.159634165 -0500 +@@ -114,6 +114,20 @@ + ASSERT_THROWS(conversion_error, m.value(bad)); + } -diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt -index 06caf61a..f8735fd1 100644 ---- a/python/CMakeLists.txt -+++ b/python/CMakeLists.txt -@@ -124,7 +124,7 @@ else () ++void test_copy_constructor() { ++ proton::map m = std::map{{"a", 2}, {"b", 3}}; ++ ASSERT_EQUAL(scalar(2), m.get("a")); ++ ASSERT_EQUAL(scalar(3), m.get("b")); ++ ASSERT_EQUAL(2U, m.size()); ++} ++ ++void test_initializer_list_constructor() { ++ proton::map m({{"a", 2}, {"b", 3}}); ++ ASSERT_EQUAL(scalar(2), m.get("a")); ++ ASSERT_EQUAL(scalar(3), m.get("b")); ++ ASSERT_EQUAL(2U, m.size()); ++} ++ + } + + int main(int, char**) { +@@ -122,5 +136,7 @@ + RUN_TEST(failed, test_use()); + RUN_TEST(failed, test_cppmap()); + RUN_TEST(failed, test_value()); ++ RUN_TEST(failed, test_copy_constructor()); ++ RUN_TEST(failed, test_initializer_list_constructor()); + return failed; + } +diff -ruN qpid-proton-0.38.0.orig/python/CMakeLists.txt qpid-proton-0.38.0/python/CMakeLists.txt +--- qpid-proton-0.38.0.orig/python/CMakeLists.txt 2022-11-07 11:35:09.000000000 -0500 ++++ qpid-proton-0.38.0/python/CMakeLists.txt 2022-11-23 10:20:07.216991810 -0500 +@@ -101,7 +101,7 @@ COMMAND ${PN_ENV_SCRIPT} -- PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}:${CMAKE_CURRENT_SOURCE_DIR} LD_LIBRARY_PATH="${CMAKE_CURRENT_BINARY_DIR}/c" @@ -20,6 +54,3 @@ index 06caf61a..f8735fd1 100644 add_dependencies(docs docs-py) install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/docs/" DESTINATION "${PROTON_SHARE}/docs/api-py" --- -2.29.0 - diff --git a/qpid-proton.spec b/qpid-proton.spec index b53110b..a8f3845 100644 --- a/qpid-proton.spec +++ b/qpid-proton.spec @@ -1,5 +1,4 @@ %global proton_datadir %{_datadir}/proton -%global gem_name qpid_proton %global __cmake_in_source_build 1 %global __provides_exclude_from ^%{proton_datadir}/examples/.*$ @@ -8,8 +7,8 @@ %undefine __brp_mangle_shebangs Name: qpid-proton -Version: 0.37.0 -Release: 2%{?dist} +Version: 0.38.0 +Release: 1%{?dist} Summary: A high performance, lightweight messaging library License: ASL 2.0 URL: http://qpid.apache.org/proton/ @@ -33,15 +32,17 @@ BuildRequires: doxygen BuildRequires: libuuid-devel BuildRequires: openssl-devel BuildRequires: python3-devel +BuildRequires: python3-pip +BuildRequires: python3-rpm-macros BuildRequires: python3-sphinx +BuildRequires: python3-wheel BuildRequires: glibc-headers BuildRequires: cyrus-sasl-devel BuildRequires: jsoncpp-devel BuildRequires: python3-setuptools -BuildRequires: ruby-devel -BuildRequires: rubygems-devel BuildRequires: libuv-devel BuildRequires: nspr-devel +#BuildRequires: opentelemetry-cpp-devel %description Proton is a high performance, lightweight messaging library. It can be used in @@ -77,6 +78,7 @@ Obsoletes: perl-qpid-proton Summary: C++ libraries for Qpid Proton Requires: qpid-proton-c%{?_isa} = %{version}-%{release} Requires: jsoncpp +#Requires: opentelemetry-cpp %description cpp %{summary}. @@ -163,6 +165,7 @@ Obsoletes: qpid-proton-cpp-devel-docs %doc %{proton_datadir}/examples/cpp/README.dox %doc %{proton_datadir}/examples/cpp/CMakeLists.txt %doc %{proton_datadir}/examples/cpp/ssl-certs +%doc %{proton_datadir}/examples/cpp/tracing.dox %doc %{proton_datadir}/examples/cpp/tutorial.dox @@ -178,8 +181,8 @@ Requires: python3 %{python3_sitearch}/__pycache__/* %{python3_sitearch}/*.so %{python3_sitearch}/*.py* -%{python3_sitearch}/*.egg-info %{python3_sitearch}/proton +%{python3_sitearch}/python_qpid_proton-%{version}.dist-info/* %package -n python-qpid-proton-docs @@ -199,32 +202,13 @@ Obsoletes: python-qpid-proton-doc %package tests Summary: Qpid Proton Tests BuildArch: noarch + %description tests %{summary}. %files tests %doc %{proton_datadir}/tests -%package -n rubygem-%{gem_name} -Summary: Ruby language bindings for the Qpid Proton messaging framework -Requires: qpid-proton-c = %{version}-%{release} -Obsoletes: rubygem-%{gem_name}-doc - -%description -n rubygem-%{gem_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. - -%files -n rubygem-%{gem_name} -%dir %{gem_instdir} -%{gem_libdir} -%{gem_extdir_mri} -%exclude %{gem_cache} -%{gem_spec} -%doc %{gem_instdir}/examples -%doc %{gem_instdir}/tests - %prep %setup -q -n %{name}-%{version} @@ -232,51 +216,47 @@ standard. %build - -mkdir build -cd build +mkdir -p BLD +cd BLD %cmake \ - -DSYSINSTALL_BINDINGS=ON \ -DCMAKE_SKIP_RPATH:BOOL=OFF \ "-DCMAKE_C_FLAGS=$CFLAGS -Wno-deprecated-declarations" \ -DENABLE_FUZZ_TESTING=NO \ .. make all docs %{?_smp_mflags} -(cd python/dist; %py3_build) %install rm -rf %{buildroot} -cd build +cd BLD %make_install -(cd python/dist; %py3_install) -chmod +x %{buildroot}%{python3_sitearch}/_cproton.so +(cd python/dist +# Need to remove anything built by the python cmake build in proton +# so that we rebuild from scratch +rm -rf build +# Need to do the python package build here as we rely on the qpid-proton-core +# library to be installed so we don't duplicate it inside the extension +# That is also why we have to point pkg-config at the installed library +PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig %py3_build_wheel +%py3_install_wheel python_qpid_proton-%{version}-cp39-cp39-linux_%{_arch}.whl +# We seem to need to strip the build extension otherwise it seems to embed a reference to +# the buildroot in the debug info which fails the rpmbuild - probably because we massaged +# the pkgconfig path above +strip %{buildroot}%{python3_sitearch}/_cproton*.so) install -dm 755 %{buildroot}%{proton_licensedir} install -pm 644 %{SOURCE1} %{buildroot}%{proton_licensedir} install -pm 644 %{buildroot}%{proton_datadir}/LICENSE.txt %{buildroot}%{proton_licensedir} rm -f %{buildroot}%{proton_datadir}/LICENSE.txt -cd ruby/gem/ -mkdir -p %{buildroot}%{gem_instdir} -install -dm 755 %{buildroot}%{gem_dir}/specifications -mkdir -p %{buildroot}%{gem_extdir_mri} -cp -a %{buildroot}%{ruby_vendorarchdir}/cproton.so %{buildroot}%{gem_extdir_mri}/ -touch %{buildroot}%{gem_extdir_mri}/gem.build_complete -chmod 644 %{buildroot}%{gem_extdir_mri}/gem.build_complete -cp -a examples tests lib %{buildroot}%{gem_instdir}/ -install -pm 644 %{gem_name}.gemspec %{buildroot}%{gem_spec} - # clean up files that are not shipped rm -rf %{buildroot}%{_exec_prefix}/bindings rm -rf %{buildroot}%{_libdir}/java rm -rf %{buildroot}%{_libdir}/libproton-jni.so rm -rf %{buildroot}%{_datarootdir}/java rm -rf %{buildroot}%{_libdir}/proton.cmake -rm -rf %{buildroot}%{_libdir}/ruby -rm -rf %{buildroot}%{_datarootdir}/ruby rm -fr %{buildroot}%{proton_datadir}/examples/CMakeFiles rm -f %{buildroot}%{proton_datadir}/examples/Makefile rm -f %{buildroot}%{proton_datadir}/examples/*.cmake @@ -326,7 +306,6 @@ rm -fr %{buildroot}%{proton_datadir}/examples/engine/java rm -fr %{buildroot}%{proton_datadir}/examples/go rm -fr %{buildroot}%{proton_datadir}/examples/java rm -fr %{buildroot}%{proton_datadir}/examples/javascript -rm -fr %{buildroot}%{proton_datadir}/examples/ruby rm -fr %{buildroot}%{proton_datadir}/examples/perl rm -fr %{buildroot}%{proton_datadir}/examples/php rm -f %{buildroot}%{proton_datadir}/CMakeLists.txt @@ -334,5 +313,8 @@ rm -f %{buildroot}%{proton_datadir}/CMakeLists.txt %check %changelog +* Fri Mar 31 2023 Kim van der Riet - 0.38.0-1 +- Rebased to 0.38.0, opentelemetry-cpp not included as no pkgs in centos yet. + * Tue Jul 12 2022 Irina Boverman - 0.37.0-1 - Initial build for EPEL 9 diff --git a/sources b/sources index eeed64e..e64d887 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (qpid-proton-0.37.0.tar.gz) = 84d67aab0e81f371fbcee3db89a8a585794966e17ffcd2e2e9418cb587efc0bc4e635c6ce251ebefd716817632ea5b049b759678cebbad64a0d0c07285bd5962 +SHA512 (qpid-proton-0.38.0.tar.gz) = 5333046c954d8b63c59579b05173fa2345e0a61f37a305d23b9e3afee461280c82f9f1c19c30954ba32176ce5fef9ce1f0afc57c99d6c614b2d66cdbb71ff00e