guix-devel
[Top][All Lists]
Advanced

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

Guix now in Debian experimental!


From: Vagrant Cascadian
Subject: Guix now in Debian experimental!
Date: Thu, 12 Nov 2020 09:48:59 -0800

It's been a long haul getting all the build dependencies of guix into
Debian, but it has finally paid off:

   https://tracker.debian.org/pkg/guix

So now you can install guix from Debian's experimental distribution!

It is not well tested, in fact, I had to disable many tests, because in
Debian it is a policy violation to download from the network during a
build, but unlike guix, the policy is not necessarily enforced in any
technical way!

Many of the tests call out to the network in one way or another... So,
this lead to:

  Support GUIX_DISABLE_NETWORK_TESTS environment variable
  https://issues.guix.gnu.org/44491

Though I since learned about RES_OPTIONS=attempts:0 to disable name
resolution in glibc instead, still working on refactoring tests/*.sh to
make use of some common functions.


There are many tests that make use of bootstrap binaries which attempt
to download them during running the tests, despite networking not being
available. I have patched these tests to also not run when the network
is unreachable:

  https://salsa.debian.org/debian/guix/-/tree/debian/devel/debian/patches

My guess is these bootstrap binaries are available as inputs during the
guix package builds of guix?


I've also patched out a few tests that seemed non-deterministic, and a
few that were simply inscrutible as to why they failed. Probably need to
file bugs about those at some point... :)


I also switched the packages to only run the tests in series, just in
case parallelism was triggering issues with the tests:

  https://issues.guix.gnu.org/21097


In all, this ends up disabling about 200 out of 1100 tests in the Debian
packages. I will explore another option to run those tests outside of
the build, where network can be used, against the installed package
using:

  https://ci.debian.net


It actually builds on both amd64 and i386 with some of the above
mentioned tests disabled:

  https://buildd.debian.org/status/package.php?p=guix&suite=experimental

On armhf (ARMv7), it successfully built, but failed some test suites
that passed on amd64/i386.

On armel (ARMv4t?), where it probably shouldn't even attempt to build,
it failed in the same way it failed on armhf...

On arm64, guile-gnutls isn't available for guile-3.0, so it cannot
build:

  https://bugs.debian.org/966714

An alternative would be to build guix against guile-2.2, which has
guile-gnutls, although I did manage to find... more test suite failures
on guile-2.2 (tests/lint.scm), including one which seemed to run
indefinitely(tests/swh.scm), an infinitely thorough test!

If the guile-gnutls issues do not get sorted out soon, building against
guile-2.2 is a plausible backup plan for getting guix 1.2 into the next
Debian release (speculated to be released mid 2021)...


For other architectures, it would require considerably more courage,
though there has been work on a few of those architectures in guix
recently (e.g. hurd-i386, mips64el, powerpc, ppc64, ppc64el, and even
talk of riscv64).  Would it be interesting to run guix on one of the
more exotic architectures, Debian GNU/kFreeBSD? :)


Well, thanks for reading the status update from your entirely unofficial
Debian-Guix or Guix-Debian ambassador.


live well,
  vagrant

Attachment: signature.asc
Description: PGP signature


reply via email to

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