summaryrefslogtreecommitdiff
path: root/dev-libs/libgudev
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-05-06 00:00:52 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-05-06 00:00:52 +0100
commit43c2a85d4e20318dd3d35872e348707900870067 (patch)
treef863318f1d5bf6641145c6eb96a25818842ba87f /dev-libs/libgudev
parentb594445f39d99066071d80fc8efeba5c8f72cc35 (diff)
gentoo auto-resync : 06:05:2024 - 00:00:51
Diffstat (limited to 'dev-libs/libgudev')
-rw-r--r--dev-libs/libgudev/Manifest2
-rw-r--r--dev-libs/libgudev/files/238-clang18-export-dynamic.patch37
-rw-r--r--dev-libs/libgudev/libgudev-238-r2.ebuild51
3 files changed, 90 insertions, 0 deletions
diff --git a/dev-libs/libgudev/Manifest b/dev-libs/libgudev/Manifest
index 4ec5c001c5cb..7402e7b92f71 100644
--- a/dev-libs/libgudev/Manifest
+++ b/dev-libs/libgudev/Manifest
@@ -1,3 +1,5 @@
+AUX 238-clang18-export-dynamic.patch 1102 BLAKE2B 18b09d058e9d1973bc19dce367d81d670cc034321a31623740ba61530087cb695e242892d6d89f91f1a48346ab1318c4260a2a6b40918fe7a0bac00e96ed5365 SHA512 e10ae5314baac83b1470c250eefd72366a1c928f3e927fd7049e3d84a0326908540e0c4114826657c61dc65b541735bef50408c49cd0d6123016470d82d4031e
DIST libgudev-238.tar.xz 30548 BLAKE2B 386491e78c82081e89dad897d16ea6733430a67db3f75f2d9fdee5474b074ad6fede9f08e429f4eb6feaa9bbbb982d9d039db738aac5b5ce0ffac2d3a19430d4 SHA512 684061b4fc64a6ea3dd1ac34835279330c7eb2728fad6e3a9d34c0d501be3103d0f96c6d6866c8e257a0027e4f78a6314cb8ba81cda5ddf42ee9ea1a576ec5dc
EBUILD libgudev-238-r1.ebuild 1149 BLAKE2B 4fb368f4cc448f69110f80922e4fee61f45c017a00f256672902f3df2bb08aa5724b7d121913b465a27e78a972501ee235c26863f3e37c4095fdd8700e4edfaa SHA512 e96389ddda32b24eab6f7c4369b2813d6dda82cba53994c464f07cf30bf99638261ca53506357f6829a6a205de24538da6653917b236b19087509edb415359c4
+EBUILD libgudev-238-r2.ebuild 1227 BLAKE2B 3e8e1d9b62efa8bf491e4e3cb284828996e73dc178710c1d4b0e1cc04e6b0ecfd2d9b82b564ebf20cf155ba27e2ca0ef41f2db4aef4a9e80165aebd0e3fbbf42 SHA512 845be89fd5685d5154540356ef8994fcb17c674ad085574880545c9e1958816516f09d2d3cd0264adc782a2f2ee294879144c0f3298be982929cce0c78e13951
MISC metadata.xml 433 BLAKE2B c77ed222bd177c28f97dc28ba5361572570604716fb21260de83c5854e87bf8a0aeb41ec61da1e5859da21f50417f8e16e4b41dc052b3c021ccfd8af0ac75c9c SHA512 dff4708abd60c2ffb1d5cf442094b9fc4962346b7cbc8079aa2002258aa195aa636ef04ff1d0d9d0a67904456f5a0c9d05777828da04c0124d05c272c5ab75a3
diff --git a/dev-libs/libgudev/files/238-clang18-export-dynamic.patch b/dev-libs/libgudev/files/238-clang18-export-dynamic.patch
new file mode 100644
index 000000000000..8894f0116ed0
--- /dev/null
+++ b/dev-libs/libgudev/files/238-clang18-export-dynamic.patch
@@ -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
+
diff --git a/dev-libs/libgudev/libgudev-238-r2.ebuild b/dev-libs/libgudev/libgudev-238-r2.ebuild
new file mode 100644
index 000000000000..7e9eb935f5a6
--- /dev/null
+++ b/dev-libs/libgudev/libgudev-238-r2.ebuild
@@ -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
+}