Control: tags 1113445 + patch
Control: tags 1113445 + pending

Dear maintainer,

I've prepared an NMU for qpid-proton (versioned as 0.37.0-6.1) and 
uploaded it to DELAYED/15. Please feel free to tell me if I should 
cancel it.

cu
Adrian
diffstat for qpid-proton-0.37.0 qpid-proton-0.37.0

 changelog                                                               |    7 
 patches/0001-PROTON-2583-Fix-build-to-avoid-warnings-for-recent-C.patch |   44 +++
 patches/0002-PROTON-2669-Update-cmake-minimum-to-3.16.patch             |   48 ++++
 patches/0003-PROTON-2669-Update-examples-CMakefiles-for-cmake-3.1.patch |  115 ++++++++++
 patches/series                                                          |    3 
 5 files changed, 217 insertions(+)

diff -Nru qpid-proton-0.37.0/debian/changelog qpid-proton-0.37.0/debian/changelog
--- qpid-proton-0.37.0/debian/changelog	2025-02-26 15:19:48.000000000 +0200
+++ qpid-proton-0.37.0/debian/changelog	2025-10-26 22:47:46.000000000 +0200
@@ -1,3 +1,10 @@
+qpid-proton (0.37.0-6.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Backport upstream fixes for FTBFS with CMake 4. (Closes: #1113445)
+
+ -- Adrian Bunk <[email protected]>  Sun, 26 Oct 2025 22:47:46 +0200
+
 qpid-proton (0.37.0-6) unstable; urgency=medium
 
   * Rebuild to remove python 3.12 support.
diff -Nru qpid-proton-0.37.0/debian/patches/0001-PROTON-2583-Fix-build-to-avoid-warnings-for-recent-C.patch qpid-proton-0.37.0/debian/patches/0001-PROTON-2583-Fix-build-to-avoid-warnings-for-recent-C.patch
--- qpid-proton-0.37.0/debian/patches/0001-PROTON-2583-Fix-build-to-avoid-warnings-for-recent-C.patch	1970-01-01 02:00:00.000000000 +0200
+++ qpid-proton-0.37.0/debian/patches/0001-PROTON-2583-Fix-build-to-avoid-warnings-for-recent-C.patch	2025-10-26 22:47:46.000000000 +0200
@@ -0,0 +1,44 @@
+From 891921dfaab358f16e0f51047010e38b81564f50 Mon Sep 17 00:00:00 2001
+From: Andrew Stitcher <[email protected]>
+Date: Tue, 18 Jan 2022 10:47:09 -0500
+Subject: PROTON-2583: Fix build to avoid warnings for recent CMake
+
+It's not exactly clear but this may need cmake > 3.13
+---
+ CMakeLists.txt        | 4 ++--
+ python/CMakeLists.txt | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 78bb935c..cc5244b6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -371,10 +371,10 @@ if(SWIG_FOUND)
+   list(APPEND BINDINGS python ruby)
+ 
+   if (POLICY CMP0078)
+-    cmake_policy(SET CMP0078 OLD)
++    cmake_policy(SET CMP0078 NEW)
+   endif()
+   if (POLICY CMP0086)
+-    cmake_policy(SET CMP0086 OLD)
++    cmake_policy(SET CMP0086 NEW)
+   endif()
+   include(UseSWIG)
+ 
+diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
+index 06caf61a..fd527d81 100644
+--- a/python/CMakeLists.txt
++++ b/python/CMakeLists.txt
+@@ -215,7 +215,7 @@ endif ()
+ # python test: python/tests/proton-test
+ set (py_src "${CMAKE_CURRENT_SOURCE_DIR}")
+ set (py_bin "${CMAKE_CURRENT_BINARY_DIR}")
+-set (py_dll "$<TARGET_FILE_DIR:_cproton>")
++set (py_dll "$<TARGET_FILE_DIR:cproton>")
+ set (py_bld "$<TARGET_FILE_DIR:qpid-proton-core>") # For windows
+ set (py_tests "${py_src}/tests")
+ set (tests_py "${py_src}/../tests/py")
+-- 
+2.30.2
+
diff -Nru qpid-proton-0.37.0/debian/patches/0002-PROTON-2669-Update-cmake-minimum-to-3.16.patch qpid-proton-0.37.0/debian/patches/0002-PROTON-2669-Update-cmake-minimum-to-3.16.patch
--- qpid-proton-0.37.0/debian/patches/0002-PROTON-2669-Update-cmake-minimum-to-3.16.patch	1970-01-01 02:00:00.000000000 +0200
+++ qpid-proton-0.37.0/debian/patches/0002-PROTON-2669-Update-cmake-minimum-to-3.16.patch	2025-10-26 22:47:46.000000000 +0200
@@ -0,0 +1,48 @@
+From 4c9f1091b8633a3fd399ae7faa784df2bfdbff86 Mon Sep 17 00:00:00 2001
+From: Andrew Stitcher <[email protected]>
+Date: Fri, 6 Jan 2023 11:59:19 -0500
+Subject: PROTON-2669: Update cmake minimum to 3.16
+
+---
+ CMakeLists.txt | 11 +----------
+ 1 file changed, 1 insertion(+), 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index cc5244b6..af066093 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -17,7 +17,7 @@
+ # under the License.
+ #
+ 
+-cmake_minimum_required (VERSION 2.8.12)
++cmake_minimum_required (VERSION 3.16)
+ 
+ project (Proton C)
+ 
+@@ -140,9 +140,6 @@ endif()
+ if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+   set (NOENABLE_WARNING_ERROR ON)
+   set (LIB_SUFFIX "")
+-  if (POLICY CMP0042)
+-    cmake_policy (SET CMP0042 NEW)
+-  endif ()
+ endif ()
+ 
+ # Benchmarks should be disabled by default
+@@ -370,12 +367,6 @@ if(SWIG_FOUND)
+   # Add any new swig bindings here - the directory name must be the same as the binding name
+   list(APPEND BINDINGS python ruby)
+ 
+-  if (POLICY CMP0078)
+-    cmake_policy(SET CMP0078 NEW)
+-  endif()
+-  if (POLICY CMP0086)
+-    cmake_policy(SET CMP0086 NEW)
+-  endif()
+   include(UseSWIG)
+ 
+   # All swig modules should include ${PROTON_HEADERS} in SWIG_MODULE_<name>_EXTRA_DEPS
+-- 
+2.30.2
+
diff -Nru qpid-proton-0.37.0/debian/patches/0003-PROTON-2669-Update-examples-CMakefiles-for-cmake-3.1.patch qpid-proton-0.37.0/debian/patches/0003-PROTON-2669-Update-examples-CMakefiles-for-cmake-3.1.patch
--- qpid-proton-0.37.0/debian/patches/0003-PROTON-2669-Update-examples-CMakefiles-for-cmake-3.1.patch	1970-01-01 02:00:00.000000000 +0200
+++ qpid-proton-0.37.0/debian/patches/0003-PROTON-2669-Update-examples-CMakefiles-for-cmake-3.1.patch	2025-10-26 22:47:46.000000000 +0200
@@ -0,0 +1,115 @@
+From 5090d49d35f8699e6d2afefe94d62b4d803302c2 Mon Sep 17 00:00:00 2001
+From: Andrew Stitcher <[email protected]>
+Date: Thu, 12 Jan 2023 18:55:16 -0500
+Subject: PROTON-2669: Update examples CMakefiles for cmake 3.16
+
+---
+ c/examples/CMakeLists.txt   | 20 +-------------------
+ cpp/examples/CMakeLists.txt | 32 +++-----------------------------
+ tests/share/CMakeLists.txt  |  2 +-
+ 3 files changed, 5 insertions(+), 49 deletions(-)
+
+diff --git a/c/examples/CMakeLists.txt b/c/examples/CMakeLists.txt
+index 04758e2f..c0a984c0 100644
+--- a/c/examples/CMakeLists.txt
++++ b/c/examples/CMakeLists.txt
+@@ -16,7 +16,7 @@
+ # specific language governing permissions and limitations
+ # under the License.
+ #
+-cmake_minimum_required (VERSION 2.8.12)
++cmake_minimum_required (VERSION 3.16)
+ 
+ project(ProtonCExamples C)
+ 
+@@ -24,24 +24,6 @@ find_package(Proton REQUIRED Core Proactor)
+ set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
+ find_package(Threads REQUIRED)
+ 
+-# The following block is purely for CMake 2.8.12
+-# Remove it when we no longer support CMake 2.8.12
+-if(NOT TARGET Threads::Threads)
+-  add_library(Threads::Threads UNKNOWN IMPORTED)
+-
+-  if(THREADS_HAVE_PTHREAD_ARG)
+-    set_target_properties(Threads::Threads PROPERTIES
+-      INTERFACE_COMPILE_OPTIONS "-pthread"
+-    )
+-  endif()
+-
+-  if(CMAKE_THREAD_LIBS_INIT)
+-    set_target_properties(Threads::Threads PROPERTIES
+-      IMPORTED_LOCATION "${CMAKE_THREAD_LIBS_INIT}"
+-    )
+-  endif()
+-endif()
+-
+ foreach (name broker send receive direct send-abort send-ssl raw_echo raw_connect)
+   add_executable(c-${name} ${name}.c)
+   target_link_libraries(c-${name} Proton::core Proton::proactor Threads::Threads)
+diff --git a/cpp/examples/CMakeLists.txt b/cpp/examples/CMakeLists.txt
+index 7c123ce3..df2333c8 100644
+--- a/cpp/examples/CMakeLists.txt
++++ b/cpp/examples/CMakeLists.txt
+@@ -16,7 +16,7 @@
+ # specific language governing permissions and limitations
+ # under the License.
+ #
+-cmake_minimum_required (VERSION 2.8.12)
++cmake_minimum_required (VERSION 3.16)
+ 
+ project(ProtonCppExamples C CXX)
+ 
+@@ -24,34 +24,8 @@ find_package(ProtonCpp REQUIRED)
+ set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
+ find_package(Threads REQUIRED)
+ 
+-# The following block is purely for CMake 2.8.12
+-# Remove it when we no longer support CMake 2.8.12
+-if(NOT TARGET Threads::Threads)
+-  add_library(Threads::Threads UNKNOWN IMPORTED)
+-
+-  if(THREADS_HAVE_PTHREAD_ARG)
+-    set_target_properties(Threads::Threads PROPERTIES
+-      INTERFACE_COMPILE_OPTIONS "-pthread"
+-    )
+-  endif()
+-
+-  if(CMAKE_THREAD_LIBS_INIT)
+-    set_target_properties(Threads::Threads PROPERTIES
+-      IMPORTED_LOCATION "${CMAKE_THREAD_LIBS_INIT}"
+-    )
+-  endif()
+-endif()
+-
+-# This effectively checks for cmake version 3.1 or later
+-if (DEFINED CMAKE_CXX_COMPILE_FEATURES)
+-  set(CMAKE_CXX_STANDARD 11)
+-  set(CMAKE_CXX_EXTENSIONS OFF)
+-else ()
+-  # This can only be a fairly old version of Linux in practice
+-  set(CXX_STANDARD "-std=c++11")
+-  add_definitions(${CXX_STANDARD})
+-endif()
+-
++set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_EXTENSIONS OFF)
+ 
+ # Single-threaded examples
+ foreach(example
+diff --git a/tests/share/CMakeLists.txt b/tests/share/CMakeLists.txt
+index 88884145..68bffcc4 100644
+--- a/tests/share/CMakeLists.txt
++++ b/tests/share/CMakeLists.txt
+@@ -17,7 +17,7 @@
+ # under the License.
+ #
+ 
+-cmake_minimum_required(VERSION 2.8.12)
++cmake_minimum_required(VERSION 3.16)
+ 
+ project(ProtonExamples)
+ include(CTest)
+-- 
+2.30.2
+
diff -Nru qpid-proton-0.37.0/debian/patches/series qpid-proton-0.37.0/debian/patches/series
--- qpid-proton-0.37.0/debian/patches/series	2025-02-26 15:19:48.000000000 +0200
+++ qpid-proton-0.37.0/debian/patches/series	2025-10-26 22:47:46.000000000 +0200
@@ -1,3 +1,6 @@
 remove-cgi
 continue-building-with-deprecated-declarations.patch
 0002-Drop-old-FindPython.cmake.patch
+0001-PROTON-2583-Fix-build-to-avoid-warnings-for-recent-C.patch
+0002-PROTON-2669-Update-cmake-minimum-to-3.16.patch
+0003-PROTON-2669-Update-examples-CMakefiles-for-cmake-3.1.patch

Reply via email to