Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F142730117
D25020.id83138.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
8 KB
Referenced Files
None
Subscribers
None
D25020.id83138.diff
View Options
Index: Mk/Uses/gl.mk
===================================================================
--- Mk/Uses/gl.mk
+++ Mk/Uses/gl.mk
@@ -15,12 +15,12 @@
.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:graphics/${GL_DEFAULT:S/,/ /g:[1]}
+_GL_gbm_LIB_DEPENDS= libgbm.so:graphics/${GL_DEFAULT:S/,/ /g:[-1]}
+_GL_gl_LIB_DEPENDS= libGL.so:graphics/${GL_DEFAULT:S/,/ /g:[1]}
_GL_gl_USE_XORG= xorgproto
-_GL_glesv1_LIB_DEPENDS= libGLESv1_CM.so:graphics/mesa-libs
-_GL_glesv2_LIB_DEPENDS= libGLESv2.so:graphics/mesa-libs
+_GL_glesv1_LIB_DEPENDS= libGLESv1_CM.so:graphics/${GL_DEFAULT:S/,/ /g:[1]}
+_GL_glesv2_LIB_DEPENDS= libGLESv2.so:graphics/${GL_DEFAULT:S/,/ /g:[1]}
_GL_glew_LIB_DEPENDS= libGLEW.so:graphics/glew
_GL_glu_LIB_DEPENDS= libGLU.so:graphics/libGLU
_GL_glu_USE_XORG= xorgproto
Index: Mk/bsd.default-versions.mk
===================================================================
--- Mk/bsd.default-versions.mk
+++ Mk/bsd.default-versions.mk
@@ -19,7 +19,7 @@
LOCALBASE?= /usr/local
-.for lang in APACHE BDB COROSYNC EMACS FIREBIRD FORTRAN FPC GCC GHOSTSCRIPT \
+.for lang in APACHE BDB COROSYNC EMACS FIREBIRD FORTRAN FPC GCC GHOSTSCRIPT GL \
JAVA JULIA LAZARUS LIBRSVG2 LINUX LLVM LUA MYSQL PERL5 PGSQL PHP PYTHON PYTHON2 \
PYTHON3 RUBY RUST SAMBA SSL TCLTK VARNISH
.if defined(${lang}_DEFAULT)
@@ -53,6 +53,8 @@
.else
GCC_DEFAULT?= 10
.endif
+# Possible values (tuple): libglvnd, mesa-libs, mesa-devel
+GL_DEFAULT?= libglvnd,mesa-libs
# Possible values: 7, 8, 9, agpl
GHOSTSCRIPT_DEFAULT?= agpl
# Possible values: 7, 8, 11, 12, 13, 14, 15
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.2
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= 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= 21.0-branchpoint-878
DISTVERSIONSUFFIX= -g55e853d823e
+PORTREVISION= 1
CATEGORIES= graphics
PKGNAMESUFFIX= -devel
Index: graphics/mesa-libs/Makefile
===================================================================
--- graphics/mesa-libs/Makefile
+++ graphics/mesa-libs/Makefile
@@ -7,7 +7,7 @@
COMMENT= OpenGL libraries that support GLX and EGL clients
-CONFLICTS_INSTALL= libglvnd # include/GL/gl.h
+BUILD_DEPENDS= libglvnd>0:graphics/libglvnd
OPTIONS_GROUP= PLATFORM
OPTIONS_GROUP_PLATFORM= PLATFORM_X11 PLATFORM_WAYLAND
@@ -44,6 +44,7 @@
-Degl=enabled \
-Dgbm=enabled \
-Dvulkan-drivers="" \
+ -Dglvnd=true \
-Dprefer-iris=true
# Building EGL and GBM requires a dri driver so add swrast
MESON_ARGS+= -Ddri-drivers="swrast"
@@ -73,4 +74,9 @@
.include "${MASTERDIR}/Makefile.targets"
+post-install:
+# 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,41 +1,42 @@
-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
-include/GL/glcorearb.h
-include/GL/glext.h
-%%GLX%%include/GL/glx.h
-%%GLX%%include/GL/glxext.h
+@comment include/EGL/eglplatform.h
+@comment include/GL/gl.h
+@comment include/GL/glcorearb.h
+@comment include/GL/glext.h
+%%GLX%%@comment include/GL/glx.h
+%%GLX%%@comment include/GL/glxext.h
@comment include/GL/internal/dri_interface.h
-include/GLES/egl.h
-include/GLES/gl.h
-include/GLES/glext.h
-include/GLES/glplatform.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/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
include/gbm.h
@comment lib/dri/swrast_dri.so
-lib/libEGL.so
-lib/libEGL.so.1
-lib/libEGL.so.1.0.0
-%%GLX%%lib/libGL.so
-%%GLX%%lib/libGL.so.1
-%%GLX%%lib/libGL.so.1.2.0
-lib/libGLESv1_CM.so
-lib/libGLESv1_CM.so.1
-lib/libGLESv1_CM.so.1.1.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/libGLESv1_CM.so
+@comment lib/libGLESv1_CM.so.1
+@comment lib/libGLESv1_CM.so.1.1.0
+@comment lib/libGLESv2.so
+@comment lib/libGLESv2.so.2
+@comment lib/libGLESv2.so.2.0.0
+%%GLX%%lib/libGLX_mesa.so
+%%GLX%%lib/libGLX_mesa.so.0
+%%GLX%%lib/libGLX_mesa.so.0.0.0
lib/libgbm.so
lib/libgbm.so.1
lib/libgbm.so.1.0.0
@@ -43,9 +44,10 @@
lib/libglapi.so.0
lib/libglapi.so.0.0.0
@comment libdata/pkgconfig/dri.pc
-libdata/pkgconfig/egl.pc
+@comment libdata/pkgconfig/egl.pc
libdata/pkgconfig/gbm.pc
-%%GLX%%libdata/pkgconfig/gl.pc
-libdata/pkgconfig/glesv1_cm.pc
-libdata/pkgconfig/glesv2.pc
+%%GLX%%@comment libdata/pkgconfig/gl.pc
+@comment libdata/pkgconfig/glesv1_cm.pc
+@comment libdata/pkgconfig/glesv2.pc
@comment share/drirc.d/00-mesa-defaults.conf
+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.100
# 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 \
@@ -272,5 +274,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
@@ -16,7 +16,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
Fri, Jan 23, 7:35 PM (15 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27888959
Default Alt Text
D25020.id83138.diff (8 KB)
Attached To
Mode
D25020: graphics/mesa-libs: enable libglvnd support
Attached
Detach File
Event Timeline
Log In to Comment