Skip to content
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

Remove remaining CDTs #78

Open
hmaarrfk opened this issue May 29, 2024 · 3 comments
Open

Remove remaining CDTs #78

hmaarrfk opened this issue May 29, 2024 · 3 comments
Labels

Comments

@hmaarrfk
Copy link
Contributor

Comment:

Moreover, there must be an alternative to the mesa-libEGL(-devel) and mesa-libGL(-devel) CDT packages, as well as having an equivalent to mesa-libGLES(-devel) and mesa-libGLw(-devel) within Conda.

This is needed in order to drop these CDT packages for feedstocks directly needing the CDT Mesa libraries and headers during build without necessarily going through libglvnd.

From: conda-forge/staged-recipes#25919 (comment)

@ehfd identified that there are likely cleanups that can be done on this recipe.

With this prompt, I've noticed we have a few things in yum_requirements.txt that we can remove.

PRs welcome.

@ehfd
Copy link
Member

ehfd commented May 29, 2024

One thing I immediately see is the possibility to switch to xorg-libxxf86vm, an existing non-CDT feedstock.

@ehfd
Copy link
Member

ehfd commented May 29, 2024

The main context of that writing is:

    # We assert that we didn't build screen rendering capabilities.
    # We want on-screen rendering capabilities to be hardware accelerated
    # but that will take more effort

Something needs to supply the libraries that are marked as test ! -f instead of the CDTs. Perhaps it could be a mesalib-stubs package which could be set as a build dependency but not as host or run.

    - test ! -f $PREFIX/lib/dri/kms_swrast_dri${SHLIB_EXT}  # [linux]
    - test ! -f $PREFIX/lib/dri/swrast_dri${SHLIB_EXT}      # [linux]
    - test ! -f $PREFIX/lib/libgbm${SHLIB_EXT}              # [linux]
    - test ! -f $PREFIX/lib/libGLESv1_CM${SHLIB_EXT}        # [linux]
    - test ! -f $PREFIX/lib/libGLESv2${SHLIB_EXT}           # [linux]
    - test ! -f $PREFIX/lib/libEGL${SHLIB_EXT}              # [linux]
    - test ! -f $PREFIX/lib/libGL${SHLIB_EXT}               # [linux]
    - test ! -f $PREFIX/lib/libGLESv1_CM.1${SHLIB_EXT}  # [osx]
    - test ! -f $PREFIX/lib/libGLESv2.2${SHLIB_EXT}     # [osx]
    - test ! -f $PREFIX/lib/libGL.1${SHLIB_EXT}         # [osx]

Edit: As long as libGLdispatch.so.0, libGL.so.1, libEGL.so.1, libGLESv1_CM.so.1, libGLESv2.so.2, libOpenGL.so.0, libGLX.so.0 (not necessarily exhaustive) are provided through libglvnd, I see absolutely no issues with removing the CDT packages. Recent versions of Fedora provide these libraries through glvnd, not mesa so I've missed it while looking at RHEL 7 and 8. - Done in conda-forge/staged-recipes#27107

@ehfd
Copy link
Member

ehfd commented May 29, 2024

After libglvnd has recently become available in conda-forge, libgbm.so.1 + mesa-libglapi should still be built here.

option(
  'gbm',
  type : 'feature',
  deprecated: {'true': 'enabled', 'false': 'disabled'},
  description : 'Build support for gbm platform'
)

option(
  'gbm-backends-path',
  type : 'string',
  value : '',
  description : 'Locations to search for gbm backends, passed as colon ' +
                'separated list. Default: $libdir/gbm.'
)

option(
  'shared-glapi',
  type : 'feature',
  deprecated: {'true': 'enabled', 'false': 'disabled'},
  description : 'Whether to build a shared or static glapi. Defaults to ' +
                'disabled on Windows, enabled elsewhere'
)

Moreover, GLVND support is required to work with the new libglvnd feedstock.

option(
  'glvnd',
  type : 'feature',
  deprecated: {'true': 'enabled', 'false': 'disabled'},
  description : 'Enable GLVND support.'
)

Inclusion of on-screen Mesa libraries can also be fine because there still needs to be a default OpenGL provider, which Ubuntu or Fedora provides as libgl1-mesa, etc... with mesa. This will, then, completely replace the Mesa CDT libraries and integrate with libglvnd.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants