commit:     d204ecea25a36d9a052468ef78db0f526e8085dd
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 27 07:36:11 2025 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sun Apr 27 07:36:11 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=d204ecea

dev-build/meson: drop in favour of gx86 version

Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 dev-build/meson/Manifest                           |   3 -
 .../meson/files/meson-1.2.1-python-path.patch      |  26 ---
 .../meson/files/meson-1.4.0-darwin-rpath.patch     | 101 ------------
 dev-build/meson/meson-1.4.0-r1.ebuild              | 181 ---------------------
 4 files changed, 311 deletions(-)

diff --git a/dev-build/meson/Manifest b/dev-build/meson/Manifest
deleted file mode 100644
index d7742feeed..0000000000
--- a/dev-build/meson/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST meson-1.4.0.tar.gz 2224663 BLAKE2B 
7f742ef870c182e552c1ff3508d65f251009d610def6a08e01fddb6c6a4ed6d608ead0d52cf8ca7d66b5bd7a4732dccd7ab5d98f141a4a61e275398885f79486
 SHA512 
2787941fbc77d5ad95011753df52fe39812929a06d84dbce8bdc965c9c1e62fd6bfa819712eb1f5934c2ebe6919a65f7874ecac2caf40d111ea024343108cfbd
-DIST meson-1.4.0.tar.gz.asc 833 BLAKE2B 
6e4002303da16bcaa3d1d3c76a3485b23174074de2d29bd34347a4671d7fb0f1c0767559ed9267e0f0b52c02638b85a11a5980f4ee188e7e4d35c733b0821c62
 SHA512 
ea73e72d929bf30d28c033f103fd1d26bac7cef175aabbf9b3a24c7b336682c28f5aae184e04d2189731cf80dd7571939cb02de642bb5b412cea996ca30dfdad
-DIST meson-reference-1.4.0.3 339324 BLAKE2B 
8ad24592c1a9100832dead97a55d4cb358892fc1cd6aee641f9610cb6a5df211831e6cfc42e047d5e835ed53de1bb9c7d711dd1a0a8cfe18a0f85e92a1a3f925
 SHA512 
8df06f63db6db01a6c8c0a5b4a8b26c868bb027f26580d290288b1067429a526fb654fae01a45085c1f20ee8dab1b5325e8b2fd285faf175d2fcfc2c704b4768

diff --git a/dev-build/meson/files/meson-1.2.1-python-path.patch 
b/dev-build/meson/files/meson-1.2.1-python-path.patch
deleted file mode 100644
index d6151881f8..0000000000
--- a/dev-build/meson/files/meson-1.2.1-python-path.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 2b33c94e6315e9a397dd48a58a5becb0df3b8aba Mon Sep 17 00:00:00 2001
-From: James Le Cuirot <[email protected]>
-Date: Sat, 12 Aug 2023 09:56:44 +0100
-Subject: [PATCH 2/2] python module: Respect PATH when python is not given in
- machine file
-
-We should only fall back to the Python interpreter running Meson itself
-if `python3` is not found in the PATH.
-
-https://github.com/mesonbuild/meson/pull/12116
-
-diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py
-index 5654e4231..2b2395a9b 100644
---- a/mesonbuild/modules/python.py
-+++ b/mesonbuild/modules/python.py
-@@ -381,7 +381,9 @@ class PythonModule(ExtensionModule):
- 
-     def _find_installation_impl(self, state: 'ModuleState', display_name: 
str, name_or_path: str, required: bool) -> MaybePythonProg:
-         if not name_or_path:
--            python = PythonExternalProgram('python3', mesonlib.python_command)
-+            python = PythonExternalProgram('python3')
-+            if not python.found():
-+                python = PythonExternalProgram('python3', 
mesonlib.python_command)
-         else:
-             tmp_python = ExternalProgram.from_entry(display_name, 
name_or_path)
-             python = PythonExternalProgram(display_name, ext_prog=tmp_python)

