Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-release > by-pkgid > 541cfd35b0592d05b4a10871bc65c643 > files > 8

tig-2.4.1-1.mga7.armv7hl.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<meta name="generator" content="AsciiDoc 8.6.10" />
<title>Installation instructions</title>
<style type="text/css">
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */

/* Default font. */
body {
  font-family: Georgia,serif;
}

/* Title font. */
h1, h2, h3, h4, h5, h6,
div.title, caption.title,
thead, p.table.header,
#toctitle,
#author, #revnumber, #revdate, #revremark,
#footer {
  font-family: Arial,Helvetica,sans-serif;
}

body {
  margin: 1em 5% 1em 5%;
}

a {
  color: blue;
  text-decoration: underline;
}
a:visited {
  color: fuchsia;
}

em {
  font-style: italic;
  color: navy;
}

strong {
  font-weight: bold;
  color: #083194;
}

h1, h2, h3, h4, h5, h6 {
  color: #527bbd;
  margin-top: 1.2em;
  margin-bottom: 0.5em;
  line-height: 1.3;
}

h1, h2, h3 {
  border-bottom: 2px solid silver;
}
h2 {
  padding-top: 0.5em;
}
h3 {
  float: left;
}
h3 + * {
  clear: left;
}
h5 {
  font-size: 1.0em;
}

div.sectionbody {
  margin-left: 0;
}

hr {
  border: 1px solid silver;
}

p {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

ul, ol, li > p {
  margin-top: 0;
}
ul > li     { color: #aaa; }
ul > li > * { color: black; }

.monospaced, code, pre {
  font-family: "Courier New", Courier, monospace;
  font-size: inherit;
  color: navy;
  padding: 0;
  margin: 0;
}
pre {
  white-space: pre-wrap;
}

#author {
  color: #527bbd;
  font-weight: bold;
  font-size: 1.1em;
}
#email {
}
#revnumber, #revdate, #revremark {
}

#footer {
  font-size: small;
  border-top: 2px solid silver;
  padding-top: 0.5em;
  margin-top: 4.0em;
}
#footer-text {
  float: left;
  padding-bottom: 0.5em;
}
#footer-badges {
  float: right;
  padding-bottom: 0.5em;
}

#preamble {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
div.imageblock, div.exampleblock, div.verseblock,
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
div.admonitionblock {
  margin-top: 1.0em;
  margin-bottom: 1.5em;
}
div.admonitionblock {
  margin-top: 2.0em;
  margin-bottom: 2.0em;
  margin-right: 10%;
  color: #606060;
}

div.content { /* Block element content. */
  padding: 0;
}

/* Block element titles. */
div.title, caption.title {
  color: #527bbd;
  font-weight: bold;
  text-align: left;
  margin-top: 1.0em;
  margin-bottom: 0.5em;
}
div.title + * {
  margin-top: 0;
}

td div.title:first-child {
  margin-top: 0.0em;
}
div.content div.title:first-child {
  margin-top: 0.0em;
}
div.content + div.title {
  margin-top: 0.0em;
}

div.sidebarblock > div.content {
  background: #ffffee;
  border: 1px solid #dddddd;
  border-left: 4px solid #f0f0f0;
  padding: 0.5em;
}

div.listingblock > div.content {
  border: 1px solid #dddddd;
  border-left: 5px solid #f0f0f0;
  background: #f8f8f8;
  padding: 0.5em;
}

div.quoteblock, div.verseblock {
  padding-left: 1.0em;
  margin-left: 1.0em;
  margin-right: 10%;
  border-left: 5px solid #f0f0f0;
  color: #888;
}

div.quoteblock > div.attribution {
  padding-top: 0.5em;
  text-align: right;
}

div.verseblock > pre.content {
  font-family: inherit;
  font-size: inherit;
}
div.verseblock > div.attribution {
  padding-top: 0.75em;
  text-align: left;
}
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
div.verseblock + div.attribution {
  text-align: left;
}

