Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Jan 2012 14:56:24 +0800 (CST)
From:      Jyun-Yan You <jyyou@cs.nctu.edu.tw>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/164366: [NEW PORT] lang/rust: A language with a focus on memory safety and concurrency
Message-ID:  <201201220656.q0M6uO8m073862@csduty.cs.nctu.edu.tw>
Resent-Message-ID: <201201220700.q0M70OPm025390@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         164366
>Category:       ports
>Synopsis:       [NEW PORT] lang/rust: A language with a focus on memory safety and concurrency
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan 22 07:00:24 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Jyun-Yan You
>Release:        FreeBSD 8.2-RELEASE-p3 amd64
>Organization:
>Environment:
System: FreeBSD csduty.cs.nctu.edu.tw 8.2-RELEASE-p3 FreeBSD 8.2-RELEASE-p3 #0: Tue Sep 27 18:45:57 UTC 2011
>Description:
Rust is a curly-brace, block-structured expression language.
It visually resembles the C language family, but differs significantly
in syntactic and semantic details. Its design is oriented toward
concerns of "programming in the large", that is,
of creating and maintaining boundaries - both abstract and operational -
that preserve large-system integrity, availability and concurrency.

WWW: http://www.rust-lang.org/

Generated with FreeBSD Port Tools 0.99
>How-To-Repeat:
>Fix:

