conda-forge / gstreamer-feedstock

A conda-smithy repository for gstreamer.
BSD 3-Clause "New" or "Revised" License
9 stars 28 forks source link

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

Open duncanmmacleod opened 2 years ago

duncanmmacleod commented 2 years ago

Comment:

Currently the gstreamer packages are cross-compiled from osx-64 for osx-arm64, which means that the introspection support is disabled (see https://github.com/conda-forge/gstreamer-feedstock/commit/19b76c317b60a1d162308d4997db802b033157e9). 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.

andfoy commented 2 years ago

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.

hmaarrfk commented 1 year ago

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

hmaarrfk commented 1 year ago

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.

hmaarrfk commented 6 months ago

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

tschoonj commented 6 months ago

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.

hmaarrfk commented 6 months ago

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.

tschoonj commented 6 months ago

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

hmaarrfk commented 6 months ago

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