repo/gentoo:master commit in: media-libs/mesa/

"Matt Turner" <[email protected]>
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1786993876.18b88f95d80eb177a79602361a4d6afdf9569616.mattst88@gentoo>
commit:     18b88f95d80eb177a79602361a4d6afdf9569616
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 17 19:01:18 2026 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Mon Aug 17 19:11:16 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18b88f95

media-libs/mesa: Version bump to 26.1.7

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 media-libs/mesa/Manifest           |   1 +
 media-libs/mesa/mesa-26.1.7.ebuild | 430 +++++++++++++++++++++++++++++++++++++
 2 files changed, 431 insertions(+)

diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest
index 6811f50cf2bb..42e2b36bf815 100644
--- a/media-libs/mesa/Manifest
+++ b/media-libs/mesa/Manifest
@@ -2,6 +2,7 @@ DIST mesa-26.0.8.tar.xz 44001316 BLAKE2B 525d35e0c224631bb8a74b31485625de3d0e957
 DIST mesa-26.1.4.tar.xz 77677128 BLAKE2B e7fe5fbb662aea5ef0da73d7450ba693943339ef0731c5e96205e646eb857e674d552398cb44287d573664e471661603600452f427aff1da441d2fed5bd174ec SHA512 39d15574e876005fd1a483d1cb3c801b08297ec73820a89cbf368d0f2a922cc770d0e623e99acc66b71791332cdadc6cc3095f059f713b09128921ff2d0197a8
 DIST mesa-26.1.5.tar.xz 77723976 BLAKE2B 80f874e7f5ab1b6874926e8463a93c0e2c016092f1e5c3375e48178c3ae995ee17988ee07eea28cada5729edc12a5a3cfd7e0338c14f15a2ed029fb1057a09cc SHA512 8b1714e0fe63d3077c0d761245680724537a94db65e17dedb7124c7c861f070a13493a060695e81b2ca9b6889007b52c7b5788dace8fe5d8e2e1ed67efdbbf07
 DIST mesa-26.1.6.tar.xz 77770828 BLAKE2B 1bb16b0982b81518d8a0dcfc9b78c487167b7832e21861d829c055939acca1f5aaf3e51680a1a39680d5ed89cfec233f1beea3261acd171585837f06b1e89937 SHA512 6746b73f5b87e8ff3723eee586b4b5f033dbe6d13cd0309d743b7fa484c350268859ec8ff21aadcbca7a04070cdaa7828146dd28dde4b1935bb879891d687f0b
+DIST mesa-26.1.7.tar.xz 77799016 BLAKE2B 1418efe5171982eca1560891f18a8be8249b00c9305e461fe68f6dc7f02ec8eb093f67f02c602a96c77bbc7434cad8129ecf8def686b2528cda5892340c8d2db SHA512 9acc75c3d6386f90cf761dfa42e72b1c36d399a6905127d18aa3eb84d665502da7c3cebead82fdbca91ad510673ba7e296b5e148602d6db7e79172d6155f3ec5
 DIST paste-1.0.14.crate 18157 BLAKE2B 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c SHA512 3a793f0e5e773a7f7defc798a4c17ae9a40d715144632ea6cb0a8c785e14c4212046491df016bb9838281f8eaf327a79f01c1e2ac5f26785c028bc880faff9ee
 DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
 DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2

