From e02b3177e2d674e47ef7efc1cbdc1a0abbdf7761 Mon Sep 17 00:00:00 2001 From: Arfrever Frehtes Taifersar Arahesis Date: Tue, 12 Sep 2017 17:31:41 +0200 Subject: [PATCH 1/3] dev-qt/qtwebengine: Pass appropriate options to ninja when building GN. Bug: https://bugs.gentoo.org/630834 --- dev-qt/qtwebengine/qtwebengine-5.10.1.ebuild | 3 +++ dev-qt/qtwebengine/qtwebengine-5.11.9999.ebuild | 3 +++ dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild | 3 +++ dev-qt/qtwebengine/qtwebengine-5.9999.ebuild | 3 +++ 4 files changed, 12 insertions(+) diff --git a/dev-qt/qtwebengine/qtwebengine-5.10.1.ebuild b/dev-qt/qtwebengine/qtwebengine-5.10.1.ebuild index 389c4c2e..5af4ea78 100644 --- a/dev-qt/qtwebengine/qtwebengine-5.10.1.ebuild +++ b/dev-qt/qtwebengine/qtwebengine-5.10.1.ebuild @@ -89,6 +89,9 @@ src_prepare() { "${WORKDIR}/${PN}-5.10.0-icu-60.1.patch" ) + # Pass appropriate options to ninja when building GN. + sed -e "s/cmd = \['ninja'/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" -i src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py || die + # bug 620444 - ensure local headers are used find "${S}" -type f -name "*.pr[fio]" | xargs sed -i -e 's|INCLUDEPATH += |&$$QTWEBENGINE_ROOT/include |' || die diff --git a/dev-qt/qtwebengine/qtwebengine-5.11.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-5.11.9999.ebuild index 85042ae6..46017ef0 100644 --- a/dev-qt/qtwebengine/qtwebengine-5.11.9999.ebuild +++ b/dev-qt/qtwebengine/qtwebengine-5.11.9999.ebuild @@ -89,6 +89,9 @@ src_prepare() { "${WORKDIR}/${PN}-5.11.0-update-shim-headers.patch" ) + # Pass appropriate options to ninja when building GN. + sed -e "s/cmd = \['ninja'/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" -i src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py || die + # bug 620444 - ensure local headers are used find "${S}" -type f -name "*.pr[fio]" | xargs sed -i -e 's|INCLUDEPATH += |&$$QTWEBENGINE_ROOT/include |' || die diff --git a/dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild index 02106ae4..1e15f03f 100644 --- a/dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild +++ b/dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild @@ -86,6 +86,9 @@ PATCHES=( src_prepare() { use pax_kernel && PATCHES+=( "${FILESDIR}/${PN}-5.9.3-paxmark-mksnapshot.patch" ) + # Pass appropriate options to ninja when building GN. + sed -e "s/cmd = \['ninja'/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" -i src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py || die + # bug 620444 - ensure local headers are used find "${S}" -type f -name "*.pr[fio]" | xargs sed -i -e 's|INCLUDEPATH += |&$$QTWEBENGINE_ROOT/include |' || die diff --git a/dev-qt/qtwebengine/qtwebengine-5.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-5.9999.ebuild index 85042ae6..46017ef0 100644 --- a/dev-qt/qtwebengine/qtwebengine-5.9999.ebuild +++ b/dev-qt/qtwebengine/qtwebengine-5.9999.ebuild @@ -89,6 +89,9 @@ src_prepare() { "${WORKDIR}/${PN}-5.11.0-update-shim-headers.patch" ) + # Pass appropriate options to ninja when building GN. + sed -e "s/cmd = \['ninja'/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" -i src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py || die + # bug 620444 - ensure local headers are used find "${S}" -type f -name "*.pr[fio]" | xargs sed -i -e 's|INCLUDEPATH += |&$$QTWEBENGINE_ROOT/include |' || die -- 2.17.0 From 6ef8a38cda7c06e513778be7c56c4c2b84ce676d Mon Sep 17 00:00:00 2001 From: Arfrever Frehtes Taifersar Arahesis Date: Tue, 12 Sep 2017 18:09:47 +0200 Subject: [PATCH 2/3] dev-qt/qtwebengine: Add sanity check to ensure that bundled copy of ICU is not used. Bug: https://bugs.gentoo.org/630834 --- dev-qt/qtwebengine/qtwebengine-5.11.9999.ebuild | 13 +++++++++++++ dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild | 13 +++++++++++++ dev-qt/qtwebengine/qtwebengine-5.9999.ebuild | 13 +++++++++++++ 3 files changed, 39 insertions(+) diff --git a/dev-qt/qtwebengine/qtwebengine-5.11.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-5.11.9999.ebuild index 46017ef0..c5e86ce9 100644 --- a/dev-qt/qtwebengine/qtwebengine-5.11.9999.ebuild +++ b/dev-qt/qtwebengine/qtwebengine-5.11.9999.ebuild @@ -95,6 +95,19 @@ src_prepare() { # bug 620444 - ensure local headers are used find "${S}" -type f -name "*.pr[fio]" | xargs sed -i -e 's|INCLUDEPATH += |&$$QTWEBENGINE_ROOT/include |' || die + if use system-icu; then + # Sanity check to ensure that bundled copy of ICU is not used. + # Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because + # src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system. + # If usage of headers of bundled copy of ICU occurs, then lists of shim headers in + # shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in + # src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated. + local file + for file in $(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")"); do + echo "#error This file should not be used!" > "${file}" || die + done + fi + qt_use_disable_config alsa webengine-alsa src/core/config/linux.pri qt_use_disable_config pulseaudio webengine-pulseaudio src/core/config/linux.pri diff --git a/dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild index 1e15f03f..4edcaf22 100644 --- a/dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild +++ b/dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild @@ -92,6 +92,19 @@ src_prepare() { # bug 620444 - ensure local headers are used find "${S}" -type f -name "*.pr[fio]" | xargs sed -i -e 's|INCLUDEPATH += |&$$QTWEBENGINE_ROOT/include |' || die + if use system-icu; then + # Sanity check to ensure that bundled copy of ICU is not used. + # Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because + # src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system. + # If usage of headers of bundled copy of ICU occurs, then lists of shim headers in + # shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in + # src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated. + local file + for file in $(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")"); do + echo "#error This file should not be used!" > "${file}" || die + done + fi + qt_use_disable_config alsa alsa src/core/config/linux.pri qt_use_disable_config pulseaudio pulseaudio src/core/config/linux.pri diff --git a/dev-qt/qtwebengine/qtwebengine-5.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-5.9999.ebuild index 46017ef0..c5e86ce9 100644 --- a/dev-qt/qtwebengine/qtwebengine-5.9999.ebuild +++ b/dev-qt/qtwebengine/qtwebengine-5.9999.ebuild @@ -95,6 +95,19 @@ src_prepare() { # bug 620444 - ensure local headers are used find "${S}" -type f -name "*.pr[fio]" | xargs sed -i -e 's|INCLUDEPATH += |&$$QTWEBENGINE_ROOT/include |' || die + if use system-icu; then + # Sanity check to ensure that bundled copy of ICU is not used. + # Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because + # src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system. + # If usage of headers of bundled copy of ICU occurs, then lists of shim headers in + # shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in + # src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated. + local file + for file in $(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")"); do + echo "#error This file should not be used!" > "${file}" || die + done + fi + qt_use_disable_config alsa webengine-alsa src/core/config/linux.pri qt_use_disable_config pulseaudio webengine-pulseaudio src/core/config/linux.pri -- 2.17.0 From efd8ef78e1f197f8dd7526cbd0a347e38e2f519b Mon Sep 17 00:00:00 2001 From: Arfrever Frehtes Taifersar Arahesis Date: Tue, 12 Sep 2017 19:40:45 +0200 Subject: [PATCH 3/3] dev-qt/qtwebengine: Disable unnecessary building of libicuuc part of bundled ICU when building GN. This seems to be needed only in 5.9.*. Bug: https://bugs.gentoo.org/630834 --- dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild b/dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild index 4edcaf22..bf9ae5c9 100644 --- a/dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild +++ b/dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild @@ -103,6 +103,9 @@ src_prepare() { for file in $(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")"); do echo "#error This file should not be used!" > "${file}" || die done + + # Disable unnecessary building of libicuuc part of bundled ICU when building GN. + sed "s/use_system_icu = false/use_system_icu = true/" -i src/3rdparty/chromium/third_party/icu/BUILD.gn || die fi qt_use_disable_config alsa alsa src/core/config/linux.pri -- 2.17.0