summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: ef8a41362d6128abff336135efd17105236acc69 (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
# Maintainer: Chih-Hsuan Yen <yan12125@archlinux.org>
# Contributor: foutrelis
# Contributor: Andreas Radke <andyrtr@archlinux.org>

pkgbase=webkitgtk
pkgname=(webkitgtk webkitgtk2)
epoch=3
pkgver=2.4.11
pkgrel=14
pkgdesc="Legacy Web content engine"
arch=(i686 x86_64 armv7h)
url="https://webkitgtk.org/"
license=(custom)
depends=(libxt libxslt sqlite libsoup 'enchant>=2.2' libgl geoclue2 gst-plugins-base-libs
         libsecret libwebp harfbuzz-icu 'icu>=61')
makedepends=(gtk3 gtk2 gperf gobject-introspection python2 mesa ruby)
optdepends=('gst-plugins-base: free media decoding'
            'gst-plugins-good: media decoding'
            'gst-libav: nonfree media decoding')
options=(!emptydirs)
install=webkitgtk.install
source=(https://webkitgtk.org/releases/$pkgbase-${pkgver}.tar.xz
        webkitgtk-2.4.9-abs.patch
        icu59.patch
        enchant-2.x.patch
        pkgconfig-enchant-2.patch)
sha256sums=('588aea051bfbacced27fdfe0335a957dca839ebe36aa548df39c7bbafdb65bf7'
            'ec294bbb5588a1802a68e3615c6718486b22f922645c5fef686d3d103014bf70'
            'a1118b3c9317806438c1e2f46f17e15556aae34665f739ca72b94b10b16ae422'
            '8db282f3b7f0e21ff51121c2579466c3194475a20d35c4fbd0e53f35b5639919'
            'df8284004f25d189184aab1009df696c915212e0e439a555dbd0dbec06111e2e')

prepare() {
  mkdir -p build-gtk{,2} path
  ln -s -f /usr/bin/python2 path/python

  cd $pkgbase-$pkgver
  patch -Np1 -i ../webkitgtk-2.4.9-abs.patch
  patch -Np1 -i ../icu59.patch
  patch -Np1 -i ../enchant-2.x.patch
  # https://www.archlinux.org/todo/enchant-221-rebuild/
  patch -Np1 -i ../pkgconfig-enchant-2.patch

  # needed as autotools-related files are patched
  autoreconf -ifv
}

_build() (
  _ver="$1"; shift
  cd build-${_ver}

  PATH="$srcdir/path:$PATH"

  CXXFLAGS+=" -fno-delete-null-pointer-checks"
  CFLAGS+=" -fno-delete-null-pointer-checks"

  CFLAGS+=" -Wno-expansion-to-defined -Wno-class-memaccess"
  CXXFLAGS+=" -Wno-expansion-to-defined -Wno-class-memaccess"

  ../$pkgbase-$pkgver/configure --prefix=/usr \
    --libexecdir=/usr/lib/webkit${_ver} \
    --enable-introspection \
    --disable-webkit2 \
    --disable-gtk-doc \
    "$@"

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

  make all stamp-po
)

build() {
  _build gtk
  _build gtk2 --with-gtk=2.0
}

package_webkitgtk() {
  pkgdesc+=" for GTK+ 3"
  depends+=(gtk3)
  optdepends+=('gtk2: Netscape plugin support')
  provides=("webkitgtk3=${pkgver}" "libwebkit3=${pkgver}")
  conflicts=(webkitgtk3 libwebkit3)
  replaces=(webkitgtk3 libwebkit3)

  make -C build-gtk -j1 DESTDIR="$pkgdir" install
  install -Dm644 $pkgbase-$pkgver/Source/WebKit/LICENSE \
    "$pkgdir/usr/share/licenses/webkitgtk/LICENSE"
}

package_webkitgtk2() {
  pkgdesc+=" for GTK+ 2"
  depends+=(gtk2)
  provides=("libwebkit=${pkgver}")
  conflicts=(libwebkit)
  replaces=(libwebkit)

  make -C build-gtk2 -j1 DESTDIR="$pkgdir" install
  install -Dm644 $pkgbase-$pkgver/Source/WebKit/LICENSE \
    "$pkgdir/usr/share/licenses/webkitgtk2/LICENSE"
}