div.admonitionblock .icon {
  vertical-align: top;
  font-size: 1.1em;
  font-weight: bold;
  text-decoration: underline;
  color: #527bbd;
  padding-right: 0.5em;
}
div.admonitionblock td.content {
  padding-left: 0.5em;
  border-left: 3px solid #dddddd;
}

div.exampleblock > div.content {
  border-left: 3px solid #dddddd;
  padding-left: 0.5em;
}

div.imageblock div.content { padding-left: 0; }
span.image img { border-style: none; vertical-align: text-bottom; }
a.image:visited { color: white; }

dl {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
dt {
  margin-top: 0.5em;
  margin-bottom: 0;
  font-style: normal;
  color: navy;
}
dd > *:first-child {
  margin-top: 0.1em;
}

ul, ol {
    list-style-position: outside;
}
ol.arabic {
  list-style-type: decimal;
}
ol.loweralpha {
  list-style-type: lower-alpha;
}
ol.upperalpha {
  list-style-type: upper-alpha;
}
ol.lowerroman {
  list-style-type: lower-roman;
}
ol.upperroman {
  list-style-type: upper-roman;
}

div.compact ul, div.compact ol,
div.compact p, div.compact p,
div.compact div, div.compact div {
  margin-top: 0.1em;
  margin-bottom: 0.1em;
}

tfoot {
  font-weight: bold;
}
td > div.verse {
  white-space: pre;
}

div.hdlist {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
div.hdlist tr {
  padding-bottom: 15px;
}
dt.hdlist1.strong, td.hdlist1.strong {
  font-weight: bold;
}
td.hdlist1 {
  vertical-align: top;
  font-style: normal;
  padding-right: 0.8em;
  color: navy;
}
td.hdlist2 {
  vertical-align: top;
}
div.hdlist.compact tr {
  margin: 0;
  padding-bottom: 0;
}

.comment {
  background: yellow;
}

.footnote, .footnoteref {
  font-size: 0.8em;
}

span.footnote, span.footnoteref {
  vertical-align: super;
}

#footnotes {
  margin: 20px 0 20px 0;
  padding: 7px 0 0 0;
}

#footnotes div.footnote {
  margin: 0 0 5px 0;
}

#footnotes hr {
  border: none;
  border-top: 1px solid silver;
  height: 1px;
  text-align: left;
  margin-left: 0;
  width: 20%;
  min-width: 100px;
}

div.colist td {
  padding-right: 0.5em;
  padding-bottom: 0.3em;
  vertical-align: top;
}
div.colist td img {
  margin-top: 0.3em;
}

@media print {
  #footer-badges { display: none; }
}

#toc {
  margin-bottom: 2.5em;
}

#toctitle {
  color: #527bbd;
  font-size: 1.1em;
  font-weight: bold;
  margin-top: 1.0em;
  margin-bottom: 0.1em;
}

div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
  margin-top: 0;
  margin-bottom: 0;
}
div.toclevel2 {
  margin-left: 2em;
  font-size: 0.9em;
}
div.toclevel3 {
  margin-left: 4em;
  font-size: 0.9em;
}
div.toclevel4 {
  margin-left: 6em;
  font-size: 0.9em;
}

span.aqua { color: aqua; }
span.black { color: black; }
span.blue { color: blue; }
span.fuchsia { color: fuchsia; }
span.gray { color: gray; }
span.green { color: green; }
span.lime { color: lime; }
span.maroon { color: maroon; }
span.navy { color: navy; }
span.olive { color: olive; }
span.purple { color: purple; }
span.red { color: red; }
span.silver { color: silver; }
span.teal { color: teal; }
span.white { color: white; }
span.yellow { color: yellow; }

