BSD Ports

lang/ocaml 4.05.0_1 MidnightBSD

Objective Caml compiler and programming environment

System
MidnightBSD
Repository
mports
Maintainer
[email protected]
Last update
Commit
c92ebc2bbc
License
QPL10, lgpl
Categories
lang

Description

Objective Caml is an implementation of the ML language, 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.

Objective Caml comprises two compilers. One generates bytecode which is then interpreted by a C program. This compiler runs quickly, generates compact code with moderate memory requirements, and is portable to essentially any 32 or 64 bit Unix platform. Performance of generated programs is quite good for a bytecoded implementation: almost twice as fast as Caml Light 0.7. This compiler can be used either as a standalone, batch-oriented compiler that produces standalone programs, or as an interactive, toplevel-based system.

The other compiler generates high-performance native code for a number of processors. Compilation takes longer and generates bigger code, but the generated programs deliver excellent performance, while retaining the moderate memory requirements of the bytecode compiler.

In the other systems

SystemPortVersion
MidnightBSDlang/ocaml4.05.0_1
FreeBSDlang/ocaml4.14.2
OpenBSDlang/ocaml4.14.2
NetBSDlang/ocaml4.14.3
DragonFlylang/ocaml4.14.2
HardenedBSDlang/ocaml4.14.2
GhostBSDlang/ocaml4.14.2

Install

Binary package:

mport install ocaml${SFX}

From mports:

cd /usr/mports/lang/ocaml && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	ocaml${SFX}>0:lang/ocaml

Dependencies

As this port's Makefile names them.

Build 1

Runtime 1

Build dependencies 1
Run dependencies 1

No port depends on this one.

Configuration

Options name: lang_ocaml

OptionDefaultDescription
DOCSoff
EXAMPLESoff
THREADSon
X11on
USES
cpe compiler:c11 gmake tar:xz
Service scripts
none
Conflicts with
metaocaml-[0-9]*

Files

