I'm sponsoring this fast track for Bill Yan. Requested release binding
is minor. Timer is set to 07/03/2008.
This case is to integrate two open source packages OCaml and LablGTK
into Solaris. These two packages are required to compile and generate
the binary of 'Unison'. Unison was discussed in PSARC case 2008/212.
Some background information from the submitter: original plan was to
deliver these two packages only to C-team to generate the Unison binary,
not to the end user. However, C-team requests these two packages be
integrated first before integrating the Unison package.
Frank.
Template Version: @(#)sac_nextcase 1.66 04/17/08 SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
1.1. Project/Component Working Name:
Objective Caml system and LablGTK
1.2. Name of Document Author/Supplier:
Author: Xue-Yang Yan
1.3. Date of This Document:
June 26, 2008
4. Technical Description
Summary
The intent of this case is to propose the integration of two open source
packages Objective Caml system and LablGTK to Solaris OS. Indiana
package
"Unison" requires them as the compiler and interface to GTK.
This project requests a minor binding.
4.1 Proposal
4.1.1 Objective Caml System Introduction
Caml is a general-purpose programming language [1], designed with
program
safety and reliability in mind. It is very expressive, yet easy to learn
and use. Caml supports functional, imperative, and object-oriented
programming styles. Objective Caml is the most popular variant of
the Caml
language. From a language standpoint, it extends the core Caml language
with a fully-fledged object-oriented layer, as well as a powerful module
system, all connected by a sound, polymorphic type system featuring type
inference.
The Objective Caml system is the main, industrial-strength
implementation
of the Caml language. It based on the Caml Light dialect extended with a
complete class-based object system and a powerful module system in the
style of Standard ML, featuring a high-performance native-code compiler
(ocamlopt) for 9 processor architectures (IA32, PowerPC, AMD64, Alpha,
Sparc, Mips, IA64, HPPA, StrongArm), as well as a bytecode compiler
(ocamlc) and an interactive read-eval-print loop (ocaml) for quick
development and portability. The Objective Caml distribution includes a
comprehensive standard library, a replay debugger (ocamldebug), lexer
(ocamllex) and parser (ocamlyacc) generators, a pre-processor
pretty-printer (camlp4) and a documentation generator (ocamldoc). [2]
4.1.2 LablGTK Introduction
LablGTK is an Objective Caml interface to gtk+ [3]. It uses the rich
type
system of Objective Caml 3 to provide a strongly typed, yet very
comfortable, object-oriented interface to gtk+.
4.2 Interfaces
4.2.1 Exported Interfaces
Exported Interface | Stability | Description
-----------------------------+-----------+-------------------------------
/usr/bin/camlp4 | Committed | OCaml pre-processor
| | pretty-printer
-----------------------------+-----------+-------------------------------
/usr/bin/camlp4boot | Committed | Shortcut for "camlp4" command
/usr/bin/camlp4o | Committed | with different syntaxs
/usr/bin/camlp4of | Committed | previously loaded
/usr/bin/camlp4oof | Committed |
/usr/bin/camlp4orf | Committed |
/usr/bin/camlp4prof | Committed |
/usr/bin/camlp4r | Committed |
/usr/bin/camlp4rf | Committed |
-----------------------------+-----------+-------------------------------
/usr/bin/gdk-pixbuf-mlsource | Committed | Image loading and
manipulation
-----------------------------+-----------+-------------------------------
/usr/bin/lablgladecc2 | Committed | Tool for extracting widget
| | definitions from glade
| | description
-----------------------------+-----------+-------------------------------
/usr/bin/lablgtk2 | Committed | LablGTK runtime environment
-----------------------------+-----------+-------------------------------
/usr/bin/labltk | Committed | Toplevel interface to the
| | Tcl/Tk toolkit
-----------------------------+-----------+-------------------------------
/usr/bin/mkcamlp4 | Committed | Creates camlp4 executables
-----------------------------+-----------+-------------------------------
/usr/bin/ocaml | Committed | OCaml interactive
| | read-eval-print loop
-----------------------------+-----------+-------------------------------
/usr/bin/ocamlbrowser | Committed | OCaml browser/editor
-----------------------------+-----------+-------------------------------
/usr/bin/ocamlbuild | Committed | OCaml project compilation
tool
/usr/bin/ocamlbuild.byte | Committed |
-----------------------------+-----------+-------------------------------
/usr/bin/ocamlc | Committed | OCaml bytecode compiler
-----------------------------+-----------+-------------------------------
/usr/bin/ocamlcp | Committed | OCaml profiling compiler
-----------------------------+-----------+-------------------------------
/usr/bin/ocamldebug | Committed | OCaml replay debugger
-----------------------------+-----------+-------------------------------
/usr/bin/ocamldep | Committed | OCaml dependency generator
-----------------------------+-----------+-------------------------------
/usr/bin/ocamldoc | Committed | OCaml documentation generator
-----------------------------+-----------+-------------------------------
/usr/bin/ocamllex | Committed | OCaml lexer generator
-----------------------------+-----------+-------------------------------
/usr/bin/ocamlmklib | Committed | generate libraries with mixed
| | C/Caml code
-----------------------------+-----------+-------------------------------
/usr/bin/ocamlmktop | Committed | Building custom toplevel
| | systems
-----------------------------+-----------+-------------------------------
/usr/bin/ocamlopt | Committed | OCaml native-code compiler
-----------------------------+-----------+-------------------------------
/usr/bin/ocamlprof | Committed | OCaml profiling tool
-----------------------------+-----------+-------------------------------
/usr/bin/ocamlrun | Committed | OCaml bytecode interpreter
-----------------------------+-----------+-------------------------------
/usr/bin/ocamlyacc | Committed | OCaml parser generator
-----------------------------+-----------+-------------------------------
/usr/lib/ocaml/* [4] | Committed | OCaml libraries
-----------------------------+-----------+-------------------------------
/usr/lib/ocaml/lablgtk2/* [4]| Committed | LablGTK libraries
-----------------------------+-----------+-------------------------------
SUNWocaml |Uncommitted| Package name for Objective
| | Caml system
-----------------------------+-----------+-------------------------------
SUNWlablgtk |Uncommitted| Package name for lablGTK
-------------------------------------------------------------------------
4.2.2 Documents delivered
/usr/share/man/man1/* [4]
4.2.3 Imported Interfaces
None.
4.3 References
[1] http://caml.inria.fr/
[2] See documentation and user's manual at
http://caml.inria.fr/download.en.html
[3] http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html
[4] See file "file_list.txt" in case directory for a complete list
of files
to be delivered to this directory
6. Resources and Schedule
6.4 Steering Committee Requested Information
6.4.1 Consolidation C-team Name: SFW
6.5 ARC review type: Fast Track
6.6 ARC exposure: Open