public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: x11-libs/libxkbcommon/files/, x11-libs/libxkbcommon/
@ 2024-08-10 20:16 Sam James
  0 siblings, 0 replies; only message in thread
From: Sam James @ 2024-08-10 20:16 UTC (permalink / raw
  To: gentoo-commits

commit:     5184dcfcc6f1e9ca6a6f21a36f1db9e6ff418ce8
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 10 20:15:40 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Aug 10 20:15:40 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5184dcfc

x11-libs/libxkbcommon: fix missing versioned symbols w/ older binutils

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/libxkbcommon-1.7.0-symbol-ver.patch      | 104 +++++++++++++++++++++
 ...n-1.7.0.ebuild => libxkbcommon-1.7.0-r1.ebuild} |   4 +
 2 files changed, 108 insertions(+)

diff --git a/x11-libs/libxkbcommon/files/libxkbcommon-1.7.0-symbol-ver.patch b/x11-libs/libxkbcommon/files/libxkbcommon-1.7.0-symbol-ver.patch
new file mode 100644
index 000000000000..6defb3563b78
--- /dev/null
+++ b/x11-libs/libxkbcommon/files/libxkbcommon-1.7.0-symbol-ver.patch
@@ -0,0 +1,104 @@
+Avoid breaking with older binutils (silently not having versioned symbols).
+
+https://github.com/xkbcommon/libxkbcommon/commit/621e31014cbc985bd99d778260ad11a5fee783da
+https://github.com/xkbcommon/libxkbcommon/commit/1d8a25d6f10ecfc638d7a889bf7d42f79c692a40
+
+From 621e31014cbc985bd99d778260ad11a5fee783da Mon Sep 17 00:00:00 2001
+From: Pierre Le Marre <dev@wismill.eu>
+Date: Tue, 16 Jul 2024 07:00:53 +0200
+Subject: [PATCH] build: Require meson >= 0.58
+
+This will enable f-strings and allow us to simplify the build file.
+---
+ meson.build                           | 14 ++++----------
+ 2 files changed, 5 insertions(+), 10 deletions(-)
+ create mode 100644 changes/build/+meson_bump.breaking.md
+
+--- a/meson.build
++++ b/meson.build
+@@ -7,7 +7,7 @@ project(
+         'warning_level=2',
+         'b_lundef=true',
+     ],
+-    meson_version : '>= 0.52.0',
++    meson_version : '>= 0.58.0', # Released on May 2021
+ )
+ pkgconfig = import('pkgconfig')
+ cc = meson.get_compiler('c')
+@@ -270,9 +270,7 @@ dep_libxkbcommon = declare_dependency(
+     link_with: libxkbcommon,
+     include_directories: include_directories('include'),
+ )
+-if meson.version().version_compare('>= 0.54.0')
+-    meson.override_dependency('xkbcommon', dep_libxkbcommon)
+-endif
++meson.override_dependency('xkbcommon', dep_libxkbcommon)
+ pkgconfig.generate(
+     libxkbcommon,
+     name: 'xkbcommon',
+@@ -341,9 +339,7 @@ You can disable X11 support with -Denable-x11=false.''')
+         link_with: libxkbcommon_x11,
+         include_directories: include_directories('include'),
+     )
+-    if meson.version().version_compare('>= 0.54.0')
+-        meson.override_dependency('xkbcommon-x11', dep_libxkbcommon_x11)
+-    endif
++    meson.override_dependency('xkbcommon-x11', dep_libxkbcommon_x11)
+     pkgconfig.generate(
+         libxkbcommon_x11,
+         name: 'xkbcommon-x11',
+@@ -409,9 +405,7 @@ if get_option('enable-xkbregistry')
+         link_with: libxkbregistry,
+         include_directories: include_directories('include'),
+     )
+-    if meson.version().version_compare('>= 0.54.0')
+-        meson.override_dependency('xkbregistry', dep_libxkbregistry)
+-    endif
++    meson.override_dependency('xkbregistry', dep_libxkbregistry)
+ endif
+ 
+ man_pages = []
+
+From 1d8a25d6f10ecfc638d7a889bf7d42f79c692a40 Mon Sep 17 00:00:00 2001
+From: Pierre Le Marre <dev@wismill.eu>
+Date: Fri, 12 Jul 2024 11:10:46 +0200
+Subject: [PATCH] build: Check for --undefined-version support
+
+Gate the use of `--undefined-version` in the linker because it breaks on
+older GNU `ld`: https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=58272.
+---
+ meson.build                 | 11 +++++++++--
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index e8451b69..d0738468 100644
+--- a/meson.build
++++ b/meson.build
+@@ -142,10 +142,17 @@ configh_data.set('_CRT_NONSTDC_NO_DEPRECATE', 1)
+ # Reduce unnecessary includes on MSVC.
+ configh_data.set('WIN32_LEAN_AND_MEAN', 1)
+ 
++xkbcommon_map = meson.current_source_dir() / 'xkbcommon.map'
++
+ # Supports -Wl,--version-script?
++if cc.has_link_argument('-Wl,--undefined-version')
++    extra_linker_args = ',--undefined-version'
++else
++    extra_linker_args = ''
++endif
+ have_version_script = cc.links(
+     'int main(){}',
+-    args: '-Wl,--undefined-version,--version-script=' + meson.current_source_dir()/'xkbcommon.map',
++    args: f'-Wl,--version-script=@xkbcommon_map@@extra_linker_args@',
+     name: '-Wl,--version-script',
+ )
+ 
+@@ -235,7 +242,7 @@ libxkbcommon_sources = [
+ libxkbcommon_link_args = []
+ libxkbcommon_link_deps = []
+ if have_version_script
+-    libxkbcommon_link_args += '-Wl,--version-script=' + meson.current_source_dir()/'xkbcommon.map'
++    libxkbcommon_link_args += f'-Wl,--version-script=@xkbcommon_map@'
+     libxkbcommon_link_deps += 'xkbcommon.map'
+ elif cc.get_argument_syntax() == 'msvc'
+     libxkbcommon_def = custom_target('xkbcommon.def',

diff --git a/x11-libs/libxkbcommon/libxkbcommon-1.7.0.ebuild b/x11-libs/libxkbcommon/libxkbcommon-1.7.0-r1.ebuild
similarity index 96%
rename from x11-libs/libxkbcommon/libxkbcommon-1.7.0.ebuild
rename to x11-libs/libxkbcommon/libxkbcommon-1.7.0-r1.ebuild
index 3fe9b0eff71b..0130d3df99eb 100644
--- a/x11-libs/libxkbcommon/libxkbcommon-1.7.0.ebuild
+++ b/x11-libs/libxkbcommon/libxkbcommon-1.7.0-r1.ebuild
@@ -41,6 +41,10 @@ DEPEND="${RDEPEND}
 	tools? ( wayland? ( >=dev-libs/wayland-protocols-1.12 ) )
 "
 
+PATCHES=(
+	"${FILESDIR}"/libxkbcommon-1.7.0-symbol-ver.patch
+)
+
 pkg_setup() {
 	if use test; then
 		python-any-r1_pkg_setup


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2024-08-10 20:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-10 20:16 [gentoo-commits] repo/gentoo:master commit in: x11-libs/libxkbcommon/files/, x11-libs/libxkbcommon/ Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox