aboutsummaryrefslogtreecommitdiffstats
path: root/lang/rust/Makefile
blob: ad68dea2ec7f3698a7f882ac5483ae8479e8962e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Created by: Jyun-Yan You <jyyou@cs.nctu.edu.tw>
# $FreeBSD$

PORTNAME=   rust
PORTVERSION=    0.11.0
PORTREVISION=   1
CATEGORIES= lang
MASTER_SITES=   http://static.rust-lang.org/dist/:src \
        http://static.rust-lang.org/stage0-snapshots/:bootstrap
DISTFILES=  ${RUST_SOURCE}:src \
        ${RUST_BOOT}:bootstrap
EXTRACT_ONLY=   ${RUST_SOURCE}

MAINTAINER= ports@FreeBSD.org
COMMENT=    Language with a focus on memory safety and concurrency

LICENSE=    APACHE20 \
        MIT
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

USES=       gmake perl5
HAS_CONFIGURE=  yes
CONFIGURE_ARGS= --disable-valgrind --disable-docs \
        --enable-clang --mandir=${MANPREFIX}/man
USE_LDCONFIG=   yes
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

LLNEXTGEN_BUILD_DEPENDS=    LLnextgen:${PORTSDIR}/devel/llnextgen

.include <bsd.port.pre.mk>

.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1000000
BROKEN=     Only compiles on FreeBSD 10 and 11
.endif

post-extract:
    @${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}/:'`
    @${STRIP_CMD} `${GREP} -v -e '^@dirrm' -e '^man' -e 'rlib$$' \
        -e '\.a$$' ${PLIST} | ${SED} 's:^:${STAGEDIR}${PREFIX}/:g'`

.include <bsd.port.post.mk>