aboutsummaryrefslogtreecommitdiffstats
path: root/community/webkitgtk/APKBUILD
blob: bc83c69562248e967cece5db18a90c040d22df5b (plain)
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=webkitgtk
pkgver=2.4.11
pkgrel=3
pkgdesc="portable web rendering engine WebKit for GTK+"
url="http://webkitgtk.org/"
arch="all"
license="LGPL2+ BSD"
depends=""
depends_dev="gtk+2.0-dev gtk+3.0-dev libsoup-dev gstreamer1-dev
	gst-plugins-base1-dev"
makedepends="$depends_dev
	autoconf automake libtool
	bison
	enchant-dev
	expat-dev
	flex
	gnutls-dev
	gobject-introspection-dev
	gperf
	gtk-doc
	icu-dev
	libgcrypt-dev
	libgpg-error-dev
	libjpeg-turbo-dev
	libpng-dev
	libsecret-dev
	libsoup-dev
	libwebp-dev
	libxcomposite-dev
	libxcursor-dev
	libxdamage-dev
	libxi-dev
	libxml2-dev
	libxrandr-dev
	libxslt-dev
	libxt-dev
	mesa-dev
	pango-dev
	perl-switch
	ruby
	sqlite-dev
	zlib-dev
	"
install=
replaces="webkit"
subpackages="$pkgname-dev $pkgname-lang webkitgtk2"
source="http://webkitgtk.org/releases/webkitgtk-$pkgver.tar.xz
	webkit-gtk-1.7.90-parallel-make-hack.patch
	webkitgtk-1.10-textrels.patch
	harfbuzz.patch
	fix-execinfo.patch
	disallow-ctype.patch
	webkitgtk-2.4.9-abs.patch
	"

_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
	cd "$_builddir"
	update_config_sub || return 1
	for i in $source; do
		case "$i" in
		*.patch)
			msg "Applying $i"
			patch -p1 -i "$srcdir"/$i || return 1
			;;
		esac
	done
	libtoolize --force && aclocal -I Source/autotools \
		&& autoconf && automake --force --add-missing || return 1
}

_build() {
	local _ver=$1

	# disable jit on aarch64 and ppc64le
	if [ "$CARCH" = "aarch64" ] || [ "CARCH" = "ppc64le" ]; then
		local _conf="--disable-jit"
		export CXXFLAGS="$CXXFLAGS -DENABLE_YARR_JIT=0"
	fi

	# Workaround crashes with gcc 6.1
	export CXXFLAGS="$CXXFLAGS -fno-delete-null-pointer-checks"

	shift
	../configure $@\
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--libexecdir=/usr/lib/webkitgtk-$_ver \
		--disable-geolocation \
		--enable-introspection \
		--with-gtk=$_ver \
		--disable-webkit2 \
		$_conf \
		|| return 1

	# fight overlinking
	# https://bugzilla.gnome.org/show_bug.cgi?id=655517
	sed -i 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool || return 1

	# hack to work around parallel make problems,
	# see https://bugs.webkit.org/show_bug.cgi?id=79498
	make -j1 all-built-sources-local \
		&& make all-ltlibraries-local \
		&& make all-programs-local \
		&& make || return 1
}

build() {
	cd "$_builddir"
	mkdir -p build-2.0
	msg "building for gtk2"
	(cd build-2.0 && _build 2.0) || return 1

	msg "building for gtk3"
	mkdir -p build-3.0
	(cd build-3.0 && _build 3.0) || return 1
}


package() {
	cd "$_builddir"
	for i in 2.0 3.0; do
		cd build-$i
		make DESTDIR="$pkgdir" install || return 1
		# verify so we dont have textrels
		if scanelf -qRt "$pkgdir" | grep TEXTREL; then
			error "found textrels"
			return 1
		fi
		cd ..
	done
}

