From 1fcef10c30128a91b2fcbf9273270b76390f4561 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 10 Nov 2016 17:29:14 -0500 Subject: [PATCH] media-libs/mesa: add USE flags to control sha1 dep #539266 The sha1 usage in mesa is a bit convoluted and can leverage a number of sublibs to satisfy things. Add USE flags to control them directly. This covers the common cases but can probably be further refined. We'll look more into it via the bug. --- media-libs/mesa/mesa-13.0.0.ebuild | 13 ++++++++++--- media-libs/mesa/mesa-9999.ebuild | 13 ++++++++++--- media-libs/mesa/metadata.xml | 3 +++ 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/media-libs/mesa/mesa-13.0.0.ebuild b/media-libs/mesa/mesa-13.0.0.ebuild index bfedccc58cb4..f7e39297e11b 100644 --- a/media-libs/mesa/mesa-13.0.0.ebuild +++ b/media-libs/mesa/mesa-13.0.0.ebuild @@ -43,11 +43,12 @@ for card in ${VIDEO_CARDS}; do done IUSE="${IUSE_VIDEO_CARDS} - bindist +classic d3d9 debug +dri3 +egl +gallium +gbm gles1 gles2 +llvm - +nptl opencl osmesa pax_kernel openmax pic selinux vaapi valgrind - vdpau wayland xvmc xa kernel_FreeBSD" + bindist +classic d3d9 debug +dri3 +egl +gallium +gbm gcrypt gles1 gles2 + +llvm nettle +nptl opencl osmesa pax_kernel openmax +openssl pic selinux + vaapi valgrind vdpau wayland xvmc xa kernel_FreeBSD" REQUIRED_USE=" + || ( gcrypt nettle openssl ) d3d9? ( dri3 gallium ) llvm? ( gallium ) opencl? ( gallium llvm ) @@ -100,6 +101,11 @@ RDEPEND=" ) ) >=sys-devel/llvm-3.6.0:=[${MULTILIB_USEDEP}] ) + nettle? ( dev-libs/nettle:=[${MULTILIB_USEDEP}] ) + !nettle? ( + gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] ) + !gcrypt? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] ) + ) opencl? ( app-eselect/eselect-opencl dev-libs/libclc @@ -302,6 +308,7 @@ multilib_src_configure() { --enable-llvm-shared-libs \ --with-dri-drivers=${DRI_DRIVERS} \ --with-gallium-drivers=${GALLIUM_DRIVERS} \ + --with-sha1=$(usex nettle libnettle $(usex gcrypt libgcrypt libcrypto)) \ PYTHON2="${PYTHON}" \ ${myconf} } diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild index bfedccc58cb4..f7e39297e11b 100644 --- a/media-libs/mesa/mesa-9999.ebuild +++ b/media-libs/mesa/mesa-9999.ebuild @@ -43,11 +43,12 @@ for card in ${VIDEO_CARDS}; do done IUSE="${IUSE_VIDEO_CARDS} - bindist +classic d3d9 debug +dri3 +egl +gallium +gbm gles1 gles2 +llvm - +nptl opencl osmesa pax_kernel openmax pic selinux vaapi valgrind - vdpau wayland xvmc xa kernel_FreeBSD" + bindist +classic d3d9 debug +dri3 +egl +gallium +gbm gcrypt gles1 gles2 + +llvm nettle +nptl opencl osmesa pax_kernel openmax +openssl pic selinux + vaapi valgrind vdpau wayland xvmc xa kernel_FreeBSD" REQUIRED_USE=" + || ( gcrypt nettle openssl ) d3d9? ( dri3 gallium ) llvm? ( gallium ) opencl? ( gallium llvm ) @@ -100,6 +101,11 @@ RDEPEND=" ) ) >=sys-devel/llvm-3.6.0:=[${MULTILIB_USEDEP}] ) + nettle? ( dev-libs/nettle:=[${MULTILIB_USEDEP}] ) + !nettle? ( + gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] ) + !gcrypt? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] ) + ) opencl? ( app-eselect/eselect-opencl dev-libs/libclc @@ -302,6 +308,7 @@ multilib_src_configure() { --enable-llvm-shared-libs \ --with-dri-drivers=${DRI_DRIVERS} \ --with-gallium-drivers=${GALLIUM_DRIVERS} \ + --with-sha1=$(usex nettle libnettle $(usex gcrypt libgcrypt libcrypto)) \ PYTHON2="${PYTHON}" \ ${myconf} } diff --git a/media-libs/mesa/metadata.xml b/media-libs/mesa/metadata.xml index e0706e701314..f53e36d6e90a 100644 --- a/media-libs/mesa/metadata.xml +++ b/media-libs/mesa/metadata.xml @@ -12,12 +12,15 @@ Enable DRI3 support. Enable EGL support. Build drivers based on Gallium3D, the new architecture for 3D graphics drivers. + Use dev-libs/libgcrypt for low level sha1 utility functions. Enable the Graphics Buffer Manager for EGL on KMS. Enable GLESv1 support. Enable GLESv2 support. Enable LLVM backend for Gallium3D. + Use dev-libs/nettle for low level sha1 utility functions. Enable the Clover Gallium OpenCL state tracker. Enable OpenMAX video decode/encode acceleration for Gallium3D. + Use dev-libs/openssl for low level sha1 utility functions. Enable the OpenVG 2D acceleration API for Gallium3D. Build the Mesa library for off-screen rendering. Enable if the user plans to run the package under a pax enabled hardened kernel -- 2.26.2