caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* Packaging OCaml for Linux
@ 2004-10-28 20:40 Matt Gushee
  2004-10-28 21:12 ` [Caml-list] " Olivier Andrieu
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Matt Gushee @ 2004-10-28 20:40 UTC (permalink / raw)
  To: caml-list

Hello, all--

I recently decided to try a new Linux distribution--Arch--and
quickly became an enthusiastic convert. Now, I've noticed that there is
no OCaml package for Arch Linux, and I would like to provide one. I'd
like to hear the community's opinion on a couple of questions:

1) Which OCaml distribution should be the basis for the Linux package:
   the basic distribution from INRIA, or GODI? Why do you think so?

2) What about LablTk? Should it be included, excluded? Should I break it
   into a separate package, as is often done with Python/Tkinter? Is
   that even possible with OCaml?

3) Is there anything in the OCaml license that creates problems for a
   Linux distribution package?

4) Any other "gotchas" I should be aware of?

Thanks in advance for your comments.

-- 
Matt Gushee
Englewood, Colorado, USA


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Caml-list] Packaging OCaml for Linux
  2004-10-28 20:40 Packaging OCaml for Linux Matt Gushee
@ 2004-10-28 21:12 ` Olivier Andrieu
  2004-10-29  0:51 ` Jacques Garrigue
  2004-10-29  2:31 ` skaller
  2 siblings, 0 replies; 8+ messages in thread
From: Olivier Andrieu @ 2004-10-28 21:12 UTC (permalink / raw)
  To: mgushee; +Cc: caml-list

 > Matt Gushee [Thu, 28 Oct 2004]:
 > I recently decided to try a new Linux distribution--Arch--and
 > quickly became an enthusiastic convert. Now, I've noticed that there is
 > no OCaml package for Arch Linux, and I would like to provide one. I'd
 > like to hear the community's opinion on a couple of questions:
 > 
 > 2) What about LablTk? Should it be included, excluded? Should I break it
 >    into a separate package, as is often done with Python/Tkinter? Is
 >    that even possible with OCaml?

Sure, you should use subpackages for lablTk, Graphics, Dbm, ie any
library that brings an external library as a dependency. Otherwise you
have annoying situations where you have to install all x11 packages to
be able to install your ocaml package (because of Graphics). 

There's nothing special to do for OCaml, just isolate the graphics* files
and the dll in a separate package.

-- 
   Olivier


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Caml-list] Packaging OCaml for Linux
  2004-10-28 20:40 Packaging OCaml for Linux Matt Gushee
  2004-10-28 21:12 ` [Caml-list] " Olivier Andrieu
@ 2004-10-29  0:51 ` Jacques Garrigue
  2004-10-29 18:34   ` Blair Zajac
  2004-10-29 19:44   ` Gerd Stolpmann
  2004-10-29  2:31 ` skaller
  2 siblings, 2 replies; 8+ messages in thread
From: Jacques Garrigue @ 2004-10-29  0:51 UTC (permalink / raw)
  To: mgushee; +Cc: caml-list

From: Matt Gushee <mgushee@havenrock.com>

> I recently decided to try a new Linux distribution--Arch--and
> quickly became an enthusiastic convert. Now, I've noticed that there is
> no OCaml package for Arch Linux, and I would like to provide one. I'd
> like to hear the community's opinion on a couple of questions:
> 
> 1) Which OCaml distribution should be the basis for the Linux package:
>    the basic distribution from INRIA, or GODI? Why do you think so?

GODI is probably difficult to make into a package: it is a package
manager itself.
On the other hand, if you provide GODI, then you don't need to package
anything else. That's the goal: not having to repackage all ocaml
libraries for every platform.

> 2) What about LablTk? Should it be included, excluded? Should I break it
>    into a separate package, as is often done with Python/Tkinter? Is
>    that even possible with OCaml?

You should be aware that ocamlbrowser (which is included in the
distribution) depends on LablTk. So if you remove labltk from the
package, default users will not get it.

I don't know how packaging works on Arch Linux.
With FreeBSD ports, you can set options when building packages, so
that you only remove labltk if you don't have X11, or your don't want
Tcl/Tk on your hard-disk.

(Actually, I have a problem with the minimalistic approach to
packaging on Linux. You often end-up having libraries installed with
partial configurations (less than your system supports) and without
headers. And then you must go around looking for the missing bits.
Gosh, hard-disks are not that small...)

> 3) Is there anything in the OCaml license that creates problems for a
>    Linux distribution package?

The QPL is open-source certified, so this should be OK, but maybe some
distributions only accept the GPL...

> 4) Any other "gotchas" I should be aware of?

Once you've started packaging, it must be maintained.
OCaml releases often happen in summer...

Jacques Garrigue


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Caml-list] Packaging OCaml for Linux
  2004-10-28 20:40 Packaging OCaml for Linux Matt Gushee
  2004-10-28 21:12 ` [Caml-list] " Olivier Andrieu
  2004-10-29  0:51 ` Jacques Garrigue
@ 2004-10-29  2:31 ` skaller
  2 siblings, 0 replies; 8+ messages in thread
