SHA256
7
0
forked from pool/meson

Factory #1

Merged
dgarcia merged 48 commits from factory into main 2025-10-08 12:56:55 +02:00
12 changed files with 512 additions and 106 deletions

61
14001.patch Normal file
View File

@@ -0,0 +1,61 @@
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.9.0/data/macros.meson
===================================================================
--- meson-1.9.0.orig/data/macros.meson
+++ meson-1.9.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.9.0/data/mesongenbuildreq.py
===================================================================
--- /dev/null
+++ meson-1.9.0/data/mesongenbuildreq.py
@@ -0,0 +1,29 @@
+import subprocess
+import json
+import sys
+import os
+
+# Read ignored dependencies from ENV
+ignore_deps = set(os.environ.get("BUILDREQ_IGNORE_DEP", "").split())
+
+# Run introspection command
+deps_json = json.loads(
+ subprocess.run([sys.argv[1], "introspect", "--dependencies", "meson.build"],
+ capture_output=True, text=True).stdout
+)
+
+# Build deps dictionary while skipping ignored libraries
+deps = {entry['name']: entry['version'] for entry in deps_json if entry['name'] not in ignore_deps}
+
+# Output formatted build requirements
+for lib, versions in deps.items():
+ version_str = ' ' + ' '.join(versions) if versions else ''
+ line = []
+ for prefix in ["cmake", "pkgconfig", "qmake"]:
+ buildreq = f"{prefix}({lib}){version_str}"
+ # Strip trailing '=' if version was empty
+ if buildreq.split('=')[-1] == '' and '=' in buildreq:
+ buildreq = buildreq.split('=')[0]
+ line.append(buildreq)
+ print(f"({' or '.join(line)})")
+

View File

@@ -1,10 +1,12 @@
Index: b/data/macros.meson
Index: meson-1.7.0/data/macros.meson
===================================================================
--- a/data/macros.meson
+++ b/data/macros.meson
@@ -42,4 +42,5 @@
--- meson-1.7.0.orig/data/macros.meson
+++ meson-1.7.0/data/macros.meson
@@ -44,6 +44,7 @@
-C %{_vpath_builddir} \
--num-processes %{_smp_build_ncpus} \
--print-errorlogs \
+ %{?qemu_user_space_build: -t 10} \
%{nil}}
# Declarative buildsystem, requires RPM 4.20+ to work

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:567e533adf255de73a2de35049b99923caf872a455af9ce03e01077e0d384bed
size 2257106

View File

@@ -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-----

BIN
meson-1.9.1.tar.gz LFS Normal file

Binary file not shown.

19
meson-1.9.1.tar.gz.asc Normal file
View File

@@ -0,0 +1,19 @@
-----BEGIN PGP SIGNATURE-----
iQKpBAABCgCUFiEEYEETBMCdNmKDQO7/zrFn77VyK9YFAmjRjONfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDYw
NDExMzA0QzA5RDM2NjI4MzQwRUVGRkNFQjE2N0VGQjU3MjJCRDYWHGVzY2h3YXJ0
ejkzQGdtYWlsLmNvbQAKCRDOsWfvtXIr1ibHD/Yo4tCdjeTG36hyJhrIS/mxwaZY
8P6b3NHD3VHL7fwqwQrkLqT07qV3Kug6IC09sveD5fF1YRB78jKDjmV7+ialNBnY
pxVJ3DS5bjJaRVizvZcmHOJuG4ENAiRliEZbCoPJoEiOix2cKO28RrtgecKhZKyF
ph4CwexyheAw2eZmpI4/BkH4165twcW/GK0L8n1fB+FNO9eEdAen0EzOmPTGKLRs
DzKbdhEikFxKtASfjh2r0KOuG4LeO0a25wuwJQxTsMPfo5lPbAIWw+BXK1Ll2O60
jWIbbKqzGthCg6dIiyVjAVdzquqiE0mwcD/Fz+4DLDpztihYmzq5fTV5CniYek+f
ZhRF7M3qV1Q/bLRasWUKJcPFs7AJ6IzBJ/8XRefP4pw6znRy45s6r4obRvXHATL7
qnp0dqwBLFHX0TU/HD7DuoN7afqBGKtitycqJkGg+JEtdtxPte1HwcwIbQuW07/F
gOBVT7FTDTwQ95xTqUkW2B5/GtvZDbv6o0LAYKtVoZ5oqk7UAGgpP+Q7+vS7OUhj
B6WYHTTO7DWw/QNEk+h/tHWErqpVfK6e641ULyoBHoWa6eKSDDumpo3Y192sAy2M
N67JiIUf7WJTRoOhjmi+9pD2ye2uO3jSOsqHMrxVsIviz/KNUO17X6qsQJ57NPOy
ReTA/bd6QzF528A9
=Kfdd
-----END PGP SIGNATURE-----

