Re: oaklisp: contains 500kB binary in source
Jeroen van Wolffelaar <email@example.com>:
> > 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?
> 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.