|
|
@ -78,50 +78,6 @@ addition to that, you must not miss [[http://www.emacswiki.org/emacs/ParEdit][Pa |
|
|
|
directly operate on the syntax tree, such as raising an s-expression or |
|
|
|
wrapping it, swallowing or rejecting the following s-expression, etc. |
|
|
|
|
|
|
|
* Adding new packages |
|
|
|
|
|
|
|
Package recipes in Guix look like this: |
|
|
|
|
|
|
|
#+BEGIN_SRC scheme |
|
|
|
(package |
|
|
|
(name "nettle") |
|
|
|
(version "2.5") |
|
|
|
(source |
|
|
|
(origin |
|
|
|
(method url-fetch) |
|
|
|
(uri (string-append "mirror://gnu/nettle/nettle-" |
|
|
|
version ".tar.gz")) |
|
|
|
(sha256 |
|
|
|
(base32 |
|
|
|
"0wicr7amx01l03rm0pzgr1qvw3f9blaw17vjsy1301dh13ll58aa")))) |
|
|
|
(build-system gnu-build-system) |
|
|
|
(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 gpl2+)) |
|
|
|
#+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. |
|
|
|
|
|
|
|
* Submitting Patches |
|
|
|
|
|
|
|
Development is done using the Git distributed version control system. Thus, |
|
|
|