Manual pages 173
  • Arg(3)
  • Array(3)
  • ArrayLabels(3)
  • Ast_helper(3)
  • Ast_helper.Cf(3)
  • Ast_helper.Ci(3)
  • Ast_helper.Cl(3)
  • Ast_helper.Const(3)
  • Ast_helper.Csig(3)
  • Ast_helper.Cstr(3)
  • Ast_helper.Ctf(3)
  • Ast_helper.Cty(3)
  • Ast_helper.Exp(3)
  • Ast_helper.Incl(3)
  • Ast_helper.Mb(3)
  • Ast_helper.Md(3)
  • Ast_helper.Mod(3)
  • Ast_helper.Mtd(3)
  • Ast_helper.Mty(3)
  • Ast_helper.Opn(3)
  • Ast_helper.Pat(3)
  • Ast_helper.Sig(3)
  • Ast_helper.Str(3)
  • Ast_helper.Te(3)
  • Ast_helper.Typ(3)
  • Ast_helper.Type(3)
  • Ast_helper.Val(3)
  • Ast_helper.Vb(3)
  • Ast_invariants(3)
  • Ast_iterator(3)
  • Ast_mapper(3)
  • Asttypes(3)
  • Attr_helper(3)
  • Bigarray(3)
  • Bigarray.Array0(3)
  • Bigarray.Array1(3)
  • Bigarray.Array2(3)
  • Bigarray.Array3(3)
  • Bigarray.Genarray(3)
  • Buffer(3)
  • Builtin_attributes(3)
  • Bytes(3)
  • BytesLabels(3)
  • Callback(3)
  • CamlinternalFormat(3)
  • CamlinternalFormatBasics(3)
  • CamlinternalLazy(3)
  • CamlinternalMod(3)
  • CamlinternalOO(3)
  • Char(3)
  • Complex(3)
  • Depend(3)
  • Depend.StringMap(3)
  • Depend.StringSet(3)
  • Digest(3)
  • Docstrings(3)
  • Ephemeron(3)
  • Ephemeron.GenHashTable(3)
  • Ephemeron.GenHashTable.MakeSeeded(3)
  • Ephemeron.K1(3)
  • Ephemeron.K1.Make(3)
  • Ephemeron.K1.MakeSeeded(3)
  • Ephemeron.K2(3)
  • Ephemeron.K2.Make(3)
  • Ephemeron.K2.MakeSeeded(3)
  • Ephemeron.Kn(3)
  • Ephemeron.Kn.Make(3)
  • Ephemeron.Kn.MakeSeeded(3)
  • Ephemeron.S(3)
  • Ephemeron.SeededS(3)
  • Filename(3)
  • Format(3)
  • Gc(3)
  • Genlex(3)
  • Hashtbl(3)
  • Hashtbl.HashedType(3)
  • Hashtbl.Make(3)
  • Hashtbl.MakeSeeded(3)
  • Hashtbl.S(3)
  • Hashtbl.SeededHashedType(3)
  • Hashtbl.SeededS(3)
  • Int32(3)
  • Int64(3)
  • Lazy(3)
  • Lexer(3)
  • Lexing(3)
  • List(3)
  • ListLabels(3)
  • Location(3)
  • Longident(3)
  • Map(3)
  • Map.Make(3)
  • Map.OrderedType(3)
  • Map.S(3)
  • Marshal(3)
  • MoreLabels(3)
  • MoreLabels.Hashtbl(3)
  • MoreLabels.Hashtbl.HashedType(3)
  • MoreLabels.Hashtbl.Make(3)
  • MoreLabels.Hashtbl.MakeSeeded(3)
  • MoreLabels.Hashtbl.S(3)
  • MoreLabels.Hashtbl.SeededHashedType(3)
  • MoreLabels.Hashtbl.SeededS(3)
  • MoreLabels.Map(3)
  • MoreLabels.Map.Make(3)
  • MoreLabels.Map.OrderedType(3)
  • MoreLabels.Map.S(3)
  • MoreLabels.Set(3)
  • MoreLabels.Set.Make(3)
  • MoreLabels.Set.OrderedType(3)
  • MoreLabels.Set.S(3)
  • Nativeint(3)
  • Num(3)
  • Obj(3)
  • Obj.Ephemeron(3)
  • Oo(3)
  • Parse(3)
  • Parser(3)
  • Parsetree(3)
  • Parsing(3)
  • Pervasives(3)
  • Pervasives.LargeFile(3)
  • Pprintast(3)
  • Printast(3)
  • Printexc(3)
  • Printexc.Slot(3)
  • Printf(3)
  • Queue(3)
  • Random(3)
  • Random.State(3)
  • Scanf(3)
  • Scanf.Scanning(3)
  • Set(3)
  • Set.Make(3)
  • Set.OrderedType(3)
  • Set.S(3)
  • Sort(3)
  • Spacetime(3)
  • Spacetime.Series(3)
  • Spacetime.Snapshot(3)
  • Stack(3)
  • StdLabels(3)
  • StdLabels.Array(3)
  • StdLabels.Bytes(3)
  • StdLabels.List(3)
  • StdLabels.String(3)
  • Str(3)
  • Stream(3)
  • String(3)
  • StringLabels(3)
  • Syntaxerr(3)
  • Sys(3)
  • Uchar(3)
  • Unix(3)
  • Unix.LargeFile(3)
  • Weak(3)
  • Weak.Make(3)
  • Weak.S(3)
  • ocaml(1)
  • ocamlc(1)
  • ocamlc.opt(1)
  • ocamlcp(1)
  • ocamldebug(1)
  • ocamldep(1)
  • ocamldoc(1)
  • ocamllex(1)
  • ocamlmktop(1)
  • ocamlopt(1)
  • ocamlopt.opt(1)
  • ocamloptp(1)
  • ocamlprof(1)
  • ocamlrun(1)
  • ocamlyacc(1)
