ports/101147: [NEW PORT] devel/ocaml-camljava: An OCaml-Java library interface
Stanislav Sedov
ssedov at mbsd.msk.ru
Tue Aug 1 09:00:42 UTC 2006
>Number: 101147
>Category: ports
>Synopsis: [NEW PORT] devel/ocaml-camljava: An OCaml-Java library interface
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Tue Aug 01 09:00:30 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Stanislav Sedov
>Release: FreeBSD 7.0-CURRENT i386
>Organization:
MBSD labs, Inc.
>Environment:
System: FreeBSD fonon.realnet 7.0-CURRENT FreeBSD 7.0-CURRENT #7: Sun Jun 18 20:51:36 MSD 2006
>Description:
This is a very preliminary release of CamlJava, an OCaml/Java
interface based on the following schema:
Caml/C interface JNI (Java Native Interface)
Caml <------------------> C <-----------------------------> Java
Currently, CamlJava provides a low-level, weakly-typed OCaml interface
very similar to the JNI. Java object references are mapped to an
abstract type, and various JNI-like operations are provided to allow
Java method invocation, field access, and more. A basic callback
facility (allowing Java code to invoke methods on Caml objects) is
also provided, although some stub Java code must be written by hand.
In the future, a higher-level, strongly-typed interface will be
provided, whereas Java classes are mapped directly to Caml classes.
This raises fairly delicate type mapping issues, though, so don't hold
your breath.
WWW: http://caml.inria.fr/
Note: this port depends heavily on ports/101100
>How-To-Repeat:
>Fix:
--- ocaml-camljava-0.3.shar begins here ---
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# ocaml-camljava
# ocaml-camljava/pkg-descr
# ocaml-camljava/Makefile
# ocaml-camljava/pkg-plist
# ocaml-camljava/distinfo
#
echo c - ocaml-camljava
mkdir -p ocaml-camljava > /dev/null 2>&1
echo x - ocaml-camljava/pkg-descr
sed 's/^X//' >ocaml-camljava/pkg-descr << 'END-of-ocaml-camljava/pkg-descr'
XThis is a very preliminary release of CamlJava, an OCaml/Java
Xinterface based on the following schema:
X
X Caml/C interface JNI (Java Native Interface)
X Caml <------------------> C <-----------------------------> Java
X
XCurrently, CamlJava provides a low-level, weakly-typed OCaml interface
Xvery similar to the JNI. Java object references are mapped to an
Xabstract type, and various JNI-like operations are provided to allow
XJava method invocation, field access, and more. A basic callback
Xfacility (allowing Java code to invoke methods on Caml objects) is
Xalso provided, although some stub Java code must be written by hand.
X
XIn the future, a higher-level, strongly-typed interface will be
Xprovided, whereas Java classes are mapped directly to Caml classes.
XThis raises fairly delicate type mapping issues, though, so don't hold
Xyour breath.
X
XWWW: http://caml.inria.fr/
END-of-ocaml-camljava/pkg-descr
echo x - ocaml-camljava/Makefile
sed 's/^X//' >ocaml-camljava/Makefile << 'END-of-ocaml-camljava/Makefile'
X# New ports collection makefile for: camljava
X# Date created: 2006-07-31
X# Whom: Stanislav Sedov <ssedov at mbsd.msk.ru>
X#
X# $MBSDlabs$
X# $FreeBSD$
X#
X
XPORTNAME= camljava
XPORTVERSION= 0.3
XCATEGORIES= devel java
XMASTER_SITES= http://caml.inria.fr/distrib/bazar-ocaml/
XPKGNAMEPREFIX= ocaml-
X
XMAINTAINER= ssedov at mbsd.msk.ru
XCOMMENT= An OCaml-Java library interface
X
XUSE_OCAML= yes
XUSE_JAVA= yes
XJAVA_VERSION= 1.4+
X
XMASTERPORT= ${PORTSDIR}/devel/ocaml-camlidl
X
X.include <bsd.port.pre.mk>
X.include "${MASTERPORT}/bsd.ocaml.mk"
X
Xpost-extract:
X @${REINPLACE_CMD} -e "s,^\(JAVAC=\).*,\1${JAVAC},g" \
X -e "s,^\(JDKHOME=\).*,\1${JAVA_HOME},g" \
X -e "s,include/linux,include/freebsd,g" \
X -e "s,^CFLAGS=.*,#\&,g" \
X -e "s,^\(CC=\).*,#\&,g" \
X -e "s,i386,${ARCH},g" \
X ${WRKSRC}/Makefile.config
X
X ${REINPLACE_CMD} \
X -e "s,^\(OCAMLLIB=\).*,\1${PREFIX}/lib/ocaml,g" \
X -e "/^install/,/^$$/s,\([ \t]*\)cp,\1${INSTALL_DATA},g" \
X ${WRKSRC}/lib/Makefile
X
Xpre-install:
X.if !exists(${PREFIX}/lib/ocaml)
X ${MKDIR} ${PREFIX}/lib/ocaml
X @${ECHO_CMD} "@dirrm lib/ocaml" >> ${TMPPLIST}
X.endif
X
Xtest:
X @${ECHO_CMD} "Testing IDL library"
X cd ${WRKSRC}/test && ${SETENV} ${MAKE_ENV} ${MAKE} all
X
X.include <bsd.port.post.mk>
END-of-ocaml-camljava/Makefile
echo x - ocaml-camljava/pkg-plist
sed 's/^X//' >ocaml-camljava/pkg-plist << 'END-of-ocaml-camljava/pkg-plist'
Xlib/ocaml/camljava/jni.cma
Xlib/ocaml/camljava/jni.cmi
Xlib/ocaml/camljava/jni.cmxa
Xlib/ocaml/camljava/jni.a
Xlib/ocaml/camljava/libcamljni.a
Xlib/ocaml/camljava/jni.mli
Xlib/ocaml/camljava/camljava.jar
X at dirrm lib/ocaml/camljava
END-of-ocaml-camljava/pkg-plist
echo x - ocaml-camljava/distinfo
sed 's/^X//' >ocaml-camljava/distinfo << 'END-of-ocaml-camljava/distinfo'
XMD5 (camljava-0.3.tar.gz) = 7e119bbb1cdea6bba327bd9cceb6751c
XSHA256 (camljava-0.3.tar.gz) = d0652df5d5f4ccbbedd31a32583976fbe281bc581654784cc2618fde02c711c4
XSIZE (camljava-0.3.tar.gz) = 16049
END-of-ocaml-camljava/distinfo
exit
--- ocaml-camljava-0.3.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list