FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor


 
 
LinkBack Thread Tools
 
Old 01-01-2011, 05:46 PM
Thomas S Hatch
 
Default Ocaml Packages

I am looking at the state of the ArchLinux Ocaml packages. I am trying to
update a number of them and I am trying to build a number of ocaml
applications, but there are many incosistencies.

The main problem is that there are ocaml packages that build with findlib
and without findlib, and they place the development libs in different
places. Also I have found a few packages that install libs in the findlib
dir AND in the ocaml dir.

The two directories are :
findlib: /usr/lib/ocaml/site-lib
non-findlib: /usr/lib/ocaml

Other distributions with more developed ocaml support, such as fedora and
Debian/Ubuntu have chosen to use findlib for all packages and they all
install to the /usr/lib/ocaml dir.

So I am proposing for discussion, that we look into repairing the ocaml
packages to all use findlib and to install everything into /usr/lib/ocaml.
Then we can have some peace on the ocaml front and we can do away with the
complications in the AUR with ocaml packages.

I have adopted the ocaml-findlib package and a number of them have been
orphaned, (which I am picking up) but I wanted to run this by the TUs and
other AUR devs before I really considered revamping the ocaml landscape in
the AUR.

-Thanks

-Thomas S Hatch
 
Old 01-01-2011, 06:38 PM
Xyne
 
Default Ocaml Packages

Thomas S Hatch wrote:

> I am looking at the state of the ArchLinux Ocaml packages. I am trying to
> update a number of them and I am trying to build a number of ocaml
> applications, but there are many incosistencies.
>
> The main problem is that there are ocaml packages that build with findlib
> and without findlib, and they place the development libs in different
> places. Also I have found a few packages that install libs in the findlib
> dir AND in the ocaml dir.
>
> The two directories are :
> findlib: /usr/lib/ocaml/site-lib
> non-findlib: /usr/lib/ocaml
>
> Other distributions with more developed ocaml support, such as fedora and
> Debian/Ubuntu have chosen to use findlib for all packages and they all
> install to the /usr/lib/ocaml dir.
>
> So I am proposing for discussion, that we look into repairing the ocaml
> packages to all use findlib and to install everything into /usr/lib/ocaml.
> Then we can have some peace on the ocaml front and we can do away with the
> complications in the AUR with ocaml packages.
>
> I have adopted the ocaml-findlib package and a number of them have been
> orphaned, (which I am picking up) but I wanted to run this by the TUs and
> other AUR devs before I really considered revamping the ocaml landscape in
> the AUR.
>
> -Thanks
>
> -Thomas S Hatch

Standardizing the OCaml packages and bringing them in line with
other distributions would be good.

You should probably add a page to the wiki to document OCaml packaging
guidelines. Include a link to guidelines among the others on the packaging
standards page:
https://wiki.archlinux.org/index.php/Arch_Packaging_Standards

While searching for existing OCaml guidelines in the wiki I found the following
post, which may or may not be useful:
https://bbs.archlinux.org/viewtopic.php?id=88588

Regards,
Xyne
 
Old 01-01-2011, 06:43 PM
Thomas S Hatch
 
Default Ocaml Packages

On Sat, Jan 1, 2011 at 12:38 PM, Xyne <xyne@archlinux.ca> wrote:

> Thomas S Hatch wrote:
>
> > I am looking at the state of the ArchLinux Ocaml packages. I am trying to
> > update a number of them and I am trying to build a number of ocaml
> > applications, but there are many incosistencies.
> >
> > The main problem is that there are ocaml packages that build with findlib
> > and without findlib, and they place the development libs in different
> > places. Also I have found a few packages that install libs in the findlib
> > dir AND in the ocaml dir.
> >
> > The two directories are :
> > findlib: /usr/lib/ocaml/site-lib
> > non-findlib: /usr/lib/ocaml
> >
> > Other distributions with more developed ocaml support, such as fedora and
> > Debian/Ubuntu have chosen to use findlib for all packages and they all
> > install to the /usr/lib/ocaml dir.
> >
> > So I am proposing for discussion, that we look into repairing the ocaml
> > packages to all use findlib and to install everything into
> /usr/lib/ocaml.
> > Then we can have some peace on the ocaml front and we can do away with
> the
> > complications in the AUR with ocaml packages.
> >
> > I have adopted the ocaml-findlib package and a number of them have been
> > orphaned, (which I am picking up) but I wanted to run this by the TUs and
> > other AUR devs before I really considered revamping the ocaml landscape
> in
> > the AUR.
> >
> > -Thanks
> >
> > -Thomas S Hatch
>
> Standardizing the OCaml packages and bringing them in line with
> other distributions would be good.
>
> You should probably add a page to the wiki to document OCaml packaging
> guidelines. Include a link to guidelines among the others on the packaging
> standards page:
> https://wiki.archlinux.org/index.php/Arch_Packaging_Standards
>
> While searching for existing OCaml guidelines in the wiki I found the
> following
> post, which may or may not be useful:
> https://bbs.archlinux.org/viewtopic.php?id=88588
>
> Regards,
> Xyne
>

