summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel Bachmann <manuel.bachmann@open.eurogiciel.org>2014-08-06 13:05:50 +0200
committerManuel Bachmann <manuel.bachmann@open.eurogiciel.org>2014-08-06 13:09:43 +0200
commitfd8d32edb42ae4458113e91aaa80ba07aa5a5baf (patch)
tree61cd0cc8c8a5f6a3a1506823f78f7ae5ec5bdd60
parent5abc7f5d02ea6efbf2b12a91ddcafe7b3f5b3520 (diff)
downloadchromium-fd8d32edb42ae4458113e91aaa80ba07aa5a5baf.tar.gz
chromium-fd8d32edb42ae4458113e91aaa80ba07aa5a5baf.tar.bz2
chromium-fd8d32edb42ae4458113e91aaa80ba07aa5a5baf.zip
packaging: add chromium intern. deps, from "pdfium" to "lss" & fix build
Internal dependencies from "pdfium" to "lss" Depend on "binutils-gold" because ninja uses them Do not search for files present in "webrtc" third-party (patch) Generate LASTCHANGE without having gclient from depot_tools Make sure that Python finds all needed modules Fix build type, from "Release" to "Debug", to avoid some steps Signed-off-by: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>
-rw-r--r--packaging/0002-do_not_depend_on_webrtc.patch106
-rw-r--r--packaging/chromium.spec43
2 files changed, 146 insertions, 3 deletions
diff --git a/packaging/0002-do_not_depend_on_webrtc.patch b/packaging/0002-do_not_depend_on_webrtc.patch
new file mode 100644
index 000000000000..f261dfd8ca3e
--- /dev/null
+++ b/packaging/0002-do_not_depend_on_webrtc.patch
@@ -0,0 +1,106 @@
+--- build/all.gyp
++++ build/all.gyp
+@@ -610,8 +610,8 @@
+ '../chrome/chrome.gyp:browser_tests',
+ '../content/content_shell_and_tests.gyp:content_browsertests',
+ '../content/content_shell_and_tests.gyp:content_unittests',
+- '../third_party/webrtc/tools/tools.gyp:frame_analyzer',
+- '../third_party/webrtc/tools/tools.gyp:rgba_to_i420_converter',
++# '../third_party/webrtc/tools/tools.gyp:frame_analyzer',
++# '../third_party/webrtc/tools/tools.gyp:rgba_to_i420_converter',
+ ],
+ 'conditions': [
+ ['OS=="win"', {
+--- chrome/chrome_browser.gypi
++++ chrome/chrome_browser.gypi
+@@ -2657,7 +2657,7 @@
+ '../third_party/libyuv/libyuv.gyp:libyuv',
+ '../third_party/npapi/npapi.gyp:npapi',
+ '../third_party/smhasher/smhasher.gyp:cityhash',
+- '../third_party/webrtc/modules/modules.gyp:desktop_capture',
++# '../third_party/webrtc/modules/modules.gyp:desktop_capture',
+ '../ui/gl/gl.gyp:gl',
+ '../ui/surface/surface.gyp:surface',
+ '../ui/web_dialogs/web_dialogs.gyp:web_dialogs',
+--- chrome/chrome_browser_extensions.gypi
++++ chrome/chrome_browser_extensions.gypi
+@@ -48,7 +48,7 @@
+ '../third_party/icu/icu.gyp:icui18n',
+ '../third_party/icu/icu.gyp:icuuc',
+ '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
+- '../third_party/webrtc/modules/modules.gyp:desktop_capture',
++# '../third_party/webrtc/modules/modules.gyp:desktop_capture',
+ '../ui/accessibility/accessibility.gyp:ax_gen',
+ '../ui/base/ui_base.gyp:ui_base',
+ '../ui/gfx/gfx.gyp:gfx',
+--- remoting/remoting.gyp
++++ remoting/remoting.gyp
+@@ -242,7 +242,7 @@
+ '../third_party/libyuv/libyuv.gyp:libyuv',
+ '../third_party/opus/opus.gyp:opus',
+ '../third_party/protobuf/protobuf.gyp:protobuf_lite',
+- '../third_party/webrtc/modules/modules.gyp:desktop_capture',
++# '../third_party/webrtc/modules/modules.gyp:desktop_capture',
+ '../ui/base/ui_base.gyp:ui_base',
+ '../ui/gfx/gfx.gyp:gfx',
+ '../ui/gfx/gfx.gyp:gfx_geometry',
+--- remoting/remoting_client.gypi
++++ remoting/remoting_client.gypi
+@@ -14,7 +14,7 @@
+ 'dependencies': [
+ '../net/net.gyp:net',
+ '../ppapi/ppapi.gyp:ppapi_cpp_objects',
+- '../third_party/webrtc/modules/modules.gyp:desktop_capture',
++# '../third_party/webrtc/modules/modules.gyp:desktop_capture',
+ '../ui/events/events.gyp:dom4_keycode_converter',
+ 'remoting_base',
+ 'remoting_client',
+@@ -38,7 +38,7 @@
+ 'remoting_base',
+ 'remoting_protocol',
+ '../third_party/libyuv/libyuv.gyp:libyuv',
+- '../third_party/webrtc/modules/modules.gyp:desktop_capture',
++# '../third_party/webrtc/modules/modules.gyp:desktop_capture',
+ '../third_party/libwebm/libwebm.gyp:libwebm',
+ ],
+ 'sources': [
+--- remoting/remoting_host.gypi
++++ remoting/remoting_host.gypi
+@@ -39,7 +39,7 @@
+ '../crypto/crypto.gyp:crypto',
+ '../google_apis/google_apis.gyp:google_apis',
+ '../ipc/ipc.gyp:ipc',
+- '../third_party/webrtc/modules/modules.gyp:desktop_capture',
++# '../third_party/webrtc/modules/modules.gyp:desktop_capture',
+ '../ui/events/events.gyp:dom4_keycode_converter',
+ ],
+ 'defines': [
+@@ -376,7 +376,7 @@
+ '../base/base.gyp:base',
+ '../base/base.gyp:base_i18n',
+ '../net/net.gyp:net',
+- '../third_party/webrtc/modules/modules.gyp:desktop_capture',
++# '../third_party/webrtc/modules/modules.gyp:desktop_capture',
+ 'remoting_base',
+ 'remoting_breakpad',
+ 'remoting_host',
+@@ -579,7 +579,7 @@
+ '../base/base.gyp:base_i18n',
+ '<(icu_gyp_path):icudata',
+ '../net/net.gyp:net',
+- '../third_party/webrtc/modules/modules.gyp:desktop_capture',
++# '../third_party/webrtc/modules/modules.gyp:desktop_capture',
+ 'remoting_base',
+ 'remoting_breakpad',
+ 'remoting_host',
+--- remoting/remoting_test.gypi
++++ remoting/remoting_test.gypi
+@@ -18,7 +18,7 @@
+ '../testing/gmock.gyp:gmock',
+ '../testing/gtest.gyp:gtest',
+ '../third_party/libyuv/libyuv.gyp:libyuv',
+- '../third_party/webrtc/modules/modules.gyp:desktop_capture',
++# '../third_party/webrtc/modules/modules.gyp:desktop_capture',
+ '../ui/base/ui_base.gyp:ui_base',
+ '../ui/gfx/gfx.gyp:gfx',
+ '../ui/gfx/gfx.gyp:gfx_geometry',
diff --git a/packaging/chromium.spec b/packaging/chromium.spec
index 2fb7b108d214..d544eef28033 100644
--- a/packaging/chromium.spec
+++ b/packaging/chromium.spec
@@ -18,6 +18,7 @@ Url: https://chromium.googlesource.com/chromium
Source: %name-%version.tar
Source1: %name.manifest
Patch1: 0001-do-not-look-for-gtk2.patch
+Patch2: 0002-do_not_depend_on_webrtc.patch
BuildRequires: chromium-icu
BuildRequires: chromium-grit
@@ -37,8 +38,24 @@ BuildRequires: chromium-trace-viewer
BuildRequires: chromium-flac
BuildRequires: chromium-html_office
BuildRequires: chromium-hunspell
+BuildRequires: chromium-pdfium
+BuildRequires: chromium-freetype2
+BuildRequires: chromium-open-vcdiff
+BuildRequires: chromium-sfntly
+BuildRequires: chromium-libjingle
+BuildRequires: chromium-smhasher
+BuildRequires: chromium-opus
+BuildRequires: chromium-brotli
+BuildRequires: chromium-leveldatabase
+BuildRequires: chromium-snappy
+BuildRequires: chromium-gmock
+BuildRequires: chromium-gtest
+BuildRequires: chromium-breakpad
+BuildRequires: chromium-lss
BuildRequires: depot_tools
BuildRequires: gyp
+ #ninja does use "-fuse-ld=gold"
+BuildRequires: binutils-gold
BuildRequires: gperf
BuildRequires: python
BuildRequires: yasm
@@ -74,10 +91,13 @@ Chromium is a cross-platform Web browser based on the Blink engine. It is an ope
cp %{SOURCE1} .
%patch1
+%patch2
%build
-# link external "third_party" repos
+# link to external "third_party" repos
+mkdir -p third_party/sfntly/cpp
+mkdir -p third_party/libjingle/source
ln -s %{_datadir}/chromium/third_party/icu third_party/icu
ln -s %{_datadir}/chromium/tools/grit tools/grit
ln -s %{_datadir}/chromium/v8 v8
@@ -96,6 +116,20 @@ ln -s %{_datadir}/chromium/third_party/trace-viewer third_party/trace-viewer
ln -s %{_datadir}/chromium/third_party/flac third_party/flac
ln -s %{_datadir}/chromium/chrome/browser/resources/pdf/html_office chrome/browser/resources/pdf/html_office
ln -s %{_datadir}/chromium/third_party/hunspell third_party/hunspell
+ln -s %{_datadir}/chromium/third_party/pdfium third_party/pdfium
+ln -s %{_datadir}/chromium/third_party/freetype2 third_party/freetype2/src
+ln -s %{_datadir}/chromium/sdch/open-vcdiff sdch/open-vcdiff
+ln -s %{_datadir}/chromium/third_party/sfntly/cpp/src third_party/sfntly/cpp/src
+ln -s %{_datadir}/chromium/third_party/libjingle/source/talk third_party/libjingle/source/talk
+ln -s %{_datadir}/chromium/third_party/smhasher/src third_party/smhasher/src
+ln -s %{_datadir}/chromium/third_party/opus/src third_party/opus/src
+ln -s %{_datadir}/chromium/third_party/brotli/src third_party/brotli/src
+ln -s %{_datadir}/chromium/third_party/leveldatabase/src third_party/leveldatabase/src
+ln -s %{_datadir}/chromium/third_party/snappy/src third_party/snappy/src
+ln -s %{_datadir}/chromium/testing/gmock testing/gmock
+ln -s %{_datadir}/chromium/testing/gtest testing/gtest
+ln -s %{_datadir}/chromium/breakpad/src breakpad/src
+ln -s %{_datadir}/chromium/third_party/lss third_party/lss
GYP_DEFINES="use_ash=1 use_aura=1 chromeos=0 use_cups=0 use_gconf=0 use_gnome_keyring=0 disable_nacl=%{_disable_nacl} enable_webrtc=0 use_system_yasm=1 input_speech=0"
@@ -104,15 +138,18 @@ GYP_DEFINES="${GYP_DEFINES} use_ozone=1 enable_ozone_wayland_vkb=1 enable_xdg_sh
%endif
export GYP_DEFINES
+# to import "jinja2" and the "idl_*" modules
+export PYTHONPATH="$PYTHONPATH:$PWD/third_party:$PWD/tools"
# --depth is to set the current folder as "root"
# --no-parallel is because the gbs chroot does not have the required multiprocessing caps (Python OSError: [Errno 38])
./build/gyp_chromium --depth=. --no-parallel
-ninja %{?_smp_mflags} -C out/Release content_shell
+./build/util/lastchange.py -o build/util/LASTCHANGE.blink
+ninja %{?_smp_mflags} -C out/Debug content_shell
%install
-install -m 755 out/Release/content_shell %{buildroot}%{_bindir}/content_shell
+install -m 755 out/Debug/content_shell %{buildroot}%{_bindir}/content_shell
%files
%manifest %{name}.manifest