1db395c
%global libname mesonbuild
1db395c
Ernestas Kulik 38395c0
# Don’t run the tests by default, since they are rather flaky.
Ernestas Kulik 38395c0
# I’ll get to getting them running eventually, but free time is sparse.
Ernestas Kulik 38395c0
# — ekulik
Ernestas Kulik 38395c0
%bcond_with check
4dfc2af
1865295
Name:           meson
08d44d6
Version:        1.3.2
c724e20
Release:        %autorelease
1865295
Summary:        High productivity build system
1865295
88b1542
License:        Apache-2.0
Benjamin Kircher a781473
URL:            https://mesonbuild.com/
2aca549
Source:         https://github.com/mesonbuild/meson/releases/download/%{version_no_tilde .}/meson-%{version_no_tilde %{quote:}}.tar.gz
ba4abe8
56a128a
# Don't use the removed importlib.resources.path with Python 3.13+
56a128a
Patch:          https://github.com/mesonbuild/meson/pull/12402.patch
56a128a
1a5438e
BuildArch:      noarch
1865295
fe8d31c
BuildRequires:  python3-devel
fe8d31c
BuildRequires:  python3-setuptools
0eba83f
Requires:       python%{python3_version}dist(setuptools)
452dca8
Requires:       ninja-build
1865295
4dfc2af
%if %{with check}
4dfc2af
BuildRequires:  ninja-build
Ernestas Kulik d862534
# Some tests expect the unversioned executable
Ernestas Kulik d862534
BuildRequires:  /usr/bin/python
4dfc2af
# Various languages
4dfc2af
BuildRequires:  gcc
4dfc2af
BuildRequires:  libasan
4dfc2af
BuildRequires:  gcc-c++
4dfc2af
BuildRequires:  gcc-gfortran
4dfc2af
BuildRequires:  gcc-objc
4dfc2af
BuildRequires:  gcc-objc++
4dfc2af
BuildRequires:  java-devel
Ernestas Kulik 3682bc3
BuildRequires:  libomp-devel
4dfc2af
BuildRequires:  mono-core mono-devel
4dfc2af
BuildRequires:  rust
4dfc2af
# Since the build is noarch, we can't use %%ifarch
4dfc2af
#%%ifarch %%{ldc_arches}
4dfc2af
#BuildRequires:  ldc
4dfc2af
#%%endif
4dfc2af
# Various libs support
4dfc2af
BuildRequires:  boost-devel
4dfc2af
BuildRequires:  gtest-devel
4dfc2af
BuildRequires:  gmock-devel
4dfc2af
BuildRequires:  qt5-qtbase-devel
Ernestas Kulik 3682bc3
BuildRequires:  qt5-qtbase-private-devel
Ernestas Kulik 3682bc3
BuildRequires:  qt5-linguist
4dfc2af
BuildRequires:  vala
4dfc2af
BuildRequires:  python3-gobject-base
4dfc2af
BuildRequires:  wxGTK3-devel
4dfc2af
BuildRequires:  flex
4dfc2af
BuildRequires:  bison
4dfc2af
BuildRequires:  gettext
4dfc2af
BuildRequires:  gnustep-base-devel
4dfc2af
BuildRequires:  %{_bindir}/gnustep-config
4dfc2af
BuildRequires:  git-core
4dfc2af
BuildRequires:  pkgconfig(protobuf)
4dfc2af
BuildRequires:  pkgconfig(glib-2.0)
4dfc2af
BuildRequires:  pkgconfig(glib-sharp-2.0)
4dfc2af
BuildRequires:  pkgconfig(gobject-introspection-1.0)
4dfc2af
BuildRequires:  gtk-doc
4dfc2af
BuildRequires:  itstool
4dfc2af
BuildRequires:  pkgconfig(zlib)
e4f7bba
BuildRequires:  zlib-static
4dfc2af
BuildRequires:  python3dist(cython)
4dfc2af
BuildRequires:  pkgconfig(sdl2)
4dfc2af
BuildRequires:  %{_bindir}/pcap-config
4dfc2af
BuildRequires:  pkgconfig(vulkan)
4dfc2af
BuildRequires:  llvm-devel
4dfc2af
BuildRequires:  cups-devel
4dfc2af
%endif
4dfc2af
1865295
%description
1865295
Meson is a build system designed to optimize programmer
1865295
productivity. It aims to do this by providing simple, out-of-the-box
1865295
support for modern software development tools and practices, such as
1865295
unit tests, coverage reports, Valgrind, CCache and the like.
1865295
1865295
%prep
c0a23ed
%autosetup -p1 -n meson-%{version_no_tilde %{quote:}}
795680b
# Macro should not change when we are redefining bindir
795680b
sed -i -e "/^%%__meson /s| .*$| %{_bindir}/%{name}|" data/macros.%{name}
1865295
1865295
%build
4907f43
%py3_build
1865295
1865295
%install
4907f43
%py3_install
bbb3115
install -Dpm0644 -t %{buildroot}%{rpmmacrodir} data/macros.%{name}
394a8cd
install -Dpm0644 -t %{buildroot}%{_datadir}/bash-completion/completions/ data/shell-completions/bash/meson
394a8cd
install -Dpm0644 -t %{buildroot}%{_datadir}/zsh/site-functions/ data/shell-completions/zsh/_meson
1865295
4dfc2af
%if %{with check}
4dfc2af
%check
Ernestas Kulik e63fee3
# Remove Boost tests for now, because it requires Python 2
Ernestas Kulik e63fee3
rm -rf "test cases/frameworks/1 boost"
4dfc2af
# Remove MPI tests for now because it is complicated to run
4dfc2af
rm -rf "test cases/frameworks/17 mpi"
4dfc2af
export MESON_PRINT_TEST_OUTPUT=1
4dfc2af
%{__python3} ./run_tests.py
4dfc2af
%endif
4dfc2af
1865295
%files
1865295
%license COPYING
06afb14
%{_bindir}/%{name}
4907f43
%{python3_sitelib}/%{libname}/
b87296a
%{python3_sitelib}/%{name}-*.egg-info/
Igor Gnatenko f863cb5
%{_mandir}/man1/%{name}.1*
57d01a8
%{rpmmacrodir}/macros.%{name}
9bb702f
%dir %{_datadir}/polkit-1
9bb702f
%dir %{_datadir}/polkit-1/actions
9bb702f
%{_datadir}/polkit-1/actions/com.mesonbuild.install.policy
394a8cd
%{_datadir}/bash-completion/completions/meson
394a8cd
%{_datadir}/zsh/site-functions/_meson
06afb14
1865295
%changelog
c724e20
%autochangelog