From f9e48d8578da59889a88c188b76d8be858a9b179 Mon Sep 17 00:00:00 2001 From: Mario Sergio Fujikawa Ferreira Date: Thu, 17 Jan 2002 16:23:05 +0000 Subject: New port cyclone version 0.2: A safe dialect of C from Cornell and AT&T Research PR: 33613 Submitted by: Alan Eldridge --- lang/Makefile | 1 + lang/cyclone/Makefile | 81 +++++++++++++++++++++ lang/cyclone/distinfo | 2 + lang/cyclone/files/patch-cerrno.h | 24 +++++++ lang/cyclone/pkg-comment | 1 + lang/cyclone/pkg-descr | 16 +++++ lang/cyclone/pkg-plist | 143 ++++++++++++++++++++++++++++++++++++++ 7 files changed, 268 insertions(+) create mode 100644 lang/cyclone/Makefile create mode 100644 lang/cyclone/distinfo create mode 100644 lang/cyclone/files/patch-cerrno.h create mode 100644 lang/cyclone/pkg-comment create mode 100644 lang/cyclone/pkg-descr create mode 100644 lang/cyclone/pkg-plist (limited to 'lang') diff --git a/lang/Makefile b/lang/Makefile index 5a5f24807513..3e260c184e6b 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -21,6 +21,7 @@ SUBDIR += compaq-cc SUBDIR += crossgo32-f77 SUBDIR += cu-prolog + SUBDIR += cyclone SUBDIR += dis SUBDIR += diveintopython SUBDIR += drscheme 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 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 + +.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 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 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%% -- cgit v1.2.3