Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F135296734
D25020.id72470.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
11 KB
Referenced Files
None
Subscribers
None
D25020.id72470.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D25020: graphics/mesa-libs: enable libglvnd support
Attached
Detach File
Event Timeline
Log In to Comment