Merge branch 'staged'
[dports.git] / lang / racket-minimal / Makefile
1 PORTNAME=       racket
2 PORTVERSION=    8.10
3 CATEGORIES=     lang scheme
4 MASTER_SITES=   http://mirror.racket-lang.org/installers/${PORTVERSION}/ \
5                 http://www.cs.utah.edu/plt/installers/${PORTVERSION}/ \
6                 http://www.eecs.northwestern.edu/racket/${PORTVERSION}/ \
7                 http://mirror.csclub.uwaterloo.ca/racket/racket-installers/${PORTVERSION}/ \
8                 http://mirror.informatik.uni-tuebingen.de/mirror/racket/${PORTVERSION}/ \
9                 http://racket.infogroep.be/${PORTVERSION}/
10 PKGNAMESUFFIX=  -minimal
11 DISTNAME=       ${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}-src-builtpkgs
12 DIST_SUBDIR=    ${PORTNAME}${PKGNAMESUFFIX}/${PORTVERSION}
13
14 MAINTAINER=     olgeni@FreeBSD.org
15 COMMENT=        Interactive, integrated, graphical Scheme programming environment
16 WWW=            https://racket-lang.org/
17
18 LICENSE=        APACHE20 MIT
19 LICENSE_COMB=   dual
20 LICENSE_FILE=   ${WRKSRC}/LICENSE.txt
21
22 NOT_FOR_ARCHS=  riscv64
23 NOT_FOR_ARCHS_REASON=   unsupported platform
24
25 LIB_DEPENDS=    libffi.so:devel/libffi \
26                 liblz4.so:archivers/liblz4
27
28 USES=           cpe gmake iconv libtool localbase tar:tgz
29 CPE_VENDOR=     ${PORTNAME}-lang
30 GNU_CONFIGURE=  yes
31 CONFIGURE_ARGS= --enable-liblz4 \
32                 --enable-pthread \
33                 --mandir=${MANPREFIX}/man
34 WRKSRC=         ${WRKDIR}/racket-${PORTVERSION}/src
35 PATCH_WRKSRC=   ${WRKDIR}/racket-${PORTVERSION}
36 USE_LDCONFIG=   yes
37 REINPLACE_ARGS= -i ""
38 CONFLICTS=      racket
39
40 OPTIONS_DEFINE=         DOCS
41 OPTIONS_DEFAULT=        CS
42 OPTIONS_SUB=            yes
43
44 OPTIONS_DEFAULT_powerpc=        BC
45 OPTIONS_DEFAULT_powerpc64=      BC
46 OPTIONS_DEFAULT_powerpc64le=    BC
47 OPTIONS_DEFINE_x86_64=  FUTURES JIT
48 OPTIONS_DEFINE_i386=    FUTURES JIT
49 OPTIONS_EXCLUDE_powerpc=        CS
50 OPTIONS_EXCLUDE_powerpc64=      CS
51 OPTIONS_EXCLUDE_powerpc64le=    CS
52
53 OPTIONS_SINGLE=         BACKEND
54 OPTIONS_SINGLE_BACKEND= BC CS
55
56 BACKEND_DESC=   Racket Backend
57 BC_DESC=        Build ByteCode backend (legacy)
58 CS_DESC=        Build ChezScheme backend
59 FUTURES_DESC=   Enable futures (only for BC backend)
60 JIT_DESC=       Enable JIT compiler (only for BC backend)
61
62 BC_CONFIGURE_ON=                --enable-bconly \
63                                 --enable-libffi \
64                                 --enable-places
65 CS_CONFIGURE_ON=                --enable-csonly \
66                                 --enable-mach=${CHEZ_MACHTYPE}
67 FUTURES_CONFIGURE_ENABLE=       futures
68 FUTURES_IMPLIES=                JIT
69 FUTURES_PREVENTS=               CS
70 FUTURES_PREVENTS_MSG=           CS enables futures by default
71 JIT_CONFIGURE_ENABLE=           jit
72 JIT_PREVENTS=                   CS
73 JIT_PREVENTS_MSG=               CS enables jit by default
74
75 .include <bsd.port.options.mk>
76
77 .if ${ARCH} == "x86_64"
78 CHEZ_MACHTYPE=  ta6fb
79 .elif ${ARCH} == "arm"
80 CHEZ_MACHTYPE=  tarm32fb
81 .elif ${ARCH} == "arm64"
82 CHEZ_MACHTYPE=  tarm64fb
83 .elif ${ARCH} == "i386"
84 CHEZ_MACHTYPE=  ti3fb
85 .elif ${ARCH} == "powerpc"
86 CHEZ_MACHTYPE=  tppc32fb
87 .endif
88
89 post-patch:
90         @${REINPLACE_CMD} -e 's/-liconv/${ICONV_LIB}/' ${WRKSRC}/ChezScheme/configure ${WRKSRC}/bc/configure ${WRKSRC}/cs/c/configure
91
92 post-install:
93         ${FIND} ${STAGEDIR}${PREFIX} -type d -empty -delete
94         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/racket/gracket
95
96 .include <bsd.port.mk>