diff options
| -rw-r--r-- | HACKING | 35 |
1 files changed, 35 insertions, 0 deletions
| @@ -3,12 +3,47 @@ | |||
| 3 | #+TITLE: Hacking GNU Guix and Its Incredible Distro | 3 | #+TITLE: Hacking GNU Guix and Its Incredible Distro |
| 4 | 4 | ||
| 5 | Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> | 5 | Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> |
| 6 | Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> | ||
| 6 | 7 | ||
| 7 | Copying and distribution of this file, with or without modification, | 8 | Copying and distribution of this file, with or without modification, |
| 8 | are permitted in any medium without royalty provided the copyright | 9 | are permitted in any medium without royalty provided the copyright |
| 9 | notice and this notice are preserved. | 10 | notice and this notice are preserved. |
| 10 | 11 | ||
| 11 | 12 | ||
| 13 | * Building from Git | ||
| 14 | |||
| 15 | First, make sure that Autoconf (>= 2.69), Automake, and pkg-config are | ||
| 16 | installed. Run ‘./bootstrap’ that, among other things, invokes ‘git submodule | ||
| 17 | update’, or you might get the following error | ||
| 18 | |||
| 19 | make: *** No rule to make target `nix/libstore/schema.sql', needed by | ||
| 20 | `nix/libstore/schema.sql.hh' | ||
| 21 | |||
| 22 | Then, as always, run ‘./configure’. If you get an error like this one | ||
| 23 | |||
| 24 | ./configure: line 6755: `PKG_CHECK_MODULES(GUILE, guile-2.0 >= 2.0.5)' | ||
| 25 | |||
| 26 | it probably means that Autoconf couldn’t find ‘pkg.m4’, which is provided by | ||
| 27 | pkg-config. Make sure that ‘pkg.m4’ is available. For instance, if you | ||
| 28 | installed Automake in ‘/usr/local’, it wouldn’t look for ‘.m4’ files in | ||
| 29 | ‘/usr/share’. So you have to invoke the following command in that case | ||
| 30 | |||
| 31 | $ export ACLOCAL_PATH=/usr/share/aclocal | ||
| 32 | |||
| 33 | See “info '(automake) Macro Search Path'” for more information. | ||
| 34 | |||
| 35 | After that you should proceed with ‘make’. You might also get this error | ||
| 36 | |||
| 37 | /bin/bash: dot: command not found | ||
| 38 | make[2]: *** [doc/images/bootstrap-graph.png] Error 127 | ||
| 39 | |||
| 40 | This one is easy to handle; just install Graphviz. It is not listed as a | ||
| 41 | requirement because the resulting images should come with a tarball. | ||
| 42 | |||
| 43 | Finally, you have to invoke ‘make check’ to run tests. If anything fails, | ||
| 44 | take a look at “info '(guix) Installation'” or send a message to | ||
| 45 | <bug-guix@gnu.org>. | ||
| 46 | |||
| 12 | * Running Guix before it is installed | 47 | * Running Guix before it is installed |
| 13 | 48 | ||
| 14 | Command-line tools can be used even if you have not run "make install". | 49 | Command-line tools can be used even if you have not run "make install". |
