diff --git a/lang/ocaml/Makefile b/lang/ocaml/Makefile new file mode 100644 index 00000000000..4269f24e0fc --- /dev/null +++ b/lang/ocaml/Makefile @@ -0,0 +1,34 @@ +# OpenBSD makefile for: Objective Caml +# Version required: 1.07 +# Date created: December 12, 1997 +# Whom: Angelos D. Keromytis +# +# $OpenBSD: Makefile,v 1.1.1.1 1998/02/13 02:09:02 angelos Exp $ +# + +DISTNAME= ocaml-1.07 +CATEGORIES= lang +MASTER_SITES= ftp://ftp.kurims.kyoto-u.ac.jp/pub/lang/caml-light/ \ + ftp://ftp.inria.fr/lang/caml-light/ +DISTFILES= ${DISTNAME}.tar.gz ${DOCFILES} + +MAINTAINER= kiri@kiri.toba-cmt.ac.jp + +HAS_CONFIGURE= yes +USE_GMAKE= yes +ALL_TARGET= world bootstrap opt +MAN1= ocaml.1 ocamlc.1 ocamlcp.1 ocamldep.1 ocamllex.1 \ + ocamlopt.1 ocamlprof.1 ocamlrun.1 ocamlyacc.1 + +.if !defined(NOPORTDOCS) +DOCFILES= ${DISTNAME}-refman.html.tar.gz +.endif + +post-install: +.if !defined(NOPORTDOCS) + ${MKDIR} ${PREFIX}/share/doc/ocaml/html + cd ${WRKDIR}/htmlman; ${INSTALL_DATA} * ${PREFIX}/share/doc/ocaml/html +.endif + @strip ${PREFIX}/bin/ocamlrun ${PREFIX}/bin/ocamlyacc + +.include diff --git a/lang/ocaml/files/md5 b/lang/ocaml/files/md5 new file mode 100644 index 00000000000..c8e6cc4ab99 --- /dev/null +++ b/lang/ocaml/files/md5 @@ -0,0 +1,3 @@ +MD5 (ocaml-1.07-refman.html.tar.gz) = 045be9ae7ca6c19a34bc1912b4d7f272 +MD5 (ocaml-1.07.tar.gz) = c5bf08086a866b80f55a91a4468f20b7 + diff --git a/lang/ocaml/patches/patch-aa b/lang/ocaml/patches/patch-aa new file mode 100644 index 00000000000..3552d059beb --- /dev/null +++ b/lang/ocaml/patches/patch-aa @@ -0,0 +1,34 @@ +*** yacc/main.c.orig Thu Feb 12 20:55:43 1998 +--- yacc/main.c Thu Feb 12 20:57:50 1998 +*************** +*** 88,94 **** +--- 88,96 ---- + short **derives; + char *nullable; + ++ #if !defined(__OpenBSD__) + extern char *mktemp(char *); ++ #endif + extern char *getenv(const char *); + + +*************** +*** 282,291 **** +--- 284,300 ---- + union_file_name[len + 5] = 'u'; + + #ifndef NO_UNIX ++ #ifdef __OpenBSD__ ++ close(mkstemp(action_file_name)); ++ close(mkstemp(entry_file_name)); ++ close(mkstemp(text_file_name)); ++ close(mkstemp(union_file_name)); ++ #else + mktemp(action_file_name); + mktemp(entry_file_name); + mktemp(text_file_name); + mktemp(union_file_name); ++ #endif + #endif + + len = strlen(file_prefix); diff --git a/lang/ocaml/patches/patch-ab b/lang/ocaml/patches/patch-ab new file mode 100644 index 00000000000..e5497abd0d3 --- /dev/null +++ b/lang/ocaml/patches/patch-ab @@ -0,0 +1,15 @@ +*** configure.orig Thu Feb 12 20:59:17 1998 +--- configure Thu Feb 12 20:59:35 1998 +*************** +*** 125,134 **** + If you are using one of these configurations, you are strongly advised + to use another version of gcc, such as 2.7.2 or 2.7.2.2, which are + known to work well with Objective Caml. +- +- Press to proceed or to stop. + EOF +- read reply;; + esac;; + esac + +--- 125,131 ---- diff --git a/lang/ocaml/pkg/COMMENT b/lang/ocaml/pkg/COMMENT new file mode 100644 index 00000000000..5f266a73ed3 --- /dev/null +++ b/lang/ocaml/pkg/COMMENT @@ -0,0 +1 @@ +A ML language based on complete class-based objective system diff --git a/lang/ocaml/pkg/DESCR b/lang/ocaml/pkg/DESCR new file mode 100644 index 00000000000..df076b1020e --- /dev/null +++ b/lang/ocaml/pkg/DESCR @@ -0,0 +1,19 @@ +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 (better than +Standard ML of New Jersey 1.08 on our tests), while retaining the +moderate memory requirements of the bytecode compiler. The native-code +compiler currently runs on the following platforms: diff --git a/lang/ocaml/pkg/PLIST b/lang/ocaml/pkg/PLIST new file mode 100644 index 00000000000..4c4225a5312 --- /dev/null +++ b/lang/ocaml/pkg/PLIST @@ -0,0 +1,237 @@ +bin/ocaml +bin/ocamlc +bin/ocamlcp +bin/ocamldep +bin/ocamllex +bin/ocamlmktop +bin/ocamlopt +bin/ocamlprof +bin/ocamlrun +bin/ocamlyacc +lib/ocaml/arg.cmi +lib/ocaml/arg.cmx +lib/ocaml/arg.mli +lib/ocaml/arith_flags.cmx +lib/ocaml/arith_status.cmi +lib/ocaml/arith_status.cmx +lib/ocaml/array.cmi +lib/ocaml/array.cmx +lib/ocaml/array.mli +lib/ocaml/big_int.cmi +lib/ocaml/big_int.cmx +lib/ocaml/caml/alloc.h +lib/ocaml/caml/config.h +lib/ocaml/caml/memory.h +lib/ocaml/caml/misc.h +lib/ocaml/caml/mlvalues.h +lib/ocaml/camlheader +lib/ocaml/char.cmi +lib/ocaml/char.cmx +lib/ocaml/char.mli +lib/ocaml/dbm.a +lib/ocaml/dbm.cma +lib/ocaml/dbm.cmi +lib/ocaml/dbm.cmx +lib/ocaml/dbm.cmxa +lib/ocaml/digest.cmi +lib/ocaml/digest.cmx +lib/ocaml/digest.mli +lib/ocaml/dynlink.cma +lib/ocaml/dynlink.cmi +lib/ocaml/expunge +lib/ocaml/extract_crc +lib/ocaml/filename.cmi +lib/ocaml/filename.cmx +lib/ocaml/filename.mli +lib/ocaml/format.cmi +lib/ocaml/format.cmx +lib/ocaml/format.mli +lib/ocaml/gc.cmi +lib/ocaml/gc.cmx +lib/ocaml/gc.mli +lib/ocaml/genlex.cmi +lib/ocaml/genlex.cmx +lib/ocaml/genlex.mli +lib/ocaml/graphics.cma +lib/ocaml/graphics.cmi +lib/ocaml/hashtbl.cmi +lib/ocaml/hashtbl.cmx +lib/ocaml/hashtbl.mli +lib/ocaml/int_misc.cmx +lib/ocaml/lexing.cmi +lib/ocaml/lexing.cmx +lib/ocaml/lexing.mli +lib/ocaml/libasmrun.a +lib/ocaml/libcamlrun.a +lib/ocaml/libgraphics.a +lib/ocaml/libmldbm.a +lib/ocaml/libnums.a +lib/ocaml/libstr.a +lib/ocaml/libthreads.a +lib/ocaml/libunix.a +lib/ocaml/list.cmi +lib/ocaml/list.cmx +lib/ocaml/list.mli +lib/ocaml/map.cmi +lib/ocaml/map.cmx +lib/ocaml/map.mli +lib/ocaml/nat.cmi +lib/ocaml/nat.cmx +lib/ocaml/num.cmi +lib/ocaml/num.cmx +lib/ocaml/nums.a +lib/ocaml/nums.cma +lib/ocaml/nums.cmxa +lib/ocaml/obj.cmi +lib/ocaml/obj.cmx +lib/ocaml/obj.mli +lib/ocaml/oo.cmi +lib/ocaml/oo.cmx +lib/ocaml/oo.mli +lib/ocaml/parsing.cmi +lib/ocaml/parsing.cmx +lib/ocaml/parsing.mli +lib/ocaml/pervasives.cmi +lib/ocaml/pervasives.cmx +lib/ocaml/pervasives.mli +lib/ocaml/printexc.cmi +lib/ocaml/printexc.cmx +lib/ocaml/printexc.mli +lib/ocaml/printf.cmi +lib/ocaml/printf.cmx +lib/ocaml/printf.mli +lib/ocaml/profiling.cmi +lib/ocaml/profiling.cmo +lib/ocaml/queue.cmi +lib/ocaml/queue.cmx +lib/ocaml/queue.mli +lib/ocaml/random.cmi +lib/ocaml/random.cmx +lib/ocaml/random.mli +lib/ocaml/ratio.cmi +lib/ocaml/ratio.cmx +lib/ocaml/set.cmi +lib/ocaml/set.cmx +lib/ocaml/set.mli +lib/ocaml/sort.cmi +lib/ocaml/sort.cmx +lib/ocaml/sort.mli +lib/ocaml/stack.cmi +lib/ocaml/stack.cmx +lib/ocaml/stack.mli +lib/ocaml/std_exit.cmi +lib/ocaml/std_exit.cmo +lib/ocaml/std_exit.cmx +lib/ocaml/std_exit.o +lib/ocaml/stdlib.a +lib/ocaml/stdlib.cma +lib/ocaml/stdlib.cmxa +lib/ocaml/str.a +lib/ocaml/str.cma +lib/ocaml/str.cmi +lib/ocaml/str.cmx +lib/ocaml/str.cmxa +lib/ocaml/stream.cmi +lib/ocaml/stream.cmx +lib/ocaml/stream.mli +lib/ocaml/string.cmi +lib/ocaml/string.cmx +lib/ocaml/string.mli +lib/ocaml/string_misc.cmx +lib/ocaml/sys.cmi +lib/ocaml/sys.cmx +lib/ocaml/sys.mli +lib/ocaml/threads/condition.cmi +lib/ocaml/threads/event.cmi +lib/ocaml/threads/mutex.cmi +lib/ocaml/threads/stdlib.cma +lib/ocaml/threads/thread.cmi +lib/ocaml/threads/threadUnix.cmi +lib/ocaml/threads/threads.cma +lib/ocaml/topdirs.cmi +lib/ocaml/toplevellib.cma +lib/ocaml/toploop.cmi +lib/ocaml/topmain.cmo +lib/ocaml/unix.a +lib/ocaml/unix.cma +lib/ocaml/unix.cmi +lib/ocaml/unix.cmx +lib/ocaml/unix.cmxa +man/man1/ocaml.1 +man/man1/ocamlc.1 +man/man1/ocamlcp.1 +man/man1/ocamldep.1 +man/man1/ocamllex.1 +man/man1/ocamlopt.1 +man/man1/ocamlprof.1 +man/man1/ocamlrun.1 +man/man1/ocamlyacc.1 +share/doc/ocaml/html/contents_motif.gif +share/doc/ocaml/html/index.html +share/doc/ocaml/html/next_motif.gif +share/doc/ocaml/html/node1.html +share/doc/ocaml/html/node10.html +share/doc/ocaml/html/node11.html +share/doc/ocaml/html/node12.html +share/doc/ocaml/html/node13.html +share/doc/ocaml/html/node14.html +share/doc/ocaml/html/node15.html +share/doc/ocaml/html/node16.1.html +share/doc/ocaml/html/node16.10.html +share/doc/ocaml/html/node16.11.html +share/doc/ocaml/html/node16.12.html +share/doc/ocaml/html/node16.13.html +share/doc/ocaml/html/node16.14.html +share/doc/ocaml/html/node16.15.html +share/doc/ocaml/html/node16.16.html +share/doc/ocaml/html/node16.17.html +share/doc/ocaml/html/node16.18.html +share/doc/ocaml/html/node16.19.html +share/doc/ocaml/html/node16.2.html +share/doc/ocaml/html/node16.20.html +share/doc/ocaml/html/node16.21.html +share/doc/ocaml/html/node16.22.html +share/doc/ocaml/html/node16.23.html +share/doc/ocaml/html/node16.24.html +share/doc/ocaml/html/node16.25.html +share/doc/ocaml/html/node16.3.html +share/doc/ocaml/html/node16.4.html +share/doc/ocaml/html/node16.5.html +share/doc/ocaml/html/node16.6.html +share/doc/ocaml/html/node16.7.html +share/doc/ocaml/html/node16.8.html +share/doc/ocaml/html/node16.9.html +share/doc/ocaml/html/node16.html +share/doc/ocaml/html/node17.html +share/doc/ocaml/html/node18.html +share/doc/ocaml/html/node19.html +share/doc/ocaml/html/node2.html +share/doc/ocaml/html/node20.html +share/doc/ocaml/html/node21.html +share/doc/ocaml/html/node22.html +share/doc/ocaml/html/node3.html +share/doc/ocaml/html/node4.html +share/doc/ocaml/html/node5.1.html +share/doc/ocaml/html/node5.10.html +share/doc/ocaml/html/node5.11.html +share/doc/ocaml/html/node5.12.html +share/doc/ocaml/html/node5.13.html +share/doc/ocaml/html/node5.2.html +share/doc/ocaml/html/node5.3.html +share/doc/ocaml/html/node5.4.html +share/doc/ocaml/html/node5.5.html +share/doc/ocaml/html/node5.6.html +share/doc/ocaml/html/node5.7.html +share/doc/ocaml/html/node5.8.html +share/doc/ocaml/html/node5.9.html +share/doc/ocaml/html/node5.html +share/doc/ocaml/html/node6.html +share/doc/ocaml/html/node7.html +share/doc/ocaml/html/node8.html +share/doc/ocaml/html/node9.html +share/doc/ocaml/html/previous_motif.gif +@dirrm share/doc/ocaml/html +@dirrm share/doc/ocaml +@dirrm lib/ocaml/caml +@dirrm lib/ocaml/threads +@dirrm lib/ocaml