span.aqua-background { background: aqua; }
span.black-background { background: black; }
span.blue-background { background: blue; }
span.fuchsia-background { background: fuchsia; }
span.gray-background { background: gray; }
span.green-background { background: green; }
span.lime-background { background: lime; }
span.maroon-background { background: maroon; }
span.navy-background { background: navy; }
span.olive-background { background: olive; }
span.purple-background { background: purple; }
span.red-background { background: red; }
span.silver-background { background: silver; }
span.teal-background { background: teal; }
span.white-background { background: white; }
span.yellow-background { background: yellow; }

span.big { font-size: 2em; }
span.small { font-size: 0.6em; }

span.underline { text-decoration: underline; }
span.overline { text-decoration: overline; }
span.line-through { text-decoration: line-through; }

div.unbreakable { page-break-inside: avoid; }


/*
 * xhtml11 specific
 *
 * */

div.tableblock {
  margin-top: 1.0em;
  margin-bottom: 1.5em;
}
div.tableblock > table {
  border: 3px solid #527bbd;
}
thead, p.table.header {
  font-weight: bold;
  color: #527bbd;
}
p.table {
  margin-top: 0;
}
/* Because the table frame attribute is overriden by CSS in most browsers. */
div.tableblock > table[frame="void"] {
  border-style: none;
}
div.tableblock > table[frame="hsides"] {
  border-left-style: none;
  border-right-style: none;
}
div.tableblock > table[frame="vsides"] {
  border-top-style: none;
  border-bottom-style: none;
}


/*
 * html5 specific
 *
 * */

table.tableblock {
  margin-top: 1.0em;
  margin-bottom: 1.5em;
}
thead, p.tableblock.header {
  font-weight: bold;
  color: #527bbd;
}
p.tableblock {
  margin-top: 0;
}
table.tableblock {
  border-width: 3px;
  border-spacing: 0px;
  border-style: solid;
  border-color: #527bbd;
  border-collapse: collapse;
}
th.tableblock, td.tableblock {
  border-width: 1px;
  padding: 4px;
  border-style: solid;
  border-color: #527bbd;
}

table.tableblock.frame-topbot {
  border-left-style: hidden;
  border-right-style: hidden;
}
table.tableblock.frame-sides {
  border-top-style: hidden;
  border-bottom-style: hidden;
}
table.tableblock.frame-none {
  border-style: hidden;
}

th.tableblock.halign-left, td.tableblock.halign-left {
  text-align: left;
}
th.tableblock.halign-center, td.tableblock.halign-center {
  text-align: center;
}
th.tableblock.halign-right, td.tableblock.halign-right {
  text-align: right;
}

th.tableblock.valign-top, td.tableblock.valign-top {
  vertical-align: top;
}
th.tableblock.valign-middle, td.tableblock.valign-middle {
  vertical-align: middle;
}
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
  vertical-align: bottom;
}


/*
 * manpage specific
 *
 * */

body.manpage h1 {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  border-top: 2px solid silver;
  border-bottom: 2px solid silver;
}
body.manpage h2 {
  border-style: none;
}
body.manpage div.sectionbody {
  margin-left: 3em;
}

@media print {
  body.manpage div#toc { display: none; }
}