View File

@@ -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

21
meson-issue-15992.patch Normal file
View File

@@ -0,0 +1,21 @@
Index: meson-1.9.0/data/macros.meson
===================================================================
--- meson-1.9.0.orig/data/macros.meson
+++ meson-1.9.0/data/macros.meson
@@ -29,14 +29,14 @@
%{shrink:%{__meson} compile \
-C %{_vpath_builddir} \
%{_smp_mflags} \
- %{?__meson_verbose:--verbose} \
+ %[ 0%{?__meson_verbose} ? "--verbose" : "" ] \
%{nil}}
%meson_install \
%{shrink:DESTDIR=%{buildroot} %{__meson} install \
-C %{_vpath_builddir} \
--no-rebuild \
- %{!?__meson_verbose:--quiet} \
+ %[ ! 0%{?__meson_verbose} ? "--quiet" : "" ] \
%{nil}}
%meson_test \

View File

@@ -1,3 +1,264 @@
-------------------------------------------------------------------
Tue Sep 23 07:50:04 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 1.9.1:
+ coredata: check for per-subproject compiler options
+ Document internal dep support in pkgconfig.generate requires arg
+ Fix not passing user option args to scan-build build
+ get_llvm_tool_names: add llvm 21
+ Check for header only Boost libraries
- Drop get_llvm_tool_names-llvm21.patch and 14976.patch: fixed
upstream
- Update meson.keyring: add the key of Eli Schwartz as trusted
-------------------------------------------------------------------
Sat Sep 20 21:07:26 UTC 2025 - Arjen de Korte <suse+build@de-korte.org>
- Add 14976.patch: check for header only Boost libraries.
-------------------------------------------------------------------
Thu Sep 11 20:12:22 UTC 2025 - Aaron Puchert <aaronpuchert@alice-dsl.net>
- Add get_llvm_tool_names-llvm21.patch to accept LLVM 21.
-------------------------------------------------------------------
Wed Sep 3 12:31:59 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
- Add meson-issue-15992.patch: allow packagers and obs projects to
toggle verbosity of the meson commands (__meson_verbose 0|1).
-------------------------------------------------------------------
Tue Sep 2 14:37:05 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
- Modify 14001.patch: allow to specify an envvar to filter out
unwanted deps.
-------------------------------------------------------------------
Mon Aug 25 06:14:17 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
- Updtae to version 1.9.0:
+ Array .flatten() method
+ clang-tidy's auto-generated targets correctly select source
files
+ Added Qualcomm's embedded linker, eld
+ Added suffix function to the FS module
+ Support response files for custom targets
+ meson format now has a --source-file-path argument when reading
from stdin
+ Added license keyword to pkgconfig.generate
+ New experimental option rust_dynamic_std
+ Rust and non-Rust sources in the same target
+ Explicitly setting Swift module name is now supported
+ Top-level statement handling in Swift libraries
+ Swift compiler receives select C family compiler options
+ Swift/C++ interoperability is now supported
+ Support for MASM in Visual Studio backends
+ Limited support for WrapDB v1
-------------------------------------------------------------------
Wed Aug 20 10:11:40 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 1.8.4:
+ compilers: move CFLAGS/CXXFLAGS handling to Environment.
+ interpreter: rename default_project_options.
+ options: machine_file_options keys are always OptionKeys
+ options: tighten types for validating options
+ interpreter: use correct type for project_default_options
+ options: split pending subproject options into their own dictionary
+ options: warn if subproject sets another subproject option too late
-------------------------------------------------------------------
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>

View File

