[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: getting started with guix import nix
From: |
Ludovic Courtès |
Subject: |
Re: getting started with guix import nix |
Date: |
Mon, 19 Dec 2016 21:56:55 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Paul Garlick <address@hidden> skribis:
>> > I have noticed that the non-termination problem is not confined to
>> > the
>> > opencascage_oce package. If I try
>> >
>> > $ nix-instantiate --strict --eval --xml -A guile
>> > /home/paul/.nix-defexpr/channels/nixpkgs
>> >
>> > that does not terminate either.
>> Does it just take long, or does it simply not terminate?
> After a few (approximately five) minutes the process is still producing
> xml. Looking at the output, after killing the process, there is a
> large amount of blank space plus the occasional line of xml, such as:
> <function column="15" line="47"
> path="/nix/store/k3jqgxqfwg6q9bgkys63c25lbjprl3gq-nixpkgs-
> 17.03pre96825.497e6d2/nixpkgs/lib/types.nix">
OK.
> $ ./pre-inst-env guix import nix /data/paul/sourceCode/nixpkgs
> opencascade_oce
> ;;; SSAX warning: Skipping PI: xml
> trace: lib.zip is deprecated, use lib.zipAttrsWith instead
> trace: `mkStrict' is obsolete; use `mkOverride 0' instead.
> trace: `types.list' is deprecated; use `types.listOf' instead
> ;; converted from
> /data/paul/sourceCode/nixpkgs/pkgs/development/libraries/opencascade/oc
> e.nix:5
> (package
> (name "opencascade-oce")
Good!
> This is almost usable, except the version of the file oce.nix has
> changed since the dde259d commit. Also, it may be nix-instantiate does
> not terminate for many other packages in recent versions of nixpkgs.
Indeed, with Nixpkgs 16.09-beta-6955-g0c7afce, ‘guix import nix’ crashes
with a stack overflow in the XML parser after a few seconds. Likewise:
--8<---------------cut here---------------start------------->8---
$ time NIX_REMOTE=daemon nix-instantiate -A guile /data/src/nixpkgs --strict
--eval --xml | wc -c
trace: lib.zip is deprecated, use lib.zipAttrsWith instead
trace: `mkStrict' is obsolete; use `mkOverride 0' instead.
error: stack overflow (possible infinite recursion)
1055021551
real 0m5.959s
user 0m5.660s
sys 0m0.700s
--8<---------------cut here---------------end--------------->8---
IOW, it crashes after having spit 1 GB of XML. Woow. :-)
Could you report it to the Nix folks?
Now, I don’t think ‘guix import nix’ is that important to be honest. I
think its value decreases as the number of packages in Guix increases.
Also, all it gives is a rough template and not the harder details; so
you may find that packaging OpenCascade won’t take much longer without
‘guix import nix’.
Thanks,
Ludo’.