conda-forge/gstreamer-feedstock

Use CFEP-03 to provide natively compiled packages for osx-arm64 with introspection enabled

Opened this issue · 8 comments

Comment:

Currently the gstreamer packages are cross-compiled from osx-64 for osx-arm64, which means that the introspection support is disabled (see 19b76c3). It is reasonable to ask that this project utilise CFEP-03 to provide natively compiled packages for osx-arm64 such that downstream projects can use the introspection features?

I do not understand the maintenance burden that this would imply, and unfortunately cannot offer any of my own time to such a task, so would be satisfied with 'no' as an answer for that reason.

From my personal experience regarding CFEP-03 is that the maintenance burden increases a lot if a package needs to be updated frequently, which has been the case for all qt-related packages, which require manual uploads for aarch64. There are times where the packages are uploaded after several weeks of waiting.

The general opinion is that, unless a team member is compromised to compile the packages natively each time a new package version is published as well as pinging the core team to upload the packages providing the logs, it is preferred to have a cross-compiled version, even if some features are disabled.

It seems that gobject-introspection may have cross compilation support now
https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/64

I somewhat got introspection to work with cross compilation in
https://github.com/conda-forge/libvips-feedstock/blob/main/recipe/build.sh

just wanted to point you to that.

I wonder if we should be making introspection pacakges noarch and upload them once per operating system?

Don't think that's possible, given that they contain a reference to the shared library. Also, depending on platform and which features have been enabled, perhaps more or less functions will be exposed through gobject-introspection.

reference to the shared library

is this a textual pointer? or maybe more details about it?

Also, depending on platform and which features have been enabled, perhaps more or less functions will be exposed through gobject-introspection.

understood.

reference to the shared library

is this a textual pointer? or maybe more details about it?

Actually, it contains the full path to the shared library. Sorry should have been clearer

full path to the shared library

My understanding is that things like: https://github.com/conda-forge/libvips-feedstock/blob/main/recipe/build.sh

basically use the cross compiled gi introspection module