Skip site navigation (1)Skip section navigation (2)
Date:      Tue,  1 Aug 2006 12:36:46 +0400 (MSD)
From:      Stanislav Sedov <ssedov@mbsd.msk.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/101147: [NEW PORT] devel/ocaml-camljava: An OCaml-Java library interface
Message-ID:  <20060801083646.1F11B120A1@fonon.realnet>
Resent-Message-ID: <200608010900.k7190Udk079177@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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@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@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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060801083646.1F11B120A1>