@@ -190,3 +190,90 @@ DxKir5MPwHwJCgyyieTD2TDlOQTC9S2s+GPrzv/DZRDXLaVdhX/2ogOMPmTsyDmU
dxBkBtFt+g3obj4=
=AiRn
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
Lwn5
=G2wy
-----END PGP PUBLIC KEY BLOCK-----

View File

@@ -1,7 +1,7 @@
#
# spec file for package meson
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
# Copyright (c) 2024 Andreas Stieger <Andreas.Stieger@gmx.de>
#
# All modifications and additions to the file contributed by third parties
@@ -33,10 +33,9 @@
%endif
%define _name mesonbuild
%{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim}
%bcond_with setuptools
%bcond_without mono
Name: meson%{name_ext}
Version: 1.5.1
Version: 1.9.1
Release: 0
Summary: Python-based build system
License: Apache-2.0
@@ -49,16 +48,16 @@ Source2: meson.keyring
Patch0: meson-test-installed-bin.patch
# PATCH-FIX-OPENSUSE give more time to testsuites that run emulated
Patch1: extend-test-timeout-on-qemu-builds.patch
# PATCH-FIX-OPENSUSE meson-distutils.patch -- meson is ring0 and therefor setuptools is not available
Patch2: meson-distutils.patch
# PATCH-FEATURE-UPSTREAM -- based on https://github.com/mesonbuild/meson/pull/14001/commits
Patch2: 14001.patch
# PATCH-FIX-UPSTREAM https://github.com/mesonbuild/meson/pull/14580
Patch3: reproducible.patch
# PATCH-FIX-UPSTREAM -- rpm macros do not allow to override verbosity
Patch4: meson-issue-15992.patch
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
%if %{with setuptools}
BuildRequires: %{python_module setuptools}
Requires: python3-setuptools
%endif
%if "%{flavor}" != "test"
Requires: ninja >= 1.8.2
# meson-gui was last used in openSUSE Leap 42.1.
@@ -89,7 +88,7 @@ BuildRequires: gcc-fortran >= 12
BuildRequires: gcc-obj-c++ >= 12
BuildRequires: gcc-objc >= 12
%endif
BuildRequires: gettext
BuildRequires: gettext-devel
BuildRequires: git
BuildRequires: gmock
BuildRequires: gnustep-make
@@ -102,7 +101,11 @@ BuildRequires: libboost_python3-devel
BuildRequires: %{python_module devel}
BuildRequires: %{python_module gobject}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: libboost_python3-devel
BuildRequires: libboost_regex-devel
%if 0%{?suse_version} < 1600
BuildRequires: libboost_system-devel
%endif
BuildRequires: libboost_test-devel
BuildRequires: libboost_thread-devel
BuildRequires: libjpeg-devel
@@ -180,12 +183,7 @@ This package provides meson.build syntax highlighting support for
Vim/NeoVim.
%prep
%autosetup -N -n meson-%{version}
%patch -P 0 -p1
%patch -P 1 -p1
%if !%{with setuptools}
%patch -P 2 -p1
%endif
%autosetup -p1 -n meson-%{version}
%if 0%{?sle_version} >= 150400 && 0%{?sle_version} < 160000
# AddressSanitizer fails here because of ulimit.
@@ -225,6 +223,9 @@ rm -r meson.py mesonbuild
install -Dpm 0644 data/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 \
-t %{buildroot}%{vim_data_dir}/site/ftdetect/
install -Dpm 0644 data/syntax-highlighting/vim/indent/meson.vim \
@@ -232,31 +233,6 @@ install -Dpm 0644 data/syntax-highlighting/vim/indent/meson.vim \
install -Dpm 0644 data/syntax-highlighting/vim/syntax/meson.vim \
-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
%if %{with test}
@@ -297,6 +273,7 @@ export PYTHONDONTWRITEBYTECODE=1
%dir %{_datadir}/polkit-1/actions/
%{_datadir}/polkit-1/actions/com.mesonbuild.install.policy
%{_rpmconfigdir}/macros.d/macros.meson
%{_rpmconfigdir}/mesongenbuildreq
%{_mandir}/man1/meson.1%{?ext_man}
%files vim

35
reproducible.patch Normal file
View 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}}