blob: 1919753f3658e91e99a2e1107cdb4e42a0dffaa9 (
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
|
PORTNAME= emscripten
DISTVERSION= 2.0.3
PORTREVISION= 1
CATEGORIES= devel www
MAINTAINER= yuri@FreeBSD.org
COMMENT= LLVM-to-Web Compiler
LICENSE= MIT NCSA
LICENSE_COMB= dual
RUN_DEPENDS= llvm-devel>0:devel/llvm-devel \
node:www/node \
bash:shells/bash \
binaryen>0:devel/binaryen
# the upstream requires to use either the latest llvm version, or their own llvm fork called emscripten-fastcomp
USES= python shebangfix
USE_GITHUB= yes
GH_ACCOUNT= emscripten-core
GH_PROJECT= emscripten
SHEBANG_FILES= ${PYSCRIPTS} emcmake tools/emdump system/bin/sdl-config system/bin/sdl2-config third_party/websockify/run
SHEBANG_GLOB= *.py *.sh
PYSCRIPTS= em++ em-config emar embuilder emcc emcmake emconfigure emmake emranlib emrun emscons emsize
NO_BUILD= yes
NO_ARCH= yes
PORTSCOUT= limit:^\d+\. # prevent i64
post-patch:
@${REINPLACE_CMD} -i '' -E " \
s|BINARYEN_ROOT = None|BINARYEN_ROOT = '${LOCALBASE}'| ; \
s|LLVM_ROOT = None|LLVM_ROOT = '${LOCALBASE}'| ; \
s|LLVM_ADD_VERSION = None|LLVM_ADD_VERSION = 'devel'| ; \
s|CLANG_ADD_VERSION = None|CLANG_ADD_VERSION = 'devel'| ; \
s|^__rootpath__ = .*|__rootpath__ = '${PREFIX}/lib/${PORTNAME}'| ; \
s|find_executable\('llvm-dis'\) or '/usr/bin/llvm-dis'|'${LOCALBASE}/bin/llvm-dis'|" \
${WRKSRC}/tools/shared.py
@${REINPLACE_CMD} -i '' -E " \
s|os.getenv\('BINARYEN', ''\)|os.getenv('BINARYEN', '${LOCALBASE}')|" \
${WRKSRC}/tools/settings_template.py
do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
cd ${WRKSRC} && ${CP} -r em* cmake site src system third_party tools ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/
${FIND} ${STAGEDIR}${PREFIX}/lib/${PORTNAME} \( -name "*.bat" -o -name "*.orig" \) -delete
.for s in ${PYSCRIPTS}
@(echo "#!/bin/sh"; \
echo ""; \
echo "${PYTHON_CMD} ${PREFIX}/lib/${PORTNAME}/${s}.py \"$$"@"\"" \
) > ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${s}
@${CHMOD} +x ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${s}
${RLN} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${s} ${STAGEDIR}${PREFIX}/bin/${s}
.endfor
${RM} -rf ${STAGEDIR}${PREFIX}/lib/emscripten/system/lib/pkgconfig
${RM} -rf ${STAGEDIR}${PREFIX}/lib/emscripten/tools/websocket_to_posix_proxy
.include <bsd.port.mk>
|