aboutsummaryrefslogtreecommitdiff
path: root/lang/ocaml-camlidl
diff options
context:
space:
mode:
authorIon-Mihai Tetcu <itetcu@FreeBSD.org>2006-09-04 15:27:12 +0000
committerIon-Mihai Tetcu <itetcu@FreeBSD.org>2006-09-04 15:27:12 +0000
commite2a0ea5e8239d5f1a6368b1d51b839cb22aa84ae (patch)
tree8475b11f95438f02549087fefe7ad391da917f0b /lang/ocaml-camlidl
parent862eeafdf9356c5b3a8a2231d7e5714a11c6fc9e (diff)
downloadports-e2a0ea5e8239d5f1a6368b1d51b839cb22aa84ae.tar.gz
ports-e2a0ea5e8239d5f1a6368b1d51b839cb22aa84ae.zip
CamlIDL is a stub code generator and COM binding for Objective Caml.
CamlIDL comprises two parts: * A stub code generator that generates the C stub code required for the Caml/C interface, based on an MIDL specification. (MIDL stands for Microsoft's Interface Description Language; it looks like C header files with some extras annotations, plus a notion of object interfaces that look like C++ classess without inheritance.) * A (currently small) library of functions and tools to import COM components in Caml applications, and export Caml code as COM components. WWW: http://caml.inria.fr/pub/old_caml_site/camlidl/ PR: ports/101100 Submitted by: Stanislav Sedov <ssedov at mbsd.msk.ru>
Notes
Notes: svn path=/head/; revision=172189
Diffstat (limited to 'lang/ocaml-camlidl')
-rw-r--r--lang/ocaml-camlidl/Makefile66
-rw-r--r--lang/ocaml-camlidl/distinfo6
-rw-r--r--lang/ocaml-camlidl/pkg-descr14
-rw-r--r--lang/ocaml-camlidl/pkg-plist24
4 files changed, 110 insertions, 0 deletions
diff --git a/lang/ocaml-camlidl/Makefile b/lang/ocaml-camlidl/Makefile
new file mode 100644
index 000000000000..898d973b0cc6
--- /dev/null
+++ b/lang/ocaml-camlidl/Makefile
@@ -0,0 +1,66 @@
+# New ports collection makefile for: camlidl
+# Date created: 2006-07-31
+# Whom: Stanislav Sedov <ssedov@mbsd.msk.ru>
+#
+# $MBSDlabs$
+# $FreeBSD$
+#
+
+PORTNAME= camlidl
+PORTVERSION= 1.05
+CATEGORIES= lang
+MASTER_SITES= http://caml.inria.fr/distrib/bazar-ocaml/
+PKGNAMEPREFIX= ocaml-
+DISTFILES= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} \
+ ${PORTNAME}-${PORTVERSION}.doc.html.tar.gz
+EXTRACT_ONLY= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX}
+
+MAINTAINER= ssedov@mbsd.msk.ru
+COMMENT= A stub code generator for using C/C++ libraries from ocaml
+
+USE_OCAML= yes
+USE_OCAMLWASH= yes
+
+DOCSDIR= ${PREFIX}/share/doc/ocaml/${PORTNAME}
+
+.include <bsd.port.pre.mk>
+.include "${PORTSDIR}/lang/ocaml/bsd.ocaml.mk"
+
+post-extract:
+ @${REINPLACE_CMD} -e "s,^\(OCAMLLIB=\).*,\1${PREFIX}/lib/ocaml,g" \
+ -e "s,^\(BINDIR=\).*,\1${PREFIX}/bin,g" \
+ -e "s,^CFLAGS=.*,#\&,g" \
+ -e "s,^\(CPP=\).*,\1/usr/bin/cpp,g" \
+ ${WRKSRC}/config/Makefile.unix
+
+ @${REINPLACE_CMD} -e \
+ "/^install/,/^$$/s,\([ \t]*\)cp,\1${INSTALL_SCRIPT},g" \
+ ${WRKSRC}/compiler/Makefile
+
+ @${REINPLACE_CMD} -e \
+ "/^install/,/^$$/s,\([ \t]*\)cp,\1${INSTALL_DATA},g" \
+ ${WRKSRC}/lib/Makefile ${WRKSRC}/runtime/Makefile.unix
+
+ @${LN} -sf ${WRKSRC}/config/Makefile.unix ${WRKSRC}/config/Makefile
+
+pre-install:
+.if !exists(${PREFIX}/lib/ocaml/caml)
+ ${MKDIR} ${PREFIX}/lib/ocaml/caml
+.endif
+
+post-install:
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+ ${TAR} -C ${DOCSDIR} -xf \
+ ${_DISTDIR}/${PORTNAME}-${PORTVERSION}.doc.html.tar.gz
+ ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${DOCSDIR}
+ ${FIND} ${DOCSDIR}/ -type f -exec ${CHMOD} ${SHAREMODE} {} \;
+.endif
+
+test:
+ @${ECHO_CMD} "Testing IDL library"
+ @${REINPLACE_CMD} -e "s,^\(CCPP=\).*,\1${CXX},g" \
+ ${WRKSRC}/tests/Makefile
+ cd ${WRKSRC}/tests && ${SETENV} ${MAKE_ENV} ${MAKE} all
+
+.include <bsd.port.post.mk>
diff --git a/lang/ocaml-camlidl/distinfo b/lang/ocaml-camlidl/distinfo
new file mode 100644
index 000000000000..8c66d6ffa23f
--- /dev/null
+++ b/lang/ocaml-camlidl/distinfo
@@ -0,0 +1,6 @@
+MD5 (camlidl-1.05.tar.gz) = 4cfb863bc3cbdc1af2502042c45cc675
+SHA256 (camlidl-1.05.tar.gz) = 857ed5bd3b2f99c62813070e1a5b4b6375e837c6815f4ad956baeb6f8c660311
+SIZE (camlidl-1.05.tar.gz) = 100640
+MD5 (camlidl-1.05.doc.html.tar.gz) = b7c7dad3ba62ddcc0f687bdebe295126
+SHA256 (camlidl-1.05.doc.html.tar.gz) = 00ac7822ec73cb3cb5cb23b5d34879436366d979887eb3a312e1adcae8c1c32c
+SIZE (camlidl-1.05.doc.html.tar.gz) = 45945
diff --git a/lang/ocaml-camlidl/pkg-descr b/lang/ocaml-camlidl/pkg-descr
new file mode 100644
index 000000000000..59b380c6fd03
--- /dev/null
+++ b/lang/ocaml-camlidl/pkg-descr
@@ -0,0 +1,14 @@
+CamlIDL is a stub code generator and COM binding for Objective Caml.
+
+CamlIDL comprises two parts:
+
+ * A stub code generator that generates the C stub code required for the
+Caml/C interface, based on an MIDL specification. (MIDL stands for Microsoft's
+Interface Description Language; it looks like C header files with some extras
+annotations, plus a notion of object interfaces that look like C++ classess
+without inheritance.)
+
+ * A (currently small) library of functions and tools to import COM
+components in Caml applications, and export Caml code as COM components.
+
+WWW: http://caml.inria.fr/pub/old_caml_site/camlidl/
diff --git a/lang/ocaml-camlidl/pkg-plist b/lang/ocaml-camlidl/pkg-plist
new file mode 100644
index 000000000000..40640ce90cdf
--- /dev/null
+++ b/lang/ocaml-camlidl/pkg-plist
@@ -0,0 +1,24 @@
+bin/camlidl
+lib/ocaml/caml/camlidlruntime.h
+lib/ocaml/com.a
+lib/ocaml/com.cma
+lib/ocaml/com.cmi
+lib/ocaml/com.cmxa
+lib/ocaml/libcamlidl.a
+%%PORTDOCS%%%%DOCSDIR%%/htmlman/contents_motif.gif
+%%PORTDOCS%%%%DOCSDIR%%/htmlman/index.html
+%%PORTDOCS%%%%DOCSDIR%%/htmlman/main.html
+%%PORTDOCS%%%%DOCSDIR%%/htmlman/main001.html
+%%PORTDOCS%%%%DOCSDIR%%/htmlman/main002.html
+%%PORTDOCS%%%%DOCSDIR%%/htmlman/main003.html
+%%PORTDOCS%%%%DOCSDIR%%/htmlman/main004.html
+%%PORTDOCS%%%%DOCSDIR%%/htmlman/main005.html
+%%PORTDOCS%%%%DOCSDIR%%/htmlman/main006.html
+%%PORTDOCS%%%%DOCSDIR%%/htmlman/main007.html
+%%PORTDOCS%%%%DOCSDIR%%/htmlman/next_motif.gif
+%%PORTDOCS%%%%DOCSDIR%%/htmlman/previous_motif.gif
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/htmlman
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+%%PORTDOCS%%@dirrmtry share/doc/ocaml
+@dirrmtry lib/ocaml/caml
+@dirrmtry lib/ocaml