<marusich>I'm reading the commencement.scm code and it seems to me that there is a circular dependency, but I know there must not be, or Guix wouldn't work, so I am wondering if somebody can explain to me what I am missing. <marusich>Consider glibc-final. It appears to inherit glibc (provided by (gnu packages base)), which seems to mean it will be using gnu-build-system, which seems to mean it that the %final-inputs will be implicitly added when the package is (converted to a bag and) built. However, how can this be? The %final-inputs contains glibc-final itself, which seems circular. I must be missing something. <marusich>Looking at the list of inputs produced by (bag-direct-inputs (package->bag glibc-final)), I see that various inputs appear to have been overridden which would otherwise have been implicit inputs of gnu-build-system (such as "gcc"), so I suppose that is why there is no circular dependency, but I cannot see how this comes to be. <marusich>I can see how the use of helper procedures like package-with-explicit-inputs (or the procedures that use it, such as with-boot0) might cause a package like glibc-final to use a different set of inputs instead of the usual %final-inputs. However, I don't see any code that makes it obvious that package-with-explicit-inputs is being used on glibc-final. What am I missing? <marusich>I would also understand what's going on, I think, if glibc-final explicitly declared #:implicit-inputs? #f in its package arguments, but it doesn't. <marusich>If someone knows the answer, I'd really appreciate it if you could email me at cmmarusich@gmail.com, since it's eating me alive that I can't figure it out! <janneke>marusich: ah, it's coded a bit implicitly...look <janneke> ,@(package-arguments glibc-final-with-bootstrap-bash))))) <janneke>and glibc-final-with-bootstrap-bash has: (arguments `(#:guile ,%bootstrap-guile #:implicit-inputs? #f ... *janneke mails this to them too <janneke>thanks for worrying about this, marusich! ***tazjin is now known as benry
***benry is now known as tazjin