Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Jun 2020 09:13:58 +0000 (UTC)
From:      Emmanuel Vadot <manu@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r537998 - in head: graphics/libosmesa graphics/libxatracker graphics/mesa-dri graphics/mesa-dri/files graphics/mesa-libs lang/clover
Message-ID:  <202006050913.0559DwOX047806@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: manu
Date: Fri Jun  5 09:13:57 2020
New Revision: 537998
URL: https://svnweb.freebsd.org/changeset/ports/537998

Log:
  mesa*: Switch to meson
  
  Upstream switched to meson for their build system so do the same as
  it will be easier to find problems sooner than later.
  This also switch to python3, python is only used for the build.
  There is more thing enabled by default (or auto-enabled based on some
  configuration) so we need to disable a lot more things than with autotools.
  
  This should be a non functional change.
  
  Reviewed by:	zeising (x11@)
  Differential Revision:	https:/reviews.freebsd.org/D25092

Added:
  head/graphics/mesa-dri/files/patch-meson.build   (contents, props changed)
  head/graphics/mesa-dri/files/patch-src_gallium_state__trackers_xvmc_meson.build   (contents, props changed)
  head/graphics/mesa-dri/files/patch-src_gallium_targets_xvmc_meson.build   (contents, props changed)
  head/graphics/mesa-dri/files/patch-src_mesa_main_macros.h   (contents, props changed)
Deleted:
  head/graphics/mesa-dri/files/configure.ac
  head/graphics/mesa-dri/files/patch-configure
  head/graphics/mesa-dri/files/patch-src_gallium_state__trackers_xvmc_Makefile.in
  head/graphics/mesa-dri/files/patch-src_gallium_targets_xvmc_Makefile.in
  head/graphics/mesa-dri/files/patch-src_intel_Makefile.in
Modified:
  head/graphics/libosmesa/Makefile
  head/graphics/libosmesa/pkg-plist
  head/graphics/libxatracker/Makefile
  head/graphics/libxatracker/pkg-plist
  head/graphics/mesa-dri/Makefile
  head/graphics/mesa-dri/Makefile.common
  head/graphics/mesa-dri/Makefile.targets
  head/graphics/mesa-dri/files/patch-src_util_futex.h
  head/graphics/mesa-dri/pkg-plist
  head/graphics/mesa-libs/Makefile
  head/graphics/mesa-libs/pkg-plist
  head/lang/clover/Makefile
  head/lang/clover/pkg-plist

Modified: head/graphics/libosmesa/Makefile
==============================================================================
--- head/graphics/libosmesa/Makefile	Fri Jun  5 09:08:11 2020	(r537997)
+++ head/graphics/libosmesa/Makefile	Fri Jun  5 09:13:57 2020	(r537998)
@@ -13,18 +13,32 @@ USE_XORG=	xorgproto
 .include <bsd.port.options.mk>
 .include "${.CURDIR:H:H}/graphics/mesa-dri/Makefile.common"
 
-CONFIGURE_ARGS+=	--disable-dri --disable-egl --disable-gbm \
-			--disable-gles2 --with-gallium-drivers=swrast
-MESA_BUILD_WRKSRC=	src/util src/compiler src/mapi src/mesa
+
+# Disable some options
+MESON_ARGS+=	-Ddri-drivers="" \
+		-Dgallium-drivers=swrast \
+		-Dvulkan-drivers="" \
+		-Dplatforms="" \
+		-Dgallium-vdpau=false \
+		-Dgallium-omx=disabled \
+		-Dgallium-va=false \
+		-Dgallium-opencl=disabled \
+		-Dgallium-xa=false \
+		-Dgallium-xvmc=false \
+		-Dgallium-nine=false \
+		-Dgles1=false \
+		-Dgles2=false \
+		-Dopengl=false \
+		-Dglx=disabled \
+		-Degl=false \
+		-Dgbm=false \
+		-Dtools=""
 LDFLAGS_i386=		-Wl,-znotext
 
-.if ${ARCH} == aarch64 || ${ARCH} == amd64 || ${ARCH:Marm*} || ${ARCH} == i386 || ${ARCH:Mmips*} || ${ARCH:Mpowerpc*}
-CONFIGURE_ARGS+=	--enable-osmesa-gallium
-MESA_BUILD_WRKSRC+=	src/gallium
-MESA_INSTALL_WRKSRC=	src/gallium/state_trackers/osmesa src/gallium/targets/osmesa
+.if ${ARCH} == sparc64
+MESON_ARGS+=	-Dosmesa=classic
 .else
-CONFIGURE_ARGS+=	--enable-osmesa
-MESA_INSTALL_WRKSRC=	src/mesa/drivers/osmesa
+MESON_ARGS+=	-Dosmesa=gallium
 .endif
 
 .include "${MASTERDIR}/Makefile.targets"

