diff --git a/graphics/mesa-dri/Makefile b/graphics/mesa-dri/Makefile index f9baeb057104..622822cf091c 100644 --- a/graphics/mesa-dri/Makefile +++ b/graphics/mesa-dri/Makefile @@ -1,144 +1,143 @@ PORTNAME= mesa-dri PORTVERSION= ${MESAVERSION} -PORTREVISION= 2 CATEGORIES= graphics COMMENT= OpenGL hardware acceleration drivers for DRI2+ WWW= https://www.mesa3d.org/ BUILD_DEPENDS+= glslangValidator:graphics/glslang \ ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \ libva>=0:multimedia/libva LIB_DEPENDS+= libdisplay-info.so:sysutils/libdisplay-info \ libgallium-${MESAVERSION}.so:graphics/mesa-libs \ libgbm.so:graphics/mesa-libs USES+= llvm:lib,noexport GALLIUM_DRIVERS= virgl zink OPTIONS_DEFINE= ZSTD OPTIONS_GROUP= GALLIUM PLATFORM VULKAN OPTIONS_DEFAULT= WAYLAND X11 ZSTD OPTIONS_SUB= yes ZSTD_DESC= Use ZSTD for shader cache ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd ZSTD_MESON_ENABLED= zstd OPTIONS_GROUP_PLATFORM= X11 WAYLAND X11_DESC= Enable X11 support for GBM/EGL WAYLAND_DESC= Enable Wayland support for GBM/EGL and Vulkan WAYLAND_BUILD_DEPENDS= wayland-protocols>=1.8:graphics/wayland-protocols WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland OPTIONS_GROUP_GALLIUM= crocus i915 iris llvmpipe panfrost r300 r600 radeonsi svga GALLIUM_DESC= Unified OpenGL drivers crocus_DESC= Intel GPU Gen4 (Broadwater) to Gen7 (Haswell) crocus_BUILD_DEPENDS= libclc-${LLVM_PORT:T}>0:devel/libclc@${LLVM_PORT:T} i915_DESC= Intel GPU Gen3 (Grantsdale to Pineview) iris_DESC= Intel GPU Gen8 (Broadwell) and newer iris_BUILD_DEPENDS= libclc-${LLVM_PORT:T}>0:devel/libclc@${LLVM_PORT:T} \ spirv-tools>0:graphics/spirv-tools \ spirv-llvm-translator-${LLVM_PORT:T}>0:devel/spirv-llvm-translator@${LLVM_PORT:T} iris_RUN_DEPENDS= spirv-tools>0:graphics/spirv-tools \ spirv-llvm-translator-${LLVM_PORT:T}>0:devel/spirv-llvm-translator@${LLVM_PORT:T} iris_IMPLIES= SPIRV llvmpipe_DESC= Software Rasterizer panfrost_DESC= ARM Midgard and Bifrost panfrost_BUILD_DEPENDS= libclc-${LLVM_PORT:T}>0:devel/libclc@${LLVM_PORT:T} r300_DESC= AMD/ATI R300, R400 and R500 r600_DESC= AMD/ATI R600, R700, Evergreen, Northern Islands radeonsi_DESC= AMD/ATI Southern Islands and newer svga_DESC= VMWare Virtual GPU OPTIONS_EXCLUDE+= ${ARCH:Marmv7:C/.+/crocus i915 iris panfrost r300 r600 radeonsi svga/} OPTIONS_EXCLUDE+= ${ARCH:Naarch64:C/.+/panfrost/} OPTIONS_EXCLUDE+= ${ARCH:Namd64:Ni386:Nx86_64:C/.+/crocus i915 iris svga/} MESON_ARGS+= -Dgallium-drivers=${GALLIUM_DRIVERS:ts,} . for _gd in ${OPTIONS_GROUP_GALLIUM} OPTIONS_DEFAULT+= ${_gd} ${_gd}_VARS+= GALLIUM_DRIVERS+=${_gd} . endfor OPTIONS_GROUP_VULKAN= anv radv swrast_vk VULKAN_DESC= Vulkan drivers anv_DESC= Intel GPU Gen9 and newer Vulkan support anv_BUILD_DEPENDS= libclc-${LLVM_PORT:T}>0:devel/libclc@${LLVM_PORT:T} \ spirv-tools>0:graphics/spirv-tools \ spirv-llvm-translator-${LLVM_PORT:T}>0:devel/spirv-llvm-translator@${LLVM_PORT:T} anv_RUN_DEPENDS= spirv-tools>0:graphics/spirv-tools \ spirv-llvm-translator-${LLVM_PORT:T}>0:devel/spirv-llvm-translator@${LLVM_PORT:T} radv_DESC= AMD/ATI Southern Islands and newer Vulkan support swrast_vk_DESC= Software Rasterizer Vulkan support OPTIONS_EXCLUDE+= ${ARCH:Marmv7:C/.+/anv radv/} OPTIONS_EXCLUDE+= ${ARCH:Namd64:Ni386:Nx86_64:C/.+/anv/} MESON_ARGS+= -Dvulkan-drivers=${VULKAN_DRIVERS:ts,} . for _vd in ${OPTIONS_GROUP_VULKAN} OPTIONS_DEFAULT+= ${_vd} ${_vd}_VARS+= VULKAN_DRIVERS+=${_vd:S/anv/intel/:S/radv/amd/:S/swrast_vk/swrast/} . endfor .include .include "${.CURDIR:H:H}/graphics/mesa-dri/Makefile.common" LDFLAGS_i386= -Wl,-znotext .if ${PORT_OPTIONS:MX11} MESA_PLATFORMS+= x11 USE_XORG+= x11 xcb xdamage xext xfixes xorgproto xrandr xshmfence \ xv xxf86vm .else MESON_ARGS+= -Dxlib-lease=disabled .endif .if ${PORT_OPTIONS:MWAYLAND} MESA_PLATFORMS+= wayland .endif MESON_ARGS+= -Dplatforms="${MESA_PLATFORMS:ts,:tl}" # Disable some options MESON_ARGS+= -Dandroid-libbacktrace=disabled \ -Dgles1=enabled \ -Dgles2=enabled \ -Dglvnd=disabled \ -Dglx=disabled \ -Degl=enabled \ -Dlmsensors=disabled \ -Dmicrosoft-clc=disabled \ -Dvalgrind=disabled .if ${ARCH} != amd64 MESON_ARGS+= -Dintel-rt=disabled # https://gitlab.freedesktop.org/mesa/mesa/-/issues/10629 .endif .for _gd in ${OPTIONS_GROUP_GALLIUM} . if defined(GALLIUM_DRIVERS) && ${GALLIUM_DRIVERS:M${_gd}} PLIST_SUB+= ${_gd}="" . else PLIST_SUB+= ${_gd}="@comment " . endif .endfor PLIST_SUB+= ARCH=${ARCH:S/amd/x86_/} .for _vd in ${OPTIONS_GROUP_VULKAN} . if defined(VULKAN_DRIVERS) && ${VULKAN_DRIVERS:M${_vd}} PLIST_SUB+= ${_vd}="" . else PLIST_SUB+= ${_vd}="@comment " . endif .endfor post-install: # Mesa 25: libgallium-${MESAVERSION}.so and the gbm/GL/dri.pc/drirc bits # all belong to graphics/mesa-libs. Strip them from this port's stage tree. ${RM} -r ${STAGEDIR}${PREFIX}/include ${RM} ${STAGEDIR}${PREFIX}/lib/libgallium-${MESAVERSION}.so ${RM} -r ${STAGEDIR}${PREFIX}/lib/gbm ${RM} -r ${STAGEDIR}${PREFIX}/libdata/pkgconfig ${INSTALL_DATA} ${FILESDIR}/01-freebsd.conf \ ${STAGEDIR}${PREFIX}/share/drirc.d .include diff --git a/graphics/mesa-dri/Makefile.common b/graphics/mesa-dri/Makefile.common index d8f956b160d1..e4b0e73d4661 100644 --- a/graphics/mesa-dri/Makefile.common +++ b/graphics/mesa-dri/Makefile.common @@ -1,82 +1,82 @@ # Makefile.common - shared code between MesaLib ports. # # !!! Here be dragons !!! (they seem to be everywhere these days) # # Remember to upgrade the following ports everytime you bump MESAVERSION: # # - graphics/mesa-dri # - graphics/mesa-libs -MESAVERSION= 26.1.5 +MESAVERSION= 26.1.6 MASTER_SITES= https://mesa.freedesktop.org/archive/ DISTFILES= mesa-${MESAVERSION}${EXTRACT_SUFX} MAINTAINER= x11@FreeBSD.org LICENSE= MIT LICENSE_FILE= ${WRKSRC}/docs/license.rst COMPONENT= ${PORTNAME:tl:C/^lib//:C/mesa-//} BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}mako>0:textproc/py-mako@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pyyaml>0:devel/py-pyyaml@${PY_FLAVOR} LIB_DEPENDS+= libdrm.so:graphics/libdrm \ libexpat.so:textproc/expat2 USES+= compiler:c++11-lib bison meson pathfix pkgconfig \ python:build shebangfix tar:xz .if ${PORT_OPTIONS:MX11} USES+= xorg .endif # only have one port to check with portscout. .if ${PORTNAME} != mesa-dri PORTSCOUT= ignore:1 .endif MASTERDIR= ${.CURDIR:H:H}/graphics/mesa-dri PATCHDIR= ${MASTERDIR}/files WRKSRC= ${WRKDIR}/mesa-${MESAVERSION} DESCR= ${.CURDIR}/pkg-descr PLIST= ${.CURDIR}/pkg-plist PKGHELP= ${.CURDIR}/pkg-help PKGINSTALL= ${.CURDIR}/pkg-install PKGDEINSTALL= ${.CURDIR}/pkg-deinstall LTO_UNSAFE= Upstream recommends against LTO https://gitlab.freedesktop.org/mesa/mesa/-/commit/cb571550cc63f6bb22e0212dc681d8a2cd90926c .include BINARY_ALIAS+= python3=${PYTHON_VERSION} CONFIGURE_ENV+= LLVM_CONFIG=${LLVM_CONFIG} # Needed to locate libclc CONFIGURE_ENV+= PKG_CONFIG_PATH="${LLVM_PREFIX}/libdata/pkgconfig" # mesa 25.x removed the -Dlibelf option; libelf is now auto-detected. # If the user has elfutils installed in LOCALBASE, propagate it as a # proper LIB_DEPENDS so the dependency is recorded. .if exists(${LOCALBASE}/include/libelf.h) LIB_DEPENDS+= libelf.so:devel/elfutils .endif # Some symbols in mesa's linker version scripts are not always defined, # depending on configuration options. Suppress errors with lld >= 17 due to # these undefined symbols. LDFLAGS+= -Wl,--undefined-version LDFLAGS+= -Wl,-rpath=${LOCALBASE}/llvm${LLVM_VERSION}/lib MESON_ARGS+= -Dllvm=enabled \ -Dlibunwind=disabled \ -Dgallium-mediafoundation=disabled # Enable all video codecs so RADV/ANV expose the full set of Vulkan Video # decode/encode extensions (H.264, H.265, AV1) and the gallium VA-API path # gets them too. Upstream default is 'all_free', which strips # patent-encumbered codecs. MESON_ARGS+= -Dvideo-codecs=all diff --git a/graphics/mesa-dri/distinfo b/graphics/mesa-dri/distinfo index 11a1db01dd1f..b5c934f8d15d 100644 --- a/graphics/mesa-dri/distinfo +++ b/graphics/mesa-dri/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1784158152 -SHA256 (mesa-26.1.5.tar.xz) = 79e421c7ce18cd9e790b8375920325779f10798630bf30e0b22f1a21c8617122 -SIZE (mesa-26.1.5.tar.xz) = 77723976 +TIMESTAMP = 1785351843 +SHA256 (mesa-26.1.6.tar.xz) = 5296b88a0f1e012e2cb9ada150a2bbadf728ca81e5a4fb2ab43c83a4d2158606 +SIZE (mesa-26.1.6.tar.xz) = 77770828 diff --git a/graphics/mesa-libs/Makefile b/graphics/mesa-libs/Makefile index edc308fbeafc..46c9f86628e5 100644 --- a/graphics/mesa-libs/Makefile +++ b/graphics/mesa-libs/Makefile @@ -1,104 +1,103 @@ PORTNAME= mesa-libs PORTVERSION= ${MESAVERSION} -PORTREVISION= 2 CATEGORIES= graphics COMMENT= OpenGL libraries that support GLX and EGL clients WWW= https://www.mesa3d.org/ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/docs/license.rst USES= llvm:noexport BUILD_DEPENDS= libglvnd>=0:graphics/libglvnd \ ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \ libclc-${LLVM_PORT:T}>0:devel/libclc@${LLVM_PORT:T} \ spirv-tools>0:graphics/spirv-tools \ spirv-llvm-translator-${LLVM_PORT:T}>0:devel/spirv-llvm-translator@${LLVM_PORT:T} \ libva>=0:multimedia/libva LIB_DEPENDS= libdisplay-info.so:sysutils/libdisplay-info RUN_DEPENDS= spirv-tools>0:graphics/spirv-tools \ spirv-llvm-translator-${LLVM_PORT:T}>0:devel/spirv-llvm-translator@${LLVM_PORT:T} OPTIONS_GROUP= PLATFORM OPTIONS_GROUP_PLATFORM= X11 WAYLAND X11_DESC= Enable X11 support for GBM/EGL WAYLAND_DESC= Enable Wayland support for GBM/EGL WAYLAND_BUILD_DEPENDS= wayland-protocols>=1.8:graphics/wayland-protocols WAYLAND_LIB_DEPENDS= libwayland-server.so:graphics/wayland OPTIONS_DEFINE= ZSTD OPTIONS_DEFAULT= WAYLAND X11 ZSTD OPTIONS_SUB= yes ZSTD_DESC= Use ZSTD for shader cache ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd ZSTD_MESON_ENABLED= zstd USE_LDCONFIG= yes .include .include "${.CURDIR:H:H}/graphics/mesa-dri/Makefile.common" LDFLAGS_i386= -Wl,-znotext # mesa-libs is the home of libgallium-${MESAVERSION}.so (the unified gallium # runtime introduced in mesa 25's "megalib" refactor). It must be built with # a real gallium driver set so install_megadrivers actually ships the lib; # the per-driver lib/dri/*_dri.so shims that fall out of this build are # stripped in post-install (they belong to graphics/mesa-dri). GALLIUM_DRIVERS= crocus i915 iris llvmpipe panfrost r300 r600 radeonsi \ svga virgl zink .if ${ARCH} != amd64 && ${ARCH} != i386 && ${ARCH} != x86_64 GALLIUM_DRIVERS:= ${GALLIUM_DRIVERS:Ncrocus:Ni915:Niris:Nsvga} .endif .if ${ARCH} == armv7 # These require llvm to be compiled with the amdgpu backend, which is not default on armv7 GALLIUM_DRIVERS:= ${GALLIUM_DRIVERS:Nr600:Nradeonsi} .endif MESON_ARGS+= -Dgallium-drivers=${GALLIUM_DRIVERS:ts,} MESON_ARGS+= -Dvulkan-drivers="" MESON_ARGS+= -Dandroid-libbacktrace=disabled \ -Dlmsensors=disabled \ -Dmicrosoft-clc=disabled \ -Dtools="" \ -Dvalgrind=disabled .if ${PORT_OPTIONS:MX11} MESA_PLATFORMS+= x11 USE_XORG+= xorgproto x11 xcb xdamage xext \ xfixes xshmfence xxf86vm xrandr PLIST_SUB+= GLX="" .else MESON_ARGS+= -Dglx=disabled -Dxlib-lease=disabled PLIST_SUB+= GLX="@comment " .endif .if ${PORT_OPTIONS:MWAYLAND} MESA_PLATFORMS+= wayland .endif MESON_ARGS+= -Dplatforms="${MESA_PLATFORMS:ts,:tl}" .if ${ARCH} != amd64 MESON_ARGS+= -Dintel-rt=disabled # https://gitlab.freedesktop.org/mesa/mesa/-/issues/10629 .endif .if ${ARCH} == "i386" # PR230239 Fix the build for i386 when WITH_LLD_IS_LD is set LDFLAGS+=-Wl,-z,notext .endif PLIST_SUB+= MESAVERSION=${MESAVERSION} 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 # Strip the per-hardware DRI shims; they are owned by graphics/mesa-dri. ${RM} -rf ${STAGEDIR}${PREFIX}/lib/dri .include