blob: 60b80333a4bfd610f618f1d2d371a86fbe00879a (
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
# Note: This software is total mess and it seems to be nearly impossible to
# create a clean distribution package.
pkgname=emscripten
# Keep with sync with pkg emscrypten-fastcomp!
pkgver=1.37.9
pkgrel=0
pkgdesc="An LLVM-to-JavaScript Compiler"
url="https://kripken.github.io/emscripten-site/"
arch="all"
license="MIT UOI-NCSA"
depends="$pkgname-optimizer=$pkgver-r$pkgrel emscripten-fastcomp>=$pkgver
nodejs python2"
makedepends="cmake clang"
subpackages="$pkgname-optimizer"
source="$pkgname-$pkgver.tar.gz::https://github.com/kripken/$pkgname/archive/$pkgver.tar.gz
fix-python-shebang.patch
settings_template-paths.patch
add-system-level-config.patch
move-emcc-txt.patch
emscripten.cfg"
builddir="$srcdir/$pkgname-$pkgver"
build() {
cd "$builddir"/tools/optimizer
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
-DCMAKE_C_FLAGS="$CFLAGS" \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_VERBOSE_MAKEFILE=ON
make
}
check() {
cd "$builddir"
sed "s|/usr/share/emscripten|$builddir|" "$srcdir"/emscripten.cfg \
> tests/.emscripten
./emcc --em-config tests/.emscripten \
--cache "$srcdir"/.cache \
-o tests/hello_world.js tests/hello_world.c
node tests/hello_world.js
}
package() {
local destdir="$pkgdir/usr/share/$pkgname"
local name
mkdir -p "$destdir"
cp -r "$builddir"/* "$destdir"/
cd "$destdir"
# This is read from emcc.py for --help.
cp site/build/text/docs/tools_reference/emcc.txt .
find . -name "*.bat" -delete
rm -r docs # there are only few PDFs and TeX sources
rm -r media # media for website
rm -r site # a website (?)
rm -r tests # looks more like a dump of random sources than decent tests
rm -r third_party # bundled stuff
rm -r tools/optimizer # we've already built it
rm AUTHORS LICENSE *.md *.markdown package.json
rm system/lib/build_cxx_natively.sh
mkdir -p "$pkgdir"/usr/bin
for name in em++ em-config emar embuilder.py emcc emcmake \
emconfigure emlink.py emmake emrun emscons
do
ln -s ../share/$pkgname/$name "$pkgdir"/usr/bin/$name
done
install -D -m 644 "$srcdir"/emscripten.cfg "$pkgdir"/etc/emscripten.cfg
}
optimizer() {
pkgdesc="Emscripten's optimizer for asm.js code"
depends=""
install -D -m 755 "$builddir"/tools/optimizer/optimizer \
"$subpkgdir"/usr/bin/emoptimizer
}
sha512sums="0efd9035d3dce0726025b5b8e30129885eef30f915c502b8957150e4ffc11fd0e9a2b605854cdf69ca3eb05e5102bf34341b7edd2116f5fa29fd170a28e7f07f emscripten-1.37.9.tar.gz
a61e172ced6b72adb53a840255a9753905a0c7a1c9f8965345781b9cdcc8a596c4dc88f036e91bd5c05d8b3eb2908bbb7d991c4e1abcf35a46be67b9765e546a fix-python-shebang.patch
ec0dc4a5c562fb85d861c37f5b3168351921dfd7865754ff117f757f15c45ec4474c56b71cd6f50beed71d91a270f3c7ad9d27db205be8eb6637b72b0c9fca8a settings_template-paths.patch
10a7a545f468a5f71fdf1cca0e0be983db5d21387202b851bd11f811c2a0a74f4e4c8733ae9ff933df4ea49c3f5e8e4e16fc3651bc98bb8c37a0828bb29eca7e add-system-level-config.patch
6613ef4cf41bcf0ecc13a0415cdc847f4ec112f07dd19573000ea6a9a6f2360aee6b2db01f822d117d5022dc58b2421be89fe3421c46fd6857737d07ce489c1e move-emcc-txt.patch
e485c974c465fc60ff0c81ba0a7e2c68bd2f653fff6861007d4ce29dd20c7163ba63ac1a3c449b870a8fa4642ad3ef1c8d1e6380add2db58f65553b58f626c9e emscripten.cfg"
|