pkg-plist 2000
  • man/man1/ocamlyacc.1.gz
  • man/man1/ocamldoc.1.gz
  • man/man1/ocamloptp.1.gz
  • man/man1/ocamldep.1.gz
  • man/man1/ocaml.1.gz
  • man/man1/ocamlprof.1.gz
  • man/man1/ocamlc.opt.1.gz
  • man/man1/ocamlopt.1.gz
  • man/man1/ocamlmktop.1.gz
  • man/man1/ocamlc.1.gz
  • man/man1/ocamllex.1.gz
  • man/man1/ocamldebug.1.gz
  • man/man1/ocamlcp.1.gz
  • man/man1/ocamlrun.1.gz
  • man/man1/ocamlopt.opt.1.gz
  • man/man3/Arg.3o.gz
  • man/man3/Hashtbl.Make.3o.gz
  • man/man3/MoreLabels.Set.Make.3o.gz
  • man/man3/Ast_helper.Typ.3o.gz
  • man/man3/Ephemeron.Kn.3o.gz
  • man/man3/Bigarray.Array0.3o.gz
  • man/man3/Ast_helper.Cty.3o.gz
  • man/man3/Int64.3o.gz
  • man/man3/Ephemeron.SeededS.3o.gz
  • man/man3/MoreLabels.Hashtbl.Make.3o.gz
  • man/man3/Attr_helper.3o.gz
  • man/man3/MoreLabels.Hashtbl.SeededHashedType.3o.gz
  • man/man3/Spacetime.3o.gz
  • man/man3/Gc.3o.gz
  • man/man3/StdLabels.String.3o.gz
  • man/man3/Filename.3o.gz
  • man/man3/Builtin_attributes.3o.gz
  • man/man3/Ast_helper.Cf.3o.gz
  • man/man3/String.3o.gz
  • man/man3/Ephemeron.K1.Make.3o.gz
  • man/man3/Map.3o.gz
  • man/man3/StringLabels.3o.gz
  • man/man3/Bigarray.Array1.3o.gz
  • man/man3/CamlinternalMod.3o.gz
  • man/man3/StdLabels.Array.3o.gz
  • man/man3/Set.3o.gz
  • man/man3/Ephemeron.K1.3o.gz
  • man/man3/MoreLabels.3o.gz
  • man/man3/Depend.StringSet.3o.gz
  • man/man3/Depend.StringMap.3o.gz
  • man/man3/CamlinternalOO.3o.gz
  • man/man3/MoreLabels.Map.3o.gz
  • man/man3/Weak.3o.gz
  • man/man3/Scanf.3o.gz
  • man/man3/MoreLabels.Set.3o.gz
  • man/man3/Ast_helper.Opn.3o.gz
  • man/man3/Bytes.3o.gz
  • man/man3/Ephemeron.K2.3o.gz
  • man/man3/Ast_mapper.3o.gz
  • man/man3/Bigarray.Array2.3o.gz
  • man/man3/Ast_helper.Csig.3o.gz
  • man/man3/Ast_helper.Ci.3o.gz
  • man/man3/ArrayLabels.3o.gz
  • man/man3/CamlinternalLazy.3o.gz
  • man/man3/Obj.3o.gz
  • man/man3/Bigarray.3o.gz
  • man/man3/Buffer.3o.gz
  • man/man3/Int32.3o.gz
  • man/man3/MoreLabels.Hashtbl.3o.gz
  • man/man3/Lexing.3o.gz
  • man/man3/Printexc.Slot.3o.gz
  • man/man3/Ephemeron.K1.MakeSeeded.3o.gz
  • man/man3/Unix.3o.gz
  • man/man3/Ast_helper.Te.3o.gz
  • man/man3/MoreLabels.Map.Make.3o.gz
  • man/man3/MoreLabels.Map.OrderedType.3o.gz
  • man/man3/Ephemeron.Kn.MakeSeeded.3o.gz
  • man/man3/Nativeint.3o.gz
  • man/man3/Uchar.3o.gz
  • man/man3/Ast_helper.Mb.3o.gz
  • man/man3/ListLabels.3o.gz
  • man/man3/Ast_helper.Type.3o.gz
  • man/man3/Complex.3o.gz
  • man/man3/Bigarray.Array3.3o.gz
  • man/man3/MoreLabels.Hashtbl.SeededS.3o.gz
  • man/man3/Hashtbl.3o.gz
  • man/man3/Pervasives.LargeFile.3o.gz
  • man/man3/CamlinternalFormat.3o.gz
  • man/man3/Ephemeron.K2.MakeSeeded.3o.gz
  • man/man3/Printexc.3o.gz
  • man/man3/Ast_helper.Val.3o.gz
  • man/man3/Stack.3o.gz
  • man/man3/Hashtbl.SeededHashedType.3o.gz
  • man/man3/Set.OrderedType.3o.gz
  • man/man3/Ast_helper.Mtd.3o.gz
  • man/man3/Obj.Ephemeron.3o.gz
  • man/man3/Printast.3o.gz
  • man/man3/Ast_helper.Sig.3o.gz
  • man/man3/Scanf.Scanning.3o.gz
  • man/man3/BytesLabels.3o.gz
  • man/man3/Asttypes.3o.gz
  • man/man3/Oo.3o.gz
  • man/man3/Map.S.3o.gz
  • man/man3/Random.State.3o.gz
  • man/man3/Syntaxerr.3o.gz

