forked from pool/meson
Compare commits
34 Commits
Author | SHA256 | Date | |
---|---|---|---|
eafb035bf1 | |||
4f1ed74803 | |||
0bde71fddc | |||
0598636708 | |||
98b8ef7e03 | |||
|
08a32e2e42 | ||
|
3ebe986bb6 | ||
|
9ab81dfc38 | ||
9ccbdfee3f | |||
a9a5a6a79b | |||
99e2aacd3d | |||
03baa19a02 | |||
8ba2d06726 | |||
40c4fdbb24 | |||
13a34913de | |||
ecb39bf550 | |||
0a5ff122b8 | |||
1a61062552 | |||
1a4292995b | |||
a0b9e96633 | |||
62ce7501c0 | |||
4930b931f2 | |||
fa61bf25f6 | |||
b1b6213c06 | |||
02c1c16002 | |||
5a550f9b32 | |||
a5f4cb39d9 | |||
5e9094bc8e | |||
2771258507 | |||
4b0cc15995 | |||
55e2e3cc00 | |||
a90c6d1776 | |||
8ccaa6d4cc | |||
f417e64e97 |
51
14001.patch
Normal file
51
14001.patch
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
From 8679ea9525672d74030303be062d9545c92b5840 Mon Sep 17 00:00:00 2001
|
||||||
|
From: solomoncyj <solomoncyj@gmail.com>
|
||||||
|
Date: Sun, 15 Dec 2024 21:00:42 +0800
|
||||||
|
Subject: [PATCH 1/2] feat: set up dependencies generation for fedora
|
||||||
|
|
||||||
|
---
|
||||||
|
data/macros.meson | 5 +++++
|
||||||
|
data/mesongenbuildreq.py | 16 ++++++++++++++++
|
||||||
|
2 files changed, 21 insertions(+)
|
||||||
|
create mode 100644 data/mesongenbuildreq.py
|
||||||
|
|
||||||
|
Index: meson-1.7.0/data/macros.meson
|
||||||
|
===================================================================
|
||||||
|
--- meson-1.7.0.orig/data/macros.meson
|
||||||
|
+++ meson-1.7.0/data/macros.meson
|
||||||
|
@@ -47,6 +47,11 @@
|
||||||
|
%{?qemu_user_space_build: -t 10} \
|
||||||
|
%{nil}}
|
||||||
|
|
||||||
|
+%meson_buildrequires \
|
||||||
|
+ %{shrink: python3 %{_rpmconfigdir}/mesongenbuildreq %{__meson} \
|
||||||
|
+ %{nil}}
|
||||||
|
+
|
||||||
|
+
|
||||||
|
# Declarative buildsystem, requires RPM 4.20+ to work
|
||||||
|
# https://rpm-software-management.github.io/rpm/manual/buildsystem.html
|
||||||
|
%buildsystem_meson_conf() %meson %*
|
||||||
|
Index: meson-1.7.0/data/mesongenbuildreq.py
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ meson-1.7.0/data/mesongenbuildreq.py
|
||||||
|
@@ -0,0 +1,19 @@
|
||||||
|
+import subprocess
|
||||||
|
+import json
|
||||||
|
+import sys
|
||||||
|
+deps_json = json.loads(subprocess.run([sys.argv[1], "introspect", "--dependencies", "meson.build"], capture_output=True).stdout)
|
||||||
|
+unsorted_deps = dict(zip([x['name'] for x in deps_json],[x['version'] for x in deps_json]))
|
||||||
|
+unsorted_deps.pop('', None)
|
||||||
|
+deps = {}
|
||||||
|
+for lib in list(unsorted_deps.keys()) :
|
||||||
|
+ deps[lib] = unsorted_deps[lib]
|
||||||
|
+for lib, versions in deps.items() :
|
||||||
|
+ # Prepare version constraint
|
||||||
|
+ version_str = ' ' + ' '.join(versions) if versions else ''
|
||||||
|
+ line = []
|
||||||
|
+ for prefix in ["cmake", "pkgconfig", "qmake"] :
|
||||||
|
+ buildreq = (f"{prefix}({lib}){version_str}")
|
||||||
|
+ if buildreq.split('=')[-1] == '' and '=' in buildreq :
|
||||||
|
+ buildreq = buildreq.split('=')[0]
|
||||||
|
+ line.append(buildreq)
|
||||||
|
+ print(f"({' or '.join(line)})")
|
@@ -1,10 +1,12 @@
|
|||||||
Index: b/data/macros.meson
|
Index: meson-1.7.0/data/macros.meson
|
||||||
===================================================================
|
===================================================================
|
||||||
--- a/data/macros.meson
|
--- meson-1.7.0.orig/data/macros.meson
|
||||||
+++ b/data/macros.meson
|
+++ meson-1.7.0/data/macros.meson
|
||||||
@@ -42,4 +42,5 @@
|
@@ -44,6 +44,7 @@
|
||||||
-C %{_vpath_builddir} \
|
-C %{_vpath_builddir} \
|
||||||
--num-processes %{_smp_build_ncpus} \
|
--num-processes %{_smp_build_ncpus} \
|
||||||
--print-errorlogs \
|
--print-errorlogs \
|
||||||
+ %{?qemu_user_space_build: -t 10} \
|
+ %{?qemu_user_space_build: -t 10} \
|
||||||
%{nil}}
|
%{nil}}
|
||||||
|
|
||||||
|
# Declarative buildsystem, requires RPM 4.20+ to work
|
||||||
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:567e533adf255de73a2de35049b99923caf872a455af9ce03e01077e0d384bed
|
|
||||||
size 2257106
|
|
@@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCgAdFiEEGeLW2bRtjapiiPh3wk5jG6ux/nAFAmak4oAACgkQwk5jG6ux
|
|
||||||
/nCJUA/+O88rZPlqCawXxRZ9iE3I//Arki3LIyptf6VQKmA/oiv9OIy1H+LozkQ/
|
|
||||||
/lCSrNKsGqz6hdlemZ036I2WYK+vN8q7zx1kadLM8eM5de0ZmgIFH0u0qbyNyqKR
|
|
||||||
NHTw/pP2mY6c2V7ST34kYXLFxJqzn4WsnZIVh6rJSVEsjtCHgM5pjaCPKkcYmSLO
|
|
||||||
Vj2uwMkKOoFr3bshohdxpKdzWTXQGEwZkqQmBeQlayVmtTnWDDbEZ42jkY4+DSsL
|
|
||||||
1G4/WM1+e7CoI5YWgGwFdFPe0O37Cq8ljPtS9mOgq7oWSfcAB3p7Vv20Krjn8r3L
|
|
||||||
cbxpFUllIhgaCHTQ+MQbWbtALpXb97/XiQs2iL5zDgYxBCOZhb8B7A2YmgXBsLzq
|
|
||||||
4jtfwVh5Dl26yWXDAlngZWvS9Iu8DD4ITOkKbrSMLCicd5/rBO0PPGMdGnDh1cSA
|
|
||||||
7IOSMtiH4Cvg18MWlQ0masPTxSk700u/vHpagdJZlQzYFut3qfBSUFXNfsLrDjrs
|
|
||||||
vwYauHv4Pw5z0zAsFELZJe6yxoE1n4I79xrqp8L6bE5RsVjbmPWTcEhmopqJ98EP
|
|
||||||
HI6KwY3gBz152lDcnHlQ8u3auW1qQA2Ur3CiljWJaZnT1x0rcqIxOvXCLe8RXxxn
|
|
||||||
nw292/9IP/gbOjXYNxNEi0s3PQfjctzhwzmfMTKLH8VOgHMCJvc=
|
|
||||||
=qc8Q
|
|
||||||
-----END PGP SIGNATURE-----
|
|
3
meson-1.8.3.tar.gz
Normal file
3
meson-1.8.3.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:f118aa910fc0a137cc2dd0122232dbf82153d9a12fb5b0f5bb64896f6a157abf
|
||||||
|
size 2335924
|
16
meson-1.8.3.tar.gz.asc
Normal file
16
meson-1.8.3.tar.gz.asc
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEGeLW2bRtjapiiPh3wk5jG6ux/nAFAmiKkZ8ACgkQwk5jG6ux
|
||||||
|
/nACNw//VhEzIdDraR95wiGL7AB3/BuJcVdDXyPmvnuHIDVHT94lstRvo7hOYBVY
|
||||||
|
aQpHDWwv9OkiEgBv3xyZOc0EDNRN1fUA5kcCmX4EIZyuvHoDrgHFxTIrIh4tEOk1
|
||||||
|
OcjvgBfPlD7FcnLbhVOubLdad3xf8/j1kMp467ULRoDrhk4oqkiIoMGPs1qlkIes
|
||||||
|
M8tgBxWUdeLHPkTLSz30HZL+Q8MCxIVn3ac7vi4cNGCxeos9J539Eg9p/VJloGOm
|
||||||
|
xd8nnydUUaVIr1OPO+XMcXAMgMrgXpFHFarO6aBzHE5Em/2pfnQw/m45EdlUzkDy
|
||||||
|
uiBfuHGTC65oo+Y5ydyITvDzRInZ29Je30hVcVgGoLBWuBvoRIzYL7mtEOf1Slio
|
||||||
|
u4YhyuCPf3c66x1fQ6qXfSeGf2NGHI0IUjeC3c7sO9DijM4XnVLeFwSlU7NCTHL0
|
||||||
|
IM/xm8CZ5GvtWgEgzB1x8d4WI90qZH1ydvZrb6bnHw4yWUvf2j3KUtXkJHet8e5H
|
||||||
|
448Qy/B1qyNDhwFuVH4j+aR7vJ+2UzeWzCYGqujJrWvbOGkje7rNLrg4K+bWxs66
|
||||||
|
R+AWb7aBw7Bv0vxcgT5TNvaWl0Eb8bCSuaQVNpoC7da5HXzLIaFdiuckXBpc0/8c
|
||||||
|
s6ipjVNBDaiARtSdON2hT1rBXX5JxBMQsqPj80A+fnXfuP35XeY=
|
||||||
|
=a3nW
|
||||||
|
-----END PGP SIGNATURE-----
|
@@ -1,41 +0,0 @@
|
|||||||
Index: b/setup.py
|
|
||||||
===================================================================
|
|
||||||
--- a/setup.py
|
|
||||||
+++ b/setup.py
|
|
||||||
@@ -20,7 +20,7 @@ if sys.version_info < (3, 7):
|
|
||||||
raise SystemExit('ERROR: Tried to install Meson with an unsupported Python version: \n{}'
|
|
||||||
'\nMeson requires Python 3.7.0 or greater'.format(sys.version))
|
|
||||||
|
|
||||||
-from setuptools import setup
|
|
||||||
+from distutils.core import setup
|
|
||||||
|
|
||||||
data_files = []
|
|
||||||
if sys.platform != 'win32':
|
|
||||||
@@ -28,4 +28,16 @@ if sys.platform != 'win32':
|
|
||||||
data_files = [('share/man/man1', ['man/meson.1']),
|
|
||||||
('share/polkit-1/actions', ['data/com.mesonbuild.install.policy'])]
|
|
||||||
|
|
||||||
-setup(data_files=data_files,)
|
|
||||||
+# Since distutils does not understand the find: directive in setup.cfg, and
|
|
||||||
+# therefore doesn't expand it, we need to do it directly
|
|
||||||
+import os
|
|
||||||
+packages=[
|
|
||||||
+ root.replace('/', '.')
|
|
||||||
+ for root, dirs, files in os.walk('mesonbuild')
|
|
||||||
+ if '__init__.py' in files]
|
|
||||||
+
|
|
||||||
+setup(
|
|
||||||
+ packages=packages,
|
|
||||||
+ package_data={'mesonbuild.dependencies.data': ['mesonbuild/dependencies/data/*.txt']},
|
|
||||||
+ data_files=data_files,
|
|
||||||
+)
|
|
||||||
Index: b/MANIFEST.in
|
|
||||||
===================================================================
|
|
||||||
--- a/MANIFEST.in
|
|
||||||
+++ b/MANIFEST.in
|
|
||||||
@@ -17,3 +17,5 @@ include run_unittests.py
|
|
||||||
include run_meson_command_tests.py
|
|
||||||
include run_project_tests.py
|
|
||||||
include meson.py
|
|
||||||
+
|
|
||||||
+include mesonbuild/dependencies/data/*.txt
|
|
192
meson.changes
192
meson.changes
@@ -1,3 +1,195 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jul 31 10:49:59 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Update to version 1.8.3:
|
||||||
|
+ Add project to check that test target's args and depends are in
|
||||||
|
path.
|
||||||
|
+ options: do not store duplicate UserOptions.
|
||||||
|
+ options: apply CFLAGS even if c_link_args exists.
|
||||||
|
+ interpreter: allow retrieving build options with get_option().
|
||||||
|
+ environment: allow setting build options with "build." prefix.
|
||||||
|
+ hdf5: Skip failing Fortran config-tool test when h5fc is
|
||||||
|
broken.
|
||||||
|
+ Replace deprecated setup.py install command.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 10 06:56:52 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Update to version 1.8.2:
|
||||||
|
+ Unbreak "Fix setuptools 49 test".
|
||||||
|
+ cargo: set edition for build machine as well.
|
||||||
|
+ Vala: Fix GResource source directories.
|
||||||
|
+ Vala: Add test for generated UI in subdirectories.
|
||||||
|
+ cmake: Fix target_link_libraries against project targets.
|
||||||
|
+ vala: Pass --shared-library to valac when generating a .gir
|
||||||
|
file.
|
||||||
|
+ tests: don't skip frameworks/17 mpi for auto/pkgconfig.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 26 13:09:47 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Update to version 1.8.1:
|
||||||
|
+ options: fix "deprecated" with dictionary argument and
|
||||||
|
non-string types.
|
||||||
|
+ options: tighten type of cmd_line_options.
|
||||||
|
+ options: extract validation of command line options.
|
||||||
|
+ cmake: include_directories() returns an array.
|
||||||
|
+ more explicit error message for unrecognized lexer token.
|
||||||
|
+ gnome: fix typo in creating gir flags.
|
||||||
|
+ gnome: initialize CFLAGS environment variable to linker
|
||||||
|
arguments.
|
||||||
|
+ cmake: Fix toolchain including unsupported languages.
|
||||||
|
- Drop 14526.patch: fixed upstream.
|
||||||
|
- Drop fix-include-dir.patch: fixed upstream.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 26 08:54:31 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>
|
||||||
|
|
||||||
|
- Add reproducible.patch to not embed CPU-core count
|
||||||
|
into src.rpms (boo#1237231)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 21 07:17:03 UTC 2025 - Paolo Stivanin <info@paolostivanin.com>
|
||||||
|
|
||||||
|
- Add fix-include-dir.patch: due to incorrect documentation,
|
||||||
|
commit 1f4bb37 ("modules/cmake: Make fully type safe", 2025-04-02)
|
||||||
|
added an incorrect assertion.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 29 10:11:41 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Update to version 1.8.0:
|
||||||
|
+ New argument android_exe_type for executables.
|
||||||
|
+ Changes to the b_sanitize option.
|
||||||
|
+ New C standard c2y (and gnu2y).
|
||||||
|
+ i18n module xgettext.
|
||||||
|
+ version_compare now accept multiple compare strings.
|
||||||
|
+ Improvements to Objective-C and Objective-C++.
|
||||||
|
+ Per project subproject options rewrite.
|
||||||
|
+ objects added correctly to Rust executables.
|
||||||
|
+ rust.test now supports link_whole.
|
||||||
|
+ Meson can run "rustdoc" on Rust projects.
|
||||||
|
+ The Wayland module is stable.
|
||||||
|
+ New swift_std compiler option.
|
||||||
|
+ New option to execute a slice of tests.
|
||||||
|
+ Valgrind now fails tests if errors are found.
|
||||||
|
- Add 14526.patch: Fix test suite when run in a directory
|
||||||
|
containing 'test-1' as part of the name (as in meson-test-1.8.0).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 2 06:43:44 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Update to version 1.7.1:
|
||||||
|
+ When subproject() fails because downloading is disabled, say
|
||||||
|
what failed.
|
||||||
|
+ tests: work around broken PyPy globbing by removing inert code.
|
||||||
|
+ get_llvm_tool_names: add llvm 20.
|
||||||
|
+ linkers: revert a binutils bug workaround, sort of.
|
||||||
|
- Drop 14337.patch: fixed upstream.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 24 07:28:20 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Add 14337.patch: get_llvm_tool_names: add llvm 20.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jan 30 11:48:21 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Add 14001.patch: Add meson BuildRequires generator.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 27 08:03:56 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Update to version 1.7.0:
|
||||||
|
+ Call for testing for next release
|
||||||
|
+ New custom dependency for atomic
|
||||||
|
+ `--cap-lints allow` used for Cargo subprojects
|
||||||
|
+ Cargo features are resolved globally
|
||||||
|
+ Meson can run "clippy" on Rust projects
|
||||||
|
+ Devenv support in external project module
|
||||||
|
+ Fixed `sizeof` and `find_library` methods for Fortran compilers
|
||||||
|
+ format command now accept stdin argument
|
||||||
|
+ "machine" entry in target introspection data
|
||||||
|
+ Add new language Linear Asm
|
||||||
|
+ Control the number of child processes with an environment variable
|
||||||
|
+ Support for Rust 2024
|
||||||
|
+ Support TASKING VX-Toolset
|
||||||
|
+ Test targets no longer built by default
|
||||||
|
+ Install vcs_tag() output
|
||||||
|
- Rebase extend-test-timeout-on-qemu-builds.patch.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jan 16 04:16:31 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- Drop the bcond on setuptools, its primary flavor will live in Ring 0.
|
||||||
|
- Drop patch meson-distutils.patch, not required.
|
||||||
|
- Instruct autosetup macro to apply all patches.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Dec 17 07:21:30 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Update to version 1.6.1:
|
||||||
|
+ Handle top level options set in subprojects.
|
||||||
|
+ modernize Rust template.
|
||||||
|
+ CMakeToolchain: Log output on compiler state failure.
|
||||||
|
+ rust: fix computation of library directory.
|
||||||
|
+ modules/rust: Add support for autolib field in the Cargo.toml.
|
||||||
|
- Drop 13935.patch: fixed upstream.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Dec 10 14:17:35 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Drop meson-testsuite-with-cmake-3.31.patch: the actual fix was
|
||||||
|
done in CMake 3.31.2.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Dec 6 11:11:56 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Add 13935.patch: Fix test suite with rust 1.83.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Nov 22 09:21:34 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Add meson-testsuite-with-cmake-3.31.patch: Fix test suite run
|
||||||
|
against CMake 3.31.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 21 06:52:57 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Update ro version 1.6.0:
|
||||||
|
+ Support for OpenXL compiler in AIX.
|
||||||
|
+ Default to printing deprecations when no minimum version is
|
||||||
|
specified.
|
||||||
|
+ Cargo subprojects is experimental.
|
||||||
|
+ Dependencies from CMake subprojects now use only PUBLIC link
|
||||||
|
flags.
|
||||||
|
+ New built-in option for default both_libraries.
|
||||||
|
+ New as_static and as_shared methods on internal dependencies.
|
||||||
|
+ Support for DIA SDK.
|
||||||
|
+ Support for LLVM-based flang compiler.
|
||||||
|
+ nvc and nvc++ now support setting std.
|
||||||
|
+ Tools can be selected when calling has_tools() on the Qt
|
||||||
|
modules.
|
||||||
|
+ Simple tool to test build reproducibility.
|
||||||
|
+ Support for variable in system dependencies.
|
||||||
|
+ test() and benchmark() functions accept new types.
|
||||||
|
+ Zig 0.11 can be used as a C/C++ compiler frontend.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Sep 23 06:03:36 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Update to version 1.5.2:
|
||||||
|
+ compilers: do not strip '-isystem' from C build arguments.
|
||||||
|
+ Prevent raw exception during project().
|
||||||
|
+ compilers: Pass mode to determine_args, not its string value.
|
||||||
|
+ nasm: Use different test sources for x86 and x86_64.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 19 11:34:30 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- BuildRequire gettext-devel instead of gettext: allow OBS to
|
||||||
|
shortcut through gettext-runtime-mini.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Jul 27 20:50:09 UTC 2024 - Andreas Stieger <andreas.stieger@gmx.de>
|
Sat Jul 27 20:50:09 UTC 2024 - Andreas Stieger <andreas.stieger@gmx.de>
|
||||||
|
|
||||||
|
57
meson.spec
57
meson.spec
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package meson
|
# spec file for package meson
|
||||||
#
|
#
|
||||||
# Copyright (c) 2024 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC
|
||||||
# Copyright (c) 2024 Andreas Stieger <Andreas.Stieger@gmx.de>
|
# Copyright (c) 2024 Andreas Stieger <Andreas.Stieger@gmx.de>
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
@@ -33,10 +33,9 @@
|
|||||||
%endif
|
%endif
|
||||||
%define _name mesonbuild
|
%define _name mesonbuild
|
||||||
%{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim}
|
%{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim}
|
||||||
%bcond_with setuptools
|
|
||||||
%bcond_without mono
|
%bcond_without mono
|
||||||
Name: meson%{name_ext}
|
Name: meson%{name_ext}
|
||||||
Version: 1.5.1
|
Version: 1.8.3
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Python-based build system
|
Summary: Python-based build system
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
@@ -49,16 +48,14 @@ Source2: meson.keyring
|
|||||||
Patch0: meson-test-installed-bin.patch
|
Patch0: meson-test-installed-bin.patch
|
||||||
# PATCH-FIX-OPENSUSE give more time to testsuites that run emulated
|
# PATCH-FIX-OPENSUSE give more time to testsuites that run emulated
|
||||||
Patch1: extend-test-timeout-on-qemu-builds.patch
|
Patch1: extend-test-timeout-on-qemu-builds.patch
|
||||||
# PATCH-FIX-OPENSUSE meson-distutils.patch -- meson is ring0 and therefor setuptools is not available
|
# PATCH-FEATURE-UPSTREAM -- based on https://github.com/mesonbuild/meson/pull/14001/commits
|
||||||
Patch2: meson-distutils.patch
|
Patch2: 14001.patch
|
||||||
|
# PATCH-FIX-UPSTREAM https://github.com/mesonbuild/meson/pull/14580
|
||||||
|
Patch3: reproducible.patch
|
||||||
BuildRequires: %{python_module base >= 3.7}
|
BuildRequires: %{python_module base >= 3.7}
|
||||||
|
BuildRequires: %{python_module setuptools}
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros
|
||||||
%if %{with setuptools}
|
|
||||||
BuildRequires: %{python_module setuptools}
|
|
||||||
Requires: python3-setuptools
|
|
||||||
%endif
|
|
||||||
%if "%{flavor}" != "test"
|
%if "%{flavor}" != "test"
|
||||||
Requires: ninja >= 1.8.2
|
Requires: ninja >= 1.8.2
|
||||||
# meson-gui was last used in openSUSE Leap 42.1.
|
# meson-gui was last used in openSUSE Leap 42.1.
|
||||||
@@ -89,7 +86,7 @@ BuildRequires: gcc-fortran >= 12
|
|||||||
BuildRequires: gcc-obj-c++ >= 12
|
BuildRequires: gcc-obj-c++ >= 12
|
||||||
BuildRequires: gcc-objc >= 12
|
BuildRequires: gcc-objc >= 12
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: gettext
|
BuildRequires: gettext-devel
|
||||||
BuildRequires: git
|
BuildRequires: git
|
||||||
BuildRequires: gmock
|
BuildRequires: gmock
|
||||||
BuildRequires: gnustep-make
|
BuildRequires: gnustep-make
|
||||||
@@ -102,6 +99,8 @@ BuildRequires: libboost_python3-devel
|
|||||||
BuildRequires: %{python_module devel}
|
BuildRequires: %{python_module devel}
|
||||||
BuildRequires: %{python_module gobject}
|
BuildRequires: %{python_module gobject}
|
||||||
BuildRequires: %{python_module pytest-xdist}
|
BuildRequires: %{python_module pytest-xdist}
|
||||||
|
BuildRequires: libboost_python3-devel
|
||||||
|
BuildRequires: libboost_regex-devel
|
||||||
BuildRequires: libboost_system-devel
|
BuildRequires: libboost_system-devel
|
||||||
BuildRequires: libboost_test-devel
|
BuildRequires: libboost_test-devel
|
||||||
BuildRequires: libboost_thread-devel
|
BuildRequires: libboost_thread-devel
|
||||||
@@ -180,12 +179,7 @@ This package provides meson.build syntax highlighting support for
|
|||||||
Vim/NeoVim.
|
Vim/NeoVim.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -N -n meson-%{version}
|
%autosetup -p1 -n meson-%{version}
|
||||||
%patch -P 0 -p1
|
|
||||||
%patch -P 1 -p1
|
|
||||||
%if !%{with setuptools}
|
|
||||||
%patch -P 2 -p1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if 0%{?sle_version} >= 150400 && 0%{?sle_version} < 160000
|
%if 0%{?sle_version} >= 150400 && 0%{?sle_version} < 160000
|
||||||
# AddressSanitizer fails here because of ulimit.
|
# AddressSanitizer fails here because of ulimit.
|
||||||
@@ -225,6 +219,9 @@ rm -r meson.py mesonbuild
|
|||||||
install -Dpm 0644 data/macros.meson \
|
install -Dpm 0644 data/macros.meson \
|
||||||
%{buildroot}%{_rpmconfigdir}/macros.d/macros.meson
|
%{buildroot}%{_rpmconfigdir}/macros.d/macros.meson
|
||||||
|
|
||||||
|
install -Dpm 0755 data//mesongenbuildreq.py \
|
||||||
|
%{buildroot}%{_rpmconfigdir}/mesongenbuildreq
|
||||||
|
|
||||||
install -Dpm 0644 data/syntax-highlighting/vim/ftdetect/meson.vim \
|
install -Dpm 0644 data/syntax-highlighting/vim/ftdetect/meson.vim \
|
||||||
-t %{buildroot}%{vim_data_dir}/site/ftdetect/
|
-t %{buildroot}%{vim_data_dir}/site/ftdetect/
|
||||||
install -Dpm 0644 data/syntax-highlighting/vim/indent/meson.vim \
|
install -Dpm 0644 data/syntax-highlighting/vim/indent/meson.vim \
|
||||||
@@ -232,31 +229,6 @@ install -Dpm 0644 data/syntax-highlighting/vim/indent/meson.vim \
|
|||||||
install -Dpm 0644 data/syntax-highlighting/vim/syntax/meson.vim \
|
install -Dpm 0644 data/syntax-highlighting/vim/syntax/meson.vim \
|
||||||
-t %{buildroot}%{vim_data_dir}/site/syntax/
|
-t %{buildroot}%{vim_data_dir}/site/syntax/
|
||||||
|
|
||||||
# entry points are not distutils-able
|
|
||||||
%if !%{with setuptools}
|
|
||||||
mkdir -p %{buildroot}%{_bindir}
|
|
||||||
echo """#!%{_bindir}/python3
|
|
||||||
from mesonbuild.mesonmain import main
|
|
||||||
import sys
|
|
||||||
|
|
||||||
sys.exit(main())
|
|
||||||
""" > %{buildroot}%{_bindir}/%{name}
|
|
||||||
chmod +x %{buildroot}%{_bindir}/%{name}
|
|
||||||
%{python_expand %{$python_fix_shebang}
|
|
||||||
|
|
||||||
# ensure egg-info is a directory
|
|
||||||
rm %{buildroot}%{$python_sitelib}/*.egg-info
|
|
||||||
cp -r meson.egg-info %{buildroot}%{$python_sitelib}/meson-%{version}-py%{$python_version}.egg-info
|
|
||||||
}
|
|
||||||
|
|
||||||
# Fix missing data files with distutils
|
|
||||||
while read line; do
|
|
||||||
if [[ "$line" = %{_name}/* ]]; then
|
|
||||||
[[ "$line" = *.py ]] && continue
|
|
||||||
cp "$line" "%{buildroot}%{python_sitelib}/$line"
|
|
||||||
fi
|
|
||||||
done < meson.egg-info/SOURCES.txt
|
|
||||||
%endif
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with test}
|
%if %{with test}
|
||||||
@@ -297,6 +269,7 @@ export PYTHONDONTWRITEBYTECODE=1
|
|||||||
%dir %{_datadir}/polkit-1/actions/
|
%dir %{_datadir}/polkit-1/actions/
|
||||||
%{_datadir}/polkit-1/actions/com.mesonbuild.install.policy
|
%{_datadir}/polkit-1/actions/com.mesonbuild.install.policy
|
||||||
%{_rpmconfigdir}/macros.d/macros.meson
|
%{_rpmconfigdir}/macros.d/macros.meson
|
||||||
|
%{_rpmconfigdir}/mesongenbuildreq
|
||||||
%{_mandir}/man1/meson.1%{?ext_man}
|
%{_mandir}/man1/meson.1%{?ext_man}
|
||||||
|
|
||||||
%files vim
|
%files vim
|
||||||
|
35
reproducible.patch
Normal file
35
reproducible.patch
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
commit 4883b2bac4e2bb5cee49b2efdf0f77dfc2b5b77c
|
||||||
|
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
|
||||||
|
Date: Fri May 9 11:36:03 2025 +0200
|
||||||
|
|
||||||
|
macros: use smp_mflags
|
||||||
|
|
||||||
|
to avoid embedding the number of CPU cores
|
||||||
|
in the .src.rpm header's expanded SPEC field.
|
||||||
|
|
||||||
|
See also https://github.com/rpm-software-management/rpm/issues/2343
|
||||||
|
|
||||||
|
This patch was done while working on reproducible builds for openSUSE.
|
||||||
|
|
||||||
|
Index: meson-1.8.0/data/macros.meson
|
||||||
|
===================================================================
|
||||||
|
--- meson-1.8.0.orig/data/macros.meson
|
||||||
|
+++ meson-1.8.0/data/macros.meson
|
||||||
|
@@ -28,7 +28,7 @@
|
||||||
|
%meson_build \
|
||||||
|
%{shrink:%{__meson} compile \
|
||||||
|
-C %{_vpath_builddir} \
|
||||||
|
- -j %{_smp_build_ncpus} \
|
||||||
|
+ %{_smp_mflags} \
|
||||||
|
%{?__meson_verbose:--verbose} \
|
||||||
|
%{nil}}
|
||||||
|
|
||||||
|
@@ -42,7 +42,7 @@
|
||||||
|
%meson_test \
|
||||||
|
%{shrink:%{__meson} test \
|
||||||
|
-C %{_vpath_builddir} \
|
||||||
|
- --num-processes %{_smp_build_ncpus} \
|
||||||
|
+ %{_smp_mflags} \
|
||||||
|
--print-errorlogs \
|
||||||
|
%{?qemu_user_space_build: -t 10} \
|
||||||
|
%{nil}}
|
Reference in New Issue
Block a user