webkitgtk2() {
	pkgdesc="portable web rendering engine WebKit for GTK+2"
	local dir
	mkdir -p "$subpkgdir"/usr/share \
		"$subpkgdir"/usr/lib \
		"$subpkgdir"/usr/lib/girepository-1.0 \
		"$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/share/webkitgtk-1.0 "$subpkgdir"/usr/share/ \
		|| return 1
	mv "$pkgdir"/usr/lib/girepository-1.0/*-1.0* \
		"$subpkgdir"/usr/lib/girepository-1.0/ || return 1
	mv "$pkgdir"/usr/lib/lib*-1.0* \
		"$subpkgdir"/usr/lib/ || return 1
	mv "$pkgdir"/usr/bin/jsc-1 \
		"$subpkgdir"/usr/bin/ || return 1
}

md5sums="24a25ccc30a7914ae50922aedf24b7bc  webkitgtk-2.4.11.tar.xz
de77a3e7e61753e7f1cce3f4bd00a3f6  webkit-gtk-1.7.90-parallel-make-hack.patch
9ace721086b25f0f32d7f76b29789f67  webkitgtk-1.10-textrels.patch
b1f455b3ea4db1598b60f5aa59f27fd5  harfbuzz.patch
c114751c30cdcaede5a7ed5568b2b0d4  fix-execinfo.patch
f5b41e756d2dfdc2bbee034d4f2d2e66  disallow-ctype.patch
f5f1f913a4abd3bb9cff2055305ead16  webkitgtk-2.4.9-abs.patch"
sha256sums="588aea051bfbacced27fdfe0335a957dca839ebe36aa548df39c7bbafdb65bf7  webkitgtk-2.4.11.tar.xz
e20d7d45e6230308f7d4a7aac1095cb1fe8d9c7eb0f3e65b061acf8bc4bbaf73  webkit-gtk-1.7.90-parallel-make-hack.patch
754bbf13c7a6c9bd745f642367ff884156020dd2ea7611c3d20a509c6685c836  webkitgtk-1.10-textrels.patch
0b7c1ce7e0e8548507eed8911c73d4a06434e5ca3b84275e785013f8b04433a2  harfbuzz.patch
b2bc9e03fd5d968d6df4531a7d102496139120e666e6fed397a19ae4026751c6  fix-execinfo.patch
6e972b5cb3f1101be646d1a018ff61c0e6614310a971eb392c4fd0fee5623455  disallow-ctype.patch
ec294bbb5588a1802a68e3615c6718486b22f922645c5fef686d3d103014bf70  webkitgtk-2.4.9-abs.patch"
sha512sums="2e2cf01a52b8593765a0a3c2d7f0ad306121660019eb402226bd2826c7d4666dab4e91ca6ccbd29abe0ad3993549f256ed1ab88de22e9c8516d5f40a4edd6bfb  webkitgtk-2.4.11.tar.xz
907356faab08ebf65da8760ad11ee8ecd4e97274b1c00c1e207fd52e479d64a0545ba66859b1a79bd150a95da4a9e8724b3c461a24f803fb341b8242566b5cc0  webkit-gtk-1.7.90-parallel-make-hack.patch
c3502a11ce4777abc164209c0087ec7cb6c28b376056bee52651b4e4bd2d49f2d6e4a74422f21d9bce848479a4a1b02052935b3c9397f1d43a59b3de22ef2758  webkitgtk-1.10-textrels.patch
8eb77ed1a1c60aac44fb00cfa6ddd46a23c4701fd6a24eac901d07eb49e0191080f7410fa3801115da5448b514e5d2095a4c4072a8c1e9f8c668eebb78afe6a1  harfbuzz.patch
602630468ee80b9f9bb53ee7808f4b2f2c86d1d4db14ac9c244b3e2e79a245510a289eb321cb7dbefd3b7a2dde13cf444b8ecf7cd46f23eaa5c0f04670914e42  fix-execinfo.patch
40a213548d4f76152d2cae57c15c6fb079b64a681a2b033b0c8265c5dbe2653818c898d1ac76ae59298cbf568dc4b811f86c3913e9d2c3d3f33e5cb8c1bd217e  disallow-ctype.patch
64ec41fc02d6bfc4e6cdc13cc2560aaefcf2b5c9c6ac62a6e3d3b85221487b44bf8b7edbf972635d1628f1d3919f96f4dd417774b8d39691b3b0d7925e499f82  webkitgtk-2.4.9-abs.patch"