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