summaryrefslogtreecommitdiff
path: root/x11-libs/libxkbcommon
diff options
context:
space:
mode:
Diffstat (limited to 'x11-libs/libxkbcommon')
-rw-r--r--x11-libs/libxkbcommon/Manifest5
-rw-r--r--x11-libs/libxkbcommon/files/libxkbcommon-1.7.0-symbol-ver.patch104
-rw-r--r--x11-libs/libxkbcommon/libxkbcommon-1.7.0-r1.ebuild (renamed from x11-libs/libxkbcommon/libxkbcommon-1.6.0.ebuild)6
-rw-r--r--x11-libs/libxkbcommon/libxkbcommon-1.7.0.ebuild71
4 files changed, 111 insertions, 75 deletions
diff --git a/x11-libs/libxkbcommon/Manifest b/x11-libs/libxkbcommon/Manifest
index 29333fc059f9..5f1697957b1b 100644
--- a/x11-libs/libxkbcommon/Manifest
+++ b/x11-libs/libxkbcommon/Manifest
@@ -1,5 +1,4 @@
-DIST libxkbcommon-1.6.0.tar.xz 510456 BLAKE2B ffd373161f12ea6448a9206f57710355ab65b81ebab5dce74e4dfcee1bdc9175406fc434560648f5933b83cac163099c8564c3add6f51d34856def39ab077850 SHA512 4f93225eada1c5d0806bbc01f72d82d72729f4580ade963ff6a386711c9b2232aae5213c8488abf01c3b81f0e1fdb7f4d8a4d3786113ccc134251ff164c4be5c
+AUX libxkbcommon-1.7.0-symbol-ver.patch 3905 BLAKE2B 4dd577bf14806a854009dd6065841be6c4ccb900336aab79b4d41e164e9e85ac00c513a644f30a1aaf60c1de84780e8ffd356c3325b20e2ec5890bbfa0145999 SHA512 7acb5488683bd0d27b7decafbd9231b30ebf5dc6e089a48873dffac6be16290fc7ea6409f0539eac1cc35a17df88c0fde3cb91fcf7d337366ab785ef1f6013dd
DIST libxkbcommon-1.7.0.tar.xz 534312 BLAKE2B b85cd8a78fce3c624e0c64c26a37b6d99bb8b8f3de489c6909826f53bdb6d33842f7ffcf955f6a9a8eb57cad53fc9756bd15d05aeb813b0f92985827243949a8 SHA512 4b74a9f3f63e2ebc1cbdcaa963c70362e55fa527e1d89b6a1fd30d7a84a8b60c1b3dc99bcfbde85aa31890e0b2f62f0bad3c8ff8340fe6a930ee662b33448ba5
-EBUILD libxkbcommon-1.6.0.ebuild 1800 BLAKE2B 3ff0a87b69159bba55da65e28e11baf189626ebf6f618d231d5ff75fb9f0a38ef8a5d44b3d8cffba2494df89b62a285ec8f7bdd743bc0ef25c1ed6e5379257d3 SHA512 310a38ffa4ce0c92fcf827e76a17520952fa7fb0c80c496a1e25d6e3237ea8e9a057faa181827b461a05d18c8bedc8bcaa343cd615720eb153a269f53d56f668
-EBUILD libxkbcommon-1.7.0.ebuild 1800 BLAKE2B 3ff0a87b69159bba55da65e28e11baf189626ebf6f618d231d5ff75fb9f0a38ef8a5d44b3d8cffba2494df89b62a285ec8f7bdd743bc0ef25c1ed6e5379257d3 SHA512 310a38ffa4ce0c92fcf827e76a17520952fa7fb0c80c496a1e25d6e3237ea8e9a057faa181827b461a05d18c8bedc8bcaa343cd615720eb153a269f53d56f668
+EBUILD libxkbcommon-1.7.0-r1.ebuild 1858 BLAKE2B 57742992bbf495c4aa210f861d432dd0bb2354974757315db8657273493d74918034a734daea576718f66ffdc27616e6976904604b1ba5b8b9e2eaaf6819ab3e SHA512 41b958ab457caa13e4fea060cac0e9fe8c6fbffe6197af6b1a1c7746dc403dd90bdf58a6c53d7255986fa96ceae0bbf5e1683679e4ee9bdec0f685f3dd2a03ab
MISC metadata.xml 470 BLAKE2B 4edc4923d3888c12474fb659cf1fb1177c600fba9e8fd34fd6be284c979313bb3282d0fa9084c0aee29d9413e68947dd0ee2d241af4e78b2eb06887d2d684f6b SHA512 e19a6e154a79578d5641dfdbef8e963794b14ef0b0f63450dba2d24044e83b517991a72d81598420567978dcecb9d4e4f0eb9e4cf63e0b562d3e41aa80b39a87
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.6.0.ebuild b/x11-libs/libxkbcommon/libxkbcommon-1.7.0-r1.ebuild
index 3fe9b0eff71b..df29c4ceb028 100644
--- a/x11-libs/libxkbcommon/libxkbcommon-1.6.0.ebuild
+++ b/x11-libs/libxkbcommon/libxkbcommon-1.7.0-r1.ebuild
@@ -8,7 +8,7 @@ if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="https://github.com/xkbcommon/${PN}"
else
SRC_URI="https://xkbcommon.org/download/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
PYTHON_COMPAT=( python3_{10..12} )
@@ -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
diff --git a/x11-libs/libxkbcommon/libxkbcommon-1.7.0.ebuild b/x11-libs/libxkbcommon/libxkbcommon-1.7.0.ebuild
deleted file mode 100644
index 3fe9b0eff71b..000000000000
--- a/x11-libs/libxkbcommon/libxkbcommon-1.7.0.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-if [[ ${PV} = *9999* ]]; then
- GIT_ECLASS="git-r3"
- EGIT_REPO_URI="https://github.com/xkbcommon/${PN}"
-else
- SRC_URI="https://xkbcommon.org/download/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit bash-completion-r1 meson-multilib ${GIT_ECLASS} python-any-r1 virtualx
-
-DESCRIPTION="Keymap handling library for toolkits and window systems"
-HOMEPAGE="https://xkbcommon.org/ https://github.com/xkbcommon/libxkbcommon/"
-LICENSE="MIT"
-SLOT="0"
-
-IUSE="doc static-libs test tools wayland X"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- app-alternatives/yacc
- doc? ( app-text/doxygen[dot] )
- test? ( ${PYTHON_DEPS} )
- tools? ( wayland? ( dev-util/wayland-scanner ) )
-"
-RDEPEND="
- X? ( >=x11-libs/libxcb-1.10:=[${MULTILIB_USEDEP}] )
- tools? ( wayland? ( >=dev-libs/wayland-1.2.0[${MULTILIB_USEDEP}] ) )
- dev-libs/libxml2[${MULTILIB_USEDEP}]
- x11-misc/compose-tables
- x11-misc/xkeyboard-config
-"
-DEPEND="${RDEPEND}
- X? ( x11-base/xorg-proto )
- tools? ( wayland? ( >=dev-libs/wayland-protocols-1.12 ) )
-"
-
-pkg_setup() {
- if use test; then
- python-any-r1_pkg_setup
- fi
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddefault_library="$(usex static-libs both shared)"
- -Dxkb-config-root="${EPREFIX}/usr/share/X11/xkb"
- -Dbash-completion-path="$(get_bashcompdir)"
- $(meson_native_use_bool tools enable-tools)
- $(meson_use X enable-x11)
- $(meson_native_use_bool doc enable-docs)
- $(meson_use wayland enable-wayland)
- )
- meson_src_configure
-}
-
-multilib_src_test() {
- virtx meson_src_test
-}
-
-multilib_src_install_all() {
- if use doc; then
- mv "${ED}"/usr/share/doc/{${PN},${P}} || die
- fi
-}