Re: Why are these derivations different?

2019-06-10 Thread Jack Hill

On Mon, 10 Jun 2019, Marius Bakke wrote:


What's really going on with --no-grafts. Is it that guix on my less
powerful host has never seen the the ungoogled-chromium version build
against the older dependencies, so doesn't accept the older version that
could be grafted? I guess, I'm not sure exactly what you mean by "fails to
realize the grafted derivation". Is that a bug?


Sorry, just a lazy and poor attempt at explaining what's going on...  :-)


No worries, I appreciate you taking the time to help me understand.


Sorry, I don't think that question was very clear. It probably means that
while I think I know what grafts are, I don't know enough about what's
going on to ask the question properly. I think this all could be summarized
as, "please explain more."


Grafts are are ignored in some parts of Guix.  In this case, if you
inspect the profile derivation when doing 'guix install -n
ungoogled-chromium', you can see that the computed profile.drv needs to
produce the ungrafted ungoogled-chromium-x.y.z.drv, because the
profile-builder references the _ungrafted_ package.

I'm not sure of the exact mechanics that follow, but I guess grafts are
only computed afterwards, recursively, for the generated profile.


Ok, thank help. Thank you.

Jack



Re: Why are these derivations different?

2019-06-10 Thread Marius Bakke
Jack Hill  writes:

> On Sat, 8 Jun 2019, Marius Bakke wrote:
>
>> Jack Hill  writes:
>>
>>> Hi Guix,
>>>
>>> I'm trying to copy the store items for ungoogled-chromium from one of my
>>> hosts that has many computational resources to another one that does not,
>>> so that I do not have to build ungoogled-chromium on the less powerful
>>> host.
>>>
>>> However, even after copying the store items using guix archive --export |
>>> guix archive --import, the less powerful host wants to build
>>> ungoogled-chromium because the derivations differ (see attachments).
>>
>> I suspect this has to do with grafts.  Guix is missing a substitute for
>> the 'ungrafted' package and fails to realize the grafted derivation.
>>
>> Exporting with --no-grafts should do the trick.
>
> Marius,
>
> Thanks! That was it.
>
> If you don't mind, I have a few follow up question to help me understand 
> how everything works:
>
> How is guix archive --no-grafts different from guix build --no-grafts? Oh, 
> or after reading the manual for --no-grafts again, maybe I used the wrong 
> incantation (guix build --no-grafts package-name instead of guix build 
> package-name --no-grafts)?
>
> What's really going on with --no-grafts. Is it that guix on my less 
> powerful host has never seen the the ungoogled-chromium version build 
> against the older dependencies, so doesn't accept the older version that 
> could be grafted? I guess, I'm not sure exactly what you mean by "fails to 
> realize the grafted derivation". Is that a bug?

Sorry, just a lazy and poor attempt at explaining what's going on...  :-)

> Sorry, I don't think that question was very clear. It probably means that 
> while I think I know what grafts are, I don't know enough about what's 
> going on to ask the question properly. I think this all could be summarized 
> as, "please explain more."

Grafts are are ignored in some parts of Guix.  In this case, if you
inspect the profile derivation when doing 'guix install -n
ungoogled-chromium', you can see that the computed profile.drv needs to
produce the ungrafted ungoogled-chromium-x.y.z.drv, because the
profile-builder references the _ungrafted_ package. 

I'm not sure of the exact mechanics that follow, but I guess grafts are
only computed afterwards, recursively, for the generated profile.

HTH,
Marius


signature.asc
Description: PGP signature


Re: Why are these derivations different?

2019-06-08 Thread Jack Hill

On Sat, 8 Jun 2019, Marius Bakke wrote:


Jack Hill  writes:


Hi Guix,

I'm trying to copy the store items for ungoogled-chromium from one of my
hosts that has many computational resources to another one that does not,
so that I do not have to build ungoogled-chromium on the less powerful
host.

However, even after copying the store items using guix archive --export |
guix archive --import, the less powerful host wants to build
ungoogled-chromium because the derivations differ (see attachments).


I suspect this has to do with grafts.  Guix is missing a substitute for
the 'ungrafted' package and fails to realize the grafted derivation.

Exporting with --no-grafts should do the trick.


Marius,

Thanks! That was it.

If you don't mind, I have a few follow up question to help me understand 
how everything works:


How is guix archive --no-grafts different from guix build --no-grafts? Oh, 
or after reading the manual for --no-grafts again, maybe I used the wrong 
incantation (guix build --no-grafts package-name instead of guix build 
package-name --no-grafts)?


