From Fedora Project Wiki
(Created page with "<!-- All fields on this form are required to be accepted by FESCo. We also request that you maintain the same order of sections so that all of the feature pages are uniform. --...")
 
No edit summary
Line 7: Line 7:


== Summary ==
== Summary ==
Provides the Opa compiler, version 0.9.x
Provides the Opa compiler, version 0.9.x (beta).


== Owner ==
== Owner ==
Line 16: Line 16:
== Current status ==
== Current status ==
* Targeted release: [[Releases/17 | Fedora 17 ]]  
* Targeted release: [[Releases/17 | Fedora 17 ]]  
* Last updated: 2012-01-20
* Last updated: 2012-01-22
* Percentage of completion: 90%
* Percentage of completion: 90%


== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
Opa is a programming language that allows to build Web applications in a fast and secure way. This package allows to compile and run Opa programs under the terms of the Affero GPL licence.
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 Opa is available on the [http://opalang.org project page].
Extended documentation on the language Opa is available on the [http://opalang.org project page], including a feature tour, a reference manual and the programming APIs.


== Benefit to Fedora ==
== Benefit to Fedora ==
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
This will be the first package of Opa �in Fedora. Fedora users will be able to install and use Opa in much easier way.
 
This package makes the Opa platform easily available to Fedora users.


== Scope ==
== Scope ==
<!-- What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
The package is mostly ready. Our next steps:
 
* submit a first package version for testing (bugzilla ticket filled)
The package is almost ready for shipping. Our next steps can be listed as follows:
* find a sponsor
* submit a first package candidate of Opa for testing and validation (bugzilla ticket filled)
* fix packaging bugs
* find a Fedora sponsor
* pick a stable version among the Opa 0.9.x
* possibly fix packaging bugs
* choose and submit a stable package for Fedora 17 among the versions 0.9.x of Opa.


== How To Test ==
== How To Test ==


You may compile some programs from our documentation and run them.
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.
We carry extensive testing on the compiler every night. (Subset of test programs available on demand.)




Line 46: Line 47:
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->


This is a command line tool.
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.
 
Beginners in web programming should especially appreciate the simplicity to code and run web applications in a few lines of code.


== Dependencies ==
== Dependencies ==
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
TBC
 
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
<code>
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
</code>
 
* compiler and runtime libraries:
<code>
glibc, gdbm, openssl, zlib, libjpeg-turbo, libpng, giflib
ocaml, ocaml-camlp4, ocaml-ssl, ocaml-cryptokit, ocaml-ulex, ocaml-zip, ocaml-ocamlgraph
</code>


== Contingency Plan ==
== Contingency Plan ==
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
N.A.
 
We are not aware of other features depending on Opa (yet!).


== Documentation ==
== Documentation ==
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
* See [http://opalang.org the project page]
 
See [http://opalang.org the project page] for offline and online documentation.
 
The source code of the Opa platform (mostly in Ocaml) is available on [http://github/opalang github] under license AGPLv3.


== Release Notes ==
== Release Notes ==
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
TBC
 
* Fri Jan 13 2011 Rudy Sicard <package.maintainer@opalang.org>
- Initial Fedora package
 


== Comments and Discussion ==
== Comments and Discussion ==
* See [[Talk:Features/YourFeatureName]]  <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->
* See [[Talk:Features/Opa09]]  <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->
 
* As deadline for "feature submission" is very near, do not hesitate to send me a direct email if this page needs more work [mailto:mathieu.baudet@mlstate.com mathieu DOT baudet AT mlstate DOT com]


* The maintainer of this package is Rudy Sicard [mailto:package.maintainer@opalang.org package DOT maintainer AT opalang DOT org].


[[Category:FeaturePageIncomplete]]
[[Category:FeatureReadyForWrangler]]
<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Revision as of 23:33, 22 January 2012


Opa 0.9

Summary

Provides the Opa compiler, version 0.9.x (beta).

Owner

Current status

  • Targeted release: Fedora 17
  • Last updated: 2012-01-22
  • Percentage of completion: 90%

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:

  • submit a first package candidate of Opa for testing and validation (bugzilla ticket filled)
  • find a Fedora sponsor
  • 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.

Beginners in web programming should especially appreciate the simplicity to code and run web applications in a few lines of code.

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

  • Fri Jan 13 2011 Rudy Sicard <package.maintainer@opalang.org>

- Initial Fedora package


Comments and Discussion