The first 100 are listed.

distinfo 4
FileSizeSHA256
ocaml-4.05.0.tar.xz2.442036e+0604a527ba14b4d7d1b2ea7b2ae21aefecfa8d304399db94f35a96df1459e02ef9
ocaml-4.05-refman-html.tar.gz8822872524723648dbbc34b42cbe2fe06822b79837299429d26ff037169b568888cd9c
ocaml-4.05-refman.ps.gz1.221553e+061540f86028a9460313b5ab3e0544e280052577d5dc4966f80647e1f49c5ab8df
ocaml-4.05-refman.pdf1.741857e+063d3a82a676668ccf66fa6d88f46a2496c89b1488ee6098585a6b7f22a9171eef
Master sites 3
  • http://caml.inria.fr/pub/distrib/${DISTNAME:R}/
  • GENTOO
  • http://caml.inria.fr/pub/distrib/${DISTNAME:R}/:docs

Commit history 3

DateCommitCreditsLog message
c92ebc2bbc Lucas Holt lang/ocaml: fix the packing list for the nox11 flavor and drop duplicate docs
Two independent packing list bugs. The X11 option already drives PLIST_SUB (X11="" / "@comment ") and passes -no-graph when it is off, but none of the graphics entries carried the %%X11%% marker, so ocaml-nox11 demanded 14 files its own build never produces: lib/ocaml/graphics.cma not installed. lib/ocaml/libgraphics.a not installed. ... Fake failed. Separately, the documentation was listed twice. pkg-plist named all 491 %%DOCSDIR%% files by hand while PORTDOCS already installs htmlman and the two reference manuals, so add-plist-docs appended the same files again as absolute paths. Each doc file appeared once as "share/doc/ocaml/htmlman/libnum.html" and once as "/usr/local/share/doc/ocaml/htmlman/libnum.html", and installing the package failed on the second copy: …
4f9e4a9bc0 Lucas Holt lang/ocaml: use actual documentation filename
AI-Assisted-by: OpenAI Codex <[email protected]> Signed-off-by: Lucas Holt <[email protected]>
83c0911e47 Lucas Holt lang/ocaml: keep doc directory entries at plist end
Remove duplicate early DOCSDIR directory entries so package extraction creates documentation files before preserving the empty directory entries at the end of the plist. AI-Assisted-by: Codex <[email protected]> Signed-off-by: Lucas Holt <[email protected]>