[Buildroot] [PATCH 2/2] package/kmsxx: update to latest

Tomi Valkeinen tomi.valkeinen at ideasonboard.com
Mon Aug 9 06:23:51 UTC 2021


On 08/08/2021 23:33, Yann E. MORIN wrote:

>> [*] For fmt, I didn't see a need for using meson subproject at all, as fmt
>> seems to be available "everywhere", and afaics it's been quite stable. For
>> pybind11, I still like to keep the option for meson subproject to easily
>> test/use specific versions. However, this doesn't need an option in
>> meson-option.txt, as the behavior of the fallback-to-subproject can be
>> managed with meson commandline options. Also, if 'pykms' option is set to
>> disabled, pybind11 is skipped also.
> 
> The thing is, if pybind11 is not available in the system, then kmsxx
> will build its bundled version when pykms is enabled.
> 
> So, by forcibly disabling pykms in Buildroot, this means that pybind11
> is not needed and thus the bundled version is not built.

Right.

And I'd love to enable the python bindings for kms++ in buildroot, but I 
didn't manage to get meson find buildroot's pybind11. I'll look at that 
more at some point. I think the problem is that meson should find 
pybind11 using cmake (apparently that can be used to find 
dependencies...), but when building kms++, meson just says:

CMake binary for MachineChoice.HOST is not cached
CMake binary missing from cross or native file, or env var undefined.
Default target is not allowed for cross use
Found CMake: NO

> I am by far not a meson expert, so when you say "the fallback-to-subproject
> can be managed with meson commandline options", I'd be much interested
> in hos to do that, so that in Buildrot we know how to forcibly forbid
> bundled sub-projects (or wraps?) to be used...

Yes, "wrap" is a better word here, as that handles the download of the 
subproject.

https://mesonbuild.com/Subprojects.html#commandline-options

So, buildroot could globally define "--wrap-mode=nodownload" for meson 
to prevent download of the subprojects. Developers who need the 
functionality of 'use-system-pybind11' option can use 
"--force-fallback-for=list,of,dependencies".

And at least for me, the download doesn't even work inside buildroot:

Downloading pybind11 source from 
https://github.com/pybind/pybind11/archive/v2.6.0.zip
<urlopen error unknown url type: https>
A fallback URL could be specified using source_fallback_url key in the 
wrap file

../output32/build/kmsxx-824bbb1f4cd062d66b457faca50f904b34dfd96c/py/pykms/meson.build:7:0: 
ERROR: could not get 
https://github.com/pybind/pybind11/archive/v2.6.0.zip is the internet 
available?

  Tomi


More information about the buildroot mailing list