commit: 1c1f23a3f5823b569085863bbf6c70fa4bb5d076 Author: Nicholas Vinson <nvinson234 <AT> gmail <DOT> com> AuthorDate: Mon Jan 15 15:41:17 2024 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Jan 17 05:43:55 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1c1f23a3
media-libs/libva: backport proposed upstream patch Backport proposed upstream patch from https://github.com/intel/libva/pull/732 Bug: https://bugs.gentoo.org/919505 Signed-off-by: Nicholas Vinson <nvinson234 <AT> gmail.com> Closes: https://github.com/gentoo/gentoo/pull/34818 Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/clang-17-version-script-check-fix.patch | 62 ++++++++++++++++++++++ media-libs/libva/libva-2.20.0.ebuild | 6 ++- 2 files changed, 67 insertions(+), 1 deletion(-) diff --git a/media-libs/libva/files/clang-17-version-script-check-fix.patch b/media-libs/libva/files/clang-17-version-script-check-fix.patch new file mode 100644 index 000000000000..670b8c80a881 --- /dev/null +++ b/media-libs/libva/files/clang-17-version-script-check-fix.patch @@ -0,0 +1,62 @@ +Upstream URL: https://github.com/intel/libva/pull/732 +From 17e07d17ba723a6b5822390afacdd3ccd976ecd2 Mon Sep 17 00:00:00 2001 +From: Violet Purcell <[email protected]> +Date: Sun, 1 Oct 2023 16:34:19 -0400 +Subject: [PATCH] va: Fix -Wl,--version-script check with LLD 17 + +LLD 17 uses --no-undefined-version by default, so the check currently +fails due to vaCreateSurface being undefined. This commit replaces that +check with a generic check in the top level meson.build, using the +conftest.syms file. + +Signed-off-by: Violet Purcell <[email protected]> +--- + conftest.syms | 6 ++++++ + meson.build | 6 ++++++ + va/meson.build | 2 +- + 3 files changed, 13 insertions(+), 1 deletion(-) + create mode 100644 conftest.syms + +diff --git a/conftest.syms b/conftest.syms +new file mode 100644 +index 000000000..7d8590ff3 +--- /dev/null ++++ b/conftest.syms +@@ -0,0 +1,6 @@ ++VERSION_1 { ++ global: ++ main; ++ local: ++ *; ++}; +diff --git a/meson.build b/meson.build +index 6acf90676..b37a85119 100644 +--- a/meson.build ++++ b/meson.build +@@ -87,6 +87,12 @@ dl_dep = cc.find_library('dl', required : false) + WITH_DRM = not get_option('disable_drm') and (host_machine.system() != 'windows') + libdrm_dep = dependency('libdrm', version : '>= 2.4.60', required : (host_machine.system() != 'windows')) + ++ld_supports_version_script = cc.links( ++ 'int main() { return 0; }', ++ name : '-Wl,--version-script', ++ args : ['-shared', '-Wl,--version-script,' + '@0@/@1@'.format(meson.current_source_dir(), 'conftest.syms')] ++) ++ + WITH_X11 = false + if get_option('with_x11') != 'no' + x11_dep = dependency('x11', required : get_option('with_x11') == 'yes') +diff --git a/va/meson.build b/va/meson.build +index 372ae89ff..33c6cc8d3 100644 +--- a/va/meson.build ++++ b/va/meson.build +@@ -60,7 +60,7 @@ libva_sym_arg = '-Wl,-version-script,' + '@0@/@1@'.format(meson.current_source_d + + libva_link_args = [] + libva_link_depends = [] +-if cc.links('', name: '-Wl,--version-script', args: ['-shared', libva_sym_arg]) ++if ld_supports_version_script + libva_link_args = libva_sym_arg + libva_link_depends = libva_sym + endif + diff --git a/media-libs/libva/libva-2.20.0.ebuild b/media-libs/libva/libva-2.20.0.ebuild index 26ee296ce8db..6b90d7162477 100644 --- a/media-libs/libva/libva-2.20.0.ebuild +++ b/media-libs/libva/libva-2.20.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -48,6 +48,10 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/va/va_dricommon.h ) +PATCHES=( + "${FILESDIR}/clang-17-version-script-check-fix.patch" +) + multilib_src_configure() { local emesonargs=( -Ddriverdir="${EPREFIX}/usr/$(get_libdir)/va/drivers"
