From aa08b8eb73e5904e66974d44ba4fbc2dbca5fe59 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Mon, 9 Nov 2020 15:36:08 -0500 Subject: [PATCH 1/2] qt5.qtwebengine: remove dead conditions for pre 5.12 support This doesn't change the derivation. --- .../libraries/qt-5/modules/qtwebengine.nix | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix index 049b0349a4f..ff2b444ac27 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix @@ -1,5 +1,5 @@ -{ qtModule, qtCompatVersion, - qtdeclarative, qtquickcontrols, qtlocation, qtwebchannel +{ qtModule +, qtdeclarative, qtquickcontrols, qtlocation, qtwebchannel , bison, coreutils, flex, git, gperf, ninja, pkgconfig, python2, which @@ -54,14 +54,6 @@ qtModule { '' ( cd src/3rdparty/chromium; patchShebangs . ) '' - # Patch Chromium build files - + optionalString (lib.versionOlder qtCompatVersion "5.12") '' - substituteInPlace ./src/3rdparty/chromium/build/common.gypi --replace /bin/echo ${coreutils}/bin/echo - substituteInPlace ./src/3rdparty/chromium/v8/gypfiles/toolchain.gypi \ - --replace /bin/echo ${coreutils}/bin/echo - substituteInPlace ./src/3rdparty/chromium/v8/gypfiles/standalone.gypi \ - --replace /bin/echo ${coreutils}/bin/echo - '' # Prevent Chromium build script from making the path to `clang` relative to # the build directory. `clang_base_path` is the value of `QMAKE_CLANG_DIR` # from `src/core/config/mac_osx.pri`. @@ -91,10 +83,10 @@ qtModule { '' # Following is required to prevent a build error: # ninja: error: '/nix/store/z8z04p0ph48w22rqzx7ql67gy8cyvidi-SDKs/MacOSX10.12.sdk/usr/include/mach/exc.defs', needed by 'gen/third_party/crashpad/crashpad/util/mach/excUser.c', missing and no known rule to make it - + (optionalString (lib.versionAtLeast qtCompatVersion "5.11") '' + + '' substituteInPlace src/3rdparty/chromium/third_party/crashpad/crashpad/util/BUILD.gn \ --replace '$sysroot/usr' "${darwin.xnu}" - '') + '' + '' # Apple has some secret stuff they don't share with OpenBSM substituteInPlace src/3rdparty/chromium/base/mac/mach_port_broker.mm \ From ee2501f124b817f29cb2ef65b8fc8bbe59cc143f Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Mon, 9 Nov 2020 21:11:59 -0500 Subject: [PATCH 2/2] qt5.qtwebengine: don't override `patches` in qtModule This fixes darwin build. Fixes: 90db9641 ('qt5.qtwebengine: fix build with bison-3.7') --- pkgs/development/libraries/qt-5/5.12/default.nix | 9 +++++++++ pkgs/development/libraries/qt-5/5.14/default.nix | 11 ++++++++++- pkgs/development/libraries/qt-5/5.15/default.nix | 11 ++++++++++- .../libraries/qt-5/modules/qtwebengine.nix | 11 ----------- 4 files changed, 29 insertions(+), 13 deletions(-) diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix index fcceb6d6cf2..329ddd17162 100644 --- a/pkgs/development/libraries/qt-5/5.12/default.nix +++ b/pkgs/development/libraries/qt-5/5.12/default.nix @@ -97,6 +97,15 @@ let url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtbug-77037-workaround.patch?h=packages/qt5-webengine&id=fc77d6b3d5ec74e421b58f199efceb2593cbf951"; sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am"; }) + + # Fix build with bison-3.7: https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=1a53f599 + (fetchpatch { + name = "qtwebengine-bison-3.7-build.patch"; + url = "https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=1a53f599"; + sha256 = "1nqpyn5fq37q7i9nasag6i14lnz0d7sld5ikqhlm8qwq9d7gbmjy"; + stripLen = 1; + extraPrefix = "src/3rdparty/"; + }) ] ++ optionals stdenv.isDarwin [ ./qtwebengine-darwin-no-platform-check.patch ./qtwebengine-darwin-fix-failed-static-assertion.patch diff --git a/pkgs/development/libraries/qt-5/5.14/default.nix b/pkgs/development/libraries/qt-5/5.14/default.nix index 469157a5f72..b17d9b97b18 100644 --- a/pkgs/development/libraries/qt-5/5.14/default.nix +++ b/pkgs/development/libraries/qt-5/5.14/default.nix @@ -70,7 +70,16 @@ let qtdeclarative = [ ./qtdeclarative.patch ]; qtscript = [ ./qtscript.patch ]; qtserialport = [ ./qtserialport.patch ]; - qtwebengine = [ ] + qtwebengine = [ + # Fix build with bison-3.7: https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=1a53f599 + (fetchpatch { + name = "qtwebengine-bison-3.7-build.patch"; + url = "https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=1a53f599"; + sha256 = "1nqpyn5fq37q7i9nasag6i14lnz0d7sld5ikqhlm8qwq9d7gbmjy"; + stripLen = 1; + extraPrefix = "src/3rdparty/"; + }) + ] ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch; qtwebkit = [ (fetchpatch { diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix index 1a90c610a5b..3a31ca3a948 100644 --- a/pkgs/development/libraries/qt-5/5.15/default.nix +++ b/pkgs/development/libraries/qt-5/5.15/default.nix @@ -70,7 +70,16 @@ let qtdeclarative = [ ./qtdeclarative.patch ]; qtscript = [ ./qtscript.patch ]; qtserialport = [ ./qtserialport.patch ]; - qtwebengine = [ ] + qtwebengine = [ + # Fix build with bison-3.7: https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=1a53f599 + (fetchpatch { + name = "qtwebengine-bison-3.7-build.patch"; + url = "https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=1a53f599"; + sha256 = "1nqpyn5fq37q7i9nasag6i14lnz0d7sld5ikqhlm8qwq9d7gbmjy"; + stripLen = 1; + extraPrefix = "src/3rdparty/"; + }) + ] ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch; qtwebkit = [ ./qtwebkit.patch ] ++ optionals stdenv.isDarwin [ diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix index ff2b444ac27..b98b711c0f5 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix @@ -38,17 +38,6 @@ qtModule { # which cannot be set at the same time as -Wformat-security hardeningDisable = [ "format" ]; - patches = [ - # Fix build with bison-3.7: https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=1a53f599 - (fetchpatch { - name = "qtwebengine-bison-3.7-build.patch"; - url = "https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=1a53f599"; - sha256 = "1nqpyn5fq37q7i9nasag6i14lnz0d7sld5ikqhlm8qwq9d7gbmjy"; - stripLen = 1; - extraPrefix = "src/3rdparty/"; - }) - ]; - postPatch = # Patch Chromium build tools ''