Pautas de Empaquetado 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.
Macros Disponibles
Generalmente, utilizarás estos en tus especificaciones:
%meson-
Define CFLAGS, LDFLAGS, etc. e invoca a
%__mesoncon los parámetros adecuados (--libdir=%{_libdir}y tales). Puedes pasar-Doption=valuea esta macro para configurar las opciones del sistema de compilación. %meson_build-
Un alias para
%ninja_build -C %{_vpath_builddir}. %meson_install-
Un alias para
%ninja_install -C %{_vpath_builddir}. %meson_test-
Un alias para
%ninja_test -C %{_vpath_builddir}.
Es raramente necesario (pero permisible) utilizar o alterar estos:
%__meson-
La ruta para el meson ejecutable
Además vea Definición de fuente t compilar directorios.
Ejemplo de archivo spec de RPM
%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
NOTA: Si compila para < EPEL 10 entonces %meson estaría en %build.
Want to help? Learn how to contribute to Fedora Docs ›