This document provides best practices for the usage of the Meson build
system in Fedora packages. Meson is a build
system (similar to automake) which can generate code for other
lower-level build systems. For example, it can generate code for
ninja. When packaging software which
builds using Meson it’s important to use the %meson macros instead
of %ninja or other lower-level build system macros directly. The
backend used by Meson could change.
You will generally make use of these in your specs:
%meson%__meson with appropriate
parameters (--libdir=%{_libdir} and such)%meson_build%ninja_build -C %{_vpath_builddir}%meson_install%ninja_install -C %{_vpath_builddir}%meson_test%ninja_test -C %{_vpath_builddir}It is rarely necessary (but permissible) to use or alter these:
%_vpath_srcdir.)%_vpath_builddir%{_target_platform})%__meson%global _vpath_srcdir sdk/%{name}/projects/meson
Name: angelscript
Version: 2.31.1
Release: 1%{?dist}
Summary: Flexible cross-platform scripting library
License: zlib
URL: http://www.angelcode.com/angelscript/
Source: %{url}sdk/files/%{name}_%{version}.zip
BuildRequires: meson
BuildRequires: gcc
%package devel
Summary: Development libraries and header files for %{name}
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description devel
%{summary}.
%prep
%autosetup -c
%build
%meson
%meson_build
%install
%meson_install
%check
%meson_test
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%{_libdir}/lib%{name}.so.*
%files devel
%{_libdir}/lib%{name}.so
%{_includedir}/%{name}.h