aboutsummaryrefslogtreecommitdiffstats
path: root/testing/wpewebkit/APKBUILD
blob: f84a21d745692fd67946725a178a49129af24ab8 (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
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=wpewebkit
pkgver=2.38.2
pkgrel=0
pkgdesc="WebKit port optimized for embedded devices"
url="https://wpewebkit.org"
arch="all"
license="other"
makedepends="
	at-spi2-core-dev
	bubblewrap
	cairo-dev
	clang
	cmake
	gi-docgen
	gobject-introspection-dev
	gperf
	gst-plugins-base-dev
	gtk-doc
	harfbuzz-dev
	lcms2-dev
	libepoxy-dev
	libgcrypt-dev
	libseccomp-dev
	libsoup3-dev
	libtasn1-dev
	libwpe-dev
	libwpebackend-fdo-dev
	libxkbcommon-dev
	libxslt-dev
	llvm
	ninja
	openjpeg-dev
	perl
	ruby-dev
	wayland-dev
	wayland-protocols
	woff2-dev
	xdg-dbus-proxy
	"
subpackages="$pkgname-dev $pkgname-doc"
source="https://wpewebkit.org/releases/wpewebkit-$pkgver.tar.xz
	patch-gettext.patch
	"
# fails to strip on riscv64 with binutils
options="!check !strip"

case "$CARCH" in
s390x)
	;;
*)
	makedepends="$makedepends lld"
	;;
esac

build() {
	case "$CARCH" in
	armv7)
		# needs some NEON fixes for clang
		;;
	s390x)
		# no lld
		export CC=clang
		export CXX=clang++
		;;
	*)
		# much lower build memory usage and better final size
		export CC=clang
		export CXX=clang++
		export LDFLAGS="$LDFLAGS -fuse-ld=lld"
		;;
	esac
	if [ "$CBUILD" != "$CHOST" ]; then
		CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
	fi

	export AR=llvm-ar
	export NM=llvm-nm
	export RANLIB=llvm-ranlib

	cmake -B build \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DBUILD_SHARED_LIBS=True \
		-DCMAKE_BUILD_TYPE=Release \
		-DPORT=WPE \
		-DENABLE_MINIBROWSER=On \
		-DENABLE_JOURNALD_LOG=Off \
		-GNinja \
		$CMAKE_CROSSOPTS .
	cmake --build build
}

package() {
	DESTDIR="$pkgdir" cmake --install build
	# binutils can't strip the binaries on riscv, so use the llvm binutils for
	# it by hand
	scanelf --recursive \
		--nobanner \
		--etype "ET_DYN,ET_EXEC" \
		--format "%F" \
		"$pkgdir" \
		| while read -r file; do
		llvm-strip "$file"
	done
}

sha512sums="
be86500d7d88df673f0b958aabc0c5270ca256bea8816cdbd2bf6eb3e81dee2754e748ff3c7046112a5c9941bb84a2f87a02636159412a2824c18ff3afd16770  wpewebkit-2.38.2.tar.xz
4316330f0c42fcfe800210bdbeabbb6bdcf532b71e2761550b8a753499d801fd0405cc961a516dfddfc28c3a6cf0c17b6db461ff51158238b8d874bf75b799f2  patch-gettext.patch
"