[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Splitting mkvtoolnix outputs: cycle detected in the references
From: |
Ludovic Courtès |
Subject: |
Re: Splitting mkvtoolnix outputs: cycle detected in the references |
Date: |
Wed, 13 Mar 2019 15:55:18 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Hi,
Pierre Neidhardt <address@hidden> skribis:
> I'm trying to split mkvtoolnix-gui (depends on Qt) to a separate "gui" output.
> "out" would only contain the command line tools.
>
> Disabling Qt shrinks the closure size from 1.5+ GB to 277 MB. Pretty
> neat, huh? :)
Yup!
> I naively tried to move mkvtoolnix-gui to the "gui" output:
>
> (add-after 'install 'post-install
> (lambda* (#:key outputs #:allow-other-keys)
> ;; Move the Qt interface to "gui".
> (let ((out (assoc-ref outputs "out"))
> (gui (assoc-ref outputs "gui")))
> (mkdir-p (string-append gui "/bin"))
> (rename-file (string-append out "/bin/mkvtoolnix-gui")
> (string-append gui "/bin/mkvtoolnix-gui")))
> #t))
>
>
> But I get the following error after the
> `compress-documentation' phase:
>
> cycle detected in the references of
> `/gnu/store/7asc0q7kik1ak463nj8g675hnab7h982-mkvtoolnix-31.0.0-gui'
>
> It's unclear to me why there would be a cycle. Any clue how to
> investigate from there?
This error means that the two outputs, “out” and “gui”, refer to each
other; the daemon does not support that.
To find out where the references come from, you can build with -K, and
then grep -r for one output in the other.
If it turns out to be impossible to remove the cycle, I’d suggest making
a separate package for the GUI.
HTH!
Ludo’.