# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Maintainer: Antonio Rojas <arojas@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - patch to link with libatomic on v5/v6
#  - disable jit on v5/v6
#  - use tarball source

highmem=1

pkgname=qt5-webkit
_pkgver=5.212.0-alpha4
pkgver=${_pkgver/-/}
pkgrel=11
arch=(x86_64)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
pkgdesc='Classes for a WebKit2 based implementation and a new QML API'
source=("https://github.com/qtwebkit/qtwebkit/releases/download/qtwebkit-$_pkgver/qtwebkit-$_pkgver.tar.xz"
         icu68.patch
         glib-2.68.patch
         qt5-webkit-python-3.9.patch::"https://github.com/qtwebkit/qtwebkit/commit/78360c01.patch"
         qt5-webkit-bison-3.7.patch::"https://github.com/qtwebkit/qtwebkit/commit/d92b11fe.patch"
        'atomic.patch')
depends=(qt5-location qt5-sensors qt5-webchannel libwebp libxslt libxcomposite gst-plugins-base hyphen woff2)
makedepends=(cmake ruby gperf python qt5-doc qt5-tools)
optdepends=('gst-plugins-good: Webm codec support')
sha256sums=('9ca126da9273664dd23a3ccd0c9bebceb7bb534bddd743db31caf6a5a6d4a9e6'
            '0b40ed924f03ff6081af610bb0ee01560b7bd1fb68f8af02053304a01d4ccdf0'
            '4969dd03e482155e2490b50307dada81dda7bbc9e5398e3a53c20bc474f7c04e'
            '6e0cee08e4fa57b04752e80817f33562f48aa42608a3a620930b6040259b4932'
            '34f37b53ee0bc31c63ce85ebd1ae95543a8ba28483e387b20efd50574bd813be'
            '23fbd785daf116c71b3ce87d40860f0a6c56ab1065ee98ec41634626ca961129')

prepare() {
  cd qtwebkit-$_pkgver
  patch -p0 -i ../icu68.patch # Fix build with ICU 68.x
  patch -p1 -i ../glib-2.68.patch # https://github.com/qtwebkit/qtwebkit/issues/1057
  patch -p1 -i ../qt5-webkit-python-3.9.patch # Fix build with python 3.9
  patch -p1 -i ../qt5-webkit-bison-3.7.patch # Fix build with bison 3.7

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

build() {
  [[ $CARCH == "arm" || $CARCH == "armv6h" ]] && CONFIG="-DENABLE_JIT=OFF"

  cmake -B build -S qtwebkit-$_pkgver \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_CXX_FLAGS="${CXXFLAGS} -DNDEBUG" \
    -DPORT=Qt \
    -DENABLE_TOOLS=OFF \
    $CONFIG
  cmake --build build
}

package() {
  DESTDIR="$pkgdir" cmake --install build

  install -d "$pkgdir"/usr/share/licenses
  ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
}