What's really going on with --no-grafts. Is it that guix on my less 
powerful host has never seen the the ungoogled-chromium version build 
against the older dependencies, so doesn't accept the older version that 
could be grafted? I guess, I'm not sure exactly what you mean by "fails to 
realize the grafted derivation". Is that a bug?


Sorry, I don't think that question was very clear. It probably means that 
while I think I know what grafts are, I don't know enough about what's 
going on to ask the question properly. I think this all could be summarized 
as, "please explain more."


Many thanks,
Jack



Re: Why are these derivations different?

2019-06-08 Thread Marius Bakke
Jack Hill  writes:

> Hi Guix,
>
> I'm trying to copy the store items for ungoogled-chromium from one of my 
> hosts that has many computational resources to another one that does not, 
> so that I do not have to build ungoogled-chromium on the less powerful 
> host.
>
> However, even after copying the store items using guix archive --export | 
> guix archive --import, the less powerful host wants to build 
> ungoogled-chromium because the derivations differ (see attachments).

I suspect this has to do with grafts.  Guix is missing a substitute for
the 'ungrafted' package and fails to realize the grafted derivation.

Exporting with --no-grafts should do the trick.


signature.asc
Description: PGP signature


Why are these derivations different?

2019-06-08 Thread Jack Hill

Hi Guix,

I'm trying to copy the store items for ungoogled-chromium from one of my 
hosts that has many computational resources to another one that does not, 
so that I do not have to build ungoogled-chromium on the less powerful 
host.


However, even after copying the store items using guix archive --export | 
guix archive --import, the less powerful host wants to build 
ungoogled-chromium because the derivations differ (see attachments).


How can I go about seeing why the derivations differ?

Both hosts are using the same version of guix:

$ guix describe
Generation 35   Jun 07 2019 21:49:47(current)
  guix 07023eb
repository URL: https://git.savannah.gnu.org/git/guix.git
commit: 07023ebc1892a559cad1f80235a4afb0955b29ab

and

$ guix describe
Generation 3Jun 06 2019 16:39:40(current)
  guix 07023eb
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 07023ebc1892a559cad1f80235a4afb0955b29ab

