# $Id$
# Contributor: Eric BĂ©langer <eric@archlinux.org>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - do not use LLINT assembly for v5/v6
#  - strip -O3 from cmake generated makefiles, solves ICE
#  - remove Atomics.cpp from build for v5/v6 - https://bugs.webkit.org/show_bug.cgi?id=161900

highmem=1

pkgname=webkit2gtk
pkgver=2.16.3
pkgrel=1
pkgdesc="GTK+ Web content engine library"
arch=(i686 x86_64)
url="https://webkitgtk.org/"
license=(custom)
depends=(libxt libxslt enchant geoclue2 gst-plugins-base-libs
         libsecret libwebp harfbuzz-icu gtk3 libnotify hyphen)
makedepends=(gtk2 gperf gobject-introspection ruby gtk-doc cmake python python2)
optdepends=('gtk2: Netscape plugin support'
            'gst-plugins-base: free media decoding'
            'gst-plugins-good: media decoding'
            'gst-libav: nonfree media decoding')
options=(!emptydirs)

source=(https://webkitgtk.org/releases/webkitgtk-${pkgver}.tar.xz{,.asc}
        icu59.patch
        remove_atomics.patch)
sha256sums=('204e9131da0101b9bc8765716e70a897121af04b964d9827cd9f20816a77b512'
            'SKIP'
            'eb791b9c8dcb84996904846dedf8c3ddf1a5fde32330177f3f0071510bd8ca6d'
            '410449817b1b181737538be10d96d6d8aec134285f6288e80c96fbfdd5d19519')
validpgpkeys=('D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3')

prepare() {
  mkdir build

  cd webkitgtk-$pkgver
  sed -i '1s/python$/&2/' Tools/gtk/generate-gtkdoc
  rm -r Source/ThirdParty/gtest/
  #rm -r Source/ThirdParty/qunit/
  patch -Np1 -i ../icu59.patch

  if [[ $CARCH == "arm" || $CARCH == "armv6h" ]]; then
    patch -p0 -i ../remove_atomics.patch
  fi
}

build() {
  cd build

  # do not use LLINT assembly for v5/v6
  [[ $CARCH == "arm" || $CARCH == "armv6h" ]] && CONFIG="-DENABLE_JIT=OFF"

  cmake -DPORT=GTK -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_SKIP_RPATH=ON -DCMAKE_INSTALL_PREFIX=/usr \
        -DLIB_INSTALL_DIR=/usr/lib -DLIBEXEC_INSTALL_DIR=/usr/lib/webkit2gtk-4.0 \
        -DENABLE_GTKDOC=ON -DPYTHON_EXECUTABLE=/usr/bin/python2 $CONFIG ../webkitgtk-$pkgver

  # strip -O3 from cmake generated makefiles
  find ./ -type f -exec sed -i -e 's/-O3//g' {} \;

  make
}

package() {
  cd build
  make DESTDIR="$pkgdir" install

  install -m755 -d "$pkgdir/usr/share/licenses/webkit2gtk"
  cd "$srcdir/webkitgtk-$pkgver/Source"
  for f in $(find -name 'COPYING*' -or -name 'LICENSE*'); do
    echo $f >> "$pkgdir/usr/share/licenses/webkit2gtk/LICENSE"
    cat $f >> "$pkgdir/usr/share/licenses/webkit2gtk/LICENSE"
    echo "" >> "$pkgdir/usr/share/licenses/webkit2gtk/LICENSE"
  done
}