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

Yann E. MORIN yann.morin.1998 at free.fr
Tue Aug 10 19:39:30 UTC 2021


Tomi, All,

On 2021-08-09 09:23 +0300, Tomi Valkeinen spake thusly:
> 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

Could you try to add:

    KMSXX_DEPENDENCIES += $(BR2_CMAKE_HOST_DEPENDENCY)

To see if that would solve the issue?

> On 08/08/2021 23:33, Yann E. MORIN wrote:
> >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...
> https://mesonbuild.com/Subprojects.html#commandline-options
> So, buildroot could globally define "--wrap-mode=nodownload" for meson to
> prevent download of the subprojects.

Shouldn't we instead use:   --wrap-mode=nofallback

This entirely prevent use of wraps, even those that are already present
(e.g. because an upstream packager would have added them when generating
the release tarball for example).

> Developers who need the functionality
> of 'use-system-pybind11' option can use
> "--force-fallback-for=list,of,dependencies".

This should only be done in conjunction with --wrap-mode=nodownload

> 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>
                            ,------^^^^^
I think the error lies there: meson is written in python3, and is
executed with our host-python3, which we only conditionally build it
with support for TLS:

   package/python3/python3.mk:
   46 ifeq ($(BR2_PACKAGE_HOST_PYTHON3_SSL),y)
   47 HOST_PYTHON3_DEPENDENCIES += host-openssl
   48 else
   49 HOST_PYTHON3_CONF_OPTS += --disable-openssl
   50 endif

So, this is a good thing that this is not available by default: wraps
can only be downloaded from insecure sites, which if the meson wrapDB is
properly curated, should not happen. And thus, it should not be possible
to ever download any wrap at all! Aha. Aha! AHA! MUAHAHA! ;-]

But jokes aside, try setting BR2_PACKAGE_HOST_PYTHON3_SSL=y, and I would
guess downloading wraps would be come possible (although this would be a
very bad idea).

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list