</style>
<script type="text/javascript">
/*<![CDATA[*/
var asciidoc = {  // Namespace.

/////////////////////////////////////////////////////////////////////
// Table Of Contents generator
/////////////////////////////////////////////////////////////////////

/* Author: Mihai Bazon, September 2002
 * http://students.infoiasi.ro/~mishoo
 *
 * Table Of Content generator
 * Version: 0.4
 *
 * Feel free to use this script under the terms of the GNU General Public
 * License, as long as you do not remove or alter this notice.
 */

 /* modified by Troy D. Hanson, September 2006. License: GPL */
 /* modified by Stuart Rackham, 2006, 2009. License: GPL */

// toclevels = 1..4.
toc: function (toclevels) {

  function getText(el) {
    var text = "";
    for (var i = el.firstChild; i != null; i = i.nextSibling) {
      if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
        text += i.data;
      else if (i.firstChild != null)
        text += getText(i);
    }
    return text;
  }

  function TocEntry(el, text, toclevel) {
    this.element = el;
    this.text = text;
    this.toclevel = toclevel;
  }

  function tocEntries(el, toclevels) {
    var result = new Array;
    var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
    // Function that scans the DOM tree for header elements (the DOM2
    // nodeIterator API would be a better technique but not supported by all
    // browsers).
    var iterate = function (el) {
      for (var i = el.firstChild; i != null; i = i.nextSibling) {
        if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
          var mo = re.exec(i.tagName);
          if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
            result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
          }
          iterate(i);
        }
      }
    }
    iterate(el);
    return result;
  }

  var toc = document.getElementById("toc");
  if (!toc) {
    return;
  }

  // Delete existing TOC entries in case we're reloading the TOC.
  var tocEntriesToRemove = [];
  var i;
  for (i = 0; i < toc.childNodes.length; i++) {
    var entry = toc.childNodes[i];
    if (entry.nodeName.toLowerCase() == 'div'
     && entry.getAttribute("class")
     && entry.getAttribute("class").match(/^toclevel/))
      tocEntriesToRemove.push(entry);
  }
  for (i = 0; i < tocEntriesToRemove.length; i++) {
    toc.removeChild(tocEntriesToRemove[i]);
  }

  // Rebuild TOC entries.
  var entries = tocEntries(document.getElementById("content"), toclevels);
  for (var i = 0; i < entries.length; ++i) {
    var entry = entries[i];
    if (entry.element.id == "")
      entry.element.id = "_toc_" + i;
    var a = document.createElement("a");
    a.href = "#" + entry.element.id;
    a.appendChild(document.createTextNode(entry.text));
    var div = document.createElement("div");
    div.appendChild(a);
    div.className = "toclevel" + entry.toclevel;
    toc.appendChild(div);
  }
  if (entries.length == 0)
    toc.parentNode.removeChild(toc);
},


/////////////////////////////////////////////////////////////////////
// Footnotes generator
/////////////////////////////////////////////////////////////////////

/* Based on footnote generation code from:
 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
 */

