Diretrizes de Empacotamento de Meson
Este documento fornece as melhores práticas para o uso de o sistema de construção Meson em pacotes Fedora. Meson é um sistema de construção (semelhante ao automake) que pode gerar código para outros sistemas de construção de nível inferior. Por exemplo, ele pode gerar código para ninja. Ao empacotar software que é construído usando Meson, é importante usar as macros %meson
em vez de %ninja
ou outras macros de sistema de construção inferior diretamente. O backend usado pelo Meson pode mudar.
Macros disponíveis
Você vai, de forma geral, fazer uso das seguintes em seus specs:
%meson
-
Define CFLAGS, LDFLAGS, etc. e chama
%__meson
com parâmetros apropriados (--libdir=%{_libdir}
e outros). Você pode passar-Dopção=valor
para esta macro para definir opções para o sistema de construção. %meson_build
-
Um apelido para
%ninja_build -C %{_vpath_builddir}
. %meson_install
-
Um apelido para
%ninja_install -C %{_vpath_builddir}
. %meson_test
-
Um apelido para
%ninja_test -C %{_vpath_builddir}
.
Raramente é necessário (mas permitido) usar ou alterar estes:
%__meson
-
O caminho para o executável do meson
Veja também Definindo diretórios de origem e de construção.
Exemplo de arquivo spec 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 %build %meson %meson_build %install %meson_install %check %meson_test %files %{_libdir}/lib%{name}.so.* %files devel %{_libdir}/lib%{name}.so %{_includedir}/%{name}.h
Want to help? Learn how to contribute to Fedora Docs ›