# Maintainer: Martchus # DOES NOT WORK YET (mingw-64 currently not supported by Qt WebEngine) # All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where # you also find the URL of a binary repository. _qt_module=qtwebengine pkgname=mingw-w64-qt5-webengine-git pkgver=5.8.0 pkgrel=1 arch=('any') pkgdesc='Provides support for web applications using the Chromium browser project (mingw-w64, git version)' depends=('mingw-w64-qt5-webchannel' 'mingw-w64-qt5-location') makedepends=('mingw-w64-gcc' 'mingw-w64-pkg-config' 'git' 'python2' 'gperf' 'ruby') provides=(${pkgname%-git}) conflicts=(${pkgname%-git}) options=('!strip' '!buildflags' 'staticlibs') groups=('mingw-w64-qt5') license=('LGPL3' 'LGPL2.1' 'BSD') url='https://www.qt.io/' _pkgfqn="${_qt_module}-everywhere-src-${pkgver}" groups=('mingw-w64-qt5') source=(${_qt_module}::git://code.qt.io/qt/${_qt_module}.git#branch=dev) md5sums=('SKIP') _architectures="i686-w64-mingw32 x86_64-w64-mingw32" pkgver() { cd "${srcdir}/${_qt_module}" echo "$(git rev-list --count HEAD).$(git rev-parse --short HEAD)" } prepare() { cd "${srcdir}/${_qt_module}" # use python2 for Python 2.x find . -name '*.py' -exec sed -i \ 's|#![ ]*/usr/bin/python$|&2|;s|#![ ]*/usr/bin/env python$|&2|' {} + # in qtwebengine there are still a lot of relative calls which need a workaround mkdir "${srcdir}"/python2-path ln -s /usr/bin/python2 "${srcdir}"/python2-path/python } build() { unset PKG_CONFIG_PATH # python2 workaround export PATH="${srcdir}/python2-path:$PATH" cd "${srcdir}/${_qt_module}" for _arch in ${_architectures}; do mkdir -p build-${_arch} && pushd build-${_arch} ${_arch}-qmake-qt5 ../${_qt_module}.pro make popd done } package() { for _arch in ${_architectures}; do cd "${srcdir}/${_qt_module}/build-${_arch}" make INSTALL_ROOT="${pkgdir}" install # use prl files from build directory since installed prl files seem to have incorrect QMAKE_PRL_LIBS_FOR_CMAKE if [[ -d 'lib' ]]; then pushd 'lib' find -iname '*.static.prl' -exec cp --target-directory "${pkgdir}/usr/${_arch}/lib" --parents {} + popd fi if [[ -d 'plugins' ]]; then pushd 'plugins' find -iname '*.static.prl' -exec cp --target-directory "${pkgdir}/usr/${_arch}/lib/qt/plugins" --parents {} + popd fi # replace library path in *.prl files so it points to the installed location and not the build directory find "${pkgdir}/usr/${_arch}/lib" \( -type f -name '*.prl' -o -name '*.pc' \) -exec sed -i -e "s:$PWD/lib:/usr/$_arch/lib:g" {} \; # remove prl files for debug version if ! [[ $MINGW_W64_QT_DEBUG_BUILD ]]; then for file in $(find "${pkgdir}/usr/${_arch}" -name '*d.prl' -o -name '*d.static.prl'); do [ -f "${file%d*}${file##*d}" ] && rm "${file}"; done fi # remove '.static.prl' files find "${pkgdir}/usr/${_arch}" -name '.static.prl' -delete find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name '*.dll' -delete [ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \ find "${pkgdir}/usr/${_arch}" -name '*.exe' -delete || \ find "${pkgdir}/usr/${_arch}" -name '*.exe' -exec ${_arch}-strip --strip-all {} \; find "${pkgdir}/usr/${_arch}" -name '*.dll' -exec ${_arch}-strip --strip-unneeded {} \; find "${pkgdir}/usr/${_arch}" \( -name '*.a' -not -name 'libQt5QmlDevTools.a' -not -name 'libQt5Bootstrap.a' \) -exec ${_arch}-strip -g {} \; [[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \ find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \; find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \; done }