From Fedora Project Wiki
m (→RPM Macros) |
|||
Line 17: | Line 17: | ||
* <code>%__builddir</code> -- build directory ('''NOTE''': you can override it using <tt>%global</tt>, default: <code>%{_target_platform}</code>) | * <code>%__builddir</code> -- build directory ('''NOTE''': you can override it using <tt>%global</tt>, default: <code>%{_target_platform}</code>) | ||
* <code>%__meson_ninja_opts</code> -- options which will be passed to ninja | * <code>%__meson_ninja_opts</code> -- options which will be passed to ninja | ||
* <code>%meson</code> -- function which defines CFLAGS, LDFLAGS, etc. and calls %__meson with appropriate parameters (<tt>--libdir=%{_libdir}</tt> and such) | |||
* <code>%meson_build</code> -- alias for <code>%ninja_build -C %{__builddir}</code> | * <code>%meson_build</code> -- alias for <code>%ninja_build -C %{__builddir}</code> | ||
* <code>%meson_install</code> -- alias for <code>%ninja_install -C %{__builddir}</code> | * <code>%meson_install</code> -- alias for <code>%ninja_install -C %{__builddir}</code> |
Revision as of 09:00, 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
-- function which defines CFLAGS, LDFLAGS, etc. and calls %__meson with appropriate parameters (--libdir=%{_libdir} and such)%meson_build
-- alias for%ninja_build -C %{__builddir}
%meson_install
-- alias for%ninja_install -C %{__builddir}
%meson_test
-- alias for%ninja_test -C %{__builddir}
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