> Sorry if I wasn’t clear.  What I meant is: instead of presenting it as a
> trial-and-error approach, I would rather present it as a sequence of
> instructions to build from Git.

OK, what do you think about this patch?

> For the link to README, just use [[./README][README]] (info "(org)
> Hyperlinks").

I decided not to refer to 'README' because it's mentioned in the
"Installation" section of the manual.

> It may look like I’m being picky, and indeed that’s what I am ;-), but I
> think it’s important to agree on how to present information.

No, you are absolutely right.  Do you have any other comments?

From 64f56139dc2b3d92cf9b580414df609fdd951bf0 Mon Sep 17 00:00:00 2001
From: Nikita Karetnikov <nik...@karetnikov.org>
Date: Fri, 12 Jul 2013 20:31:28 +0000
Subject: [PATCH] doc: Add "Building from Git" to 'HACKING'.

---
 HACKING |   35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/HACKING b/HACKING
index 9d8960c..c711521 100644
--- a/HACKING
+++ b/HACKING
@@ -3,12 +3,47 @@
 #+TITLE: Hacking GNU Guix and Its Incredible Distro
 
 Copyright © 2012, 2013 Ludovic Courtès <l...@gnu.org>
+Copyright © 2013 Nikita Karetnikov <nik...@karetnikov.org>
 
   Copying and distribution of this file, with or without modification,
   are permitted in any medium without royalty provided the copyright
   notice and this notice are preserved.
 
 
+* Building from Git
+
+First, make sure that 'autoconf' (>= 2.69), 'automake', and 'pkg-config' are
+installed.  Run './bootstrap' that, among other things, invokes 'git submodule
+update', or you might get the following error
+
+  make: *** No rule to make target `nix/libstore/schema.sql', needed by
+  `nix/libstore/schema.sql.hh'
+
+Then, as always, run './configure'.  If you get an error like this one
+
+  ./configure: line 6755: `PKG_CHECK_MODULES(GUILE, guile-2.0 >= 2.0.5)'
+
+it probably means that 'autoconf' couldn't find 'pkg.m4', which is provided by
+'pkg-config'.  Make sure that 'pkg.m4' is available.  For instance, if you
+installed 'automake' in '/usr/local', it wouldn't look for '.m4' files in
+'/usr/share'.  So you have to invoke the following command in that case
+
+  $ export ACLOCAL_PATH=/usr/share/aclocal
+
+See "info '(automake) Macro Search Path'" for more information.
+
+After that you should proceed with 'make'.  You might also get this error
+
+  /bin/bash: dot: command not found
+  make[2]: *** [doc/images/bootstrap-graph.png] Error 127
+
+This one is easy to handle; just install 'graphviz'.  It is not listed as a
+requirement because the resulting images should come with a tarball.
+
+Finally, you have to invoke 'make check' to run tests.  If anything fails,
+take a look at "info '(guix) Installation'" or send a message to
+<bug-g...@gnu.org>.
+
 * Running Guix before it is installed
 
 Command-line tools can be used even if you have not run "make install".
-- 
1.7.9.5

Attachment: pgpR5NJ_Fv5mI.pgp
Description: PGP signature

Reply via email to