FS#62869 - [libglvnd] Add patch to provide glesv1_cm.pc and glesv2.pc with newer mesa version.

Attached to Project: Arch Linux
Opened by Térence Clastres (Terence) - Monday, 10 June 2019, 18:58 GMT
Last edited by Laurent Carlier (lordheavy) - Thursday, 26 September 2019, 15:02 GMT
Task Type Feature Request
Category Upstream Bugs
Status Closed
Assigned To Laurent Carlier (lordheavy)
Felix Yan (felixonmars)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No



Since https://cgit.freedesktop.org/mesa/mesa/commit/?id=b01524fff05eef66e8cd24f1c5aacefed4209f03, mesa rightfully stopped building libGLES*.so as libglvnd should fulfill this purpose.
Unfortunately, libglvnd doesn't provide everything like pkg-config files like glesv1_cm.pc and glesv2.pc and thus compilation of certain programs using meson can't happen because the check for dependencies fail (e.g. mutter).


Patch current libglvnd to provide the missing .pc files.
Please find attached a rebased patch I made for v1.1.1 with suggested fixes from the MR reviewer as well as a tested PKGBUILD using it.

Additional info:

* Bug report: https://bugs.freedesktop.org/show_bug.cgi?id=110141
* Merge request: https://github.com/NVIDIA/libglvnd/pull/86
This task depends upon

Closed by  Laurent Carlier (lordheavy)
Thursday, 26 September 2019, 15:02 GMT
Reason for closing:  Fixed
Additional comments about closing:  libglvnd-1.2.0
Comment by Lone_Wolf (Lone_Wolf) - Tuesday, 11 June 2019, 10:11 GMT
The b01524fff0 mesa commit was added after mesa 19.0 was branched off, and hasn't been backported as far as I can see.

It IS included in mesa 19.1 tree though, which is currently at RC5 .

Terence, have you tested if the patched glvnd works with extra/mesa 19.0.6-1 ?
Comment by Térence Clastres (Terence) - Tuesday, 11 June 2019, 17:46 GMT
Because current extra/mesa still provides the .pc files, it will conflict:
error: failed to commit transaction (conflicting files)
mesa: /usr/lib/pkgconfig/glesv1_cm.pc exists in filesystem (owned by libglvnd)
mesa: /usr/lib/pkgconfig/glesv2.pc exists in filesystem (owned by libglvnd)

Either we wait for mesa 19.1 to update both mesa and libglvnd or we update libglvnd straight away but we need to bump mesa pkgrel with a PKGBUILD updated to not provide glesv1_cm.pc and glesv2.pc to solve the conflict.
Comment by Darek (blablo) - Wednesday, 04 September 2019, 06:28 GMT Comment by Térence Clastres (Terence) - Wednesday, 04 September 2019, 20:28 GMT
The MR got merged so a bump to libglvnd should fix the current issue.