--- rust-0.1.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	rust
#	rust/pkg-plist
#	rust/pkg-descr
#	rust/Makefile
#	rust/distinfo
#	rust/files
#	rust/files/patch-src_cargo_cargo.rs
#	rust/files/patch-configure
#	rust/files/patch-mk_platform.mk
#	rust/files/patch-src_rt_rust__unwind.h
#
echo c - rust
mkdir -p rust > /dev/null 2>&1
echo x - rust/pkg-plist
sed 's/^X//' >rust/pkg-plist << '06022a28d866b0993d0b8096557fbbaa'
Xbin/cargo
Xbin/rustc
Xbin/rustdoc
Xlib/libcore-14bd852465126fe7-0.1.so
Xlib/librustc-4171d83aef249987-0.1.so
Xlib/librustllvm.so
Xlib/librustrt.so
Xlib/libstd-79ca5fac56b63fde-0.1.so
Xlib/rustc/x86_64-unknown-freebsd/lib/intrinsics.bc
Xlib/rustc/x86_64-unknown-freebsd/lib/libcore-14bd852465126fe7-0.1.so
Xlib/rustc/x86_64-unknown-freebsd/lib/libmorestack.a
Xlib/rustc/x86_64-unknown-freebsd/lib/librustc-4171d83aef249987-0.1.so
Xlib/rustc/x86_64-unknown-freebsd/lib/librustrt.so
Xlib/rustc/x86_64-unknown-freebsd/lib/libstd-79ca5fac56b63fde-0.1.so
X@dirrm lib/rustc/x86_64-unknown-freebsd/lib
X@dirrm lib/rustc/x86_64-unknown-freebsd
X@dirrm lib/rustc
06022a28d866b0993d0b8096557fbbaa
echo x - rust/pkg-descr
sed 's/^X//' >rust/pkg-descr << 'f784b2d2d17c88e2ad886f7bd3a2f01e'
XRust is a curly-brace, block-structured expression language.
XIt visually resembles the C language family, but differs significantly
Xin syntactic and semantic details. Its design is oriented toward
Xconcerns of "programming in the large", that is,
Xof creating and maintaining boundaries - both abstract and operational -
Xthat preserve large-system integrity, availability and concurrency.
X
XWWW: http://www.rust-lang.org/
f784b2d2d17c88e2ad886f7bd3a2f01e
echo x - rust/Makefile
sed 's/^X//' >rust/Makefile << 'b75d1d92b729a2978c9afe5167438dea'
X# New ports collection makefile for: rust
X# Date created: 2012-01-21
X# Whom: Jyun-Yan You <jyyou@cs.nctu.edu.tw>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	rust
XPORTVERSION=	0.1
XCATEGORIES=	lang
XMASTER_SITES=	http://dl.rust-lang.org/dist/:source \
X		http://people.cs.nctu.edu.tw/~jyyou/rust/:boot
XDISTFILES=	${RUST_SOURCE}:source \
X		${RUST_BOOT}:boot
XEXTRACT_ONLY=	${RUST_SOURCE}
X
XMAINTAINER=	jyyou@cs.nctu.edu.tw
XCOMMENT=	A language with a focus on memory safety and concurrency
X
XOPTIONS=	CLANG	"Use clang to build runtime" on \
X		CARGO	"Build with package manager" off
X
XRUST_SOURCE=	${DISTNAME}${EXTRACT_SUFX}
XRUST_BOOT=	rust-${PORTVERSION}-boot.tar.bz2
XRUST_TARGET=	x86_64-unknown-freebsd
X
XONLY_FOR_ARCHS=	amd64
XHAS_CONFIGURE=	yes
XUSE_LDCONFIG=	yes
XUSE_GMAKE=	yes
XUSE_PERL5_BUILD=	yes
XUSE_PYTHON_BUILD=	yes
X
X.include <bsd.port.pre.mk>
X
X.if !defined(WITHOUT_CLANG)
X.if ${OSVERSION} < 900000
XBUILD_DEPENDS+=	${LOCALBASE}/bin/clang:${PORTSDIR}/lang/clang
X.endif
XLIB_DEPENDS+=	unwind.8:${PORTSDIR}/devel/libunwind
XCC=		clang
XCXX=		clang++
XCONFIGURE_ARGS+=	--enable-clang
X.else
XUSE_GCC=	4.4+
X.endif
X
X.if !defined(WITHOUT_CARGO)
XRUN_DEPENDS+=	${LOCALBASE}/bin/curl:${PORTSDIR}/ftp/curl \
X		${LOCALBASE}/bin/git:${PORTSDIR}/devel/git \
X		${LOCALBASE}/bin/gpg:${PORTSDIR}/security/gnupg
X.endif
X
XLIB_DEPENDS+=	execinfo.1:${PORTSDIR}/devel/libexecinfo
X
XMAKE_ARGS+=		CC=${CC} CXX=${CXX} ARCH=x86_64
XCONFIGURE_ARGS+=	--disable-valgrind --disable-docs
X
XMAN1=		rustc.1
X
Xpost-extract:
X	${MKDIR} ${WRKSRC}/${RUST_TARGET} && \
X	cd ${WRKSRC}/${RUST_TARGET} && \
X	    tar xf ${DISTDIR}/${RUST_BOOT} && \
X	    ${MV} rust-stage0 stage0
X
Xpost-patch:
X	${REINPLACE_CMD} \
X	    -e '/src\/etc\/get-snapshot.py $$(CFG_HOST_TRIPLE)/d' \
X	    ${WRKSRC}/mk/stage0.mk
X	${REINPLACE_CMD} \
X	    -e 's|\$$(PREFIX_ROOT)/share/man|${MANPREFIX}/man|g' \
X	    ${WRKSRC}/mk/install.mk
X
X.include <bsd.port.post.mk>
b75d1d92b729a2978c9afe5167438dea
echo x - rust/distinfo
sed 's/^X//' >rust/distinfo << '3bd32f7fe5f4557a2951ed58e1489969'
XSHA256 (rust-0.1.tar.gz) = a1a234592168443b3bd6dce03378ee410393b07f8075c6a56e339638fdda8263
XSIZE (rust-0.1.tar.gz) = 10601377
XSHA256 (rust-0.1-boot.tar.bz2) = 682a8f4c735940e1f2e115adfbffde4838989e820a4f551576c0c9b4be1a0d2e
XSIZE (rust-0.1-boot.tar.bz2) = 9759370
3bd32f7fe5f4557a2951ed58e1489969
echo c - rust/files
mkdir -p rust/files > /dev/null 2>&1
echo x - rust/files/patch-src_cargo_cargo.rs
sed 's/^X//' >rust/files/patch-src_cargo_cargo.rs << 'ad0d2c3e7d1007bd640a547803c01755'
X--- src/cargo/cargo.rs.orig	2012-01-22 03:39:41.002804510 +0800
X+++ src/cargo/cargo.rs	2012-01-22 09:19:29.018803328 +0800
X@@ -389,7 +389,8 @@
X     let exec_suffix = os::exec_suffix();
X     for ct: str in new {
X         if (exec_suffix != "" && str::ends_with(ct, exec_suffix)) ||
X-            (exec_suffix == "" && !str::starts_with(ct, "./lib")) {
X+            (exec_suffix == "" && !str::starts_with(fs::basename(ct),
X+                                                    "lib")) {
X             #debug("  bin: %s", ct);
X             // FIXME: need libstd fs::copy or something
X             run::run_program("cp", [ct, c.bindir]);
ad0d2c3e7d1007bd640a547803c01755
echo x - rust/files/patch-configure
sed 's/^X//' >rust/files/patch-configure << 'a81a3db8db6f60159835489a6cbef0ce'
X--- configure.orig	2012-01-22 04:29:36.401802685 +0800
X+++ configure	2012-01-22 11:40:28.231803897 +0800
X@@ -281,7 +281,6 @@
X 
X probe_need CFG_PERL         perl
X probe_need CFG_PYTHON       python python2.6 python2 python3
X-probe_need CFG_CURL         curl
X 
X probe CFG_GIT              git
X probe CFG_CLANG            clang++
X@@ -340,7 +339,8 @@
X     CFG_CLANG_VERSION=$("$CFG_CLANG" \
X                       --version \
X                       | grep version \
X-                      | cut -d ' ' -f 3)
X+                      | sed 's/.*\(version .*\)/\1/' \
X+                      | cut -d ' ' -f 2)
X 
X     case $CFG_CLANG_VERSION in
X         (3.0svn | 3.0 | 3.1)
a81a3db8db6f60159835489a6cbef0ce
echo x - rust/files/patch-mk_platform.mk
sed 's/^X//' >rust/files/patch-mk_platform.mk << '609fd8ac4098f752371298a6632715ba'
X--- mk/platform.mk.orig	2012-01-22 08:59:58.097803422 +0800
X+++ mk/platform.mk	2012-01-22 04:45:22.124872578 +0800
X@@ -188,7 +188,7 @@
X   CC=clang
X   CXX=clang++
X   CPP=cpp
X-  CFG_GCCISH_CFLAGS += -Wall -Werror -fno-rtti -g
X+  CFG_GCCISH_CFLAGS += -Wall -Werror -Wno-c++11-compat -fno-rtti -g
X   CFG_GCCISH_LINK_FLAGS += -g
X   CFG_DEPEND_C = $(CFG_GCCISH_CROSS)$(CXX) $(CFG_GCCISH_CFLAGS) -MT "$(1)" \
X     -MM $(2)
609fd8ac4098f752371298a6632715ba
echo x - rust/files/patch-src_rt_rust__unwind.h
sed 's/^X//' >rust/files/patch-src_rt_rust__unwind.h << '9c5b36daa3d623a042b7282035def9f6'
X--- src/rt/rust_unwind.h.orig	2012-01-22 08:58:11.386020911 +0800
X+++ src/rt/rust_unwind.h	2012-01-22 04:37:29.745804340 +0800
X@@ -17,6 +17,8 @@
X 
X #if (defined __APPLE__) || (defined __clang__)
X 
X+#ifndef __FreeBSD__
X+
X typedef int _Unwind_Action;
X typedef void _Unwind_Exception;
X 
X@@ -24,3 +26,5 @@
X 
X #endif
X 
X+#endif
X+
9c5b36daa3d623a042b7282035def9f6
exit
--- rust-0.1.shar ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201220656.q0M6uO8m073862>