[m-dev.] I have been making Debian packages
Julien Fischer
jfischer at opturion.com
Tue Mar 28 10:39:11 AEDT 2017
Hi Paul,
On Fri, 24 Mar 2017, Paul Bone wrote:
> On Fri, Mar 24, 2017 at 11:41:28AM +1100, Julien Fischer wrote:
>>
>> Hi Paul,
>>
>> On Thu, 23 Mar 2017, Paul Bone wrote:
>>
>>> I've been packaging Mercury for Debian recently.
>>>
>>> http://dl2.mercurylang.org/packages/
>>
>> For the benefit of those of without a Debian (based) system to hand,
>> what packages have you split it up into?
>
> I'll put this online also.
>
> Grade Package
> -------------------------------------------------
> hlc.gc mercury-hlc
> hlc.par.gc mercury-hlcpar
> hlc.gc.trseg mercury-hlctrail
> asm_fast.gc mercury-llc
> asm_fast.par.gc.stseg mercury-llcpar
> asm_fast.gc.trseg mercury-llctrail
> asm_fast.gc.decldebug.stseg mercury-devel
> asm_fast.gc.profdeep.stseg mercury-devel
> asm_fast.gc.memprof.stseg mercury-devel
> asm_fast.gc.prof.stseg mercury-devel
>
> For all of these except mercury-devel you will also need the -dev package if
> you want to compile programs for that grade. The non -dev packages are just
> the shared objects.
Good, that's what I was hoping you'd done with the shared objects.
I think the above set of packages is too fine-grained; I have an alternative
suggestion:
Package: mercury-runtime
Contents: shared objects for all the (useful) "production" C grades, namely:
hlc.gc, hlc.par.gc hlc.gc.trseg, asm_fast.gc.stseg, asm_fast.par.gc.trseg.stseg
and asm_fast.par.gc.stseg.
Given that the .so files are fairly small I'm not sure there is much to be gained
by the fine-grained packaging.
Package: mercury-java-runtime
Contents: .jar files for the Java grade
Package: mercury-csharp-runtime
Contents: .dll files for the C# grade.
Package: mercury-devel
Depends: mercury-runtime
Contents: the Mercury compiler + the rest of the files required to build
things in the grades in the mercury-runtime package. This might also include
the debug and profiling grades (as you have above) if they aren't split
out into their own packages.
Package: mercury-java-devel
Depends: the underlying system needs a Java compiler and runtime.
Contents: remaining files needed for compiling in the Java grade.
Package: mercury-csharp-devel
Depends: the underlying system will need a C# compiler and CLR runtime.
Contents: remaining files needed for compiling in the C# grade.
Julien.
More information about the developers
mailing list