# Contributor: Sergei Lukin # Contributor: Jiri Horner # Maintainer: Jiri Horner global pkgname := 'webkit2gtk' global pkgver := '2.16.6' global pkgrel := '0' global pkgdesc := '"portable web rendering engine WebKit for GTK+'" global url := '"http://webkitgtk.org/'" global arch := '"x86 x86_64 ppc64le aarch64 armhf'" global license := '"LGPL2+ BSD'" global makedepends := ""$depends_dev bison cmake enchant-dev flex gnutls-dev gobject-introspection-dev gperf gst-plugins-base-dev gstreamer-dev gtk+3.0-dev gtk-doc hyphen-dev icu-dev libgcrypt-dev libjpeg-turbo-dev libnotify-dev libpng-dev libsecret-dev libsoup-dev libwebp-dev libxml2-dev libxslt-dev libxt-dev mesa-dev pango-dev paxmark ruby sqlite-dev "" global replaces := '"webkit'" global subpackages := ""$pkgname-dev $pkgname-doc $pkgname-lang"" global source := ""http://webkitgtk.org/releases/webkitgtk-$pkgver.tar.xz musl-fixes.patch "" # secfixes: # 2.14.5-r0: # - CVE-2017-2350 # - CVE-2017-2354 # - CVE-2017-2355 # - CVE-2017-2356 # - CVE-2017-2362 # - CVE-2017-2363 # - CVE-2017-2364 # - CVE-2017-2365 # - CVE-2017-2366 # - CVE-2017-2369 # - CVE-2017-2371 # - CVE-2017-2373 global builddir := ""$(srcdir)/webkitgtk-$(pkgver)"" proc prepare { default_prepare || return 1 rm -r Source/ThirdParty/gtest/ || return 1 } proc build { var _jitopt = '' matchstr $CARCH { armhf { global _archopt := '"-DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF -DUSE_SYSMEM_MALLOC=ON'"} aarch64 { global _archopt := '"-DUSE_LD_GOLD=OFF'"} ppc64le { global _archopt := '"-DENABLE_JIT=OFF -DUSE_SYSMTE_MALLOC=ON'"} s390x { global _archopt := '"-DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF -DUSE_SYSMEM_MALLOC=ON'"} } cd $builddir mkdir build && cd build cmake -DPORT=GTK \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_RPATH=ON \ -DCMAKE_INSTALL_PREFIX=/usr \ -DLIB_INSTALL_DIR=/usr/lib \ -DLIBEXEC_INSTALL_DIR=/usr/lib/webkit2gtk-4.0 \ -DENABLE_GTKDOC=ON \ -DENABLE_GEOLOCATION=OFF \ -DENABLE_PLUGIN_PROCESS_GTK2=OFF \ $_archopt \ .. || return 1 make || return 1 } proc package { cd "$builddir"/build make DESTDIR="$pkgdir" install || return 1 # needed for JIT paxmark -m "$pkgdir"/usr/lib/webkit2gtk-4.0/WebKitWebProcess || return 1 } global sha512sums := '"bb488d7a60e4d6f9683ac343852a75854ef73e6b5aa093361ffe2d08e71e2f11c19da4447f9937221e518cda784bdacfcfd151f9395605a1957380fbc5b1533b webkitgtk-2.16.6.tar.xz 95f88563cb83387e3f44781dd8b00c5adf53e352869ca1d217c6cfc0895e9b7680e24820b8df340316564dcbc4cb65eb502fb003089b4805b9ac9f583f454013 musl-fixes.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(webkit2gtk)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(2.16.6)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("portable web rendering engine WebKit for GTK+"))} spids: [18] ) ] spids: [18] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://webkitgtk.org/"))} spids: [23] ) ] spids: [23] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:arch) op: Equal rhs: {(DQ ("x86 x86_64 ppc64le aarch64 armhf"))} spids: [28] ) ] spids: [28] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ ("LGPL2+ BSD"))} spids:[33])] spids: [33] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ ($ VSub_Name "$depends_dev") ("\n") ("\tbison\n") ("\tcmake\n") ("\tenchant-dev\n") ("\tflex\n") ("\tgnutls-dev\n") ("\tgobject-introspection-dev\n") ("\tgperf\n") ("\tgst-plugins-base-dev\n") ("\tgstreamer-dev\n") ("\tgtk+3.0-dev\n") ("\tgtk-doc\n") ("\thyphen-dev\n") ("\ticu-dev\n") ("\tlibgcrypt-dev\n") ("\tlibjpeg-turbo-dev\n") ("\tlibnotify-dev\n") ("\tlibpng-dev\n") ("\tlibsecret-dev\n") ("\tlibsoup-dev\n") ("\tlibwebp-dev\n") ("\tlibxml2-dev\n") ("\tlibxslt-dev\n") ("\tlibxt-dev\n") ("\tmesa-dev\n") ("\tpango-dev\n") ("\tpaxmark\n") ("\truby\n") ("\tsqlite-dev\n") ("\t") ) } spids: [38] ) ] spids: [38] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:replaces) op:Equal rhs:{(DQ (webkit))} spids:[73])] spids: [73] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("-dev ") ($ VSub_Name "$pkgname") ("-doc ") ($ VSub_Name "$pkgname") (-lang) ) } spids: [78] ) ] spids: [78] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://webkitgtk.org/releases/webkitgtk-") ($ VSub_Name "$pkgver") (".tar.xz\n") ("\tmusl-fixes.patch\n") ("\t") ) } spids: [88] ) ] spids: [88] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ (${ VSub_Name srcdir) (/webkitgtk-) (${ VSub_Name pkgver))} spids: [142] ) ] spids: [142] ) (FuncDef name: prepare body: (BraceGroup children: [ (AndOr children: [ (C {(default_prepare)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(rm)} {(-r)} {(Source/ThirdParty/gtest/)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [157] ) spids: [153 156] ) (FuncDef name: build body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:_jitopt) op:Equal rhs:{(SQ )} spids:[193])] spids: [191] ) (Case to_match: {(DQ ($ VSub_Name "$CARCH"))} arms: [ (case_arm pat_list: [{(armhf)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_archopt) op: Equal rhs: {(DQ ("-DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF -DUSE_SYSMEM_MALLOC=ON"))} spids: [208] ) ] spids: [208] ) ] spids: [205 206 212 -1] ) (case_arm pat_list: [{(aarch64)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_archopt) op: Equal rhs: {(DQ ("-DUSE_LD_GOLD=OFF"))} spids: [218] ) ] spids: [218] ) ] spids: [215 216 222 -1] ) (case_arm pat_list: [{(ppc64le)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_archopt) op: Equal rhs: {(DQ ("-DENABLE_JIT=OFF -DUSE_SYSMTE_MALLOC=ON"))} spids: [228] ) ] spids: [228] ) ] spids: [225 226 232 -1] ) (case_arm pat_list: [{(s390x)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_archopt) op: Equal rhs: {(DQ ("-DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF -DUSE_SYSMEM_MALLOC=ON"))} spids: [238] ) ] spids: [238] ) ] spids: [235 236 242 -1] ) ] spids: [196 202 245] ) (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (AndOr children:[(C {(mkdir)} {(build)})(C {(cd)} {(build)})] op_id:Op_DAmp) (AndOr children: [ (C {(cmake)} {(-DPORT) (Lit_Other "=") (GTK)} {(-DCMAKE_BUILD_TYPE) (Lit_Other "=") (Release)} {(-DCMAKE_SKIP_RPATH) (Lit_Other "=") (ON)} {(-DCMAKE_INSTALL_PREFIX) (Lit_Other "=") (/usr)} {(-DLIB_INSTALL_DIR) (Lit_Other "=") (/usr/lib)} {(-DLIBEXEC_INSTALL_DIR) (Lit_Other "=") (/usr/lib/webkit2gtk-4.0)} {(-DENABLE_GTKDOC) (Lit_Other "=") (ON)} {(-DENABLE_GEOLOCATION) (Lit_Other "=") (OFF)} {(-DENABLE_PLUGIN_PROCESS_GTK2) (Lit_Other "=") (OFF)} {($ VSub_Name "$_archopt")} {(..)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [(C {(make)}) (ControlFlow token: arg_word:{(1)})] op_id: Op_DPipe ) ] spids: [188] ) spids: [184 187] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir")) (/build)}) (AndOr children: [ (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(paxmark)} {(-m)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/webkit2gtk-4.0/WebKitWebProcess)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [351] ) spids: [347 350] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "bb488d7a60e4d6f9683ac343852a75854ef73e6b5aa093361ffe2d08e71e2f11c19da4447f9937221e518cda784bdacfcfd151f9395605a1957380fbc5b1533b webkitgtk-2.16.6.tar.xz\n" ) ( "95f88563cb83387e3f44781dd8b00c5adf53e352869ca1d217c6cfc0895e9b7680e24820b8df340316564dcbc4cb65eb502fb003089b4805b9ac9f583f454013 musl-fixes.patch" ) ) } spids: [400] ) ] spids: [400] ) ] )