Paketbaurichtlinien für Meson
Dieses Dokument beschreibt die beste Vorgehensweise für die Verwendung des https://mesonbuild.com/ [Meson-Build-Systems] in Fedora-Paketen. Meson ist ein Build-System (ähnlich wie Automake), das Code für andere Low-Level-Build-Systeme generieren kann. Beispielsweise kann es Code für Ninja generieren. Beim Paketieren von Software, die mit Meson erstellt wird, ist es wichtig, die Makros %meson anstelle von %ninja oder anderen Low-Level-Build-System-Makros direkt zu verwenden. Das von Meson verwendete Backend kann sich ändern.
Verfügbare Makros
Diese werden Sie in Ihren Spec-Dateien im Allgemeinen verwenden:
%meson- 
Definiert CFLAGS, LDFLAGS usw. und ruft
%__mesonmit entsprechenden Parametern auf (--libdir=%{_libdir}usw.). Sie können-DOption=Wertan dieses Makro übergeben, um Optionen für das Buildsystem festzulegen. %meson_build- 
Ein Alias für
%ninja_build -C %{_vpath_builddir}. %meson_install- 
Ein Alias für
%ninja_install -C %{_vpath_builddir}. %meson_test- 
Ein Alias für
%ninja_test -C %{_vpath_builddir}. 
Es ist selten notwendig (aber zulässig), diese zu verwenden oder zu ändern:
%__meson- 
Der Pfad zur ausführbaren »meson«-Datei
 
Siehe auch Definieren von Quell- und Bauverzeichnissen.
Beispiel einer RPM-Spec-Datei
%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
HINWEIS: Wenn für EPEL < 10 erstellt wird, sollte %meson in %build stehen.
Want to help? Learn how to contribute to Fedora Docs ›