summaryrefslogtreecommitdiff
path: root/lang/cduce
diff options
context:
space:
mode:
authorThierry Thomas <thierry@FreeBSD.org>2005-06-19 14:38:51 +0000
committerThierry Thomas <thierry@FreeBSD.org>2005-06-19 14:38:51 +0000
commit2b905abd0218d053a8e1cea8deae575f900e6bc8 (patch)
treec0074be59f4d86a125e98aafd76a6c9b6987e2fa /lang/cduce
parentUpdate to 0.4.9. (diff)
Add cduce 0.3.2.
CDuce is an XML centric programming language result of a joint research project on XML, semantic subtyping, databases and efficient tree automata. Despite its XML orientation, it is also generalist. PR: 82117 Submitted by: Marwan Burelle <marwan.burelle (at) lri.fr>
Notes
Notes: svn path=/head/; revision=137728
Diffstat (limited to 'lang/cduce')
-rw-r--r--lang/cduce/Makefile104
-rw-r--r--lang/cduce/distinfo2
-rw-r--r--lang/cduce/files/patch-Makefile17
-rw-r--r--lang/cduce/pkg-descr17
-rw-r--r--lang/cduce/pkg-install9
5 files changed, 149 insertions, 0 deletions
diff --git a/lang/cduce/Makefile b/lang/cduce/Makefile
new file mode 100644
index 000000000000..72f580e7067b
--- /dev/null
+++ b/lang/cduce/Makefile
@@ -0,0 +1,104 @@
+# New ports collection makefile for: cduce
+# Date created: Jun 9, 2005
+# Whom: Marwan Burelle <marwan.burelle@lri.fr>
+#
+# $FreeBSD$
+
+PORTNAME= cduce
+PORTVERSION= 0.3.2
+CATEGORIES= lang
+MASTER_SITES= http://www.cduce.org/download/
+
+MAINTAINER= marwan.burelle@lri.fr
+COMMENT= An efficient XML centric functionnal programming language
+
+LIB_DEPENDS= pcre:${PORTSDIR}/devel/pcre-utf8
+BUILD_DEPENDS= ocamlc:${PORTSDIR}/lang/ocaml \
+ ocamlfind:${PORTSDIR}/devel/ocaml-findlib \
+ ${LOCALBASE}/lib/ocaml/site-lib/ulex/ulexing.a:${PORTSDIR}/devel/ocaml-ulex \
+ ${LOCALBASE}/lib/ocaml/site-lib/pcre/pcre.a:${PORTSDIR}/devel/ocaml-pcre \
+ ${LOCALBASE}/lib/ocaml/site-lib/netstring/netstring.a:${PORTSDIR}/www/ocaml-net
+
+# Support for url via ftp/ocaml-ocurl
+.if !defined(WITHOUT_OCURL)
+BUILD_DEPENDS+= ${LOCALBASE}/lib/ocaml/site-lib/curl/curl.cmi:${PORTSDIR}/ftp/ocaml-ocurl
+.endif
+
+# Support for the PXP XML parser
+.if defined(WITH_OCAML_EXPAT)
+BUILD_DEPENDS+=${LOCALBASE}/lib/ocaml/site-lib/expat/expat.cmi:${PORTSDIR}/textproc/ocaml-expat
+.else
+BUILD_DEPENDS+=${LOCALBASE}/lib/ocaml/site-lib/pxp-engine/pxp_engine.cma:${PORTSDIR}/textproc/ocaml-pxp
+.endif
+
+# Configure : use ocamlopt and don't look for netclient or pxp_wlex
+HAS_CONFIGURE= yes
+CONFIGURE_ARGS= --prefix=${PREFIX} --with-ocamlopt --without-netclient --without-pxp_wlex
+
+# Be sure to not build ocurl support if WITHOUT_OCURL is defined,
+# even if ocurl is present.
+.if defined(WITHOUT_OCURL)
+CONFIGURE_ARGS+= --without-curl
+.endif
+
+# Be sure to build with PXP or expat but not both.
+.if defined(WITH_OCAML_EXPAT)
+CONFIGURE_ARGS+= --with-expat --without-pxp
+.else
+CONFIGURE_ARGS+= --without-expat --with-pxp
+.endif
+
+# Support for OCaml/CDuce interface
+.if !defined(WITHOUT_MLIFACE)
+CONFIGURE_ARGS+= --mliface=${LOCALBASE}/lib/ocaml/compiler-lib
+.endif
+
+USE_GMAKE= yes
+
+ALL_TARGET= all
+
+INSTALL_TARGET= install
+
+MAKE_ENV= OCAMLFIND_DESTDIR="${PREFIX}/lib/ocaml/site-lib"
+
+.if !defined(NOPORTDOCS)
+CONFIGURE_ARGS+= --docdir=${PREFIX}/share/doc/${PORTNAME}
+ALL_TARGET+= doc
+INSTALL_TARGET+= install_doc
+PORTDOCS= *
+.endif
+
+MAN1= cduce.1 cdo2ml.1 cduce_mktop.1
+
+PKGDEINSTALL= ${PKGINSTALL}
+FINDLIB_PKGNAME=${PORTNAME}
+
+PLIST_FILES= bin/cduce
+
+.if !defined(WITHOUT_MLIFACE)
+PLIST_FILES+= bin/cdo2ml bin/mlcduce_wrapper bin/cduce_mktop
+.endif
+
+post-install:
+ @${FIND} ${PREFIX}/lib/ocaml/site-lib/${FINDLIB_PKGNAME} -type f | \
+ ${SED} "s,^${PREFIX}/,," >> ${TMPPLIST}
+ @${ECHO_CMD} "@dirrm lib/ocaml/site-lib/${FINDLIB_PKGNAME}" >> ${TMPPLIST}
+ @${ECHO_CMD} "@unexec ocamlfind remove ${FINDLIB_PKGNAME} 2>/dev/null || true" >> ${TMPPLIST}
+ @${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+.if defined(WITH_OCAML_EXPAT)
+ @${ECHO_CMD} "****************************************************************"
+ @${ECHO_CMD} "* You choose Expat as XML parser, you may encounter some error *"
+ @${ECHO_CMD} "* when loading XML files with external DTD. *"
+ @${ECHO_CMD} "****************************************************************"
+.endif
+
+pre-everything::
+ @${ECHO} ""
+ @${ECHO} "You may define the following build options:"
+ @${ECHO} ""
+ @${ECHO} " WITHOUT_CURL Disable url support via ftp/ocaml-ocurl (=> no url support)"
+ @${ECHO} " WITH_OCAML_EXPAT Enable support for the Expat XML parser."
+ @${ECHO} " WITHOUT_MLIFACE Disable building OCaml/CDuce interface."
+ @${ECHO} ""
+
+.include <bsd.port.mk>
diff --git a/lang/cduce/distinfo b/lang/cduce/distinfo
new file mode 100644
index 000000000000..da2fefe9b99d
--- /dev/null
+++ b/lang/cduce/distinfo
@@ -0,0 +1,2 @@
+MD5 (cduce-0.3.2.tar.gz) = 3714dc8231fd3f09ef87360d6d2f4987
+SIZE (cduce-0.3.2.tar.gz) = 312818
diff --git a/lang/cduce/files/patch-Makefile b/lang/cduce/files/patch-Makefile
new file mode 100644
index 000000000000..80579a74faa8
--- /dev/null
+++ b/lang/cduce/files/patch-Makefile
@@ -0,0 +1,17 @@
+--- Makefile.orig Wed Apr 13 15:03:57 2005
++++ Makefile Wed Apr 13 15:06:03 2005
+@@ -87,13 +87,12 @@
+ $(HIDE)$(MAKE) NATIVE=false $@
+ endif
+
+-install: all install_bin install_lib install_doc
++install: all install_bin install_lib
+
+ install_bin:
+ @echo "Install binaries"
+ $(HIDE)mkdir -p $(BINDIR)
+ $(HIDE)$(INSTALL) -m755 $(INSTALL_BINARIES) $(BINDIR)/
+-
+
+ install_lib:
+ @echo "Build META"
diff --git a/lang/cduce/pkg-descr b/lang/cduce/pkg-descr
new file mode 100644
index 000000000000..bf19e0c1d6d7
--- /dev/null
+++ b/lang/cduce/pkg-descr
@@ -0,0 +1,17 @@
+CDuce is modern programming language, adapted to the manipulation of
+XML documents. With a syntax inspired from ML, it comes with many
+interesting features such as higher order, overloaded functions and
+powerful regular expressions patterns. It also provides an embeded XML
+query language, using the traditional SELECT FROM WHERE form.
+
+This project is a spin-off of a research effort split amongst two CNRS
+labs (the Languages group of ENS in Paris and the Databases group of
+LRI in Orsay), and one INRIA project (the Cristal project). Please see
+the CDuce team page for a list of researchers contributing to this
+research effort. Some technical papers present the theoretical
+foundations of the language.
+
+WWW: http://www.cduce.org
+
+- Burelle Marwan
+marwan.burelle@lri.fr
diff --git a/lang/cduce/pkg-install b/lang/cduce/pkg-install
new file mode 100644
index 000000000000..ac1187f3fe70
--- /dev/null
+++ b/lang/cduce/pkg-install
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+if [ "$2" = "POST-INSTALL" ]; then
+ echo "${PKG_PREFIX}/lib/ocaml/site-lib/cduce" >> ${PKG_PREFIX}/lib/ocaml/ld.conf
+elif [ "$2" = "DEINSTALL" ]; then
+ mv ${PKG_PREFIX}/lib/ocaml/ld.conf ${PKG_PREFIX}/lib/ocaml/ld.conf.tmp
+ grep -v cduce ${PKG_PREFIX}/lib/ocaml/ld.conf.tmp > ${PKG_PREFIX}/lib/ocaml/ld.conf
+ rm -f ${PKG_PREFIX}/lib/ocaml/ld.conf.tmp
+fi