Re: Including sources in guix archive --export

2018-10-02 Thread Ludovic Courtès
Georges Dupéron  skribis:

> On mar., oct. 2, 2018 at 11:57 , Ludovic Courtès  wrote:
>> Hmm no, ‘--sources=transitive’ is supposed to give you the complete
>> list
>> of source tarballs.  Any idea which ones are missing
>
> The ones missing seem to be the sources used to bootstrap GCC and
> Guile (there might be a couple of false positives in that list,
> because: I added these one by one to the list after "hello" by using
> the wildcard /gnu/store/*-$i.drv, until guix build inside the VM
> stopped indicating missing dependencies):
>
> binutils-2.23.2.tar.xz
> bison-3.0.4.tar.xz
> gc-7.6.4.tar.gz
> gcc-4.8.2.tar.xz
> glibc-2.18.tar.xz
> guile-2.0.9.tar.xz
> gcc-4.9.4.tar.xz
> gettext-0.19.8.1.tar.gz
> gmp-6.1.2.tar.xz
> guile-2.2.3.tar.xz
> libatomic_ops-7.6.4.tar.gz
> libffi-3.2.1.tar.gz
> libtool-2.4.6.tar.xz
> libunistring-0.9.9.tar.xz
> m4-1.4.18.tar.xz
> perl-5.26.1.tar.gz
> pkg-config-0.29.2.tar.gz
> static-binaries.tar.xz
> texinfo-6.5.tar.xz
> zlib-1.2.11.tar.gz

Hmm, I see.  Perhaps we have a bug here.

Thanks,
Ludo’.



Re: Including sources in guix archive --export

2018-10-02 Thread Georges Dupéron

On mar., oct. 2, 2018 at 11:57 , Ludovic Courtès  wrote:
Hmm no, ‘--sources=transitive’ is supposed to give you the 
complete list

of source tarballs.  Any idea which ones are missing


The ones missing seem to be the sources used to bootstrap GCC and Guile 
(there might be a couple of false positives in that list, because: I 
added these one by one to the list after "hello" by using the wildcard 
/gnu/store/*-$i.drv, until guix build inside the VM stopped indicating 
missing dependencies):


binutils-2.23.2.tar.xz
bison-3.0.4.tar.xz
gc-7.6.4.tar.gz
gcc-4.8.2.tar.xz
glibc-2.18.tar.xz
guile-2.0.9.tar.xz
gcc-4.9.4.tar.xz
gettext-0.19.8.1.tar.gz
gmp-6.1.2.tar.xz
guile-2.2.3.tar.xz
libatomic_ops-7.6.4.tar.gz
libffi-3.2.1.tar.gz
libtool-2.4.6.tar.xz
libunistring-0.9.9.tar.xz
m4-1.4.18.tar.xz
perl-5.26.1.tar.gz
pkg-config-0.29.2.tar.gz
static-binaries.tar.xz
texinfo-6.5.tar.xz
zlib-1.2.11.tar.gz

Note that when I run guix build --check hello inside a VM created from 
a minimal configuration, it tries to build much more than just hello 
(e.g. GCC, Guile, …), whereas if I run it on my Guix host, it simply 
rebuilds hello and nothing else.


Thanks :)
Georges


Re: Including sources in guix archive --export

2018-09-24 Thread Dupéron Georges
Hi Ludovic,

On my system,

$ guix build --sources=all hello
/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
$ guix build --source --sources=all hello
/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz

whereas guix build --source --sources=transitive hello does give a
(partial) list of dependencies. Did I miss something?

I managed to get a list with partial overlap using the following¹:
$ guix build --source --sources=transitive glibc-bootstrap gcc-bootstrap
bootstrap-binaries bootstrap-tarballs

Thanks!
Georges Dupéron

¹ It's possible that since I was including stuff using wildcards; I
accidentally dragged in more dependencies than was strictly needed.

Le lun. 24 sept. 2018 à 17:29, Ludovic Courtès  a écrit :

> Hi Georges,
>
> Dupéron Georges  skribis:
>
> > Thanks a lot Ludovic, this really helped :) .
> >
> > The following command nearly worked:
> >
> > guix archive --export --recursive hello $(guix build --source
> > --sources=transitive hello $MORE_SOURCES)
> >
> > but I had to explicitly add more sources, namely /gnu/store/*-$i.drv for
> > these files:
> >
> > binutils-2.23.2.tar.xz
> > bison-3.0.4.tar.xz
> > gc-7.6.4.tar.gz
> > gcc-4.8.2.tar.xz
> > glibc-2.18.tar.xz
> > guile-2.0.9.tar.xz
> > gcc-4.9.4.tar.xz
> > gettext-0.19.8.1.tar.gz
> > gmp-6.1.2.tar.xz
> > guile-2.2.3.tar.xz
> > libatomic_ops-7.6.4.tar.gz
> > libffi-3.2.1.tar.gz
> > libtool-2.4.6.tar.xz
> > libunistring-0.9.9.tar.xz
> > m4-1.4.18.tar.xz
> > perl-5.26.1.tar.gz
> > pkg-config-0.29.2.tar.gz
> > static-binaries.tar.xz
> > texinfo-6.5.tar.xz
> > zlib-1.2.11.tar.gz
> >
> > It seems that these are used to bootstrap guile and GCC. Is there a way
> to
> > get this list programmatically, without hardcoding version numbers?
>
> Does “guix build --sources=all hello” help?
>
> HTH,
> Ludo’.
>


-- 
Georges Dupéron


Re: Including sources in guix archive --export

2018-09-24 Thread Ludovic Courtès
Hi Georges,

Dupéron Georges  skribis:

> Thanks a lot Ludovic, this really helped :) .
>
> The following command nearly worked:
>
> guix archive --export --recursive hello $(guix build --source
> --sources=transitive hello $MORE_SOURCES)
>
> but I had to explicitly add more sources, namely /gnu/store/*-$i.drv for
> these files:
>
> binutils-2.23.2.tar.xz
> bison-3.0.4.tar.xz
> gc-7.6.4.tar.gz
> gcc-4.8.2.tar.xz
> glibc-2.18.tar.xz
> guile-2.0.9.tar.xz
> gcc-4.9.4.tar.xz
> gettext-0.19.8.1.tar.gz
> gmp-6.1.2.tar.xz
> guile-2.2.3.tar.xz
> libatomic_ops-7.6.4.tar.gz
> libffi-3.2.1.tar.gz
> libtool-2.4.6.tar.xz
> libunistring-0.9.9.tar.xz
> m4-1.4.18.tar.xz
> perl-5.26.1.tar.gz
> pkg-config-0.29.2.tar.gz
> static-binaries.tar.xz
> texinfo-6.5.tar.xz
> zlib-1.2.11.tar.gz
>
> It seems that these are used to bootstrap guile and GCC. Is there a way to
> get this list programmatically, without hardcoding version numbers?

Does “guix build --sources=all hello” help?

HTH,
Ludo’.



Re: Including sources in guix archive --export

2018-09-20 Thread Dupéron Georges
Thanks a lot Ludovic, this really helped :) .

The following command nearly worked:

guix archive --export --recursive hello $(guix build --source
--sources=transitive hello $MORE_SOURCES)

but I had to explicitly add more sources, namely /gnu/store/*-$i.drv for
these files:

binutils-2.23.2.tar.xz
bison-3.0.4.tar.xz
gc-7.6.4.tar.gz
gcc-4.8.2.tar.xz
glibc-2.18.tar.xz
guile-2.0.9.tar.xz
gcc-4.9.4.tar.xz
gettext-0.19.8.1.tar.gz
gmp-6.1.2.tar.xz
guile-2.2.3.tar.xz
libatomic_ops-7.6.4.tar.gz
libffi-3.2.1.tar.gz
libtool-2.4.6.tar.xz
libunistring-0.9.9.tar.xz
m4-1.4.18.tar.xz
perl-5.26.1.tar.gz
pkg-config-0.29.2.tar.gz
static-binaries.tar.xz
texinfo-6.5.tar.xz
zlib-1.2.11.tar.gz

It seems that these are used to bootstrap guile and GCC. Is there a way to
get this list programmatically, without hardcoding version numbers?

I have updated at
https://github.com/jsmaniac/guix-reproducible-system/tree/guix-answer a
small automated script which creates the archive, creates a QEMU VM with a
minimalistic Guix configuration, copies the .nar archive inside the VM,
imports it and tries guix build --check hello (some Guile test seems to
fall in a deadlock, but that's for another topic).

Cheers,
Georges Dupéron


Re: Including sources in guix archive --export

2018-09-14 Thread Ludovic Courtès
Hi Georges,

Georges Dupéron  skribis:

> Is it possible to export a .nar including the sources necessary to
> rebuild that package?

Not directly, but you could do something like:

  guix archive --export -r hello $(guix build -S hello) > hello.nar

(Or even “guix build --sources=transitive hello”.)

HTH!

Ludo’.