about summary refs log tree commit diff
path: root/doc/manual/installation.xml
blob: 3872a7fb8bf5d88e520defef5d5f9955d2ee7341 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<chapter>
  <title>Installation</title>

  <sect1>
    <title>Obtaining Nix</title>

    <para>
      The easiest way to obtain Nix is to download a <ulink
        url='http://www.cs.uu.nl/groups/ST/Trace/Nix'>source
        distribution.</ulink>  
    </para>

    <para>
      Alternatively, the most recent sources of Nix can be obtained from its
      <ulink url='https://svn.cs.uu.nl:12443/repos/trace/nix/trunk'>Subversion 
        repository</ulink>.  For example, the following command will check out
      the latest revision into a directory called <filename>nix</filename>:
    </para>

    <screen>
$ svn checkout https://svn.cs.uu.nl:12443/repos/trace/nix/trunk nix</screen>

    <para>
      Likewise, specific releases can be obtained from the <ulink
        url='https://svn.cs.uu.nl:12443/repos/trace/nix/tags'>tags
        directory</ulink> of the repository.  If you don't have Subversion, you
      can also download an automatically generated <ulink
        url='https://svn.cs.uu.nl:12443/dist/trace/'>compressed
        tar-file</ulink> of the head revision of the trunk.
    </para>

  </sect1>

  <sect1>
    <title>Prerequisites</title>

    <para>
      A fairly recent version of GCC/G++ is required.  Version 2.95 and higher
      should work.
    </para>

    <para>
      To rebuild this manual and the man-pages you need the
      <command>xmllint</command> and <command>xsltproc</command>, which are
      part of the <literal>libxml2</literal> and <literal>libxslt</literal>
      packages, respectively.  You also need the <ulink
        url='http://docbook.sourceforge.net/projects/xsl/'>DocBook XSL
        stylesheets</ulink> and optionally the <ulink
        url='http://www.oasis-open.org/docbook/xml/4.2/docbook-xml-4.2.zip'>
        DocBook XML 4.2 DTD</ulink>.  Note that these are only required if you
      modify the manual sources or when you are building from the Subversion
      repository.
    </para>

    <para>
      Nix uses Sleepycat's Berkeley DB, CWI's ATerm library, and SDF parser
      library.  These are included in the Nix source distribution.  If you
      build from the Subversion repository, you must download them yourself and
      place them in the <filename>externals/</filename> directory.  See
      <filename>externals/Makefile.am</filename> for the precise URLs of these
      packages.
    </para>
  </sect1>

  <sect1>
    <title>Building Nix</title>

    <para>
      After unpacking or checking out the Nix sources, issue the following
      commands:
    </para>

    <screen>
$ ./configure <replaceable>options...</replaceable>
$ make
$ make install</screen>

    <para>
      When building from the Subversion repository, these should be preceded by
      the command:
    </para>

    <screen>
$ autoreconf -i</screen>

    <para>
      The installation path can be specified by passing the
      <option>--prefix=<replaceable>prefix</replaceable></option> to
      <command>configure</command>.  The default installation directory is
      <filename>/nix</filename>.  You can change this to any location you like.
      You must have write permission to the <replaceable>prefix</replaceable>
      path.
    </para>

    <warning>
      <para>
        It is advisable <emphasis>not</emphasis> to change the installation
        prefix from its default, since doing so will in all likelihood make it
        impossible to use derivations built on other systems.
      </para>
    </warning>

    <para>
      If you want to rebuilt the documentation, pass the full path to the
      DocBook XML catalog file (<filename>docbook.cat</filename>) and to the
      DocBook XSL stylesheets using the
      <option>--with-docbook-catalog=<replaceable>path</replaceable></option>
      and <option>--with-docbook-xsl=<replaceable>path</replaceable></option>
      options.
    </para>

  </sect1>

</chapter>

<!--
local variables:
sgml-parent-document: ("book.xml" "chapter")
end:
-->