aboutsummaryrefslogtreecommitdiffstats
path: root/main/webkitgtk/APKBUILD
blob: 92b891105ea61c5c514043509e4d22686a9d059c (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
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=webkitgtk
pkgver=2.4.8
pkgrel=1
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.8-gmutexlocker.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
	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 \
		|| 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
		rm -f "$pkgdir"/usr/lib/*.la
		# 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="bcdcef8e1ba28dbd5bb05f86c79f76b8  webkitgtk-2.4.8.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
6f9adcee0c28708575bde0ee8e8cb340  webkitgtk-2.4.8-gmutexlocker.patch"
sha256sums="68f11559cb178679ca92acc9e3a3d7febede7acb7b98afd7fb761875bbc6bd23  webkitgtk-2.4.8.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
6d960f4e73fdac121ab7b7e5acf60e5bf788e920247189ad43b24cdf6c9d6759  webkitgtk-2.4.8-gmutexlocker.patch"
sha512sums="31b8b87142730aa27e5bd4fe85b0de2116fd492ef469592512c185d60df428a9913d6c2738ce57439bf9db10864ed9c121ddbc2a4da2f715818a70885c81c0de  webkitgtk-2.4.8.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
4fb83ac95ca8eea21469d3f1ab222df0287d4088e231dcf3b38d21dfe84af973f4af34e7754fe4be50c82d07d853c280ad6695cbebc0a7f007cdabf20c3ad932  webkitgtk-2.4.8-gmutexlocker.patch"