Re: Compile guix from git?

2015-06-25 Thread Ludovic Courtès
"Claes Wallin (韋嘉誠)"  skribis:

> On Thu, Jun 25, 2015 at 11:05 AM, Mathieu Lirzin  wrote:
>> "Claes Wallin (韋嘉誠)"  writes:
>>
>>> How do people compile guix directly from git source? I've been
>>> searching around in HACKING and manual.html#Contributing and other
>>> places, the internet in general, and haven't been able to find any
>>> instructions.
>>
>> Documentation has been moved from the 'HACKING' file to the manual in
>> section "Contributing" recently.  As a consequence, the web manual lacks
>> some informations since it refers to the current release.
>
> Oh, ok.

The best way to access the latest version of the manual from a checkout
is:

  make doc/guix.info
  info -f doc/guix.info

Or you can use Emacs’s Info reader, or you can also generate HTML or
PDF:

  make doc/guix.pdf
  make doc/guix.html

Ludo’.



Re: Compile guix from git?

2015-06-25 Thread 韋嘉誠
On Thu, Jun 25, 2015 at 11:25 AM, Ludovic Courtès  wrote:
> "Claes Wallin (韋嘉誠)"  skribis:
>
>> How do people compile guix directly from git source? I've been
>> searching around in HACKING and manual.html#Contributing and other
>> places, the internet in general, and haven't been able to find any
>> instructions.
>>
>> It ought to be:
>>
>> 1. Get dependencies manually or with 'guix environment guix'.
>> 2. aclocal
>> 3. automake, maybe automake -a
>> 4. autoconf
>> 5. configure --sharedstatedir=/var --with-libgcrypt-prefix=wherever
>> 6. make
>
> Replace #2, #3, and #4 with just “autoreconf -vfi”.
>
> For #5, you probably mean --localstatedir, not --sharedstatedir.

Oh, oops. Lucky I wrote it out explicitly. I'll take another look at
the Contributing chapter, now that I know I need to use the latest git
version.


>> But #3 fails. nix/config.h.in is missing, maybe other things too but
>> that's where it halts.
>
> Don’t worry, ‘autoreconf’ will do the right thing.  :-)

Yeah, I noticed. The above has worked for most GNU utils and similar
I've ever touched, but guix seems a bit more involved. :-)

> Alternately, you can also do:
>
>   guix build guix --with-source=/path/to/guix

Very cool! That takes care of everything, I assume. Environment,
autotools, config params, the works. Good. Build instructions are best
kept in code.

Maybe this route is already mentioned in Contributing. If it isn't, it should!

> where the last component of /path/to/guix is literally ‘guix’, and where
> /path/to/guix contains a possibly pristine checkout.  But of course,
> that command builds from scratch, which may not be what you want.
>
> HTH!

Sure does!



Re: Compile guix from git?

2015-06-25 Thread Ludovic Courtès
"Claes Wallin (韋嘉誠)"  skribis:

> How do people compile guix directly from git source? I've been
> searching around in HACKING and manual.html#Contributing and other
> places, the internet in general, and haven't been able to find any
> instructions.
>
> It ought to be:
>
> 1. Get dependencies manually or with 'guix environment guix'.
> 2. aclocal
> 3. automake, maybe automake -a
> 4. autoconf
> 5. configure --sharedstatedir=/var --with-libgcrypt-prefix=wherever
> 6. make

Replace #2, #3, and #4 with just “autoreconf -vfi”.

For #5, you probably mean --localstatedir, not --sharedstatedir.

> But #3 fails. nix/config.h.in is missing, maybe other things too but
> that's where it halts.

Don’t worry, ‘autoreconf’ will do the right thing.  :-)

Alternately, you can also do:

  guix build guix --with-source=/path/to/guix

where the last component of /path/to/guix is literally ‘guix’, and where
/path/to/guix contains a possibly pristine checkout.  But of course,
that command builds from scratch, which may not be what you want.

HTH!

Ludo’.



Re: Compile guix from git?

2015-06-25 Thread 韋嘉誠
On Thu, Jun 25, 2015 at 11:05 AM, Mathieu Lirzin  wrote:
> "Claes Wallin (韋嘉誠)"  writes:
>
>> How do people compile guix directly from git source? I've been
>> searching around in HACKING and manual.html#Contributing and other
>> places, the internet in general, and haven't been able to find any
>> instructions.
>
> Documentation has been moved from the 'HACKING' file to the manual in
> section "Contributing" recently.  As a consequence, the web manual lacks
> some informations since it refers to the current release.

Oh, ok.

> You just need to execute './bootstrap' to generate the configure script.

Ah, so simple! I even saw that script there, but didn't read it and
made the wrong assumptions about what it's for. Didn't know about
autoreconf before, it seems there are a few more steps in autotools
than I've seen in other tools. Great that there's a wrapper for them
all.

Thanks for your help!



Re: Compile guix from git?

2015-06-25 Thread Mathieu Lirzin
"Claes Wallin (韋嘉誠)"  writes:

> How do people compile guix directly from git source? I've been
> searching around in HACKING and manual.html#Contributing and other
> places, the internet in general, and haven't been able to find any
> instructions.

Documentation has been moved from the 'HACKING' file to the manual in
section "Contributing" recently.  As a consequence, the web manual lacks
some informations since it refers to the current release.

You just need to execute './bootstrap' to generate the configure script.

--
Mathieu Lirzin



Compile guix from git?

2015-06-24 Thread 韋嘉誠
How do people compile guix directly from git source? I've been
searching around in HACKING and manual.html#Contributing and other
places, the internet in general, and haven't been able to find any
instructions.

It ought to be:

1. Get dependencies manually or with 'guix environment guix'.
2. aclocal
3. automake, maybe automake -a
4. autoconf
5. configure --sharedstatedir=/var --with-libgcrypt-prefix=wherever
6. make

But #3 fails. nix/config.h.in is missing, maybe other things too but
that's where it halts.

What I do now to make it work is I insert:

1.1. tar axf --strip-component=1 /path/to/guix-0.8.2.tar.gz
1.2. git checkout HEAD .
1.3. git clean -fd

Seems to be working, but there must be something everyone else is
doing that I missed in a document somewhere. Or maybe everyone is
working in checkouts made at some point when that file existed?