diff --git a/dev-build/meson/files/meson-1.4.0-darwin-rpath.patch 
b/dev-build/meson/files/meson-1.4.0-darwin-rpath.patch
deleted file mode 100644
index abcb9be6bb..0000000000
--- a/dev-build/meson/files/meson-1.4.0-darwin-rpath.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From c9565bd44149041d613046d02be4cb9a5bd9ee2b Mon Sep 17 00:00:00 2001
-From: Fabian Groffen <[email protected]>
-Date: Wed, 27 Mar 2024 17:20:16 +0000
-Subject: [PATCH] depfixer: change fix_darwin to act like fix_rpathtype_entry
-
-This somewhat aligns "darwin" (Mach-O) with how ELF RPATHs are treated.
-Instead of blindly removing all RPATHs, only remove the ones that are in
-the rpath_dirs_to_remove set.  This way, RPATHs that were added by the
-toolchain or user are left untouched.
-
-It is important not to remove RPATHs as they may be vital for the
-executable at runtime.  Issues #12045 and #12288 are examples of this.
-
-Issue: https://github.com/mesonbuild/meson/issues/12045
-Signed-off-by: Fabian Groffen <[email protected]>
----
- mesonbuild/scripts/depfixer.py | 53 ++++++++++++++--------------------
- 1 file changed, 21 insertions(+), 32 deletions(-)
-
-diff --git a/mesonbuild/scripts/depfixer.py b/mesonbuild/scripts/depfixer.py
-index 61b7ffa642f1..71599f784e73 100644
---- a/mesonbuild/scripts/depfixer.py
-+++ b/mesonbuild/scripts/depfixer.py
-@@ -379,7 +379,7 @@ def fix_elf(fname: str, rpath_dirs_to_remove: 
T.Set[bytes], new_rpath: T.Optiona
-             # note: e.get_rpath() and e.get_runpath() may be useful
-             e.fix_rpath(fname, rpath_dirs_to_remove, new_rpath)
- 
--def get_darwin_rpaths_to_remove(fname: str) -> T.List[str]:
-+def get_darwin_rpaths(fname: str) -> T.List[str]:
-     p, out, _ = Popen_safe(['otool', '-l', fname], stderr=subprocess.DEVNULL)
-     if p.returncode != 0:
-         raise subprocess.CalledProcessError(p.returncode, p.args, out)
-@@ -397,43 +397,32 @@ def get_darwin_rpaths_to_remove(fname: str) -> 
T.List[str]:
-             result.append(rp)
-     return result
- 
--def fix_darwin(fname: str, new_rpath: str, final_path: str, 
install_name_mappings: T.Dict[str, str]) -> None:
-+def fix_darwin(fname: str, rpath_dirs_to_remove: T.Set[bytes], new_rpath: 
str, final_path: str, install_name_mappings: T.Dict[str, str]) -> None:
-     try:
--        rpaths = get_darwin_rpaths_to_remove(fname)
-+        old_rpaths = get_darwin_rpaths(fname)
-     except subprocess.CalledProcessError:
-         # Otool failed, which happens when invoked on a
-         # non-executable target. Just return.
-         return
-+    new_rpaths: OrderedSet[str] = OrderedSet()
-+    if new_rpath:
-+        new_rpaths.update(new_rpath)
-+    # filter out build-only rpath entries, like in
-+    # fix_rpathtype_entry
-+    remove_rpaths = [x.decode('utf8') for x in rpath_dirs_to_remove]
-+    for rpath_dir in old_rpaths:
-+        if rpath_dir and rpath_dir not in remove_rpaths:
-+            new_rpaths.add(rpath_dir)
-     try:
-         args = []
--        if rpaths:
--            # TODO: fix this properly, not totally clear how
--            #
--            # removing rpaths from binaries on macOS has tons of
--            # weird edge cases. For instance, if the user provided
--            # a '-Wl,-rpath' argument in LDFLAGS that happens to
--            # coincide with an rpath generated from a dependency,
--            # this would cause installation failures, as meson would
--            # generate install_name_tool calls with two identical
--            # '-delete_rpath' arguments, which install_name_tool
--            # fails on. Because meson itself ensures that it never
--            # adds duplicate rpaths, duplicate rpaths necessarily
--            # come from user variables. The idea of using OrderedSet
--            # is to remove *at most one* duplicate RPATH entry. This
--            # is not optimal, as it only respects the user's choice
--            # partially: if they provided a non-duplicate '-Wl,-rpath'
--            # argument, it gets removed, if they provided a duplicate
--            # one, it remains in the final binary. A potentially optimal
--            # solution would split all user '-Wl,-rpath' arguments from
--            # LDFLAGS, and later add them back with '-add_rpath'.
--            for rp in OrderedSet(rpaths):
--                args += ['-delete_rpath', rp]
--            subprocess.check_call(['install_name_tool', fname] + args,
--                                  stdout=subprocess.DEVNULL,
--                                  stderr=subprocess.DEVNULL)
--        args = []
--        if new_rpath:
--            args += ['-add_rpath', new_rpath]
-+        # compute diff, translate it into -delete_rpath and -add_rpath
-+        # calls
-+        for path in new_rpaths:
-+            if path not in old_rpaths:
-+                args += ['-add_rpath', path]
-+        for path in old_rpaths:
-+            if path not in new_rpaths:
-+                args += ['-delete_rpath', path]
-         # Rewrite -install_name @rpath/libfoo.dylib to /path/to/libfoo.dylib
-         if fname.endswith('dylib'):
-             args += ['-id', final_path]
-@@ -492,4 +481,4 @@ def fix_rpath(fname: str, rpath_dirs_to_remove: 
T.Set[bytes], new_rpath: T.Union
-     if INSTALL_NAME_TOOL:
-         if isinstance(new_rpath, bytes):
-             new_rpath = new_rpath.decode('utf8')
--        fix_darwin(fname, new_rpath, final_path, install_name_mappings)
-+        fix_darwin(fname, rpath_dirs_to_remove, new_rpath, final_path, 
install_name_mappings)

diff --git a/dev-build/meson/meson-1.4.0-r1.ebuild 
b/dev-build/meson/meson-1.4.0-r1.ebuild
deleted file mode 100644
index e29322ee47..0000000000
--- a/dev-build/meson/meson-1.4.0-r1.ebuild
+++ /dev/null
@@ -1,181 +0,0 @@
-# Copyright 2016-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit bash-completion-r1 edo distutils-r1 flag-o-matic toolchain-funcs
-
-if [[ ${PV} = *9999* ]]; then
-       EGIT_REPO_URI="https://github.com/mesonbuild/meson";
-       inherit ninja-utils git-r3
-
-       BDEPEND="
-               ${NINJA_DEPEND}
-               $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
-       "
-
-else
-       inherit verify-sig
-
-       MY_PV=${PV/_/}
-       MY_P=${P/_/}
-       S=${WORKDIR}/${MY_P}
-
-       SRC_URI="
-               
https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz
-               verify-sig? ( 
https://github.com/mesonbuild/meson/releases/download/${MY_PV}/${MY_P}.tar.gz.asc
 )
-               
https://github.com/mesonbuild/meson/releases/download/${MY_PV}/meson-reference.3
 -> meson-reference-${MY_PV}.3
-       "
-       BDEPEND="verify-sig? ( sec-keys/openpgp-keys-jpakkane )"
-       VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jpakkane.gpg
-
-       if [[ ${PV} != *_rc* ]] ; then
-               KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k 
~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos 
~ppc-macos ~x64-macos ~x64-solaris"
-       fi
-fi
-
-DESCRIPTION="Open source build system"
-HOMEPAGE="https://mesonbuild.com/";
-
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
-       test? (
-               dev-libs/glib:2
-               dev-libs/gobject-introspection
-               app-alternatives/ninja
-               dev-vcs/git
-               sys-libs/zlib[static-libs(+)]
-               virtual/pkgconfig
-       )
-"
-RDEPEND="
-       !<dev-build/muon-0.2.0-r2[man(-)]
-       virtual/pkgconfig
-"
-
-PATCHES=(
-       "${FILESDIR}"/${PN}-1.2.1-python-path.patch
-       "${FILESDIR}"/${PN}-1.4.0-darwin-rpath.patch
-)
-
-src_unpack() {
-       if [[ ${PV} = *9999* ]]; then
-               git-r3_src_unpack
-       else
-               default
-               use verify-sig && verify-sig_verify_detached 
"${DISTDIR}"/${MY_P}.tar.gz{,.asc}
-       fi
-}
-
-python_prepare_all() {
-       local disable_unittests=(
-               # ASAN and sandbox both want control over LD_PRELOAD
-               # https://bugs.gentoo.org/673016
-               -e 's/test_generate_gir_with_address_sanitizer/_&/'
-
-               # ASAN is unsupported on some targets
-               # https://bugs.gentoo.org/692822
-               -e 's/test_pch_with_address_sanitizer/_&/'
-       )
-
-       sed -i "${disable_unittests[@]}" unittests/*.py || die
-
-       # Broken due to python2 script created by python_wrapper_setup
-       rm -r "test cases/frameworks/1 boost" || die
-
-       distutils-r1_python_prepare_all
-}
-
-python_check_deps() {
-       if [[ ${PV} = *9999* ]]; then
-               python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
-       fi
-}
-
-python_configure_all() {
-       if [[ ${PV} = *9999* ]]; then
-               # We use the unsafe_yaml loader because strictyaml is not 
packaged. In
-               # theory they produce the same results, but pyyaml is faster and
-               # without safety checks.
-               edo ./meson.py setup \
-                       --prefix "${EPREFIX}/usr" \
-                       -Dhtml=false \
-                       -Dunsafe_yaml=true \
-                       docs/ docs/builddir
-       fi
-}
-
-python_compile_all() {
-       if [[ ${PV} = *9999* ]]; then
-               eninja -C docs/builddir
-       fi
-}
-
-src_test() {
-       tc-export PKG_CONFIG
-       if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; 
then
-               ewarn "Found Qt5Core but not Qt5Gui; skipping tests"
-       else
-               distutils-r1_src_test
-       fi
-}
-
-python_test() {
-       (
-               # meson has its own tests for LTO support. We don't need to 
verify that
-               # all tests work when they happen to use it. And in particular, 
this
-               # breaks rust.
-               filter-lto
-
-               # remove unwanted python_wrapper_setup contents
-               # We actually do want to non-error if python2 is installed and 
tested.
-               remove="${T}/${EPYTHON}/bin:"
-               PATH=${PATH/${remove}/}
-
-               # test_meson_installed
-               unset PYTHONDONTWRITEBYTECODE
-
-               # https://bugs.gentoo.org/687792
-               unset PKG_CONFIG
-
-               # test_cross_file_system_paths
-               unset XDG_DATA_HOME
-
-               # 'test cases/unit/73 summary' expects 80 columns
-               export COLUMNS=80
-
-               # If JAVA_HOME is not set, meson looks for javac in PATH.
-               # If javac is in /usr/bin, meson assumes /usr/include is a valid
-               # JDK include path. Setting JAVA_HOME works around this broken
-               # autodetection. If no JDK is installed, we should end up with 
an empty
-               # value in JAVA_HOME, and the tests should get skipped.
-               export JAVA_HOME=$(java-config -O 2>/dev/null)
-
-               ${EPYTHON} -u run_tests.py
-       ) || die "Testing failed with ${EPYTHON}"
-}
-
-python_install_all() {
-       distutils-r1_python_install_all
-
-       insinto /usr/share/vim/vimfiles
-       doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax}
-
-       insinto /usr/share/zsh/site-functions
-       doins data/shell-completions/zsh/_meson
-
-       dobashcomp data/shell-completions/bash/meson
-
-       if [[ ${PV} = *9999* ]]; then
-               DESTDIR="${ED}" eninja -C docs/builddir install
-       else
-               newman "${DISTDIR}"/meson-reference-${PV}.3 meson-reference.3
-       fi
-}

Reply via email to