From: skaller @ 2004-10-29  2:31 UTC (permalink / raw)
  To: Matt Gushee; +Cc: caml-list, godi-list

On Fri, 2004-10-29 at 06:40, Matt Gushee wrote:
> Hello, all--
> 
> I recently decided to try a new Linux distribution--Arch--and
> quickly became an enthusiastic convert. Now, I've noticed that there is
> no OCaml package for Arch Linux, and I would like to provide one. I'd
> like to hear the community's opinion on a couple of questions:
> 
> 1) Which OCaml distribution should be the basis for the Linux package:
>    the basic distribution from INRIA, or GODI? Why do you think so?

Godi is definitely worth looking at as an option IMHO.

First: Godi's Ocaml is the standard one anyhow, but you can opt 
to grab the CVS version instead of the tarball.

Second, Godi gives you a heap of extra packages 
in a standard way, and know how to rebuild things
as needed.

Third, whilst some OS may have some problems with Godi
based install, it should be working just fine for Linux.

Downsides: Godi may try to grab data off the Internet.
I'm not sure if there's a way to specify 'offline only'
which may be needed for some installations (for example
Sourceforge compile farm machines are effectively offline).

Also there is no licence service. Since package managers
load others automatically, there needs to be a way to
determine the overall licensing situation (eg some package
might be BSD but depend on an LGPL one, some program
you write may need packages A, B and C, and you might
want to know if that's compatible with your program's 
licence).

-- 
John Skaller, mailto:skaller@users.sf.net
voice: 061-2-9660-0850, 
snail: PO BOX 401 Glebe NSW 2037 Australia
Checkout the Felix programming language http://felix.sf.net




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Caml-list] Packaging OCaml for Linux
  2004-10-29  0:51 ` Jacques Garrigue
@ 2004-10-29 18:34   ` Blair Zajac
  2004-10-29 19:52     ` Gerd Stolpmann
  2004-10-29 19:44   ` Gerd Stolpmann
  1 sibling, 1 reply; 8+ messages in thread
From: Blair Zajac @ 2004-10-29 18:34 UTC (permalink / raw)
  To: Jacques Garrigue; +Cc: mgushee, caml-list

Jacques Garrigue wrote:
> From: Matt Gushee <mgushee@havenrock.com>
> 
>>I recently decided to try a new Linux distribution--Arch--and
>>quickly became an enthusiastic convert. Now, I've noticed that there is
>>no OCaml package for Arch Linux, and I would like to provide one. I'd
>>like to hear the community's opinion on a couple of questions:
>>
>>1) Which OCaml distribution should be the basis for the Linux package:
>>   the basic distribution from INRIA, or GODI? Why do you think so?
> 
> 
> GODI is probably difficult to make into a package: it is a package
> manager itself.

Something that would be useful is to have a set of godi* packages in the 
system's native package management system that would ensure that the 
required packages godi needs to build are available.  It could then 
probably call godi_build and let godi handle the rest.

I spent a large amount of time with Fink determining which packages godi 
needs to build.  For example, to build camlimages and ensure that all 
image formats are enabled, required a good amount of time and a large 
number of packages.

Also, these godi* packages could set up a set of symbolic links from a 
godi managed directory back to the system's /usr/bin, say using stow.

