Gentoo Archives: gentoo-commits

From: "Bernard Cafarelli (voyageur)" <voyageur@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in www-client/chromium: ChangeLog chromium-9999.ebuild
Date: Thu, 01 Oct 2009 11:51:48
Message-Id: E1MtKCH-0001a7-TK@stork.gentoo.org
1 voyageur 09/10/01 11:51:45
2
3 Modified: ChangeLog
4 Added: chromium-9999.ebuild
5 Log:
6 Add live ebuild for those who wonder what to do of their free diskspace
7 (Portage version: 2.2_rc42/cvs/Linux x86_64)
8
9 Revision Changes Path
10 1.11 www-client/chromium/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/www-client/chromium/ChangeLog?rev=1.11&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/www-client/chromium/ChangeLog?rev=1.11&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/www-client/chromium/ChangeLog?r1=1.10&r2=1.11
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v
19 retrieving revision 1.10
20 retrieving revision 1.11
21 diff -u -r1.10 -r1.11
22 --- ChangeLog 30 Sep 2009 12:36:10 -0000 1.10
23 +++ ChangeLog 1 Oct 2009 11:51:45 -0000 1.11
24 @@ -1,6 +1,12 @@
25 # ChangeLog for www-client/chromium
26 # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.10 2009/09/30 12:36:10 voyageur Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.11 2009/10/01 11:51:45 voyageur Exp $
29 +
30 +*chromium-9999 (01 Oct 2009)
31 +
32 + 01 Oct 2009; Bernard Cafarelli <voyageur@g.o>
33 + +chromium-9999.ebuild:
34 + Add live ebuild for those who wonder what to do of their free diskspace
35
36 30 Sep 2009; Bernard Cafarelli <voyageur@g.o>
37 chromium-4.0.212.0_p26805.ebuild, chromium-4.0.219.4_p27359.ebuild:
38
39
40
41 1.1 www-client/chromium/chromium-9999.ebuild
42
43 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/www-client/chromium/chromium-9999.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/www-client/chromium/chromium-9999.ebuild?rev=1.1&content-type=text/plain
45
46 Index: chromium-9999.ebuild
47 ===================================================================
48 # Copyright 1999-2009 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-9999.ebuild,v 1.1 2009/10/01 11:51:45 voyageur Exp $
51
52 EAPI="2"
53 inherit eutils multilib toolchain-funcs subversion
54
55 DESCRIPTION="Open-source version of Google Chrome web browser"
56 HOMEPAGE="http://chromium.org/"
57 # subversion eclass fetches gclient, which will then fetch chromium itself
58 ESVN_REPO_URI="http://src.chromium.org/svn/trunk/tools/depot_tools"
59 EGCLIENT_REPO_URI="http://src.chromium.org/svn/trunk/src/"
60
61 LICENSE="BSD"
62 SLOT="0"
63 KEYWORDS="~amd64 ~x86"
64 IUSE=""
65
66 RDEPEND="app-arch/bzip2
67 dev-libs/libxml2
68 dev-libs/libxslt
69 >=dev-libs/nss-3.12.2
70 >=gnome-base/gconf-2.24.0
71 media-fonts/corefonts
72 >=media-libs/alsa-lib-1.0.19
73 media-libs/jpeg
74 media-libs/libpng
75 >=media-video/ffmpeg-0.5_p19787
76 sys-libs/zlib
77 >=x11-libs/gtk+-2.14.7"
78 # >=dev-libs/libevent-1.4.13
79 # dev-db/sqlite:3
80 DEPEND="${RDEPEND}
81 >=dev-util/gperf-3.0.3
82 >=dev-util/pkgconfig-0.23"
83
84 export CHROMIUM_HOME=/usr/$(get_libdir)/chromium-browser
85
86 src_unpack() {
87 subversion_src_unpack
88 mv "${S}" "${WORKDIR}"/depot_tools
89
90 # Most subversion checks and configurations were already run
91 EGCLIENT="${WORKDIR}"/depot_tools/gclient
92 cd "${ESVN_STORE_DIR}" || die "gclient: can't chdir to ${ESVN_STORE_DIR}"
93
94 if [[ ! -d ${PN} ]]; then
95 mkdir -p "${PN}" || die "gclient: can't mkdir ${PN}."
96 fi
97
98 cd "${PN}" || die "gclient: can't chdir to ${PN}"
99
100 if [[ ! -f .gclient ]]; then
101 einfo "gclient config -->"
102 ${EGCLIENT} config ${EGCLIENT_REPO_URI} || die "gclient: error creating config"
103 fi
104
105 einfo "gclient sync start -->"
106 einfo " repository: ${EGCLIENT_REPO_URI}"
107 ${EGCLIENT} sync || die "gclient: can't fetch to ${PN} from ${EGCLIENT_REPO_URI}."
108 einfo " working copy: ${ESVN_STORE_DIR}/${PN}"
109
110 mkdir -p "${S}"
111 # From export_tarball.py
112 CHROMIUM_EXCLUDES="--exclude=src/chrome/test/data
113 --exclude=src/chrome/tools/test/reference_build
114 --exclude=src/chrome_frame --exclude=src/gears/binaries
115 --exclude=src/net/data/cache_tests --exclude=src/o3d/documentation
116 --exclude=src/o3d/samples --exclude=src/third_party/lighttpd
117 --exclude=src/third_party/WebKit/LayoutTests
118 --exclude=src/webkit/data/layout_tests
119 --exclude=src/webkit/tools/test/reference_build"
120 rsync -rlpgo --exclude=".svn/" ${CHROMIUM_EXCLUDES} src/ "${S}" || die "gclient: can't export to ${S}."
121
122 # Display correct svn revision in about box, and log new version
123 CREV=$(subversion__svn_info "src" "Revision")
124 echo ${CREV} > "${S}"/build/LASTCHANGE.in || die "setting revision failed"
125 . src/chrome/VERSION
126 elog "Installing/updating to version ${MAJOR}.${MINOR}.${BUILD}.${PATCH}_p${CREV} "
127 }
128
129 src_prepare() {
130 # Needed until we add back "rootdir=.", see below
131 for i in app webkit third_party/ffmpeg build/util base chrome v8/tools/gyp
132 do
133 ln -s "${S}"/out ${i}/out
134 done
135
136 # Changing this in ~/include.gypi does not work
137 sed -i "s/'-Werror'/''/" build/common.gypi || die "Werror sed failed"
138 # Prevent automatic -march=pentium4 -msse2 enabling on x86, http://crbug.com/9007
139 epatch "${FILESDIR}"/${PN}-drop_sse2.patch
140 # Add configuration flag to use system libevent
141 epatch "${FILESDIR}"/${PN}-use_system_libevent.patch
142 }
143
144 src_configure() {
145 # CFLAGS/LDFLAGS
146 mkdir -p "${S}"/.gyp
147 cat << EOF > "${S}"/.gyp/include.gypi
148 {
149 'target_defaults': {
150 'cflags': [ '${CFLAGS// /','}' ],
151 'ldflags': [ '${LDFLAGS// /','}' ],
152 },
153 }
154 EOF
155 export HOME="${S}"
156
157 # Configuration options (system libraries)
158 local myconf="-Duse_system_bzip2=1 -Duse_system_zlib=1 -Duse_system_libjpeg=1 -Duse_system_libpng=1 -Duse_system_libxml=1 -Duse_system_libxslt=1 -Duse_system_ffmpeg=1 -Dlinux_use_tcmalloc=1"
159 # -Duse_system_libevent=1: http://crbug.com/22140
160 # -Duse_system_sqlite=1 : http://crbug.com/22208
161 # Others still bundled: icu (not possible?), hunspell (changes required for sandbox support)
162
163 # Sandbox paths
164 myconf="${myconf} -Dlinux_sandbox_path=${CHROMIUM_HOME}/chrome_sandbox -Dlinux_sandbox_chrome_path=${CHROMIUM_HOME}/chrome"
165
166 if use amd64; then
167 myconf="${myconf} -Dtarget_arch=x64"
168 fi
169 if [[ "$(gcc-major-version)$(gcc-minor-version)" == "44" ]]; then
170 myconf="${myconf} -Dno_strict_aliasing=1 -Dgcc_version=44"
171 fi
172
173 build/gyp_chromium -f make build/all.gyp ${myconf} --depth=. || die "gyp failed"
174 }
175
176 src_compile() {
177 # Broken for "Argument list too long":
178 # http://code.google.com/p/chromium/issues/detail?id=19854
179 # http://code.google.com/p/gyp/issues/detail?id=71
180 # When this is fixed, remove the src_prepare
181 # and add back "rootdir=${S}"
182 emake -r V=1 chrome chrome_sandbox BUILDTYPE=Release \
183 CC=$(tc-getCC) \
184 CXX=$(tc-getCXX) \
185 AR=$(tc-getAR) \
186 RANLIB=$(tc-getRANLIB) \
187 || die "compilation failed"
188 }
189
190 src_install() {
191 # Chromium does not have "install" target in the build system.
192
193 dodir ${CHROMIUM_HOME}
194
195 exeinto ${CHROMIUM_HOME}
196 doexe out/Release/chrome
197 doexe out/Release/chrome_sandbox
198 fperms 4755 ${CHROMIUM_HOME}/chrome_sandbox
199 doexe out/Release/xdg-settings
200 doexe "${FILESDIR}"/chromium-launcher.sh
201
202 insinto ${CHROMIUM_HOME}
203 doins out/Release/chrome.pak
204
205 doins -r out/Release/locales
206 doins -r out/Release/resources
207 doins -r out/Release/themes
208
209 newman out/Release/chromium-browser.1 chrome.1
210
211 # Chromium looks for these in its folder
212 # See media_posix.cc and base_paths_linux.cc
213 dosym /usr/$(get_libdir)/libavcodec.so.52 ${CHROMIUM_HOME}
214 dosym /usr/$(get_libdir)/libavformat.so.52 ${CHROMIUM_HOME}
215 dosym /usr/$(get_libdir)/libavutil.so.50 ${CHROMIUM_HOME}
216
217 # Plugins symlink
218 dosym /usr/$(get_libdir)/nsbrowser/plugins ${CHROMIUM_HOME}/plugins
219
220 newicon out/Release/product_logo_48.png ${PN}-browser.png
221 dosym ${CHROMIUM_HOME}/chromium-launcher.sh /usr/bin/chromium
222 make_desktop_entry chromium "Chromium" ${PN}-browser "Network;WebBrowser"
223 sed -e "/^Exec/s/$/ %U/" -i "${D}"/usr/share/applications/*.desktop \
224 || die "desktop file sed failed"
225 }