glfs/archive/ninja.xml
Bruce Dubbs 5c7f24979d Archive ninja. It offers very little more than what is iun LFS.
Tag two packages.



git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@21201 af4574ff-66df-0310-9fd7-8a98e5e911e0
2019-02-19 06:16:11 +00:00

219 lines
6.3 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY ninja-download-http "https://github.com/ninja-build/ninja/archive/v&ninja-version;/ninja-&ninja-version;.tar.gz">
<!ENTITY ninja-download-ftp " ">
<!ENTITY ninja-md5sum "f340be768a76724b83e6daab69009902">
<!ENTITY ninja-size "186 KB">
<!ENTITY ninja-buildsize "65 MB">
<!ENTITY ninja-time "0.2 SBU">
]>
<sect1 id="ninja" xreflabel="Ninja-&ninja-version;">
<?dbhtml filename="ninja.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>Ninja-&ninja-version;</title>
<indexterm zone="ninja">
<primary sortas="a-Ninja">Ninja</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Ninja</title>
<para>
<application>Ninja</application> is a small build system with a focus on
speed.
</para>
<note>
<para>This package was installed as a part of the base LFS
system. The only reason to reinstall is to use the optional
dependencies for additional support files or documentation.
</para>
</note>
&lfs84_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&ninja-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&ninja-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &ninja-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &ninja-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &ninja-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &ninja-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Ninja Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="python3"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="asciidoc"/> (to build the manual),
<xref linkend="emacs"/> (to generate lisp files),
<xref linkend="doxygen"/> (to build API documentation), and
<ulink url="http://re2c.sourceforge.net/">re2c</ulink>
(only needed to modify the build)
</para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/ninja"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of Ninja</title>
<para>
Install <application>Ninja</application> by running the following
commands:
</para>
<screen><userinput>python3 configure.py --bootstrap</userinput></screen>
<para>If Emacs is installed and you wish to build lisp files:</para>
<screen><userinput>emacs -Q --batch -f batch-byte-compile misc/ninja-mode.el</userinput></screen>
<para>
To test the results, issue the following commands:
</para>
<screen><userinput>python3 configure.py &amp;&amp;
./ninja ninja_test &amp;&amp;
./ninja_test --gtest_filter=-SubprocessTest.SetWithLots</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>install -vm755 ninja /usr/bin/ &amp;&amp;
install -vDm644 misc/ninja.vim \
/usr/share/vim/vim&vim-majmin;/syntax/ninja.vim &amp;&amp;
install -vDm644 misc/bash-completion \
/usr/share/bash-completion/completions/ninja &amp;&amp;
install -vDm644 misc/zsh-completion \
/usr/share/zsh/site-functions/_ninja</userinput></screen>
<para>
If Emacs is installed, while still the
<systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>install -vDm644 misc/ninja-mode.el \
/usr/share/emacs/site-lisp/ninja-mode.el
install -vDm644 misc/ninja-mode.elc \
/usr/share/emacs/site-lisp/ninja-mode.elc</userinput></screen>
<para>
If you have <xref linkend="asciidoc"/> installed and wish to build the
HTML manual, execute the following commands (as the
<systemitem class="username">root</systemitem> user):
</para>
<screen role="root"><userinput>ninja manual &amp;&amp;
install -vDm644 doc/manual.html /usr/share/doc/ninja-&ninja-version;/manual.html</userinput></screen>
<para>
If you have <xref linkend="doxygen"/> installed and wish to build the
API documentation, execute the following commands (as the
<systemitem class="username">root</systemitem> user):
</para>
<screen role="root"><userinput>ninja doxygen &amp;&amp;
install -vDm644 -t /usr/share/doc/ninja-&ninja-version;/ doc/doxygen/html/*</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<command>emacs -Q --batch -f batch-byte-compile
misc/ninja-mode.el</command>: regenerates the emacs lisp files.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Library</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
ninja
</seg>
<seg>
none
</seg>
<seg>
/usr/share/doc/ninja-&ninja-version;
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="ninja-prog">
<term><command>ninja</command></term>
<listitem>
<para>
is the Ninja build system.
</para>
<indexterm zone="ninja ninja-prog">
<primary sortas="b-ninja">ninja</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>