summaryrefslogtreecommitdiff
path: root/media-libs/mesa
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/mesa')
-rw-r--r--media-libs/mesa/Manifest22
-rw-r--r--media-libs/mesa/files/mesa-23.0.2-wayland-crash-warnings-2.patch49
-rw-r--r--media-libs/mesa/files/mesa-23.0.2-wayland-crash-warnings.patch37
-rw-r--r--media-libs/mesa/files/mesa-23.1.0-intel-Disable-shader-cache-when-executing-intel_clc-.patch30
-rw-r--r--media-libs/mesa/mesa-22.3.7-r1.ebuild456
-rw-r--r--media-libs/mesa/mesa-23.0.3-r1.ebuild462
-rw-r--r--media-libs/mesa/mesa-23.1.0.ebuild449
-rw-r--r--media-libs/mesa/mesa-23.1.1.ebuild447
-rw-r--r--media-libs/mesa/mesa-23.1.2-r1.ebuild449
-rw-r--r--media-libs/mesa/mesa-23.1.2.ebuild447
-rw-r--r--media-libs/mesa/mesa-23.1.4.ebuild450
-rw-r--r--media-libs/mesa/mesa-23.1.5.ebuild450
-rw-r--r--media-libs/mesa/mesa-23.1.6.ebuild (renamed from media-libs/mesa/mesa-23.1.3.ebuild)2
13 files changed, 3 insertions, 3747 deletions
diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest
index 2aa4ea554e2a..3ff25feea53d 100644
--- a/media-libs/mesa/Manifest
+++ b/media-libs/mesa/Manifest
@@ -1,23 +1,5 @@
AUX clang_resource_dir.patch 1129 BLAKE2B 40cf2bc3381d5318c95d3fdadef1bdb6bb57f3b04270e07c0a66613b6432ad617be73d34122be3280d861dde0663fc5c96bb37a9312c2e333e39e69287a9e33a SHA512 493585cf0a93fda04d4577095ae04e1c3dc37aa446ea0873e81857cd2f2c6519bbdf34f0d6e6dd47dd1e927cc776f46901ebab14c7040a92688c3868204b3856
-AUX mesa-23.0.2-wayland-crash-warnings-2.patch 1854 BLAKE2B e0aaa149f3a3c45dc4ea57b28146b19774d386bfd070ad22344596caa8fbba1eaed37ce6938792be448bb1adb1a37fc3c004bdca486592db84aea26dacf4d167 SHA512 762f2917aead5ead4586a0875cb79f56c5a1becc80fa37e15e46bfb432a679f8e31025cca55c1d5068efebb60367eb11223e24c729406a9ce56ba536796acb0d
-AUX mesa-23.0.2-wayland-crash-warnings.patch 1430 BLAKE2B a7c7ef4a34ac9c76c4c5af783510887705a1d6acbc62978b2cc8a021534e215404de3d5828d9c052dccc85808da5b0553f9172fa8edccb40ed7fdc6bc1df35c3 SHA512 98b8a3de99c96474a07615b225b00773c9988a05e25a70cc6586c60762bea8d1a0bbbb47d45e8a38d780951a83abd2c6bbda19180b2457a686625b140b570014
-AUX mesa-23.1.0-intel-Disable-shader-cache-when-executing-intel_clc-.patch 1072 BLAKE2B e8c221f448ae22ce77694478a5c380fdc01837aa0a4cd0aeab9c3b37d4dfe47a0c9c127a7ed2051ee9b8b8c5a05c12a4127bda285e9d35558a10100994389570 SHA512 608f3f1bdfd2cb7be39ebff2843e64245ee75e1cd2d13cf9e767488b5b8bbeb419966881338334f39bece5f853b066405fc9d17d0d7b2c264f030361e4dcd72e
-DIST mesa-22.3.7.tar.xz 17136476 BLAKE2B 291e94302d3a177f842def9339d1ba012bf10de792b7120985255168faac6b87a73d1d59d8b430f56ea2a2640ca0890a5c3721188b70c528b9aad9788d7e139d SHA512 c37bbcb3c0be1908726d6f83bfe98126d681935e401e03946e8b540611f832d2f272a2ac470600c2b77caa5b9a3a9059eb34bd9a93fcf88df114bedf8c39bf5a
-DIST mesa-23.0.3.tar.xz 17627728 BLAKE2B e716d9ddce3da649239c1bc37ec208b9669f316f6b547ca0c69937043f371f0d59ead34fec427297171916045061ddb8783d126f6dec5ece90a0719003fe2c40 SHA512 52c778de61daa406c6a1e96a657e9b6fdcc71c8cfda80b7f53acc6470556c7d502c057b9481bb0c3d57ef0263263413fd0d25d53ebf5aa0246fbcc3309de64ae
-DIST mesa-23.1.0.tar.xz 18204148 BLAKE2B 47cc90da14a2c33bb54c7811e99b439fadef81a15b63e535210a329bad5e2524fcb415cc5ed51a8deb65ccc9a341af78f02178c93758f09946978179e494382c SHA512 bbcfd0dd8e5414826631e80edbbe48218115a7461ef4ac1f2e4e090a48d6c0e1ab3b51dd45e988d5f1572f29bfc03c33769263c0f3e04033138d5b1ec102e8c9
-DIST mesa-23.1.1.tar.xz 18299068 BLAKE2B b17a71205248f2e97c60aa944d8b5b19d51592ba9288d2f04a8498eabaa19308f7ec7a813b948d3fad1001ae14da8771e403c68f7a4159c7f3b8830b919d64dc SHA512 ac5522307d75ff71289a62e2e5827edca70a88e028563ed11907504b9727925186893cd40e5948f1f16c29d8ad9fad39012d7569276e2c75be97aef9c106baf8
-DIST mesa-23.1.2.tar.xz 18333300 BLAKE2B a98dddf9c6cd0f69ec980e1080b53c92513ac03161dfba3355b83da674d6148dbd66c7e0403795eea7c3ce28fb5ff392a96607f34e4caf68a58ac8eb157cf146 SHA512 728e79720d950b0f39fa55c21dff7caed3650e88dff52a2f3e70540a049f1baf78178e62e5d6b1e59c76f6555ab0be3f0043cfbddd4745c0a742ccef2f5774d4
-DIST mesa-23.1.3.tar.xz 18358052 BLAKE2B 99ce2a458c049b60cf13278d5e2e04d9eebefe04d5cbfcba7ff13421724bfd7877ec24086e513d249f1e7b1d537acea90e2ae53d71ef420213a5764ce61d8c4f SHA512 44f0658138ef99dcede5e4c33d5733af836283f05b031b07f3f8b3bc03b301bc7ab9dc15248829cf3dfc423f2da8935b372b25df8b9ef15a511ba16ccd913959
-DIST mesa-23.1.4.tar.xz 18414456 BLAKE2B 9c696766f4f7af9a2d12c6e7663f300e4dbcfc27ee210770151a8be76b3413b51aad1e2a00f4cf38695cf26d5b684e38a65de8a63723597a0ff97f3a9935b1a1 SHA512 4063c7848f507b5e25cfc862394268147254b90c9f3eb19035cce338b0a9cb611b7380c1c73f0e4feeddde68124225df7dee7b9db5f019603dfde2b88ff46a21
-DIST mesa-23.1.5.tar.xz 18438676 BLAKE2B 9919de93df171dd884ef39f52e480e62ef7f4cd55e43b507316af7de39b222ddec12914628d136d40a80f8398f517708a67a64b99858bba3c86686956b7c91bc SHA512 c5eac5a497561374eaf931214aebc9001820c5ab49f9b8c5634b62af081b03b2f21c169c936524b2953c8815eb27dfb5c8c12276b9b1c119722cd6fea0b22d85
-EBUILD mesa-22.3.7-r1.ebuild 12103 BLAKE2B 4004ec48ee0eb522006e67aef1f308f92a3713397ec780d02e6830fdb6e12ab86bd07a768ac18d3f9ca2827a71481b0423e51e246b66465b1529e9da71725f8e SHA512 75288a83a5e8e778a02c3f190d6de5062892cc186634705e87400c9c7518203daeec3b218d955ee3704e3b4872bfe6db5c147b3426555780b540b0c241852741
-EBUILD mesa-23.0.3-r1.ebuild 12250 BLAKE2B 4e6add8f5a8a6758b12f5c72e42e2b7df839ea793f155b6653b9cd6eed82eccca39768cdc8deb6b718627c4df7b0ad1ddcdf54a4db48eaf4c55fbcf570e7168e SHA512 9f4ca64c734a77f175abbc4037cb4291ab9f9d8f329087aa487fc628926bec163fdf43abef43e75cde6f08327e3b8c04c7c24a36150fb2444de9d7fae3e37c0d
-EBUILD mesa-23.1.0.ebuild 12311 BLAKE2B e7e8114c5c59b7c7f7b68f8146a7190017cdaabb04a397143720c8c04bc32142f47a949a7540f0227a1e1fb3802b21d5806bd6d5a76c3ae30fba2811cd4d9a2c SHA512 d2e516f1f7d3a54bee2fa5a6b51f815400be31ce916058c0b8833b8ecbf9dc2fadd39327dd1289c919b4326e40539cb01da8a810139280ee5120e2b5885385e9
-EBUILD mesa-23.1.1.ebuild 12223 BLAKE2B a892145bba1e24fb93abe8b9b26a2dc782299ac26de3886cd533ff0f8d37596a10abe59ecf3547e30bc8482f28369fd877aa2f61414927315bf026d3bfb0509d SHA512 172527e98ac0782d4717381b84c5c4b7dad4a6ce5799c8a6e19ea4bfd6938e68205d2e129eff341e53fb854f523d4e79d3251322ee906a5c8760673b8a9bb03c
-EBUILD mesa-23.1.2-r1.ebuild 12315 BLAKE2B 79244582d2b1e984fc90c96acff7494d92b6ce74724ed97fc75cf6a392e298fbebf2eca8547b94d31cca70f3cf9504fc5ffed1c0f305689621367ae9aac1a7b0 SHA512 377d3879334328b1edf5a8631bc7f26630cb3445fa237d54f6b2996f2cd8cc4e916fb77a690987042e50f67e3077ec0cb8e9106b3d5582a9e765ea8527c7b082
-EBUILD mesa-23.1.2.ebuild 12223 BLAKE2B a892145bba1e24fb93abe8b9b26a2dc782299ac26de3886cd533ff0f8d37596a10abe59ecf3547e30bc8482f28369fd877aa2f61414927315bf026d3bfb0509d SHA512 172527e98ac0782d4717381b84c5c4b7dad4a6ce5799c8a6e19ea4bfd6938e68205d2e129eff341e53fb854f523d4e79d3251322ee906a5c8760673b8a9bb03c
-EBUILD mesa-23.1.3.ebuild 12350 BLAKE2B e577caae66e8b36d51058044be9355346064e461bc6e31ce75588d5a5355d93b054f7e8cdc6d8283fc9b0c57a1b8467dd9814148707452d729d85ca989ad87a8 SHA512 498ce4c74ab57a23cd678c76aaa3af86ca7e3dfb80f856f3360c6a93a4099138fcf6d3087a820b99206655ffdea3627ba80b53f54983874665e65f9f89db0d50
-EBUILD mesa-23.1.4.ebuild 12357 BLAKE2B 14724a7cd60397846f9894bc5ae8e5fd8a893f33f3c81a519f72780cb057c5d9404d26e0ae80d8d525dec66875a506a972896fdf63c6ec3c206946ed2a1b5caf SHA512 6777196d287971891805413eeab6178d0b04b8aedf3558f0cc1a501ab108b3e5baeece5e2d1bb562a1643e3a6def056b42ed5b81653d7117cbf5da55ea0f13b9
-EBUILD mesa-23.1.5.ebuild 12357 BLAKE2B 14724a7cd60397846f9894bc5ae8e5fd8a893f33f3c81a519f72780cb057c5d9404d26e0ae80d8d525dec66875a506a972896fdf63c6ec3c206946ed2a1b5caf SHA512 6777196d287971891805413eeab6178d0b04b8aedf3558f0cc1a501ab108b3e5baeece5e2d1bb562a1643e3a6def056b42ed5b81653d7117cbf5da55ea0f13b9
+DIST mesa-23.1.6.tar.xz 18505124 BLAKE2B 78b71ede0655e538a71d22ecbfb0bed7497c258a16ce5f7d9b627a4c9372f26292a50aec848a4923524e4862b00a6d5d3d2521b05033d9cf39d31f037bdb9254 SHA512 24f1c626fa05a82bcdfb24b67b8e5f96f94d5748309631b83e8d7a62142853cd3be90b92c56bac3bc4d223bf40b424d6d6a9977537b899107295b7d45d7e2575
+EBUILD mesa-23.1.6.ebuild 12351 BLAKE2B 70afd5f35f7c660fdbf55e15feead0f182dc9163169be801ec45b3aa61f05d01433645f12e7ef095d9ff9711c6787de450c377c527492c416e4af21188feea63 SHA512 c57e9160325d66cf4bd6ecdffc1ba956de595c5709d1c523b206c6c4bc2901f64908e13458c6047b5b754316a8bc89b0dbfae7b35a2572716efd90731aee0cbf
EBUILD mesa-9999.ebuild 12203 BLAKE2B ebd0bb59391eb83b468ae66ce63b351b0c1b9792a3afcd4ee00b46dbd5280576ab9dd6feb9e551acd945a4da95db79b6970190e3d5ac43323ca19b720789dfb8 SHA512 bf2e57376270c6743c1b58c286564576c9496a8cc418488ea4831f6b3c8feb87083a439fa1408caf38327dfe01fb204d95a00fc92123d77f701189124c0b2f15
MISC metadata.xml 1488 BLAKE2B 7b776f0a6d92b34baec90c58d019d61af537044766ce34a6e139ef679a0724e57fe65d600307c7f9dc0c48618445527618322e2af737191082dece3e547d5533 SHA512 1d573d534f1099eb1f1912567cf559aeae28111eabefa806b292a66d1f1e539e86394a76ca40a1481a6bfb4b6f7a0b117344e39d7b4d2eac615ef49b8f62acb9
diff --git a/media-libs/mesa/files/mesa-23.0.2-wayland-crash-warnings-2.patch b/media-libs/mesa/files/mesa-23.0.2-wayland-crash-warnings-2.patch
deleted file mode 100644
index 5992583a1fa0..000000000000
--- a/media-libs/mesa/files/mesa-23.0.2-wayland-crash-warnings-2.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-https://bugs.gentoo.org/904072
-https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21647
-
-From 689ce66a4332524b4eb98877de6f75d05dd05c60 Mon Sep 17 00:00:00 2001
-From: Alexandros Frantzis <alexandros.frantzis@collabora.com>
-Date: Thu, 2 Mar 2023 10:10:42 +0200
-Subject: [PATCH] vulkan/wsi/wayland: Fix destruction of event queue with
- proxies still attached.
-
-Destroy the surface dmabuf feedback proxy before destroying the event
-queue that the proxy is attached to.
-
-This silences a warning that libwayland 1.22 emits for programs that use
-Vulkan/Wayland:
-
-warning: queue 0x557a4efbcf70 destroyed while proxies still attached:
- zwp_linux_dmabuf_feedback_v1@18 still attached
-
-Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
-Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21647>
---- a/src/vulkan/wsi/wsi_common_wayland.c
-+++ b/src/vulkan/wsi/wsi_common_wayland.c
-@@ -1157,18 +1157,18 @@ wsi_wl_surface_destroy(VkIcdSurfaceBase *icd_surface, VkInstance _instance,
- struct wsi_wl_surface *wsi_wl_surface =
- wl_container_of((VkIcdSurfaceWayland *)icd_surface, wsi_wl_surface, base);
-
-- if (wsi_wl_surface->surface)
-- wl_proxy_wrapper_destroy(wsi_wl_surface->surface);
--
-- if (wsi_wl_surface->display)
-- wsi_wl_display_destroy(wsi_wl_surface->display);
--
- if (wsi_wl_surface->wl_dmabuf_feedback) {
- zwp_linux_dmabuf_feedback_v1_destroy(wsi_wl_surface->wl_dmabuf_feedback);
- dmabuf_feedback_fini(&wsi_wl_surface->dmabuf_feedback);
- dmabuf_feedback_fini(&wsi_wl_surface->pending_dmabuf_feedback);
- }
-
-+ if (wsi_wl_surface->surface)
-+ wl_proxy_wrapper_destroy(wsi_wl_surface->surface);
-+
-+ if (wsi_wl_surface->display)
-+ wsi_wl_display_destroy(wsi_wl_surface->display);
-+
- vk_free2(&instance->alloc, pAllocator, wsi_wl_surface);
- }
-
---
-GitLab
diff --git a/media-libs/mesa/files/mesa-23.0.2-wayland-crash-warnings.patch b/media-libs/mesa/files/mesa-23.0.2-wayland-crash-warnings.patch
deleted file mode 100644
index 537d070c091e..000000000000
--- a/media-libs/mesa/files/mesa-23.0.2-wayland-crash-warnings.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-https://bugs.gentoo.org/904072
-https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21646
-
-From ee5d2250fd159689aae3f7d632a6226971bea85c Mon Sep 17 00:00:00 2001
-From: Alexandros Frantzis <alexandros.frantzis@collabora.com>
-Date: Thu, 2 Mar 2023 09:35:08 +0200
-Subject: [PATCH] egl/wayland: Fix destruction of event queue with proxies
- still attached.
-
-Destroy the display wrapper proxy before destroying the event queue that
-the proxy is attached to.
-
-This silences a warning that libwayland 1.22 emits for programs that use
-EGL/Wayland:
-
-warning: queue 0x562a5ed2cd20 destroyed while proxies still attached:
- wl_display@1 still attached
-
-Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
-Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21646>
---- a/src/egl/drivers/dri2/platform_wayland.c
-+++ b/src/egl/drivers/dri2/platform_wayland.c
-@@ -2865,10 +2865,10 @@ dri2_teardown_wayland(struct dri2_egl_display *dri2_dpy)
- wl_shm_destroy(dri2_dpy->wl_shm);
- if (dri2_dpy->wl_registry)
- wl_registry_destroy(dri2_dpy->wl_registry);
-- if (dri2_dpy->wl_queue)
-- wl_event_queue_destroy(dri2_dpy->wl_queue);
- if (dri2_dpy->wl_dpy_wrapper)
- wl_proxy_wrapper_destroy(dri2_dpy->wl_dpy_wrapper);
-+ if (dri2_dpy->wl_queue)
-+ wl_event_queue_destroy(dri2_dpy->wl_queue);
-
- if (dri2_dpy->own_device)
- wl_display_disconnect(dri2_dpy->wl_dpy);
---
-GitLab
diff --git a/media-libs/mesa/files/mesa-23.1.0-intel-Disable-shader-cache-when-executing-intel_clc-.patch b/media-libs/mesa/files/mesa-23.1.0-intel-Disable-shader-cache-when-executing-intel_clc-.patch
deleted file mode 100644
index 511dfed9fab5..000000000000
--- a/media-libs/mesa/files/mesa-23.1.0-intel-Disable-shader-cache-when-executing-intel_clc-.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 28efca603bf11f361eb741d23ef181a3b6905f74 Mon Sep 17 00:00:00 2001
-From: Matt Turner <mattst88@gmail.com>
-Date: Thu, 11 May 2023 13:51:25 -0400
-Subject: [PATCH] intel: Disable shader cache when executing intel_clc during
- the build
-
-With the shader cache enabled, intel_clc attempts to write to ~/.cache.
-Many distributions' build systems limit file-system access, and will
-kill the process thus causing the build to fail.
-
-Fixes: 639665053fa ("anv/grl: Build OpenCL kernels")
----
- src/intel/vulkan/grl/meson.build | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/intel/vulkan/grl/meson.build b/src/intel/vulkan/grl/meson.build
-index 3d7567cfc13..c0056b3493d 100644
---- a/src/intel/vulkan/grl/meson.build
-+++ b/src/intel/vulkan/grl/meson.build
-@@ -142,6 +142,7 @@ foreach t : [['125', 'gfx125', 'dg2']]
- # without modifying grl source code, remove
- # if fixed there
- ],
-+ env: ['MESA_SHADER_CACHE_DISABLE=true'],
- depends : [prog_intel_clc]
- )
- endforeach
---
-2.39.3
-
diff --git a/media-libs/mesa/mesa-22.3.7-r1.ebuild b/media-libs/mesa/mesa-22.3.7-r1.ebuild
deleted file mode 100644
index 8a7b2e946b8e..000000000000
--- a/media-libs/mesa/mesa-22.3.7-r1.ebuild
+++ /dev/null
@@ -1,456 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit llvm meson-multilib python-any-r1 linux-info
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.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 ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-RESTRICT="!test? ( test )"
-
-RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lima nouveau panfrost v3d vc4 virgl vivante vmware"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm
- lm-sensors opencl osmesa +proprietary-codecs selinux
- test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa zink +zstd"
-
-REQUIRED_USE="
- d3d9? ( || ( video_cards_intel video_cards_r300 video_cards_r600 video_cards_radeonsi video_cards_nouveau video_cards_vmware ) )
- vulkan? ( video_cards_radeonsi? ( llvm ) )
- vulkan-overlay? ( vulkan )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_radeonsi? ( llvm )
- xa? ( X )
- zink? ( vulkan )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110"
-RDEPEND="
- >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
- >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- llvm? (
- video_cards_radeonsi? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- 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[${MULTILIB_USEDEP}]
- dev-libs/libclc
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- vaapi? (
- >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
- )
- vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
- selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
- wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
- ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
- X? (
- >=x11-libs/libX11-1.6.2[${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.13:=[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- )
- zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-RDEPEND="${RDEPEND}
- video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling one than more slot
-# simultaneously.
-#
-# How to use it:
-# 1. List all the working slots (with min versions) in ||, newest first.
-# 2. Update the := to specify *max* version, e.g. < 10.
-# 3. Specify LLVM_MAX_SLOT, e.g. 9.
-LLVM_MAX_SLOT="16"
-LLVM_DEPSTR="
- || (
- sys-devel/llvm:16[${MULTILIB_USEDEP}]
- sys-devel/llvm:15[${MULTILIB_USEDEP}]
- )
- <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${MULTILIB_USEDEP}]
-"
-LLVM_DEPSTR_AMDGPU=${LLVM_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
-CLANG_DEPSTR=${LLVM_DEPSTR//llvm/clang}
-CLANG_DEPSTR_AMDGPU=${CLANG_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
-RDEPEND="${RDEPEND}
- llvm? (
- opencl? (
- video_cards_r600? (
- ${CLANG_DEPSTR_AMDGPU}
- )
- !video_cards_r600? (
- video_cards_radeonsi? (
- ${CLANG_DEPSTR_AMDGPU}
- )
- )
- !video_cards_r600? (
- !video_cards_radeonsi? (
- video_cards_radeon? (
- ${CLANG_DEPSTR_AMDGPU}
- )
- )
- )
- !video_cards_r600? (
- !video_cards_radeon? (
- !video_cards_radeonsi? (
- ${CLANG_DEPSTR}
- )
- )
- )
- )
- !opencl? (
- video_cards_r600? (
- ${LLVM_DEPSTR_AMDGPU}
- )
- !video_cards_r600? (
- video_cards_radeonsi? (
- ${LLVM_DEPSTR_AMDGPU}
- )
- )
- !video_cards_r600? (
- !video_cards_radeonsi? (
- video_cards_radeon? (
- ${LLVM_DEPSTR_AMDGPU}
- )
- )
- )
- !video_cards_r600? (
- !video_cards_radeon? (
- !video_cards_radeonsi? (
- ${LLVM_DEPSTR}
- )
- )
- )
- )
- )
-"
-unset {LLVM,CLANG}_DEPSTR{,_AMDGPU}
-
-DEPEND="${RDEPEND}
- video_cards_d3d12? ( dev-util/directx-headers[${MULTILIB_USEDEP}] )
- valgrind? ( dev-util/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.24 )
- X? (
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-base/xorg-proto
- )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- opencl? (
- >=sys-devel/gcc-4.6
- )
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
- vulkan? ( dev-util/glslang )
- wayland? ( dev-util/wayland-scanner )
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-QA_WX_LOAD="
-x86? (
- usr/lib*/libglapi.so.0.0.0
- usr/lib*/libGLESv1_CM.so.1.1.0
- usr/lib*/libGLESv2.so.2.0.0
- usr/lib*/libGL.so.1.2.0
- usr/lib*/libOSMesa.so.8.0.0
- usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-llvm_check_deps() {
- local flags=${MULTILIB_USEDEP}
- if use video_cards_r600 || use video_cards_radeon || use video_cards_radeonsi
- then
- flags+=",llvm_targets_AMDGPU(-)"
- fi
-
- if use opencl; then
- has_version "sys-devel/clang:${LLVM_SLOT}[${flags}]" || return 1
- fi
- has_version "sys-devel/llvm:${LLVM_SLOT}[${flags}]"
-}
-
-pkg_pretend() {
- if use vulkan; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_radeonsi &&
- ! use video_cards_v3d; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d"
- fi
- fi
-
- if use opencl; then
- if ! use video_cards_r600 &&
- ! use video_cards_radeonsi; then
- ewarn "Ignoring USE=opencl since VIDEO_CARDS does not contain r600 or radeonsi"
- fi
- fi
-
- if use vaapi; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use vdpau; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r300 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use xa; then
- if ! use video_cards_freedreno &&
- ! use video_cards_nouveau &&
- ! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
- fi
- fi
-
- if ! use llvm; then
- use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
- fi
-
- if use osmesa && ! use llvm; then
- ewarn "OSMesa will be slow without enabling USE=llvm"
- fi
-}
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- # warning message for bug 459306
- if use llvm && has_version sys-devel/llvm[!debug=]; then
- ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/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
-
- if use llvm; then
- llvm_pkg_setup
- fi
- python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
- local emesonargs=()
-
- local platforms
- use X && platforms+="x11"
- use wayland && platforms+=",wayland"
- emesonargs+=(-Dplatforms=${platforms#,})
-
- if use video_cards_intel ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_use d3d9 gallium-nine))
- else
- emesonargs+=(-Dgallium-nine=false)
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; 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
-
- if use video_cards_d3d12 ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; then
- emesonargs+=($(meson_feature vdpau gallium-vdpau))
- else
- emesonargs+=(-Dgallium-vdpau=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_feature xa gallium-xa))
- else
- emesonargs+=(-Dgallium-xa=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_lima ||
- use video_cards_panfrost ||
- use video_cards_v3d ||
- use video_cards_vc4 ||
- use video_cards_vivante; then
- gallium_enable -- kmsro
- fi
-
- gallium_enable -- swrast
- gallium_enable video_cards_freedreno freedreno
- gallium_enable video_cards_intel crocus i915 iris
- gallium_enable video_cards_lima lima
- gallium_enable video_cards_d3d12 d3d12
- 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 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
-
- # opencl stuff
- emesonargs+=(
- -Dgallium-opencl="$(usex opencl icd disabled)"
- )
-
- if use vulkan; then
- vulkan_enable video_cards_freedreno freedreno
- vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_d3d12 microsoft-experimental
- vulkan_enable video_cards_radeonsi amd
- vulkan_enable video_cards_v3d broadcom
- fi
-
- driver_list() {
- local drivers="$(sort -u <<< "${1// /$'\n'}")"
- echo "${drivers//$'\n'/,}"
- }
-
- local vulkan_layers
- use vulkan && vulkan_layers+="device-select"
- use vulkan-overlay && vulkan_layers+=",overlay"
- emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
- emesonargs+=(
- $(meson_use test build-tests)
- -Dglx=$(usex X dri disabled)
- -Dshared-glapi=enabled
- -Ddri3=enabled
- -Degl=enabled
- -Dgbm=enabled
- -Dglvnd=true
- $(meson_feature gles1)
- $(meson_feature gles2)
- $(meson_feature llvm)
- $(meson_feature lm-sensors lmsensors)
- $(meson_use osmesa)
- $(meson_use selinux)
- $(meson_feature unwind libunwind)
- $(meson_feature zstd)
- $(meson_use cpu_flags_x86_sse2 sse2)
- -Dvalgrind=$(usex valgrind auto disabled)
- -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "")
- -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
- -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
- --buildtype $(usex debug debug plain)
- -Db_ndebug=$(usex debug false 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
-}
diff --git a/media-libs/mesa/mesa-23.0.3-r1.ebuild b/media-libs/mesa/mesa-23.0.3-r1.ebuild
deleted file mode 100644
index 738282587631..000000000000
--- a/media-libs/mesa/mesa-23.0.3-r1.ebuild
+++ /dev/null
@@ -1,462 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit llvm meson-multilib python-any-r1 linux-info
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.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 ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-RESTRICT="!test? ( test )"
-
-RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lima nouveau panfrost v3d vc4 virgl vivante vmware"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm
- lm-sensors opencl osmesa +proprietary-codecs selinux
- test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa zink +zstd"
-
-REQUIRED_USE="
- d3d9? ( || ( video_cards_intel video_cards_r300 video_cards_r600 video_cards_radeonsi video_cards_nouveau video_cards_vmware ) )
- vulkan? ( video_cards_radeonsi? ( llvm ) )
- vulkan-overlay? ( vulkan )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_radeonsi? ( llvm )
- vdpau? ( X )
- xa? ( X )
- zink? ( vulkan )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110"
-RDEPEND="
- >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
- >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- llvm? (
- video_cards_radeonsi? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- 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[${MULTILIB_USEDEP}]
- dev-libs/libclc
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- vaapi? (
- >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
- )
- vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
- selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
- wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
- ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
- X? (
- >=x11-libs/libX11-1.6.2[${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.13:=[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- )
- zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-RDEPEND="${RDEPEND}
- video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling one than more slot
-# simultaneously.
-#
-# How to use it:
-# 1. List all the working slots (with min versions) in ||, newest first.
-# 2. Update the := to specify *max* version, e.g. < 10.
-# 3. Specify LLVM_MAX_SLOT, e.g. 9.
-LLVM_MAX_SLOT="16"
-LLVM_DEPSTR="
- || (
- sys-devel/llvm:16[${MULTILIB_USEDEP}]
- sys-devel/llvm:15[${MULTILIB_USEDEP}]
- )
- <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${MULTILIB_USEDEP}]
-"
-LLVM_DEPSTR_AMDGPU=${LLVM_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
-CLANG_DEPSTR=${LLVM_DEPSTR//llvm/clang}
-CLANG_DEPSTR_AMDGPU=${CLANG_DEPSTR//]/,llvm_targets_AMDGPU(-)]}
-RDEPEND="${RDEPEND}
- llvm? (
- opencl? (
- video_cards_r600? (
- ${CLANG_DEPSTR_AMDGPU}
- )
- !video_cards_r600? (
- video_cards_radeonsi? (
- ${CLANG_DEPSTR_AMDGPU}
- )
- )
- !video_cards_r600? (
- !video_cards_radeonsi? (
- video_cards_radeon? (
- ${CLANG_DEPSTR_AMDGPU}
- )
- )
- )
- !video_cards_r600? (
- !video_cards_radeon? (
- !video_cards_radeonsi? (
- ${CLANG_DEPSTR}
- )
- )
- )
- )
- !opencl? (
- video_cards_r600? (
- ${LLVM_DEPSTR_AMDGPU}
- )
- !video_cards_r600? (
- video_cards_radeonsi? (
- ${LLVM_DEPSTR_AMDGPU}
- )
- )
- !video_cards_r600? (
- !video_cards_radeonsi? (
- video_cards_radeon? (
- ${LLVM_DEPSTR_AMDGPU}
- )
- )
- )
- !video_cards_r600? (
- !video_cards_radeon? (
- !video_cards_radeonsi? (
- ${LLVM_DEPSTR}
- )
- )
- )
- )
- )
-"
-unset {LLVM,CLANG}_DEPSTR{,_AMDGPU}
-
-DEPEND="${RDEPEND}
- video_cards_d3d12? ( dev-util/directx-headers[${MULTILIB_USEDEP}] )
- valgrind? ( dev-util/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.24 )
- X? (
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-base/xorg-proto
- )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- opencl? (
- >=sys-devel/gcc-4.6
- )
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
- vulkan? ( dev-util/glslang )
- wayland? ( dev-util/wayland-scanner )
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-QA_WX_LOAD="
-x86? (
- usr/lib*/libglapi.so.0.0.0
- usr/lib*/libGLESv1_CM.so.1.1.0
- usr/lib*/libGLESv2.so.2.0.0
- usr/lib*/libGL.so.1.2.0
- usr/lib*/libOSMesa.so.8.0.0
- usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-23.0.2-wayland-crash-warnings.patch
- "${FILESDIR}"/${PN}-23.0.2-wayland-crash-warnings-2.patch
-)
-
-llvm_check_deps() {
- local flags=${MULTILIB_USEDEP}
- if use video_cards_r600 || use video_cards_radeon || use video_cards_radeonsi
- then
- flags+=",llvm_targets_AMDGPU(-)"
- fi
-
- if use opencl; then
- has_version "sys-devel/clang:${LLVM_SLOT}[${flags}]" || return 1
- fi
- has_version "sys-devel/llvm:${LLVM_SLOT}[${flags}]"
-}
-
-pkg_pretend() {
- if use vulkan; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_radeonsi &&
- ! use video_cards_v3d; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d"
- fi
- fi
-
- if use opencl; then
- if ! use video_cards_r600 &&
- ! use video_cards_radeonsi; then
- ewarn "Ignoring USE=opencl since VIDEO_CARDS does not contain r600 or radeonsi"
- fi
- fi
-
- if use vaapi; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use vdpau; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r300 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use xa; then
- if ! use video_cards_freedreno &&
- ! use video_cards_nouveau &&
- ! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
- fi
- fi
-
- if ! use llvm; then
- use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
- fi
-
- if use osmesa && ! use llvm; then
- ewarn "OSMesa will be slow without enabling USE=llvm"
- fi
-}
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- # warning message for bug 459306
- if use llvm && has_version sys-devel/llvm[!debug=]; then
- ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/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
-
- if use llvm; then
- llvm_pkg_setup
- fi
- python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
- local emesonargs=()
-
- local platforms
- use X && platforms+="x11"
- use wayland && platforms+=",wayland"
- emesonargs+=(-Dplatforms=${platforms#,})
-
- if use video_cards_intel ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_use d3d9 gallium-nine))
- else
- emesonargs+=(-Dgallium-nine=false)
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; 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
-
- if use video_cards_d3d12 ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; then
- emesonargs+=($(meson_feature vdpau gallium-vdpau))
- else
- emesonargs+=(-Dgallium-vdpau=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_feature xa gallium-xa))
- else
- emesonargs+=(-Dgallium-xa=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_lima ||
- use video_cards_panfrost ||
- use video_cards_v3d ||
- use video_cards_vc4 ||
- use video_cards_vivante; then
- gallium_enable -- kmsro
- fi
-
- gallium_enable -- swrast
- gallium_enable video_cards_freedreno freedreno
- gallium_enable video_cards_intel crocus i915 iris
- gallium_enable video_cards_lima lima
- gallium_enable video_cards_d3d12 d3d12
- 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 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
-
- # opencl stuff
- emesonargs+=(
- -Dgallium-opencl="$(usex opencl icd disabled)"
- )
-
- if use vulkan; then
- vulkan_enable video_cards_freedreno freedreno
- vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_d3d12 microsoft-experimental
- vulkan_enable video_cards_radeonsi amd
- vulkan_enable video_cards_v3d broadcom
- fi
-
- driver_list() {
- local drivers="$(sort -u <<< "${1// /$'\n'}")"
- echo "${drivers//$'\n'/,}"
- }
-
- local vulkan_layers
- use vulkan && vulkan_layers+="device-select"
- use vulkan-overlay && vulkan_layers+=",overlay"
- emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
- emesonargs+=(
- $(meson_use test build-tests)
- -Dglx=$(usex X dri disabled)
- -Dshared-glapi=enabled
- -Ddri3=enabled
- -Degl=enabled
- -Dgbm=enabled
- -Dglvnd=true
- $(meson_feature gles1)
- $(meson_feature gles2)
- $(meson_feature llvm)
- $(meson_feature lm-sensors lmsensors)
- $(meson_use osmesa)
- $(meson_use selinux)
- $(meson_feature unwind libunwind)
- $(meson_feature zstd)
- $(meson_use cpu_flags_x86_sse2 sse2)
- -Dvalgrind=$(usex valgrind auto disabled)
- -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "")
- -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
- -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
- --buildtype $(usex debug debug plain)
- -Db_ndebug=$(usex debug false 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
-}
diff --git a/media-libs/mesa/mesa-23.1.0.ebuild b/media-libs/mesa/mesa-23.1.0.ebuild
deleted file mode 100644
index 514e313ab820..000000000000
--- a/media-libs/mesa/mesa-23.1.0.ebuild
+++ /dev/null
@@ -1,449 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit llvm meson-multilib python-any-r1 linux-info
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.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 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-RESTRICT="!test? ( test )"
-
-RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lima nouveau panfrost v3d vc4 virgl vivante vmware"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm
- lm-sensors opencl osmesa +proprietary-codecs selinux
- test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa zink +zstd"
-
-REQUIRED_USE="
- d3d9? (
- || (
- video_cards_intel
- video_cards_r300
- video_cards_r600
- video_cards_radeonsi
- video_cards_nouveau
- video_cards_vmware
- )
- )
- vulkan? ( video_cards_radeonsi? ( llvm ) )
- vulkan-overlay? ( vulkan )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_radeonsi? ( llvm )
- vdpau? ( X )
- xa? ( X )
- zink? ( vulkan )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110"
-RDEPEND="
- >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
- >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- llvm? (
- video_cards_radeonsi? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- 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
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- virtual/libelf:0=
- )
- vaapi? (
- >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
- )
- vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
- vulkan? (
- video_cards_intel? (
- amd64? (
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- )
- )
- )
- selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
- wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
- ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
- X? (
- >=x11-libs/libX11-1.6.2[${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.13:=[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- )
- zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-RDEPEND="${RDEPEND}
- video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling one than more slot
-# simultaneously.
-#
-# How to use it:
-# 1. Specify LLVM_MAX_SLOT (inclusive), e.g. 16.
-# 2. Specify LLVM_MIN_SLOT (inclusive), e.g. 15.
-LLVM_MAX_SLOT="16"
-LLVM_MIN_SLOT="15"
-LLVM_USE_DEPS="llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}"
-PER_SLOT_DEPSTR="
- (
- !opencl? ( sys-devel/llvm:@SLOT@[${LLVM_USE_DEPS}] )
- opencl? ( sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] )
- opencl? ( dev-util/spirv-llvm-translator:@SLOT@ )
- vulkan? ( video_cards_intel? ( dev-util/spirv-llvm-translator:@SLOT@ ) )
- )
-"
-LLVM_DEPSTR="
- || (
- $(for ((slot=LLVM_MAX_SLOT; slot>=LLVM_MIN_SLOT; slot--)); do
- echo "${PER_SLOT_DEPSTR//@SLOT@/${slot}}"
- done)
- )
- !opencl? ( <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] )
- opencl? ( <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] )
-"
-RDEPEND="${RDEPEND}
- llvm? ( ${LLVM_DEPSTR} )
-"
-unset LLVM_MIN_SLOT {LLVM,PER_SLOT}_DEPSTR
-
-DEPEND="${RDEPEND}
- video_cards_d3d12? ( dev-util/directx-headers[${MULTILIB_USEDEP}] )
- valgrind? ( dev-util/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.24 )
- X? (
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-base/xorg-proto
- )
-"
-BDEPEND="
- >=dev-util/meson-1.0.0
- ${PYTHON_DEPS}
- opencl? (
- >=virtual/rust-1.62.0
- >=dev-util/bindgen-0.58.0
- )
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
- vulkan? (
- dev-util/glslang
- video_cards_intel? (
- amd64? (
- $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
- )
- )
- )
- wayland? ( dev-util/wayland-scanner )
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-QA_WX_LOAD="
-x86? (
- usr/lib/libglapi.so.0.0.0
- usr/lib/libOSMesa.so.8.0.0
- usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-llvm_check_deps() {
- if use opencl; then
- has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" || return 1
- fi
- if use opencl || { use vulkan && use video_cards_intel; }; then
- has_version "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || return 1
- fi
- has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]"
-}
-
-PATCHES=(
- # Temporary rusticl workaround: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7717#note_1832122
- "${FILESDIR}/clang_resource_dir.patch"
-
- "${FILESDIR}"/${PN}-23.1.0-intel-Disable-shader-cache-when-executing-intel_clc-.patch
-)
-
-pkg_pretend() {
- if use vulkan; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_radeonsi &&
- ! use video_cards_v3d; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d"
- fi
- fi
-
- if use vaapi; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use vdpau; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r300 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use xa; then
- if ! use video_cards_freedreno &&
- ! use video_cards_nouveau &&
- ! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
- fi
- fi
-
- if ! use llvm; then
- use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
- fi
-
- if use osmesa && ! use llvm; then
- ewarn "OSMesa will be slow without enabling USE=llvm"
- fi
-}
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || return 1
- if use vulkan && use video_cards_intel && use amd64; then
- python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
- fi
-}
-
-pkg_setup() {
- # warning message for bug 459306
- if use llvm && has_version sys-devel/llvm[!debug=]; then
- ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/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
-
- if use llvm; then
- llvm_pkg_setup
- fi
- python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
- local emesonargs=()
-
- local platforms
- use X && platforms+="x11"
- use wayland && platforms+=",wayland"
- emesonargs+=(-Dplatforms=${platforms#,})
-
- if use video_cards_intel ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_use d3d9 gallium-nine))
- else
- emesonargs+=(-Dgallium-nine=false)
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; 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
-
- if use video_cards_d3d12 ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; then
- emesonargs+=($(meson_feature vdpau gallium-vdpau))
- else
- emesonargs+=(-Dgallium-vdpau=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_feature xa gallium-xa))
- else
- emesonargs+=(-Dgallium-xa=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_lima ||
- use video_cards_panfrost ||
- use video_cards_v3d ||
- use video_cards_vc4 ||
- use video_cards_vivante; then
- gallium_enable -- kmsro
- fi
-
- gallium_enable -- swrast
- gallium_enable video_cards_freedreno freedreno
- gallium_enable video_cards_intel crocus i915 iris
- gallium_enable video_cards_lima lima
- gallium_enable video_cards_d3d12 d3d12
- 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 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_freedreno freedreno
- vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_d3d12 microsoft-experimental
- vulkan_enable video_cards_radeonsi amd
- vulkan_enable video_cards_v3d broadcom
- fi
-
- driver_list() {
- local drivers="$(sort -u <<< "${1// /$'\n'}")"
- echo "${drivers//$'\n'/,}"
- }
-
- local vulkan_layers
- use vulkan && vulkan_layers+="device-select"
- use vulkan-overlay && vulkan_layers+=",overlay"
- emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
- if use vulkan && use video_cards_intel; then
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
- emesonargs+=($(meson_feature llvm intel-clc))
- fi
-
- emesonargs+=(
- $(meson_use test build-tests)
- -Dglx=$(usex X dri disabled)
- -Dshared-glapi=enabled
- -Ddri3=enabled
- -Degl=enabled
- -Dgbm=enabled
- -Dglvnd=true
- $(meson_feature gles1)
- $(meson_feature gles2)
- $(meson_feature llvm)
- $(meson_feature lm-sensors lmsensors)
- $(meson_use osmesa)
- $(meson_use selinux)
- $(meson_feature unwind libunwind)
- $(meson_feature zstd)
- $(meson_use cpu_flags_x86_sse2 sse2)
- -Dvalgrind=$(usex valgrind auto disabled)
- -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "")
- -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
- -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
- --buildtype $(usex debug debug plain)
- -Db_ndebug=$(usex debug false 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
-}
diff --git a/media-libs/mesa/mesa-23.1.1.ebuild b/media-libs/mesa/mesa-23.1.1.ebuild
deleted file mode 100644
index f92b393b0f53..000000000000
--- a/media-libs/mesa/mesa-23.1.1.ebuild
+++ /dev/null
@@ -1,447 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..12} )
-
-inherit llvm meson-multilib python-any-r1 linux-info
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.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 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-RESTRICT="!test? ( test )"
-
-RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lima nouveau panfrost v3d vc4 virgl vivante vmware"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm
- lm-sensors opencl osmesa +proprietary-codecs selinux
- test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa zink +zstd"
-
-REQUIRED_USE="
- d3d9? (
- || (
- video_cards_intel
- video_cards_r300
- video_cards_r600
- video_cards_radeonsi
- video_cards_nouveau
- video_cards_vmware
- )
- )
- vulkan? ( video_cards_radeonsi? ( llvm ) )
- vulkan-overlay? ( vulkan )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_radeonsi? ( llvm )
- vdpau? ( X )
- xa? ( X )
- zink? ( vulkan )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110"
-RDEPEND="
- >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
- >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- llvm? (
- video_cards_radeonsi? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- 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
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- virtual/libelf:0=
- )
- vaapi? (
- >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
- )
- vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
- vulkan? (
- video_cards_intel? (
- amd64? (
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- )
- )
- )
- selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
- wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
- ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
- X? (
- >=x11-libs/libX11-1.6.2[${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.13:=[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- )
- zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-RDEPEND="${RDEPEND}
- video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling one than more slot
-# simultaneously.
-#
-# How to use it:
-# 1. Specify LLVM_MAX_SLOT (inclusive), e.g. 16.
-# 2. Specify LLVM_MIN_SLOT (inclusive), e.g. 15.
-LLVM_MAX_SLOT="16"
-LLVM_MIN_SLOT="15"
-LLVM_USE_DEPS="llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}"
-PER_SLOT_DEPSTR="
- (
- !opencl? ( sys-devel/llvm:@SLOT@[${LLVM_USE_DEPS}] )
- opencl? ( sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] )
- opencl? ( dev-util/spirv-llvm-translator:@SLOT@ )
- vulkan? ( video_cards_intel? ( dev-util/spirv-llvm-translator:@SLOT@ ) )
- )
-"
-LLVM_DEPSTR="
- || (
- $(for ((slot=LLVM_MAX_SLOT; slot>=LLVM_MIN_SLOT; slot--)); do
- echo "${PER_SLOT_DEPSTR//@SLOT@/${slot}}"
- done)
- )
- !opencl? ( <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] )
- opencl? ( <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] )
-"
-RDEPEND="${RDEPEND}
- llvm? ( ${LLVM_DEPSTR} )
-"
-unset LLVM_MIN_SLOT {LLVM,PER_SLOT}_DEPSTR
-
-DEPEND="${RDEPEND}
- video_cards_d3d12? ( dev-util/directx-headers[${MULTILIB_USEDEP}] )
- valgrind? ( dev-util/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.24 )
- X? (
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-base/xorg-proto
- )
-"
-BDEPEND="
- >=dev-util/meson-1.0.0
- ${PYTHON_DEPS}
- opencl? (
- >=virtual/rust-1.62.0
- >=dev-util/bindgen-0.58.0
- )
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
- vulkan? (
- dev-util/glslang
- video_cards_intel? (
- amd64? (
- $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
- )
- )
- )
- wayland? ( dev-util/wayland-scanner )
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-QA_WX_LOAD="
-x86? (
- usr/lib/libglapi.so.0.0.0
- usr/lib/libOSMesa.so.8.0.0
- usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-llvm_check_deps() {
- if use opencl; then
- has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" || return 1
- fi
- if use opencl || { use vulkan && use video_cards_intel; }; then
- has_version "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || return 1
- fi
- has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]"
-}
-
-PATCHES=(
- # Temporary rusticl workaround: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7717#note_1832122
- "${FILESDIR}/clang_resource_dir.patch"
-)
-
-pkg_pretend() {
- if use vulkan; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_radeonsi &&
- ! use video_cards_v3d; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d"
- fi
- fi
-
- if use vaapi; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use vdpau; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r300 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use xa; then
- if ! use video_cards_freedreno &&
- ! use video_cards_nouveau &&
- ! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
- fi
- fi
-
- if ! use llvm; then
- use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
- fi
-
- if use osmesa && ! use llvm; then
- ewarn "OSMesa will be slow without enabling USE=llvm"
- fi
-}
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || return 1
- if use vulkan && use video_cards_intel && use amd64; then
- python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
- fi
-}
-
-pkg_setup() {
- # warning message for bug 459306
- if use llvm && has_version sys-devel/llvm[!debug=]; then
- ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/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
-
- if use llvm; then
- llvm_pkg_setup
- fi
- python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
- local emesonargs=()
-
- local platforms
- use X && platforms+="x11"
- use wayland && platforms+=",wayland"
- emesonargs+=(-Dplatforms=${platforms#,})
-
- if use video_cards_intel ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_use d3d9 gallium-nine))
- else
- emesonargs+=(-Dgallium-nine=false)
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; 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
-
- if use video_cards_d3d12 ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; then
- emesonargs+=($(meson_feature vdpau gallium-vdpau))
- else
- emesonargs+=(-Dgallium-vdpau=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_feature xa gallium-xa))
- else
- emesonargs+=(-Dgallium-xa=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_lima ||
- use video_cards_panfrost ||
- use video_cards_v3d ||
- use video_cards_vc4 ||
- use video_cards_vivante; then
- gallium_enable -- kmsro
- fi
-
- gallium_enable -- swrast
- gallium_enable video_cards_freedreno freedreno
- gallium_enable video_cards_intel crocus i915 iris
- gallium_enable video_cards_lima lima
- gallium_enable video_cards_d3d12 d3d12
- 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 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_freedreno freedreno
- vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_d3d12 microsoft-experimental
- vulkan_enable video_cards_radeonsi amd
- vulkan_enable video_cards_v3d broadcom
- fi
-
- driver_list() {
- local drivers="$(sort -u <<< "${1// /$'\n'}")"
- echo "${drivers//$'\n'/,}"
- }
-
- local vulkan_layers
- use vulkan && vulkan_layers+="device-select"
- use vulkan-overlay && vulkan_layers+=",overlay"
- emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
- if use vulkan && use video_cards_intel; then
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
- emesonargs+=($(meson_feature llvm intel-clc))
- fi
-
- emesonargs+=(
- $(meson_use test build-tests)
- -Dglx=$(usex X dri disabled)
- -Dshared-glapi=enabled
- -Ddri3=enabled
- -Degl=enabled
- -Dgbm=enabled
- -Dglvnd=true
- $(meson_feature gles1)
- $(meson_feature gles2)
- $(meson_feature llvm)
- $(meson_feature lm-sensors lmsensors)
- $(meson_use osmesa)
- $(meson_use selinux)
- $(meson_feature unwind libunwind)
- $(meson_feature zstd)
- $(meson_use cpu_flags_x86_sse2 sse2)
- -Dvalgrind=$(usex valgrind auto disabled)
- -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "")
- -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
- -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
- --buildtype $(usex debug debug plain)
- -Db_ndebug=$(usex debug false 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
-}
diff --git a/media-libs/mesa/mesa-23.1.2-r1.ebuild b/media-libs/mesa/mesa-23.1.2-r1.ebuild
deleted file mode 100644
index 0b34a1fa96ec..000000000000
--- a/media-libs/mesa/mesa-23.1.2-r1.ebuild
+++ /dev/null
@@ -1,449 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..12} )
-
-inherit llvm meson-multilib python-any-r1 linux-info
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.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 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-RESTRICT="!test? ( test )"
-
-RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau panfrost v3d vc4 virgl vivante vmware"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm
- lm-sensors opencl osmesa +proprietary-codecs selinux
- test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa zink +zstd"
-
-REQUIRED_USE="
- d3d9? (
- || (
- video_cards_intel
- video_cards_r300
- video_cards_r600
- video_cards_radeonsi
- video_cards_nouveau
- video_cards_vmware
- )
- )
- vulkan? ( video_cards_radeonsi? ( llvm ) )
- vulkan-overlay? ( vulkan )
- video_cards_lavapipe? ( llvm vulkan )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_radeonsi? ( llvm )
- vdpau? ( X )
- xa? ( X )
- zink? ( vulkan )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110"
-RDEPEND="
- >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
- >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- llvm? (
- video_cards_radeonsi? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- 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
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- virtual/libelf:0=
- )
- vaapi? (
- >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
- )
- vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
- vulkan? (
- video_cards_intel? (
- amd64? (
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- )
- )
- )
- selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
- wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
- ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
- X? (
- >=x11-libs/libX11-1.6.2[${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.13:=[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- )
- zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-RDEPEND="${RDEPEND}
- video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling one than more slot
-# simultaneously.
-#
-# How to use it:
-# 1. Specify LLVM_MAX_SLOT (inclusive), e.g. 16.
-# 2. Specify LLVM_MIN_SLOT (inclusive), e.g. 15.
-LLVM_MAX_SLOT="16"
-LLVM_MIN_SLOT="15"
-LLVM_USE_DEPS="llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}"
-PER_SLOT_DEPSTR="
- (
- !opencl? ( sys-devel/llvm:@SLOT@[${LLVM_USE_DEPS}] )
- opencl? ( sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] )
- opencl? ( dev-util/spirv-llvm-translator:@SLOT@ )
- vulkan? ( video_cards_intel? ( dev-util/spirv-llvm-translator:@SLOT@ ) )
- )
-"
-LLVM_DEPSTR="
- || (
- $(for ((slot=LLVM_MAX_SLOT; slot>=LLVM_MIN_SLOT; slot--)); do
- echo "${PER_SLOT_DEPSTR//@SLOT@/${slot}}"
- done)
- )
- !opencl? ( <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] )
- opencl? ( <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] )
-"
-RDEPEND="${RDEPEND}
- llvm? ( ${LLVM_DEPSTR} )
-"
-unset LLVM_MIN_SLOT {LLVM,PER_SLOT}_DEPSTR
-
-DEPEND="${RDEPEND}
- video_cards_d3d12? ( dev-util/directx-headers[${MULTILIB_USEDEP}] )
- valgrind? ( dev-util/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.24 )
- X? (
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-base/xorg-proto
- )
-"
-BDEPEND="
- >=dev-util/meson-1.0.0
- ${PYTHON_DEPS}
- opencl? (
- >=virtual/rust-1.62.0
- >=dev-util/bindgen-0.58.0
- )
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
- vulkan? (
- dev-util/glslang
- video_cards_intel? (
- amd64? (
- $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
- )
- )
- )
- wayland? ( dev-util/wayland-scanner )
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-QA_WX_LOAD="
-x86? (
- usr/lib/libglapi.so.0.0.0
- usr/lib/libOSMesa.so.8.0.0
- usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-llvm_check_deps() {
- if use opencl; then
- has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" || return 1
- fi
- if use opencl || { use vulkan && use video_cards_intel; }; then
- has_version "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || return 1
- fi
- has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]"
-}
-
-PATCHES=(
- # Temporary rusticl workaround: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7717#note_1832122
- "${FILESDIR}/clang_resource_dir.patch"
-)
-
-pkg_pretend() {
- if use vulkan; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_radeonsi &&
- ! use video_cards_v3d; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d"
- fi
- fi
-
- if use vaapi; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use vdpau; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r300 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use xa; then
- if ! use video_cards_freedreno &&
- ! use video_cards_nouveau &&
- ! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
- fi
- fi
-
- if ! use llvm; then
- use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
- fi
-
- if use osmesa && ! use llvm; then
- ewarn "OSMesa will be slow without enabling USE=llvm"
- fi
-}
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || return 1
- if use vulkan && use video_cards_intel && use amd64; then
- python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
- fi
-}
-
-pkg_setup() {
- # warning message for bug 459306
- if use llvm && has_version sys-devel/llvm[!debug=]; then
- ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/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
-
- if use llvm; then
- llvm_pkg_setup
- fi
- python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
- local emesonargs=()
-
- local platforms
- use X && platforms+="x11"
- use wayland && platforms+=",wayland"
- emesonargs+=(-Dplatforms=${platforms#,})
-
- if use video_cards_intel ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_use d3d9 gallium-nine))
- else
- emesonargs+=(-Dgallium-nine=false)
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; 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
-
- if use video_cards_d3d12 ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; then
- emesonargs+=($(meson_feature vdpau gallium-vdpau))
- else
- emesonargs+=(-Dgallium-vdpau=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_feature xa gallium-xa))
- else
- emesonargs+=(-Dgallium-xa=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_lima ||
- use video_cards_panfrost ||
- use video_cards_v3d ||
- use video_cards_vc4 ||
- use video_cards_vivante; then
- gallium_enable -- kmsro
- fi
-
- gallium_enable -- swrast
- gallium_enable video_cards_freedreno freedreno
- gallium_enable video_cards_intel crocus i915 iris
- gallium_enable video_cards_lima lima
- gallium_enable video_cards_d3d12 d3d12
- 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 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_lavapipe swrast
- vulkan_enable video_cards_freedreno freedreno
- vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_d3d12 microsoft-experimental
- vulkan_enable video_cards_radeonsi amd
- vulkan_enable video_cards_v3d broadcom
- fi
-
- driver_list() {
- local drivers="$(sort -u <<< "${1// /$'\n'}")"
- echo "${drivers//$'\n'/,}"
- }
-
- local vulkan_layers
- use vulkan && vulkan_layers+="device-select"
- use vulkan-overlay && vulkan_layers+=",overlay"
- emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
- if use vulkan && use video_cards_intel; then
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
- emesonargs+=($(meson_feature llvm intel-clc))
- fi
-
- emesonargs+=(
- $(meson_use test build-tests)
- -Dglx=$(usex X dri disabled)
- -Dshared-glapi=enabled
- -Ddri3=enabled
- -Degl=enabled
- -Dgbm=enabled
- -Dglvnd=true
- $(meson_feature gles1)
- $(meson_feature gles2)
- $(meson_feature llvm)
- $(meson_feature lm-sensors lmsensors)
- $(meson_use osmesa)
- $(meson_use selinux)
- $(meson_feature unwind libunwind)
- $(meson_feature zstd)
- $(meson_use cpu_flags_x86_sse2 sse2)
- -Dvalgrind=$(usex valgrind auto disabled)
- -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "")
- -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
- -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
- --buildtype $(usex debug debug plain)
- -Db_ndebug=$(usex debug false 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
-}
diff --git a/media-libs/mesa/mesa-23.1.2.ebuild b/media-libs/mesa/mesa-23.1.2.ebuild
deleted file mode 100644
index f92b393b0f53..000000000000
--- a/media-libs/mesa/mesa-23.1.2.ebuild
+++ /dev/null
@@ -1,447 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..12} )
-
-inherit llvm meson-multilib python-any-r1 linux-info
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.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 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-RESTRICT="!test? ( test )"
-
-RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lima nouveau panfrost v3d vc4 virgl vivante vmware"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm
- lm-sensors opencl osmesa +proprietary-codecs selinux
- test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa zink +zstd"
-
-REQUIRED_USE="
- d3d9? (
- || (
- video_cards_intel
- video_cards_r300
- video_cards_r600
- video_cards_radeonsi
- video_cards_nouveau
- video_cards_vmware
- )
- )
- vulkan? ( video_cards_radeonsi? ( llvm ) )
- vulkan-overlay? ( vulkan )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_radeonsi? ( llvm )
- vdpau? ( X )
- xa? ( X )
- zink? ( vulkan )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110"
-RDEPEND="
- >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
- >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- llvm? (
- video_cards_radeonsi? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- 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
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- virtual/libelf:0=
- )
- vaapi? (
- >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
- )
- vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
- vulkan? (
- video_cards_intel? (
- amd64? (
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- )
- )
- )
- selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
- wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
- ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
- X? (
- >=x11-libs/libX11-1.6.2[${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.13:=[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- )
- zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-RDEPEND="${RDEPEND}
- video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling one than more slot
-# simultaneously.
-#
-# How to use it:
-# 1. Specify LLVM_MAX_SLOT (inclusive), e.g. 16.
-# 2. Specify LLVM_MIN_SLOT (inclusive), e.g. 15.
-LLVM_MAX_SLOT="16"
-LLVM_MIN_SLOT="15"
-LLVM_USE_DEPS="llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}"
-PER_SLOT_DEPSTR="
- (
- !opencl? ( sys-devel/llvm:@SLOT@[${LLVM_USE_DEPS}] )
- opencl? ( sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] )
- opencl? ( dev-util/spirv-llvm-translator:@SLOT@ )
- vulkan? ( video_cards_intel? ( dev-util/spirv-llvm-translator:@SLOT@ ) )
- )
-"
-LLVM_DEPSTR="
- || (
- $(for ((slot=LLVM_MAX_SLOT; slot>=LLVM_MIN_SLOT; slot--)); do
- echo "${PER_SLOT_DEPSTR//@SLOT@/${slot}}"
- done)
- )
- !opencl? ( <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] )
- opencl? ( <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] )
-"
-RDEPEND="${RDEPEND}
- llvm? ( ${LLVM_DEPSTR} )
-"
-unset LLVM_MIN_SLOT {LLVM,PER_SLOT}_DEPSTR
-
-DEPEND="${RDEPEND}
- video_cards_d3d12? ( dev-util/directx-headers[${MULTILIB_USEDEP}] )
- valgrind? ( dev-util/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.24 )
- X? (
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-base/xorg-proto
- )
-"
-BDEPEND="
- >=dev-util/meson-1.0.0
- ${PYTHON_DEPS}
- opencl? (
- >=virtual/rust-1.62.0
- >=dev-util/bindgen-0.58.0
- )
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
- vulkan? (
- dev-util/glslang
- video_cards_intel? (
- amd64? (
- $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
- )
- )
- )
- wayland? ( dev-util/wayland-scanner )
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-QA_WX_LOAD="
-x86? (
- usr/lib/libglapi.so.0.0.0
- usr/lib/libOSMesa.so.8.0.0
- usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-llvm_check_deps() {
- if use opencl; then
- has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" || return 1
- fi
- if use opencl || { use vulkan && use video_cards_intel; }; then
- has_version "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || return 1
- fi
- has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]"
-}
-
-PATCHES=(
- # Temporary rusticl workaround: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7717#note_1832122
- "${FILESDIR}/clang_resource_dir.patch"
-)
-
-pkg_pretend() {
- if use vulkan; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_radeonsi &&
- ! use video_cards_v3d; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d"
- fi
- fi
-
- if use vaapi; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use vdpau; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r300 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use xa; then
- if ! use video_cards_freedreno &&
- ! use video_cards_nouveau &&
- ! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
- fi
- fi
-
- if ! use llvm; then
- use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
- fi
-
- if use osmesa && ! use llvm; then
- ewarn "OSMesa will be slow without enabling USE=llvm"
- fi
-}
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || return 1
- if use vulkan && use video_cards_intel && use amd64; then
- python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
- fi
-}
-
-pkg_setup() {
- # warning message for bug 459306
- if use llvm && has_version sys-devel/llvm[!debug=]; then
- ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/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
-
- if use llvm; then
- llvm_pkg_setup
- fi
- python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
- local emesonargs=()
-
- local platforms
- use X && platforms+="x11"
- use wayland && platforms+=",wayland"
- emesonargs+=(-Dplatforms=${platforms#,})
-
- if use video_cards_intel ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_use d3d9 gallium-nine))
- else
- emesonargs+=(-Dgallium-nine=false)
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; 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
-
- if use video_cards_d3d12 ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; then
- emesonargs+=($(meson_feature vdpau gallium-vdpau))
- else
- emesonargs+=(-Dgallium-vdpau=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_feature xa gallium-xa))
- else
- emesonargs+=(-Dgallium-xa=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_lima ||
- use video_cards_panfrost ||
- use video_cards_v3d ||
- use video_cards_vc4 ||
- use video_cards_vivante; then
- gallium_enable -- kmsro
- fi
-
- gallium_enable -- swrast
- gallium_enable video_cards_freedreno freedreno
- gallium_enable video_cards_intel crocus i915 iris
- gallium_enable video_cards_lima lima
- gallium_enable video_cards_d3d12 d3d12
- 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 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_freedreno freedreno
- vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_d3d12 microsoft-experimental
- vulkan_enable video_cards_radeonsi amd
- vulkan_enable video_cards_v3d broadcom
- fi
-
- driver_list() {
- local drivers="$(sort -u <<< "${1// /$'\n'}")"
- echo "${drivers//$'\n'/,}"
- }
-
- local vulkan_layers
- use vulkan && vulkan_layers+="device-select"
- use vulkan-overlay && vulkan_layers+=",overlay"
- emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
- if use vulkan && use video_cards_intel; then
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
- emesonargs+=($(meson_feature llvm intel-clc))
- fi
-
- emesonargs+=(
- $(meson_use test build-tests)
- -Dglx=$(usex X dri disabled)
- -Dshared-glapi=enabled
- -Ddri3=enabled
- -Degl=enabled
- -Dgbm=enabled
- -Dglvnd=true
- $(meson_feature gles1)
- $(meson_feature gles2)
- $(meson_feature llvm)
- $(meson_feature lm-sensors lmsensors)
- $(meson_use osmesa)
- $(meson_use selinux)
- $(meson_feature unwind libunwind)
- $(meson_feature zstd)
- $(meson_use cpu_flags_x86_sse2 sse2)
- -Dvalgrind=$(usex valgrind auto disabled)
- -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "")
- -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
- -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
- --buildtype $(usex debug debug plain)
- -Db_ndebug=$(usex debug false 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
-}
diff --git a/media-libs/mesa/mesa-23.1.4.ebuild b/media-libs/mesa/mesa-23.1.4.ebuild
deleted file mode 100644
index c44daa0c39c2..000000000000
--- a/media-libs/mesa/mesa-23.1.4.ebuild
+++ /dev/null
@@ -1,450 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..12} )
-
-inherit llvm meson-multilib python-any-r1 linux-info
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.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 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-RESTRICT="!test? ( test )"
-
-RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau panfrost v3d vc4 virgl vivante vmware"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm
- lm-sensors opencl osmesa +proprietary-codecs selinux
- test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa zink +zstd"
-
-REQUIRED_USE="
- d3d9? (
- || (
- video_cards_intel
- video_cards_r300
- video_cards_r600
- video_cards_radeonsi
- video_cards_nouveau
- video_cards_vmware
- )
- )
- vulkan? ( video_cards_radeonsi? ( llvm ) )
- vulkan-overlay? ( vulkan )
- video_cards_lavapipe? ( llvm vulkan )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_radeonsi? ( llvm )
- vdpau? ( X )
- xa? ( X )
- zink? ( vulkan )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110"
-RDEPEND="
- >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
- >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- llvm? (
- video_cards_radeonsi? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- 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
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- virtual/libelf:0=
- )
- vaapi? (
- >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
- )
- vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
- vulkan? (
- video_cards_intel? (
- amd64? (
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- )
- )
- )
- selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
- wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
- ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
- X? (
- >=x11-libs/libX11-1.6.2[${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.13:=[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- )
- zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-RDEPEND="${RDEPEND}
- video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling one than more slot
-# simultaneously.
-#
-# How to use it:
-# 1. Specify LLVM_MAX_SLOT (inclusive), e.g. 16.
-# 2. Specify LLVM_MIN_SLOT (inclusive), e.g. 15.
-LLVM_MAX_SLOT="16"
-LLVM_MIN_SLOT="15"
-LLVM_USE_DEPS="llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}"
-PER_SLOT_DEPSTR="
- (
- !opencl? ( sys-devel/llvm:@SLOT@[${LLVM_USE_DEPS}] )
- opencl? ( sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] )
- opencl? ( dev-util/spirv-llvm-translator:@SLOT@ )
- vulkan? ( video_cards_intel? ( amd64? ( dev-util/spirv-llvm-translator:@SLOT@ ) ) )
- )
-"
-LLVM_DEPSTR="
- || (
- $(for ((slot=LLVM_MAX_SLOT; slot>=LLVM_MIN_SLOT; slot--)); do
- echo "${PER_SLOT_DEPSTR//@SLOT@/${slot}}"
- done)
- )
- !opencl? ( <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] )
- opencl? ( <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] )
-"
-RDEPEND="${RDEPEND}
- llvm? ( ${LLVM_DEPSTR} )
-"
-unset LLVM_MIN_SLOT {LLVM,PER_SLOT}_DEPSTR
-
-DEPEND="${RDEPEND}
- video_cards_d3d12? ( dev-util/directx-headers[${MULTILIB_USEDEP}] )
- valgrind? ( dev-util/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.24 )
- X? (
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-base/xorg-proto
- )
-"
-BDEPEND="
- >=dev-util/meson-1.0.0
- ${PYTHON_DEPS}
- opencl? (
- >=virtual/rust-1.62.0
- >=dev-util/bindgen-0.58.0
- )
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
- vulkan? (
- dev-util/glslang
- video_cards_intel? (
- amd64? (
- $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
- )
- )
- )
- wayland? ( dev-util/wayland-scanner )
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-QA_WX_LOAD="
-x86? (
- usr/lib/libglapi.so.0.0.0
- usr/lib/libOSMesa.so.8.0.0
- usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-llvm_check_deps() {
- if use opencl; then
- has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" || return 1
- fi
- if use opencl || { use vulkan && use video_cards_intel && use amd64; }; then
- has_version "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || return 1
- fi
- has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]"
-}
-
-PATCHES=(
- # Temporary rusticl workaround: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7717#note_1832122
- "${FILESDIR}/clang_resource_dir.patch"
-)
-
-pkg_pretend() {
- if use vulkan; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_radeonsi &&
- ! use video_cards_v3d; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d"
- fi
- fi
-
- if use vaapi; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use vdpau; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r300 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use xa; then
- if ! use video_cards_freedreno &&
- ! use video_cards_nouveau &&
- ! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
- fi
- fi
-
- if ! use llvm; then
- use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
- fi
-
- if use osmesa && ! use llvm; then
- ewarn "OSMesa will be slow without enabling USE=llvm"
- fi
-}
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || return 1
- if use vulkan && use video_cards_intel && use amd64; then
- python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
- fi
-}
-
-pkg_setup() {
- # warning message for bug 459306
- if use llvm && has_version sys-devel/llvm[!debug=]; then
- ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/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
-
- if use llvm; then
- llvm_pkg_setup
- fi
- python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
- local emesonargs=()
-
- local platforms
- use X && platforms+="x11"
- use wayland && platforms+=",wayland"
- emesonargs+=(-Dplatforms=${platforms#,})
-
- if use video_cards_intel ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_use d3d9 gallium-nine))
- else
- emesonargs+=(-Dgallium-nine=false)
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; 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
-
- if use video_cards_d3d12 ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; then
- emesonargs+=($(meson_feature vdpau gallium-vdpau))
- else
- emesonargs+=(-Dgallium-vdpau=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_feature xa gallium-xa))
- else
- emesonargs+=(-Dgallium-xa=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_lima ||
- use video_cards_panfrost ||
- use video_cards_v3d ||
- use video_cards_vc4 ||
- use video_cards_vivante; then
- gallium_enable -- kmsro
- fi
-
- gallium_enable -- swrast
- gallium_enable video_cards_freedreno freedreno
- gallium_enable video_cards_intel crocus i915 iris
- gallium_enable video_cards_lima lima
- gallium_enable video_cards_d3d12 d3d12
- 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 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_lavapipe swrast
- vulkan_enable video_cards_freedreno freedreno
- vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_d3d12 microsoft-experimental
- vulkan_enable video_cards_radeonsi amd
- vulkan_enable video_cards_v3d broadcom
- fi
-
- driver_list() {
- local drivers="$(sort -u <<< "${1// /$'\n'}")"
- echo "${drivers//$'\n'/,}"
- }
-
- local vulkan_layers
- use vulkan && vulkan_layers+="device-select"
- use vulkan-overlay && vulkan_layers+=",overlay"
- emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
- if use vulkan && use video_cards_intel; then
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
- emesonargs+=($(meson_feature llvm intel-clc))
- fi
-
- emesonargs+=(
- $(meson_use test build-tests)
- -Dglx=$(usex X dri disabled)
- -Dshared-glapi=enabled
- -Ddri3=enabled
- -Degl=enabled
- -Dexpat=enabled
- -Dgbm=enabled
- -Dglvnd=true
- $(meson_feature gles1)
- $(meson_feature gles2)
- $(meson_feature llvm)
- $(meson_feature lm-sensors lmsensors)
- $(meson_use osmesa)
- $(meson_use selinux)
- $(meson_feature unwind libunwind)
- $(meson_feature zstd)
- $(meson_use cpu_flags_x86_sse2 sse2)
- -Dvalgrind=$(usex valgrind auto disabled)
- -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "")
- -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
- -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
- --buildtype $(usex debug debug plain)
- -Db_ndebug=$(usex debug false 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
-}
diff --git a/media-libs/mesa/mesa-23.1.5.ebuild b/media-libs/mesa/mesa-23.1.5.ebuild
deleted file mode 100644
index c44daa0c39c2..000000000000
--- a/media-libs/mesa/mesa-23.1.5.ebuild
+++ /dev/null
@@ -1,450 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..12} )
-
-inherit llvm meson-multilib python-any-r1 linux-info
-
-MY_P="${P/_/-}"
-
-DESCRIPTION="OpenGL-like graphic library for Linux"
-HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.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 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-RESTRICT="!test? ( test )"
-
-RADEON_CARDS="r300 r600 radeon radeonsi"
-VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau panfrost v3d vc4 virgl vivante vmware"
-for card in ${VIDEO_CARDS}; do
- IUSE_VIDEO_CARDS+=" video_cards_${card}"
-done
-
-IUSE="${IUSE_VIDEO_CARDS}
- cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm
- lm-sensors opencl osmesa +proprietary-codecs selinux
- test unwind vaapi valgrind vdpau vulkan
- vulkan-overlay wayland +X xa zink +zstd"
-
-REQUIRED_USE="
- d3d9? (
- || (
- video_cards_intel
- video_cards_r300
- video_cards_r600
- video_cards_radeonsi
- video_cards_nouveau
- video_cards_vmware
- )
- )
- vulkan? ( video_cards_radeonsi? ( llvm ) )
- vulkan-overlay? ( vulkan )
- video_cards_lavapipe? ( llvm vulkan )
- video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
- video_cards_radeonsi? ( llvm )
- vdpau? ( X )
- xa? ( X )
- zink? ( vulkan )
-"
-
-LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110"
-RDEPEND="
- >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
- >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
- unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
- llvm? (
- video_cards_radeonsi? (
- virtual/libelf:0=[${MULTILIB_USEDEP}]
- )
- 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
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- virtual/libelf:0=
- )
- vaapi? (
- >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
- )
- vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
- vulkan? (
- video_cards_intel? (
- amd64? (
- dev-libs/libclc[spirv(-)]
- >=dev-util/spirv-tools-1.3.231.0
- )
- )
- )
- selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
- wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
- ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
- X? (
- >=x11-libs/libX11-1.6.2[${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.13:=[${MULTILIB_USEDEP}]
- x11-libs/libXfixes[${MULTILIB_USEDEP}]
- )
- zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-for card in ${RADEON_CARDS}; do
- RDEPEND="${RDEPEND}
- video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
- "
-done
-RDEPEND="${RDEPEND}
- video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
-"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling one than more slot
-# simultaneously.
-#
-# How to use it:
-# 1. Specify LLVM_MAX_SLOT (inclusive), e.g. 16.
-# 2. Specify LLVM_MIN_SLOT (inclusive), e.g. 15.
-LLVM_MAX_SLOT="16"
-LLVM_MIN_SLOT="15"
-LLVM_USE_DEPS="llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}"
-PER_SLOT_DEPSTR="
- (
- !opencl? ( sys-devel/llvm:@SLOT@[${LLVM_USE_DEPS}] )
- opencl? ( sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] )
- opencl? ( dev-util/spirv-llvm-translator:@SLOT@ )
- vulkan? ( video_cards_intel? ( amd64? ( dev-util/spirv-llvm-translator:@SLOT@ ) ) )
- )
-"
-LLVM_DEPSTR="
- || (
- $(for ((slot=LLVM_MAX_SLOT; slot>=LLVM_MIN_SLOT; slot--)); do
- echo "${PER_SLOT_DEPSTR//@SLOT@/${slot}}"
- done)
- )
- !opencl? ( <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] )
- opencl? ( <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] )
-"
-RDEPEND="${RDEPEND}
- llvm? ( ${LLVM_DEPSTR} )
-"
-unset LLVM_MIN_SLOT {LLVM,PER_SLOT}_DEPSTR
-
-DEPEND="${RDEPEND}
- video_cards_d3d12? ( dev-util/directx-headers[${MULTILIB_USEDEP}] )
- valgrind? ( dev-util/valgrind )
- wayland? ( >=dev-libs/wayland-protocols-1.24 )
- X? (
- x11-libs/libXrandr[${MULTILIB_USEDEP}]
- x11-base/xorg-proto
- )
-"
-BDEPEND="
- >=dev-util/meson-1.0.0
- ${PYTHON_DEPS}
- opencl? (
- >=virtual/rust-1.62.0
- >=dev-util/bindgen-0.58.0
- )
- sys-devel/bison
- sys-devel/flex
- virtual/pkgconfig
- $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
- vulkan? (
- dev-util/glslang
- video_cards_intel? (
- amd64? (
- $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
- )
- )
- )
- wayland? ( dev-util/wayland-scanner )
-"
-
-S="${WORKDIR}/${MY_P}"
-EGIT_CHECKOUT_DIR=${S}
-
-QA_WX_LOAD="
-x86? (
- usr/lib/libglapi.so.0.0.0
- usr/lib/libOSMesa.so.8.0.0
- usr/lib/libGLX_mesa.so.0.0.0
-)"
-
-llvm_check_deps() {
- if use opencl; then
- has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" || return 1
- fi
- if use opencl || { use vulkan && use video_cards_intel && use amd64; }; then
- has_version "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || return 1
- fi
- has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]"
-}
-
-PATCHES=(
- # Temporary rusticl workaround: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7717#note_1832122
- "${FILESDIR}/clang_resource_dir.patch"
-)
-
-pkg_pretend() {
- if use vulkan; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_freedreno &&
- ! use video_cards_intel &&
- ! use video_cards_radeonsi &&
- ! use video_cards_v3d; then
- ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d"
- fi
- fi
-
- if use vaapi; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use vdpau; then
- if ! use video_cards_d3d12 &&
- ! use video_cards_r300 &&
- ! use video_cards_r600 &&
- ! use video_cards_radeonsi &&
- ! use video_cards_nouveau; then
- ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau"
- fi
- fi
-
- if use xa; then
- if ! use video_cards_freedreno &&
- ! use video_cards_nouveau &&
- ! use video_cards_vmware; then
- ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
- fi
- fi
-
- if ! use llvm; then
- use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
- fi
-
- if use osmesa && ! use llvm; then
- ewarn "OSMesa will be slow without enabling USE=llvm"
- fi
-}
-
-python_check_deps() {
- python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || return 1
- if use vulkan && use video_cards_intel && use amd64; then
- python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
- fi
-}
-
-pkg_setup() {
- # warning message for bug 459306
- if use llvm && has_version sys-devel/llvm[!debug=]; then
- ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/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
-
- if use llvm; then
- llvm_pkg_setup
- fi
- python-any-r1_pkg_setup
-}
-
-multilib_src_configure() {
- local emesonargs=()
-
- local platforms
- use X && platforms+="x11"
- use wayland && platforms+=",wayland"
- emesonargs+=(-Dplatforms=${platforms#,})
-
- if use video_cards_intel ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_use d3d9 gallium-nine))
- else
- emesonargs+=(-Dgallium-nine=false)
- fi
-
- if use video_cards_d3d12 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; 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
-
- if use video_cards_d3d12 ||
- use video_cards_r300 ||
- use video_cards_r600 ||
- use video_cards_radeonsi ||
- use video_cards_nouveau; then
- emesonargs+=($(meson_feature vdpau gallium-vdpau))
- else
- emesonargs+=(-Dgallium-vdpau=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_nouveau ||
- use video_cards_vmware; then
- emesonargs+=($(meson_feature xa gallium-xa))
- else
- emesonargs+=(-Dgallium-xa=disabled)
- fi
-
- if use video_cards_freedreno ||
- use video_cards_lima ||
- use video_cards_panfrost ||
- use video_cards_v3d ||
- use video_cards_vc4 ||
- use video_cards_vivante; then
- gallium_enable -- kmsro
- fi
-
- gallium_enable -- swrast
- gallium_enable video_cards_freedreno freedreno
- gallium_enable video_cards_intel crocus i915 iris
- gallium_enable video_cards_lima lima
- gallium_enable video_cards_d3d12 d3d12
- 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 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_lavapipe swrast
- vulkan_enable video_cards_freedreno freedreno
- vulkan_enable video_cards_intel intel intel_hasvk
- vulkan_enable video_cards_d3d12 microsoft-experimental
- vulkan_enable video_cards_radeonsi amd
- vulkan_enable video_cards_v3d broadcom
- fi
-
- driver_list() {
- local drivers="$(sort -u <<< "${1// /$'\n'}")"
- echo "${drivers//$'\n'/,}"
- }
-
- local vulkan_layers
- use vulkan && vulkan_layers+="device-select"
- use vulkan-overlay && vulkan_layers+=",overlay"
- emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
-
- if use vulkan && use video_cards_intel; then
- PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
- emesonargs+=($(meson_feature llvm intel-clc))
- fi
-
- emesonargs+=(
- $(meson_use test build-tests)
- -Dglx=$(usex X dri disabled)
- -Dshared-glapi=enabled
- -Ddri3=enabled
- -Degl=enabled
- -Dexpat=enabled
- -Dgbm=enabled
- -Dglvnd=true
- $(meson_feature gles1)
- $(meson_feature gles2)
- $(meson_feature llvm)
- $(meson_feature lm-sensors lmsensors)
- $(meson_use osmesa)
- $(meson_use selinux)
- $(meson_feature unwind libunwind)
- $(meson_feature zstd)
- $(meson_use cpu_flags_x86_sse2 sse2)
- -Dvalgrind=$(usex valgrind auto disabled)
- -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "")
- -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
- -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
- --buildtype $(usex debug debug plain)
- -Db_ndebug=$(usex debug false 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
-}
diff --git a/media-libs/mesa/mesa-23.1.3.ebuild b/media-libs/mesa/mesa-23.1.6.ebuild
index c42c875820a7..66cdcc4c1f78 100644
--- a/media-libs/mesa/mesa-23.1.3.ebuild
+++ b/media-libs/mesa/mesa-23.1.6.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit llvm meson-multilib python-any-r1 linux-info