all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Mathieu Lirzin <mthl@openmailbox.org>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix <guix-devel@gnu.org>, Feng Shu <tumashu@163.com>
Subject: Re: Is it possible add 'Guix package manager without "make install"' to guix doc?
Date: Sat, 30 May 2015 15:53:53 +0200	[thread overview]
Message-ID: <878uc6p3wu.fsf@openmailbox.org> (raw)
In-Reply-To: <87a8wnayml.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 29 May 2015 22:59:30 +0200")

[-- Attachment #1: Type: text/plain, Size: 879 bytes --]

ludo@gnu.org (Ludovic Courtès) writes:

> Mathieu Lirzin <mthl@openmailbox.org> skribis:
>>
>> This statement should definitely complement the documentation in HACKING.
>
> Where/how would you suggest adding it?

When reacting, I didn't realize that most of your statement is actually
documented in the recent "Running Guix Before It Is Installed" node in
doc/guix.texi.

Nevertheless, I find it not really relevant to give hacking information
in chapter 'Installation'. The attached patch tries to give a better
consistency in the location of these useful informations.

Even if I find this patch appropriate ;-), my personnal preference would
be to delete HACKING, and move all its informations in the chapter
'Contributing' of the Holy Bible (with appropriate refinement of
course!) and refer to it in README. Opinions about this?

--
Mathieu Lirzin


