summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2024-01-19 08:51:47 +0100
committerFabian Groffen <grobian@gentoo.org>2024-01-19 08:51:47 +0100
commit45bcbdaea2e34882fa8db8c9b43118dafa6479a1 (patch)
tree7b11be5a514de9092469f00bd28ec17163d67fdd /dev-build/meson/files
parentscripts/bootstrap-prefix: use same Portage version as in bootstrap tree (diff)
downloadprefix-45bcbdaea2e34882fa8db8c9b43118dafa6479a1.tar.gz
prefix-45bcbdaea2e34882fa8db8c9b43118dafa6479a1.tar.bz2
prefix-45bcbdaea2e34882fa8db8c9b43118dafa6479a1.zip
dev-build/meson: gx86 version now has xtools support
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Diffstat (limited to 'dev-build/meson/files')
-rw-r--r--dev-build/meson/files/0001-Revert-clike-Deduplicate-rpath-linker-flags.patch55
-rw-r--r--dev-build/meson/files/0001-ninja-backend-don-t-hide-all-compiler-warnings-for-t.patch250
-rw-r--r--dev-build/meson/files/meson-1.2.1-python-path.patch26
-rw-r--r--dev-build/meson/files/meson-1.3.1-xtools-support.patch36
4 files changed, 0 insertions, 367 deletions
diff --git a/dev-build/meson/files/0001-Revert-clike-Deduplicate-rpath-linker-flags.patch b/dev-build/meson/files/0001-Revert-clike-Deduplicate-rpath-linker-flags.patch
deleted file mode 100644
index 3d40616fec..0000000000
--- a/dev-build/meson/files/0001-Revert-clike-Deduplicate-rpath-linker-flags.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 2fbc7b5ce3aced483b196dd10ca9eee1713b7494 Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz93@gmail.com>
-Date: Tue, 26 Dec 2023 15:06:12 -0500
-Subject: [PATCH] Revert "clike: Deduplicate rpath linker flags"
-
-This reverts commit 53ea59ad8455277797117d225f326851fe7d369c.
-
-This breaks at least:
-- frameworks/17 mpi
-- frameworks/30 scalapack
-
-The problem is that openmpi's pkg-config emitted link arguments
-includes:
-
-```
--Wl,-rpath -Wl,/path/to/libdir
-```
-
-The deduplication logic in meson doesn't contain sufficient information
-to tell when the compiler is passing an argument that requires values,
-and definitely cannot tell when that argument is split across argv. But
-for arguments that *can* do this, it is not possible to deduplicate a
-single argument as standalone, because it is not standalone.
-
-The argument for deduplicating rpath here was that if you have multiple
-dependencies that all add the same rpath, the Apple ld64 emits a
-non-fatal warning "duplicate -rpath ignored". Since this is non-fatal,
-it's not a major issue. A major issue is when builds fatally error out
-with:
-
-```
-FAILED: scalapack_c
-cc -o scalapack_c scalapack_c.p/main.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group /usr/lib64/libscalapack.so /usr/lib64/liblapack.so /usr/lib64/libblas.so -Wl,-rpath -Wl,/usr/lib64 -Wl,/usr/lib64 -Wl,--enable-new-dtags /usr/lib64/libmpi.so -Wl,--end-group
-/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: error: /usr/lib64: read: Is a directory
-```
----
- mesonbuild/compilers/mixins/clike.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py
-index b3fc96cec..76c8e0413 100644
---- a/mesonbuild/compilers/mixins/clike.py
-+++ b/mesonbuild/compilers/mixins/clike.py
-@@ -54,7 +54,7 @@ class CLikeCompilerArgs(arglist.CompilerArgs):
-
- # NOTE: not thorough. A list of potential corner cases can be found in
- # https://github.com/mesonbuild/meson/pull/4593#pullrequestreview-182016038
-- dedup1_prefixes = ('-l', '-Wl,-l', '-Wl,--export-dynamic', '-Wl,-rpath')
-+ dedup1_prefixes = ('-l', '-Wl,-l', '-Wl,--export-dynamic')
- dedup1_suffixes = ('.lib', '.dll', '.so', '.dylib', '.a')
- dedup1_args = ('-c', '-S', '-E', '-pipe', '-pthread')
-
---
-2.41.0
-
diff --git a/dev-build/meson/files/0001-ninja-backend-don-t-hide-all-compiler-warnings-for-t.patch b/dev-build/meson/files/0001-ninja-backend-don-t-hide-all-compiler-warnings-for-t.patch
deleted file mode 100644
index 652ffd2522..0000000000
--- a/dev-build/meson/files/0001-ninja-backend-don-t-hide-all-compiler-warnings-for-t.patch
+++ /dev/null
@@ -1,250 +0,0 @@
-From 5f659af870011e74299d1455a65c2cd5f5ace51f Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz93@gmail.com>
-Date: Tue, 5 Dec 2023 14:26:54 -0500
-Subject: [PATCH] ninja backend: don't hide all compiler warnings for
- transpiled languages
-
-This was originally added for vala only, with the rationale that vala
-generates bad code that has warnings. Unfortunately, the rationale was
-fatally flawed. The compiler warns about a number of things, which the
-user can control depending on their code (or their code generator's
-code), but some of those things are absolutely critical to warn about.
-
-In particular, GCC 14 and clang 17 are updating their defaults to warn
--- and error by default for -- invalid C code that breaks the standard,
-but has been silently accepted for over 20 years "because lots of people
-do it". The code in question is UB, and compilers will generate faulty
-machine code that behaves erroneously and probably has a mass of CVEs
-waiting to happen.
-
-Compiler warnings are NOT safe to just... universally turn off. Compiler
-warnings could be either:
-
-- coding style lints
-
-- threatening statements that the code is factually and behaviorally wrong
-
-There is no magic bullet to ignore the former while respecting the
-latter. And the very last thing we should ever do is pass `-w`, since
-that causes ALL warnings to be disabled, even the manually added
-`-Werror=XXX`.
-
-If vala generated code creates warnings, then the vala compiler can
-decrease the log level by generating better code, or by adding warning
-suppression pragmas for *specific* issues, such as unused functions.
----
- mesonbuild/backend/backends.py | 13 ++-----
- mesonbuild/backend/ninjabackend.py | 19 ++++------
- .../failing build/1 vala c werror/meson.build | 10 -----
- .../failing build/1 vala c werror/prog.vala | 7 ----
- .../1 vala c werror/unused-var.c | 8 ----
- test cases/vala/5 target glib/meson.build | 4 --
- unittests/linuxliketests.py | 37 -------------------
- 7 files changed, 11 insertions(+), 87 deletions(-)
- delete mode 100644 test cases/failing build/1 vala c werror/meson.build
- delete mode 100644 test cases/failing build/1 vala c werror/prog.vala
- delete mode 100644 test cases/failing build/1 vala c werror/unused-var.c
-
-diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
-index 2c24e4c31..639e07b2a 100644
---- a/mesonbuild/backend/backends.py
-+++ b/mesonbuild/backend/backends.py
-@@ -986,7 +986,7 @@ class Backend:
- return compiler.get_no_stdinc_args()
- return []
-
-- def generate_basic_compiler_args(self, target: build.BuildTarget, compiler: 'Compiler', no_warn_args: bool = False) -> 'CompilerArgs':
-+ def generate_basic_compiler_args(self, target: build.BuildTarget, compiler: 'Compiler') -> 'CompilerArgs':
- # Create an empty commands list, and start adding arguments from
- # various sources in the order in which they must override each other
- # starting from hard-coded defaults followed by build options and so on.
-@@ -999,17 +999,12 @@ class Backend:
- commands += self.get_no_stdlib_args(target, compiler)
- # Add things like /NOLOGO or -pipe; usually can't be overridden
- commands += compiler.get_always_args()
-- # Only add warning-flags by default if the buildtype enables it, and if
-- # we weren't explicitly asked to not emit warnings (for Vala, f.ex)
-- if no_warn_args:
-- commands += compiler.get_no_warn_args()
-- else:
-- # warning_level is a string, but mypy can't determine that
-- commands += compiler.get_warn_args(T.cast('str', target.get_option(OptionKey('warning_level'))))
-+ # warning_level is a string, but mypy can't determine that
-+ commands += compiler.get_warn_args(T.cast('str', target.get_option(OptionKey('warning_level'))))
- # Add -Werror if werror=true is set in the build options set on the
- # command-line or default_options inside project(). This only sets the
- # action to be done for warnings if/when they are emitted, so it's ok
-- # to set it after get_no_warn_args() or get_warn_args().
-+ # to set it after or get_warn_args().
- if target.get_option(OptionKey('werror')):
- commands += compiler.get_werror_args()
- # Add compile args for c_* or cpp_* build options set on the
-diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
-index 049ae253f..cdb747d73 100644
---- a/mesonbuild/backend/ninjabackend.py
-+++ b/mesonbuild/backend/ninjabackend.py
-@@ -1939,7 +1939,7 @@ class NinjaBackend(backends.Backend):
- if cratetype in {'bin', 'dylib'}:
- args.extend(rustc.get_linker_always_args())
-
-- args += self.generate_basic_compiler_args(target, rustc, False)
-+ args += self.generate_basic_compiler_args(target, rustc)
- # Rustc replaces - with _. spaces or dots are not allowed, so we replace them with underscores
- args += ['--crate-name', target.name.replace('-', '_').replace(' ', '_').replace('.', '_')]
- depfile = os.path.join(target.subdir, target.name + '.d')
-@@ -2804,10 +2804,9 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
- bargs = []
- return (sargs, bargs)
-
-- def _generate_single_compile(self, target: build.BuildTarget, compiler: 'Compiler',
-- is_generated: bool = False) -> 'CompilerArgs':
-+ def _generate_single_compile(self, target: build.BuildTarget, compiler: Compiler) -> CompilerArgs:
- commands = self._generate_single_compile_base_args(target, compiler)
-- commands += self._generate_single_compile_target_args(target, compiler, is_generated)
-+ commands += self._generate_single_compile_target_args(target, compiler)
- return commands
-
- def _generate_single_compile_base_args(self, target: build.BuildTarget, compiler: 'Compiler') -> 'CompilerArgs':
-@@ -2825,14 +2824,10 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
- return commands
-
- @lru_cache(maxsize=None)
-- def _generate_single_compile_target_args(self, target: build.BuildTarget, compiler: 'Compiler',
-- is_generated: bool = False) -> 'ImmutableListProtocol[str]':
-- # The code generated by valac is usually crap and has tons of unused
-- # variables and such, so disable warnings for Vala C sources.
-- no_warn_args = is_generated == 'vala'
-+ def _generate_single_compile_target_args(self, target: build.BuildTarget, compiler: Compiler) -> ImmutableListProtocol[str]:
- # Add compiler args and include paths from several sources; defaults,
- # build options, external dependencies, etc.
-- commands = self.generate_basic_compiler_args(target, compiler, no_warn_args)
-+ commands = self.generate_basic_compiler_args(target, compiler)
- # Add custom target dirs as includes automatically, but before
- # target-specific include directories.
- if target.implicit_include_directories:
-@@ -2901,7 +2896,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
- if use_pch and 'mw' not in compiler.id:
- commands += self.get_pch_include_args(compiler, target)
-
-- commands += self._generate_single_compile_target_args(target, compiler, is_generated=False)
-+ commands += self._generate_single_compile_target_args(target, compiler)
-
- # Metrowerks compilers require PCH include args to come after intraprocedural analysis args
- if use_pch and 'mw' in compiler.id:
-@@ -2935,7 +2930,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
- if use_pch and 'mw' not in compiler.id:
- commands += self.get_pch_include_args(compiler, target)
-
-- commands += self._generate_single_compile_target_args(target, compiler, is_generated)
-+ commands += self._generate_single_compile_target_args(target, compiler)
-
- # Metrowerks compilers require PCH include args to come after intraprocedural analysis args
- if use_pch and 'mw' in compiler.id:
-diff --git a/test cases/failing build/1 vala c werror/meson.build b/test cases/failing build/1 vala c werror/meson.build
-deleted file mode 100644
-index 736d7aa43..000000000
---- a/test cases/failing build/1 vala c werror/meson.build
-+++ /dev/null
-@@ -1,10 +0,0 @@
--project('valatest', 'c', default_options : 'werror=true')
--
--if find_program('valac', required : false).found()
-- add_languages('vala')
-- valadeps = [dependency('glib-2.0'), dependency('gobject-2.0')]
-- # Must fail due to -Werror and unused variable in C file
-- executable('valaprog', 'prog.vala', 'unused-var.c', dependencies : valadeps)
--else
-- executable('failprog', 'unused-var.c')
--endif
-diff --git a/test cases/failing build/1 vala c werror/prog.vala b/test cases/failing build/1 vala c werror/prog.vala
-deleted file mode 100644
-index 638e77660..000000000
---- a/test cases/failing build/1 vala c werror/prog.vala
-+++ /dev/null
-@@ -1,7 +0,0 @@
--class MainProg : GLib.Object {
--
-- public static int main(string[] args) {
-- stdout.printf("Vala is working.\n");
-- return 0;
-- }
--}
-diff --git a/test cases/failing build/1 vala c werror/unused-var.c b/test cases/failing build/1 vala c werror/unused-var.c
-deleted file mode 100644
-index 6b85078c9..000000000
---- a/test cases/failing build/1 vala c werror/unused-var.c
-+++ /dev/null
-@@ -1,8 +0,0 @@
--#warning "something"
--
--int
--somelib(void)
--{
-- int unused_var;
-- return 33;
--}
-diff --git a/test cases/vala/5 target glib/meson.build b/test cases/vala/5 target glib/meson.build
-index f285d9f16..089bb3c97 100644
---- a/test cases/vala/5 target glib/meson.build
-+++ b/test cases/vala/5 target glib/meson.build
-@@ -1,9 +1,5 @@
- project('valatest', 'vala', 'c')
-
--if not meson.is_unity()
-- add_global_arguments('-Werror', language : 'c')
--endif
--
- valadeps = [dependency('glib-2.0', version : '>=2.32'), dependency('gobject-2.0')]
-
- e = executable('valaprog', 'GLib.Thread.vala', 'retcode.c', dependencies : valadeps)
-diff --git a/unittests/linuxliketests.py b/unittests/linuxliketests.py
-index 4fcf52e09..a02c99e8f 100644
---- a/unittests/linuxliketests.py
-+++ b/unittests/linuxliketests.py
-@@ -298,43 +298,6 @@ class LinuxlikeTests(BasePlatformTests):
- self.build()
- self._run(self.mtest_command)
-
-- def test_vala_c_warnings(self):
-- '''
-- Test that no warnings are emitted for C code generated by Vala. This
-- can't be an ordinary test case because we need to inspect the compiler
-- database.
-- https://github.com/mesonbuild/meson/issues/864
-- '''
-- if not shutil.which('valac'):
-- raise SkipTest('valac not installed.')
-- testdir = os.path.join(self.vala_test_dir, '5 target glib')
-- self.init(testdir)
-- compdb = self.get_compdb()
-- vala_command = None
-- c_command = None
-- for each in compdb:
-- if each['file'].endswith('GLib.Thread.c'):
-- vala_command = each['command']
-- elif each['file'].endswith('GLib.Thread.vala'):
-- continue
-- elif each['file'].endswith('retcode.c'):
-- c_command = each['command']
-- else:
-- m = 'Unknown file {!r} in vala_c_warnings test'.format(each['file'])
-- raise AssertionError(m)
-- self.assertIsNotNone(vala_command)
-- self.assertIsNotNone(c_command)
-- # -w suppresses all warnings, should be there in Vala but not in C
-- self.assertIn(" -w ", vala_command)
-- self.assertNotIn(" -w ", c_command)
-- # -Wall enables all warnings, should be there in C but not in Vala
-- self.assertNotIn(" -Wall ", vala_command)
-- self.assertIn(" -Wall ", c_command)
-- # -Werror converts warnings to errors, should always be there since it's
-- # injected by an unrelated piece of code and the project has werror=true
-- self.assertIn(" -Werror ", vala_command)
-- self.assertIn(" -Werror ", c_command)
--
- @skipIfNoPkgconfig
- def test_qtdependency_pkgconfig_detection(self):
- '''
---
-2.41.0
-
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 <chewi@gentoo.org>
-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.3.1-xtools-support.patch b/dev-build/meson/files/meson-1.3.1-xtools-support.patch
deleted file mode 100644
index 6d766afc10..0000000000
--- a/dev-build/meson/files/meson-1.3.1-xtools-support.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 2725b6d7a35b3bbbadd65c0accd71a66ac70549d Mon Sep 17 00:00:00 2001
-From: Fabian Groffen <grobian@gentoo.org>
-Date: Wed, 17 Jan 2024 17:04:45 +0100
-Subject: [PATCH] linkers_detect: detect xtools (Apple ld64 derivative)
-
-xtools is in use on Gentoo Prefix x86_64 and ppc based Darwin installs.
-Pick it up as a valid linker.
-
-Since xtools is answering with a version to --version, as opposed to
-ld64, detection of xtools in the ld64 handling block is not possible,
-since --version already succeeded.
-
-Author: Fabian Groffen <grobian@gentoo.org>
-Bug: https://bugs.gentoo.org/868516
-Bug: https://github.com/mesonbuild/meson/issues/10805
-Signed-off-by: Fabian Groffen <grobian@gentoo.org>
----
- mesonbuild/linkers/detect.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/mesonbuild/linkers/detect.py b/mesonbuild/linkers/detect.py
-index 918f2e63426b..1bce413f4f52 100644
---- a/mesonbuild/linkers/detect.py
-+++ b/mesonbuild/linkers/detect.py
-@@ -174,6 +174,11 @@ def guess_nix_linker(env: 'Environment', compiler: T.List[str], comp_class: T.Ty
- v = search_version(o)
-
- linker = linkers.LLVMDynamicLinker(compiler, for_machine, comp_class.LINKER_PREFIX, override, version=v)
-+ # detect xtools first, bug #10805
-+ elif 'xtools-' in o.split('\n', maxsplit=1)[0]:
-+ xtools = o.split(' ', maxsplit=1)[0]
-+ v = xtools.split('-', maxsplit=2)[1]
-+ linker = linkers.AppleDynamicLinker(compiler, for_machine, comp_class.LINKER_PREFIX, override, version=v)
- # First might be apple clang, second is for real gcc, the third is icc.
- # Note that "ld: unknown option: " sometimes instead is "ld: unknown options:".
- elif e.endswith('(use -v to see invocation)\n') or 'macosx_version' in e or 'ld: unknown option' in e: