Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Jul 2014 07:41:08 +0000 (UTC)
From:      Alexey Dokuchaev <danfe@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r362630 - in head/lang/rust: . files
Message-ID:  <201407230741.s6N7f8c3097647@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: danfe
Date: Wed Jul 23 07:41:07 2014
New Revision: 362630
URL: http://svnweb.freebsd.org/changeset/ports/362630
QAT: https://qat.redports.org/buildarchive/r362630/

Log:
  - Give the reason why the port is currently amd64-only
  - Remove no-op patch file (builds just fine with -Werror as it seems)
  - In BATCH or PACKAGE_BUILDING modes, produce verbose build logs
  - Rework post-extract target: do not extract bootstrap compiler ourselves,
    put it into expected download directory instead; this also allows us to
    optimize away RUST_TARGET knob and post-patch hack
  - Since the port is for FreeBSD 10+, no need to explicitly depend on
    libexecinfo.so
  - Use OPTIONS helpers, perform some other minor Makefile cleanups
  - Augment port description text while I am here

Deleted:
  head/lang/rust/files/patch-mk_platform.mk
Modified:
  head/lang/rust/Makefile
  head/lang/rust/pkg-descr

Modified: head/lang/rust/Makefile
==============================================================================
--- head/lang/rust/Makefile	Wed Jul 23 07:02:54 2014	(r362629)
+++ head/lang/rust/Makefile	Wed Jul 23 07:41:07 2014	(r362630)
@@ -5,9 +5,9 @@ PORTNAME=	rust
 PORTVERSION=	0.11.0
 CATEGORIES=	lang
 MASTER_SITES=	http://static.rust-lang.org/dist/:src \
-		http://static.rust-lang.org/stage0-snapshots/:boot
+		http://static.rust-lang.org/stage0-snapshots/:bootstrap
 DISTFILES=	${RUST_SOURCE}:src \
-		${RUST_BOOT}:boot
+		${RUST_BOOT}:bootstrap
 EXTRACT_ONLY=	${RUST_SOURCE}
 
 MAINTAINER=	ports@FreeBSD.org
@@ -19,51 +19,45 @@ LICENSE_COMB=	dual
 LICENSE_FILE=	${WRKSRC}/LICENSE-APACHE \
 		${WRKSRC}/LICENSE-MIT
 
+ONLY_FOR_ARCHS=	amd64
+ONLY_FOR_ARCHS_REASON=	requires prebuilt bootstrap compiler
+
 RUST_SOURCE=	${DISTNAME}${EXTRACT_SUFX}
 RUST_BOOT=	rust-stage0-${RUST_BOOT_SIG}.tar.bz2
 RUST_BOOT_SIG=	2014-06-21-db9af1d-freebsd-x86_64-ef2bd0fc0b0efa2bd6f5c1eaa60a2ec8df533254
-RUST_TARGET=	x86_64-unknown-freebsd
 
-ONLY_FOR_ARCHS=	amd64
+USES=		gmake perl5
 HAS_CONFIGURE=	yes
+CONFIGURE_ARGS=	--disable-valgrind --disable-docs \
+		--enable-clang --mandir=${MANPREFIX}/man
 USE_LDCONFIG=	yes
-USES=		gmake perl5
 USE_PERL5=	build
 USE_PYTHON=	yes
 USE_PYTHON_BUILD=	2
+MAKE_ARGS=	ARCH=x86_64
+
+.if defined(BATCH) || defined(PACKAGE_BUILDING)
+MAKE_ARGS+=	VERBOSE=1
+.endif
 
 OPTIONS_DEFINE=		LLNEXTGEN
 LLNEXTGEN_DESC=		Build with grammar verification
 
-.include <bsd.port.pre.mk>
+LLNEXTGEN_BUILD_DEPENDS=	LLnextgen:${PORTSDIR}/devel/llnextgen
 
-LIB_DEPENDS+=	libexecinfo.so:${PORTSDIR}/devel/libexecinfo
+.include <bsd.port.pre.mk>
 
 .if ${OPSYS} == FreeBSD && ${OSVERSION} < 1000000
 BROKEN=		Only compiles on FreeBSD 10 and 11
 .endif
 
-.if ${PORT_OPTIONS:MLLNEXTGEN}
-BUILD_DEPENDS+=	LLnextgen:${PORTSDIR}/devel/llnextgen
-.endif
-
-CC=		clang
-CXX=		clang++
-CONFIGURE_ARGS+=	--disable-valgrind --disable-docs \
-			--enable-clang --mandir=${MANPREFIX}/man
-MAKE_ARGS+=		CC="${CC}" CXX="${CXX}" ARCH=x86_64
-
 post-extract:
-	${MKDIR} ${WRKSRC}/${RUST_TARGET} && \
-	cd ${WRKSRC}/${RUST_TARGET} && \
-	${TAR} -xf ${DISTDIR}/${RUST_BOOT} && \
-	${MV} rust-stage0 stage0
-
-post-patch:
-	${REINPLACE_CMD} -e '/get-snapshot.py $$(CFG_BUILD)/d' ${WRKSRC}/mk/stage0.mk
+	@${MKDIR} ${WRKSRC}/dl
+	${LN} -sf ${DISTDIR}/${RUST_BOOT} ${WRKSRC}/dl
 
 post-install:
 	@${RM} ${STAGEDIR}${PREFIX}/lib/rustlib/manifest
-	${STRIP_CMD} `${GREP} -v -e '^@dirrm' -e '^man' -e 'rlib$$' ${PLIST} | ${SED} 's:^:${STAGEDIR}${PREFIX}/:g'`
+	@${STRIP_CMD} `${GREP} -v -e '^@dirrm' -e '^man' -e 'rlib$$' \
+		${PLIST} | ${SED} 's:^:${STAGEDIR}${PREFIX}/:'`
 
 .include <bsd.port.post.mk>

Modified: head/lang/rust/pkg-descr
==============================================================================
--- head/lang/rust/pkg-descr	Wed Jul 23 07:02:54 2014	(r362629)
+++ head/lang/rust/pkg-descr	Wed Jul 23 07:41:07 2014	(r362630)
@@ -1,8 +1,16 @@
-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.
+Rust is a systems programming language that runs blazingly fast, prevents
+almost all crashes, and eliminates data races.  Some of its features:
+
+  - Algebraic data types, type inference
+  - Pattern matching and closures
+  - Concurrency without data races
+  - Guaranteed memory safety
+  - Optional garbage collection
+  - Zero-cost abstractions
+  - Minimal runtime
+  - Efficient C bindings
+
+Rust is currently work-in-progress.  Its development is driven by Mozilla
+with help of large open source community.
 
 WWW: http://www.rust-lang.org/



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