diff -ur qtwebengine-opensource-src-5.6.0-rc/src/core/config/linux.pri qtwebengine-opensource-src-5.6.0-rc-linux-pri/src/core/config/linux.pri --- qtwebengine-opensource-src-5.6.0-rc/src/core/config/linux.pri 2016-02-15 16:18:46.000000000 +0100 +++ qtwebengine-opensource-src-5.6.0-rc-linux-pri/src/core/config/linux.pri 2016-02-24 23:24:01.533878478 +0100 @@ -20,7 +20,13 @@ use_kerberos=0 \ use_pango=0 -!use?(nss) { +use?(nss) { +# do a "chimera build" (BoringSSL code, NSS certs): This is the default in +# Chromium 47+, and it is the only variant that works with NSS 3.21. + GYP_CONFIG += use_nss_certs=1 \ + use_openssl=1 \ + use_openssl_certs=0 +} else { GYP_CONFIG += use_nss_certs=0 \ use_openssl=1 \ use_openssl_certs=1 @@ -40,6 +46,28 @@ use?(system_opus): GYP_CONFIG += use_system_opus=1 use?(system_snappy): GYP_CONFIG += use_system_snappy=1 use?(system_vpx): GYP_CONFIG += use_system_libvpx=1 -use?(system_icu): GYP_CONFIG += use_system_icu=1 +use?(system_icu): GYP_CONFIG += use_system_icu=1 icu_use_data_file_flag=0 use?(system_ffmpeg): GYP_CONFIG += use_system_ffmpeg=1 +# some more system packages, that are not checked for for some reason +GYP_CONFIG += \ + use_system_expat=1 \ + use_system_re2=1 \ + use_system_protobuf=1 + +# yasm is only used on x86, and passing use_system_yasm makes the build fail on +# other architectures (e.g., ARM), so make it conditional on the architecture +contains(QT_ARCH, "x86_64")|contains(QT_ARCH, "i386") { + GYP_CONFIG += use_system_yasm=1 +} + +# link libpci instead of dlopening it, our Qt packaging depends on it anyway +GYP_CONFIG += linux_link_libpci=1 + +# run the unbundling script Chromium provides +CHROMIUM_SRC_DIR = "$$QTWEBENGINE_ROOT/$$getChromiumSrcDir()" +R_G_F_PY = "$$CHROMIUM_SRC_DIR/build/linux/unbundle/replace_gyp_files.py" +R_G_F_PY_ARGS = +for (config, GYP_CONFIG): R_G_F_PY_ARGS += "-D $$config" +log("Running python $$R_G_F_PY $$R_G_F_PY_ARGS$${EOL}") +!system("python $$R_G_F_PY $$R_G_F_PY_ARGS"): error("-- unbundling failed")