From fcc58db68b2af59dea0cae41bc1e2df47911d588 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 18 Jun 2015 00:22:13 +0200 Subject: Add 'guix size'. * guix/scripts/size.scm: New file. * Makefile.am (MODULES): Add it. (SCM_TESTS): Add tests/size.scm. * doc.am (SUBCOMMANDS): Add 'size'. * po/guix/POTFILES.in: Add guix/scripts/size.scm. * tests/size.scm: New file. * doc/guix.texi (Packages with Multiple Outputs): Add xref to "Invoking guix size". (Invoking guix size): New node. (Invoking guix gc): Add index for "closure" and xref to the above. * doc/contributing.texi (Submitting Patches): Use @enumerate for the check list. Add item about 'guix size'. --- doc/contributing.texi | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) (limited to 'doc/contributing.texi') diff --git a/doc/contributing.texi b/doc/contributing.texi index 536f223da4..7b16ea3539 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -203,14 +203,32 @@ standards, GNU Coding Standards}); you can check the commit history for examples. Before submitting a patch that adds or modifies a package definition, -please run @code{guix lint @var{package}}, where @var{package} is the +please run through this check list: + +@enumerate +@item +Run @code{guix lint @var{package}}, where @var{package} is the name of the new or modified package, and fix any errors it reports -(@pxref{Invoking guix lint}). In addition, please make sure the package -builds on your platform, using @code{guix build @var{package}}. You may -also want to check that dependent package (if applicable) are not -affected by the change; @code{guix refresh --list-dependent +(@pxref{Invoking guix lint}). + +@item +Make sure the package builds on your platform, using @code{guix build +@var{package}}. + +@item +Take a look at the profile reported by @command{guix size} +(@pxref{Invoking guix size}). This will allow you to notice references +to other packages unwillingly retained. It may also help determine +whether to split the package (@pxref{Packages with Multiple Outputs}), +and which optional dependencies should be used. + +@item +For important changes, check that dependent package (if applicable) are +not affected by the change; @code{guix refresh --list-dependent @var{package}} will help you do that (@pxref{Invoking guix refresh}). +@end enumerate + When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as a subject. You may use your email client or the @command{git send-mail} command. -- cgit v1.2.3