# Contributor: William Pitcock # Maintainer: William Pitcock global pkgname := 'v8' global pkgver := '3.30.33.16' global pkgrel := '0' global pkgdesc := '"V8 JavaScript/ECMAScript Engine'" global url := '"http://www.chromium.org/'" global arch := '"all'" global license := '"BSD'" global depends := ''"" global depends_dev := '"icu-dev readline-dev'" global makedepends := ""$(depends_dev) python paxmark"" global install := ''"" global subpackages := ""$pkgname-dev"" # look for updates: http://gsdview.appspot.com/chromium-browser-official/?marker=v8-3.30.22.tar.bz2.hashe%40 global source := ""http://gsdview.appspot.com/chromium-browser-official/v8-$pkgver.tar.bz2 v8.pc"" global builddir := ""$srcdir"/v8-$pkgver" test $CARCH = 'x86' && global ARCH := 'ia32' test $CARCH = 'x86_64' && global ARCH := 'x64' proc prepare { var i = '' cd $builddir for i in [$source] { matchstr $i { *.patch { msg $i; patch -p1 -i "$srcdir"/$i || return 1} } } sed "s/@VERSION@/$pkgver/g" -i "$srcdir/v8.pc" } proc build { cd $builddir var paxflags = '"-m'" test $CARCH = "x86" && paxflags := '"-msp'" msg "Start building..." export CXXFLAGS="$CXXFLAGS -fno-delete-null-pointer-checks" build/gyp_v8 \ -Dv8_enable_i18n_support=1 \ -Duse_system_icu=1 \ -Dconsole=readline \ -Dcomponent=shared_library \ -Dv8_target_arch=$ARCH \ -Dwerror= \ --generator-output=out \ -f make cd out make BUILDTYPE=Release Release/mksnapshot || return 1 paxmark $paxflags Release/mksnapshot || return 1 make BUILDTYPE=Release } proc package { cd $builddir shell { set -e install -Dm755 out/Release/d8 "$pkgdir"/usr/bin/d8 install -Dm755 out/Release/lib.target/libv8.so "$pkgdir"/usr/lib/libv8.so install -d "$pkgdir"/usr/include install -Dm644 include/*.h "$pkgdir"/usr/include install -d "$pkgdir"/usr/lib/pkgconfig install -m644 "$srcdir/v8.pc" "$pkgdir"/usr/lib/pkgconfig install -d "$pkgdir"/usr/share/licenses/v8 install -m644 LICENSE* "$pkgdir"/usr/share/licenses/v8 } } global md5sums := '"935177ef0ca8119511c49b697e4d16f4 v8-3.30.33.16.tar.bz2 082724bc560e90d846c0aa441847020c v8.pc'" global sha256sums := '"85d0a3a599a34a572813d134b038f4eea774671398a7097af944e267c60aeeab v8-3.30.33.16.tar.bz2 2b054309df9af9fb2e3e14527e88360b44745649b4866e592fb357ac90935f5d v8.pc'" global sha512sums := '"af7c44e050d254dc51d5485dbf1c3208bb3aeed658a25689eb7c93a723ec704a6dfe771caab5c137624ee0cdbf7f9ff9f3a19a24c3af4a1ac736983e4592dd61 v8-3.30.33.16.tar.bz2 67848ce85a6e4b674cf8775a21e687884530748a0296a2259373636729c9a230a27b7ebfbf5fafff3c1e9c102956246ec4eb744853e564fc8337b42a125aeea8 v8.pc'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(v8)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(3.30.33.16)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("V8 JavaScript/ECMAScript Engine"))} spids: [15] ) ] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://www.chromium.org/"))} spids: [20] ) ] spids: [20] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[25])] spids: [25] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (BSD))} spids:[30])] spids: [30] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[35])] spids: [35] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends_dev) op: Equal rhs: {(DQ ("icu-dev readline-dev"))} spids: [39] ) ] spids: [39] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: {(DQ (${ VSub_Name depends_dev) (" python paxmark"))} spids: [44] ) ] spids: [44] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[52])] spids: [52] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") (-dev))} spids: [56] ) ] spids: [56] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://gsdview.appspot.com/chromium-browser-official/v8-") ($ VSub_Name "$pkgver") (".tar.bz2\n") ("\tv8.pc") ) } spids: [65] ) ] spids: [65] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir")) (/v8-) ($ VSub_Name "$pkgver")} spids: [74] ) ] spids: [74] ) (AndOr children: [ (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$CARCH"))} {(Lit_Other "=")} {(SQ )} {(Lit_Other "]")} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ARCH) op:Equal rhs:{(ia32)} spids:[98])] spids: [98] ) ] op_id: Op_DAmp ) (AndOr children: [ (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$CARCH"))} {(Lit_Other "=")} {(SQ )} {(Lit_Other "]")} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ARCH) op:Equal rhs:{(x64)} spids:[117])] spids: [117] ) ] op_id: Op_DAmp ) (FuncDef name: prepare body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[130])] spids: [128] ) (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (ForEach iter_name: i iter_words: [{($ VSub_Name "$source")}] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$i")} arms: [ (case_arm pat_list: [{(Lit_Other "*") (.patch)}] action: [ (Sentence child: (C {(msg)} {($ VSub_Name "$i")}) terminator: ) (AndOr children: [ (C {(patch)} {(-p1)} {(-i)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i")} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [159 161 185 -1] ) ] spids: [152 156 188] ) ] spids: [149 191] ) spids: [145 147] ) (C {(sed)} {(DQ ("s/@VERSION@/") ($ VSub_Name "$pkgver") (/g))} {(-i)} {(DQ ($ VSub_Name "$srcdir") (/v8.pc))} ) ] spids: [125] ) spids: [121 124] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:paxflags) op:Equal rhs:{(DQ (-m))} spids:[228])] spids: [226] ) (AndOr children: [ (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$CARCH"))} {(Lit_Other "=")} {(DQ (x86))} {(Lit_Other "]")} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:paxflags) op: Equal rhs: {(DQ (-msp))} spids: [250] ) ] spids: [250] ) ] op_id: Op_DAmp ) (C {(msg)} {(DQ ("Start building..."))}) (C {(export)} {(Lit_VarLike "CXXFLAGS=") (DQ ($ VSub_Name "$CXXFLAGS") (" -fno-delete-null-pointer-checks")) } ) (C {(build/gyp_v8)} {(-Dv8_enable_i18n_support) (Lit_Other "=") (1)} {(-Duse_system_icu) (Lit_Other "=") (1)} {(-Dconsole) (Lit_Other "=") (readline)} {(-Dcomponent) (Lit_Other "=") (shared_library)} {(-Dv8_target_arch) (Lit_Other "=") ($ VSub_Name "$ARCH")} {(-Dwerror) (Lit_Other "=")} {(--generator-output) (Lit_Other "=") (out)} {(-f)} {(make)} ) (C {(cd)} {(out)}) (AndOr children: [ (C {(make)} {(Lit_VarLike "BUILDTYPE=") (Release)} {(Release/mksnapshot)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(paxmark)} {(DQ ($ VSub_Name "$paxflags"))} {(Release/mksnapshot)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(make)} {(Lit_VarLike "BUILDTYPE=") (Release)}) ] spids: [216] ) spids: [212 215] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (Subshell child: (CommandList children: [ (C {(set)} {(-e)}) (C {(install)} {(-Dm755)} {(out/Release/d8)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/d8)} ) (C {(install)} {(-Dm755)} {(out/Release/lib.target/libv8.so)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/libv8.so)} ) (C {(install)} {(-d)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/include)}) (C {(install)} {(-Dm644)} {(include/) (Lit_Other "*") (.h)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/include)} ) (C {(install)} {(-d)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/pkgconfig)}) (C {(install)} {(-m644)} {(DQ ($ VSub_Name "$srcdir") (/v8.pc))} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/pkgconfig)} ) (C {(install)} {(-d)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/licenses/v8)}) (C {(install)} {(-m644)} {(LICENSE) (Lit_Other "*")} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/licenses/v8)} ) ] ) spids: [379 486] ) ] spids: [369] ) spids: [365 368] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:md5sums) op: Equal rhs: { (DQ ("935177ef0ca8119511c49b697e4d16f4 v8-3.30.33.16.tar.bz2\n") ("082724bc560e90d846c0aa441847020c v8.pc") ) } spids: [491] ) ] spids: [491] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha256sums) op: Equal rhs: { (DQ ( "85d0a3a599a34a572813d134b038f4eea774671398a7097af944e267c60aeeab v8-3.30.33.16.tar.bz2\n" ) ("2b054309df9af9fb2e3e14527e88360b44745649b4866e592fb357ac90935f5d v8.pc") ) } spids: [497] ) ] spids: [497] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "af7c44e050d254dc51d5485dbf1c3208bb3aeed658a25689eb7c93a723ec704a6dfe771caab5c137624ee0cdbf7f9ff9f3a19a24c3af4a1ac736983e4592dd61 v8-3.30.33.16.tar.bz2\n" ) ( "67848ce85a6e4b674cf8775a21e687884530748a0296a2259373636729c9a230a27b7ebfbf5fafff3c1e9c102956246ec4eb744853e564fc8337b42a125aeea8 v8.pc" ) ) } spids: [503] ) ] spids: [503] ) ] )