summaryrefslogtreecommitdiff
path: root/recipes/chromium/chromium_svn.bb
blob: 5576c79e8c8cd8780c65fbc6231c815df70fdaee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
DESCRIPTION = "Google Chrome browser"
LICENSE = "BSD"

DEPENDS = "xextproto cairo nss"

SRCREV = "34027"
PV = "0.1+svnr${SRCREV}"
PR = "r1"

SRC_URI = "svn://src.chromium.org/svn/trunk/;module=src;proto=http \
           git://git.chromium.org/cros.git;protocol=git;rev=07f1fc0ce7a4bbd57f6b057435ad86f0a98e073d\
           http://src.chromium.org/svn/trunk/tools/depot_tools.tar.gz;name=depot \
           file://include.gypi \
           file://gypi.patch \
"

SRC_URI[depot.md5sum] = "0d0f198a2b3c5495f75d95b867ae89b4"
SRC_URI[depot.sha256sum] = "1ad32db3b1028da622dae6be76564e4c926647d7f839d808897a9b33a1709b68"

S = "${WORKDIR}/src"

custom_cached_svn() {
	oenote "Dealing with ${1}"
	localpath="${DL_DIR}/chromium_`echo ${1} | sed -e 's|\/|\.|g'`_${3}.tbz2"
	mkdir -p ${2}
	if [ -f ${localpath} ]; then
		oenote "Extracting ${localpath}"
		tar -xpf ${localpath} -C ${2}
	else
		oenote "checkout and creating ${localpath}"
		svn checkout http://${1} ${2} --revision ${3}
		cd ${2}
		tar -cjpf ${localpath} .
	fi
}

do_fetch_post() {
	custom_cached_svn "google-breakpad.googlecode.com/svn/trunk/src" "${S}/breakpad/src" 432
	custom_cached_svn "src.chromium.org/svn/trunk/deps/support" "${S}/build/util/support" 20411
	custom_cached_svn "svn.webkit.org/repository/webkit/trunk/LayoutTests/fast/events" "${S}/chrome/test/data/layout_tests/LayoutTests/fast/events" 51794
	custom_cached_svn "svn.webkit.org/repository/webkit/trunk/LayoutTests/fast/js/resources" "${S}/chrome/test/data/layout_tests/LayoutTests/fast/js/resources" 51794
	custom_cached_svn "svn.webkit.org/repository/webkit/trunk/LayoutTests/fast/workers" "${S}/chrome/test/data/layout_tests/LayoutTests/fast/workers" 51794
	custom_cached_svn "svn.webkit.org/repository/webkit/trunk/LayoutTests/http/tests/resources" "${S}/chrome/test/data/layout_tests/LayoutTests/http/tests/resources" 51794
	custom_cached_svn "svn.webkit.org/repository/webkit/trunk/LayoutTests/http/tests/workers" "${S}/chrome/test/data/layout_tests/LayoutTests/http/tests/workers" 51794
	custom_cached_svn "svn.webkit.org/repository/webkit/trunk/LayoutTests/http/tests/xmlhttprequest" "${S}/chrome/test/data/layout_tests/LayoutTests/http/tests/xmlhttprequest" 51794
	custom_cached_svn "svn.webkit.org/repository/webkit/trunk/LayoutTests/storage/domstorage" "${S}/chrome/test/data/layout_tests/LayoutTests/storage/domstorage" 51794
	custom_cached_svn "src.chromium.org/svn/trunk/deps/reference_builds" "${S}/chrome/tools/test/reference_build" 33840
	custom_cached_svn "google-url.googlecode.com/svn/trunk" "${S}/googleurl" 121
	custom_cached_svn "nativeclient.googlecode.com/svn/trunk/src/native_client" "${S}/native_client" 1067
	custom_cached_svn "open-vcdiff.googlecode.com/svn/trunk" "${S}/sdch/open-vcdiff" 28
	custom_cached_svn "googletest.googlecode.com/svn/trunk" "${S}/testing/gtest" 336
	custom_cached_svn "src.chromium.org/svn/trunk/deps/third_party/WebKit" "${S}/third_party/WebKit" 33467
	custom_cached_svn "svn.webkit.org/repository/webkit/trunk/JavaScriptCore" "${S}/third_party/WebKit/JavaScriptCore" 51794
	custom_cached_svn "svn.webkit.org/repository/webkit/trunk/LayoutTests" "${S}/third_party/WebKit/LayoutTests" 51794
	custom_cached_svn "svn.webkit.org/repository/webkit/trunk/WebCore" "${S}/third_party/WebKit/WebCore" 51794
	custom_cached_svn "svn.webkit.org/repository/webkit/trunk/WebKit/chromium" "${S}/third_party/WebKit/WebKit/chromium" 51794
	custom_cached_svn "svn.webkit.org/repository/webkit/trunk/WebKitTools/pywebsocket" "${S}/third_party/WebKit/WebKitTools/pywebsocket" 57720
#	custom_cached_svn "src.chromium.org/svn/trunk/deps/third_party/ffmpeg/binaries/linux" "${S}/third_party/ffmpeg/binaries/chromium/linux/ia32" 33521
#	custom_cached_svn "src.chromium.org/svn/trunk/deps/third_party/ffmpeg/binaries/linux_dbg" "${S}/third_party/ffmpeg/binaries/chromium/linux/ia32_dbg" 33521
#	custom_cached_svn "src.chromium.org/svn/trunk/deps/third_party/ffmpeg/binaries/linux_64" "${S}/third_party/ffmpeg/binaries/chromium/linux/x64" 33521
#	custom_cached_svn "src.chromium.org/svn/trunk/deps/third_party/ffmpeg/binaries/linux_64_dbg" "${S}/third_party/ffmpeg/binaries/chromium/linux/x64_dbg" 33521
	custom_cached_svn "src.chromium.org/svn/trunk/deps/third_party/ffmpeg/patched-ffmpeg-mt" "${S}/third_party/ffmpeg/source/patched-ffmpeg-mt" 44766
	custom_cached_svn "src.chromium.org/svn/trunk/deps/third_party/hunspell128" "${S}/third_party/hunspell" 30191
	custom_cached_svn "src.chromium.org/svn/trunk/deps/third_party/icu42" "${S}/third_party/icu" 33767
	custom_cached_svn "ots.googlecode.com/svn/trunk" "${S}/third_party/ots" 23
	custom_cached_svn "protobuf.googlecode.com/svn/trunk" "${S}/third_party/protobuf2/src" 219
	custom_cached_svn "skia.googlecode.com/svn/trunk/include" "${S}/third_party/skia/include" 451
	custom_cached_svn "skia.googlecode.com/svn/trunk/src" "${S}/third_party/skia/src" 451
	custom_cached_svn "src.chromium.org/svn/trunk/deps/third_party/xdg-utils" "${S}/third_party/xdg-utils" 29103
	custom_cached_svn "src.chromium.org/svn/trunk/deps/third_party/yasm/patched-yasm" "${S}/third_party/yasm/source/patched-yasm" 29937
	custom_cached_svn "gyp.googlecode.com/svn/trunk" "${S}/tools/gyp" 766
	custom_cached_svn "src.chromium.org/svn/trunk/deps/page_cycler/acid3" "${S}/tools/page_cycler/acid3" 19546
	custom_cached_svn "v8.googlecode.com/svn/trunk" "${S}/v8" 3431
}

