Building Mesa GLX with Meson for macOS fails
Submitted by Matthew Bauer
Assigned to mes..@..op.org
Link to original bug (#111016)
Description
When switching from using autotools to meson, we get an error in building Mesa for macOS. This is happening in Nixpkgs master. These are the flags:
meson flags:
--buildtype=plain
--libdir=/nix/store/...-mesa-19.1.1/lib
--libexecdir=/nix/store/...-mesa-19.1.1/libexec
--bindir=/nix/store/...-mesa-19.1.1/bin
--sbindir=/nix/store/...-mesa-19.1.1/sbin
--includedir=/nix/store/...-mesa-19.1.1-dev/include
--mandir=/nix/store/...-mesa-19.1.1/share/man
--infodir=/nix/store/...-mesa-19.1.1/share/info
--localedir=/nix/store/...-mesa-19.1.1/share/locale
-Dauto_features=enabled
-Dwrap_mode=nodownload
--prefix=/nix/store/...-mesa-19.1.1
--sysconfdir=/etc
-Db_ndebug=true
-Ddisk-cache-key=/nix/store/...-mesa-19.1.1-drivers
-Ddri-search-path=/run/opengl-driver/lib/dri
-Dplatforms=x11
-Ddri-drivers=
-Dgallium-drivers=
-Dvulkan-drivers=
-Ddri-drivers-path=/nix/store/...-mesa-19.1.1-drivers/lib/dri
-Dvdpau-libs-path=/nix/store/...-mesa-19.1.1-drivers/lib/vdpau
-Dxvmc-libs-path=/nix/store/...-mesa-19.1.1-drivers/lib
-Domx-libs-path=/nix/store/...-mesa-19.1.1-drivers/lib/bellagio
-Dva-libs-path=/nix/store/...-mesa-19.1.1-drivers/lib/dri
-Dd3d-drivers-path=/nix/store/...-mesa-19.1.1-drivers/lib/d3d
-Dgallium-vdpau=true
-Dgallium-xvmc=true
-Dgallium-opencl=disabled
-Dshared-glapi=true
-Dgles1=true
-Dgles2=true
-Dglx=dri
-Dglvnd=true
-Dllvm=true
-Dshared-llvm=true
-Dglx-direct=true
Full log is available here: https://hydra.nixos.org/build/95553754
We want to build "appledri" which provides GLX symbols around Apple's OpenGL.framework. As far as I can tell, this is fully supported with autotools, but appears broken in Meson. The error comes from this line in Mesa:
https://gitlab.freedesktop.org/mesa/mesa/blame/19.1/meson.build#L367
As far as I know, there are no OpenGL drivers for macOS available from Mesa, so enabling any of those does not appear to be an option. GLX is the main thing we want to build here, so I think the above condition is incorrect. I can't find any other way to do this (macports is still on an older).
Version: 19.1