summaryrefslogtreecommitdiffstats
path: root/lang/nim/Makefile
blob: ce14e01b623c71d215795fa51aec2ec474e05500 (plain)
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
# Created by: Neal Nelson <ports@nicandneal.net>
# $FreeBSD$

PORTNAME=	nim
PORTVERSION=	0.17.0
CATEGORIES=	lang
MASTER_SITES=	http://nim-lang.org/download/

MAINTAINER=	ports@nicandneal.net
COMMENT=	Nim programming language

LICENSE=	MIT

BROKEN_aarch64=		fails to compile: crt1.c: undefined reference to main
BROKEN_armv6=		fails to compile: crt1.c: undefined reference to main
BROKEN_mips64=		fails to build: build.sh: clang: not found
BROKEN_powerpc64=	fails to build: build.sh: clang: not found
BROKEN_sparc64=		fails to build: build.sh: clang: not found

TOOLS_DESC=	Build and install nimgrep and nimsuggest

OPTIONS_DEFINE=	DOCS TOOLS
OPTIONS_SUB=	yes

MAKE_JOBS_UNSAFE=	yes
USES=		compiler tar:xz

.include <bsd.port.pre.mk>

TLIST=	nimgrep nimsuggest

post-patch:
.if ${COMPILER_TYPE} == clang
	@${REINPLACE_CMD} -e '/cc =/s/gcc/clang/' ${WRKSRC}/config/nim.cfg
.endif

do-build:
	cd ${WRKSRC} && ${SETENV} CC="${CC}" LINKER="${CC}" \
		COMP_FLAGS="${CPPFLAGS} ${CFLAGS}" LINK_FLAGS="${LDFLAGS}" \
		${SH} build.sh
	cd ${WRKSRC} && bin/nim c --parallelBuild=${MAKE_JOBS_NUMBER} koch
	cd ${WRKSRC} && ./koch boot --parallelBuild=${MAKE_JOBS_NUMBER} \
		-d:release

do-build-TOOLS-on:
	cd ${WRKSRC} && ./koch tools --parallelBuild=${MAKE_JOBS_NUMBER} \
		-d:release

do-install:
	cd ${WRKSRC} && ${SH} install.sh ${STAGEDIR}${PREFIX}
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/nim

do-install-TOOLS-on:
.for t in ${TLIST}
	${INSTALL_PROGRAM} ${WRKSRC}/bin/${t} ${STAGEDIR}${PREFIX}/bin
.endfor

.include <bsd.port.post.mk>
OpenPOWER on IntegriCloud