Page MenuHomeFreeBSD

D25020.id83138.diff
No OneTemporary

D25020.id83138.diff

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

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)

Event Timeline