Sync from SUSE:SLFO:Main meson revision c09e29932f8b6faa3eb2f83f36bb037c

This commit is contained in:
Adrian Schröter 2024-05-03 16:45:27 +02:00
commit edfa4882d3
11 changed files with 2663 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,141 @@
From 9d1d4ae746ce39d1916dfe71fd6dcc5fce27e828 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Tue, 3 Oct 2023 16:52:56 +0100
Subject: [PATCH 7/7] Revert "rust: apply global, project, and environment C
args to bindgen"
This reverts commit 36210f64f22dc10d324db76bb1a7988c9cd5b14e.
This ended up not doing what was intended - see https://github.com/mesonbuild/meson/issues/12065#issuecomment-1742263677.
Bug: https://bugs.gentoo.org/914989
Bug: https://bugs.gentoo.org/915014
Signed-off-by: Sam James <sam@gentoo.org>
---
mesonbuild/modules/rust.py | 6 ------
test cases/rust/12 bindgen/meson.build | 18 ------------------
.../rust/12 bindgen/src/global-project.h | 10 ----------
test cases/rust/12 bindgen/src/global.c | 5 -----
test cases/rust/12 bindgen/src/global.rs | 14 --------------
test cases/rust/12 bindgen/test.json | 5 +----
6 files changed, 1 insertion(+), 57 deletions(-)
delete mode 100644 test cases/rust/12 bindgen/src/global-project.h
delete mode 100644 test cases/rust/12 bindgen/src/global.c
delete mode 100644 test cases/rust/12 bindgen/src/global.rs
diff --git a/mesonbuild/modules/rust.py b/mesonbuild/modules/rust.py
index e6e5c633f..3514412e6 100644
--- a/mesonbuild/modules/rust.py
+++ b/mesonbuild/modules/rust.py
@@ -232,12 +232,6 @@ class RustModule(ExtensionModule):
elif isinstance(s, CustomTarget):
depends.append(s)
- clang_args.extend(state.global_args.get('c', []))
- clang_args.extend(state.project_args.get('c', []))
- cargs = state.get_option('args', state.subproject, lang='c')
- assert isinstance(cargs, list), 'for mypy'
- clang_args.extend(cargs)
-
if self._bindgen_bin is None:
self._bindgen_bin = state.find_program('bindgen')
diff --git a/test cases/rust/12 bindgen/meson.build b/test cases/rust/12 bindgen/meson.build
index e7cb5f3db..c05cc0631 100644
--- a/test cases/rust/12 bindgen/meson.build
+++ b/test cases/rust/12 bindgen/meson.build
@@ -8,9 +8,6 @@ if not prog_bindgen.found()
error('MESON_SKIP_TEST bindgen not found')
endif
-add_project_arguments('-DPROJECT_ARG', language : 'c')
-add_global_arguments('-DGLOBAL_ARG', language : 'c')
-
# This seems to happen on windows when libclang.dll is not in path or is not
# valid. We must try to process a header file for this to work.
#
@@ -84,18 +81,3 @@ test('generated header', rust_bin2)
subdir('sub')
subdir('dependencies')
-
-gp = rust.bindgen(
- input : 'src/global-project.h',
- output : 'global-project.rs',
-)
-
-gp_lib = static_library('gp_lib', 'src/global.c')
-
-gp_exe = executable(
- 'gp_exe',
- structured_sources(['src/global.rs', gp]),
- link_with : gp_lib,
-)
-
-test('global and project arguments', gp_exe)
diff --git a/test cases/rust/12 bindgen/src/global-project.h b/test cases/rust/12 bindgen/src/global-project.h
deleted file mode 100644
index 6084e8ed6..000000000
--- a/test cases/rust/12 bindgen/src/global-project.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef GLOBAL_ARG
-char * success(void);
-#endif
-#ifndef PROJECT_ARG
-char * success(void);
-#endif
-#ifndef CMD_ARG
-char * success(void);
-#endif
-int success(void);
diff --git a/test cases/rust/12 bindgen/src/global.c b/test cases/rust/12 bindgen/src/global.c
deleted file mode 100644
index 10f6676f7..000000000
--- a/test cases/rust/12 bindgen/src/global.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "src/global-project.h"
-
-int success(void) {
- return 0;
-}
diff --git a/test cases/rust/12 bindgen/src/global.rs b/test cases/rust/12 bindgen/src/global.rs
deleted file mode 100644
index 4b70b1ecc..000000000
--- a/test cases/rust/12 bindgen/src/global.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// SPDX-license-identifer: Apache-2.0
-// Copyright © 2023 Intel Corporation
-
-#![allow(non_upper_case_globals)]
-#![allow(non_camel_case_types)]
-#![allow(non_snake_case)]
-
-include!("global-project.rs");
-
-fn main() {
- unsafe {
- std::process::exit(success());
- };
-}
diff --git a/test cases/rust/12 bindgen/test.json b/test cases/rust/12 bindgen/test.json
index b3a758562..f94ee85f9 100644
--- a/test cases/rust/12 bindgen/test.json
+++ b/test cases/rust/12 bindgen/test.json
@@ -1,10 +1,7 @@
{
- "env": {
- "CFLAGS": "-DCMD_ARG"
- },
"stdout": [
{
- "line": "test cases/rust/12 bindgen/meson.build:30: WARNING: Project targets '>= 0.63' but uses feature introduced in '1.0.0': \"rust.bindgen\" keyword argument \"include_directories\" of type array[str]."
+ "line": "test cases/rust/12 bindgen/meson.build:27: WARNING: Project targets '>= 0.63' but uses feature introduced in '1.0.0': \"rust.bindgen\" keyword argument \"include_directories\" of type array[str]."
}
]
}
--
2.42.0

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