Modified: head/graphics/libosmesa/pkg-plist
==============================================================================
--- head/graphics/libosmesa/pkg-plist	Fri Jun  5 09:08:11 2020	(r537997)
+++ head/graphics/libosmesa/pkg-plist	Fri Jun  5 09:13:57 2020	(r537998)
@@ -3,3 +3,4 @@ lib/libOSMesa.so
 lib/libOSMesa.so.8
 lib/libOSMesa.so.8.0.0
 libdata/pkgconfig/osmesa.pc
+@comment share/drirc.d/00-mesa-defaults.conf

Modified: head/graphics/libxatracker/Makefile
==============================================================================
--- head/graphics/libxatracker/Makefile	Fri Jun  5 09:08:11 2020	(r537997)
+++ head/graphics/libxatracker/Makefile	Fri Jun  5 09:13:57 2020	(r537998)
@@ -8,7 +8,7 @@ CATEGORIES=	graphics
 
 COMMENT=	Mesa XA state tracker
 
-USES=		xorg
+USES=		xorg meson
 USE_XORG=	xorgproto
 
 .include <bsd.port.options.mk>
@@ -17,22 +17,27 @@ USE_XORG=	xorgproto
 ONLY_FOR_ARCHS=		i386 amd64
 ONLY_FOR_ARCHS_REASON=	Used only by VMWare supported architectures
 
-CONFIGURE_ARGS+=	--disable-dri \
-			--disable-egl \
-			--disable-gbm \
-			--disable-gles2 \
-			--disable-glx \
-			--disable-opengl \
-			--disable-shared-glapi \
-			--with-gallium-drivers= \
-			--with-platforms=
+MESON_ARGS+=	-Ddri-drivers="" \
+		-Dgallium-drivers="svga" \
+		-Dvulkan-drivers="" \
+		-Dgallium-vdpau=false \
+		-Dgallium-omx=disabled \
+		-Dgallium-va=false \
+		-Dgallium-opencl=disabled \
+		-Dgallium-xvmc=false \
+		-Dgallium-nine=false \
+		-Degl=false \
+		-Dgbm=false \
+		-Dgles2=false \
+		-Dglx=disabled \
+		-Dopengl=false \
+		-Dshared-glapi=false \
+		-Dosmesa=none \
+		-Dplatforms=
 
-MESA_BUILD_WRKSRC=	src/util src/compiler
 LDFLAGS_i386=		-Wl,-znotext
 
-CONFIGURE_ARGS+=	--enable-xa
-MESA_BUILD_WRKSRC+=	src/gallium
-MESA_INSTALL_WRKSRC=	src/gallium/state_trackers/xa src/gallium/targets/xa
+MESA_ARGS+=	-Dgallium-xa=true
 
 .include "${MASTERDIR}/Makefile.targets"
 .include <bsd.port.post.mk>

Modified: head/graphics/libxatracker/pkg-plist
==============================================================================
--- head/graphics/libxatracker/pkg-plist	Fri Jun  5 09:08:11 2020	(r537997)
+++ head/graphics/libxatracker/pkg-plist	Fri Jun  5 09:13:57 2020	(r537998)
@@ -5,3 +5,4 @@ lib/libxatracker.so
 lib/libxatracker.so.2
 lib/libxatracker.so.2.5.0
 libdata/pkgconfig/xatracker.pc
+@comment share/drirc.d/00-mesa-defaults.conf

Modified: head/graphics/mesa-dri/Makefile
==============================================================================
--- head/graphics/mesa-dri/Makefile	Fri Jun  5 09:08:11 2020	(r537997)
+++ head/graphics/mesa-dri/Makefile	Fri Jun  5 09:13:57 2020	(r537998)
@@ -3,6 +3,7 @@
 
 PORTNAME=	mesa-dri
 PORTVERSION=	${MESAVERSION}
+PORTREVISION=	1
 CATEGORIES=	graphics
 
 COMMENT=	OpenGL hardware acceleration drivers for DRI2+
@@ -14,11 +15,11 @@ OPTIONS_DEFINE=	VAAPI VDPAU WAYLAND
 OPTIONS_DEFAULT=WAYLAND
 OPTIONS_SUB=	yes
 
-VAAPI_CONFIGURE_ENABLE=	va
+VAAPI_MESON_ON=		-Dgallium-va=true
 VAAPI_LIB_DEPENDS=	libva.so:multimedia/libva
 VAAPI_USE=		XORG=xcb
 
-VDPAU_CONFIGURE_ENABLE=	vdpau
+VDPAU_MESON_ON=		-Dgallium-vdpau=true
 VDPAU_LIB_DEPENDS=	libvdpau.so:multimedia/libvdpau
 
 WAYLAND_DESC=		Enable support for the Wayland platform in Vulkan drivers
