svn commit: r362630 - in head/lang/rust: . files
Alexey Dokuchaev
danfe at FreeBSD.org
Wed Jul 23 07:41:08 UTC 2014
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 at 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/
More information about the svn-ports-all
mailing list