aboutsummaryrefslogtreecommitdiffstats
path: root/lang/cyclone
diff options
context:
space:
mode:
authorlioux <lioux@FreeBSD.org>2002-01-18 00:23:05 +0800
committerlioux <lioux@FreeBSD.org>2002-01-18 00:23:05 +0800
commita2b825150f1f786f97290cc64938804b21e9821e (patch)
treefc366ecb6986b71393012bb9ebe1e4dcc62d74ae /lang/cyclone
parent686a89d2bef56ec1d25e8095cee4fbbe558b39e5 (diff)
downloadfreebsd-ports-gnome-a2b825150f1f786f97290cc64938804b21e9821e.tar.gz
freebsd-ports-gnome-a2b825150f1f786f97290cc64938804b21e9821e.tar.zst
freebsd-ports-gnome-a2b825150f1f786f97290cc64938804b21e9821e.zip
New port cyclone version 0.2: A safe dialect of C from Cornell and
AT&T Research PR: 33613 Submitted by: Alan Eldridge <alane@geeksrus.net>
Diffstat (limited to 'lang/cyclone')
-rw-r--r--lang/cyclone/Makefile81
-rw-r--r--lang/cyclone/distinfo2
-rw-r--r--lang/cyclone/files/patch-cerrno.h24
-rw-r--r--lang/cyclone/pkg-comment1
-rw-r--r--lang/cyclone/pkg-descr16
-rw-r--r--lang/cyclone/pkg-plist143
6 files changed, 267 insertions, 0 deletions
diff --git a/lang/cyclone/Makefile b/lang/cyclone/Makefile
new file mode 100644
index 000000000000..f92c1948c38d
--- /dev/null
+++ b/lang/cyclone/Makefile
@@ -0,0 +1,81 @@
+# ex:ts=8
+#
+# New ports collection makefile for: cyclone
+# Date created: 2002/01/06
+# Whom: AlanE <ports@geeksrus.net> et al
+#
+# $FreeBSD$
+#
+
+PORTNAME= cyclone
+PORTVERSION= 0.2
+CATEGORIES= lang
+MASTER_SITES= http://www.cs.cornell.edu/projects/cyclone/ \
+ http://www.research.att.com/projects/cyclone/
+DISTFILES= ${PORTNAME}-${PORTVERSION}.tar.gz \
+ ${PORTNAME}-${PORTVERSION}-docs.tar.gz
+
+MAINTAINER= ports@geeksrus.net
+
+USE_GMAKE= yes
+USE_GCC295= yes
+NO_PACKAGE= 'Neither CC nor CFLAGS safe.'
+WRKSRC= ${WRKDIR}/${PORTNAME}
+CYCBINDIR= ${PREFIX}/bin
+CYCINCDIR= ${PREFIX}/include/cyclone
+CYCLIBDIR= ${PREFIX}/lib/cyclone
+ALL_TARGET= build
+PLIST_SUB+= DOCSDIR=${DOCSDIR:S/^${PREFIX}\///}
+
+pre-everything::
+ @${ECHO_MSG} '>>>'
+ @${ECHO_MSG} '>>> You can enable extra optimizations by defining WITH_OPTIMIZED_CFLAGS.'
+ @${ECHO_MSG} '>>>'
+
+post-patch:
+.ifndef(WITH_OPTIMIZED_CFLAGS)
+ @${FIND} ${WRKSRC} -name Makefile | ${XARGS} ${PERL} -pi -e \
+ 's/-O3/-O/'
+.endif
+
+do-configure:
+ @cd ${CONFIGURE_WRKSRC} && ${ECHO} y | ./configure ${CONFIGURE_ARGS}
+
+post-build:
+.for target in cyclone_src update build test
+ @cd ${WRKSRC} && ${MAKE_ENV} ${GMAKE} ${target}
+.endfor
+
+post-install:
+.for prog in cyclone cycbison cyclex cycflex
+ @${CHOWN} ${BINOWN}:${BINGRP} ${CYCBINDIR}/${prog}
+ @${CHMOD} ${BINMODE} ${CYCBINDIR}/${prog}
+.endfor
+ @${RANLIB} ${CYCLIBDIR}/*.a
+ @${CHOWN} -R ${INCOWN}:${INCGRP} ${CYCINCDIR}
+ @${CHOWN} -R ${LIBOWN}:${LIBGRP} ${CYCLIBDIR}
+ @${CHMOD} -R ${INCMODE} ${CYCINCDIR}
+ @${CHMOD} -R ${LIBMODE} ${CYCLIBDIR}
+ @${FIND} ${CYCINCDIR} ${CYCLIBDIR} -type d | ${XARGS} ${CHMOD} +x
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOCSDIR} ${DOCSDIR}/online-manual
+ @${INSTALL_DATA} ${WRKDIR}/*.pdf ${DOCSDIR}
+ @${INSTALL_DATA} ${WRKDIR}/online-manual/* ${DOCSDIR}/online-manual
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if exists(${LOCALBASE}/bin/bash) || !exists(${LOCALBASE}/bin/ksh)
+BUILD_DEPENDS+= bash:${PORTSDIR}/shells/bash2
+
+CONFIGURE_ARGS= -sh ${LOCALBASE}/bin/bash
+.else
+BUILD_DEPENDS+= ksh:${PORTSDIR}/shells/pdksh
+
+CONFIGURE_ARGS= -sh ${LOCALBASE}/bin/ksh
+.endif
+
+CONFIGURE_ARGS+= -prefix ${PREFIX} \
+ -incdir ${CYCINCDIR} -bindir ${CYCBINDIR} -libdir ${CYCLIBDIR}
+
+.include <bsd.port.post.mk>
diff --git a/lang/cyclone/distinfo b/lang/cyclone/distinfo
new file mode 100644
index 000000000000..08e5686d60b3
--- /dev/null
+++ b/lang/cyclone/distinfo
@@ -0,0 +1,2 @@
+MD5 (cyclone-0.2.tar.gz) = f27081a442bff470f9e477e5d017d2d9
+MD5 (cyclone-0.2-docs.tar.gz) = 395c1b64bee877a69c314cf33fda1a1e
diff --git a/lang/cyclone/files/patch-cerrno.h b/lang/cyclone/files/patch-cerrno.h
new file mode 100644
index 000000000000..550a5fc1a71a
--- /dev/null
+++ b/lang/cyclone/files/patch-cerrno.h
@@ -0,0 +1,24 @@
+--- lib/cerrno.h.or Fri Jan 4 00:15:32 2002
++++ lib/cerrno.h Fri Jan 4 00:16:28 2002
+@@ -31,6 +31,9 @@
+ /* x86 linux */
+ int @ __errno_location(void);
+ #define errno (*Std::__errno_location())
++#elif defined(__FreeBSD__)
++int @ __error(void);
++#define errno (*Std::__error())
+ #else
+ /* cygwin, BSD */
+ int @ __errno(void);
+--- include/cerrno.h.or Fri Jan 4 00:15:32 2002
++++ include/cerrno.h Fri Jan 4 00:16:28 2002
+@@ -31,6 +31,9 @@
+ /* x86 linux */
+ int @ __errno_location(void);
+ #define errno (*Std::__errno_location())
++#elif defined(__FreeBSD__)
++int @ __error(void);
++#define errno (*Std::__error())
+ #else
+ /* cygwin, BSD */
+ int @ __errno(void);
diff --git a/lang/cyclone/pkg-comment b/lang/cyclone/pkg-comment
new file mode 100644
index 000000000000..2158e676a43f
--- /dev/null
+++ b/lang/cyclone/pkg-comment
@@ -0,0 +1 @@
+A safe dialect of C from Cornell and AT&T Research
diff --git a/lang/cyclone/pkg-descr b/lang/cyclone/pkg-descr
new file mode 100644
index 000000000000..8793a52a4eed
--- /dev/null
+++ b/lang/cyclone/pkg-descr
@@ -0,0 +1,16 @@
+Cyclone is a programming language based on C that is safe, meaning
+that it rules out programs that have buffer overflows, dangling
+pointers, format string attacks, and so on. High-level, type-safe
+languages, such as Java, Scheme, or ML also provide safety, but
+they don't give the same control over data representations and
+memory management that C does (witness the fact that the run-time
+systems for these languages are usually written in C.) Furthermore,
+porting legacy C code to these languages or interfacing with legacy
+C libraries is a difficult and error-prone process. The goal of
+Cyclone is to give programmers the same low-level control and
+performance of C without sacrificing safety, and to make it easy
+to port or interface with legacy C code.
+
+WWW: http://www.cs.cornell.edu/projects/cyclone/
+
+-- AlanE <ports@geeksrus.net>
diff --git a/lang/cyclone/pkg-plist b/lang/cyclone/pkg-plist
new file mode 100644
index 000000000000..6e7ccfd2c939
--- /dev/null
+++ b/lang/cyclone/pkg-plist
@@ -0,0 +1,143 @@
+bin/cycbison
+bin/cycflex
+bin/cyclex
+bin/cyclone
+include/cyclone/arch/i386-unknown-bsdi3.1.h
+include/cyclone/arch/i386-unknown-freebsd4.4.h
+include/cyclone/arch/i386-unknown-openbsd2.8.h
+include/cyclone/arch/i686-unknown-cygwin1.3.3.h
+include/cyclone/arch/i686-unknown-linux.h
+include/cyclone/arch/powerpc-apple-rhapsody.h
+include/cyclone/arch/sparc-sun-solaris2.7.h
+include/cyclone/arg.h
+include/cyclone/arpa/cinet.h
+include/cyclone/arpa/inet.h
+include/cyclone/array.h
+include/cyclone/assert.h
+include/cyclone/bitvec.h
+include/cyclone/buffer.h
+include/cyclone/cassert.h
+include/cyclone/ccrypt.h
+include/cyclone/cctype.h
+include/cyclone/cdirent.h
+include/cyclone/cerrno.h
+include/cyclone/cerrno.h.orig
+include/cyclone/cfcntl.h
+include/cyclone/cgetopt.h
+include/cyclone/cgrp.h
+include/cyclone/cmath.h
+include/cyclone/cnetdb.h
+include/cyclone/core.h
+include/cyclone/cpwd.h
+include/cyclone/crypt.h
+include/cyclone/csignal.h
+include/cyclone/cstddef.h
+include/cyclone/cstdio.h
+include/cyclone/cstdlib.h
+include/cyclone/cstring.h
+include/cyclone/cstrings.h
+include/cyclone/ctime.h
+include/cyclone/ctype.h
+include/cyclone/cunistd.h
+include/cyclone/cutime.h
+include/cyclone/dict.h
+include/cyclone/dirent.h
+include/cyclone/errno.h
+include/cyclone/execinfo.h
+include/cyclone/fcntl.h
+include/cyclone/filename.h
+include/cyclone/fn.h
+include/cyclone/getopt.h
+include/cyclone/grp.h
+include/cyclone/hashtable.h
+include/cyclone/lexing.h
+include/cyclone/lineno.h
+include/cyclone/list.h
+include/cyclone/marshal.h
+include/cyclone/math.h
+include/cyclone/netdb.h
+include/cyclone/netinet/cin.h
+include/cyclone/netinet/ctcp.h
+include/cyclone/netinet/in.h
+include/cyclone/netinet/tcp.h
+include/cyclone/position.h
+include/cyclone/positionrep.h
+include/cyclone/pp.h
+include/cyclone/pwd.h
+include/cyclone/queue.h
+include/cyclone/rope.h
+include/cyclone/set.h
+include/cyclone/signal.h
+include/cyclone/slowdict.h
+include/cyclone/splay.h
+include/cyclone/stddef.h
+include/cyclone/stdio.h
+include/cyclone/stdlib.h
+include/cyclone/string.h
+include/cyclone/strings.h
+include/cyclone/sys/cioctl.h
+include/cyclone/sys/cmman.h
+include/cyclone/sys/cresource.h
+include/cyclone/sys/cselect.h
+include/cyclone/sys/csocket.h
+include/cyclone/sys/cstat.h
+include/cyclone/sys/ctime.h
+include/cyclone/sys/ctypes.h
+include/cyclone/sys/cwait.h
+include/cyclone/sys/ioctl.h
+include/cyclone/sys/mman.h
+include/cyclone/sys/resource.h
+include/cyclone/sys/select.h
+include/cyclone/sys/socket.h
+include/cyclone/sys/stat.h
+include/cyclone/sys/time.h
+include/cyclone/sys/types.h
+include/cyclone/sys/wait.h
+include/cyclone/time.h
+include/cyclone/typerep.h
+include/cyclone/unistd.h
+include/cyclone/utime.h
+include/cyclone/xarray.h
+include/cyclone/xml/xml.h
+include/cyclone/xml/xmldump.h
+include/cyclone/xml/xmlparse.h
+lib/cyclone/gc.a
+lib/cyclone/include/cyc_include.h
+lib/cyclone/libcyc.a
+lib/cyclone/libcyc_a.a
+lib/cyclone/libxml.a
+lib/cyclone/nogc.a
+lib/cyclone/nogc_a.a
+%%PORTDOCS%%%%DOCSDIR%%/main-letter.pdf
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/contents_motif.gif
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/index.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen001.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen002.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen003.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen004.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen005.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen006.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen007.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen008.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen009.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen010.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen011.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen012.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen013.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen014.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen015.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen016.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/main-screen017.html
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/next_motif.gif
+%%PORTDOCS%%%%DOCSDIR%%/online-manual/previous_motif.gif
+@dirrm include/cyclone/xml
+@dirrm include/cyclone/sys
+@dirrm include/cyclone/netinet
+@dirrm include/cyclone/arpa
+@dirrm include/cyclone/arch
+@dirrm include/cyclone
+@dirrm lib/cyclone/include
+@dirrm lib/cyclone
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/online-manual
+%%PORTDOCS%%@dirrm %%DOCSDIR%%