Skip to content

add package qpid-proton 0.40.0 #26525

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 18 commits into
base: master
Choose a base branch
from

Conversation

Divix55
Copy link
Contributor

@Divix55 Divix55 commented Feb 4, 2025

Summary

Changes to recipe: qpid-proton/0.40.0

Motivation

New package qpid-proton

Details

This PR add Apache qpid-proton library to conan (already available on vcpkg). Details:
https://qpid.apache.org/proton/index.html


@CLAassistant
Copy link

CLAassistant commented Feb 4, 2025

CLA assistant check
All committers have signed the CLA.

Comment on lines 54 to 55
def requirements(self):
self.requires("openssl/3.3.2")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SWIG library is used only for ruby bindings which is not part of this package, its being built without SWIG just fine so I skipped it. Otherwise Conan is complaining that SWIG is not used by any components requires (which is correct, due to disabled ruby bindings).

@ErniGH ErniGH self-assigned this Jun 24, 2025

def build_requirements(self):
self.tool_requires("cmake/[>=3.16 <4]")
self.tool_requires("cpython/[>=3.9]")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
self.tool_requires("cpython/[>=3.9]")

Please, avoid using cpython package, usually it result compatibility bugs in the future. Let users consume their system python instead.

@uilianries
Copy link
Member

@Divix55 Hello! Thank you for updating your PR so quickly!

I would like to ask if you really need opentemetry-cpp in your scenario or is just an optional dependency?

I did a quick look at other package managers, and nothing is using opentelemetry-cpp as a requirement, for instance:

In case you don't have a real usage for Opentelemetry, I would suggest not including it as optional dependency for now. It only works with Linux and requires extra logic in the recipe.

@uilianries
Copy link
Member

@Divix55 About your recent patch, I would suggest something less invasive:

index 920f857d9..a626ca02f 100644
--- a/recipes/qpid-proton/all/conanfile.py
+++ b/recipes/qpid-proton/all/conanfile.py
@@ -94,6 +94,8 @@ class QpidProtonConan(ConanFile):
         deps = CMakeDeps(self)
         deps.set_property("libuv", "cmake_file_name", "Libuv")
         deps.set_property("libuv", "cmake_target_name", "Libuv::Libuv")
+        deps.set_property("jsoncpp", "cmake_additional_variables_prefixes", ["JsonCpp",])
+        deps.set_property("opentelemetry-cpp::opentelemetry_trace", "cmake_target_name", "opentelemetry-cpp::trace")
         deps.generate()
 
     def build(self):

It avoids patching both jsoncpp cmake variable and opentelemetry cmake target.

Still, the target_link_libraries is missing for static library, but is something that's not working for users that are building qpid-proton from source as well. I would suggest opening an issue to the upstream first, if possible, to have a proper fix from there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants