summaryrefslogtreecommitdiff
path: root/experimental/qt5-qtwebkit/APKBUILD
blob: fb6c396315b9714afaf756c087e9651f478183fb (plain) (blame)
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
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=qt5-qtwebkit
_realname=qtwebkit
pkgver=5.212.0_alpha2
_realver=${pkgver/_/-}
pkgrel=0
pkgdesc="Open source Web browser engine"
url="https://github.com/annulen/webkit"
arch="all"
license="LGPL-2.1+ AND BSD-3-Clause AND Others"
depends="gst-plugins-base"
depends_dev="qt5-qtbase-dev"
makedepends="$depends_dev ninja sqlite-dev icu-dev ruby perl bison flex gperf
	libxml2-dev libxslt-dev libjpeg-turbo-dev libpng-dev zlib-dev glib-dev
	gstreamer-dev fontconfig-dev qt5-qtsensors-dev qt5-qtpositioning-dev
	qt5-qtdeclarative-dev qt5-qtwebchannel-dev libxcomposite-dev
	libxrender-dev gst-plugins-base-dev hyphen-dev libexecinfo-dev"
subpackages="$pkgname-dev $pkgname-doc"
source="https://github.com/annulen/webkit/releases/download/$_realname-$_realver/$_realname-$_realver.tar.xz
	jsc-port-to-musl.patch
	musl-thread-stacksize.patch
	"
builddir="$srcdir"/$_realname-$_realver

unpack() {
	default_unpack
	# just ripped from Firefox's APKBUILD...
	[ -z $SKIP_PYTHON ] || return 0
	msg "Killing all remaining hope for humanity and building Python 2..."
	cd "$srcdir"
	[ -d python ] && rm -r python
	mkdir python
	cd python
	# 19:39 <+solar> just make the firefox build process build its own py2 copy
	curl -O https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tar.xz
	tar xJf Python-2.7.15.tar.xz
	cd Python-2.7.15
	# 20:03 <calvin> TheWilfox: there's always violence
	./configure --prefix="$srcdir/python"
	make -j $JOBS
	# 6 tests failed:
	#    test__locale test_os test_posix test_re test_strptime test_time
	# make test
	make -j $JOBS install
}

build() {
	cd "$builddir"
	if [ "$CBUILD" != "$CHOST" ]; then
		CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
	fi
	export PATH="$srcdir/python/bin:$PATH"
	# We can enable the JIT when it is stable on all Tier 1 platforms:
	# pmmx (ensure no SSE)
	# ppc
	# ppc64
	#
	# DONE:
	# aarch64
	# armv7
	# x86_64
	cmake \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DBUILD_SHARED_LIBS=True \
		-DCMAKE_BUILD_TYPE=RelWithDebugInfo \
		-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
		-DCMAKE_C_FLAGS="$CFLAGS" \
		-DENABLE_JIT=OFF \
		-DPORT=Qt \
		-DUSE_SYSTEM_MALLOC=ON \
		${CMAKE_CROSSOPTS}
	# too memory hungry
	if [ -z "$JOBS" -o $JOBS -gt 32 ]; then
		make -j32
	else
		make
	fi
}

check() {
	cd "$builddir"
	CTEST_OUTPUT_ON_FAILURE=TRUE ctest
}

package() {
	cd "$builddir"
	make DESTDIR="$pkgdir" install
}

sha512sums="b15985aab20c5618dc1f71a0d91f02dbed993516272090a4a12990714bf4c9554ccbdcf9d6a143bf46fcc2c170f691e571114d61686fe49791f8d5c540785758  qtwebkit-5.212.0-alpha2.tar.xz
19efd97c5f628108d30cc0e5e53f689725cc480ffe1ea90577e5f961d7f35a6a434dda5a03c73c0fb74a30c46ced32bcf580340a2eaf4e72960e61c28ed34dba  jsc-port-to-musl.patch
a8df6d20346882e49745dbdf9bdf2eddf2f3e1ac3301e9fd826397fa746d1d9228deaf2eab0316fa977a85032d6c091559cd5404b7a576e3adc0bec64a5a4ad9  musl-thread-stacksize.patch"