Blair

-- 
Blair Zajac <blair@orcaware.com>
Plots of your system's performance - http://www.orcaware.com/orca/


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Caml-list] Packaging OCaml for Linux
  2004-10-29  0:51 ` Jacques Garrigue
  2004-10-29 18:34   ` Blair Zajac
@ 2004-10-29 19:44   ` Gerd Stolpmann
  2004-10-31 12:00     ` Jacques Garrigue
  1 sibling, 1 reply; 8+ messages in thread
From: Gerd Stolpmann @ 2004-10-29 19:44 UTC (permalink / raw)
  To: Jacques Garrigue; +Cc: mgushee, caml-list

On Fre, 2004-10-29 at 02:51, Jacques Garrigue wrote:
> From: Matt Gushee <mgushee@havenrock.com>
> 
> > I recently decided to try a new Linux distribution--Arch--and
> > quickly became an enthusiastic convert. Now, I've noticed that there is
> > no OCaml package for Arch Linux, and I would like to provide one. I'd
> > like to hear the community's opinion on a couple of questions:
> > 
> > 1) Which OCaml distribution should be the basis for the Linux package:
> >    the basic distribution from INRIA, or GODI? Why do you think so?
> 
> GODI is probably difficult to make into a package: it is a package
> manager itself.

I think this is straight-forward. After all, GODI just installs files,
and the files can be repackaged with the package manager of the Linux
distribution.

Of course, the user must not call the GODI build system manually after
that (i.e. godi_console must no longer be used). When the Linux package
manager is responsible for managing the packages, it must be avoided
that it interfers with the GODI build system in an uncontrolled way,
because GODI would replace files, and the Linux package manager is not
informed. (And doing so is really hard, I think this is the difficulty
Jacques Garrigue means.) 

But in general, stacking of package managers should work as long as
there is a clear hierarchy, and one manager calls the other as
subordinate tool (and no user takes the freedom to call the subordinate
manager directly, breaking the hierarchy). 

> On the other hand, if you provide GODI, then you don't need to package
> anything else. That's the goal: not having to repackage all ocaml
> libraries for every platform.

This is true from a developer's point of view. But if you wanted to
create applications for end-users it would be really nice if O'Caml is
integrated into the native packaging system of the distribution.

> > 2) What about LablTk? Should it be included, excluded? Should I break it
> >    into a separate package, as is often done with Python/Tkinter? Is
> >    that even possible with OCaml?
> 
> You should be aware that ocamlbrowser (which is included in the
> distribution) depends on LablTk. So if you remove labltk from the
> package, default users will not get it.

On the other hand, there are users who need not ocamlbrowser, because
they install O'Caml only because their favourite application happens to
be written in O'Caml.

Gerd
-- 
------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany 
gerd@gerd-stolpmann.de          http://www.gerd-stolpmann.de
------------------------------------------------------------


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Caml-list] Packaging OCaml for Linux
  2004-10-29 18:34   ` Blair Zajac
@ 2004-10-29 19:52     ` Gerd Stolpmann
  0 siblings, 0 replies; 8+ messages in thread
From: Gerd Stolpmann @ 2004-10-29 19:52 UTC (permalink / raw)
  To: Blair Zajac; +Cc: Jacques Garrigue, mgushee, caml-list

On Fre, 2004-10-29 at 20:34, Blair Zajac wrote:
> Jacques Garrigue wrote:
> > From: Matt Gushee <mgushee@havenrock.com>
> > 
> >>I recently decided to try a new Linux distribution--Arch--and
> >>quickly became an enthusiastic convert. Now, I've noticed that there is
> >>no OCaml package for Arch Linux, and I would like to provide one. I'd
> >>like to hear the community's opinion on a couple of questions:
> >>
> >>1) Which OCaml distribution should be the basis for the Linux package:
> >>   the basic distribution from INRIA, or GODI? Why do you think so?
> > 
> > 
> > GODI is probably difficult to make into a package: it is a package
> > manager itself.
> 
> Something that would be useful is to have a set of godi* packages in the 
> system's native package management system that would ensure that the 
> required packages godi needs to build are available.  It could then 
> probably call godi_build and let godi handle the rest.
> 
> I spent a large amount of time with Fink determining which packages godi 
> needs to build.  For example, to build camlimages and ensure that all 
> image formats are enabled, required a good amount of time and a large 
> number of packages.
> 
> Also, these godi* packages could set up a set of symbolic links from a 
> godi managed directory back to the system's /usr/bin, say using stow.

