Jeroen van Wolffelaar <[EMAIL PROTECTED]>: > > GHC seems to be in the same situation: there are other implementations > > of Haskell, but GHC uses some GHC-specific features, so you have to > > compile it with GHC. > > GHC can be bootstrapped without GHC itself, there is a minimal C > implementation of the necessary code. No need to build-depend on itself.
Are you referring to the use of HC files in porting GHC? http://www.haskell.org/ghc/docs/latest/html/building/sec-porting-ghc.html > I notice the GHC maintainer somehow doesn't use this possibility, I > don't know why, it makes bootstrapping GHC difficult. Debian packages should probably be built from source as a matter of principle. The HC files are automatically generated (using GHC) and should not be counted as source. However, maybe for convenience the Debian package could have an option to use the HC files. > > I assume that cyclic Build-Depends are acceptable in Debian. It would > > be difficult if they weren't. > > For essential packages, build-essential and kernels (not in the sense > one build-depends on a kernel, but one requires a working kernel before > running the build), it's understandable. For everything else, I consider > that quite wierd. I'm not sure about that. It's fairly normal for people to implement compilers in the same language and I don't see why they should be expected to provide a bootstrap path using C. There's also the case of Build-Depends cycles caused by non-essential parts of a package, such as the documentation. If a documentation preparation system uses some library, and the author of that library decides to use that documentation preparation system for the library documentation, then there will be a cycle, but one that is easily avoided by just not building the documentation the first time.