Opa 0.9
Summary
Provides the Opa compiler, version 0.9.x (beta).
Owner
- Name: Mathieu Baudet
- Wiki page: [1]
- Email: mathieu DOT baudet AT mlstate DOT com
Current status
- Targeted release: Fedora 17
- Last updated: 2012-02-06
- Percentage of completion: 90%
- The software is ready, the Opa package only needs to be officially reviewed and approved.
- The current .rpm file is available at http://download.opalang.org/fedora-package-candidate/opa-0.9.0-1.fc17.x86_64.rpm (see also the bugzilla ticket: https://bugzilla.redhat.com/show_bug.cgi?id=786860)
- Package maintainer Rudy Sicard has found a sponsor ( Steven Dake). As part of the process to join the packager group, Rudy is now asked to review some other packages.
Detailed Description
Opa is a unified programming language designed to build rich Web applications in an agile and secure way. This package allows one to compile Opa programs into self-contained executable binaries. It is provided under the terms of the Affero-GPL licence v3.
Extended documentation on the language Opa is available on the project page, including a feature tour, a reference manual and the programming APIs.
Benefit to Fedora
This package makes the Opa platform easily available to Fedora users.
Scope
The package is almost ready for shipping. Our next steps can be listed as follows:
- have the .rpm file officially reviewed and approved
- possibly fix packaging bugs
- choose and submit a stable package for Fedora 17 among the versions 0.9.x of Opa.
How To Test
We carry extensive testing on the compiler every night and additional functional tests to prepare stable releases. Our testing platform is not available (yet) in opensource. Yet, building the library and compiling example programs from the documentation should provide a good testing coverage.
User Experience
The Opa compiler is available as a standard command-line tool. Emacs and vim mode are included in the package. We currently seek community support for our Eclipse plugin.
Users should appreciate the ability to create and run web applications in a few lines of code. See for instance our Hello world:
Server.start(Server.http, { page: function() { <h1> Hello </h1> }, title: "Hello" })
to be compiled with opa --parser js-like hello.opa
, then run by ./hello.exe -p 8080
.
Dependencies
This package does not depend on the completion of other packages (anymore).
Dependencies (as currently specified in the .spec file) are as follows:
- source build
chrpath, glibc, gdbm, openssl, zlib, libjpeg-turbo, libpng, giflib
ocaml, ocaml-camlp4, ocaml-findlib
ocaml-ssl-devel
ocaml-cryptokit-devel
ocaml-ulex-devel, ocaml-zip-devel, ocaml-ocamlgraph-devel
java-1.7.0-openjdk
- compiler and runtime libraries:
glibc, gdbm, openssl, zlib, libjpeg-turbo, libpng, giflib
ocaml, ocaml-camlp4, ocaml-ssl, ocaml-cryptokit, ocaml-ulex, ocaml-zip, ocaml-ocamlgraph
Contingency Plan
We are not aware of other features depending on Opa (yet!).
Documentation
See the project page for offline and online documentation.
The source code of the Opa platform (mostly in Ocaml) is available on github under license AGPLv3.
Release Notes
The Fedora package will be based on the latest minor release of Opa 0.9. (nickname "S4").
Currently, the latest minor release is Opa 0.9.1
Detailed changelogs are available here: http://opalang.org/resources/changelog.txt
Comments and Discussion
- Do not hesitate to send me a direct email if you have questions mathieu DOT baudet AT mlstate DOT com
- The (candidate) maintainer of this package is Rudy Sicard.