[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ocaml 3.07 packages.



On Mon, Jul 07, 2003 at 06:04:23PM +0200, Sven Luther wrote:
> On Mon, Jul 07, 2003 at 05:34:59PM +0200, Sven Luther wrote:
> > On Mon, Jul 07, 2003 at 02:28:17PM +0200, Sven Luther wrote:
> > > On Sun, Jul 06, 2003 at 07:45:31PM +0200, Sven Luther wrote:
> > > > Hello, ...
> > > > 
> > > > I have begun work on making a ocaml-3.07 3.06.99.2003.07.05-1 package
> > > > out of yesterdays CVS, and am working on a patch to add a suffix to the
> > > > binaries. I will upload packages later today to :
> > > > 
> > > >   http://people.debian.org/~luther/ocaml-3.07
> > > > 
> > > 
> > > Ok, i have done a bit more work over lunchtime, and uploaded the new
> > > packages. They are called ocaml-3.07, ocaml-base-3.07 and so on. Even a
> > > new ocaml-source-3.07 is included.
> > 
> 
> I am trying to build lablgl with ocaml-3.07 and encountered the first
> problem :(((
> 
> ocamlc-3.07 -pp camlp4o will not work, you need to use ocamlc-3.07 -pp
> camlp4o-3.07, which is awkward, and means a modification of all the
> build scripts, until we have the wrapper script that is.
> 
> Maybe ocamlc could be patched to add the -3.07 suffix itself ?
> 
> Or simply have all the build scripts modified so they use a $(CAMLP4O)
> and not do it in a hacky way right now, but then, maybe other packages
> are less broken than lablgl.

Ok, i did a bit more playing with it, i ported lablgtk2 to the new
scheme, lablgl seems to be somewhat broken, but this is maybe due to
tcl/tk 8.4 and/or ocaml 3.07 incompatibilities. 

lablgtk2 build with some minor tweaks :

  ocamllex was not a variable that you could set.

  ocamlc -where to find the libdir is broken, need to change it to
  ocamlc-3.07 -where.

After doing that, i was able to build my own app with only a minor
configuration file modification :

--- Makefile.vars       8 Jan 2003 16:43:14 -0000       1.4
+++ Makefile.vars       7 Jul 2003 19:04:53 -0000
@@ -1,16 +1,17 @@
 # $Id: Makefile.vars,v 1.4 2003/01/08 16:43:14 luther Exp $
 
+CAMLSUFFIX =   -3.07
 CC =           gcc
 CDEP =         gcc -MM
 CAMLPREFIX =   ocaml
-CAMLC =                $(CAMLPREFIX)c
-CAMLC_THREAD = $(CAMLPREFIX)c -thread
-CAMLMKTOP =    $(CAMLPREFIX)mktop
-CAMLOPT =      $(CAMLPREFIX)opt
-CAMLOPT_THREAD=        $(CAMLPREFIX)opt -thread
-CAMLLEX =      $(CAMLPREFIX)lex
-CAMLYACC =     $(CAMLPREFIX)yacc
-CAMLDEP =      $(CAMLPREFIX)dep
+CAMLC =                $(CAMLPREFIX)c$(CAMLSUFFIX)
+CAMLC_THREAD = $(CAMLPREFIX)c$(CAMLSUFFIX) -thread
+CAMLMKTOP =    $(CAMLPREFIX)mktop$(CAMLSUFFIX)
+CAMLOPT =      $(CAMLPREFIX)opt$(CAMLSUFFIX)
+CAMLOPT_THREAD=        $(CAMLPREFIX)opt$(CAMLSUFFIX) -thread
+CAMLLEX =      $(CAMLPREFIX)lex$(CAMLSUFFIX)
+CAMLYACC =     $(CAMLPREFIX)yacc$(CAMLSUFFIX)
+CAMLDEP =      $(CAMLPREFIX)dep$(CAMLSUFFIX)
 AR =           ar
 RANLIB =       ranlib

So i think that the main problem with our approach would be to educate
our upstreams about having to take the -<version> into account. This is
something we can do, and it would help to clean up all the mostly broken
build systems out there also (the one using ocamlc directly, instead of
using a $(OCAMLC) variable.

A yes, there is still something which will be a pain, but this will
happen with the current situation too, and it is that all the 3.06 in
the different debian files need to be hand changed. We could think out a
clever scheme, but i don't thinkg debhelper is up to it yet. Basically,
you have to modify the .dirs file, the .files if you use dh_movefiles,
and the corresponding stuff in debian/rules.

Also, what will we do about library names ? Will we keep them, and
probably cause some incompatibility problems, or shall we adopt the new
libfoo-ocaml-3.07 and libfoo-ocaml-3.07-dev naming scheme ? If the
library per se is of the kind to change incompatibily, then we can do
the more ugly libfoo-1-ocaml-3.07 and libfoo-1-ocaml-3.07-dev thing.

Friendly,

Sven Luther



Reply to: