blob: ff01b6aabe3cdfa5b8a499b51b07d1876ea2f967 (
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
|
# Maintainer: q234 rty <q23456yuiop at gmail dot com>
# Contributor: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Eric Bélanger <eric@archlinux.org>
pkgname=webkit2gtk-4.1-imgpaste
pkgver=2.44.2
pkgrel=1
pkgdesc="Web content engine for GTK (with patches for pasting images from clipboard)"
url="https://webkitgtk.org"
arch=(x86_64)
license=('LicenseRef-custom')
depends=(
at-spi2-core
atk
bubblewrap
cairo
enchant
fontconfig
freetype2
glib2
gst-plugins-bad-libs
gst-plugins-base-libs
gstreamer
gtk3
harfbuzz
harfbuzz-icu
hyphen
icu
libavif
libdrm
libegl
libepoxy
libgcrypt
libgl
libgles
libjpeg
libjxl
libmanette
libpng
libseccomp
libsecret
libsoup3
libsystemd
libtasn1
libwebp
libwpe
libx11
libxcomposite
libxml2
libxslt
libxt
mesa
openjpeg2
sqlite
wayland
woff2
wpebackend-fdo
xdg-dbus-proxy
zlib
)
makedepends=(
clang
cmake
gi-docgen
gobject-introspection
gperf
gst-plugins-bad
lld
ninja
python
ruby
systemd
unifdef
wayland-protocols
)
provides=(webkit2gtk-4.1)
conflicts=(webkit2gtk-4.1)
source=(
$url/releases/webkitgtk-$pkgver.tar.xz{,.asc}
EnlargeObjectSize.patch
PasteBoardGtk.patch
)
sha256sums=('523f42c8ff24832add17631f6eaafe8f9303afe316ef1a7e1844b952a7f7521b'
'SKIP'
'71b8a59c78d549fed0cd895207f49c7b3be40b236e96f4d7b9907a26521499bf'
'20ebac2caf15fa546e6da00cb0fa90d5d37fcf7bfa883014d7d15eb4963d12d2')
validpgpkeys=(
D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3 # Carlos Garcia Campos <cgarcia@igalia.com>
# https://www.webkitgtk.org/verifying.html
5AA3BC334FD7E3369E7C77B291C559DBE4C9123B # Adrián Pérez de Castro <aperez@igalia.com>
013A0127AC9C65B34FFA62526C1009B693975393 # Carlos Garcia Campos <cgarcia@igalia.com>
)
prepare() {
cd webkitgtk-$pkgver
patch -Np1 -i ../PasteBoardGtk.patch
patch -Np1 -i ../EnlargeObjectSize.patch
}
build() {
local cmake_options=(
-DPORT=GTK
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=/usr
-DCMAKE_INSTALL_LIBDIR=lib
-DCMAKE_INSTALL_LIBEXECDIR=lib
-DCMAKE_SKIP_RPATH=ON
-DUSE_GTK4=OFF
-DUSE_LIBBACKTRACE=OFF
-DUSE_SOUP2=OFF
-DENABLE_DOCUMENTATION=ON
-DENABLE_MINIBROWSER=ON
)
# GCC with LTO fails to link libjavascriptcoregtk
# /usr/bin/ld: /tmp/ccXxyWZV.ltrans0.ltrans.o: in function `ipint_table_size_validate':
# <artificial>:(.text+0x49f0f): undefined reference to `ipint_extern_table_size'
# /usr/bin/ld: /tmp/ccXxyWZV.ltrans0.ltrans.o: in function `ipint_table_fill_validate':
# <artificial>:(.text+0x4a019): undefined reference to `ipint_extern_table_fill'
# collect2: error: ld returned 1 exit status
export CC=clang CXX=clang++
LDFLAGS+=" -fuse-ld=lld"
# JITted code crashes when CET is used
CFLAGS+=' -fcf-protection=none'
CXXFLAGS+=' -fcf-protection=none'
# Produce minimal debug info: 4.3 GB of debug data makes the
# build too slow and is too much to package for debuginfod
CFLAGS+=' -g1'
CXXFLAGS+=' -g1'
cmake -S webkitgtk-$pkgver -B build -G Ninja "${cmake_options[@]}"
cmake --build build
}
package() {
depends+=(
libWPEBackend-fdo-1.0.so
libwpe-1.0.so
)
provides+=(
libjavascriptcoregtk-4.1.so
libwebkit2gtk-4.1.so
)
optdepends=(
'geoclue: Geolocation support'
'gst-libav: nonfree media decoding'
'gst-plugins-bad: media decoding'
'gst-plugins-good: media decoding'
)
DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir/usr/bin"
mkdir -p doc/usr/share
mv {"$pkgdir",doc}/usr/share/doc
cd webkitgtk-$pkgver
find Source -name 'COPYING*' -or -name 'LICENSE*' -print0 | sort -z |
while IFS= read -d $'\0' -r _f; do
echo "### $_f ###"
cat "$_f"
echo
done |
install -Dm644 /dev/stdin "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
# vim:set sw=2 sts=-1 et:
|