%if 0%{!?mkrel:1} %define mkrel(c) %{1}%{?dist} %endif # Update to 1.5.1 %bcond_with check Name: meson Version: 1.6.1 Release: %mkrel 1 Summary: High productivity build system Group: System/Packaging License: ASL 2.0 URL: http://mesonbuild.com/ Source0: https://github.com/mesonbuild/meson/releases/download/%{version}%{?prerel:%{prerel}}/%{name}-%{version}%{?prerel:%{prerel}}.tar.gz Source1: https://github.com/mesonbuild/meson/releases/download/%{version}%{?prerel:%{prerel}}/%{name}-%{version}%{?prerel:%{prerel}}.tar.gz.asc # Backported from upstream commit # # Based on patch from # https://github.com/mesonbuild/meson/pull/11484 Patch101: 0001-Add-support-for-runstatedir.patch BuildArch: noarch BuildRequires: (git-core or /usr/bin/git) BuildRequires: pkgconfig(python3) BuildRequires: (python3dist(pip) or python3-pip) BuildRequires: (python3dist(setuptools) or python3-setuptools) %if %{with check} BuildRequires: locales BuildRequires: (ninja or ninja-build) # Various languages BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: gcc-gfortran BuildRequires: gcc-objc BuildRequires: gcc-objc++ BuildRequires: java-devel BuildRequires: libasan-devel BuildRequires: llvm-devel BuildRequires: mono-core BuildRequires: pkgconfig(mono) BuildRequires: rust # Various libs support BuildRequires: bison BuildRequires: flex BuildRequires: gettext BuildRequires: git BuildRequires: gtk-doc BuildRequires: itstool BuildRequires: locales-en BuildRequires: vala BuildRequires: vala-tools BuildRequires: boost-devel BuildRequires: gnustep-base-devel BuildRequires: cups-devel BuildRequires: libwmf-devel BuildRequires: pcap-devel BuildRequires: qtbase5-devel BuildRequires: qttools5 BuildRequires: wxgtk3.0-devel BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(glib-sharp-2.0) BuildRequires: pkgconfig(gmock) BuildRequires: pkgconfig(gtest) BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(ompi) BuildRequires: pkgconfig(protobuf) BuildRequires: pkgconfig(sdl2) BuildRequires: pkgconfig(vulkan) BuildRequires: pkgconfig(zlib) BuildRequires: python3-gobject3 BuildRequires: python3dist(cython) %endif Requires: (ninja or ninja-build) Requires: (python3dist(setuptools) or python3-setuptools) %description Meson is a build system designed to optimize programmer productivity. It aims to do this by providing simple, out-of-the-box support for modern software development tools and practices, such as unit tests, coverage reports, Valgrind, CCache and the like. %prep %autosetup -p1 %{?prerel: -n %{name}-%{version}%{prerel}} %if 0%{?py3_shebang_fix:1} %py3_shebang_fix . %endif # Remove MPI tests for now because it is complicated to run. rm -rf "test cases/frameworks/17 mpi" %build %py3_build %install %py3_install # install meson rpm macro helper install -D -m 0644 data/macros.%{name} %{buildroot}%{_rpmmacrodir}/macros.%{name} install -D -m 0644 -t %{buildroot}%{_datadir}/bash-completion/completions/ data/shell-completions/bash/meson install -D -m 0644 -t %{buildroot}%{_datadir}/zsh/site-functions/ data/shell-completions/zsh/_meson %if %{with check} %check export MESON_PRINT_TEST_OUTPUT=1 export LC_ALL=UTF-8 %{__python3} ./run_tests.py %endif %files %doc README.md %license COPYING %{_bindir}/%{name} %{_mandir}/man1/%{name}.1.* %{_rpmmacrodir}/macros.%{name} %{python3_sitelib}/mesonbuild/ %{python3_sitelib}/%{name}-%{version}%{?prerel:%{prerel}}-py%{python3_version}.egg-info/ %{_datadir}/polkit-1/actions/com.mesonbuild.install.policy %{_datadir}/bash-completion/completions/meson %{_datadir}/zsh/site-functions/_meson