addtask fetch_post before do_unpack after do_fetch

do_configure() {
	if [ ! -e ${S}/third_party/cros ] ; then
		mv ${WORKDIR}/git ${S}/third_party/cros/
	fi
	cd ${WORKDIR}
	export GYP_GENERATORS=make
	export PATH=${WORKDIR}/depot_tools:"$PATH"

	rm -f ${S}/tools/gyp/pylib/gyp/__init__.pyc
	rm -f ${S}/tools/gyp/pylib/gyp/__init__.pyo
	sed -e 's|__PATH__TO_BE_REPLACED__|"${WORKDIR}/include.gypi"|' -i ${S}/tools/gyp/pylib/gyp/__init__.py
	sed -e "s|__PATH__TO_BE_REPLACED__||" -i ${WORKDIR}/include.gypi

	if [ ! -e ${WORKDIR}/.gclient ] ; then
		depot_tools/gclient config http://src.chromium.org/svn/trunk/src
	fi
	# This is the command lines to download everything but it's done in do_fetch_post
	#depot_tools/gclient sync --revision src@${SRCREV} --force --verbose
	depot_tools/gclient runhooks --force
}

TARGET_CC_ARCH += "${LDFLAGS}"

do_compile() {
	cd ${S}
	export CROSSTOOL=${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}
	export AR=${CROSSTOOL}ar
	export AS=${CROSSTOOL}as
	export RANLIB=${CROSSTOOL}ranlib
	oe_runmake -r ${PARALLEL_MAKE} V=1 BUILDTYPE=Release chrome
}

do_install() {
	install -d ${D}${bindir}
	install -d ${D}${bindir}/chrome/
	install -m 0755 ${S}/out/Release/chrome ${D}${bindir}/chrome/
	install -m 0644 ${S}/out/Release/chrome.pak ${D}${bindir}/chrome/
	install -m 0644 ${S}/out/Release/product_logo_48.png ${D}${bindir}/chrome/
	install -d ${D}${bindir}/chrome/locales/
	install -m 0644 ${S}/out/Release/locales/en-US.pak ${D}${bindir}/chrome/locales
	cp -a ${S}/out/Release/obj ${D}${bindir}/chrome/
	cp -a ${S}/out/Release/obj.target ${D}${bindir}/chrome/
	cp -a ${S}/out/Release/resources ${D}${bindir}/chrome/

	find ${D}${bindir}/chrome/ -name "*.d" -delete
	find ${D}${bindir}/chrome/ -name "*.o" -delete
	find ${D}${bindir}/chrome/ -name "*.a" -delete
	find ${D}${bindir}/chrome/ -name "*.cpp" -delete
	find ${D}${bindir}/chrome/ -name "*.h" -delete
	find ${D}${bindir}/chrome/ -name "*.cc" -delete
}

FILES_${PN} = "/usr/bin/chrome/"
FILES_${PN}-dbg = "/usr/bin/chrome/.debug/"