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>
This commit is contained in:
Mario Sergio Fujikawa Ferreira 2002-01-17 16:23:05 +00:00
parent 0ddc6ae0a3
commit f9e48d8578
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=53256
7 changed files with 268 additions and 0 deletions

View File

@ -21,6 +21,7 @@
SUBDIR += compaq-cc
SUBDIR += crossgo32-f77
SUBDIR += cu-prolog
SUBDIR += cyclone
SUBDIR += dis
SUBDIR += diveintopython
SUBDIR += drscheme

81
lang/cyclone/Makefile Normal file
View File

@ -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>

2
lang/cyclone/distinfo Normal file
View File

@ -0,0 +1,2 @@
MD5 (cyclone-0.2.tar.gz) = f27081a442bff470f9e477e5d017d2d9
MD5 (cyclone-0.2-docs.tar.gz) = 395c1b64bee877a69c314cf33fda1a1e

View File

@ -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);

1
lang/cyclone/pkg-comment Normal file
View File

@ -0,0 +1 @@
A safe dialect of C from Cornell and AT&T Research

16
lang/cyclone/pkg-descr Normal file
View File

@ -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>

143
lang/cyclone/pkg-plist Normal file
View File

@ -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%%