meson/meson.spec
2022-08-06 14:02:42 +03:00

152 lines
4.1 KiB
RPMSpec

# Running tests needs lot of time
%bcond_with check
Summary: High productivity build system
Name: meson
Version: 0.59.4
Release: 1
License: ASL 2.0
Group: Development/Tools
Url: http://mesonbuild.com
Source0: https://github.com/mesonbuild/meson/releases/download/%{version}/%{name}-%{version}.tar.gz
Source2: %{name}.macros
BuildRequires: python3-devel
BuildRequires: python3-setuptools
%if %{with check}
BuildRequires: locales
BuildRequires: ninja >= 1.5
# Various languages
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: gcc-gfortran
BuildRequires: gcc-objc
BuildRequires: gcc-objc++
BuildRequires: gnustep-base-devel
BuildRequires: java-devel
BuildRequires: mono
BuildRequires: pkgconfig(mono)
BuildRequires: rust
# Various libs support
BuildRequires: asan-devel
BuildRequires: bison
BuildRequires: boost-devel
BuildRequires: cups-devel
BuildRequires: flex
BuildRequires: gettext
BuildRequires: git
BuildRequires: gmock-devel
BuildRequires: gtest-devel
BuildRequires: gtk-doc
BuildRequires: itstool
BuildRequires: libwmf-devel
BuildRequires: llvm-devel
BuildRequires: locales-en
BuildRequires: nasm
BuildRequires: pcap-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(glib-sharp-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libgcrypt)
BuildRequires: pkgconfig(protobuf)
BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(vapigen)
BuildRequires: pkgconfig(vulkan)
BuildRequires: pkgconfig(zlib)
BuildRequires: python3-cython
BuildRequires: python3-gobject3
BuildRequires: qt5-linguist-tools
BuildRequires: qt5-tools
BuildRequires: texlive-epstopdf
BuildRequires: units
BuildRequires: vala
BuildRequires: vala-tools
BuildRequires: wxgtku3.0-devel
%endif
Requires: ninja
Requires: python38-setuptools
Requires: python38-pkg-resources
Requires: python3-pkg-resources
Requires: python3-setuptools
BuildArch: noarch
%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.
%files
%doc README.md COPYING
%{_bindir}/%{name}
%{_datadir}/polkit-1/actions/com.mesonbuild.install.policy
%{_mandir}/man1/%{name}.1.*
%{_rpmmacrodir}/*%{name}*
%{py3_puresitedir}/%{name}-%{version}-py*.egg-info/
%{py3_puresitedir}/mesonbuild/
#----------------------------------------------------------------------------
%prep
%setup -q
%build
%py3_build
%install
%py3_install
# Install our rpm macro helper for meson
%install_macro meson %{SOURCE2}
%if %{with check}
%check
# TODO: Investigate and fix failures
# Missing compilers or their dependencies
rm -rf "test cases/fortran/1 basic/"
rm -rf "test cases/fortran/2 modules/"
rm -rf "test cases/fortran/3 module procedure/"
rm -rf "test cases/fortran/4 self dependency/"
rm -rf "test cases/fortran/5 static/"
rm -rf "test cases/fortran/6 dynamic/"
rm -rf "test cases/fortran/7 generated/"
rm -rf "test cases/fortran/8 module names/"
rm -rf "test cases/fortran/9 cpp/"
rm -rf "test cases/fortran/10 find library/"
rm -rf "test cases/fortran/11 compiles links runs/"
rm -rf "test cases/fortran/12 submodule/"
rm -rf "test cases/fortran/13 coarray/"
rm -rf "test cases/nasm/1 configure/"
rm -rf "test cases/rust/1 basic/"
# Lack of dependencies
# Cannot find libboost_thread.so which exists
rm -rf "test cases/frameworks/1 boost"
#rm -rf "test cases/frameworks/3 gmock/"
# Due to missing libtinfo
rm -rf "test cases/frameworks/15 llvm"
# Remove MPI tests for now because it is complicated to run.
rm -rf "test cases/frameworks/17 mpi"
rm -rf "test cases/frameworks/18 vulkan/"
rm -rf "test cases/frameworks/19 pcap/"
rm -rf "test cases/frameworks/20 cups/"
rm -rf "test cases/frameworks/21 libwmf/"
rm -rf "test cases/frameworks/22 gir link order"
rm -rf "test cases/frameworks/24 libgcrypt/"
rm -rf "test cases/frameworks/26 netcdf/"
rm -rf "test cases/common/190 openmp"
export MESON_PRINT_TEST_OUTPUT=1
export LC_ALL=UTF-8
python3 run_tests.py
%endif