From Fedora Project Wiki

< PackagingDrafts

Revision as of 08:55, 12 October 2016 by Ignatenkobrain (talk | contribs) (Created page with "= Guidelines for Meson = This document provides best-practices for usage of [https://ninja-build.org/ ninja] in packaging RPMs for Fedora. == BuildRequires == You '''MUST''...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Guidelines for Meson

This document provides best-practices for usage of ninja in packaging RPMs for Fedora.

BuildRequires

You MUST add following BuildRequires:

BuildRequires: meson

RPM Macros

  • %__meson -- meson executable
  • %__sourcedir -- source directory (NOTE: you can override it using %global, default: .)
  • %__builddir -- build directory (NOTE: you can override it using %global, default: %{_target_platform})
  • %__meson_ninja_opts -- options which will be passed to ninja
  • %meson_build -- alias for %ninja_build -C %{__builddir}
  • %meson_install -- alias for %ninja_install -C %{__builddir}
  • %meson_test -- alias for %ninja_test -C %{__builddir}
Idea.png
For more information see source code
%{rpmmacrodir}/macros.ninja (/usr/lib/rpm/macros.d/macros.ninja)

Example RPM spec file

Name:           example-meson
Version:        1
Release:        1%{?dist}
Summary:        Example package which uses Meson

License:        Public Domain
URL:            https://localhost
Source:         %{url}/%{name}-%{version}.tar.xz

BuildRequires:  meson

%prep
%autosetup

%build
%meson
%meson_build

%install
%meson_install

%check
%meson_test

%files
%{_bindir}/%{name}