Best,
JackDerive([("out","/gnu/store/kpbfydvf16vvva7gy56p1d85b2ry9dgn-ungoogled-chromium-74.0.3729.169-0.d2beaef","","")],[("/gnu/store/05g7z2cndn7snvwmhb0ghjxd7bscdzr5-cups-2.2.11.drv",["out"]),("/gnu/store/0hg04ci30k9f46lycq3a38k5jnd6pkpv-cairo-1.16.0.drv",["out"]),("/gnu/store/0pqbf0jy7h29p7hm02a8lya8c6wgwrya-ffmpeg-4.1.3.drv",["out"]),("/gnu/store/0pswzqisl4frkahc8n25v0khzm5qwk9q-libjpeg-turbo-2.0.1.drv",["out"]),("/gnu/store/13lni3376l0asaryf5v7yx1pkclg724c-pango-1.42.4.drv",["out"]),("/gnu/store/14zh54fjfnrjm108mj857l4ckgn3w0wa-fontconfig-2.13.1.drv",["out"]),("/gnu/store/16i2br91zcamkq08jazhy0lxa0dxmlwg-openjpeg-2.3.1.drv",["out"]),("/gnu/store/1ywcgh6rwvjhs6qqj1h8izcg22idl2x3-module-import-compiled.drv",["out"]),("/gnu/store/2yzhaf13j1nrcag78y683z6kdnnnpmr0-cairo-1.16.0.drv",["out"]),("/gnu/store/37qkp6861qnmx2ixy7jg51jg1dywd9m2-harfbuzz-2.2.0.drv",["out"]),("/gnu/store/3r8d3h2l1dwbvad4p20bchk3ljlwqh6i-gtk+-3.24.7.drv",["out"]),("/gnu/store/5dl6856mpvqv1qwdp5vmri76ab8x4acz-nss-3.43.drv",["out"]),("/gnu/store/5q3kdzj1hq85i9a5nr6z8yl54xigjcc2-openjpeg-2.3.0.drv",["out"]),("/gnu/store/6343p3yq191mc8cxrz1y8jrm840v2whj-fontconfig-2.13.1.drv",["out"]),("/gnu/store/8ha35c10aghpwwd2v0c8xk46vlppbz19-lcms-2.9.drv",["out"]),("/gnu/store/9i3iz56a403km3b97mwvdavyi488yhpf-ffmpeg-4.1.3.drv",["out"]),("/gnu/store/bmgyx3il9i3qvwr2wyi4ak7my59dl5nk-libwebp-1.0.2.drv",["out"]),("/gnu/store/bp7hq2bwcy9d8937814c5gr15ylgp5k6-harfbuzz-2.2.0.drv",["out"]),("/gnu/store/c83y8vza2x19w03cav577a3mq4h80w81-gtk+-3.24.7.drv",["out"]),("/gnu/store/f1ajr6s8gy4ldmiaqr5s9i9m724r5a5r-freetype-2.9.1.drv",["out"]),("/gnu/store/fqg9n41z2ca66r9m6dcy2b1kmz2gpx7i-guile-2.0.14.drv",["out"]),("/gnu/store/ivighhym2js9xpj77c27qg4gfw16xxwr-freetype-2.9.1.drv",["out"]),("/gnu/store/js4ix1yhhhk2j184bc19ynq3cap1f3a5-gdk-pixbuf-2.38.1.drv",["out"]),("/gnu/store/kwnn6x7z45g8j1iha1087mpiv48pwz3j-cups-2.2.11.drv",["out"]),("/gnu/store/lkhd8g814l0c9wy9h4dii9gw44vi964f-libva-2.4.0.drv",["out"]),("/gnu/store/n07vg2agjv9m7yg6dyi59ys65aaqxjkv-lcms-2.9.drv",["out"]),("/gnu/store/nr087v1hy3x2byjvvvmbqk6nhrzcxrmg-libpng-1.6.34.drv",["out"]),("/gnu/store/qk80f8arfbsmsxrx0f7645ph5y3nrwnr-mesa-18.3.5.drv",["out"]),("/gnu/store/qr4vv4br4sspi1sllzzaqn7fiilbxg9f-pango-1.42.4.drv",["out"]),("/gnu/store/qz49ik2lvbff7xrl5685kvng6iv6qa7x-libpng-1.6.37.drv",["out"]),("/gnu/store/s9w71hlp4xaw65hn027gnbir6rl2pp3x-ungoogled-chromium-74.0.3729.169-0.d2beaef.drv",["out"]),("/gnu/store/shmm2wml357xpwyzl42hkl6wzjsw7jws-libwebp-1.0.2.drv",["out"]),("/gnu/store/svylcniwjvpv1hm12pbf0zrxp224pshz-libva-2.4.0.drv",["out"]),("/gnu/store/v9chjkf5fgqdm7igikszxm9y5zc6chdx-gdk-pixbuf-2.38.1.drv",["out"]),("/gnu/store/vhkrlh8g2jjrjpcr53w455297z8fqzn7-libevent-2.1.10.drv",["out"]),("/gnu/store/vq1alsi8yh55h4y4ggjqp1w8vp3prswf-nss-3.43.drv",["out"]),("/gnu/store/wq0v31rj2lbs63hvi9gg1dm27rck3mx8-libevent-2.1.10.drv",["out"]),("/gnu/store/x0v5hll1sw6sqf9wjclkw526hflaar1x-module-import.drv",["out"]),("/gnu/store/y7z4g1gf9knrjb44yspvsfab0ksfvjwy-libjpeg-turbo-2.0.2.drv",["out"]),("/gnu/store/ziyqnilzi6is9g79blw8q820liddfjf5-mesa-18.3.5.drv",["out"])],["/gnu/store/41wxjzb4yhwdqbn4bwjqprb8l5di34dc-ungoogled-chromium-74.0.3729.169-0.d2beaef-guile-builder"],"x86_64-linux","/gnu/store/1fl9vk8fpafkws4qyy25vcdfpybxyh1k-guile-2.0.14/bin/guile",["--no-auto-compile","-L","/gnu/store/d84nbv6r94i8ixvz7f6g22pwdyvnnx6g-module-import","/gnu/store/41wxjzb4yhwdqbn4bwjqprb8l5di34dc-ungoogled-chromium-74.0.3729.169-0.d2beaef-guile-builder"],[("GUILE_LOAD_COMPILED_PATH","/gnu/store/gza8djv7fmxh60pdh8jkkjj7shy3mnsz-module-import-compiled"),("allowSubstitutes","0"),("guix
 properties","((type . graft) (graft (count .