~ruther/guix-local

08ba7ff318720d926215de83daed0da628908ca3 — Ludovic Courtès 13 years ago 4fd27cd
Update `HACKING'.

* HACKING: Capitalize the title.
  (Running Guix before it is installed): New section.
  (Adding new packages): Update example.
1 files changed, 17 insertions(+), 3 deletions(-)

M HACKING
M HACKING => HACKING +17 -3
@@ 1,6 1,6 @@
-*- mode: org; coding: utf-8; -*-

#+TITLE: Hacking GNU Guix and its incredible distro
#+TITLE: Hacking GNU Guix and Its Incredible Distro

Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>



@@ 9,6 9,20 @@ Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
  notice and this notice are preserved.


* Running Guix before it is installed

Command-line tools can be used even if you have not run "make install".
To do that, prefix each command with ‘./pre-inst-env’, as in:

  ./pre-inst-env guix-build --help

Similarly, for a Guile session using the Guix modules:

  ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'

The ‘pre-inst-env’ script sets up all the environment variables
necessary to support this.

* Adding new packages

Package recipes in Guix look like this:


@@ 26,14 40,14 @@ Package recipes in Guix look like this:
          (base32
            "0wicr7amx01l03rm0pzgr1qvw3f9blaw17vjsy1301dh13ll58aa"))))
    (build-system gnu-build-system)
    (inputs `(("gnum4" ,gnum4)))
    (inputs `(("m4" ,m4)))
    (propagated-inputs `(("gmp" ,gmp)))
    (home-page
      "http://www.lysator.liu.se/~nisse/nettle/")
    (synopsis "GNU Nettle, a cryptographic library")
    (description
      "Nettle is a cryptographic library...")
    (license "GPLv2+"))
    (license gpl2+))
#+END_SRC

Such a recipe can be written by hand, and then tested by running