diff options
Diffstat (limited to 'contrib/packages/guix/README')
-rw-r--r-- | contrib/packages/guix/README | 47 |
1 files changed, 36 insertions, 11 deletions
diff --git a/contrib/packages/guix/README b/contrib/packages/guix/README index 0b66e500a..9062cdb68 100644 --- a/contrib/packages/guix/README +++ b/contrib/packages/guix/README | |||
@@ -1,39 +1,64 @@ | |||
1 | package definitions for GNU Guix | 1 | package definitions for GNU Guix |
2 | --------------------------------- | 2 | --------------------------------- |
3 | 3 | ||
4 | About | ||
5 | ----- | ||
6 | |||
7 | This directory contains various files to work with GNUnet using Guix: | ||
8 | |||
9 | * A folder intended to be used with GUIX_PACKAGE_PATH ("packages") | ||
10 | * gnunet-doc.scm: A file to ease the building of the docgen script output | ||
11 | * gnunet.scm: A file to build gnunet with all tests | ||
12 | * guix-env.scm | ||
13 | |||
14 | The workflow has to be documented and will make its way into the GNUnet | ||
15 | Documentation eventually. For now, all uses of guix environment, guix package, | ||
16 | etc apply. | ||
17 | Example invocation: | ||
18 | guix environment --ad-hoc --container --network --fallback -K -l contrib/packages/guix/gnunet.scm | ||
19 | which is worth improving, but essentially takes you into an container environment | ||
20 | with gnunet from HEAD, under the condition that it builds. This won't include an editor, | ||
21 | so you want to run | ||
22 | guix environment --ad-hoc emacs --container --network --fallback -K -l contrib/packages/guix/gnunet.scm | ||
23 | (untested). You get the idea that this folder is a historical mess and should be cleaned up | ||
24 | and properly documented. | ||
25 | |||
4 | Usage | 26 | Usage |
5 | ----- | 27 | ----- |
6 | 28 | ||
7 | Just point Guix towards the root of this source tree: | 29 | Just point Guix towards the root of this source tree. |
30 | Assuming that your gnunet checkout is in $HOME/src/gnunet: | ||
31 | |||
32 | export GUIX_PACKAGE_PATH=$HOME/src/gnunet/contrib/packages/guix/packages | ||
8 | 33 | ||
9 | export GUIX_PACKAGE_PATH=/path/to/packages | ||
10 | or (if you are in the root of the gnunet git repository): | 34 | or (if you are in the root of the gnunet git repository): |
11 | guix package -L contrib/packages/guix/packages -i package-name | 35 | |
36 | guix package -L contrib/packages/guix/packages -i package-name | ||
12 | 37 | ||
13 | The packages in this repository will take precedence over those in the | 38 | The packages in this repository will take precedence over those in the |
14 | official distribution. | 39 | official distribution. |
15 | 40 | ||
41 | |||
16 | To make use of the packages in your GuixSD config file: | 42 | To make use of the packages in your GuixSD config file: |
17 | 43 | ||
18 | Be sure to have GUIX_PACKAGE_PATH for your shell exported, | 44 | Be sure to have GUIX_PACKAGE_PATH for your shell exported, |
19 | for bash this could be achieved like this: | 45 | for Bash this could be achieved like this: |
20 | 46 | ||
21 | export GUIX_PACKAGE_PATH="/full/path/to/gnunet/contrib/packages/guix/directory" | 47 | export GUIX_PACKAGE_PATH="/full/path/to/gnunet/contrib/packages/guix/directory" |
22 | 48 | ||
23 | In the section of your systems "config.scm", you should find | 49 | In the section of your systems "config.scm", you should find something like this: |
24 | something like this: | ||
25 | 50 | ||
26 | (use-modules (gnu) (gnu system nss)) | 51 | (use-modules (gnu) (gnu system nss)) |
27 | 52 | ||
28 | Now to make use of "gnunetg" as an systemwide installed package we change this | 53 | Now to make use of "gnunetg" as an systemwide installed package we change this |
29 | to: | 54 | to: |
30 | 55 | ||
31 | (use-modules (gnu) (gnu system nss) | 56 | (use-modules (gnu) (gnu system nss) |
32 | (gnunet packages gnunet)) | 57 | (gnunet packages gnunet)) |
33 | 58 | ||
34 | and do the usual thing: | 59 | and do the usual thing: |
35 | - save | 60 | - save |
36 | - guix system build /etc/config.scm | 61 | - guix system build /etc/config.scm |
37 | - sudo -E guix system reconfigure /etc/config.scm | 62 | - sudo -E guix system reconfigure /etc/config.scm |
38 | 63 | ||
39 | The "-E" in "sudo -E" is important! | 64 | The "-E" in "sudo -E" is important to keep the environment variables (GUIX_PACKAGE_PATH). \ No newline at end of file |