diff --git a/media-libs/mesa/mesa-26.1.7.ebuild b/media-libs/mesa/mesa-26.1.7.ebuild
new file mode 100644
index 000000000000..1bb3b389e0c4
--- /dev/null
+++ b/media-libs/mesa/mesa-26.1.7.ebuild
@@ -0,0 +1,430 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {18..22} )
+LLVM_OPTIONAL=1
+CARGO_OPTIONAL=1
+PYTHON_COMPAT=( python3_{12..14} )
+
+inherit flag-o-matic llvm-r2 meson-multilib python-any-r1 linux-info
+
+MY_P="${P/_/-}"
+
+CRATES="
+	[email protected]
+	[email protected]
+	[email protected]
+	[email protected]
+	[email protected]
+	[email protected]
+"
+
+RUST_MIN_VER="1.82.0"
+RUST_MULTILIB=1
+RUST_OPTIONAL=1
+
+inherit cargo
+
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="https://mesa3d.org/"
+
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
+	inherit git-r3
+else
+	SRC_URI="
+		https://archive.mesa3d.org/${MY_P}.tar.xz
+	"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-solaris"
+fi
+
+# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
+# but there are "stale" distfiles on the mirrors with the wrong names.
+# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}"
+SRC_URI+="
+	${CARGO_CRATE_URIS}
+"
+
+S="${WORKDIR}/${MY_P}"
+EGIT_CHECKOUT_DIR=${S}
+
+LICENSE="MIT SGI-B-2.0"
+SLOT="0"
+
+VIDEO_CARDS="
+	asahi d3d12 freedreno i915 imagination intel lavapipe lima nouveau nvk
+	panfrost r300 r600 radeon radeonsi v3d vc4 virgl vivante vmware zink"
+for card in ${VIDEO_CARDS}; do
+	IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+	cpu_flags_x86_sse2 debug +llvm
+	lm-sensors opencl +opengl +proprietary-codecs
+	sysprof test unwind vaapi valgrind vulkan
+	wayland +X +zstd"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+	llvm? ( ${LLVM_REQUIRED_USE} )
+	video_cards_i915? ( llvm )
+	video_cards_lavapipe? ( llvm vulkan )
+	video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
+	video_cards_r300?   ( x86? ( llvm ) amd64? ( llvm ) )
+	video_cards_zink? ( vulkan opengl )
+	video_cards_nvk? ( vulkan video_cards_nouveau )
+"
+
+LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121"
+RDEPEND="
+	${LIBDRM_DEPSTRING}[${MULTILIB_USEDEP}]
+	>=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+	>=dev-util/spirv-tools-1.3.231.0[${MULTILIB_USEDEP}]
+	>=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
+	>=virtual/zlib-1.2.9:=[${MULTILIB_USEDEP}]
+	unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
+	llvm? (
+		$(llvm_gen_dep "
+			llvm-core/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+			opencl? (
+				dev-util/spirv-llvm-translator:\${LLVM_SLOT}
+				llvm-core/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+				=llvm-runtimes/libclc-\${LLVM_SLOT}*[spirv(-)]
+			)
+		")
+		video_cards_r600? (
+			virtual/libelf:0=[${MULTILIB_USEDEP}]
+		)
+		video_cards_radeon? (
+			virtual/libelf:0=[${MULTILIB_USEDEP}]
+		)
+	)
+	lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
+	opencl? (
+		>=virtual/opencl-3
+		llvm-runtimes/libclc[spirv(-)]
+		virtual/libelf:0=
+	)
+	vaapi? (
+		>=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
+	)
+	video_cards_i915? (
+		${LIBDRM_DEPSTRING}[video_cards_intel]
+	)
+	video_cards_radeonsi? (
+		${LIBDRM_DEPSTRING}[video_cards_amdgpu]
+		virtual/libelf:0=[${MULTILIB_USEDEP}]
+	)
+	video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
+	vulkan? (
+		media-libs/libdisplay-info:=[${MULTILIB_USEDEP}]
+		virtual/libudev:=
+	)
+	wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
+	X? (
+		>=x11-libs/libX11-1.8[${MULTILIB_USEDEP}]
+		>=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
+		>=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+		>=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
+		>=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}]
+		x11-libs/libXfixes[${MULTILIB_USEDEP}]
+		x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
+	)
+	zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="${RDEPEND}
+	sysprof? ( >=dev-util/sysprof-capture-49.0[${MULTILIB_USEDEP}] )
+	video_cards_d3d12? ( >=dev-util/directx-headers-1.619.1[${MULTILIB_USEDEP}] )
+	valgrind? ( dev-debug/valgrind )
+	wayland? ( >=dev-libs/wayland-protocols-1.41 )
+	X? (
+		x11-libs/libXrandr[${MULTILIB_USEDEP}]
+		x11-base/xorg-proto
+	)
+"
+
+CLC_DEPSTRING="
+	~dev-util/mesa_clc-${PV}[video_cards_asahi?,video_cards_panfrost?]
+	llvm-runtimes/libclc[spirv(-)]
+"
+BDEPEND="
+	${PYTHON_DEPS}
+	opencl? (
+		>=dev-util/bindgen-0.71.1
+		${RUST_DEPEND}
+	)
+	>=dev-build/meson-1.7.0
+	app-alternatives/yacc
+	app-alternatives/lex
+	virtual/pkgconfig
+	$(python_gen_any_dep "
+		>=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
+		dev-python/packaging[\${PYTHON_USEDEP}]
+		dev-python/pyyaml[\${PYTHON_USEDEP}]
+	")
+	video_cards_asahi? ( ${CLC_DEPSTRING} )
+	video_cards_intel? ( ${CLC_DEPSTRING} )
+	video_cards_panfrost? ( ${CLC_DEPSTRING} )
+	vulkan? (
+		dev-util/glslang
+		video_cards_nvk? (
+			>=dev-util/bindgen-0.71.1
+			>=dev-util/cbindgen-0.26.0
+			${RUST_DEPEND}
+			${CLC_DEPSTRING}
+		)
+	)
+	wayland? ( dev-util/wayland-scanner )
+"
+
+QA_WX_LOAD="
+x86? (
+	usr/lib/libgallium-*.so
+	usr/lib/libGLX_mesa.so.0.0.0
+)"
+
+src_unpack() {
+	if [[ ${PV} == 9999 ]]; then
+		git-r3_src_unpack
+	else
+		unpack ${MY_P}.tar.xz
+	fi
+
+	# We need this because we cannot tell meson to use DISTDIR yet
+	pushd "${DISTDIR}" >/dev/null || die
+	mkdir -p "${S}"/subprojects/packagecache || die
+	local i
+	for i in *.crate; do
+		ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die
+	done
+	popd >/dev/null || die
+}
+
+pkg_pretend() {
+	if use vulkan; then
+		if ! use video_cards_asahi &&
+		   ! use video_cards_d3d12 &&
+		   ! use video_cards_freedreno &&
+		   ! use video_cards_imagination &&
+		   ! use video_cards_intel &&
+		   ! use video_cards_lavapipe &&
+		   ! use video_cards_nouveau &&
+		   ! use video_cards_nvk &&
+		   ! use video_cards_panfrost &&
+		   ! use video_cards_radeonsi &&
+		   ! use video_cards_v3d &&
+		   ! use video_cards_virgl; then
+			ewarn "Ignoring USE=vulkan     since VIDEO_CARDS does not contain asahi, d3d12, freedreno, imagination, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
+		fi
+	fi
+
+	# VA
+	if use vaapi; then
+		if ! use video_cards_d3d12 &&
+		   ! use video_cards_nouveau &&
+		   ! use video_cards_r600 &&
+		   ! use video_cards_radeonsi &&
+		   ! use video_cards_virgl; then
+			ewarn "Ignoring USE=vaapi      since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+		fi
+	fi
+
+	if ! use llvm; then
+		use opencl     && ewarn "Ignoring USE=opencl     since USE does not contain llvm"
+	fi
+}
+
+python_check_deps() {
+	python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" &&
+	python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" &&
+	python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1
+}
+
+pkg_setup() {
+	# warning message for bug 459306
+	if use llvm && has_version llvm-core/llvm[!debug=]; then
+		ewarn "Mismatch between debug USE flags in media-libs/mesa and llvm-core/llvm"
+		ewarn "detected! This can cause problems. For details, see bug 459306."
+	fi
+
+	if use video_cards_intel ||
+	   use video_cards_radeonsi; then
+		if kernel_is -ge 5 11 3; then
+			CONFIG_CHECK="~KCMP"
+		elif kernel_is -ge 5 11; then
+			CONFIG_CHECK="~CHECKPOINT_RESTORE"
+		elif kernel_is -ge 5 10 20; then
+			CONFIG_CHECK="~KCMP"
+		else
+			CONFIG_CHECK="~CHECKPOINT_RESTORE"
+		fi
+		linux-info_pkg_setup
+	fi
+
+	use llvm && llvm-r2_pkg_setup
+	python-any-r1_pkg_setup
+
+	if use opencl || (use vulkan && use video_cards_nvk); then
+		rust_pkg_setup
+	fi
+}
+
+src_prepare() {
+	default
+	sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
+		bin/symbols-check.py || die # bug #830728
+}
+
+multilib_src_configure() {
+	local emesonargs=()
+
+	# bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
+	filter-lto
+
+	local platforms
+	use X && platforms+="x11"
+	use wayland && platforms+=",wayland"
+	emesonargs+=(-Dplatforms=${platforms#,})
+
+	if use video_cards_d3d12 ||
+	   use video_cards_nouveau ||
+	   use video_cards_r600 ||
+	   use video_cards_radeonsi ||
+	   use video_cards_virgl; then
+		emesonargs+=($(meson_feature vaapi gallium-va))
+		use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
+	else
+		emesonargs+=(-Dgallium-va=disabled)
+	fi
+
+	if use video_cards_d3d12; then
+		emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
+	fi
+
+	gallium_enable !llvm softpipe
+	gallium_enable llvm llvmpipe
+	gallium_enable video_cards_asahi asahi
+	gallium_enable video_cards_d3d12 d3d12
+	gallium_enable video_cards_freedreno freedreno
+	gallium_enable video_cards_i915 i915
+	gallium_enable video_cards_intel crocus iris
+	gallium_enable video_cards_lima lima
+	gallium_enable video_cards_nouveau nouveau
+	gallium_enable video_cards_panfrost panfrost
+	gallium_enable video_cards_v3d v3d
+	gallium_enable video_cards_vc4 vc4
+	gallium_enable video_cards_virgl virgl
+	gallium_enable video_cards_vivante etnaviv
+	gallium_enable video_cards_vmware svga
+	gallium_enable video_cards_zink zink
+
+	gallium_enable video_cards_r300 r300
+	gallium_enable video_cards_r600 r600
+	gallium_enable video_cards_radeonsi radeonsi
+	if ! use video_cards_r300 &&
+	   ! use video_cards_r600; then
+		gallium_enable video_cards_radeon r300 r600
+	fi
+
+	if use llvm && use opencl; then
+		PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
+		# See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
+		emesonargs+=(
+			$(meson_native_true gallium-rusticl)
+			-Drust_std=2021
+		)
+	fi
+
+	if use vulkan; then
+		vulkan_enable video_cards_asahi asahi
+		vulkan_enable video_cards_d3d12 microsoft-experimental
+		vulkan_enable video_cards_freedreno freedreno
+		vulkan_enable video_cards_imagination imagination
+		vulkan_enable video_cards_intel intel intel_hasvk
+		vulkan_enable video_cards_lavapipe swrast
+		vulkan_enable video_cards_nvk nouveau
+		vulkan_enable video_cards_panfrost panfrost
+		vulkan_enable video_cards_radeonsi amd
+		vulkan_enable video_cards_v3d broadcom
+		vulkan_enable video_cards_vc4 broadcom
+		vulkan_enable video_cards_virgl virtio
+		emesonargs+=(-Dvulkan-layers=anti-lag,device-select,overlay)
+	fi
+
+	driver_list() {
+		local drivers="$(sort -u <<< "${1// /$'\n'}")"
+		echo "${drivers//$'\n'/,}"
+	}
+
+	if use opengl && use X; then
+		emesonargs+=(-Dglx=dri)
+	else
+		emesonargs+=(-Dglx=disabled)
+	fi
+
+	if [[ "${ABI}" == amd64 ]]; then
+		emesonargs+=($(meson_feature video_cards_intel intel-rt))
+	fi
+
+	if use video_cards_asahi ||
+	   use video_cards_intel ||
+	   use video_cards_nvk ||
+	   use video_cards_panfrost; then
+	   emesonargs+=(-Dmesa-clc=system)
+	fi
+
+	if use video_cards_asahi ||
+	   use video_cards_panfrost; then
+	    emesonargs+=(-Dprecomp-compiler=system)
+	fi
+
+	use debug && EMESON_BUILDTYPE=debug
+
+	emesonargs+=(
+		$(meson_use test build-tests)
+		-Dexpat=enabled
+		$(meson_use opengl)
+		$(meson_feature opengl gbm)
+		$(meson_feature opengl gles1)
+		$(meson_feature opengl gles2)
+		$(meson_feature opengl glvnd)
+		$(meson_feature opengl egl)
+		$(meson_feature llvm)
+		$(meson_feature lm-sensors lmsensors)
+		$(meson_feature unwind libunwind)
+		$(meson_feature vulkan display-info)
+		$(meson_feature zstd)
+		$(meson_use llvm amd-use-llvm)
+		$(meson_use sysprof)
+		$(meson_use cpu_flags_x86_sse2 sse2)
+		-Dvalgrind=$(usex valgrind auto disabled)
+		-Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
+		-Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
+		-Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
+		-Db_ndebug=$(usex debug false true)
+		-Dallow-broken-lto=true
+	)
+	meson_src_configure
+}
+
+multilib_src_test() {
+	meson_src_test -t 100
+}
+
+# $1 - VIDEO_CARDS flag (check skipped for "--")
+# other args - names of DRI drivers to enable
+gallium_enable() {
+	if [[ $1 == -- ]] || use $1; then
+		shift
+		GALLIUM_DRIVERS+=("$@")
+	fi
+}
+
+vulkan_enable() {
+	if [[ $1 == -- ]] || use $1; then
+		shift
+		VULKAN_DRIVERS+=("$@")
+	fi
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.