forked from pool/meson
Compare commits
20 Commits
Author | SHA256 | Date | |
---|---|---|---|
|
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
|
||||
+++ 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
|
||||
|
@ -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.7.0.tar.gz
Normal file
3
meson-1.7.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:08efbe84803eed07f863b05092d653a9d348f7038761d900412fddf56deb0284
|
||||
size 2293975
|
16
meson-1.7.0.tar.gz.asc
Normal file
16
meson-1.7.0.tar.gz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEEGeLW2bRtjapiiPh3wk5jG6ux/nAFAmeWhmwACgkQwk5jG6ux
|
||||
/nCY8g/+J5Fo1Fk0Djr0yG7X4UKhJtc63wJR1RKY09tck6GXQRewfpF/6hw82Y6N
|
||||
IpAes4MrxZnZ2O5zR66wjSgraDSlVKUfjjMYEr10udJWQb2WKAf9Uus04SPGjJ9W
|
||||
VuQmO7SANCu5MU6sbw3AaXxNBherbMazZV7mzhqwRmlLayAyE+ZB8BrbHjBHnBxU
|
||||
59MuOOeNomP0otSkkUtMeNxDS6kBRL+BfKKBuwOvOlbuQa5TtzMV1v+LjRRENhd6
|
||||
bbCbeZye31d7I/gVAhQOWL4tjmnJ8cUgLAGHz73gjE51Bddjp2EQDcicLyCPujPU
|
||||
Xk9V2cGH9dvIIv3zIrvN+Ncgvv+BkqLPtwrAE6mHLy1/UEbAW4p9QfHhR8ntwm13
|
||||
Hwp0jPV82swa7ZoCtecRByDAaFYf1rHiy0X0yqEVrLJf1ka2NONDm2fi4S7SFUfe
|
||||
xLQiT8u6CcCEYzNxTdXX9oJSx72tB8wWAELeNBAS5CLSoGeJXFkisVOBGe9UlCSe
|
||||
lFaCw+hbAkZlWmVK6l90jdk4QbZbcycIdnhJIB3/3fK84fTQChSPFhSdNgHicGFC
|
||||
dcIYOujwHBClL9LUMRfO8gdzEK8iw4L70q0iFYGanYf0gWa9gUodxJHgaWBdQMHu
|
||||
XatcnL69hROoFp/KeW+rJ0rQxoUEN0Oclgf1MMG2ZFShTn9C9Zs=
|
||||
=cRFJ
|
||||
-----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
|
@ -1,3 +1,101 @@
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
|
54
meson.spec
54
meson.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package meson
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
# 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.7.0
|
||||
Release: 0
|
||||
Summary: Python-based build system
|
||||
License: Apache-2.0
|
||||
@ -49,16 +48,13 @@ 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
|
||||
|
||||
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 +85,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,6 +98,8 @@ 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
|
||||
BuildRequires: libboost_system-devel
|
||||
BuildRequires: libboost_test-devel
|
||||
BuildRequires: libboost_thread-devel
|
||||
@ -180,12 +178,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 +218,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 +228,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 +268,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
|
||||
|
Loading…
x
Reference in New Issue
Block a user