doc: Add "Adding new packages" in `HACKING'.

* HACKING (Adding new packages): New section.
This commit is contained in:
Ludovic Courtès 2012-11-04 19:45:40 +01:00
parent 10226c05b1
commit 59b775cca9

44
HACKING
View File

@ -9,6 +9,50 @@ Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
notice and this notice are preserved.
* Adding new packages
Package recipes in Guix look like this:
#+BEGIN_SRC scheme
(package
(name "nettle")
(version "2.5")
(source
(origin
(method http-fetch)
(uri (string-append "http://ftp.gnu.org/gnu/nettle/nettle-"
version ".tar.gz"))
(sha256
(base32
"0wicr7amx01l03rm0pzgr1qvw3f9blaw17vjsy1301dh13ll58aa"))))
(build-system gnu-build-system)
(inputs `(("gnum4" ,gnum4)))
(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+"))
#+END_SRC
Such a recipe can be written by hand, and then tested by running
./pre-inst-env guix-build nettle.
When writing the recipe, the base32-encoded SHA256 hash of the source
code tarball, which can be seen in the example above, can be obtained by
running:
guix-download http://ftp.gnu.org/gnu/nettle/nettle-2.5.tar.gz
Alternatively, it is possible to semi-automatically import recipes from
the [[http://nixos.org/nixpkgs/][Nixpkgs]] software distribution using this command:
guix-import /path/to/nixpkgs/checkout nettle
The command automatically fetches and converts to Guix the “Nix
expression” of Nettle.
* Porting the Guix distro on a new platform
** Introduction