Convert ocaml to working recipe

It's only had minor testing with 'unison' which works fine aside
from some minor locking issues.
This commit is contained in:
Chris Roberts
2013-10-30 23:10:39 -06:00
parent cc26decc0d
commit 09dc223926
2 changed files with 103 additions and 25 deletions

View File

@@ -1,25 +1,92 @@
DESCRIPTION="Implementation of the Caml language"
SUMMARY="Implementation of the Caml language"
DESCRIPTION="
Caml is a general-purpose programming language, 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. It has been developed and
distributed by INRIA, a French research institute in computer science
and applied mathematics, since 1985.
The OCaml system is the main implementation of the Caml language. It
features a powerful module system and a full-fledged object-oriented
layer. It comes with a native-code compiler that supports numerous
architectures, for high performance; a bytecode compiler, for
increased portability; and an interactive loop, for experimentation
and rapid development."
LICENSE="GNU LGPL v2"
COPYRIGHT="1996-2012 Institut National de Recherche en Informatique et en Automatique (INRIA)."
HOMEPAGE="http://caml.inria.fr/index.en.html"
SRC_URI="http://caml.inria.fr/pub/distrib/ocaml-4.00/ocaml-4.00.0.tar.gz"
CHECKSUM_MD5="fa11560a45793bd9fa45c1295a6f4a91"
REVISION="1"
STATUS_HAIKU="untested"
DEPEND=""
ARCHITECTURES="?x86 ?x86_gcc2"
SOURCE_DIR="ocaml-4.00.0"
PROVIDES="
ocaml = $portVersion compat >= 4
cmd:camlp4 = $portVersion compat >= 4
cmd:camlp4boot = $portVersion compat >= 4
cmd:camlp4o = $portVersion compat >= 4
cmd:camlp4o.opt = $portVersion compat >= 4
cmd:camlp4of = $portVersion compat >= 4
cmd:camlp4of.opt = $portVersion compat >= 4
cmd:camlp4oof = $portVersion compat >= 4
cmd:camlp4oof.opt = $portVersion compat >= 4
cmd:camlp4orf = $portVersion compat >= 4
cmd:camlp4orf.opt = $portVersion compat >= 4
cmd:camlp4prof = $portVersion compat >= 4
cmd:camlp4r = $portVersion compat >= 4
cmd:camlp4r.opt = $portVersion compat >= 4
cmd:camlp4rf = $portVersion compat >= 4
cmd:camlp4rf.opt = $portVersion compat >= 4
cmd:mkcamlp4 = $portVersion compat >= 4
cmd:ocaml = $portVersion compat >= 4
cmd:ocamlbuild = $portVersion compat >= 4
cmd:ocamlbuild.byte = $portVersion compat >= 4
cmd:ocamlbuild.native = $portVersion compat >= 4
cmd:ocamlc = $portVersion compat >= 4
cmd:ocamlc.opt = $portVersion compat >= 4
cmd:ocamlcp = $portVersion compat >= 4
cmd:ocamldebug = $portVersion compat >= 4
cmd:ocamldep = $portVersion compat >= 4
cmd:ocamldep.opt = $portVersion compat >= 4
cmd:ocamldoc = $portVersion compat >= 4
cmd:ocamldoc.opt = $portVersion compat >= 4
cmd:ocamllex = $portVersion compat >= 4
cmd:ocamllex.opt = $portVersion compat >= 4
cmd:ocamlmklib = $portVersion compat >= 4
cmd:ocamlmktop = $portVersion compat >= 4
cmd:ocamlobjinfo = $portVersion compat >= 4
cmd:ocamlopt = $portVersion compat >= 4
cmd:ocamlopt.opt = $portVersion compat >= 4
cmd:ocamloptp = $portVersion compat >= 4
cmd:ocamlprof = $portVersion compat >= 4
cmd:ocamlrun = $portVersion compat >= 4
cmd:ocamlyacc = $portVersion compat >= 4
"
REQUIRES="
haiku >= $haikuVersion
cmd:gcc
"
BUILD_PREREQUIRES="
haiku_devel >= $haikuVersion
cmd:make
cmd:gcc
"
PATCHES="ocaml-4.00.0.patchset"
BUILD()
{
cd ocaml-4.00.0
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
./configure --prefix `finddir B_COMMON_DIRECTORY` \
--mandir $COMMON_DOCS/man
./configure --prefix $prefix \
--mandir $manDir
make world.opt
}
INSTALL()
{
cd ocaml-4.00.0
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
make install PREFIX=${DESTDIR}`finddir B_COMMON_DIRECTORY` \
MANDIR=${DESTDIR}$COMMON_DOCS/man
make install
}
LICENSE="GNU LGPL v2"
COPYRIGHT="1996-2012 Institut National de Recherche en Informatique et en Automatique (INRIA)."

