diff --git a/src/core/core_module.pro b/src/core/core_module.pro
index 66ab3ee4d81c8c6469e1c0571cd9997c4919e127..ceb24837234ceb1a492b30341a9dfaff6277a658 100644
--- a/src/core/core_module.pro
+++ b/src/core/core_module.pro
@@ -69,3 +69,22 @@ CONFIG -= bsymbolic_functions
 contains(QT_CONFIG, egl): CONFIG += egl
 
 linux: contains(QT_CONFIG, separate_debug_info): QMAKE_POST_LINK="cd $(DESTDIR) && $(STRIP) --strip-unneeded $(TARGET)"
+
+!contains(QT_CONFIG, qt_framework): contains(QT_CONFIG, private_tests) {
+    ICU_TARGET = $$shell_path($$[QT_INSTALL_DATA]/icudtl.dat)
+    ICU_FILE = $$shell_path($$OUT_PWD/$$getConfigDir()/icudtl.dat)
+    icu_rule.target = $$ICU_TARGET
+    unix: icu_rule.commands = if [ -e $$ICU_FILE ] ; then $$QMAKE_COPY $$ICU_FILE $$ICU_TARGET ; fi
+    win32: icu_rule.commands = if exist $$ICU_FILE ( $$QMAKE_COPY $$ICU_FILE $$ICU_TARGET )
+
+    PLUGIN_DIR = $$shell_path($$[QT_INSTALL_PLUGINS]/qtwebengine)
+    PLUGIN_TARGET = $$shell_path($$PLUGIN_DIR/$${PLUGIN_PREFIX}ffmpegsumo$${PLUGIN_EXTENSION})
+    PLUGIN_FILE = $$shell_path($$OUT_PWD/$$getConfigDir()/$${PLUGIN_PREFIX}ffmpegsumo$${PLUGIN_EXTENSION})
+    plugins_rule.target = $$PLUGIN_TARGET
+    unix: plugins_rule.commands = $$QMAKE_MKDIR $$PLUGIN_DIR && if [ -e $$PLUGIN_FILE ] ; then $$QMAKE_COPY $$PLUGIN_FILE $$PLUGIN_TARGET ; fi
+    win32: plugins_rule.commands = (if not exist $$PLUGIN_DIR ( $$QMAKE_MKDIR $$PLUGIN_DIR )) && \
+                                    if exist $$PLUGIN_FILE ( $$QMAKE_COPY $$PLUGIN_FILE $$PLUGIN_TARGET )
+
+    QMAKE_EXTRA_TARGETS += icu_rule plugins_rule
+    PRE_TARGETDEPS += $$ICU_TARGET $$PLUGIN_TARGET
+}
diff --git a/src/core/gyp_run.pro b/src/core/gyp_run.pro
index 137b600b91bde098220ff06c02fa4baf8402dd95..8d4d773512f86d4e0a7e3b3f4037d4f95fe38b90 100644
--- a/src/core/gyp_run.pro
+++ b/src/core/gyp_run.pro
@@ -87,6 +87,11 @@ contains(QT_ARCH, "i386"): GYP_ARGS += "-D target_arch=ia32"
 
 contains(WEBENGINE_CONFIG, proprietary_codecs): GYP_ARGS += "-Dproprietary_codecs=1 -Dffmpeg_branding=Chrome -Duse_system_ffmpeg=0"
 
+!contains(QT_CONFIG, qt_framework): contains(QT_CONFIG, private_tests) {
+    GYP_ARGS += "-D qt_install_data=\"$$[QT_INSTALL_DATA]\""
+    GYP_ARGS += "-D qt_install_translations=\"$$[QT_INSTALL_TRANSLATIONS]\""
+}
+
 !build_pass {
     message("Running gyp_qtwebengine \"$$OUT_PWD\" $${GYP_ARGS}...")
     !system("python $$QTWEBENGINE_ROOT/tools/buildscripts/gyp_qtwebengine \"$$OUT_PWD\" $${GYP_ARGS}"): error("-- running gyp_qtwebengine failed --")
diff --git a/src/core/resources/repack_locales.gypi b/src/core/resources/repack_locales.gypi
index ca350791250364bf8a92666fb68071aee47c9997..d24da1b5dae9083c6f41bdf713472b6ff9d36aef 100644
--- a/src/core/resources/repack_locales.gypi
+++ b/src/core/resources/repack_locales.gypi
@@ -13,7 +13,7 @@
     '<!@pymod_do_main(repack_locales -i -p <(OS) -s <(SHARED_INTERMEDIATE_DIR) -x <(repack_output_dir) <(repack_extra_flags) <(locales))'
   ],
   'outputs': [
-    '<!@pymod_do_main(repack_locales -o -p <(OS) -s <(SHARED_INTERMEDIATE_DIR) -x <(repack_output_dir) <(locales))'
+    '<@(locale_files)'
   ],
   'action': [
     '<@(repack_locales_script)',
diff --git a/src/core/resources/resources.gyp b/src/core/resources/resources.gyp
index f07facca6ccd832397368be453c525834bfa1592..835a87cdfba0d59b5f02b99003c1d7bf9f8bf78f 100644
--- a/src/core/resources/resources.gyp
+++ b/src/core/resources/resources.gyp
@@ -9,6 +9,9 @@
       'sk', 'sl', 'sr', 'sv', 'sw', 'ta', 'te', 'th', 'tr', 'uk',
       'vi', 'zh-CN', 'zh-TW',
     ],
+    'locale_files': ['<!@pymod_do_main(repack_locales -o -p <(OS) -s <(SHARED_INTERMEDIATE_DIR) -x <(SHARED_INTERMEDIATE_DIR) <(locales))'],
+    'qt_install_data%': '',
+    'qt_install_translations%': '',
   },
   'dependencies': [
       '<(chromium_src_dir)/webkit/webkit_resources.gyp:webkit_strings',
@@ -29,7 +32,25 @@
         'action_name': 'repack_locales',
         'includes': [ 'repack_locales.gypi' ],
       },
-    ]
+    ],
+    'conditions': [
+      ['qt_install_data != ""', {
+        'copies': [
+          {
+            'destination': '<(qt_install_data)',
+            'files': [ '<(SHARED_INTERMEDIATE_DIR)/repack/qtwebengine_resources.pak' ],
+          },
+        ],
+      }],
+      ['qt_install_translations != ""', {
+        'copies': [
+          {
+            'destination': '<(qt_install_translations)/qtwebengine_locales',
+            'files': [ '<@(locale_files)' ],
+          },
+        ],
+      }],
+    ],
   }
   ]
 }