footnotes: function () {
  // Delete existing footnote entries in case we're reloading the footnodes.
  var i;
  var noteholder = document.getElementById("footnotes");
  if (!noteholder) {
    return;
  }
  var entriesToRemove = [];
  for (i = 0; i < noteholder.childNodes.length; i++) {
    var entry = noteholder.childNodes[i];
    if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
      entriesToRemove.push(entry);
  }
  for (i = 0; i < entriesToRemove.length; i++) {
    noteholder.removeChild(entriesToRemove[i]);
  }

  // Rebuild footnote entries.
  var cont = document.getElementById("content");
  var spans = cont.getElementsByTagName("span");
  var refs = {};
  var n = 0;
  for (i=0; i<spans.length; i++) {
    if (spans[i].className == "footnote") {
      n++;
      var note = spans[i].getAttribute("data-note");
      if (!note) {
        // Use [\s\S] in place of . so multi-line matches work.
        // Because JavaScript has no s (dotall) regex flag.
        note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
        spans[i].innerHTML =
          "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
          "' title='View footnote' class='footnote'>" + n + "</a>]";
        spans[i].setAttribute("data-note", note);
      }
      noteholder.innerHTML +=
        "<div class='footnote' id='_footnote_" + n + "'>" +
        "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
        n + "</a>. " + note + "</div>";
      var id =spans[i].getAttribute("id");
      if (id != null) refs["#"+id] = n;
    }
  }
  if (n == 0)
    noteholder.parentNode.removeChild(noteholder);
  else {
    // Process footnoterefs.
    for (i=0; i<spans.length; i++) {
      if (spans[i].className == "footnoteref") {
        var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
        href = href.match(/#.*/)[0];  // Because IE return full URL.
        n = refs[href];
        spans[i].innerHTML =
          "[<a href='#_footnote_" + n +
          "' title='View footnote' class='footnote'>" + n + "</a>]";
      }
    }
  }
},

install: function(toclevels) {
  var timerId;

  function reinstall() {
    asciidoc.footnotes();
    if (toclevels) {
      asciidoc.toc(toclevels);
    }
  }

  function reinstallAndRemoveTimer() {
    clearInterval(timerId);
    reinstall();
  }

  timerId = setInterval(reinstall, 500);
  if (document.addEventListener)
    document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
  else
    window.onload = reinstallAndRemoveTimer;
}

}
asciidoc.install();
/*]]>*/
</script>
</head>
<body class="article">
<div id="header">
<h1>Installation instructions</h1>
</div>
<div id="content">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph"><p>Download a tarball from <a href="https://github.com/jonas/tig/releases">https://github.com/jonas/tig/releases</a> or clone the Tig
repository <a href="http://github.com/jonas/tig">git://github.com/jonas/tig.git</a>.</p></div>
<div class="paragraph"><p>The latest version is:
<a href="https://github.com/jonas/tig/releases/download/tig-2.4.1/tig-2.4.1.tar.gz">tig-2.4.1</a>
<a href="https://github.com/jonas/tig/releases/download/tig-2.4.1/tig-2.4.1.tar.gz.md5">(md5)</a></p></div>
<div class="paragraph"><p><strong>Note:</strong> Do not use the tar.gz file for version 2.0 because it will fail
to compile due to issue <a href="https://github.com/jonas/tig/pull/283">#283</a> and
<a href="https://github.com/jonas/tig/issues/337">#337</a></p></div>
<div class="paragraph"><p>The quick and simple way to install Tig is:</p></div>
<div class="literalblock">
<div class="content">
<pre><code>$ make
$ make install</code></pre>
</div></div>
<div class="paragraph"><p>By default, <code>tig</code> is installed in <code>$HOME/bin</code>. To install <code>tig</code> elsewhere set
<code>prefix</code> to the desired path:</p></div>
<div class="literalblock">
<div class="content">
<pre><code>$ make prefix=/usr/local
$ sudo make install prefix=/usr/local</code></pre>
</div></div>
<div class="paragraph"><p>Documentation files, such as manpages, are distributed in the release tarballs,
and can be installed using:</p></div>
<div class="literalblock">
<div class="content">
<pre><code>$ make install-doc</code></pre>
</div></div>
<div class="paragraph"><p>When installing directly from the Tig repository, <code>make install-doc</code> will assume
that the documentation tool chain is available and build the documentation
locally. In case you do not wish to install the required tools, documentation
can be installed from the <em>release</em> branch using:</p></div>
<div class="literalblock">
<div class="content">
<pre><code>$ make install-release-doc</code></pre>
</div></div>
<div class="paragraph"><p>Before upgrading, you are advised to read <a href="NEWS.html">the release notes</a>.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_installation_using_code_configure_code">Installation using <code>configure</code></h2>
<div class="sectionbody">
<div class="paragraph"><p>Optionally, you can use the <code>configure</code> script to detect dependencies:</p></div>
<div class="literalblock">
<div class="content">
<pre><code>$ ./configure
$ make
$ make install</code></pre>
</div></div>
<div class="paragraph"><p>If your <code>iconv</code> library is not in the default library and include path, you need
to pass the <code>--with-libiconv</code> option to <code>configure</code> to tell it where to look.</p></div>
<div class="paragraph"><p>If you have installed ncurses with brew, run configure with the following
flags to have it properly detected (note this done out of the box if you
build without <code>configure</code>):</p></div>
<div class="literalblock">
<div class="content">
<pre><code>$ ./configure LDFLAGS=-L/usr/local/opt/ncurses/lib CPPFLAGS=-I/usr/local/opt/ncurses/include</code></pre>
</div></div>
<div class="paragraph"><p>Note, if you are building from the Tig repository, you need to generate
<code>configure</code> yourself. First, ensure that <code>autoconf</code> is installed on your system,
and then run the following command:</p></div>
<div class="literalblock">
<div class="content">
<pre><code>$ make configure</code></pre>
</div></div>
</div>
</div>
<div class="sect1">
<h2 id="_installation_using_homebrew">Installation using Homebrew</h2>
<div class="sectionbody">
<div class="paragraph"><p>You can use <a href="http://brew.sh">Homebrew</a> to install Tig on OS X:</p></div>
<div class="literalblock">
<div class="content">
<pre><code>$ brew install tig</code></pre>
</div></div>
<div class="paragraph"><p>Note, for older installations of Tig, Homebrew does not automatically
update the system-wide <code>tigrc</code> file when upgrading Tig and the
<a href="https://github.com/Homebrew/homebrew-core/commit/5600463d68620d68c9745acc490af7f8a16a75cb">behavior</a>
was changed in 2015 to install the system-wide <code>tigrc</code> in the
<code>/usr/local/share/tig/examples</code> directory so Tig always uses the
defaults compiled into the binary.</p></div>
<div class="paragraph"><p>If you see warnings when starting Tig after upgrading, e.g.:</p></div>
<div class="literalblock">
<div class="content">
<pre><code>tig warning: Errors while loading /usr/local/etc/tigrc</code></pre>
</div></div>
<div class="paragraph"><p>It means you either need to manually update <code>/usr/local/etc/tigrc</code> with
changes from <code>/usr/local/share/tig/examples</code> rename the file if you
never made any changes to it.</p></div>
<div class="literalblock">
<div class="content">
<pre><code>$ mv /usr/local/etc/tigrc{,.old}</code></pre>
</div></div>
</div>
</div>
<div class="sect1">
<h2 id="_installation_using_nix">Installation using Nix</h2>
<div class="sectionbody">
<div class="paragraph"><p>You can use <a href="https://nixos.org/nix/">Nix</a> to install Tig on NixOS, or any Linux/OSX distribution with Nix installed:</p></div>
<div class="literalblock">
<div class="content">
<pre><code>$ nix-env -i tig</code></pre>
</div></div>
</div>
</div>
<div class="sect1">
<h2 id="_installation_on_windows">Installation on Windows</h2>
<div class="sectionbody">
<div class="paragraph"><p>To run on Windows, you will need <a href="https://www.cygwin.com/">cygwin</a>.
You must then install the packages <code>git</code>, <code>gcc-core</code>, <code>make</code>, <code>libiconv-devel</code>
and <code>libncurses-devel</code>. Extract the tarball and install by using <code>configure</code>
as explained above.</p></div>
<div class="paragraph"><p>If you want to install from the sources, then you will also need the <code>automake</code>
package (which will also install <code>autoconf</code>). Then run <code>make configure</code> and install
by using <code>configure</code> as explained above.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_build_configuration">Build configuration</h2>
<div class="sectionbody">
<div class="paragraph"><p>Build settings are read from the file <code>config.make</code> and for certain systems also
from <code>contrib/config.make-$kernel</code>. An example of the latter is Mac OS X, where
<code>contrib/config.make-Darwin</code> provides out-of-the-box configuration for using the
system ncurses library and linking with the iconv library. This makes it easy to
configure the build without having to use the <code>configure</code> script. As a side
note, <code>configure</code> itself generates a <code>config.make</code> file.</p></div>
<div class="paragraph"><p>Apart from the different standard <code>make</code> build variables (<code>CC</code>, <code>CFLAGS</code>, etc.)
and standard <code>configure</code> variables (<code>prefix</code>, <code>bindir</code>, etc.), build settings
can be one of the following flags:</p></div>
<div class="ulist"><ul>
<li>
<p>
<code>NO_SETENV</code>: Define this variable to enable work-around for missing
   <code>setenv()</code>.
