Pautas de Empaquetamiento Meson
Este documento proporciona las mejores prácticas para el uso de el sistema de compilación Meson en paquetes de Fedora. Meson es un sistema de compilación (similar a automake) que puede generar código para otros sistemas de compilación de bajo nivel. Por ejemplo, puede generar código para ninja. Al empaquetar software que se compila con Meson, es importante usar las macros %meson en lugar de %ninja u otras macros de sistemas de compilación de bajo nivel directamente. El backend utilizado por Meson podría cambiar.
Available Macros
You will generally make use of these in your specs:
%meson-
Defines CFLAGS, LDFLAGS, etc. and calls
%__mesonwith appropriate parameters (--libdir=%{_libdir}and such). You can pass-Doption=valueto this macro in order to set options for the buildsystem. %meson_build-
An alias for
%ninja_build -C %{_vpath_builddir}. %meson_install-
An alias for
%ninja_install -C %{_vpath_builddir}. %meson_test-
An alias for
%ninja_test -C %{_vpath_builddir}.
It is rarely necessary (but permissible) to use or alter these:
%__meson-
The path to the meson executable
Also see Defining source and build directories.
Example RPM spec file
%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: https://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
%conf
%meson
%build
%meson_build
%install
%meson_install
%check
%meson_test
%files
%{_libdir}/lib%{name}.so.*
%files devel
%{_libdir}/lib%{name}.so
%{_includedir}/%{name}.h
NOTE: If building for < EPEL 10 then %meson should be in %build.
Want to help? Learn how to contribute to Fedora Docs ›