# Contributor: Sergei Lukin <sergej.lukin@gmail.com>
# Contributor: Jiri Horner <laeqten@gmail.com>
# Maintainer: Jiri Horner <laeqten@gmail.com>
setvar pkgname = 'webkit2gtk'
setvar pkgver = '2.16.6'
setvar pkgrel = '0'
setvar pkgdesc = ""portable web rendering engine WebKit for GTK+""
setvar url = ""http://webkitgtk.org/""
setvar arch = ""x86 x86_64 ppc64le aarch64 armhf""
setvar license = ""LGPL2+ BSD""
setvar 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
	""
setvar replaces = ""webkit""
setvar subpackages = ""$pkgname-dev $pkgname-doc $pkgname-lang""
setvar 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


setvar builddir = ""${srcdir}/webkitgtk-${pkgver}""
proc prepare {
	default_prepare || return 1
	rm -r Source/ThirdParty/gtest/ || return 1
}

proc build {
	local _jitopt=
	case (CARCH) {
	armhf { setvar _archopt = ""-DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF -DUSE_SYSMEM_MALLOC=ON""}
	aarch64 { setvar _archopt = ""-DUSE_LD_GOLD=OFF""}
	ppc64le { setvar _archopt = ""-DENABLE_JIT=OFF -DUSE_SYSMTE_MALLOC=ON""}
	s390x { setvar _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
}

setvar sha512sums = ""bb488d7a60e4d6f9683ac343852a75854ef73e6b5aa093361ffe2d08e71e2f11c19da4447f9937221e518cda784bdacfcfd151f9395605a1957380fbc5b1533b  webkitgtk-2.16.6.tar.xz
95f88563cb83387e3f44781dd8b00c5adf53e352869ca1d217c6cfc0895e9b7680e24820b8df340316564dcbc4cb65eb502fb003089b4805b9ac9f583f454013  musl-fixes.patch""