View File

@@ -1,7 +1,14 @@
diff -ruN ocaml-4.00.0/configure ocaml-4.00.0/configure
--- ocaml-4.00.0/configure 2012-06-26 15:33:50.060555264 +0000
+++ ocaml-4.00.0/configure 2012-09-25 21:21:50.419168256 +0000
@@ -285,6 +285,10 @@
From 392fc2240718d68c1e0ce62cc11c1e894ba2cd95 Mon Sep 17 00:00:00 2001
From: Chris Roberts <cpr420@gmail.com>
Date: Wed, 30 Oct 2013 21:35:40 -0600
Subject: import old patch
diff --git a/configure b/configure
index e08bbce..a39e9e4 100755
--- a/configure
+++ b/configure
@@ -285,6 +285,10 @@ case "$bytecc,$host" in
bytecccompopts="-fno-defer-pop $gcc_warnings"
# No -lm library
mathlib="";;
@@ -12,7 +19,7 @@ diff -ruN ocaml-4.00.0/configure ocaml-4.00.0/configure
gcc,alpha*-*-osf*)
bytecccompopts="-fno-defer-pop $gcc_warnings"
if cc="$bytecc" sh ./hasgot -mieee; then
@@ -614,6 +618,9 @@
@@ -614,6 +618,9 @@ if test $withsharedlibs = "yes"; then
byteccrpath="-Wl,-rpath,"
mksharedlibrpath="-Wl,-rpath,"
shared_libraries_supported=true;;
@@ -22,15 +29,15 @@ diff -ruN ocaml-4.00.0/configure ocaml-4.00.0/configure
esac
fi
@@ -679,6 +686,7 @@
@@ -679,6 +686,7 @@ case "$host" in
arch=i386; system=solaris
fi;;
i[3456]86-*-beos*) arch=i386; system=beos;;
+ i[3456]86-*-haiku*) arch=i386; system=beos;;
i[3456]86-*-cygwin*) arch=i386; system=cygwin;;
i[3456]86-*-darwin*) if $arch64; then
arch=amd64; system=macosx
@@ -901,6 +909,11 @@
arch=amd64; system=macosx
@@ -901,6 +909,11 @@ elif sh ./hasgot -lnsl -lsocket socket socketpair bind listen accept connect; th
cclibs="$cclibs -lnsl -lsocket"
echo "#define HAS_SOCKETS" >> s.h
has_sockets=yes
@@ -42,10 +49,11 @@ diff -ruN ocaml-4.00.0/configure ocaml-4.00.0/configure
fi
if sh ./hasgot -i sys/socket.h -t socklen_t; then
diff -uN ocaml-4.00.0/otherlibs/unix/nice.c ocaml-4.00.0/otherlibs/unix/nice.c
--- ocaml-4.00.0/otherlibs/unix/nice.c 2012-09-25 21:31:10.443809792 +0000
+++ ocaml-4.00.0/otherlibs/unix/nice.c 2012-09-25 21:31:51.582221824 +0000
@@ -24,7 +24,11 @@
diff --git a/otherlibs/unix/nice.c b/otherlibs/unix/nice.c
index 400543c..94aa025 100644
--- a/otherlibs/unix/nice.c
+++ b/otherlibs/unix/nice.c
@@ -24,7 +24,11 @@ CAMLprim value unix_nice(value incr)
{
int ret;
errno = 0;
@@ -57,3 +65,6 @@ diff -uN ocaml-4.00.0/otherlibs/unix/nice.c ocaml-4.00.0/otherlibs/unix/nice.c
if (ret == -1 && errno != 0) uerror("nice", Nothing);
return Val_int(ret);
}
--
1.8.3.4