On Mon, Jul 27, 2009 at 05:13:06PM +0000, brian m. carlson wrote: > On Mon, Jul 27, 2009 at 05:34:44PM +1000, Paul Bone wrote: > > * Package name : mercury > > Version : 0.13.1-rotd20090725 > > Upstream Author : Mercury Group <merc...@csse.unimelb.edu.au> > > * URL : http://www.mercury.csse.unimelb.edu.au/ > > * License : GPL2 > > Programming Lang: Mercury > > Description : The Mercury programming system, a pure > > logical/functional programming language. > > This used to be in Debian some time ago, because I remember trying to > work on the package for some reason. I believe that it is > self-hosting[0], which may be a problem, except that it supposedly comes > with a C version of the compiler as well. To make life easy for porters, > I'd request that you always build the C compiler and then, if you want > to, bootstrap the Mercury compiler from that. > > If I'm remembering incorrectly, or that's no longer the case, feel free > to disregard this. >
This is mostly correct. Mercury is indeed self-hosting and was previously included in Debian. Mercury has a number of different backends two of these target C, high-level C and low-level C. The Mercury source distribution includes C intermediate files for the standard library and compiler generated by the low-level C backend, these can be compiled with GCC to generate binaries which can be used to bootstrap an installation by re-compiling the Mercury sources. I have a working Debian package that builds and bootstraps Mercury from the source distribution. It requires gcc-3.4 as a build-depend and is able to bootstrap itself so that the resulting binaries are optimal on 32bit and 64bit machines (the explanation involves a discussion of tagged pointers). I hope that this will be acceptable by the Debian project and that distributing intermediate files in the .orig.tar.gz file is not a problem. Mercury should build from the Debian source package equally as well as it can build from the upstream source distribution on all architectures. Cross-compilation should not be necessary. See also the list of supported architectures here: http://www.mercury.csse.unimelb.edu.au/download/rotd.html I hope this helps. If you have any more questions please let us know. Thanks.
signature.asc
Description: Digital signature