View File

@ -0,0 +1,10 @@
Index: b/data/macros.meson
===================================================================
--- a/data/macros.meson
+++ b/data/macros.meson
@@ -42,4 +42,5 @@
-C %{_vpath_builddir} \
--num-processes %{_smp_build_ncpus} \
--print-errorlogs \
+ %{?qemu_user_space_build: -t 10} \
%{nil}}

BIN
meson-1.2.2.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

16
meson-1.2.2.tar.gz.asc Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEGeLW2bRtjapiiPh3wk5jG6ux/nAFAmUWn/oACgkQwk5jG6ux
/nDSZA//Yu372PjppqIJ0JXyS6krSFD6huPLo40SE0dKKbrDs1EUdhZp8DI8Dpz8
kGKZtNuYrFZk6Fnp0B8HBt8FeJptxLeNutsJ/y92cwiMYWbLliC6Go9/bCptbqPk
P23KfmpBDF4D3qu7iZvLZJKoDQVgl+U2o1W8jrqA8ymyCApP79DhxExGnQ492gV2
XCZwnMm7LkOkf+PplkfnMDjKmRVGzIiq4t830CVLJ3JT8qDO4/Ka6Dhf0wj7lGDJ
pJzQ7NypiIO/GaxM9erq9zoU7kpplXP73yL4zCvd3WeNcBUFFovcXOp1Wj2Io+h+
1QFfzEk9d2nKfi1ibv1ury9BJi+6NSKKtmEjL8NetyMCGjhM1+XPmQlqp/xebQ0q
3Ak57qcjXtUAXkZ7h0SSCUokKgBMauD7PHhYhl4EDpTJqcfQK4a69Fuznnz1DLpD
h+8ZuhA4cAyDhCTZpMsMskk9oUcB6llAPbOP9s5uTOEU8IvEw6RCEpJ6bXLptovP
SLXiFrOoRW0wtjMW6iuCLNUh2NotRn8JtMDrQLkARBbDfsBVv/RNrI8yZcKRj9+U
06bWF3UAO8xkRJVyDa7RYcU2rNuLgY7zOenJd9z8i5/Z/lRDBheOlvx8XPlbZPz/
EoSaK1QTLPMvr7tDwZl2gWREszEfgMLNzruW+0LnCFDdwFSeWi4=
=Ewma
-----END PGP SIGNATURE-----

41
meson-distutils.patch Normal file
View File

@ -0,0 +1,41 @@
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

View File

@ -0,0 +1,38 @@
Index: meson-1.0.1/run_tests.py
===================================================================
--- a/run_tests.py
+++ b/run_tests.py
@@ -196,18 +196,10 @@ def get_meson_script() -> str:
Also used by run_unittests.py to determine what meson to run when not
running in-process (which is the default).
'''
- # Is there a meson.py next to the mesonbuild currently in use?
- mesonbuild_dir = Path(mesonmain.__file__).resolve().parent.parent
- meson_script = mesonbuild_dir / 'meson.py'
- if meson_script.is_file():
- return str(meson_script)
- # Then if mesonbuild is in PYTHONPATH, meson must be in PATH
- mlog.warning('Could not find meson.py next to the mesonbuild module. '
- 'Trying system meson...')
meson_cmd = shutil.which('meson')
- if meson_cmd:
+ if meson_cmd and os.path.isfile(meson_cmd):
return meson_cmd
- raise RuntimeError(f'Could not find {meson_script!r} or a meson in PATH')
+ raise RuntimeError(f'Could not find meson in PATH')
def get_backend_args_for_dir(backend: Backend, builddir: str) -> T.List[str]:
'''
@@ -381,12 +373,6 @@ def main():
# Can't pass arguments to unit tests, so set the backend to use in the environment
env = os.environ.copy()
if not options.cross:
- cmd = mesonlib.python_command + ['run_meson_command_tests.py', '-v']
- if options.failfast:
- cmd += ['--failfast']
- returncode += subprocess_call(cmd, env=env)
- if options.failfast and returncode != 0:
- return returncode
if no_unittests:
print('Skipping all unit tests.')
print(flush=True)

