[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Building and installing packages with modifications

From: Gábor Boskovits
Subject: Re: Building and installing packages with modifications
Date: Sun, 24 Feb 2019 21:01:20 +0100


白い熊 <address@hidden> ezt írta (időpont: 2019. febr. 16.,
Szo, 16:12):
> Hi Guix:
> This is a question derived from my current trouble with running Guix on 
> Android, as seen in: 
> Basically:
> — I have Guix running on an armhf Android phone
> — “guix pull” won't complete as it needs to build curl locally, since a 
> substitute is unavailable
> — curl local build fails on checking internet connection in one of its tests, 
> as is common, as I found out on the web

There is one thing I can't understand. How is that this test does not
fail otherwise? Is it only done on Android?
I ask this, as none of the guix builds have internet access. If there
is any such test in a package, then the most
usual way is to disable the test in our package, as it won't be able to succeed.

> — Thus “guix pull” never finishes, and I can't install any packages etc, 
> since even without pulling a new version, they also fall into building curl
> I'd like to overcome this, am not sufficiently advanced in Guix, so would 
> like to receive ideas / tips on how to best / easiest do this.
> Currently, I'm thinking of two options.
> ① Build curl locally, without the failing tests.
> ② Install an older substitute version of curl already built.
> Ad ①:
> — I've found there is an environment variable (INTERNET_TEST or something) 
> you can set so the test is not run during auto build run. It's ignored if 
> “guix build curl” is run with it.
> — Can environment variables be passed to “guix build” so they are then 
> honored during build?
> — If not, can I instruct “guix build” to not run “make test”?
These would involve modifying the package, I believe using this
environment variable would be the best way, maybe
adding it to configure-flags/make-flags...
> — If both not, can I then carry out the individual stages of a package build 
> in Guix, so I can skip the test phase?
> — If I build it in any of these ways, will “guix package -i curl” then 
> install this version in the profile?
It will install the latest version known by the guix called. One way
to solve this is build guix from a checkout,
modify the package, bump the version to make sure it gets updated, and
the pre-inst-env guix package -i it.
> — If not, can I install it any other way then, so I can commence with “guix 
> pull” without it being rebuilt?
Guix pull might need some tweaking, as you can't build to the same
hash, so it won't be picked up anyways.
You can pull from another version of guix, for example the one build
from the chekout, even using
pre-inst-env guix pull... Then the modified package will be picked up.
> Ad ②:
> — Is there any way I can search the substitute servers for the latest built 
> substitute of a package?
> — How can I then install it?
> If none of these, is there another way to overcome my problem?
> Many thanks for any advice! :@)
> --
> 白い熊

Best regards,

reply via email to

[Prev in Thread] Current Thread [Next in Thread]