From Fedora Project Wiki
(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''...")
 
Line 26: Line 26:


<pre>
<pre>
Name:          example-meson
%global __sourcedir sdk/%{name}/projects/meson
Version:        1
 
Name:          angelscript
Version:        2.31.1
Release:        1%{?dist}
Release:        1%{?dist}
Summary:        Example package which uses Meson
Summary:        Flexible cross-platform scripting library


License:        Public Domain
License:        zlib
URL:            https://localhost
URL:            http://www.angelcode.com/angelscript/
Source:        %{url}/%{name}-%{version}.tar.xz
Source:        %{url}sdk/files/%{name}_%{version}.zip


BuildRequires:  meson
BuildRequires:  meson


%prep
%prep
%autosetup
%autosetup -c


%build
%build
Line 49: Line 51:
%check
%check
%meson_test
%meson_test
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig


%files
%files
%{_bindir}/%{name}
%{_libdir}/lib%{name}.so
</pre>
</pre>

Revision as of 08:59, 12 October 2016

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

%global __sourcedir sdk/%{name}/projects/meson

Name:           angelscript
Version:        2.31.1
Release:        1%{?dist}
Summary:        Flexible cross-platform scripting library

License:        zlib
URL:            http://www.angelcode.com/angelscript/
Source:         %{url}sdk/files/%{name}_%{version}.zip

BuildRequires:  meson

%prep
%autosetup -c

%build
%meson
%meson_build

%install
%meson_install

%check
%meson_test

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%files
%{_libdir}/lib%{name}.so