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

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - patch for chromium GN
#  - patch for chromium skia

buildarch=12
highmem=1

pkgname=qt5-webengine
_qtver=5.13.0
pkgver=${_qtver/-/}
pkgrel=3
arch=('x86_64')
url='https://www.qt.io'
license=('LGPL3' 'LGPL2.1' 'BSD')
pkgdesc='Provides support for web applications using the Chromium browser project'
depends=('qt5-webchannel' 'qt5-location' 'libxcomposite' 'libxrandr' 'pciutils' 'libxss' 
         'libevent' 'snappy' 'nss' 'protobuf' 'libxslt' 'minizip' 'ffmpeg' 're2' 'libvpx')
makedepends=('python2' 'gperf' 'jsoncpp' 'ninja' 'qt5-tools' 'poppler')
groups=('qt' 'qt5')
_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
        qtwebengine-glibc-2.29.patch
        qtbug-76913.patch::"https://code.qt.io/cgit/qt/qtwebengine.git/patch/?id=4746bb90"
        qtbug-76958.patch
        0001-ARM-toolchain-fixes.patch
        0002-Fix-ARM-skia-ICE.patch)
sha256sums=('e0af82ecee1ab41b6732697f667b98b7b0c53164bebcfaad8070e88b2e064efe'
            'dd791f154b48e69cd47fd94753c45448655b529590995fd71ac1591c53a3d60c'
            '5771af2442d7743ef7c59f0d3716a23985383e2b69ecb4fa9d4ea8e8f7c551fa'
            'eef55340b3ec5f8d1020b7327eda67f86729aaf70107c688deb15083f5ca8fbc'
            'f03455dd16275f8abb432278abb908ebdd5f8cf83db73ae63de7a105bbf47109'
            '2a363b44b8291512bb2bcbce1370b8abfb8a57961e0e5e34150da6e337155a05')

prepare() {
  mkdir -p build

  cd ${_pkgfqn}
  patch -p1 -i ../qtbug-76913.patch # Fix crashes on media-heavy sites
  patch -p1 -i ../qtbug-76958.patch # Fix crash when loading tabs on the background

  cd src/3rdparty/chromium
  patch -p1 -i "$srcdir"/qtwebengine-glibc-2.29.patch # Fix PPAPI plugins with glibc 2.29

  cd ..
  patch -p1 -i ${srcdir}/0001-ARM-toolchain-fixes.patch
  patch -p1 -i ${srcdir}/0002-Fix-ARM-skia-ICE.patch
}

build() {
  cd build

  qmake ../${_pkgfqn} -- \
    -proprietary-codecs \
    -system-ffmpeg \
    -webp \
    -spellchecker \
    -webengine-icu
  make
}

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

  # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
  find "$pkgdir/usr/lib" -type f -name '*.prl' \
    -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;

  install -Dm644 "$srcdir"/${_pkgfqn}/src/3rdparty/chromium/LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE.chromium
}