diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-08-17 03:31:10 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-08-17 03:31:10 +0100 |
commit | 280d9db9f9470686aae5ce1fa4cfa57b26e9beb2 (patch) | |
tree | 604fa555cdb815d5774494412f041887debf5220 /media-libs/mesa | |
parent | 2ef316f0ffbd90d833effd2d09d1232e5767e321 (diff) |
gentoo auto-resync : 17:08:2023 - 03:31:10
Diffstat (limited to 'media-libs/mesa')
-rw-r--r-- | media-libs/mesa/Manifest | 22 | ||||
-rw-r--r-- | media-libs/mesa/files/mesa-23.0.2-wayland-crash-warnings-2.patch | 49 | ||||
-rw-r--r-- | media-libs/mesa/files/mesa-23.0.2-wayland-crash-warnings.patch | 37 | ||||
-rw-r--r-- | media-libs/mesa/files/mesa-23.1.0-intel-Disable-shader-cache-when-executing-intel_clc-.patch | 30 | ||||
-rw-r--r-- | media-libs/mesa/mesa-22.3.7-r1.ebuild | 456 | ||||
-rw-r--r-- | media-libs/mesa/mesa-23.0.3-r1.ebuild | 462 | ||||
-rw-r--r-- | media-libs/mesa/mesa-23.1.0.ebuild | 449 | ||||
-rw-r--r-- | media-libs/mesa/mesa-23.1.1.ebuild | 447 | ||||
-rw-r--r-- | media-libs/mesa/mesa-23.1.2-r1.ebuild | 449 | ||||
-rw-r--r-- | media-libs/mesa/mesa-23.1.2.ebuild | 447 | ||||
-rw-r--r-- | media-libs/mesa/mesa-23.1.4.ebuild | 450 | ||||
-rw-r--r-- | media-libs/mesa/mesa-23.1.5.ebuild | 450 | ||||
-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 |