</p>
</li>
<li>
<p>
<code>NO_MKSTEMPS</code>: Define this variable to enable work-around for missing
   <code>mkstemps()</code>.
</p>
</li>
<li>
<p>
<code>NO_WORDEXP</code>: Define this variable to enable work-around for missing
   <code>wordexp()</code>.
</p>
</li>
<li>
<p>
<code>NO_BUILTIN_TIGRC</code>: Reduce the size of the binary by not including a
   built-in tigrc. The built-in tigrc is used as a fallback when no
   <code>tigrc</code> is found in the system configuration directory (e.g. <code>/etc</code>).
</p>
</li>
<li>
<p>
<code>TIG_USER_CONFIG</code>: Allow to customize the <code>tigrc</code> path (default <code>~/.tigrc</code>).
</p>
</li>
</ul></div>
<div class="paragraph"><p>The following example <code>config.make</code> manually configures Tig to use the ncurses
library with wide character support and include the proper ncurses header file
(see tig.h for more information):</p></div>
<div class="literalblock">
<div class="content">
<pre><code>LDLIBS = -lncursesw
CPPFLAGS = -DHAVE_NCURSESW_CURSES_H</code></pre>
</div></div>
<div class="paragraph"><p>For more examples of build settings, see <code>contrib/config.make</code> and
<code>config.make.in</code>.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_tools_and_packages">Tools and packages</h2>
<div class="sectionbody">
<div class="paragraph"><p>The following tools and packages are needed:</p></div>
<div class="tableblock">
<table rules="all"
width="100%"
frame="border"
cellspacing="0" cellpadding="4">
<col width="20%" />
<col width="80%" />
<thead>
<tr>
<th align="left" valign="top">Tool                           </th>
<th align="left" valign="top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" valign="top"><p class="table">git-core</p></td>
<td align="left" valign="top"><p class="table">Tig is just a frontend for Git.</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">ncurses or ncursesw</p></td>
<td align="left" valign="top"><p class="table">Be sure to have the development files
                                 installed. Usually they are available in a
                                 separate package ending with <code>-dev</code>.</p>
