-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Add nmos-cpp #6891
Add nmos-cpp #6891
Conversation
This comment has been minimized.
This comment has been minimized.
Now run with conan-center hook locally: log Build failures so far are all due to missing dns_sd.h, which is provided by either Bonjour or Avahi (with its compatibility library) depending on platform/choice. On Linux, to use Avahi, you might want something like: sudo apt-get install -f libavahi-compat-libdnssd-dev libnss-mdns avahi-utils On Windows, the build dependencies are included in the source, but to run (e.g. the curl -L https://download.info.apple.com/Mac_OS_X/061-8098.20100603.gthyu/BonjourPSSetup.exe -o BonjourPSSetup.exe -q
& 7z.exe e BonjourPSSetup.exe Bonjour64.msi -y
msiexec /i Bonjour64.msi /qn /norestart (That download URL has been stable for some time. Other ways we've found of getting Bonjour64.msi from Apple Downloads (e.g. via the Bonjour SDK itself) require an Apple ID.) |
Does the most recent continuous-integration/jenkins/pr-merge failure with no logs mean the CI simply rejected to build the recipe after I added |
👋 @SSE4 @uilianries @SpaceIm @madebr This PR can you some extra eyes please 🙏 |
There's no commit status on your PRs 🤔 |
This comment has been minimized.
This comment has been minimized.
@garethsb We don't allow system_requirements for regular packages, instead, you need to open a PR for each system requirement and package them as a Conan package: The problem is, we can't track system packages and they may affect the package binaries/libraries. So if we package them, we can decide to use as build requirement only and also track which package name is installed at least. This is not a new directive, it's an experience from years of Bincrafters and Conan Community. If you really need those system libraries, I recommend you first opening a PR for them. You can use glu as example. |
Thanks, @uilianries. I can try to extract 8251313 to a separate recipe. How should I approach the Windows install, as I mentioned in #6891 (comment)? |
Does it need bonjour, or only mdns? |
On Linux, nmos-cpp can be built against mDNSResponder or against Avahi's compatibility library and header file. In both cases, there's both a client library that is linked and a daemon which the client lib talks to. In my experience, developers prefer to work with the Avahi daemon, and use the compat lib. On Windows however, the Bonjour SDK is the simplest route. |
@garethsb You are in a quagmire, for each package you try to solve, you first need to package another BonjourPSSetup requires a separated package, similar to bazel. It's called installer package, because you use an installer and copy artifacts. After that, you can package those system packages. Each one in a separated PR, the CI bot does not allow more than one project/recipe per PR. Fell free to ask for help when developing, as you can see, your case is not a regular recipe. |
Does mDNSResponder work for the windows build? |
It does. The issue is that you can't run more than one of these daemons / Windows services at a time, and I was hoping I could default to the most commonly used dependency on each platform (Avahi on Linux, Bonjour on Windows and macOS)... But writing a simple recipe to download and build mDNSResponder sources from Apple and depending on that in the nmos-cpp recipe - at least by default - could be a way to go... |
Here we can have def requirements(self):
if self.setting.os == "Windows":
# bonjour system here
Else:
# avahi or mdnsresponder
|
Yes... so long as there's an |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
#7129 bumps it |
I have a PR for Folly which is on same boat. Two profiles should solve it, but still the single profile approach can't block users. |
What led me to add the For now, I'll revert to openssl/1.1.1k. |
This comment has been minimized.
This comment has been minimized.
Co-authored-by: Uilian Ries <uilianries@gmail.com>
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
All green in build 45 (
|
Specify library name and version: nmos-cpp
This is a new addition to ConanCenter. This library is an implementation of the AMWA Networked Media Open Specifications in C++, licensed under the terms of the Apache License 2.0.
Done:
The conandata.yml currently refers to sources from my fork of nmos-cpp, but that will be switched to the upstream when sony/nmos-cpp#195 is merged in the next few days.conan-center hook activated.