@@ -28,11 +29,10 @@ WAYLAND_LIB_DEPENDS=	libwayland-client.so:graphics/way
 .include <bsd.port.options.mk>
 .include "${.CURDIR:H:H}/graphics/mesa-dri/Makefile.common"
 
-ALL_DRI_DRIVERS=	I915 I965 RADEON R200 SWRAST
+ALL_DRI_DRIVERS=	I915 I965 R100 R200 SWRAST
 ALL_GALLIUM_DRIVERS=	FREEDRENO R300 R600 RADEONSI SVGA SWRAST VC4
-ALL_VULKAN_DRIVERS=	INTEL RADEON
+ALL_VULKAN_DRIVERS=	INTEL AMD
 
-DRI_DRIVERS=		SWRAST	# classic swrast
 .if ${ARCH} == aarch64 || ${ARCH} == amd64 || ${ARCH:Marm*} || ${ARCH} == i386 || ${ARCH:Mmips*} || ${ARCH:Mpowerpc*}
 GALLIUM_DRIVERS=	SWRAST	# llvmpipe
 .else
@@ -42,9 +42,10 @@ VULKAN_DRIVERS=		#
 
 .if ${ARCH} == aarch64 || ${ARCH} == amd64 || ${ARCH} == i386 \
  || ${ARCH} == powerpc || ${ARCH} == powerpc64
-DRI_DRIVERS+=		RADEON R200
+DRI_DRIVERS+=		R100 R200
 GALLIUM_DRIVERS+=	R300 R600 RADEONSI
-VULKAN_DRIVERS+=	RADEON
+VULKAN_DRIVERS+=	AMD
+MESON_ARGS+=		-Dgallium-xvmc=true
 .endif
 .if ${ARCH} == amd64 || ${ARCH} == i386
 DRI_DRIVERS+=		I915 I965
@@ -76,13 +77,22 @@ LDFLAGS+=		-B${LOCALBASE}/bin
 
 # enables VK_KHR_wayland_surface in Vulkan drivers
 .if ${PORT_OPTIONS:MWAYLAND} && !empty(VULKAN_DRIVERS)
-CONFIGURE_ARGS+=	--with-platforms=x11,surfaceless,drm,wayland
+MESON_ARGS+=	-Dplatforms=x11,surfaceless,drm,wayland
 .endif
 
-CONFIGURE_ARGS+=	--with-dri-drivers="${DRI_DRIVERS:tl}" \
-			--with-gallium-drivers="${GALLIUM_DRIVERS:tl}" \
-			--with-vulkan-drivers="${VULKAN_DRIVERS:tl}"
+MESON_ARGS+=	-Ddri-drivers="${DRI_DRIVERS:ts,:tl}" \
+			-Dgallium-drivers="${GALLIUM_DRIVERS:ts,:tl}" \
+			-Dvulkan-drivers="${VULKAN_DRIVERS:ts,:tl}"
 
+# Disable some options
+MESON_ARGS+=	-Dgallium-xa=false \
+		-Dgles1=false \
+		-Dgles2=false \
+		-Dglx=disabled \
+		-Degl=false \
+		-Dosmesa=none \
+		-Dtools=""
+
 .for _d in ${ALL_DRI_DRIVERS}
 . if ${DRI_DRIVERS:M${_d}}
 PLIST_SUB+=	${_d}_DRIVER=""
@@ -99,9 +109,10 @@ PLIST_SUB+=	${_gd}_GDRIVER="@comment "
 . endif
 .endfor
 
+PLIST_SUB += ARCH=${ARCH:S/amd/x86_/}
 .for _vd in ${ALL_VULKAN_DRIVERS}
 . if ${VULKAN_DRIVERS:M${_vd}}
-PLIST_SUB+=	${_vd}_VDRIVER="" ARCH="${ARCH}"
+PLIST_SUB+=	${_vd}_VDRIVER=""
 . else
 PLIST_SUB+=	${_vd}_VDRIVER="@comment "
 . endif

Modified: head/graphics/mesa-dri/Makefile.common
==============================================================================
--- head/graphics/mesa-dri/Makefile.common	Fri Jun  5 09:08:11 2020	(r537997)
+++ head/graphics/mesa-dri/Makefile.common	Fri Jun  5 09:13:57 2020	(r537998)
@@ -29,7 +29,8 @@ MAINTAINER=	x11@FreeBSD.org
 
 COMPONENT=	${PORTNAME:tl:C/^lib//:C/mesa-//}
 
-BUILD_DEPENDS+=	${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs
+BUILD_DEPENDS+=	${LOCALBASE}/libdata/pkgconfig/pthread-stubs.pc:devel/libpthread-stubs \
+		${PYTHON_PKGNAMEPREFIX}mako>0:textproc/py-mako@${PY_FLAVOR}
 LIB_DEPENDS+=	libexpat.so:textproc/expat2
 .if ${COMPONENT} != clover
 USES+=		xorg
@@ -47,11 +48,10 @@ LIB_DEPENDS+=	libunwind.so:devel/libunwind
 LIB_DEPENDS+=	libelf.so:devel/libelf
 .endif
 
-USES+=		compiler:c++11-lib bison gettext-tools gmake libtool \
-		localbase pathfix pkgconfig python:2.7,build shebangfix tar:xz
+USES+=		compiler:c++11-lib bison meson pathfix pkgconfig \
+		python:3.6+,build shebangfix tar:xz
+
 USE_LDCONFIG=	yes
-GNU_CONFIGURE=	yes
-CONFIGURE_ARGS+=--enable-autotools
 
 # only have one port to check with portscout.
 .if ${PORTNAME} != mesa-dri
@@ -84,26 +84,20 @@ LLVM_DEFAULT=	90
 LLVM_DEFAULT=	80
 .endif
 
-.if ${ARCH} == aarch64 || ${ARCH} == amd64 || ${ARCH:Marm*} || ${ARCH} == i386 || ${ARCH:Mmips*} || ${ARCH:Mpowerpc*}
+BINARY_ALIAS+=	python3=${PYTHON_VERSION}
+
+.if ${ARCH} == sparc64
+MESON_ARGS+=	-Dllvm=false
+.else
 BUILD_DEPENDS+=	llvm${LLVM_DEFAULT}>=3.9.0_4:devel/llvm${LLVM_DEFAULT}
 .if ${COMPONENT} != libs
 RUN_DEPENDS+=	llvm${LLVM_DEFAULT}>=3.9.0_4:devel/llvm${LLVM_DEFAULT}
 .endif
-CONFIGURE_ENV+=	LLVM_CONFIG=${LOCALBASE}/bin/llvm-config${LLVM_DEFAULT}
+BINARY_ALIAS+=	llvm-config=llvm-config${LLVM_DEFAULT}
 LDFLAGS+=	-Wl,-rpath=${LOCALBASE}/llvm${LLVM_DEFAULT}/lib
-CONFIGURE_ARGS+=	--enable-llvm
-.else
-CONFIGURE_ARGS+=	--disable-llvm
+MESON_ARGS+=	-Dllvm=true
 .endif
 
-# There are issues that need to be fixed to use TLS model "initial-exec"
-# So stick with "global-dynamic"'s model for now. kan@ is working on a
-# patch for rtld. We might want to backport global-dynamic or
-# pthread_setspecific which it uses now by default. But since this
-# configure switch is going away ...
-# https://lists.freebsd.org/pipermail/freebsd-arch/2016-February/017699.html
-CONFIGURE_ARGS+=	--disable-glx-tls
-
 # we don't care about GLes v1
-CONFIGURE_ARGS+=	--disable-gles1
+MESON_ARGS+=	-Dgles1=false
 

Modified: head/graphics/mesa-dri/Makefile.targets
==============================================================================
--- head/graphics/mesa-dri/Makefile.targets	Fri Jun  5 09:08:11 2020	(r537997)
+++ head/graphics/mesa-dri/Makefile.targets	Fri Jun  5 09:13:57 2020	(r537998)
@@ -3,34 +3,5 @@
 # this file holds common targets
 
 post-patch:
-.if ${OPSYS} == FreeBSD
-	@${REINPLACE_CMD} -e 's|x86_64|amd64|' ${WRKSRC}/configure
-.endif
 	@${REINPLACE_CMD} -e 's|/etc/|${PREFIX}/etc/|g' \
 		${WRKSRC}/src/util/xmlconfig.c
-
-pre-build: mesa-pre-build
-
-#custom targets so we can build parts of Mesa
-mesa-pre-build:
-# do propper gmake target.
-	@cd ${WRKSRC}/src && ${MAKE_CMD} git_sha1.h libglsl_util.la
-	@cd ${WRKSRC}/src/mesa/drivers/dri/common/ && ${MAKE_CMD}
-	@cd ${WRKSRC}/src/loader && ${MAKE_CMD}
-# libloader.la
-
-.if defined(MESA_BUILD_WRKSRC)
-do-build:
-. for dir in ${MESA_BUILD_WRKSRC}
-	(cd ${WRKSRC}/${dir}; ${DO_MAKE_BUILD} ${ALL_TARGET};)
-. endfor
-.endif
-
-.if defined(MESA_INSTALL_WRKSRC)
-do-install:
-. for dir in ${MESA_INSTALL_WRKSRC}
-	(cd ${WRKSRC}/${dir} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \
-		${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET})
-. endfor
-.endif
-

Added: head/graphics/mesa-dri/files/patch-meson.build
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/mesa-dri/files/patch-meson.build	Fri Jun  5 09:13:57 2020	(r537998)
@@ -0,0 +1,26 @@
+- Do not define GLX_USE_TLS, this doesn't work on all FreeBSD version
+  Later mesa version rename this to USE_ELF_TLS and make it conditional
+  on some platform, but for now simply comment it here.
+  See https://github.com/dumbbell/test-tls-initial-exec for more info
+- Add dependency on libxv for xvmc, this is fixed in later mesa version.
+--- meson.build.orig	2019-06-26 20:14:08 UTC
++++ meson.build
+@@ -336,7 +336,7 @@ if with_egl and not (with_platform_drm or with_platfor
+   endif
+ endif
+ 
+-pre_args += '-DGLX_USE_TLS'
++#pre_args += '-DGLX_USE_TLS'
+ if with_glx != 'disabled'
+   if not (with_platform_x11 and with_any_opengl)
+     error('Cannot build GLX support without X11 platform support and at least one OpenGL API')
+@@ -458,7 +458,8 @@ dep_xvmc = null_dep
+ with_gallium_xvmc = false
+ if _xvmc != 'false'
+   dep_xvmc = dependency('xvmc', version : '>= 1.0.6', required : _xvmc == 'true')
+-  with_gallium_xvmc = dep_xvmc.found()
++  dep_xv = dependency('xv', required: _xvmc == 'true')
++  with_gallium_xvmc = dep_xvmc.found() and dep_xv.found()
+ endif
+ 
+ xvmc_drivers_path = get_option('xvmc-libs-path')

Added: head/graphics/mesa-dri/files/patch-src_gallium_state__trackers_xvmc_meson.build
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/mesa-dri/files/patch-src_gallium_state__trackers_xvmc_meson.build	Fri Jun  5 09:13:57 2020	(r537998)
@@ -0,0 +1,19 @@
+--- src/gallium/state_trackers/xvmc/meson.build.orig	2019-06-26 20:14:08 UTC
++++ src/gallium/state_trackers/xvmc/meson.build
+@@ -18,12 +18,15 @@
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ # SOFTWARE.
+ 
++XVMC_MAJOR = 1
++XVMC_MINOR = 0
++
+ libxvmc_st = static_library(
+   'xvmc_st',
+   files('attributes.c', 'block.c', 'context.c', 'surface.c', 'subpicture.c'),
+   c_args : [c_vis_args],
+   include_directories : [inc_common],
+-  dependencies : [dep_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3],
++  dependencies : [dep_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3, dep_xv],
+ )
+ 
+ # These tests will not work without a working xvmc configuration. 

Added: head/graphics/mesa-dri/files/patch-src_gallium_targets_xvmc_meson.build
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/mesa-dri/files/patch-src_gallium_targets_xvmc_meson.build	Fri Jun  5 09:13:57 2020	(r537998)
@@ -0,0 +1,11 @@
+--- src/gallium/targets/xvmc/meson.build.orig	2020-06-04 18:31:48 UTC
++++ src/gallium/targets/xvmc/meson.build
+@@ -55,7 +55,7 @@ libxvmc_gallium = shared_library(
+ 
+ foreach d : [[with_gallium_r600, 'r600'], [with_gallium_nouveau, 'nouveau']]
+   if d[0]
+-    xvmc_drivers += 'libXvMC@0@.so'.format(d[1])
++    xvmc_drivers += 'libXvMC@0@.so.@1@.@2@.0'.format(d[1], XVMC_MAJOR, XVMC_MINOR)
+   endif
+ endforeach
+ 

Added: head/graphics/mesa-dri/files/patch-src_mesa_main_macros.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/mesa-dri/files/patch-src_mesa_main_macros.h	Fri Jun  5 09:13:57 2020	(r537998)
@@ -0,0 +1,13 @@
+--- src/mesa/main/macros.h.orig	2019-06-26 20:14:08 UTC
++++ src/mesa/main/macros.h
+@@ -677,6 +677,10 @@ minify(unsigned value, unsigned levels)
+  *
+  * \sa ROUND_DOWN_TO()
+  */
++#ifdef __FreeBSD__
++#undef ALIGN
++#endif
++
+ static inline uintptr_t
+ ALIGN(uintptr_t value, int32_t alignment)
+ {

Modified: head/graphics/mesa-dri/files/patch-src_util_futex.h
==============================================================================
--- head/graphics/mesa-dri/files/patch-src_util_futex.h	Fri Jun  5 09:08:11 2020	(r537997)
+++ head/graphics/mesa-dri/files/patch-src_util_futex.h	Fri Jun  5 09:13:57 2020	(r537998)
@@ -1,8 +1,13 @@
 - Implement futex_wake() and futex_wait() via _umtx_op()
-
---- src/util/futex.h.orig	2018-09-24 16:00:57 UTC
+--- src/util/futex.h.orig	2019-06-26 20:14:08 UTC
 +++ src/util/futex.h
-@@ -29,10 +29,32 @@
+@@ -24,15 +24,37 @@
+ #ifndef UTIL_FUTEX_H
+ #define UTIL_FUTEX_H
+ 
+-#if defined(HAVE_LINUX_FUTEX_H)
++/* #if defined(HAVE_LINUX_FUTEX_H) */
+ 
  #include <limits.h>
  #include <stdint.h>
  #include <unistd.h>
@@ -35,11 +40,13 @@
  static inline long sys_futex(void *addr1, int op, int val1, const struct timespec *timeout, void *addr2, int val3)
  {
     return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
-@@ -50,6 +72,7 @@ static inline int futex_wait(uint32_t *addr, int32_t v
+@@ -50,7 +72,8 @@ static inline int futex_wait(uint32_t *addr, int32_t v
     return sys_futex(addr, FUTEX_WAIT_BITSET, value, timeout, NULL,
                      FUTEX_BITSET_MATCH_ANY);
  }
-+#endif
- 
+-
  #endif
++
++/* #endif */
  
+ #endif /* UTIL_FUTEX_H */

Modified: head/graphics/mesa-dri/pkg-plist
==============================================================================
--- head/graphics/mesa-dri/pkg-plist	Fri Jun  5 09:08:11 2020	(r537997)
+++ head/graphics/mesa-dri/pkg-plist	Fri Jun  5 09:13:57 2020	(r537998)
@@ -1,25 +1,8 @@
-@comment include/EGL/egl.h
-@comment include/EGL/eglext.h
-@comment include/EGL/eglextchromium.h
-@comment include/EGL/eglmesaext.h
-@comment include/EGL/eglplatform.h
 @comment include/GL/gl.h
 @comment include/GL/gl_mangle.h
 @comment include/GL/glcorearb.h
 @comment include/GL/glext.h
-@comment include/GL/glx.h
-@comment include/GL/glx_mangle.h
-@comment include/GL/glxext.h
 include/GL/internal/dri_interface.h
-@comment include/GL/osmesa.h
-@comment include/GLES2/gl2.h
-@comment include/GLES2/gl2ext.h
-@comment include/GLES2/gl2platform.h
-@comment include/GLES3/gl3.h
-@comment include/GLES3/gl31.h
-@comment include/GLES3/gl32.h
-@comment include/GLES3/gl3ext.h
-@comment include/GLES3/gl3platform.h
 @comment include/KHR/khrplatform.h
 @comment include/gbm.h
 %%INTEL_VDRIVER%%include/vulkan/vulkan_intel.h
@@ -32,32 +15,12 @@ include/GL/internal/dri_interface.h
 %%R300_GDRIVER%%lib/dri/r300_dri.so
 %%R600_GDRIVER%%lib/dri/r600_dri.so
 %%VAAPI%%%%R600_GDRIVER%%lib/dri/r600_drv_video.so
-%%RADEON_DRIVER%%lib/dri/radeon_dri.so
+%%R100_DRIVER%%lib/dri/radeon_dri.so
 %%RADEONSI_GDRIVER%%lib/dri/radeonsi_dri.so
 %%VAAPI%%%%RADEONSI_GDRIVER%%lib/dri/radeonsi_drv_video.so
-%%SWRAST_DRIVER%%lib/dri/swrast_dri.so
+%%SWRAST_GDRIVER%%lib/dri/swrast_dri.so
 %%VC4_GDRIVER%%lib/dri/vc4_dri.so
 %%SVGA_GDRIVER%%lib/dri/vmwgfx_dri.so
-@comment lib/gallium-pipe/pipe_r300.so
-@comment lib/gallium-pipe/pipe_r600.so
-@comment lib/gallium-pipe/pipe_radeonsi.so
-@comment lib/gallium-pipe/pipe_swrast.so
-@comment lib/gallium-pipe/pipe_vmwgfx.so
-@comment lib/libEGL.so
-@comment lib/libEGL.so.1
-@comment lib/libEGL.so.1.0.0
-@comment lib/libGL.so
-@comment lib/libGL.so.1
-@comment lib/libGL.so.1.2.0
-@comment lib/libGLESv2.so
-@comment lib/libGLESv2.so.2
-@comment lib/libGLESv2.so.2.0.0
-@comment lib/libMesaOpenCL.so
-@comment lib/libMesaOpenCL.so.1
-@comment lib/libMesaOpenCL.so.1.0.0
-@comment lib/libOSMesa.so
-@comment lib/libOSMesa.so.8
-@comment lib/libOSMesa.so.8.0.0
 %%R600_GDRIVER%%lib/libXvMCr600.so
 %%R600_GDRIVER%%lib/libXvMCr600.so.1
 %%R600_GDRIVER%%lib/libXvMCr600.so.1.0
@@ -81,13 +44,9 @@ include/GL/internal/dri_interface.h
 %%VDPAU%%%%RADEONSI_GDRIVER%%lib/vdpau/libvdpau_radeonsi.so.1.0
 %%VDPAU%%%%RADEONSI_GDRIVER%%lib/vdpau/libvdpau_radeonsi.so.1.0.0
 %%INTEL_VDRIVER%%lib/libvulkan_intel.so
-%%RADEON_VDRIVER%%lib/libvulkan_radeon.so
+%%AMD_VDRIVER%%lib/libvulkan_radeon.so
 libdata/pkgconfig/dri.pc
-@comment libdata/pkgconfig/egl.pc
 @comment libdata/pkgconfig/gbm.pc
-@comment libdata/pkgconfig/gl.pc
-@comment libdata/pkgconfig/glesv2.pc
-@comment libdata/pkgconfig/osmesa.pc
 share/drirc.d/00-mesa-defaults.conf
 %%INTEL_VDRIVER%%share/vulkan/icd.d/intel_icd.%%ARCH%%.json
-%%RADEON_VDRIVER%%share/vulkan/icd.d/radeon_icd.%%ARCH%%.json
+%%AMD_VDRIVER%%share/vulkan/icd.d/radeon_icd.%%ARCH%%.json

Modified: head/graphics/mesa-libs/Makefile
==============================================================================
--- head/graphics/mesa-libs/Makefile	Fri Jun  5 09:08:11 2020	(r537997)
+++ head/graphics/mesa-libs/Makefile	Fri Jun  5 09:13:57 2020	(r537998)
@@ -11,7 +11,7 @@ CONFLICTS_INSTALL=	libglvnd # include/GL/gl.h
 
 USES=		xorg
 USE_XORG=	xorgproto x11 xcb xdamage xext \
-		xfixes xshmfence xxf86vm
+		xfixes xshmfence xxf86vm xrandr
 
 OPTIONS_DEFINE=	WAYLAND
 OPTIONS_DEFAULT=WAYLAND
@@ -24,25 +24,26 @@ WAYLAND_LIB_DEPENDS=	libwayland-egl.so:graphics/waylan
 .include <bsd.port.options.mk>
 .include "${.CURDIR:H:H}/graphics/mesa-dri/Makefile.common"
 
-CONFIGURE_ARGS+=	--with-dri-drivers="" --with-gallium-drivers=""
+MESON_ARGS+=	-Dgallium-drivers="" \
+		-Dgallium-vdpau=false \
+		-Dgallium-xvmc=false \
+		-Dgallium-omx=disabled \
+		-Dgallium-va=false \
+		-Dgallium-xa=false \
+		-Dgallium-nine=false \
+		-Dgallium-clover=disabled \
+		-Dosmesa=none \
+		-Dtools="" \
+		-Degl=true \
+		-Dgbm=true \
+		-Dvulkan-drivers=""
+# Building EGL and GBM requires a dri driver so add swrast
+MESON_ARGS+=	-Ddri-drivers="swrast"
 
 .if ${PORT_OPTIONS:MWAYLAND}
-CONFIGURE_ARGS+=	--with-platforms=x11,surfaceless,drm,wayland
+MESON_ARGS+=	-Dplatforms=x11,surfaceless,drm,wayland
 .endif
 
-MESA_BUILD_WRKSRC=	src/mapi src/util
-MESA_INSTALL_WRKSRC=	src/mapi
-
-.if ${PORT_OPTIONS:MWAYLAND}
-MESA_BUILD_WRKSRC+=	src/egl/wayland/wayland-drm
-.endif
-
-MESA_BUILD_WRKSRC+=	src/gbm src/glx
-MESA_INSTALL_WRKSRC+=	src/gbm src/glx
-
-MESA_BUILD_WRKSRC+=	src/egl
-MESA_INSTALL_WRKSRC+=	src/egl
-
 .if ${ARCH} == "i386"
 # PR230239 Fix the build for i386 when WITH_LLD_IS_LD is set
 LDFLAGS+=-Wl,-z,notext
@@ -51,9 +52,5 @@ USE_GCC=	yes
 .endif
 
 .include "${MASTERDIR}/Makefile.targets"
-
-post-install:
-	@cd ${WRKSRC}/src && ${SETENV} DESTDIR=${STAGEDIR} \
-		${MAKE_CMD} install-pkgconfigDATA install-glHEADERS install-glxHEADERS
 
 .include <bsd.port.post.mk>

Modified: head/graphics/mesa-libs/pkg-plist
==============================================================================
--- head/graphics/mesa-libs/pkg-plist	Fri Jun  5 09:08:11 2020	(r537997)
+++ head/graphics/mesa-libs/pkg-plist	Fri Jun  5 09:13:57 2020	(r537998)
@@ -1,4 +1,3 @@
-@comment etc/drirc
 include/EGL/egl.h
 include/EGL/eglext.h
 include/EGL/eglextchromium.h
@@ -11,6 +10,7 @@ include/GL/glext.h
 include/GL/glx.h
 include/GL/glx_mangle.h
 include/GL/glxext.h
+@comment include/GL/internal/dri_interface.h
 include/GLES2/gl2.h
 include/GLES2/gl2ext.h
 include/GLES2/gl2platform.h
@@ -21,6 +21,7 @@ include/GLES3/gl3ext.h
 include/GLES3/gl3platform.h
 include/KHR/khrplatform.h
 include/gbm.h
+@comment lib/dri/swrast_dri.so
 lib/libEGL.so
 lib/libEGL.so.1
 lib/libEGL.so.1.0.0
@@ -36,7 +37,9 @@ lib/libgbm.so.1.0.0
 lib/libglapi.so
 lib/libglapi.so.0
 lib/libglapi.so.0.0.0
+@comment libdata/pkgconfig/dri.pc
 libdata/pkgconfig/egl.pc
 libdata/pkgconfig/gbm.pc
 libdata/pkgconfig/gl.pc
 libdata/pkgconfig/glesv2.pc
+@comment share/drirc.d/00-mesa-defaults.conf

Modified: head/lang/clover/Makefile
==============================================================================
--- head/lang/clover/Makefile	Fri Jun  5 09:08:11 2020	(r537997)
+++ head/lang/clover/Makefile	Fri Jun  5 09:13:57 2020	(r537998)
@@ -18,18 +18,31 @@ ONLY_FOR_ARCHS_REASON=	Clover needs a GPU supported by
 .include <bsd.port.options.mk>
 .include "${.CURDIR:H:H}/graphics/mesa-dri/Makefile.common"
 
-CONFIGURE_ARGS+=	--enable-opencl --enable-opencl-icd --disable-dri \
-			--disable-egl --disable-gbm --disable-gles2 --disable-glx \
-			--disable-va --disable-vdpau --disable-xvmc \
-			--with-gallium-drivers=r600,radeonsi	# only supported GPUs
+MESON_ARGS+=	-Ddri-drivers="" \
+		-Dgallium-drivers=r600,radeonsi \
+		-Dvulkan-drivers="" \
+		-Dplatforms="" \
+		-Dgallium-vdpau=false \
+		-Dgallium-omx=disabled \
+		-Dgallium-va=false \
+		-Dgallium-opencl=disabled \
+		-Dgallium-xa=false \
+		-Dgallium-xvmc=false \
+		-Dgallium-nine=false \
+		-Dgles1=false \
+		-Dgles2=false \
+		-Dopengl=false \
+		-Dglx=disabled \
+		-Degl=false \
+		-Dgbm=false \
+		-Dgallium-opencl=icd \
+		-Dtools=""
+
 LDFLAGS_i386=		-Wl,-znotext
 
-#MESA_BUILD_WRKSRC=	src/util src/compiler src/mesa src/gallium
-MESA_INSTALL_WRKSRC=	src/gallium/targets/opencl src/gallium/targets/pipe-loader
-
 .include "${MASTERDIR}/Makefile.targets"
 
-pre-configure:
+pre-patch:
 	@if [ -e ${LOCALBASE}/bin/llvm-config${LLVM_DEFAULT} ] && \
 		! [ -e ${LOCALBASE}/bin/clang${LLVM_DEFAULT} ]; then \
 		${ECHO_MSG} "Your llvm${LLVM_DEFAULT} is not built with clang support, which is required."; \

Modified: head/lang/clover/pkg-plist
==============================================================================
--- head/lang/clover/pkg-plist	Fri Jun  5 09:08:11 2020	(r537997)
+++ head/lang/clover/pkg-plist	Fri Jun  5 09:13:57 2020	(r537998)
@@ -4,3 +4,4 @@ lib/gallium-pipe/pipe_radeonsi.so
 lib/libMesaOpenCL.so
 lib/libMesaOpenCL.so.1
 lib/libMesaOpenCL.so.1.0.0
+@comment share/drirc.d/00-mesa-defaults.conf



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202006050913.0559DwOX047806>