dev-libs/libgudev: Sync with Gentoo

It's from Gentoo commit f2616e2c1a6dc2df57b016df5603225fdcb8fa32.
This commit is contained in:
Flatcar Buildbot 2024-07-01 07:13:22 +00:00 committed by Mathieu Tortuyaux
parent 428b846d75
commit e5fce93870
No known key found for this signature in database
GPG Key ID: AC5CCFB52545D9B8
2 changed files with 88 additions and 0 deletions

View File

@ -0,0 +1,37 @@
From a354fcbb911220965f737d38fefe700f7b941cf8 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 16 Jan 2024 12:02:46 -0800
Subject: [PATCH] meson: Pass --export-dynamic option to linker
Bypass the compiler driver trying to comprehend and translate it for
linker, since its not clear what the right behavior should be, gcc seems
to translate it into --export-dynamic but clang 18+ rejects it
| x86_64-yoe-linux-clang: error: unknown argument: '-export-dynamic'
also see [1]
This makes it work as intended across gcc and clang
[1] https://discourse.llvm.org/t/clang-option-export-dynamic-parse-to-e-xport-dynamic-error/72454
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
gudev/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gudev/meson.build b/gudev/meson.build
index e904203..3ed580b 100644
--- a/gudev/meson.build
+++ b/gudev/meson.build
@@ -33,7 +33,7 @@ libgudev_c_args = [
]
libgudev_link_args = [
- '-export-dynamic',
+ '-Wl,--export-dynamic',
'-Wl,--version-script,@0@/libgudev-1.0.sym'.format(top_srcdir),
]
--
GitLab

View File

@ -0,0 +1,51 @@
# Copyright 2015-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit meson-multilib
DESCRIPTION="GObject bindings for libudev"
HOMEPAGE="https://wiki.gnome.org/Projects/libgudev"
SRC_URI="https://download.gnome.org/sources/libgudev/${PV}/${P}.tar.xz"
LICENSE="LGPL-2.1+"
SLOT="0/0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="introspection test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-libs/glib-2.38.0:2[${MULTILIB_USEDEP}]
>=virtual/libudev-251:=[sticky-tags(+),${MULTILIB_USEDEP}]
introspection? ( >=dev-libs/gobject-introspection-1.31.1 )
"
DEPEND="${RDEPEND}
test? ( dev-util/umockdev[${MULTILIB_USEDEP}] )
"
BDEPEND="
dev-util/glib-utils
virtual/pkgconfig
"
PATCHES=(
"${FILESDIR}"/${PV}-clang18-export-dynamic.patch #926350
)
multilib_src_configure() {
local emesonargs=(
$(meson_native_use_feature introspection)
-Dgtk_doc=false
$(meson_feature test tests)
-Dvapi=disabled
)
meson_src_configure
}
src_test() {
# libsandbox interferes somehow.
# There are no access violations, but tests fail.
# https://bugs.gentoo.org/805449
local -x SANDBOX_ON=0
meson-multilib_src_test
}