This is really a problem (I also ran into it), but I don't see how it
can be solved in a way that is both simple to use and maintainable
(unless GODI is the subordinate package manager, as explained in the
other mail). The point is that the GODI project does not have enough
people to collect and maintain the information which Fink/Whatever
packages must be installed for all supported OS. (The implementation of
such a feature is no problem.)

Gerd
-- 
------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany 
gerd@gerd-stolpmann.de          http://www.gerd-stolpmann.de
------------------------------------------------------------


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Caml-list] Packaging OCaml for Linux
  2004-10-29 19:44   ` Gerd Stolpmann
@ 2004-10-31 12:00     ` Jacques Garrigue
  0 siblings, 0 replies; 8+ messages in thread
From: Jacques Garrigue @ 2004-10-31 12:00 UTC (permalink / raw)
  To: info; +Cc: caml-list

From: Gerd Stolpmann <info@gerd-stolpmann.de>

> > > 1) Which OCaml distribution should be the basis for the Linux package:
> > >    the basic distribution from INRIA, or GODI? Why do you think so?
> > 
> > GODI is probably difficult to make into a package: it is a package
> > manager itself.
> 
> I think this is straight-forward. After all, GODI just installs files,
> and the files can be repackaged with the package manager of the Linux
> distribution.
> 
> Of course, the user must not call the GODI build system manually after
> that (i.e. godi_console must no longer be used). When the Linux package
> manager is responsible for managing the packages, it must be avoided
> that it interfers with the GODI build system in an uncontrolled way,
> because GODI would replace files, and the Linux package manager is not
> informed. (And doing so is really hard, I think this is the difficulty
> Jacques Garrigue means.) 

There are two parts in GODI: the ability to compile ocaml related
software uniformly, and the ability to maintain a coherent state
considering their dependencies.
You can certainly exploit the first aspect from a packaging system,
but I don't see how you can use the second one, which is really where
GODI shines.

> But in general, stacking of package managers should work as long as
> there is a clear hierarchy, and one manager calls the other as
> subordinate tool (and no user takes the freedom to call the subordinate
> manager directly, breaking the hierarchy). 

But even calling GODI from the package manager should be able to
update other godi packages, no? How is the package manager going to
keep track of that?
Or is there already some support for that in GODI? If this is the
case, and GODI can call package manager commands to update the
database, the even calling GODI directly should be OK.

> > > 2) What about LablTk? Should it be included, excluded? Should I break it
> > >    into a separate package, as is often done with Python/Tkinter? Is
> > >    that even possible with OCaml?
> > 
> > You should be aware that ocamlbrowser (which is included in the
> > distribution) depends on LablTk. So if you remove labltk from the
> > package, default users will not get it.
> 
> On the other hand, there are users who need not ocamlbrowser, because
> they install O'Caml only because their favourite application happens to
> be written in O'Caml.

If they use binary packages, they don't need to install ocaml at all.
If they compile the application themselves, then it might be nice to
have a real ocaml installed. At least they won't have to wonder
afterwards why they don't have some utilities/libraries which are
supposed to be in the standard distribution.
(Again, I don't mean that it shouldn't be possible to disable some
libraries, particularly if you don't have X11 for instance, of if the
user knows exactly what he wants, but I don't see the point of
providing a partial system without warning.)

Jacques Garrigue


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2004-10-31 12:00 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-10-28 20:40 Packaging OCaml for Linux Matt Gushee
2004-10-28 21:12 ` [Caml-list] " Olivier Andrieu
2004-10-29  0:51 ` Jacques Garrigue
2004-10-29 18:34   ` Blair Zajac
2004-10-29 19:52     ` Gerd Stolpmann
2004-10-29 19:44   ` Gerd Stolpmann
2004-10-31 12:00     ` Jacques Garrigue
2004-10-29  2:31 ` skaller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).