Page MenuHomeFreeBSD

D25020.id72470.diff
No OneTemporary

D25020.id72470.diff

Index: Mk/Uses/gl.mk
===================================================================
--- Mk/Uses/gl.mk
+++ Mk/Uses/gl.mk
@@ -12,14 +12,19 @@
#
# MAINTAINER: x11@FreeBSD.org
+EGL_PORT?= graphics/libglvnd
+GBM_PORT?= graphics/mesa-libs
+GL_PORT?= graphics/libglvnd
+GLESV2_PORT?= graphics/libglvnd
+
.if !defined(_INCLUDE_USES_GL_MK)
_INCLUDE_USES_GL_MK=yes
-_GL_egl_LIB_DEPENDS= libEGL.so:graphics/mesa-libs
-_GL_gbm_LIB_DEPENDS= libgbm.so:graphics/mesa-libs
-_GL_gl_LIB_DEPENDS= libGL.so:graphics/mesa-libs
+_GL_egl_LIB_DEPENDS= libEGL.so:${EGL_PORT}
+_GL_gbm_LIB_DEPENDS= libgbm.so:${GBM_PORT}
+_GL_gl_LIB_DEPENDS= libGL.so:${GL_PORT}
_GL_gl_USE_XORG= xorgproto
-_GL_glesv2_LIB_DEPENDS= libGLESv2.so:graphics/mesa-libs
+_GL_glesv2_LIB_DEPENDS= libGLESv2.so:${GLESV2_PORT}
_GL_glew_LIB_DEPENDS= libGLEW.so:graphics/glew
_GL_glu_LIB_DEPENDS= libGLU.so:graphics/libGLU
_GL_glu_USE_XORG= xorgproto
Index: graphics/glad/Makefile
===================================================================
--- graphics/glad/Makefile
+++ graphics/glad/Makefile
@@ -18,6 +18,6 @@
CMAKE_ON= GLAD_INSTALL BUILD_SHARED_LIBS GLAD_REPRODUCIBLE
-CONFLICTS_INSTALL= mesa-libs # include/KHR/khrplatform.h, see https://github.com/Dav1dde/glad/issues/260
+CONFLICTS_INSTALL= libglvnd # include/KHR/khrplatform.h, see https://github.com/Dav1dde/glad/issues/260
.include <bsd.port.mk>
Index: graphics/libglvnd/Makefile
===================================================================
--- graphics/libglvnd/Makefile
+++ graphics/libglvnd/Makefile
@@ -4,14 +4,12 @@
DISTVERSION= 1.3.1
CATEGORIES= graphics
-MAINTAINER= greg@unrelenting.technology
+MAINTAINER= x11@FreeBSD.org
COMMENT= GL Vendor-Neutral Dispatch library
LICENSE= APACHE20 MIT
LICENSE_COMB= multi
-CONFLICTS_INSTALL= mesa-libs # include/GL/gl.h
-
USES= compiler:c++11-lib localbase meson pkgconfig
USE_LDCONFIG= yes
Index: graphics/mesa-devel/Makefile
===================================================================
--- graphics/mesa-devel/Makefile
+++ graphics/mesa-devel/Makefile
@@ -3,6 +3,7 @@
PORTNAME= mesa
DISTVERSION= 20.1-branchpoint-1310
DISTVERSIONSUFFIX= -gaaec065f03e
+PORTREVISION= 1
CATEGORIES= graphics
PKGNAMESUFFIX= -devel
@@ -36,6 +37,7 @@
BROKEN_DragonFly= requires making Vulkan support conditional
BUILD_DEPENDS= glslangValidator:devel/glslang \
+ libglvnd>0:graphics/libglvnd \
${PYTHON_PKGNAMEPREFIX}mako>0:textproc/py-mako@${PY_FLAVOR}
LIB_DEPENDS= libLLVM-${LLVM_DEFAULT:C/^([6-9])0/\1/:S/-devel/11/}.so:devel/llvm${LLVM_DEFAULT} \
libdrm.so:graphics/libdrm \
@@ -56,6 +58,7 @@
-Dgallium-vdpau=false \
-Dgallium-xa=false \
-Dgallium-xvmc=false \
+ -Dglvnd=true \
-Dplatforms=${PLATFORMS:ts,} \
-Dvulkan-device-select-layer=true \
-Dvulkan-overlay-layer=true \
Index: graphics/mesa-devel/files/libmap.conf.in
===================================================================
--- graphics/mesa-devel/files/libmap.conf.in
+++ graphics/mesa-devel/files/libmap.conf.in
@@ -1,9 +1,3 @@
-# EGL/GLX built with -Dglvnd=false
-libEGL.so.1 libEGL%%PKGNAMESUFFIX%%.so.1
-libGL.so.1 libGL%%PKGNAMESUFFIX%%.so.1
-libGLESv1_CM.so.1 libGLESv1_CM%%PKGNAMESUFFIX%%.so.1
-libGLESv2.so.2 libGLESv2%%PKGNAMESUFFIX%%.so.2
-
# EGL/GLX built with -Dglvnd=true
# Xorg sets GLX_EXT_libglvnd to "mesa" by default
libEGL_mesa.so.0 libEGL_mesa%%PKGNAMESUFFIX%%.so.0
Index: graphics/mesa-devel/pkg-plist
===================================================================
--- graphics/mesa-devel/pkg-plist
+++ graphics/mesa-devel/pkg-plist
@@ -1,29 +1,8 @@
bin/mesa-overlay-control.py
@sample etc/libmap.d/mesa%%PKGNAMESUFFIX%%.conf.sample
-@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/glcorearb.h
-@comment include/GL/glext.h
-@comment include/GL/glx.h
-@comment include/GL/glxext.h
@comment include/GL/internal/dri_interface.h
-@comment include/GLES/egl.h
-@comment include/GLES/gl.h
-@comment include/GLES/glext.h
-@comment include/GLES/glplatform.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
@comment include/vulkan/vulkan_intel.h
lib/dri%%PKGNAMESUFFIX%%/i965_dri.so
@@ -32,18 +11,12 @@
lib/dri%%PKGNAMESUFFIX%%/radeonsi_dri.so
%%VAAPI%%lib/dri%%PKGNAMESUFFIX%%/r600_drv_video.so
%%VAAPI%%lib/dri%%PKGNAMESUFFIX%%/radeonsi_drv_video.so
-@comment lib/libEGL%%PKGNAMESUFFIX%%.so
-lib/libEGL%%PKGNAMESUFFIX%%.so.1
-lib/libEGL%%PKGNAMESUFFIX%%.so.1.0.0
-%%X11%%@comment lib/libGL%%PKGNAMESUFFIX%%.so
-%%X11%%lib/libGL%%PKGNAMESUFFIX%%.so.1
-%%X11%%lib/libGL%%PKGNAMESUFFIX%%.so.1.2.0
-@comment lib/libGLESv1_CM%%PKGNAMESUFFIX%%.so
-lib/libGLESv1_CM%%PKGNAMESUFFIX%%.so.1
-lib/libGLESv1_CM%%PKGNAMESUFFIX%%.so.1.1.0
-@comment lib/libGLESv2%%PKGNAMESUFFIX%%.so
-lib/libGLESv2%%PKGNAMESUFFIX%%.so.2
-lib/libGLESv2%%PKGNAMESUFFIX%%.so.2.0.0
+@comment lib/libEGL_mesa%%PKGNAMESUFFIX%%.so
+lib/libEGL_mesa%%PKGNAMESUFFIX%%.so.0
+lib/libEGL_mesa%%PKGNAMESUFFIX%%.so.0.0.0
+%%X11%%@comment lib/libGLX_mesa%%PKGNAMESUFFIX%%.so
+%%X11%%lib/libGLX_mesa%%PKGNAMESUFFIX%%.so.0
+%%X11%%lib/libGLX_mesa%%PKGNAMESUFFIX%%.so.0.0.0
lib/libVkLayer_MESA_device_select.so
lib/libVkLayer_MESA_overlay.so
@comment lib/libgbm%%PKGNAMESUFFIX%%.so
@@ -63,12 +36,9 @@
%%VDPAU%%lib/vdpau%%PKGNAMESUFFIX%%/libvdpau_radeonsi.so.1.0
%%VDPAU%%lib/vdpau%%PKGNAMESUFFIX%%/libvdpau_radeonsi.so.1.0.0
@comment libdata/pkgconfig/dri.pc
-@comment libdata/pkgconfig/egl.pc
@comment libdata/pkgconfig/gbm.pc
-@comment libdata/pkgconfig/gl.pc
-@comment libdata/pkgconfig/glesv1_cm.pc
-@comment libdata/pkgconfig/glesv2.pc
share/drirc.d/00-mesa%%PKGNAMESUFFIX%%-defaults.conf
+share/glvnd/egl_vendor.d/50_mesa%%PKGNAMESUFFIX%%.json
share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json
@comment share/vulkan/icd.d/intel_icd.%%ARCH%%.json
@comment share/vulkan/icd.d/radeon_icd.%%ARCH%%.json
Index: graphics/mesa-libs/Makefile
===================================================================
--- graphics/mesa-libs/Makefile
+++ graphics/mesa-libs/Makefile
@@ -3,15 +3,17 @@
PORTNAME= mesa-libs
PORTVERSION= ${MESAVERSION}
+PORTREVISION= 1
CATEGORIES= graphics
COMMENT= OpenGL libraries that support GLX and EGL clients
-CONFLICTS_INSTALL= libglvnd # include/GL/gl.h
+BUILD_DEPENDS= libglvnd>0:graphics/libglvnd
USES= xorg
USE_XORG= xorgproto x11 xcb xdamage xext \
xfixes xshmfence xxf86vm
+CONFIGURE_ARGS= --enable-libglvnd
OPTIONS_DEFINE= WAYLAND
OPTIONS_DEFAULT=WAYLAND
@@ -55,5 +57,8 @@
post-install:
@cd ${WRKSRC}/src && ${SETENV} DESTDIR=${STAGEDIR} \
${MAKE_CMD} install-pkgconfigDATA install-glHEADERS install-glxHEADERS
+# Fallback if GLX_EXT_libglvnd is missing or vendor library doesn't exist
+ @${ECHO_CMD} "libGLX_indirect.so.0 libGLX_mesa.so.0" \
+ >${STAGEDIR}${PREFIX}/etc/libmap.d/mesa.conf
.include <bsd.port.post.mk>
Index: graphics/mesa-libs/pkg-plist
===================================================================
--- graphics/mesa-libs/pkg-plist
+++ graphics/mesa-libs/pkg-plist
@@ -1,42 +1,44 @@
@comment etc/drirc
-include/EGL/egl.h
-include/EGL/eglext.h
+etc/libmap.d/mesa.conf
+@comment include/EGL/egl.h
+@comment include/EGL/eglext.h
include/EGL/eglextchromium.h
include/EGL/eglmesaext.h
-include/EGL/eglplatform.h
-include/GL/gl.h
+@comment include/EGL/eglplatform.h
+@comment include/GL/gl.h
include/GL/gl_mangle.h
-include/GL/glcorearb.h
-include/GL/glext.h
-include/GL/glx.h
+@comment include/GL/glcorearb.h
+@comment include/GL/glext.h
+@comment include/GL/glx.h
include/GL/glx_mangle.h
-include/GL/glxext.h
-include/GLES2/gl2.h
-include/GLES2/gl2ext.h
-include/GLES2/gl2platform.h
-include/GLES3/gl3.h
-include/GLES3/gl31.h
-include/GLES3/gl32.h
-include/GLES3/gl3ext.h
-include/GLES3/gl3platform.h
-include/KHR/khrplatform.h
+@comment include/GL/glxext.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
include/gbm.h
-lib/libEGL.so
-lib/libEGL.so.1
-lib/libEGL.so.1.0.0
-lib/libGL.so
-lib/libGL.so.1
-lib/libGL.so.1.2.0
-lib/libGLESv2.so
-lib/libGLESv2.so.2
-lib/libGLESv2.so.2.0.0
+lib/libEGL_mesa.so
+lib/libEGL_mesa.so.0
+lib/libEGL_mesa.so.0.0.0
+@comment lib/libGLESv2.so
+@comment lib/libGLESv2.so.2
+@comment lib/libGLESv2.so.2.0.0
+lib/libGLX_mesa.so
+lib/libGLX_mesa.so.0
+lib/libGLX_mesa.so.0.0.0
lib/libgbm.so
lib/libgbm.so.1
lib/libgbm.so.1.0.0
lib/libglapi.so
lib/libglapi.so.0
lib/libglapi.so.0.0.0
-libdata/pkgconfig/egl.pc
+@comment libdata/pkgconfig/egl.pc
libdata/pkgconfig/gbm.pc
-libdata/pkgconfig/gl.pc
-libdata/pkgconfig/glesv2.pc
+@comment libdata/pkgconfig/gl.pc
+@comment libdata/pkgconfig/glesv2.pc
+share/glvnd/egl_vendor.d/50_mesa.json
Index: misc/raspberrypi-userland/Makefile
===================================================================
--- misc/raspberrypi-userland/Makefile
+++ misc/raspberrypi-userland/Makefile
@@ -12,7 +12,7 @@
ONLY_FOR_ARCHS= armv6 armv7
-CONFLICTS_INSTALL= mesa-libs
+CONFLICTS_INSTALL= libglvnd
USES= cmake pkgconfig shebangfix
Index: x11/nvidia-driver/Makefile
===================================================================
--- x11/nvidia-driver/Makefile
+++ x11/nvidia-driver/Makefile
@@ -13,7 +13,7 @@
PORTNAME= nvidia-driver
DISTVERSION?= 440.82
# Always try to set PORTREVISION as it can be overridden by the slave ports
-PORTREVISION?= 1
+PORTREVISION?= 2
CATEGORIES= x11
MASTER_SITES= NVIDIA/XFree86/FreeBSD-${ARCH_SUFX}/${DISTVERSION}
DISTNAME= NVIDIA-FreeBSD-${ARCH_SUFX}-${DISTVERSION}
@@ -29,6 +29,7 @@
# obj/libEGL_nvidia.so.0 (see below)
.if ${NVVERSION} >= 410.057
PATCH_DEPENDS= gsed:textproc/gsed
+BUILD_DEPENDS= pkg-config:devel/pkgconf libglvnd>0:graphics/libglvnd
.endif
USES= kmod uidfix xorg
@@ -248,6 +249,7 @@
.if ${NVVERSION} < 440.036
${REINPLACE_CMD} -e '/lib32\//d' ${TMPPLIST}
.endif
+.if ${NVVERSION} < 410.057
# Rename some libraries and install a libmap file to resolve conflict with
# Mesa libraries.
${LN} -sf libGL-NVIDIA.so.1 \
@@ -270,5 +272,13 @@
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/libmap.d/
${INSTALL_DATA} ${WRKDIR}/nvidia.conf \
${STAGEDIR}${PREFIX}/etc/libmap.d/
+.else
+ ${REINPLACE_CMD} -E '/-NVIDIA/d ; \
+ /lib(Open)?E?GLX?(ESv[12](_CM)?|dispatch)?\.so/d' \
+ ${TMPPLIST}
+# Override mesa.conf if GLX_EXT_libglvnd is missing
+ @${ECHO_CMD} "libGLX_indirect.so.0 libGLX_nvidia.so.0" \
+ >${STAGEDIR}${PREFIX}/etc/libmap.d/nvidia.conf
+.endif
.include <bsd.port.post.mk>
Index: x11/nvidia-driver/pkg-plist
===================================================================
--- x11/nvidia-driver/pkg-plist
+++ x11/nvidia-driver/pkg-plist
@@ -18,7 +18,7 @@
lib/libGLESv2_nvidia.so.2
lib/libGLX.so
lib/libGLX.so.0
-lib/libGLX_indirect.so.0
+@comment lib/libGLX_indirect.so.0
lib/libGLX_nvidia.so
lib/libGLX_nvidia.so.0
lib/libGLdispatch.so

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 9, 11:08 AM (6 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25070356
Default Alt Text
D25020.id72470.diff (11 KB)

Event Timeline