Thanks Xyne, that helps, I am going to try and figure out the best way to
change the ocaml packaging process without just breaking all of the OCaml
packages, i will have the guidelines up shortly and star t moving towards
clean ArchLinux Ocaml.

-Thomas S Hatch
 
Old 01-01-2011, 06:58 PM
Xyne
 
Default Ocaml Packages

Thomas S Hatch wrote:

> Thanks Xyne, that helps, I am going to try and figure out the best way to
> change the ocaml packaging process without just breaking all of the OCaml
> packages, i will have the guidelines up shortly and star t moving towards
> clean ArchLinux Ocaml.
>
> -Thomas S Hatch

There seems to be only 6 OCaml packages in the repos:

lablgtk
lablgtk2
ocaml
camlp5
camlp5-transitional
llvm-ocaml

Check if they follow the guidelines that you propose and contact the maintainers
of any that don't. If you explain the situation and provide a patch then you'll
probably get a quick and positive response.

Before you do, consider whether the names need to be changed. Most library
packages follow the convention of including the language name as a prefix, e.g.
"perl-foo" or "haskell-bar". What's the state of the ocaml packages?

lablgtk should probably be ocaml-lablgtk, etc. Consider how few packages there
are in the repos, I doubt there would be much opposition to fixing clearly
broken names.

Regards,
Xyne
 
Old 01-01-2011, 07:01 PM
Thomas S Hatch
 
Default Ocaml Packages

On Sat, Jan 1, 2011 at 12:58 PM, Xyne <xyne@archlinux.ca> wrote:

> Thomas S Hatch wrote:
>
> > Thanks Xyne, that helps, I am going to try and figure out the best way to
> > change the ocaml packaging process without just breaking all of the OCaml
> > packages, i will have the guidelines up shortly and star t moving towards
> > clean ArchLinux Ocaml.
> >
> > -Thomas S Hatch
>
> There seems to be only 6 OCaml packages in the repos:
>
> lablgtk
> lablgtk2
> ocaml
> camlp5
> camlp5-transitional
> llvm-ocaml
>
> Check if they follow the guidelines that you propose and contact the
> maintainers
> of any that don't. If you explain the situation and provide a patch then
> you'll
> probably get a quick and positive response.
>
> Before you do, consider whether the names need to be changed. Most library
> packages follow the convention of including the language name as a prefix,
> e.g.
> "perl-foo" or "haskell-bar". What's the state of the ocaml packages?
>
> lablgtk should probably be ocaml-lablgtk, etc. Consider how few packages
> there
> are in the repos, I doubt there would be much opposition to fixing clearly
> broken names.
>
> Regards,
> Xyne
>

Thanks again Xyne, will do. As for the naming of ocaml packages roght now,
often there are duplicates in the AUR, I will put that down on my list to
hunt down problems!

-Thomas S Hatch
 
Old 01-02-2011, 02:56 AM
Thomas S Hatch
 
Default Ocaml Packages

I have updated ocaml-findlib and about 10 more ocaml packages with this
changes, I have also started to the spread the word on this move and I have
been met with positive responses.

I have a simple OCaml Package guidelines page up on the wiki:
https://wiki.archlinux.org/index.php/OCaml_Package_Guidelines

This is already making PKGBUILDs for ocaml simpler and has repaired a number
of build issues in packages.

I am going to talk to the upstream maintainers, but I think that all I will
be requesting is a name change on a few packages.

BTW, how far along should I be before I apply to be a TU?

-Thomas S Hatch

On Sat, Jan 1, 2011 at 1:01 PM, Thomas S Hatch <thatch45@gmail.com> wrote:

