Aug 23 2010

OASIS-DB: alpha website available

Sylvain Le Gall | Information | 0 Comments

A prototype version of OASIS-DB is up and running, go to the official OASIS website and follow the link to test it:

http://oasis.ocamlcore.org

(direct link to the development  version and access to various files)

 

This version is only a very early prototype. For now, the main focus was to adapt OASIS to the requirements of OASIS-DB. In particular, ocsigen brings additional constraints because the library is used at the same time by many users. For example, it implies to replace Str by Pcre for regular expression because the later is thread safe.

The login is connected to a stub so that everyone can login without password. OASIS-DB will use forge.ocamlcore.org authentification in a future version but this will also restrict access.

There is still a lot of things to do, but you can:

  • upload a tarball with or without _oasis file,
  • download a tarball from its original location or directly on OASIS-DB,
  • browse available packages,
  • render _oasis files using a subset Markdown for description (thanks to Mauricio Fernandez for this part)

OASIS-DB is  a CPAN for OCaml. It is developped by OCamlCore, with support from the OCaml enthusiasts at Jane Street.

More information about OASIS and more precisely about OASIS-DB.

Jul 15 2010

OASIS-DB: a CPAN for OCaml

Sylvain Le Gall | Information | 0 Comments

OCamlCore, with support from the OCaml enthusiasts at Jane Street, is working on creating OASIS-DB, a CPAN for OCaml. The goals of OASIS-DB are to reduce the paperwork required to release and update an OCaml package, and to provide integrated management of library dependencies.

OASIS logo

OASIS-DB is also intended to help packagers for a variety of systems, including Debian, Fedora, GODI and others, by:

  • providing consistent metadata: description, synopsis, build dependencies
  • displaying version number of packages in each distribution
  • displaying available patches

In addition, we hope to ease integration with GODI by publishing packages using an alternative GODI repository, when translation of the _oasis file with GODIVA is possible. It will also integrate with other indices of OCaml packages, like the OCaml LinkDB and the OCaml Hump.

The project is almost a pure OCaml project. It uses ocsigen for its website and processes _oasis file in an uploaded tarball to publish a package. The project is in fact a sub-project of the OASIS project and reuses user information provided for this tool.

We hope that this project will provide the OCaml community with a great tool to manage a growing number of small libraries. Don’t hesitate to comment on our technical specifications, if you think we’re missing something.

This project will cover what was named "bocage" and "OASIS self-contained" during the OASIS presentation at OCaml Meeting 2010.

More information

One year ago, OCamlCore has started a project to help creating a fully featured build system: OCamlAutobuild.

This system is designed to help upstream developers to standardize their build system around a few entry points that can be re-used by packaging system. It doesn’t create yet another build system but just provide a way to use one already existing — applying a standard to call it.

On Friday, 4th December 2009, OCamlCore was at the annual Caml Consortium meeting and gave a talk about OCamlAutobuild. Packaging issues was discussed before within the consortium and OCamlCore wanted to show the progress of its own project.

The conclusion of this presentation was:

  • Its name is too close to “automake”, which some people consider as old and full of black magic;
  • Will it really ease the work of packagers ?

The solution of the first point is to rename the project to “OASIS”. This is derived from the name of the central file used for OCamlAutobuild: _oasis.

The second point is more difficult to answer. We are planning to be able to produce GODIVA files by translating _oasis files. Using a plugin such as “StdFiles” we can meet the policy of GODIVA concerning upstream package (a script called configure, make all and make opt). However, GODIVA can only handle a subset of what GODI can process. This is a restriction but hopefully this will still help GODI maintainers.

Concerning cooperation with other packagers such as Debian and Fedora, I think we will only check that data from _oasis and from the packaging system are almost synchronized. For example, we will check that build depends in “debian/control” is enough to fulfill build depends in _oasis.

OASIS supports now OCamlbuild by default and is planning support for OCamlMakefile and OMake.

More informations:

OASIS Slides

OASIS OCaml forge project

OASIS Darcs repository

Related projects:

GODI

GODIVA, GODIVA policy

OCamlMakefile

OMake

 

OCamlCore joins the Caml Consortium. As professional user of OCaml and strong believer in functionnal programming, this was a natural move. The consortium will bring more visibility to our continuous action on the OCaml market. It also show the strong commitment of OCamlCore in OCaml. We hope that this will help INRIA team.

More information:

Caml Consortium on caml.inria.fr