<p class="table">                                 Ncurses with wide character support (ncursesw)
                                 is required to properly handle UTF-8 encoded
                                 strings.</p>
<p class="table">                                 Note for packagers: For Tig&#8217;s <code>configure</code>
                                 script to work as expected you should avoid
                                 configuring and building ncurses using
                                 <code>--with-shared</code>.</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">iconv</p></td>
<td align="left" valign="top"><p class="table">If iconv is not provided by the c library
                                 you need to change the Makefile to link it
                                 into the binary.</p></td>
</tr>
</tbody>
</table>
</div>
<div class="paragraph"><p>The following tools and packages are optional and mainly needed for creating the
configure script and building documentation:</p></div>
<div class="tableblock">
<table rules="all"
width="100%"
frame="border"
cellspacing="0" cellpadding="4">
<col width="20%" />
<col width="80%" />
<thead>
<tr>
<th align="left" valign="top">Tool                           </th>
<th align="left" valign="top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" valign="top"><p class="table">readline</p></td>
<td align="left" valign="top"><p class="table">Adds support for completion and history in
                                 search and command prompts.</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">autoconf</p></td>
<td align="left" valign="top"><p class="table">Contains autoreconf for generating configure
                                 from configure.ac.</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">asciidoc (&gt;= 8.4)</p></td>
<td align="left" valign="top"><p class="table">Generates HTML and (DocBook) XML from text.</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">xmlto</p></td>
<td align="left" valign="top"><p class="table">Generates manpages and chunked HTML from XML.</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">DocBook XSL (&gt;= 1.72.0)</p></td>
<td align="left" valign="top"><p class="table">Used by xmlto for building manpages.</p></td>
</tr>
<tr>
<td align="left" valign="top"><p class="table">DocBook (DSSL/Jade) tools</p></td>
<td align="left" valign="top"><p class="table">Generates PDF from XML.
                                 Also known as docbook-utils.</p></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
Last updated
 2018-07-26 23:17:59 EDT
</div>
</div>
</body>
</html>