1892
meson.changes Normal file

File diff suppressed because it is too large Load Diff

192
meson.keyring Normal file
View File

@ -0,0 +1,192 @@
pub rsa4096/FEEB9428 2011-04-23 [expires: 2021-04-20]
Key fingerprint = 9518 1F4E ED14 FDF4 E41B 518D 3BF4 693B FEEB 9428
uid [ unknown] Jussi Pakkanen <jpakkane@gmail.com>
sub rsa4096/92A10C22 2011-04-23 [expires: 2021-04-20
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
Yk4Wl26lcjaUkwNEwPvTEtq3fjwKoisLbg==
=Smkh
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
dxBkBtFt+g3obj4=
=AiRn
-----END PGP PUBLIC KEY BLOCK-----

304
meson.spec Normal file
View File

@ -0,0 +1,304 @@
#
# spec file
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%if 0%{?sle_version} >= 150400 && 0%{?sle_version} < 160000
%global pythons python311
%else
%global pythons python3
%endif
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define name_ext -test
%bcond_without test
%else
%define name_ext %{nil}
%bcond_with test
%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.2.2
Release: 0
Summary: Python-based build system
License: Apache-2.0
Group: Development/Tools/Building
URL: https://mesonbuild.com/
Source: https://github.com/%{_name}/meson/releases/download/%{version}/meson-%{version}.tar.gz
Source1: https://github.com/%{_name}/meson/releases/download/%{version}/meson-%{version}.tar.gz.asc
Source2: meson.keyring
# PATCH-FIX-OPENSUSE meson-test-installed-bin.patch dimstar@opensuse.org -- We want the test suite to run against /usr/bin/meson coming from our meson package.
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-FIX-UPSTREAM 0007-Revert-rust-apply-global-project-and-environment-C-a.patch gh#mesonbuild/meson#12326 -- Fix Mesa build
Patch3: 0007-Revert-rust-apply-global-project-and-environment-C-a.patch
BuildRequires: %{python_module base >= 3.7}
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.
Provides: meson-gui = %{version}
Obsoletes: meson-gui < %{version}
BuildArch: noarch
%else
ExclusiveArch: %{ix86} x86_64
BuildRequires: %{python_module devel}
BuildRequires: bison
BuildRequires: clang >= 15
BuildRequires: cups-devel
BuildRequires: distribution-release
BuildRequires: flex
%if 0%{?sle_version} >= 150400 && 0%{?sle_version} < 160000
BuildRequires: gcc12-c++
BuildRequires: gcc12-fortran
BuildRequires: gcc12-obj-c++
BuildRequires: gcc12-objc
%else
BuildRequires: gcc-c++ >= 12
BuildRequires: gcc-fortran >= 12
BuildRequires: gcc-obj-c++ >= 12
BuildRequires: gcc-objc >= 12
%endif
BuildRequires: gettext
BuildRequires: git
BuildRequires: gmock
BuildRequires: gnustep-make
BuildRequires: googletest-devel
BuildRequires: itstool
BuildRequires: java-headless
BuildRequires: libboost_log-devel
# This will be required to build to python311
BuildRequires: libboost_python3-devel
BuildRequires: %{python_module devel}
BuildRequires: %{python_module gobject}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: libboost_system-devel
BuildRequires: libboost_test-devel
BuildRequires: libboost_thread-devel
BuildRequires: libjpeg-devel
BuildRequires: libpcap-devel
BuildRequires: libqt5-qtbase-common-devel
BuildRequires: libqt5-qtbase-private-headers-devel
BuildRequires: libwmf-devel
BuildRequires: llvm-devel
BuildRequires: meson = %{version}
BuildRequires: ninja
BuildRequires: pkgconfig
BuildRequires: rust
BuildRequires: wxWidgets-any-devel
BuildRequires: zlib-devel-static
BuildRequires: cmake(Qt5Core)
BuildRequires: cmake(Qt5Gui)
BuildRequires: cmake(Qt5LinguistTools)
BuildRequires: cmake(Qt5Widgets)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gtk-doc)
BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(vapigen)
BuildRequires: pkgconfig(vulkan)
BuildRequires: pkgconfig(zlib)
%if 0%{?suse_version} < 1550
BuildRequires: libboost_python-devel
# Leap / SLE 15.x
BuildRequires: python2-PyYAML
BuildRequires: python2-devel
BuildRequires: python3-devel
%endif
%if %{with mono}
BuildRequires: mono(csharp)
%endif
%endif
# meson makes use of macros that were only defined with rpm 4.15
%if (0%{?suse_version} < 1550 && 0%{?sle_version} < 150400)
Conflicts: rpm-build < 4.15
%endif
%description
Meson is a build system designed to optimise programmer productivity.
It aims to do this by providing support for software development
tools and practices, such as unit tests, coverage reports, Valgrind,
CCache and the like. Supported languages include C, C++, Fortran,
Java, Rust. Build definitions are written in a non-turing complete
Domain Specific Language.
%package vim
Summary: Vim syntax highlighting support for meson.build files
Group: Productivity/Text/Editors
Requires: vim
Supplements: (vim and %{name})
BuildArch: noarch
%description vim
Meson is a build system designed to optimise programmer productivity.
It aims to do this by providing support for software development
tools and practices, such as unit tests, coverage reports, Valgrind,
CCache and the like. Supported languages include C, C++, Fortran,
Java, Rust. Build definitions are written in a non-turing complete
Domain Specific Language.
This package provides meson.build syntax highlighting support for
Vim/NeoVim.
%prep
%setup -q -n meson-%{version}
%patch0 -p1
%patch1 -p1
%if !%{with setuptools}
%patch2 -p1
%endif
%patch3 -p1
%if 0%{?sle_version} >= 150400 && 0%{?sle_version} < 160000
# AddressSanitizer fails here because of ulimit.
sed -i "/def test_generate_gir_with_address_sanitizer/{
s/$/\n raise unittest.SkipTest('ulimit')/;
}" unittests/linuxliketests.py
# Expects modern glibc with pthread symbols in libc.so
rm -rf test\ cases/rust/17\ staticlib\ link\ staticlib
%endif
# Remove hashbang from non-exec script
sed -i '1{/\/usr\/bin\/env/d;}' \
./mesonbuild/rewriter.py \
./mesonbuild/scripts/cmake_run_ctgt.py
# We do not have appleframeworks available at this moment - can't run the test suite for it
# boost is currently borked too
rm -r "test cases/frameworks/1 boost" \
"test cases/objc/2 nsstring"
# remove gtest check that actually works because our gtest has .pc files
rm -rf test\ cases/failing/85\ gtest\ dependency\ with\ version
%build
%if %{without test}
%python_build
%else
# Ensure we have no mesonbuild / meson in CWD, thus guaranteeing we use meson in $PATH
rm -r meson.py mesonbuild
%endif
%install
# If this is the test suite, we don't need anything else but the meson package
%if %{without test}
%python_install
install -Dpm 0644 data/macros.meson \
%{buildroot}%{_rpmconfigdir}/macros.d/macros.meson
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 \
-t %{buildroot}%{vim_data_dir}/site/indent/
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}
%check
%if 0%{?sle_version} >= 150400 && 0%{?sle_version} < 160000
# Use gcc-12 for clang-tidy
install -d -m 0755 bin
ln -s /usr/bin/cpp-12 bin/cpp
ln -s /usr/bin/g++-12 bin/c++
ln -s /usr/bin/g++-12 bin/g++
ln -s /usr/bin/gcc-12 bin/cc
ln -s /usr/bin/gcc-12 bin/gcc
export PATH="${PWD}/bin:${PATH}"
c++ --version
# Fix shebang in test cases getting executed by ninja
%python_expand find test\ cases -type f -name "*.py" \
-exec sed -i "1s@#!.*python.*@#!$(realpath %{_bindir}/$python)@" {} +
%endif
export LANG=C.UTF-8
export MESON_EXE=%{_bindir}/meson
export PYTHONDONTWRITEBYTECODE=1
# See prep section for removed tests
%python_flavored_alternatives \
%python_expand $python run_tests.py --failfast
%endif
%files
%license COPYING
%if !%{with test}
%{_bindir}/meson
%{python_sitelib}/%{_name}/
%{python_sitelib}/meson-*
%dir %{_datadir}/polkit-1/
%dir %{_datadir}/polkit-1/actions/
%{_datadir}/polkit-1/actions/com.mesonbuild.install.policy
%{_rpmconfigdir}/macros.d/macros.meson
%{_mandir}/man1/meson.1%{?ext_man}
%files vim
%doc data/syntax-highlighting/vim/README
%dir %{vim_data_dir}/
%dir %{vim_data_dir}/site/
%dir %{vim_data_dir}/site/ftdetect/
%dir %{vim_data_dir}/site/indent/
%dir %{vim_data_dir}/site/syntax/
%{vim_data_dir}/site/ftdetect/meson.vim
%{vim_data_dir}/site/indent/meson.vim
%{vim_data_dir}/site/syntax/meson.vim
%endif
%changelog