[-- Attachment #2: 0001-doc-Move-hacker-tricks-to-HACKING.patch --]
[-- Type: text/x-diff, Size: 6636 bytes --]

From 887f2640da75d93560f49edca6198d294d809a41 Mon Sep 17 00:00:00 2001
From: Mathieu Lirzin <mthl@openmailbox.org>
Date: Sat, 30 May 2015 01:47:21 +0200
Subject: [PATCH] doc: Move hacker tricks to 'HACKING'.

* doc/guix.texi (Running Guix before it is installed): Delete node.
  (Packaging Guidelines): Adapt to it.
* HACKING (Running Guix before it is installed): Delete section.
  (Doing Stuff!): New section.
  (Building from Git, Doing Stuff!, The Perfect Setup): Split informations.
---
 HACKING       | 33 +++++++++++++++++++++++++++++----
 doc/guix.texi | 43 +------------------------------------------
 2 files changed, 30 insertions(+), 46 deletions(-)

diff --git a/HACKING b/HACKING
index cf10ba5..e5f854b 100644
--- a/HACKING
+++ b/HACKING
@@ -4,6 +4,7 @@
 
 Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
 Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
+Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
 Copyright © 2014 Pierre-Antoine Rault <par@rigelk.eu>
 
   Copying and distribution of this file, with or without modification,
@@ -13,8 +14,10 @@ Copyright © 2014 Pierre-Antoine Rault <par@rigelk.eu>
 
 * Building from Git
 
-When building Guix from a checkout, the following packages are required in
-addition to those mentioned in the installation instructions:
+If you want to hack Guix itself, it is recommended to use the latest version
+from the Git repository.  When building Guix from a checkout, the following
+packages are required in addition to those mentioned in the installation
+instructions:
 
   - [[http://www.gnu.org/software/autoconf/][GNU Autoconf]]
   - [[http://www.gnu.org/software/automake/][GNU Automake]]
@@ -44,9 +47,26 @@ Finally, you have to invoke ‘make check’ to run tests.  If anything fails,
 take a look at “info '(guix) Installation'” or send a message to
 <guix-devel@gnu.org>.
 
-* Running Guix before it is installed
+* Doing stuff!
 
-See the same-named section in the manual.
+In order to keep a sane working environment, you will find it useful to test
+the changes made in your local source tree checkout without actually
+installing them.  So that you can distinguish between your “end-user” hat and
+your “motley” costume.
+
+To that end, all the command-line tools can be used even if you have not run
+"make install".  To do that, prefix each command with =./pre-inst-env= (this
+script lives in the top build tree of Guix), as in:
+
+  $ sudo ./pre-inst-env guix-daemon --build-users-group=guixbuild
+  $ ./pre-inst-env guix build hello
+
+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, including ‘PATH’ and ‘GUILE_LOAD_PATH’.
 
 * The Perfect Setup
 
@@ -59,6 +79,11 @@ Geiser allows for interactive and incremental development from within
 Emacs: code compilation and evaluation from within buffers, access to
 on-line documentation (docstrings), context-sensitive completion, M-. to
 jump to an object definition, a REPL to try out your code, and more.
+For convenient Guix development, make sure to augment Guile’s load path
+so that it finds source files from your checkout:
+
+  ;; Assuming the Guix checkout is in ~/src/guix.
+  (add-to-list 'geiser-guile-load-path "~/src/guix")
 
 To actually edit the code, Emacs already has a neat Scheme mode.  But in
 addition to that, you must not miss [[http://www.emacswiki.org/emacs/ParEdit][Paredit]].  It provides facilities to
diff --git a/doc/guix.texi b/doc/guix.texi
index 2d10ec9..6dbd76e 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -88,7 +88,6 @@ Installation
 * Running the Test Suite::      Testing Guix.
 * Setting Up the Daemon::       Preparing the build daemon's environment.
 * Invoking guix-daemon::        Running the build daemon.
-* Running Guix Before It Is Installed:: Hacker tricks.
 
 Setting Up the Daemon
 
@@ -253,7 +252,6 @@ instead, you want to install the complete GNU operating system,
 * Running the Test Suite::      Testing Guix.
 * Setting Up the Daemon::       Preparing the build daemon's environment.
 * Invoking guix-daemon::        Running the build daemon.
-* Running Guix Before It Is Installed::     Hacker tricks.
 @end menu
 
 @node Binary Installation
@@ -835,44 +833,6 @@ useful in exceptional circumstances, such as if you need to run several
 daemons on the same machine.
 @end table
 
-@node Running Guix Before It Is Installed
-@section Running Guix Before It Is Installed
-
-If you are hacking Guix itself---which is a good idea!---you will find
-it useful to test the changes made in your local source tree checkout
-without actually installing them.
-
-To that end, all the command-line tools can be used even if you have not
-run @command{make install}.  To do that, prefix each command with
-@command{./pre-inst-env} (the @file{pre-inst-env} script lives in the
-top build tree of Guix), as in:
-
-@example
-$ sudo ./pre-inst-env guix-daemon --build-users-group=guixbuild
-$ ./pre-inst-env guix build hello
-@end example
-
-@noindent
-Similarly, for a Guile session using the Guix modules:
-
-@example
-$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'
-@end example
-
-The @command{pre-inst-env} script sets up all the environment variables
-necessary to support this, including @code{PATH} and
-@code{GUILE_LOAD_PATH}.
-
-If you are hacking Guix from Emacs using the wonderful Geiser
-(@pxref{Introduction,,, geiser, Geiser User Manual}), make sure to
-augment Guile's load path so that it finds source files from your
-checkout:
-
-@lisp
-;; Assuming the Guix checkout is in ~/src/guix.
-(add-to-list 'geiser-guile-load-path "~/src/guix")
-@end lisp
-
 
 @c *********************************************************************
 @node Package Management
@@ -6300,8 +6260,7 @@ creating packages.  For more information on package definitions,
 Once a package definition is in place, stored in a file in the Guix
 source tree, it can be tested using the @command{guix build} command
 (@pxref{Invoking guix build}).  For example, assuming the new package is
-called @code{gnew}, you may run this command from the Guix build tree
-(@pxref{Running Guix Before It Is Installed}):
+called @code{gnew}, you may run this command from the Guix build tree:
 
 @example
 ./pre-inst-env guix build gnew --keep-failed
-- 
2.1.4


  reply	other threads:[~2015-05-30 13:54 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-22  0:27 Is it possible add 'Guix package manager without "make install"' to guix doc? Feng Shu
2015-05-22 16:03 ` Christopher Allan Webber
2015-05-22 16:30   ` Ludovic Courtès
2015-05-22 19:01     ` Christopher Allan Webber
2015-05-23 13:59       ` Ludovic Courtès
2015-05-23 17:22         ` Christopher Allan Webber
2015-05-27 19:49           ` Ludovic Courtès
2015-05-27 20:39             ` Mathieu Lirzin
2015-05-29 20:59               ` Ludovic Courtès
2015-05-30 13:53                 ` Mathieu Lirzin [this message]
2015-05-31 19:20                   ` Merging ‘HACKING’ in the manual? Ludovic Courtès
2015-06-01  0:38                     ` Luis Felipe López Acevedo
2015-06-01 19:34                       ` Ludovic Courtès
2015-06-01 19:58                         ` Ricardo Wurmus
2015-06-03  8:17                           ` Ludovic Courtès
2015-06-04 11:59                             ` Mathieu Lirzin
2015-06-01  7:06                     ` Alex Kost
2015-05-23 19:03         ` Is it possible add 'Guix package manager without "make install"' to guix doc? Alex Kost

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878uc6p3wu.fsf@openmailbox.org \
    --to=mthl@openmailbox.org \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    --cc=tumashu@163.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.