X-Git-Url: http://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/e0e65ed69d62a759c1b88f035f246baef47bd551..1c94392a13cbdf87e03a644633eb775bf45694a1:/doc/guix-cookbook.texi diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi index dc52f6d38c..88d3b98394 100644 --- a/doc/guix-cookbook.texi +++ b/doc/guix-cookbook.texi @@ -795,10 +795,8 @@ another, more sophisticated package (slightly modified from the source): "17pjvprmdrx4h6bb1hhc98w9qi6ki7yl57f090n9kbhswxqfs7s3")) (patches (search-patches "libgit2-mtime-0.patch")) (modules '((guix build utils))) - (snippet '(begin - ;; Remove bundled software. - (delete-file-recursively "deps") - #true)))) + ;; Remove bundled software. + (snippet '(delete-file-recursively "deps")))) (build-system cmake-build-system) (outputs '("out" "debug")) (arguments @@ -812,23 +810,19 @@ another, more sophisticated package (slightly modified from the source): (("#!/bin/sh") (string-append "#!" (which "sh")))) (substitute* "tests/clar/fs.h" (("/bin/cp") (which "cp")) - (("/bin/rm") (which "rm"))) - #true)) + (("/bin/rm") (which "rm"))))) ;; Run checks more verbosely. (replace 'check (lambda _ (invoke "./libgit2_clar" "-v" "-Q"))) (add-after 'unpack 'make-files-writable-for-tests (lambda _ (for-each make-file-writable (find-files "." ".*"))))))) (inputs - `(("libssh2" ,libssh2) - ("http-parser" ,http-parser) - ("python" ,python-wrapper))) + (list libssh2 http-parser python-wrapper)) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (propagated-inputs ;; These two libraries are in 'Requires.private' in libgit2.pc. - `(("openssl" ,openssl) - ("zlib" ,zlib))) + (list openssl zlib)) (home-page "https://libgit2.github.com/") (synopsis "Library providing Git core methods") (description @@ -892,22 +886,6 @@ Snippets might need additional Guile modules which can be imported from the @subsubsection Inputs -First, a syntactic comment: See the quasi-quote / comma syntax? - -@lisp - (native-inputs - `(("pkg-config" ,pkg-config))) -@end lisp - -is equivalent to - -@lisp - (native-inputs - (list (list "pkg-config" pkg-config))) -@end lisp - -You'll mostly see the former because it's shorter. - There are 3 different input types. In short: @table @asis @@ -941,6 +919,24 @@ It also matters when a substitute is available, in which case only the @emph{inp and @emph{propagated inputs} will be fetched: the @emph{native inputs} are not required to install a package from a substitute. +@quotation Note +You may see here and there snippets where package inputs are written +quite differently, like so: + +@lisp +;; The "old style" for inputs. +(inputs + `(("libssh2" ,libssh2) + ("http-parser" ,http-parser) + ("python" ,python-wrapper))) +@end lisp + +This is the ``old style'', where each input in the list is explicitly +given a label (a string). It is still supported but we recommend using +the style above instead. @xref{package Reference,,, guix, GNU Guix +Reference Manual}, for more info. +@end quotation + @subsubsection Outputs Just like how a package can have multiple inputs, it can also produce multiple