# 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.2
pkgver=${_qtver/-/}
pkgrel=4
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"
         icu65.patch
         CVE-2019-13720.patch::"https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=d6e5fc10"
         qtwebengine-flash.patch::"https://code.qt.io/cgit/qt/qtwebengine.git/patch/?id=e72fd513"
        0001-ARM-toolchain-fixes.patch
        0002-Fix-ARM-skia-ICE.patch)
sha256sums=('adcf56b5de6f34744bba2307b696fc75611884f4270e87dfa760d6e99dd711bb'
            '1de9bdbfed482295dda45c7d4e323cee55a34e42f66b892da1c1a778682b7a41'
            '3b2ce75214e757f5d0d268fbb1009c2e0c660d19620ae27e8d92a0e492e5d9da'
            '1a64c4418950b4f9da78fe88c602f7dc274c85197927a3335d35220378ade2df'
            'f03455dd16275f8abb432278abb908ebdd5f8cf83db73ae63de7a105bbf47109'
            '2a363b44b8291512bb2bcbce1370b8abfb8a57961e0e5e34150da6e337155a05')

prepare() {
  mkdir -p build

  cd $_pkgfqn
  patch -p1 -i ../qtwebengine-flash.patch # Fix Flash plugin

  cd src/3rdparty
  patch -p1 -i "$srcdir"/CVE-2019-13720.patch
  patch -p1 -d chromium -i "$srcdir"/icu65.patch

  #cd src/3rdparty
  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
}