summaryrefslogtreecommitdiff
path: root/lang/idris/Makefile
blob: 828a6b983e7b83ddb0cbc3897eec08f155c58566 (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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# $NetBSD: Makefile,v 1.2 2020/03/08 16:50:20 wiz Exp $

DISTNAME=	idris-1.3.2
PKGNAME=	${DISTNAME}
PKGREVISION=	1
CATEGORIES=	lang

MAINTAINER=	pho@cielonegro.org
COMMENT=	Functional Programming Language with Dependent Types
LICENSE=	modified-bsd

CONFIGURE_ARGS+=	-f release

# ${WRKSRC}/Setup.hs has a postBuild hook that invokes gmake to build
# its standard libraries.
USE_TOOLS+=		gmake
SUBST_CLASSES+=		tools
SUBST_STAGE.tools=	pre-configure
SUBST_FILES.tools=	Setup.hs
SUBST_VARS.tools=	GMAKE PKGSRC_SETENV

# ${WRKSRC}/src/IRTS/System.hs has several hardcoded paths to be used at
# run time.
SUBST_CLASSES+=		runtime
SUBST_STAGE.runtime=	pre-configure
SUBST_FILES.runtime=	src/IRTS/System.hs
SUBST_VARS.runtime=	CC PREFIX COMPILER_RPATH_FLAG

# When -O2 is in effect, GHC 8.8.1 uses whopping 1 TiB of virtual
# memory (what?) to compile src/Idris/IBC.hs for some unknown reason,
# possibly related to https://gitlab.haskell.org/ghc/ghc/issues/5642
# or https://gitlab.haskell.org/ghc/ghc/issues/13535
HASKELL_OPTIMIZATION_LEVEL=	1

# Parallelization is unsafe because of the high memory consumption
# even with -O1. Setting it to -O0 may seem desirable, but that makes
# the resulting compiler way too slow.
MAKE_JOBS_SAFE=	NO

# bin/idris cannot survive PaX MPROTECT because of GHC rts not being
# safe. We can hopefully get rid of this in the near future. See also
# ../../lang/ghc88/Makefile
NOT_PAX_MPROTECT_SAFE+=	bin/idris

.include "options.mk"

.include "../../converters/hs-aeson/buildlink3.mk"
.include "../../textproc/hs-annotated-wl-pprint/buildlink3.mk"
.include "../../devel/hs-ansi-terminal/buildlink3.mk"
.include "../../textproc/hs-ansi-wl-pprint/buildlink3.mk"
.include "../../devel/hs-async/buildlink3.mk"
.include "../../converters/hs-base64-bytestring/buildlink3.mk"
.include "../../textproc/hs-blaze-html/buildlink3.mk"
.include "../../textproc/hs-blaze-markup/buildlink3.mk"
.include "../../textproc/hs-cheapskate/buildlink3.mk"
.include "../../devel/hs-code-page/buildlink3.mk"
.include "../../devel/hs-fingertree/buildlink3.mk"
.include "../../devel/hs-fsnotify/buildlink3.mk"
.include "../../math/hs-ieee754/buildlink3.mk"
.include "../../textproc/hs-megaparsec/buildlink3.mk"
.include "../../net/hs-network/buildlink3.mk"
.include "../../devel/hs-optparse-applicative/buildlink3.mk"
.include "../../devel/hs-parser-combinators/buildlink3.mk"
.include "../../textproc/hs-regex-tdfa/buildlink3.mk"
.include "../../devel/hs-safe/buildlink3.mk"
.include "../../devel/hs-split/buildlink3.mk"
.include "../../devel/hs-terminal-size/buildlink3.mk"
.include "../../devel/hs-uniplate/buildlink3.mk"
.include "../../devel/hs-unordered-containers/buildlink3.mk"
.include "../../devel/hs-utf8-string/buildlink3.mk"
.include "../../devel/hs-vector/buildlink3.mk"
.include "../../devel/hs-vector-binary-instances/buildlink3.mk"
.include "../../archivers/hs-zip-archive/buildlink3.mk"
.include "../../mk/haskell.mk"
.include "../../mk/bsd.pkg.mk"