diff --git a/14001.patch b/14001.patch new file mode 100644 index 0000000..e4c9a1b --- /dev/null +++ b/14001.patch @@ -0,0 +1,61 @@ +From 8679ea9525672d74030303be062d9545c92b5840 Mon Sep 17 00:00:00 2001 +From: solomoncyj +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)})") ++ diff --git a/extend-test-timeout-on-qemu-builds.patch b/extend-test-timeout-on-qemu-builds.patch index 89183a5..f3b89b0 100644 --- a/extend-test-timeout-on-qemu-builds.patch +++ b/extend-test-timeout-on-qemu-builds.patch @@ -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 diff --git a/meson-1.5.1.tar.gz b/meson-1.5.1.tar.gz deleted file mode 100644 index 9f48964..0000000 --- a/meson-1.5.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:567e533adf255de73a2de35049b99923caf872a455af9ce03e01077e0d384bed -size 2257106 diff --git a/meson-1.5.1.tar.gz.asc b/meson-1.5.1.tar.gz.asc deleted file mode 100644 index f662221..0000000 --- a/meson-1.5.1.tar.gz.asc +++ /dev/null @@ -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----- diff --git a/meson-1.9.1.tar.gz b/meson-1.9.1.tar.gz new file mode 100644 index 0000000..ba5d2b1 --- /dev/null +++ b/meson-1.9.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e076606f2afff7881d195574bddcd8d89286f35a17b4977a216f535dc0c74ac +size 5083044 diff --git a/meson-1.9.1.tar.gz.asc b/meson-1.9.1.tar.gz.asc new file mode 100644 index 0000000..1c1b008 --- /dev/null +++ b/meson-1.9.1.tar.gz.asc @@ -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----- diff --git a/meson-distutils.patch b/meson-distutils.patch deleted file mode 100644 index 5fb1fc0..0000000 --- a/meson-distutils.patch +++ /dev/null @@ -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 diff --git a/meson-issue-15992.patch b/meson-issue-15992.patch new file mode 100644 index 0000000..160bff2 --- /dev/null +++ b/meson-issue-15992.patch @@ -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 \ diff --git a/meson.changes b/meson.changes index fe86aee..a48fe67 100644 --- a/meson.changes +++ b/meson.changes @@ -1,3 +1,264 @@ +------------------------------------------------------------------- +Tue Sep 23 07:50:04 UTC 2025 - Dominique Leuenberger + +- 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 + +- Add 14976.patch: check for header only Boost libraries. + +------------------------------------------------------------------- +Thu Sep 11 20:12:22 UTC 2025 - Aaron Puchert + +- Add get_llvm_tool_names-llvm21.patch to accept LLVM 21. + +------------------------------------------------------------------- +Wed Sep 3 12:31:59 UTC 2025 - Dominique Leuenberger + +- 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 + +- Modify 14001.patch: allow to specify an envvar to filter out + unwanted deps. + +------------------------------------------------------------------- +Mon Aug 25 06:14:17 UTC 2025 - Dominique Leuenberger + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- Add reproducible.patch to not embed CPU-core count + into src.rpms (boo#1237231) + +------------------------------------------------------------------- +Wed May 21 07:17:03 UTC 2025 - Paolo Stivanin + +- 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 + +- 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 + +- 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 + +- Add 14337.patch: get_llvm_tool_names: add llvm 20. + +------------------------------------------------------------------- +Thu Jan 30 11:48:21 UTC 2025 - Dominique Leuenberger + +- Add 14001.patch: Add meson BuildRequires generator. + +------------------------------------------------------------------- +Mon Jan 27 08:03:56 UTC 2025 - Dominique Leuenberger + +- 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 + +- 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 + +- 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 + +- 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 + +- Add 13935.patch: Fix test suite with rust 1.83. + +------------------------------------------------------------------- +Fri Nov 22 09:21:34 UTC 2024 - Dominique Leuenberger + +- 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 + +- 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 + +- 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 + +- BuildRequire gettext-devel instead of gettext: allow OBS to + shortcut through gettext-runtime-mini. + ------------------------------------------------------------------- Sat Jul 27 20:50:09 UTC 2024 - Andreas Stieger diff --git a/meson.keyring b/meson.keyring index 3147553..4ce2924 100644 --- a/meson.keyring +++ b/meson.keyring @@ -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----- diff --git a/meson.spec b/meson.spec index d5a9115..dc90683 100644 --- a/meson.spec +++ b/meson.spec @@ -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 # # 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 diff --git a/reproducible.patch b/reproducible.patch new file mode 100644 index 0000000..dfb1182 --- /dev/null +++ b/reproducible.patch @@ -0,0 +1,35 @@ +commit 4883b2bac4e2bb5cee49b2efdf0f77dfc2b5b77c +Author: Bernhard M. Wiedemann +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}}