(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgname) op: assign_op.Equal rhs: {<emscripten>} spids: [13] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgver) op: assign_op.Equal rhs: {<1.37.9>} spids: [19] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgrel) op: assign_op.Equal rhs: {<3>} spids: [22] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'An LLVM-to-JavaScript Compiler'>)} spids: [25] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:url) op: assign_op.Equal rhs: {(DQ <'https://kripken.github.io/emscripten-site/'>)} spids: [30] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: {(DQ <all>)} spids: [35] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:license) op: assign_op.Equal rhs: {(DQ <'MIT UOI-NCSA'>)} spids: [40] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$pkgname') <'-optimizer>='> ($ Id.VSub_DollarName '$pkgver') <' emscripten-fastcomp>='> ($ Id.VSub_DollarName '$pkgver') <'\n'> <'\tnodejs python2 node-closurecompiler-externs'> ) } spids: [45] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:makedepends) op: assign_op.Equal rhs: {(DQ <'binaryen clang cmake'>)} spids: [56] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:checkdepends) op: assign_op.Equal rhs: {(DQ <closure-compiler>)} spids: [61] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subpackages) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$pkgname') <'-optimizer\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'-libs-asmjs:libs_asmjs:noarch\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'-libs-wasm:libs_wasm:noarch'> ) } spids: [66] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:source) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$pkgname') <-> ($ Id.VSub_DollarName '$pkgver') <'.tar.gz::https://github.com/kripken/'> ($ Id.VSub_DollarName '$pkgname') <'/archive/'> ($ Id.VSub_DollarName '$pkgver') <'.tar.gz\n'> <'\tfix-python-shebang.patch\n'> <'\tsettings_template-paths.patch\n'> <'\tadd-system-level-config.patch\n'> <'\tmove-emcc-txt.patch\n'> <'\tbinaryen-wasm-js-path.patch\n'> <'\tclosurecompiler-externs-path.patch\n'> <'\tclosurecompiler-language_in-es6.patch\n'> <'\tembuilder-fix-task-all-for-wasm.patch\n'> <'\tembuilder-omit-provided.patch\n'> <'\tadd-global-cache.patch\n'> <'\temscripten.cfg'> ) } spids: [78] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:builddir) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$srcdir') <'/'> ($ Id.VSub_DollarName '$pkgname') <-> ($ Id.VSub_DollarName '$pkgver') ) } spids: [101] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_ports) op: assign_op.Equal rhs: { (DQ <'Bullet-version_1:bullet\n'> <'\tFreeType-version_1:freetype\n'> <'\tlibpng-version_1:libpng\n'> <'\tOgg-version_1:ogg\n'> <'\tSDL2-version_13:sdl2\n'> <'\tSDL2_image-version_3:sdl2-image\n'> <'\tSDL2_net-version_2:sdl2-net\n'> <'\tSDL2_ttf-version_1:sdl2-ttf\n'> <'\tVorbis-version_1:vorbis\n'> <'\tzlib-version_1:zlib\n'> <'\t'> ) } spids: [111] ) ] ) (command.ForEach iter_name: _port iter_words: [{($ Id.VSub_DollarName '$_ports')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_port) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name _port> suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{<':*'>}) ) } spids: [138] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:source) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$source') <' '> ($ Id.VSub_DollarName '$pkgname') <-port-> ($ Id.VSub_DollarName '$_port') <'-zip::https://github.com/emscripten-ports/'> (braced_var_sub token: <Id.VSub_Name _port> suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{<'-*'>}) ) <'/archive/'> (braced_var_sub token: <Id.VSub_Name _port> suffix_op: (suffix_op.Unary op_id:Id.VOp1_DPound arg_word:{<'*-'>}) ) <.zip> ) } spids: [146] ) ] ) ] ) ) (C {<export>} {<Id.Lit_VarLike 'EM_CACHE='> (DQ ($ Id.VSub_DollarName '$srcdir') <'/cache'>)}) (C {<export>} {<Id.Lit_VarLike 'EM_CONFIG='> (DQ ($ Id.VSub_DollarName '$srcdir') <'/.emscripten'>)}) (C {<export>} {<Id.Lit_VarLike 'EM_PORTS='> (DQ ($ Id.VSub_DollarName '$srcdir') <'/ports'>)}) (command.ShFunction name: prepare body: (BraceGroup children: [ (C {<default_prepare>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))}) (C {<cp>} {<'site/build/text/docs/tools_reference/emcc.txt'>} {<.>}) (command.Simple words: [ {<sed>} {<-e>} {(DQ <'s|/usr/share/emscripten|'> ($ Id.VSub_DollarName '$builddir') <'|'>)} {<-e>} { (DQ <'s|/usr/bin/emoptimizer|'> ($ Id.VSub_DollarName '$builddir') <'/tools/optimizer/optimizer|'> ) } {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/emscripten.cfg'>} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName '$EM_CONFIG'))} ) ] do_fork: T ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$EM_PORTS'))}) (command.Sentence child:(C {<local>} {<port>}) terminator:<Id.Op_Semi _>) (command.ForEach iter_name: port iter_words: [{($ Id.VSub_DollarName '$_ports')}] do_arg_iter: F body: (command.DoGroup children: [ (C {<ln>} {<-s>} {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/'> ($ Id.VSub_DollarName '$pkgname') <-port-> (braced_var_sub token: <Id.VSub_Name port> suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{<':*'>}) ) <-zip> } {(DQ ($ Id.VSub_DollarName '$EM_PORTS')) <'/'> (braced_var_sub token: <Id.VSub_Name port> suffix_op: (suffix_op.Unary op_id:Id.VOp1_Pound arg_word:{<'*:'>}) ) <.zip> } ) ] ) ) (C {<cp>} {<'tools/system_libs.py'>} {<'tools/system_libs.py.orig'>}) (C {<sed>} {<-Ei>} { (SQ < 's/^(\\s+).*\\.urlopen\\(.*/\\1logging.error("fetching disabled in abuild"); exit(1)/' > ) } {<'tools/system_libs.py'>} ) ] ) ) (command.ShFunction name: build body: (BraceGroup children: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir')) <'/tools/optimizer'>}) (C {<msg>} {(DQ <'Building optimizer...'>)}) (C {<cmake>} {<-DCMAKE_BUILD_TYPE> <Id.Lit_Equals '='> <Release>} {<-DCMAKE_INSTALL_PREFIX> <Id.Lit_Equals '='> <'/usr'>} {<-DCMAKE_CXX_FLAGS> <Id.Lit_Equals '='> (DQ ($ Id.VSub_DollarName '$CXXFLAGS'))} {<-DCMAKE_C_FLAGS> <Id.Lit_Equals '='> (DQ ($ Id.VSub_DollarName '$CFLAGS'))} {<-DCMAKE_C_COMPILER> <Id.Lit_Equals '='> <clang>} {<-DCMAKE_VERBOSE_MAKEFILE> <Id.Lit_Equals '='> <ON>} ) (C {<make>}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))}) (C {<msg>} {(DQ <'Building libraries and ports for asm.js...'>)}) (C {<'./embuilder.py'>} {<build>} {<ALL>}) (C {<msg>} {(DQ <'Building libraries and ports for WebAssembly...'>)}) (command.Simple words: [{<'./embuilder.py'>} {<build>} {<ALL>}] more_env: [(env_pair name:EMCC_WASM_BACKEND val:{<1>} spids:[451])] do_fork: T ) ] ) ) (command.ShFunction name: check body: (BraceGroup children: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir')) <'/tests'>}) (C {<rm>} {<-f>} {<hello_world.js> <Id.Lit_Star '*'>}) (C {<'../emcc'>} {<-Os>} {<--closure>} {<1>} {<-o>} {<hello_world.js>} {<hello_world.c>}) (C {<node>} {<hello_world.js>}) ] ) ) (command.ShFunction name: package body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'destdir='> (DQ ($ Id.VSub_DollarName '$pkgdir') <'/usr/share/'> ($ Id.VSub_DollarName '$pkgname')) } ) (C {<local>} {<name>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$destdir'))}) (C {<cp>} {<-r>} {(DQ ($ Id.VSub_DollarName '$builddir')) <'/'> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName '$destdir')) <'/'>} ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$destdir'))}) (C {<mv>} {<'tools/system_libs.py.orig'>} {<'tools/system_libs.py'>}) (C {<find>} {<.>} {<-name>} {(DQ <'*.bat'>)} {<-delete>}) (C {<find>} {<.>} {<-name>} {(DQ <'*.pyc'>)} {<-delete>}) (C {<rm>} {<-r>} {<docs>}) (C {<rm>} {<-r>} {<media>}) (C {<rm>} {<-r>} {<site>}) (C {<rm>} {<-r>} {<tests>}) (C {<rm>} {<-r>} {<third_party>}) (C {<rm>} {<-r>} {<'tools/optimizer'>}) (C {<rm>} {<AUTHORS>} {<LICENSE>} {<Id.Lit_Star '*'> <.md>} {<Id.Lit_Star '*'> <.markdown>} {<package.json>} ) (C {<rm>} {<'system/lib/build_cxx_natively.sh'>} {<'tools/update_libc_symbols.sh'>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin'>}) (command.ForEach iter_name: name iter_words: [ {<em> <Id.Lit_Other '+'> <Id.Lit_Other '+'>} {<em-config>} {<emar>} {<embuilder.py>} {<emcc>} {<emcmake>} {<emconfigure>} {<emlink.py>} {<emmake>} {<emrun>} {<emscons>} ] do_arg_iter: F body: (command.DoGroup children: [ (C {<ln>} {<-s>} {<'../share/'> ($ Id.VSub_DollarName '$pkgname') <'/'> ($ Id.VSub_DollarName '$name') } {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin/'> ($ Id.VSub_DollarName '$name')} ) ] ) ) (C {<install>} {<-D>} {<-m>} {<644>} {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/emscripten.cfg'>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/etc/emscripten.cfg'>} ) (C {<mkdir>} {<cache>}) (C {<install>} {<-m>} {<644>} {(DQ ($ Id.VSub_DollarName '$EM_CACHE')) <'/is_vanilla.txt'>} {<'cache/'>} ) ] ) ) (command.ShFunction name: optimizer body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'Emscripten\'s optimizer for asm.js code'>)} spids: [810] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ )} spids: [816] ) ] ) (C {<install>} {<-D>} {<-m>} {<755>} {(DQ ($ Id.VSub_DollarName '$builddir')) <'/tools/optimizer/optimizer'>} {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/bin/emoptimizer'>} ) ] ) ) (command.ShFunction name: libs_asmjs body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'Prebuilt libraries and ports for Emscripten - asm.js'>)} spids: [852] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$pkgname') <'='> ($ Id.VSub_DollarName '$pkgver') <-r> ($ Id.VSub_DollarName '$pkgrel') ) } spids: [858] ) ] ) (C {<local>} {<Id.Lit_VarLike 'destdir='> (DQ ($ Id.VSub_DollarName '$subpkgdir') <'/usr/share/'> ($ Id.VSub_DollarName '$pkgname') <'/cache/asmjs'> ) } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$destdir'))}) (C {<cp>} {<-r>} {(DQ ($ Id.VSub_DollarName '$EM_CACHE')) <'/asmjs/'> <Id.Lit_Star '*'> <.bc>} {(DQ ($ Id.VSub_DollarName '$destdir')) <'/'>} ) ] ) ) (command.ShFunction name: libs_wasm body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'Prebuilt libraries and ports for Emscripten - WebAssembly'>)} spids: [915] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$pkgname') <'='> ($ Id.VSub_DollarName '$pkgver') <-r> ($ Id.VSub_DollarName '$pkgrel') ) } spids: [921] ) ] ) (C {<local>} {<Id.Lit_VarLike 'destdir='> (DQ ($ Id.VSub_DollarName '$subpkgdir') <'/usr/share/'> ($ Id.VSub_DollarName '$pkgname') <'/cache/wasm'> ) } ) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$destdir'))}) (C {<cp>} {<-r>} {(DQ ($ Id.VSub_DollarName '$EM_CACHE')) <'/wasm/'> <Id.Lit_Star '*'> <.bc>} {(DQ ($ Id.VSub_DollarName '$destdir')) <'/'>} ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sha512sums) op: assign_op.Equal rhs: { (DQ < '0efd9035d3dce0726025b5b8e30129885eef30f915c502b8957150e4ffc11fd0e9a2b605854cdf69ca3eb05e5102bf34341b7edd2116f5fa29fd170a28e7f07f emscripten-1.37.9.tar.gz\n' > < 'a61e172ced6b72adb53a840255a9753905a0c7a1c9f8965345781b9cdcc8a596c4dc88f036e91bd5c05d8b3eb2908bbb7d991c4e1abcf35a46be67b9765e546a fix-python-shebang.patch\n' > < 'f190ea32dcd4af2661f455ffd8773cb0f7b30ba4a96d22609e11af7186ed1a5c230f3c379d717f23213e87143bb5601acc4d75799631854d0312ff308cbcc14b settings_template-paths.patch\n' > < '10a7a545f468a5f71fdf1cca0e0be983db5d21387202b851bd11f811c2a0a74f4e4c8733ae9ff933df4ea49c3f5e8e4e16fc3651bc98bb8c37a0828bb29eca7e add-system-level-config.patch\n' > < '6613ef4cf41bcf0ecc13a0415cdc847f4ec112f07dd19573000ea6a9a6f2360aee6b2db01f822d117d5022dc58b2421be89fe3421c46fd6857737d07ce489c1e move-emcc-txt.patch\n' > < 'a2a2c9b56e8d655b06fdbac2e297e07a0bbcdc3e3df7c913b5caac8ddf20f66b91ed77ac46275adcf8e92baedb5a50cb554c8f3fa59823e17006e17d8d11e820 binaryen-wasm-js-path.patch\n' > < '1d699aa0ab4b257d58c30ebefd6fbce9a74df964c37f360dcbcaaa6e6c6f4bc8e3f706f32e5855fb6e307d099c7eaca47d07d12a52c83caab43b268fccb606ef closurecompiler-externs-path.patch\n' > < '5b63f42e4934c7c6d5eedb9e46636a488bc0723618dd0b5d5b720d58cf9d1f6a6e6a768fe1ce1188f86bbb931b6881dfdfc36f8c0584775cb66a9d9e8a2cbb9a closurecompiler-language_in-es6.patch\n' > < '53bb9b64222dd445e8aefbb5a4b87bc6d562ea578a6f7a04c2605703f0235633583144fe478031e650a7346ba89f6e0aaf6c435aedb8398131fa02940356bc17 embuilder-fix-task-all-for-wasm.patch\n' > < '3d2fb817ea3e1dd661900df1e27bd135f39076723494b7ffbbe9e1561ae0a0e62a4ed0058301cf3e6b9a13f75adafe58dc902d4a32ade2cb16754a7fd5e542af embuilder-omit-provided.patch\n' > < '8d02f598df12ecbebab151a9d9e6972164bddf4da586e5a3070f2a5b35248b622a663a513295c1bf79fcf13523940ea5e47f8ab1def86e28b260dba8bfef7bac add-global-cache.patch\n' > < '42142064f828c39fbeb04e65c13c0eae8d843ee8541e67db361086b2d44ad896604d561220363f71aa8aa9f07ae6c285a39f49d9078f5a56e022879ed987c020 emscripten.cfg\n' > < '3922486816cf7d99ee02c3c1ef63d94290e8ed304016dd9927137d04206e7674d9df8773a4abb7bb57783d0a5107ad0f893aa87acfb34f7b316eec22ca55a536 emscripten-port-Bullet-version_1-zip\n' > < '0d0b1280ba0501ad0a23cf1daa1f86821c722218b59432734d3087a89acd22aabd5c3e5e1269700dcd41e87073046e906060f167c032eb91a3ac8c5808a02783 emscripten-port-FreeType-version_1-zip\n' > < 'a19ede8a4339f2745a490c22f3893899e1a5eae9d2b270e49d88d3a85239fbbaa26c9a352d0e6fb8bb69b4f45bd00c1ae9eff29b60cf03e79c5df45a4409992f emscripten-port-libpng-version_1-zip\n' > < '929e8d6003c06ae09593021b83323c8f1f54532b67b8ba189f4aedce52c25dc182bac474de5392c46ad5b0dea5a24928e4ede1492d52f4dd5cd58eea9be4dba7 emscripten-port-Ogg-version_1-zip\n' > < 'e7cbcafc1398c337814caa4b91692989d65ed5ffdd8ff1bebb9673a566bba6c16f1e3b72abefaff4b3e390b6571eba678e9ea197cdfd14641648b5282688ef50 emscripten-port-SDL2-version_13-zip\n' > < '785d6f636b5124dbfc65841fcd5c75df42c8186cb85e5c977e6e321317f0381a7690125a78e6687da1081b1ce6c876040d04083e770e2c8b28e7c2e776287555 emscripten-port-SDL2_image-version_3-zip\n' > < '317b22ad9b6b2f7b40fac7b7c426da2fa2da1803bbe58d480631f1e5b190d730763f2768c77c72affa806c69a1e703f401b15a1be3ec611cd259950d5ebc3711 emscripten-port-SDL2_net-version_2-zip\n' > < '6ce426de0411ba51dd307027c4ef00ff3de4ee396018e524265970039132ab20adb29c2d2e61576c393056374f03fd148dd96f0c4abf8dcee51853dd32f0778f emscripten-port-SDL2_ttf-version_1-zip\n' > < '99bee75beb662f8520bbb18ad6dbf8590d30eb3a7360899f0ac4764ca72fe8013da37c9df21e525f9d2dc5632827d4b4cea558cbc938e7fbed0c41a29a7a2dc5 emscripten-port-Vorbis-version_1-zip\n' > < '77f7d8f18fe11bb66a57e358325b7422d721f7b506bd63293cfde74079f958864db66ead5a36c311a76dd8c2b089b7659641a5522de650de0f9e6865782a60dd emscripten-port-zlib-version_1-zip' > ) } spids: [971] ) ] ) ] )