>
>
> On Sat, Jan 1, 2011 at 12:58 PM, Xyne <xyne@archlinux.ca> wrote:
>
>> Thomas S Hatch wrote:
>>
>> > Thanks Xyne, that helps, I am going to try and figure out the best way
>> to
>> > change the ocaml packaging process without just breaking all of the
>> OCaml
>> > packages, i will have the guidelines up shortly and star t moving
>> towards
>> > clean ArchLinux Ocaml.
>> >
>> > -Thomas S Hatch
>>
>> There seems to be only 6 OCaml packages in the repos:
>>
>> lablgtk
>> lablgtk2
>> ocaml
>> camlp5
>> camlp5-transitional
>> llvm-ocaml
>>
>> Check if they follow the guidelines that you propose and contact the
>> maintainers
>> of any that don't. If you explain the situation and provide a patch then
>> you'll
>> probably get a quick and positive response.
>>
>> Before you do, consider whether the names need to be changed. Most library
>> packages follow the convention of including the language name as a prefix,
>> e.g.
>> "perl-foo" or "haskell-bar". What's the state of the ocaml packages?
>>
>> lablgtk should probably be ocaml-lablgtk, etc. Consider how few packages
>> there
>> are in the repos, I doubt there would be much opposition to fixing clearly
>> broken names.
>>
>> Regards,
>> Xyne
>>
>
> Thanks again Xyne, will do. As for the naming of ocaml packages roght now,
> often there are duplicates in the AUR, I will put that down on my list to
> hunt down problems!
>
> -Thomas S Hatch
>
 
Old 01-02-2011, 08:40 AM
Xyne
 
Default Ocaml Packages

On 2011-01-01 20:56 -0700 (00:6)
Thomas S Hatch wrote:

> I have updated ocaml-findlib and about 10 more ocaml packages with this
> changes, I have also started to the spread the word on this move and I have
> been met with positive responses.
>
> I have a simple OCaml Package guidelines page up on the wiki:
> https://wiki.archlinux.org/index.php/OCaml_Package_Guidelines

I've made some changes to the page:
* reworded "OCaml Library Locations" section for clarity and emphasis
* added architecture recommendation to "Bytecode" section (I presume that if a
package does not produce bytecode then it should specify "any" as its
architecture.)
* cleaned up the PKGBUILD
- added double quotation marks to all variables
- moved "ocaml" from makedepends to depends


The latter might require some updates to existing PKGBUILDs.



> This is already making PKGBUILDs for ocaml simpler and has repaired a number
> of build issues in packages.
>
> I am going to talk to the upstream maintainers, but I think that all I will
> be requesting is a name change on a few packages.

ocaml-findlib will eventually need to be moved to [extra] by a dev if it is to
be required by all OCaml packages. I suggest that you contact the maintainer of
the OCaml package about this as the two should logically be maintained together.




> BTW, how far along should I be before I apply to be a TU?

I can't believe that you top-posted for the first time when asking this
question. Talk about shooting yourself in the foot. :P



Regards,
Xyne
 
Old 01-02-2011, 07:27 PM
Thomas S Hatch
 
Default Ocaml Packages

On Sun, Jan 2, 2011 at 2:40 AM, Xyne <xyne@archlinux.ca> wrote:

> On 2011-01-01 20:56 -0700 (00:6)
> Thomas S Hatch wrote:
>
> > I have updated ocaml-findlib and about 10 more ocaml packages with this
> > changes, I have also started to the spread the word on this move and I
> have
> > been met with positive responses.
> >
> > I have a simple OCaml Package guidelines page up on the wiki:
> > https://wiki.archlinux.org/index.php/OCaml_Package_Guidelines
>
> I've made some changes to the page:
> * reworded "OCaml Library Locations" section for clarity and emphasis
> * added architecture recommendation to "Bytecode" section (I presume that
> if a
> package does not produce bytecode then it should specify "any" as its
> architecture.)
> * cleaned up the PKGBUILD
> - added double quotation marks to all variables
> - moved "ocaml" from makedepends to depends
>
>
> The latter might require some updates to existing PKGBUILDs.
>
>
>
> > This is already making PKGBUILDs for ocaml simpler and has repaired a
> number
> > of build issues in packages.
> >
> > I am going to talk to the upstream maintainers, but I think that all I
> will
> > be requesting is a name change on a few packages.
>
> ocaml-findlib will eventually need to be moved to [extra] by a dev if it is
> to
> be required by all OCaml packages. I suggest that you contact the
> maintainer of
> the OCaml package about this as the two should logically be maintained
> together.
>
>
>
>
> > BTW, how far along should I be before I apply to be a TU?
>
> I can't believe that you top-posted for the first time when asking this
> question. Talk about shooting yourself in the foot. :P
>
>
>
> Regards,
> Xyne
>

Yes, I top posted, I need to fix that on my phone.

I changed the bytecode changes you made, maybe it will make more sense to
you now how ocaml bytecode works.

I added ocaml back to the makedepends, the ocaml package provides the
compiler.

OCaml should only be a dependency when the package includes bytecode, since
ocaml executables are %100 native machine code - this is an error in most
OCaml packages (I need to fix a number of mine)

