summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorThierry Thomas <thierry@FreeBSD.org>2007-09-03 21:48:38 +0000
committerThierry Thomas <thierry@FreeBSD.org>2007-09-03 21:48:38 +0000
commitd9554c26013343f051b7a411ad71f436de2a51d8 (patch)
tree060e8220d3aed45fe257bb24361932721279a093 /lang
parentSince the new version 1.2.12 use GLIBC_2.4, it's not for linux_base-fc4 (diff)
The OPAL compilation system (OCS) is a set of development tools for
creating software using the algebraic programming language OPAL. The package includes a native compiler and an interpreter. OPAL is mainly developed at the Technical University of Berlin since 1986 and it is used for research and evaluation of language concepts, algorithms and programming techniques. WWW: http://uebb.cs.tu-berlin.de/opal/ PR: ports/114511 Submitted by: Björn König <bkoenig at cs.tu-berlin.de>
Notes
Notes: svn path=/head/; revision=198713
Diffstat (limited to 'lang')
-rw-r--r--lang/Makefile1
-rw-r--r--lang/ocs/Makefile104
-rw-r--r--lang/ocs/distinfo3
-rw-r--r--lang/ocs/pkg-descr9
4 files changed, 117 insertions, 0 deletions
diff --git a/lang/Makefile b/lang/Makefile
index 8c713440730e..9d46cf556fbd 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -179,6 +179,7 @@
SUBDIR += ocaml-mode.el
SUBDIR += ocaml-nox11
SUBDIR += ocamlduce
+ SUBDIR += ocs
SUBDIR += ofc
SUBDIR += ohugs
SUBDIR += onyx
diff --git a/lang/ocs/Makefile b/lang/ocs/Makefile
new file mode 100644
index 000000000000..049f4d6969b3
--- /dev/null
+++ b/lang/ocs/Makefile
@@ -0,0 +1,104 @@
+# ex:ts=8
+# New ports collection makefile for: ocs
+# Date created: 8 July 2007
+# Whom: Björn König <bkoenig@cs.tu-berlin.de>
+#
+# $FreeBSD$
+#
+
+PORTNAME= ocs
+PORTVERSION= 2.3k
+CATEGORIES= lang
+MASTER_SITES= http://uebb.cs.tu-berlin.de/opal/
+DISTNAME= ${PORTNAME}-${PORTVERSION}-src
+
+MAINTAINER= bkoenig@cs.tu-berlin.de
+COMMENT= The OPAL Compilation System
+
+BUILD_DEPENDS= ${LOCALBASE}/bin/gsed:${PORTSDIR}/textproc/gsed
+
+WRKSRC= ${WRKDIR}/${PORTNAME}
+PLIST= ${WRKDIR}/pkg-plist
+
+# The Makefile of the source package doesn't have a 'build' target.
+# It rather compiles and installs the software in a single step using
+# an 'install' target. For this reason the port compiles/installs the
+# software to a temporary directory at the 'do-build' stage and
+# installs it manually at the 'do-install' stage.
+ALL_TARGET= install
+
+USE_BZIP2= yes
+USE_TCL= yes
+USE_TK= yes
+USE_GMAKE= yes
+USE_PERL5= yes
+HAS_CONFIGURE= yes
+USE_XORG= xt
+USE_LDCONFIG= ${OCS}/lib/freebsd${OSREL}-${ARCH}
+
+NOT_FOR_ARCHS= amd64 ia64
+
+CONFIGURE_ARGS= --prefix="${WRKDIR}" \
+ --disable-absolute-pathes \
+ --with-tcl-lib="-L${LOCALBASE}/lib -ltcl${TCL_VER:S/.//}" \
+ --with-tcl-incl="-I${TCL_INCLUDEDIR} -I${TK_INCLUDEDIR} -I${X11BASE}/include" \
+ --with-tk-lib="-ltk${TK_VER:S/.//}" \
+ --with-tk-incl="-I${TCL_INCLUDEDIR} -I${TK_INCLUDEDIR} -I${X11BASE}/include"
+
+MAN1= ocs.1 oc.1 genmake.1
+
+OCS_LINKS= oasys ocs
+OCS_INSTALL= bin etc lib packages
+
+# This is the place of the temporary installation.
+OCS_TEMPDIR= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
+
+# This is the target directory of the port installation.
+OCS= ${PREFIX}/${PORTNAME}
+
+.for f in ${OCS_LINKS}
+PLIST_FILES+= bin/$f
+.endfor
+
+post-patch:
+.for f in src/om/scripts/oasys src/om/scripts/ocs
+ @${REINPLACE_CMD} "s,OCS=.*$$,OCS=\"${OCS}\"," ${WRKSRC}/$f
+.endfor
+ @${REINPLACE_CMD} "s,\$$LIBS -ldl,\$$LIBS," ${WRKSRC}/configure
+
+# The Makefile don't like an existing (temporary) installation directory.
+# This won't hurt as long as we do a clean installation. But if you
+# 'make build' several times because of an interrupted compilation then it
+# is necessary to remove the directory to keep the make script satisfied.
+pre-build:
+ @${RM} -rf ${OCS_TEMPDIR}
+
+pre-install:
+ @${RM} -f ${PLIST}
+ @${TOUCH} ${PLIST}
+.for d in ${OCS_INSTALL}
+ @${FIND} ${OCS_TEMPDIR}/$d -not -type d | ${SED} "s,${OCS_TEMPDIR},${PORTNAME}," >> ${PLIST}
+ @${FIND} -d ${OCS_TEMPDIR}/$d -type d | ${SED} "s,${OCS_TEMPDIR},@dirrmtry ${PORTNAME}," >> ${PLIST}
+.endfor
+ @${ECHO} "@dirrmtry ${PORTNAME}" >> ${PLIST}
+.if !defined(WITHOUT_EXAMPLES)
+ @${FIND} ${OCS_TEMPDIR}/examples -not -type d | ${SED} "s,${OCS_TEMPDIR}/examples,${EXAMPLESDIR_REL}," >> ${PLIST}
+ @${FIND} -d ${OCS_TEMPDIR}/examples -type d | ${SED} "s,${OCS_TEMPDIR}/examples,@dirrmtry ${EXAMPLESDIR_REL}," >> ${PLIST}
+.endif
+
+do-install:
+ @${MKDIR} ${OCS}
+.for d in ${OCS_INSTALL}
+ @(cd ${OCS_TEMPDIR}; ${COPYTREE_BIN} $d ${OCS})
+.endfor
+.if !defined(WITHOUT_EXAMPLES)
+ @(cd ${OCS_TEMPDIR}/examples; ${COPYTREE_SHARE} . ${EXAMPLESDIR})
+.endif
+.for f in ${OCS_LINKS}
+ @${LN} -s ${OCS}/bin/$f ${PREFIX}/bin/$f
+.endfor
+.for f in ${MAN1}
+ @${INSTALL_MAN} ${OCS_TEMPDIR}/man/man1/$f ${MAN1PREFIX}/man/man1/
+.endfor
+
+.include <bsd.port.mk>
diff --git a/lang/ocs/distinfo b/lang/ocs/distinfo
new file mode 100644
index 000000000000..cf19b32266b3
--- /dev/null
+++ b/lang/ocs/distinfo
@@ -0,0 +1,3 @@
+MD5 (ocs-2.3k-src.tar.bz2) = 6c5a1b5f7e4d7ec68c6f940304314ee8
+SHA256 (ocs-2.3k-src.tar.bz2) = b4b482a6cb56636c42d499d3312791958c13bdde865dafb008f171b2db4dfb6f
+SIZE (ocs-2.3k-src.tar.bz2) = 7992739
diff --git a/lang/ocs/pkg-descr b/lang/ocs/pkg-descr
new file mode 100644
index 000000000000..964375e5fba7
--- /dev/null
+++ b/lang/ocs/pkg-descr
@@ -0,0 +1,9 @@
+The OPAL compilation system (OCS) is a set of development tools for
+creating software using the algebraic programming language OPAL. The
+package includes a native compiler and an interpreter.
+
+OPAL is mainly developed at the Technical University of Berlin since
+1986 and it is used for research and evaluation of language concepts,
+algorithms and programming techniques.
+
+WWW: http://uebb.cs.tu-berlin.de/opal/