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}
14 MAINTAINER= olgeni@FreeBSD.org
15 COMMENT= Interactive, integrated, graphical Scheme programming environment
16 WWW= https://racket-lang.org/
20 LICENSE_FILE= ${WRKSRC}/LICENSE.txt
22 NOT_FOR_ARCHS= riscv64
23 NOT_FOR_ARCHS_REASON= unsupported platform
25 LIB_DEPENDS= libffi.so:devel/libffi \
26 liblz4.so:archivers/liblz4
28 USES= cpe gmake iconv libtool localbase tar:tgz
29 CPE_VENDOR= ${PORTNAME}-lang
31 CONFIGURE_ARGS= --enable-liblz4 \
33 --mandir=${MANPREFIX}/man
34 WRKSRC= ${WRKDIR}/racket-${PORTVERSION}/src
35 PATCH_WRKSRC= ${WRKDIR}/racket-${PORTVERSION}
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
53 OPTIONS_SINGLE= BACKEND
54 OPTIONS_SINGLE_BACKEND= BC CS
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)
62 BC_CONFIGURE_ON= --enable-bconly \
65 CS_CONFIGURE_ON= --enable-csonly \
66 --enable-mach=${CHEZ_MACHTYPE}
67 FUTURES_CONFIGURE_ENABLE= futures
70 FUTURES_PREVENTS_MSG= CS enables futures by default
71 JIT_CONFIGURE_ENABLE= jit
73 JIT_PREVENTS_MSG= CS enables jit by default
75 .include <bsd.port.options.mk>
77 .if ${ARCH} == "x86_64"
79 .elif ${ARCH} == "arm"
80 CHEZ_MACHTYPE= tarm32fb
81 .elif ${ARCH} == "arm64"
82 CHEZ_MACHTYPE= tarm64fb
83 .elif ${ARCH} == "i386"
85 .elif ${ARCH} == "powerpc"
86 CHEZ_MACHTYPE= tppc32fb
90 @${REINPLACE_CMD} -e 's/-liconv/${ICONV_LIB}/' ${WRKSRC}/ChezScheme/configure ${WRKSRC}/bc/configure ${WRKSRC}/cs/c/configure
93 ${FIND} ${STAGEDIR}${PREFIX} -type d -empty -delete
94 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/racket/gracket
96 .include <bsd.port.mk>