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>