Thanks for the PKGBUILD fixes and the change in the tone and detail on the
ocaml library locations section.

Oh, and BTW...
How far along should I be before I apply to be a TU?

-Thomas S Hatch
 
Old 01-03-2011, 10:02 AM
Xyne
 
Default Ocaml Packages

Thomas S Hatch wrote:

> I changed the bytecode changes you made, maybe it will make more sense to
> you now how ocaml bytecode works.

Ah, sorry. It's clearer now.


> I added ocaml back to the makedepends, the ocaml package provides the
> compiler.
>
> OCaml should only be a dependency when the package includes bytecode, since
> ocaml executables are %100 native machine code - this is an error in most
> OCaml packages (I need to fix a number of mine)

If the resulting package does not require ocaml then it should not be named
"ocaml-*". It was my understanding that these packages were OCaml libraries,
i.e. code and/or binaries that should be used within OCaml code.

Maybe there is a misunderstanding about makedepends vs depends. If a package is
required both to build and to run another package, then it should be included
in the depends array. If the package is only required to build the package but
not to run it then it should be included in the makedepends array.

So if the resulting packages are stand-alone executables or generic libraries
then they should not be named "ocaml-*" any more than anything written in C
should be named "c-*". If they are only for use with OCaml then ocaml should be
a dependency and the name should retain the "ocaml-" prefix.


> Oh, and BTW...
> How far along should I be before I apply to be a TU?
I'd say you're almost there, but I want to see how this discussion goes before
I say anything more.


Regards,
Xyne
 
Old 01-03-2011, 04:18 PM
Thomas S Hatch
 
Default Ocaml Packages

On Mon, Jan 3, 2011 at 4:02 AM, Xyne <xyne@archlinux.ca> wrote:

> Thomas S Hatch wrote:
>
> > I changed the bytecode changes you made, maybe it will make more sense to
> > you now how ocaml bytecode works.
>
> Ah, sorry. It's clearer now.
>
>
> > I added ocaml back to the makedepends, the ocaml package provides the
> > compiler.
> >
> > OCaml should only be a dependency when the package includes bytecode,
> since
> > ocaml executables are %100 native machine code - this is an error in most
> > OCaml packages (I need to fix a number of mine)
>
> If the resulting package does not require ocaml then it should not be named
> "ocaml-*". It was my understanding that these packages were OCaml
> libraries,
> i.e. code and/or binaries that should be used within OCaml code.
>
> Maybe there is a misunderstanding about makedepends vs depends. If a
> package is
> required both to build and to run another package, then it should be
> included
> in the depends array. If the package is only required to build the package
> but
> not to run it then it should be included in the makedepends array.
>
> So if the resulting packages are stand-alone executables or generic
> libraries
> then they should not be named "ocaml-*" any more than anything written in C
> should be named "c-*". If they are only for use with OCaml then ocaml
> should be
> a dependency and the name should retain the "ocaml-" prefix.
>
>
> > Oh, and BTW...
> > How far along should I be before I apply to be a TU?
> I'd say you're almost there, but I want to see how this discussion goes
> before
> I say anything more.
>
>
> Regards,
> Xyne
>

Sounds good, in the case of OCaml libs, using the libs will
almost always require the ocaml package, actually, the only cases where it
would not is if the upstream maintainer is not producing bytecode and native
bins, which they always should. So you are most likely correct in that we
should recommended ocaml as a dep and a makedep, and I think we should keep
the naming, not only because of the ocaml dependencies, but also to
distinguish them from the C libs, it would not take long before we started
to see naming conflicts since many libs provide the same functions by the
same names.

So with that said I think I need to clarify that packages like virt-top (
http://aur.archlinux.org/packages.php?ID=44978) which distribute only a
native executable need to NOT be called ocaml-virt-top but since the libs
should distribute code for all three layers and that running said code
requires the ocaml package.

I think that my main problem is that I underestimated the clarity needed on
the documentation, something which should never be done, and that OCaml
builds can be a little more complicated because of the layers.

Also I am trying to bring the conventions inline with the way they were
created by Richard Jones for Red Hat, since they are very clean and Richard
Jones is one of the main OCaml heads.

Does that make sense? I think that you are right on the depends for libs,
and that the naming should stay ocaml-foo for libs. But clarify in the docs
that OCaml applications should be treated like normal applications since
they should not require ocaml.

The viable confusion comes in where an end user application is built in such
a way that it uses the bytecode - I have never seen this, but it is
possible.

I will look over the wiki page and look to add more clarity.

-Tom
 

Thread Tools




All times are GMT. The time now is 07:39 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org