Subject: bug#18247: closed (Re: bug#18247: Cyclic dependencies in (gnu package *) modules)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 28 Aug 2014 09:42:03 +0000

Your bug report

#18247: Cyclic dependencies in (gnu package *) modules

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
18247: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18247
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#18247: Cyclic dependencies in (gnu package *) modules
From: [email-masked] (Ludovic Courtès)
To: [email-masked]
Cc: [email-masked], Eric Bavier <[email-masked]>
Date: Thu, 28 Aug 2014 11:41:12 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

[email-masked] (Ludovic Courtès) skribis:

> Another possibility, probably better, would be to split base into two
> modules: one that exports the normal package definitions (the first page
> of base.scm, in terms of C-x n p), and one that exports %final-inputs
> and related stuff (the second page).  Normally the latter will not have
> to be used directly, except by (guix build-system gnu) and related
> stuff.

Commit bdb3695 does that.

It helps a bit already, in that, for instance, adding Guile-Charting and
its dependency on (gnu packages gtk) would have been impossible before,
but here does not cause any problems.

Comments welcome!

I’m closing this bug but we’ll certainly have to keep an eye on it, so
feel free to reopen as you see fit.

Thanks,
Ludo’.

Subject: Cyclic dependencies in (gnu package *) modules
From: [email-masked]
To: [email-masked]
Date: Mon, 11 Aug 2014 16:05:56 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

I'm currently unable to compile guix from git, with error messages that
suggest cyclic dependencies between the modules.  I just computed the
strongly connected components of the (gnu package *) modules.  The
non-trivial ones are listed below.

There are three cycles of size 2:

((gnu packages emacs)  (gnu packages version-control))
((gnu packages flex)   (gnu packages bison))
((gnu packages python) (gnu packages zip))

And one large strongly-connected component containing 51 modules:

((gnu packages acl)
 (gnu packages gettext)
 (gnu packages xml)
 (gnu packages linux)
 (gnu packages gtk)
 (gnu packages xorg)
 (gnu packages gnupg)
 (gnu packages glib)
 (gnu packages base)
 (gnu packages texinfo)
 (gnu packages gcc)
 (gnu packages openldap)
 (gnu packages groff)
 (gnu packages netpbm)
 (gnu packages ghostscript)
 (gnu packages tcl)
 (gnu packages fontutils)
 (gnu packages cyrus-sasl)
 (gnu packages mit-krb5)
 (gnu packages curl)
 (gnu packages ssh)
 (gnu packages gsasl)
 (gnu packages shishi)
 (gnu packages gnutls)
 (gnu packages gl)
 (gnu packages pdf)
 (gnu packages lesstif)
 (gnu packages gnome)
 (gnu packages libcanberra)
 (gnu packages xiph)
 (gnu packages pulseaudio)
 (gnu packages web)
 (gnu packages docbook)
 (gnu packages avahi)
 (gnu packages algebra)
 (gnu packages mpi)
 (gnu packages valgrind)
 (gnu packages gdb)
 (gnu packages dejagnu)
 (gnu packages doxygen)
 (gnu packages graphviz)
 (gnu packages gd)
 (gnu packages gstreamer)
 (gnu packages iso-codes)
 (gnu packages rrdtool)
 (gnu packages maths)
 (gnu packages texlive)
 (gnu packages tcsh)
 (gnu packages lisp)
 (gnu packages fltk)
 (gnu packages attr))

     Mark